Upgrade contract WASM
fn upgrade(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_wasm_hash: soroban_sdk::BytesN<32>,
)
Extend contract instance TTL.
fn extend_ttl(env: soroban_sdk::Env)
Get processor config.
fn get_config(env: soroban_sdk::Env) -> ProcessorConfig
Update config (admin can change splits, tokens, etc.)
fn set_config(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
config: ProcessorConfig,
)
Protocol 22+ constructor — flat args for Admin Bridge compatibility.
fn __constructor(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
aqua_token: soroban_sdk::Address,
aquarius_router: soroban_sdk::Address,
revenue_vault: soroban_sdk::Address,
reward_0: soroban_sdk::Address,
reward_1: soroban_sdk::Address,
reward_2: soroban_sdk::Address,
reward_3: soroban_sdk::Address,
split_0: u32,
split_1: u32,
split_2: u32,
split_3: u32,
)
Process accumulated AQUA: swap into ecosystem tokens via Aquarius AMM, then distribute to Revenue Vault.
aqua_amount: Total AQUA to process (transferred from admin)swap_chains: One per reward token — Vec of (pool_tokens, pool_hash, token_out)
obtained from the Aquarius Find Path APIout_mins: Minimum output per swap (slippage protection)The admin builds swap_chains off-chain via: POST https://amm-api.aqua.network/api/external/v1/find-path/
fn process_revenue(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
aqua_amount: i128,
swap_chains: soroban_sdk::Vec<
soroban_sdk::Vec<
(
soroban_sdk::Vec,
soroban_sdk::BytesN<32>,
soroban_sdk::Address,
),
>,
>,
out_mins: soroban_sdk::Vec,
)