fn quote(
env: soroban_sdk::Env,
pool_id: soroban_sdk::Symbol,
amount_in: i128,
a_to_b: bool,
) -> i128
Replace this contract's Wasm in place. Instance and persistent storage are preserved. Authorised by the stored DAO address.
fn upgrade(
env: soroban_sdk::Env,
dao: soroban_sdk::Address,
new_wasm_hash: soroban_sdk::BytesN<32>,
)
fn get_pool(env: soroban_sdk::Env, pool_id: soroban_sdk::Symbol) -> Pool
fn get_price(env: soroban_sdk::Env, pool_id: soroban_sdk::Symbol, a_to_b: bool) -> i128
fn claim_fees(
env: soroban_sdk::Env,
provider: soroban_sdk::Address,
pool_id: soroban_sdk::Symbol,
) -> (i128, i128)
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
dao: soroban_sdk::Address,
earnings: soroban_sdk::Address,
compliance: soroban_sdk::Address,
)
fn set_paused(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
pool_id: soroban_sdk::Symbol,
paused: bool,
)
fn create_pool(
env: soroban_sdk::Env,
creator: soroban_sdk::Address,
pool_id: soroban_sdk::Symbol,
token_a: soroban_sdk::Address,
token_b: soroban_sdk::Address,
fee_tier: i128,
) -> soroban_sdk::Symbol
fn add_liquidity(
env: soroban_sdk::Env,
provider: soroban_sdk::Address,
pool_id: soroban_sdk::Symbol,
amount_a: i128,
amount_b: i128,
min_shares: i128,
) -> i128
Exact-in swap. Pass partner_id = 0 for untagged / B2C swaps
(Uruk keeps the full protocol fee). Pass a registered partner id
so earnings are split with that partner.
fn swap_exact_in(
env: soroban_sdk::Env,
trader: soroban_sdk::Address,
pool_id: soroban_sdk::Symbol,
a_to_b: bool,
amount_in: i128,
min_out: i128,
partner_id: u32,
) -> i128
fn claimable_fees(
env: soroban_sdk::Env,
pool_id: soroban_sdk::Symbol,
provider: soroban_sdk::Address,
) -> (i128, i128)
Allow the DAO to point at a new compliance registry deployment.
fn set_compliance(
env: soroban_sdk::Env,
dao: soroban_sdk::Address,
compliance: soroban_sdk::Address,
)
fn get_lp_position(
env: soroban_sdk::Env,
pool_id: soroban_sdk::Symbol,
provider: soroban_sdk::Address,
) -> Option
fn remove_liquidity(
env: soroban_sdk::Env,
provider: soroban_sdk::Address,
pool_id: soroban_sdk::Symbol,
shares: i128,
min_a: i128,
min_b: i128,
) -> (i128, i128)
fn set_protocol_fee(env: soroban_sdk::Env, dao: soroban_sdk::Address, fee_bps: i128)