fn init(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
shares: soroban_sdk::Vec,
mutable: bool,
) -> Result<(), soroban_sdk::Error>
fn get_share(
env: soroban_sdk::Env,
shareholder: soroban_sdk::Address,
) -> Result
fn buy_shares(
env: soroban_sdk::Env,
buyer: soroban_sdk::Address,
seller: soroban_sdk::Address,
shares_amount: i128,
) -> Result<(), soroban_sdk::Error>
fn get_config(env: soroban_sdk::Env) -> Result
fn get_listing(
env: soroban_sdk::Env,
seller: soroban_sdk::Address,
) -> Result
fn list_shares(
env: soroban_sdk::Env,
) -> Result, soroban_sdk::Error>
fn lock_contract(env: soroban_sdk::Env) -> Result<(), soroban_sdk::Error>
fn update_shares(
env: soroban_sdk::Env,
shares: soroban_sdk::Vec,
) -> Result<(), soroban_sdk::Error>
fn cancel_listing(
env: soroban_sdk::Env,
seller: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn get_allocation(
env: soroban_sdk::Env,
shareholder: soroban_sdk::Address,
token: soroban_sdk::Address,
) -> Result
fn list_all_sales(
env: soroban_sdk::Env,
) -> Result, soroban_sdk::Error>
fn transfer_shares(
env: soroban_sdk::Env,
from: soroban_sdk::Address,
to: soroban_sdk::Address,
amount: i128,
) -> Result<(), soroban_sdk::Error>
fn transfer_tokens(
env: soroban_sdk::Env,
token_address: soroban_sdk::Address,
recipient: soroban_sdk::Address,
amount: i128,
) -> Result<(), soroban_sdk::Error>
fn distribute_tokens(
env: soroban_sdk::Env,
token_address: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn withdraw_allocation(
env: soroban_sdk::Env,
token_address: soroban_sdk::Address,
shareholder: soroban_sdk::Address,
amount: i128,
) -> Result<(), soroban_sdk::Error>
fn list_shares_for_sale(
env: soroban_sdk::Env,
seller: soroban_sdk::Address,
shares_amount: i128,
price_per_share: i128,
payment_token: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn get_commission_config(
env: soroban_sdk::Env,
) -> Result
fn set_buy_commission_rate(
env: soroban_sdk::Env,
new_rate_bps: i128,
) -> Result<(), soroban_sdk::Error>
fn set_commission_recipient(
env: soroban_sdk::Env,
new_recipient: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn set_distribution_commission_rate(
env: soroban_sdk::Env,
new_rate_bps: i128,
) -> Result<(), soroban_sdk::Error>