fn initialize(
env: soroban_sdk::Env,
nft_factory: soroban_sdk::Address,
fee_recipient: soroban_sdk::Address,
native_xlm: soroban_sdk::Address,
bps: u32,
admin: soroban_sdk::Address,
)
fn create_offer(
env: soroban_sdk::Env,
nft_contract: soroban_sdk::Address,
offer_params: OfferInitParams,
) -> u32
fn submit_ad_proposal(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
offer_id: u32,
token_id: u32,
ad_parameter: soroban_sdk::String,
data: soroban_sdk::String,
) -> u32
fn submit_ad_proposals(
env: soroban_sdk::Env,
offer_ids: soroban_sdk::Vec,
token_ids: soroban_sdk::Vec,
ad_parameters: soroban_sdk::Vec,
datas: soroban_sdk::Vec,
caller: soroban_sdk::Address,
)
fn review_ad_proposal(
env: soroban_sdk::Env,
offer_id: u32,
token_id: u32,
proposal_id: u32,
ad_parameter: soroban_sdk::String,
validated: bool,
reason: soroban_sdk::String,
validator: soroban_sdk::Address,
) -> u32
fn review_ad_proposals(
env: soroban_sdk::Env,
reviews: soroban_sdk::Vec,
) -> soroban_sdk::Vec
fn update_offer(
env: soroban_sdk::Env,
offer_id: u32,
admin: soroban_sdk::Address,
offer_params: OfferInitParams,
) -> bool
fn get_offer_contract(env: soroban_sdk::Env, offer_id: u32) -> soroban_sdk::Address
fn get_total_offers(env: soroban_sdk::Env) -> u32
fn get_all_offers(env: soroban_sdk::Env) -> soroban_sdk::Vec
fn get_user_offers(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> soroban_sdk::Vec
fn get_offer_proposals(
env: soroban_sdk::Env,
offer_id: u32,
token_id: u32,
) -> soroban_sdk::Map
fn is_allowed_ad_parameter(
env: soroban_sdk::Env,
offer_id: u32,
ad_parameter: soroban_sdk::String,
) -> bool
fn is_offer_admin(
env: soroban_sdk::Env,
offer_id: u32,
admin: soroban_sdk::Address,
) -> bool
fn is_offer_disabled(env: soroban_sdk::Env, offer_id: u32) -> bool
fn is_offer_validator(
env: soroban_sdk::Env,
offer_id: u32,
validator: soroban_sdk::Address,
) -> bool
fn get_fee_amount(env: soroban_sdk::Env, base_amount: u128) -> u128
fn create_dsponsor_nft(
env: soroban_sdk::Env,
init_params: InitParams,
salt: Option>,
) -> soroban_sdk::Address
Updates the protocol fee settings
new_bps - The new fee in basis points (1 basis point = 0.01%)new_recipient - The new address that will receive the protocol feesReturns true if the update was successful
fn update_protocol_fee(
env: soroban_sdk::Env,
new_bps: u32,
new_recipient: soroban_sdk::Address,
) -> bool
Creates a new DSponsor NFT and an associated offer in a single transaction
init_params - Parameters for initializing the NFT contractoffer_params - Parameters for creating the offerReturns the offer ID if successful
fn create_dsponsor_nft_and_offer(
env: soroban_sdk::Env,
init_params: InitParams,
offer_params: OfferInitParams,
) -> u32
Mints an NFT and submits ad proposals in a single transaction
params - Parameters for minting and submitting ad proposalsReturns true if successful
fn mint_and_submit(env: soroban_sdk::Env, params: MintAndSubmitParams) -> bool