Get the current admin address
fn get_admin(env: soroban_sdk::Env) -> soroban_sdk::Address
Get a launch record by ID
fn get_launch(env: soroban_sdk::Env, launch_id: u32) -> LaunchRecord
Initialize the factory contract with admin, WASM hashes, and fee configuration
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
escrow_wasm_hash: soroban_sdk::BytesN<32>,
vesting_wasm_hash: soroban_sdk::BytesN<32>,
treasury_wasm_hash: soroban_sdk::BytesN<32>,
governance_wasm_hash: soroban_sdk::BytesN<32>,
launch_fee: i128,
fee_recipient: soroban_sdk::Address,
xlm_token: soroban_sdk::Address,
)
Create a new launch with all associated contracts Caller pays the launch fee and receives the launch_id and contract addresses
fn create_launch(
env: soroban_sdk::Env,
creator: soroban_sdk::Address,
) -> (
u32,
soroban_sdk::Address,
soroban_sdk::Address,
soroban_sdk::Address,
soroban_sdk::Address,
)
Get the XLM token address
fn get_xlm_token(env: soroban_sdk::Env) -> soroban_sdk::Address
Get the current launch fee
fn get_launch_fee(env: soroban_sdk::Env) -> i128
Get the total number of launches
fn get_launch_count(env: soroban_sdk::Env) -> u32
Get the fee recipient address
fn get_fee_recipient(env: soroban_sdk::Env) -> soroban_sdk::Address
Update the escrow contract WASM hash (admin only)
fn update_escrow_wasm(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_hash: soroban_sdk::BytesN<32>,
)
Update the vesting contract WASM hash (admin only)
fn update_vesting_wasm(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_hash: soroban_sdk::BytesN<32>,
)
Update the treasury contract WASM hash (admin only)
fn update_treasury_wasm(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_hash: soroban_sdk::BytesN<32>,
)
Update the governance contract WASM hash (admin only)
fn update_governance_wasm(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_hash: soroban_sdk::BytesN<32>,
)
Get all launches created by a specific address
fn get_launches_by_creator(
env: soroban_sdk::Env,
creator: soroban_sdk::Address,
) -> soroban_sdk::Vec