Buy a listed domain — atomic: USDC -> seller, domain -> buyer
fn buy(
env: soroban_sdk::Env,
buyer: soroban_sdk::Address,
node: soroban_sdk::BytesN<32>,
) -> 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,
) -> Result<(), soroban_sdk::Error>
fn upgrade(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
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,
) -> 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>