Contract f10ac486ae184ebaff1fa6c779ca1a7daa8a7e12a3ad84d34ade158f7157906e

← Back to Index 📥 Download WASM

Meta

cliver 23.2.0#8c559e832fd969aa469784b66e70891fadf94f0a
rssdkver 23.1.0#7456be9d91fe1f4cb070fc2732bac78244ce6c3f
rsver 1.94.0

Instances

  • CARFMFTFSEYKPWDNQ4AISYN2FVQOM7SQXZZWBPMVIZMVZDFLYBYXWQGP

Interface

fn pause(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), ConcordAdapterError>
fn execute(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    action: u32,
    params: soroban_sdk::Val,
) -> Result
fn unpause(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), ConcordAdapterError>
fn has_role(
    env: soroban_sdk::Env,
    account: soroban_sdk::Address,
    role: soroban_sdk::Symbol,
) -> Option
fn get_admin(env: soroban_sdk::Env) -> Option
fn is_paused(env: soroban_sdk::Env) -> bool
fn get_escrow(env: soroban_sdk::Env) -> soroban_sdk::Address
fn grant_role(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    account: soroban_sdk::Address,
    role: soroban_sdk::Symbol,
)
fn initialize(
    env: soroban_sdk::Env,
    config: ConcordAdapterInitConfig,
) -> Result<(), ConcordAdapterError>
fn revoke_role(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    account: soroban_sdk::Address,
    role: soroban_sdk::Symbol,
)
fn renounce_role(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    role: soroban_sdk::Symbol,
)

Apply the pending WASM upgrade after the upgrade timelock expires.

Applies exactly the hash recorded by propose_upgrade; the caller cannot substitute a different hash here.

fn accept_upgrade(
    env: soroban_sdk::Env,
    operator: soroban_sdk::Address,
) -> Result<(), ConcordAdapterUpgradeError>

Cancel a pending WASM upgrade before it is applied.

fn cancel_upgrade(
    env: soroban_sdk::Env,
    operator: soroban_sdk::Address,
) -> Result<(), ConcordAdapterUpgradeError>
fn get_role_admin(
    env: soroban_sdk::Env,
    role: soroban_sdk::Symbol,
) -> Option
fn renounce_admin(env: soroban_sdk::Env)
fn set_role_admin(
    env: soroban_sdk::Env,
    role: soroban_sdk::Symbol,
    admin_role: soroban_sdk::Symbol,
)
fn get_role_member(
    env: soroban_sdk::Env,
    role: soroban_sdk::Symbol,
    index: u32,
) -> soroban_sdk::Address

Propose a WASM upgrade. Starts the fixed upgrade timelock ([UPGRADE_COOLDOWN_SECS]) before the new code can be applied.

WASM replacement is the most powerful operation on the adapter — it owns every Concord share position, so new bytecode could redeem them all — so it is split into a timelocked propose/accept flow. The proposed hash is recorded and bound: accept_upgrade applies exactly this hash, so the timelock cannot be bypassed by proposing a benign hash and later applying a different one.

fn propose_upgrade(
    env: soroban_sdk::Env,
    new_wasm_hash: soroban_sdk::BytesN<32>,
    operator: soroban_sdk::Address,
) -> Result<(), ConcordAdapterUpgradeError>
fn is_vault_allowed(env: soroban_sdk::Env, vault: soroban_sdk::Address) -> bool

Add or remove a vault from the allowlist. Only vaults on the allowlist can be targeted by deposit/redeem. The vault in deposit/redeem params is caller-controlled, so this admin-gated allowlist (a role distinct from the escrow processor that triggers execution) bounds which vaults the adapter will ever interact with.

fn set_allowed_vault(
    env: soroban_sdk::Env,
    vault: soroban_sdk::Address,
    allowed: bool,
    caller: soroban_sdk::Address,
) -> Result<(), ConcordAdapterError>
fn get_vault_position(
    env: soroban_sdk::Env,
    vault: soroban_sdk::Address,
) -> Option

Pending WASM upgrade awaiting the upgrade timelock (if any).

fn get_pending_upgrade(env: soroban_sdk::Env) -> Option
fn transfer_admin_role(
    env: soroban_sdk::Env,
    new_admin: soroban_sdk::Address,
    live_until_ledger: u32,
)
fn get_underlying_asset(env: soroban_sdk::Env) -> soroban_sdk::Address
fn accept_admin_transfer(env: soroban_sdk::Env)
fn get_role_member_count(env: soroban_sdk::Env, role: soroban_sdk::Symbol) -> u32

Imports

WebAssembly Text (WAT) ▶