Contract a074d03ca8eee7c858f636b88b13a6231ff0e0bccf63260dfdfb9e6ae4ca92ac

← Back to Index 📥 Download WASM

Meta

cliver 26.1.0#1228cff8022b804659750b94b315932b0e0f3f6a
rssdkver 22.0.8#f46e9e0610213bbb72285566f9dd960ff96d03d8
rsver 1.95.0

Instances

  • CBWIARN5LOVU77KIIRKXJPFSEADT77QA54VVNUZL5P5NDMCJL6SKCEXY

Interface

Pause Contract Operations

Authorization: caller must be Admin1 or Admin2

fn pause(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), ContractError>

Unpause Contract Operations

Authorization: caller must be Admin1 or Admin2

fn unpause(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
) -> Result<(), ContractError>
fn is_paused(env: soroban_sdk::Env) -> bool
fn get_admin1(env: soroban_sdk::Env) -> soroban_sdk::Address
fn get_admin2(env: soroban_sdk::Env) -> soroban_sdk::Address

Accept Admin1 Transfer

The pending nominee confirms and takes the Admin1 slot.

Authorization: caller must be the address set by transfer_admin1

fn accept_admin1(env: soroban_sdk::Env) -> Result<(), ContractError>

Accept Admin2 Transfer

The pending nominee confirms and takes the Admin2 slot.

Authorization: caller must be the address set by transfer_admin2

fn accept_admin2(env: soroban_sdk::Env) -> Result<(), ContractError>
fn migrate_admin(
    env: soroban_sdk::Env,
    admin2: soroban_sdk::Address,
) -> Result<(), ContractError>

Initialize Settings Contract

Parameters:

  • admin1: Primary admin address (must authorize initialization)
  • admin2: Backup admin address
  • treasury: Address to receive protocol fees
  • relayer_address: Authorized address for settlement operations
fn __constructor(
    env: soroban_sdk::Env,
    admin1: soroban_sdk::Address,
    admin2: soroban_sdk::Address,
    treasury: soroban_sdk::Address,
    relayer_address: soroban_sdk::Address,
)

Propose Admin1 Transfer

Current Admin1 nominates a new address for their slot. The nominee must call accept_admin1 to complete the handoff.

Authorization: caller must be Admin1

fn transfer_admin1(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    new_admin: soroban_sdk::Address,
) -> Result<(), ContractError>

Propose Admin2 Transfer

Current Admin2 nominates a new address for their slot. The nominee must call accept_admin2 to complete the handoff.

Authorization: caller must be Admin2

fn transfer_admin2(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    new_admin: soroban_sdk::Address,
) -> Result<(), ContractError>
fn is_token_supported(env: soroban_sdk::Env, token: soroban_sdk::Address) -> bool

Upgrade Settings Manager WASM

Authorization: caller must be Admin1 or Admin2

fn upgrade_lp_manager(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    new_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), ContractError>
fn get_relayer_address(env: soroban_sdk::Env) -> soroban_sdk::Address
fn get_treasury_address(env: soroban_sdk::Env) -> soroban_sdk::Address
fn lm_extend_config_ttl(env: soroban_sdk::Env)

Update Protocol Addresses

Authorization: caller must be Admin1 or Admin2

fn update_protocol_address(
    env: soroban_sdk::Env,
    caller: soroban_sdk::Address,
    what: ProtocolAddressType,
    value: soroban_sdk::Address,
) -> Result<(), ContractError>

Imports

WebAssembly Text (WAT) ▶