Get the admin address.
fn get_admin(env: soroban_sdk::Env) -> Result
Get a market address by index.
fn get_market(
env: soroban_sdk::Env,
index: u32,
) -> Result
Initialize the factory.
admin - Address that can deploy marketsmarket_wasm_hash - WASM hash of the lmsr_market contractdefault_collateral_token - Default collateral token for marketsfn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
market_wasm_hash: soroban_sdk::BytesN<32>,
default_collateral_token: soroban_sdk::Address,
) -> Result<(), FactoryError>
Get all deployed market addresses.
fn list_markets(
env: soroban_sdk::Env,
) -> Result, FactoryError>
Get the number of deployed markets.
fn market_count(env: soroban_sdk::Env) -> Result
Deploy a new prediction market.
oracle - Address that can resolve the marketliquidity_param - LMSR b parameter (scaled by 10^7)metadata_hash - IPFS hash for market metadatainitial_funding - Collateral to fund the marketsalt - Unique salt for deterministic address generationAddress of the deployed market contract
fn deploy_market(
env: soroban_sdk::Env,
oracle: soroban_sdk::Address,
liquidity_param: i128,
metadata_hash: soroban_sdk::String,
initial_funding: i128,
salt: soroban_sdk::BytesN<32>,
) -> Result
Get the market WASM hash.
fn get_market_wasm_hash(
env: soroban_sdk::Env,
) -> Result, FactoryError>
Update the market WASM hash (admin only).
fn set_market_wasm_hash(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), FactoryError>
Update the default collateral token (admin only).
fn set_default_collateral_token(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_token: soroban_sdk::Address,
) -> Result<(), FactoryError>