fn version(env: soroban_sdk::Env) -> Result
Permissionless TTL maintenance. Initialized/Admin/Version live
in instance storage (one shared TTL, refreshed automatically by
ensure_initialized on every call that reaches it — see that
function) and are covered by the single extend_ttl call below;
assets/recipients/operations are named, already-existing
per-entity persistent entries, extended individually the same way
they always were. Extending TTL does not create authority or alter
execution semantics (docs/TECHNICAL_ARCHITECTURE.md §16.1), so
this is intentionally open to any caller — an off-chain monitor can
refresh the entries it knows are still active without needing admin
keys.
fn extend_ttl(
env: soroban_sdk::Env,
assets: soroban_sdk::Vec,
recipients: soroban_sdk::Vec,
operations: soroban_sdk::Vec,
)
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
) -> Result<(), PolicyEngineError>
fn bump_version(
env: soroban_sdk::Env,
next_version: u32,
) -> Result<(), PolicyEngineError>
fn contract_name(env: soroban_sdk::Env) -> soroban_sdk::Symbol
fn set_asset_rule(
env: soroban_sdk::Env,
asset: soroban_sdk::Address,
rule: AssetRule,
) -> Result<(), PolicyEngineError>
fn validate_policy(
env: soroban_sdk::Env,
check: PolicyCheck,
) -> Result<(), PolicyEngineError>
Enables or disables an adapter-level operation (e.g. transfer,
split). An operation not explicitly enabled fails closed, so
deploying a new adapter never silently grants it spend authority.
fn set_operation_allowed(
env: soroban_sdk::Env,
operation: soroban_sdk::Symbol,
allowed: bool,
) -> Result<(), PolicyEngineError>
fn set_recipient_allowed(
env: soroban_sdk::Env,
recipient: soroban_sdk::Address,
allowed: bool,
) -> Result<(), PolicyEngineError>