Contract 6dd088086079c258f62fcb9f1588c94cc7022a32f5d4618d4de9fd7cb8e2b4cd

← Back to Index 📥 Download WASM

Meta

rssdkver 22.0.11#34f7f53ae31e0fd02aab436a9872e79fa671ca02
rsver 1.94.0

Instances

  • CD2RG44MII7NYYBOEQMTN4ASWOGGORQJMREYKTFDPCMU7VT7ANRQWXZ6

Interface

Buyer purchases a listed domain (ATOMIC) max_price provides slippage protection — reverts if listing price exceeds it

fn buy(
    env: soroban_sdk::Env,
    buyer: soroban_sdk::Address,
    token_id: u32,
    max_price: i128,
) -> Result<(), MarketError>

Seller lists a domain for sale. Seller must have already called NFD.approve(seller, this_contract, token_id, live_until_ledger)

fn list(
    env: soroban_sdk::Env,
    seller: soroban_sdk::Address,
    token_id: u32,
    price: i128,
) -> Result<(), MarketError>

Seller removes a listing

fn delist(
    env: soroban_sdk::Env,
    seller: soroban_sdk::Address,
    token_id: u32,
) -> Result<(), MarketError>

Get a single listing by token ID

fn get_listing(env: soroban_sdk::Env, token_id: u32) -> Option

Admin can force-delist stale listings (e.g. transferred domains, expired approvals)

fn force_delist(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    token_id: u32,
) -> Result<(), MarketError>

Seller updates the price of a listing

fn update_price(
    env: soroban_sdk::Env,
    seller: soroban_sdk::Address,
    token_id: u32,
    new_price: i128,
) -> Result<(), MarketError>

Initialize the marketplace contract

fn __constructor(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    nfd_contract: soroban_sdk::Address,
    xlm_sac: soroban_sdk::Address,
)

Get all active listings

fn get_all_listings(env: soroban_sdk::Env) -> soroban_sdk::Vec<(u32, Listing)>

Imports

WebAssembly Text (WAT) ▶