Contract 21eebb27f2fb9c6b45a4a492df5ce9b28c31e0679532930cf5a41866a3ebaa03

← Back to Index 📥 Download WASM

Meta

rssdkver 22.0.9#3890521426d71bb4d892b21f5a283a1e836cfa38
rsver 1.93.0

Instances

  • CDP6KXDX35AIPQPAAA3IY3UZFTTDYCIOTZXIDUVMZCESR4MWYPLMWRC3

Interface

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.

Arguments

  • admin - Address that can deploy markets
  • market_wasm_hash - WASM hash of the lmsr_market contract
  • default_collateral_token - Default collateral token for markets
fn 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.

Arguments

  • oracle - Address that can resolve the market
  • liquidity_param - LMSR b parameter (scaled by 10^7)
  • metadata_hash - IPFS hash for market metadata
  • initial_funding - Collateral to fund the market
  • salt - Unique salt for deterministic address generation

Returns

Address 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>

Imports

WebAssembly Text (WAT) ▶