Contract a80e58993528f8215566f6a418dc40acf0d6409be09a7d513505ff8d8682e4ce

← Back to Index 📥 Download WASM

Meta

cliver 26.0.0#60f7458e7ecffddf2f2d91dc6d0d2db4fab03ecc
rssdk_spec_shaking 2
rssdkver 25.3.0#dcbea44513feb7734af6b6c4aced2c4a7a2715d0
rsver 1.86.0
source_repo github:Templar-Protocol/contracts

Instances

  • CCBFW24W4K3D6M6IXE4PDYN262B3H4FKJ3YDGJVDQREGNFZ6ICCB7GGV

Interface

Pin the only address allowed to complete one-time proxy initialization.

The constructor runs atomically with deployment, closing the first-claim gap while preserving retryability for the intended deployer.

fn __constructor(env: soroban_sdk::Env, initialization_authority: soroban_sdk::Address)
fn initialize(
    env: soroban_sdk::Env,
    vault_address: soroban_sdk::Address,
    governance_address: soroban_sdk::Address,
) -> Result<(), ContractError>

Configure a proxy for a verified, versionless v1 runtime artifact.

The supplied hash must match the vault's current Wasm executable. The fallback remains valid only while that exact artifact stays installed.

fn initialize_legacy_v1(
    env: soroban_sdk::Env,
    vault_address: soroban_sdk::Address,
    governance_address: soroban_sdk::Address,
    legacy_v1_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), ContractError>
fn vault(env: soroban_sdk::Env) -> Result

Return the configured vault runtime version and compiled action capabilities.

The artifact pinned by initialize_legacy_v1 returns the approved v1 semantics directly. Every other artifact must answer version.

fn vault_version(
    env: soroban_sdk::Env,
) -> Result<(soroban_sdk::String, u64), ContractError>
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
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,
    entries: 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, ContractError>
fn sentinel(
    env: soroban_sdk::Env,
) -> Result, ContractError>
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

Imports

WebAssembly Text (WAT) ▶