Buy a listed NFT at the fixed price.
fn buy(env: soroban_sdk::Env, listing_id: u64, buyer: soroban_sdk::Address)
Create a fixed-price listing.
fn list(
env: soroban_sdk::Env,
seller: soroban_sdk::Address,
nft_contract: soroban_sdk::Address,
nft_id: u32,
currency: soroban_sdk::Address,
price: i128,
) -> u64
Upgrade the contract WASM. Admin only. ⚠️ NEVER REMOVE THIS FUNCTION — doing so bricks the contract permanently.
fn upgrade(env: soroban_sdk::Env, new_wasm_hash: soroban_sdk::BytesN<32>)
Contract version.
fn version(env: soroban_sdk::Env) -> u32
fn get_offer(env: soroban_sdk::Env, offer_id: u64) -> Offer
Make an offer on any NFT. Bid amount is escrowed.
fn make_offer(
env: soroban_sdk::Env,
bidder: soroban_sdk::Address,
nft_contract: soroban_sdk::Address,
nft_id: u32,
currency: soroban_sdk::Address,
amount: i128,
expires_at: u32,
) -> u64
fn get_listing(env: soroban_sdk::Env, listing_id: u64) -> Listing
fn update_fees(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
protocol_fee_bps: u32,
project_fee_bps: u32,
)
Accept an offer. NFT owner calls this.
fn accept_offer(env: soroban_sdk::Env, offer_id: u64, seller: soroban_sdk::Address)
fn add_currency(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
currency: soroban_sdk::Address,
)
Cancel an active offer. Returns escrowed funds.
fn cancel_offer(env: soroban_sdk::Env, offer_id: u64, bidder: soroban_sdk::Address)
Initialize the marketplace.
fn __constructor(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
protocol_fee_bps: u32,
protocol_fee_receiver: soroban_sdk::Address,
project_fee_bps: u32,
project_fee_receiver: soroban_sdk::Address,
allowed_currencies: soroban_sdk::Vec,
)
Cancel an active listing.
fn cancel_listing(env: soroban_sdk::Env, listing_id: u64, seller: soroban_sdk::Address)