Inicializa o contrato com as configurações globais.
fn init(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
token: soroban_sdk::Address,
oracle: soroban_sdk::Address,
fee_bps: u32,
) -> Result<(), MarketError>
Permite que os vencedores resgatem suas recompensas.
fn claim(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
market_id: soroban_sdk::BytesN<32>,
) -> Result
Permite que um usuário aposte na subida (1) ou descida (-1) do ativo.
fn place_bet(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
market_id: soroban_sdk::BytesN<32>,
outcome: i32,
amount: i128,
) -> Result<(), MarketError>
fn get_config(env: soroban_sdk::Env) -> Option
fn get_market(
env: soroban_sdk::Env,
market_id: soroban_sdk::BytesN<32>,
) -> Option
Cria um novo mercado de predição baseado em um ativo do oráculo. Captura deterministicamente o preço de abertura no momento da criação.
fn create_market(
env: soroban_sdk::Env,
market_id: soroban_sdk::BytesN<32>,
asset: soroban_sdk::Symbol,
duration_seconds: u64,
oracle_contract: soroban_sdk::Address,
oracle_decimals: u32,
initial_price: i128,
target_price: i128,
condition_operator: ConditionOperator,
) -> Result<(), MarketError>
Liquida o mercado consultando o preço histórico exato no timestamp de fechamento.
fn settle_market(
env: soroban_sdk::Env,
market_id: soroban_sdk::BytesN<32>,
) -> Result<(), MarketError>