fn initialize(
env: soroban_sdk::Env,
vault_address: soroban_sdk::Address,
governance_address: soroban_sdk::Address,
) -> Result<(), ContractError>
fn vault(env: soroban_sdk::Env) -> Result
fn governance(env: soroban_sdk::Env) -> Result
fn allocate(
env: soroban_sdk::Env,
allocator: soroban_sdk::Address,
delta: AllocationDelta,
) -> Result
fn refresh_markets(
env: soroban_sdk::Env,
operator: soroban_sdk::Address,
markets: soroban_sdk::Vec,
) -> Result
fn resync_idle_balance(env: soroban_sdk::Env) -> Result<(), ContractError>
fn extend_vault_ttl(env: soroban_sdk::Env) -> Result<(), ContractError>
Extend proxy configuration TTL.
This is permissionless because it only preserves existing proxy config; it cannot mutate vault accounting or authorization state.
fn extend_ttl(env: soroban_sdk::Env) -> Result<(), ContractError>
fn cancel_migration(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
) -> Result<(), ContractError>
fn set_paused(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
paused: bool,
) -> Result
fn set_curator(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_curator: soroban_sdk::Address,
) -> Result
fn set_governance(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
governance: soroban_sdk::Address,
) -> Result
fn set_supply_queue(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
markets: soroban_sdk::Vec,
) -> Result
fn set_fees(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
fees: Fees,
) -> Result
fn set_restrictions(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
restrictions: Restrictions,
) -> Result
fn set_allowed_adapters(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
adapters: soroban_sdk::Vec,
) -> Result
fn set_sentinel(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
sentinel: soroban_sdk::Address,
) -> Result
fn submit_timelock(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_timelock_ns: u64,
kind: TimelockKind,
) -> Result
fn submit_cap(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
market_id: u32,
new_cap: i128,
) -> Result
fn submit_market_removal(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
market_id: u32,
) -> Result
fn submit_cap_group_update(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
update: CapGroupUpdate,
) -> Result
fn set_skim_recipient(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
recipient: soroban_sdk::Address,
) -> Result
fn skim(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
token: soroban_sdk::Address,
) -> Result
fn set_allocators(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
allocators: soroban_sdk::Vec,
) -> Result
fn accept_kind(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
kind: GovernanceActionKind,
) -> Result
Submit an opaque governance action when no typed proxy method fits.
Prefer typed submit methods whenever possible. Use a stable, documented
key namespace for the action schema, and set payload_hash to the
hash of the exact canonical payload bytes the downstream consumer will
verify. Reusing keys across schemas or hashing non-canonical bytes can
create unsafe or unverifiable governance state.
fn submit_other(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
key: soroban_sdk::Symbol,
payload_hash: soroban_sdk::BytesN<32>,
) -> Result
fn accept(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
proposal_id: u64,
) -> Result<(), ContractError>
fn accept_fees(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
) -> Result
fn accept_cap(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
market_id: u32,
) -> Result
fn accept_market_removal(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
market_id: u32,
) -> Result
fn accept_cap_group_update(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
key: CapGroupUpdateKey,
) -> Result
fn accept_timelock(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
kind: Option,
) -> Result
fn accept_allocators(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
) -> Result
fn revoke(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
proposal_id: u64,
) -> Result<(), ContractError>
fn revoke_pending_fees(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
) -> Result
fn revoke_pending_cap(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
market_id: u32,
) -> Result
fn revoke_pending_market_removal(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
market_id: u32,
) -> Result
fn revoke_pending_cap_group_update(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
key: CapGroupUpdateKey,
) -> Result
fn revoke_pending_timelock(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
kind: Option,
) -> Result
fn revoke_pending_allocators(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
) -> Result
fn revoke_kind(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
kind: GovernanceActionKind,
) -> Result
Revoke pending opaque governance actions by their exact key/hash pair.
This is only for actions submitted through submit_other; prefer typed
revoke helpers for typed proposals. The key namespace and
payload_hash must match the original canonical payload identifier.
Mismatched or ambiguous values can leave unsafe or unverifiable
governance state pending.
fn revoke_other_pending(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
key: soroban_sdk::Symbol,
payload_hash: soroban_sdk::BytesN<32>,
) -> Result
fn abdicate(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
kind: GovernanceActionKind,
) -> Result<(), ContractError>
fn pending(
env: soroban_sdk::Env,
proposal_id: u64,
) -> Result
fn pending_ids(env: soroban_sdk::Env) -> Result, ContractError>
fn timelock_ns(env: soroban_sdk::Env, kind: TimelockKind) -> Result
fn timelocks(env: soroban_sdk::Env) -> Result
fn admin(env: soroban_sdk::Env) -> Result
fn guardian(
env: soroban_sdk::Env,
) -> Result
fn sentinel(
env: soroban_sdk::Env,
) -> Result
fn is_abdicated(
env: soroban_sdk::Env,
kind: GovernanceActionKind,
) -> Result
Check whether an opaque key/hash governance action is approved.
Typed state should use typed query/accept paths instead. For opaque
actions, key names the documented action schema and payload_hash
must be the hash of the exact canonical payload bytes that will be
consumed. Misuse can make approvals unverifiable or unsafe to execute.
fn check_other(
env: soroban_sdk::Env,
key: soroban_sdk::Symbol,
payload_hash: soroban_sdk::BytesN<32>,
) -> Result
fn vault_view(env: soroban_sdk::Env) -> Result
fn preview(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
assets: i128,
shares: i128,
) -> Result
fn governance_view(env: soroban_sdk::Env) -> Result