fn initialize(
env: soroban_sdk::Env,
reserve_acc: soroban_sdk::Address,
dev_acc: soroban_sdk::Address,
launchpad_acc: soroban_sdk::Address,
admin: soroban_sdk::Address,
) -> Result
fn create_product(
env: soroban_sdk::Env,
product_title: soroban_sdk::String,
product_description: soroban_sdk::String,
product_category: soroban_sdk::String,
product_expiry: u64,
product_image: soroban_sdk::String,
product_price: i128,
product_target: i128,
) -> Result
fn get_products(env: soroban_sdk::Env) -> soroban_sdk::Vec
fn get_product(env: soroban_sdk::Env, product_id: u32) -> Product
fn get_discount(
env: soroban_sdk::Env,
id: u32,
customer_address: soroban_sdk::Address,
amount: i128,
token_id: soroban_sdk::Address,
) -> Result<(i128, i128, i128), soroban_sdk::Error>
fn get_reserve_acc(env: soroban_sdk::Env) -> soroban_sdk::Address
fn get_dev_acc(env: soroban_sdk::Env) -> soroban_sdk::Address
fn get_launchpad_acc(env: soroban_sdk::Env) -> soroban_sdk::Address
fn get_admin(env: soroban_sdk::Env) -> soroban_sdk::Address