Contract be09b800bc3eb908d6c35f333596a938a3c29221359e34467eab6d015b9a87a6

← Back to Index 📥 Download WASM

Meta

binver 1.0.0
rssdkver 26.1.1#8ac18efb681a1c0b4b85a38c5a380300344e3f39
rsver 1.93.0

Instances

  • CCQUMILPJQK3OB2R5MR2QSF7UUSWWJL34LPLMOVYIBSHAEYCIFWGZXW4

Interface

Buy a listed domain — atomic: USDC -> seller, domain -> buyer

fn buy(
    env: soroban_sdk::Env,
    buyer: soroban_sdk::Address,
    node: soroban_sdk::BytesN<32>,
    max_xld_amount: i128,
) -> Result<(), soroban_sdk::Error>
fn list(
    env: soroban_sdk::Env,
    seller: soroban_sdk::Address,
    node: soroban_sdk::BytesN<32>,
    price: i128,
    duration_days: u32,
) -> Result<(), soroban_sdk::Error>

Cancel a listing (seller only)

fn cancel(
    env: soroban_sdk::Env,
    seller: soroban_sdk::Address,
    node: soroban_sdk::BytesN<32>,
) -> Result<(), soroban_sdk::Error>
fn buy_nft(
    env: soroban_sdk::Env,
    buyer: soroban_sdk::Address,
    contract: soroban_sdk::Address,
    token_id: u32,
    max_xld_amount: i128,
) -> Result<(), soroban_sdk::Error>
fn upgrade(
    env: soroban_sdk::Env,
    new_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), soroban_sdk::Error>
fn list_nft(
    env: soroban_sdk::Env,
    seller: soroban_sdk::Address,
    contract: soroban_sdk::Address,
    token_id: u32,
    price: i128,
    duration_days: u32,
) -> Result<(), soroban_sdk::Error>
fn get_offer(
    env: soroban_sdk::Env,
    offer_id: soroban_sdk::BytesN<32>,
) -> Result
fn set_admin(
    env: soroban_sdk::Env,
    current_admin: soroban_sdk::Address,
    new_admin: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn cancel_nft(
    env: soroban_sdk::Env,
    seller: soroban_sdk::Address,
    contract: soroban_sdk::Address,
    token_id: u32,
) -> Result<(), soroban_sdk::Error>
fn extend_ttl(env: soroban_sdk::Env)
fn initialize(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    registry: soroban_sdk::Address,
    vault: soroban_sdk::Address,
    usdc_token: soroban_sdk::Address,
    operator_wallet: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn get_listing(
    env: soroban_sdk::Env,
    node: soroban_sdk::BytesN<32>,
) -> Result
fn total_volume(env: soroban_sdk::Env) -> i128

Constructor (Protocol 22+): Called atomically during CreateContractV2.

fn __constructor(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    registry: soroban_sdk::Address,
    vault: soroban_sdk::Address,
    usdc_token: soroban_sdk::Address,
    operator_wallet: soroban_sdk::Address,
)

List a domain for sale on the public marketplace

fn set_xld_token(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    xld_token: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>

Execute a gasless intent submitted by a buyer off-chain. The buyer creates a Soroban Auth signature for this exact function call, allowing the seller to submit the transaction and pay the gas.

fn execute_intent(
    env: soroban_sdk::Env,
    seller: soroban_sdk::Address,
    buyer: soroban_sdk::Address,
    node: soroban_sdk::BytesN<32>,
    price: i128,
    expires_at: u64,
    max_xld_amount: i128,
) -> Result<(), soroban_sdk::Error>

Buy a listed domain via the Trade Router

fn buy_from_router(
    env: soroban_sdk::Env,
    router: soroban_sdk::Address,
    buyer: soroban_sdk::Address,
    node: soroban_sdk::BytesN<32>,
    max_xld_amount: i128,
) -> Result<(), soroban_sdk::Error>
fn execute_nft_intent(
    env: soroban_sdk::Env,
    seller: soroban_sdk::Address,
    buyer: soroban_sdk::Address,
    contract: soroban_sdk::Address,
    token_id: u32,
    price: i128,
    expires_at: u64,
    max_xld_amount: i128,
) -> Result<(), soroban_sdk::Error>
fn buy_nft_from_router(
    env: soroban_sdk::Env,
    router: soroban_sdk::Address,
    buyer: soroban_sdk::Address,
    contract: soroban_sdk::Address,
    token_id: u32,
    max_xld_amount: i128,
) -> Result<(), soroban_sdk::Error>
fn set_operator_wallet(
    env: soroban_sdk::Env,
    admin: soroban_sdk::Address,
    new_wallet: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>

Execute a gasless wildcard listing intent submitted by a seller off-chain. The seller created a Soroban Auth signature for the listing terms, allowing ANY buyer to submit the transaction and pay the gas.

fn execute_listing_intent(
    env: soroban_sdk::Env,
    buyer: soroban_sdk::Address,
    seller: soroban_sdk::Address,
    node: soroban_sdk::BytesN<32>,
    price: i128,
    expires_at: u64,
    max_xld_amount: i128,
) -> Result<(), soroban_sdk::Error>
fn exec_listing_by_operator(
    env: soroban_sdk::Env,
    buyer: soroban_sdk::Address,
    seller: soroban_sdk::Address,
    operator: soroban_sdk::Address,
    node: soroban_sdk::BytesN<32>,
    price: i128,
    expires_at: u64,
    max_xld_amount: i128,
) -> Result<(), soroban_sdk::Error>
fn execute_priv_nft_listing(
    env: soroban_sdk::Env,
    buyer: soroban_sdk::Address,
    seller: soroban_sdk::Address,
    contract: soroban_sdk::Address,
    token_id: u32,
    price: i128,
    expires_at: u64,
    max_xld_amount: i128,
) -> Result<(), soroban_sdk::Error>
fn exec_nft_list_by_operator(
    env: soroban_sdk::Env,
    buyer: soroban_sdk::Address,
    seller: soroban_sdk::Address,
    operator: soroban_sdk::Address,
    contract: soroban_sdk::Address,
    token_id: u32,
    price: i128,
    expires_at: u64,
    max_xld_amount: i128,
) -> Result<(), soroban_sdk::Error>
fn execute_nft_listing_intent(
    env: soroban_sdk::Env,
    buyer: soroban_sdk::Address,
    seller: soroban_sdk::Address,
    contract: soroban_sdk::Address,
    token_id: u32,
    price: i128,
    expires_at: u64,
    max_xld_amount: i128,
) -> Result<(), soroban_sdk::Error>
fn exec_priv_listing_by_operator(
    env: soroban_sdk::Env,
    buyer: soroban_sdk::Address,
    seller: soroban_sdk::Address,
    operator: soroban_sdk::Address,
    node: soroban_sdk::BytesN<32>,
    price: i128,
    expires_at: u64,
    max_xld_amount: i128,
) -> Result<(), soroban_sdk::Error>
fn exec_priv_nft_list_by_operator(
    env: soroban_sdk::Env,
    buyer: soroban_sdk::Address,
    seller: soroban_sdk::Address,
    operator: soroban_sdk::Address,
    contract: soroban_sdk::Address,
    token_id: u32,
    price: i128,
    expires_at: u64,
    max_xld_amount: i128,
) -> Result<(), soroban_sdk::Error>

Execute a private targeted listing intent (e.g. Counterbid or OTC trade).

fn execute_private_listing_intent(
    env: soroban_sdk::Env,
    buyer: soroban_sdk::Address,
    seller: soroban_sdk::Address,
    node: soroban_sdk::BytesN<32>,
    price: i128,
    expires_at: u64,
    max_xld_amount: i128,
) -> Result<(), soroban_sdk::Error>

Imports

WebAssembly Text (WAT) ▶