Replace this contract's executable while preserving its ledger state. The uploaded WASM hash is resolved atomically by the Soroban host.
fn upgrade(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
new_wasm_hash: soroban_sdk::BytesN<32>,
)
fn get_scope(
env: soroban_sdk::Env,
pubkey: soroban_sdk::BytesN<32>,
) -> Option
fn set_scope(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
pubkey: soroban_sdk::BytesN<32>,
data: SessionKeyData,
)
Called by the Soroban runtime to authorize every invocation signed by this contract's key.
fn __check_auth(
env: soroban_sdk::Env,
signature_payload: soroban_sdk::BytesN<32>,
signatures: soroban_sdk::Vec,
auth_contexts: soroban_sdk::Vec,
) -> Result<(), WalletError>
Called once during deployment. Stores the owner and (optionally)
configures a session key in the same transaction so deploy + configure
is a single user signature. None for all session args = bare deploy.
fn __constructor(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
owner_pubkey: soroban_sdk::BytesN<32>,
session_key: Option>,
session_data: Option,
allowed_fn_contracts: Option>,
allowed_fn_names: Option>,
)
Whitelist a (contract, function) pair for a specific session key.
fn allow_function(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
session_key: soroban_sdk::BytesN<32>,
contract: soroban_sdk::Address,
fn_name: soroban_sdk::Symbol,
)
Register a session key with its operating limits.
fn add_session_key(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
pubkey: soroban_sdk::BytesN<32>,
data: SessionKeyData,
)
fn get_kill_switch(env: soroban_sdk::Env) -> bool
fn set_kill_switch(env: soroban_sdk::Env, owner: soroban_sdk::Address, on: bool)
fn get_fn_value_rule(
env: soroban_sdk::Env,
pubkey: soroban_sdk::BytesN<32>,
contract: soroban_sdk::Address,
selector: soroban_sdk::Symbol,
) -> Option
fn get_oracle_config(
env: soroban_sdk::Env,
pubkey: soroban_sdk::BytesN<32>,
) -> Option>
fn set_fn_value_rule(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
pubkey: soroban_sdk::BytesN<32>,
contract: soroban_sdk::Address,
selector: soroban_sdk::Symbol,
rule: FnValueRule,
)
fn set_oracle_config(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
pubkey: soroban_sdk::BytesN<32>,
map: soroban_sdk::Map,
)
Permanently revoke a session key.
fn revoke_session_key(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
pubkey: soroban_sdk::BytesN<32>,
)
Update rate-limit parameters for an existing session key.
fn update_rate_limits(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
pubkey: soroban_sdk::BytesN<32>,
max_calls_per_day: u32,
cool_down_ledgers: u32,
)
fn get_execution_router(env: soroban_sdk::Env) -> Option
fn set_execution_router(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
router: soroban_sdk::Address,
)
Register a session key and whitelist all allowed (contract, function) pairs in a single call to reduce wallet signature prompts.
fn configure_session_key(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
pubkey: soroban_sdk::BytesN<32>,
data: SessionKeyData,
allowed_fn_contracts: soroban_sdk::Vec,
allowed_fn_names: soroban_sdk::Vec,
)
fn get_interface_registry(env: soroban_sdk::Env) -> Option
fn set_interface_registry(
env: soroban_sdk::Env,
owner: soroban_sdk::Address,
registry: soroban_sdk::Address,
)