Skip to content

requireNonBypassable

requireNonBypassable<E>(signer): PolicyGatedSigner<E>

Defined in: src/signer/gate.ts:30

Compile-time gate: accepts only a non-bypassable signer (cryptographic | hardware). Passing an advisory (or integrator) signer is a compile error, because PolicyGatedSigner<"advisory"> is not assignable to PolicyGatedSigner<NonBypassableEnforcement> (covariant E).

Use it at the boundary of a bounded/regulated flow so wiring an advisory signer into it fails the build, not silently at runtime. This package ships no adapter that passes the gate — local is advisory — so the signer handed to it is one you implement.

Type Parameters

E

E extends NonBypassableEnforcement

Parameters

signer

PolicyGatedSigner<E>

Returns

PolicyGatedSigner<E>

Example

function payBounded(signer: PolicyGatedSigner<NonBypassableEnforcement>) { ... }
requireNonBypassable(thresholdSigner); // ✓ ok — your own `cryptographic` adapter
// requireNonBypassable(localSigner); // ✗ compile error — advisory