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