Signature
IB20.sol
Description
Policy slot consulted againstfrom by seizeWithMemo. An authorized account is seize-exempt.
The check is inverted relative to the transfer and mint scopes: seizeWithMemo proceeds only when isAuthorized(policyId, from) returns false. When the slot is unset (0), the always-allow sentinel applies, every account is authorized, and every account is seize-exempt. You must attach a policy before any holder can be seized.
The value is keccak256("SEIZE_EXEMPT_POLICY"), 0xedb5da348cfb67af08746d3afd1be81034b50d5c8576f31aff688f39dfd540ed. Before Cobalt this scope was named SEIZE_HOLDER_POLICY; see the seize changelog entry.
Returns
bytes32 policy scope constant. Pass this value to updatePolicy and policyId.
Access Control
View function. No role required.Policy Interaction
The policy ID stored at this scope is read byseizeWithMemo before moving any balance. The recommended policy type is BLOCKLIST:
- Accounts in the blocklist have
isAuthorized = false, so they are seizable. - Accounts not in the blocklist have
isAuthorized = true, so they are seize-exempt.
ALLOWLIST or the ALWAYS_BLOCK sentinel inverts this logic and makes every account seizable. Do not attach either to SEIZE_EXEMPT_POLICY.
This scope is independent of TRANSFER_SENDER_POLICY. Blocking a holder from transferring does not make them seizable.
Example
Make one holder seizable