Contract f45fa522088dff2e19b3aa108f408ee3770f5ab3d049a374a7f6da24e57cfa48

← Back to Index 📥 Download WASM

Meta

rssdkver 22.0.11#34f7f53ae31e0fd02aab436a9872e79fa671ca02
rsver 1.94.0

Instances

  • CANA44BWBYWE6GG2OCJTPGLFGUUQAPWW7E5E2RDIWMZ44OXOPD5PKL6B

Interface

Buyer purchases a listed domain (ATOMIC) XLM transfers buyer->seller, NFD transfers seller->buyer, all in one tx

fn buy(
    env: soroban_sdk::Env,
    buyer: soroban_sdk::Address,
    token_id: u32,
) -> 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

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,
    registry: soroban_sdk::Address,
)

Get all active listings

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

Imports

WebAssembly Text (WAT) ▶