The pool address for a given identity, if it exists.
fn get_pool(
env: soroban_sdk::Env,
tokens: soroban_sdk::Vec,
mode: PoolMode,
alpha: i128,
beta: i128,
fee_bps: i128,
) -> Option
fn all_pools(env: soroban_sdk::Env) -> soroban_sdk::Vec
One-time setup: admin (can rotate the wasm hash) and the uploaded pool
wasm hash used for every deployment.
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
pool_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), FactoryError>
fn pool_count(env: soroban_sdk::Env) -> u32
Deploy + initialize a new pool. Permissionless. Reverts on a duplicate
(tokens, mode, alpha, beta, fee_bps).
fn create_pool(
env: soroban_sdk::Env,
tokens: soroban_sdk::Vec,
mode: PoolMode,
alpha: i128,
beta: i128,
fee_bps: i128,
pool_admin: soroban_sdk::Address,
) -> Result
Rotate the pool wasm hash (admin only) — future pools use the new code.
fn set_pool_wasm_hash(
env: soroban_sdk::Env,
new_hash: soroban_sdk::BytesN<32>,
) -> Result<(), FactoryError>