AccessPolicy objects gate decryption of Walrus-stored intent blobs. With v0.3’s pivot to vault-based privacy (k-anonymity), Seal-encrypted intent records are gone, but AccessPolicy survives as the opaque gate argument that dark_pool::deposit takes.
Type
Public functions
add_member / remove_member abort with ENotAuthorized if the caller is not the policy owner.
Views
Wired via
scripts/create-seal-policy.ts. Creates + shares a fresh AccessPolicy on the current package. dark_pool::deposit takes &AccessPolicy of the deployed package’s type, so every republish needs a fresh one (→ AGENT_SEAL_POLICY_ID in .env, DEFAULT_SEAL_POLICY_ID in frontend env.ts).
Tests
tests/seal_policy_tests.move: policy includes owner; add_member / remove_member happy path; non-owner add aborts with ENotAuthorized.