fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
nft_ca: soroban_sdk::Address,
agreement_ca: soroban_sdk::Address,
escrow_ca: soroban_sdk::Address,
price_feed_ca: soroban_sdk::Address,
reflector_ca: soroban_sdk::Address,
payment_token: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn version(env: soroban_sdk::Env) -> u32
fn upgrade(env: soroban_sdk::Env, new_wasm_hash: soroban_sdk::BytesN<32>)
fn update_state(
env: soroban_sdk::Env,
state_key: soroban_sdk::Symbol,
state_value: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn set_payment_token(env: soroban_sdk::Env, token_addr: soroban_sdk::Address)
fn set_currency(
env: soroban_sdk::Env,
currency: Currency,
) -> Result<(), soroban_sdk::Error>
fn create_listing(
env: soroban_sdk::Env,
creator: soroban_sdk::Address,
reference_id: soroban_sdk::String,
metadata_uri: soroban_sdk::String,
price: i128,
duration: u64,
allow_purchase: bool,
allow_rent: bool,
total_shares: u32,
reserved_shares: u32,
) -> Result
fn add_listing_shares(
env: soroban_sdk::Env,
creator: soroban_sdk::Address,
listing_id: u64,
shares_to_add: u32,
reserved_shares: u32,
) -> Result<(), soroban_sdk::Error>
fn update_listing(
env: soroban_sdk::Env,
listing_id: u64,
reference_id: soroban_sdk::String,
new_duration: u64,
allow_purchase: bool,
allow_rent: bool,
)
fn get_listing(env: soroban_sdk::Env, listing_id: u64) -> Listing
fn get_all_listings(env: soroban_sdk::Env) -> soroban_sdk::Vec
fn get_listing_count(env: soroban_sdk::Env) -> u64
fn update_listing_count(env: soroban_sdk::Env, count: u64)
fn remove_listing(env: soroban_sdk::Env, listing_id: u64)
fn change_listing_status(env: soroban_sdk::Env, listing_id: u64, status: ListingStatus)
fn get_listing_current_price(env: soroban_sdk::Env, listing_id: u64) -> i128
fn get_usdc_amount(env: soroban_sdk::Env, amount: i128) -> i128
fn get_usdc_price(env: soroban_sdk::Env) -> (i128, u32)
fn rent(
env: soroban_sdk::Env,
listing_id: u64,
renter: soroban_sdk::Address,
amount: i128,
duration: u64,
) -> Result
fn purchase(
env: soroban_sdk::Env,
listing_id: u64,
buyer: soroban_sdk::Address,
) -> Result
fn purchase_shares(
env: soroban_sdk::Env,
buyer: soroban_sdk::Address,
seller: soroban_sdk::Address,
listing_id: u64,
shares_to_buy: u32,
) -> Result
fn confirm_receipt(
env: soroban_sdk::Env,
renter_or_buyer: soroban_sdk::Address,
listing_id: u64,
is_rental: bool,
) -> Result<(), soroban_sdk::Error>
fn cancel_sale_or_rental(
env: soroban_sdk::Env,
seller: soroban_sdk::Address,
listing_id: u64,
) -> Result<(), soroban_sdk::Error>
fn reclaim_or_return(
env: soroban_sdk::Env,
seller: soroban_sdk::Address,
listing_id: u64,
) -> Result<(), soroban_sdk::Error>