fn initialize(
env: soroban_sdk::Env,
addrs: soroban_sdk::Vec,
tranche_addrs: soroban_sdk::Vec
fn set_contract_addrs(
env: soroban_sdk::Env,
pool: soroban_sdk::Address,
pool_manager: soroban_sdk::Address,
credit: soroban_sdk::Address,
)
fn set_huma_config(
env: soroban_sdk::Env,
huma_config: soroban_sdk::Address,
huma_owner: soroban_sdk::Address,
sentinel: soroban_sdk::Address,
)
fn set_pool_owner(env: soroban_sdk::Env, pool_owner: soroban_sdk::Address)
fn set_pool_owner_treasury(
env: soroban_sdk::Env,
pool_owner_treasury: soroban_sdk::Address,
)
fn set_evaluation_agent(env: soroban_sdk::Env, ea: soroban_sdk::Address)
fn set_tranche_addresses(
env: soroban_sdk::Env,
junior_addr: soroban_sdk::Address,
senior_addr: Option,
)
fn set_pool_operator(
env: soroban_sdk::Env,
addr: soroban_sdk::Address,
is_operator: bool,
)
fn set_pool_status(env: soroban_sdk::Env, status: PoolStatus)
fn set_epoch(env: soroban_sdk::Env, epoch: Epoch)
fn set_admin_rnr(
env: soroban_sdk::Env,
pool_owner_reward_rate: u32,
pool_owner_liquidity_rate: u32,
ea_reward_rate: u32,
ea_liquidity_rate: u32,
)
fn set_pool_settings(
env: soroban_sdk::Env,
max_credit_line: u128,
min_deposit_amount: u128,
pay_period_duration: PayPeriodDuration,
late_payment_grace_period_days: u32,
default_grace_period_days: u32,
principal_only_payment_allowed: bool,
)
fn set_lp_config(
env: soroban_sdk::Env,
liquidity_cap: u128,
max_senior_junior_ratio: u32,
fixed_senior_yield_bps: u32,
tranches_risk_adjustment_bps: u32,
withdrawal_lockout_period_days: u32,
)
fn set_fee_structure(
env: soroban_sdk::Env,
yield_bps: u32,
late_fee_bps: u32,
front_loading_fee_flat: u128,
front_loading_fee_bps: u32,
)
fn set_tranches_policy_type(env: soroban_sdk::Env, policy_type: TranchesPolicyType)
fn send_tokens(
env: soroban_sdk::Env,
to: soroban_sdk::Address,
amount: u128,
caller: soroban_sdk::Address,
)
fn add_tranche_assets(env: soroban_sdk::Env, addr: soroban_sdk::Address, amount: u128)
fn reduce_tranche_assets(
env: soroban_sdk::Env,
addr: soroban_sdk::Address,
amount: u128,
)
fn update_assets(
env: soroban_sdk::Env,
caller: soroban_sdk::Address,
tranche_assets: TrancheAssets,
)
fn update_admin_fees_reserve(env: soroban_sdk::Env, amount: u128, increase: bool)
fn distribute_profit_to_tranches(
env: soroban_sdk::Env,
profit: u128,
admin_fees: u128,
) -> TrancheAssets
fn refresh_yield_tracker(env: soroban_sdk::Env, tranche_assets: TrancheAssets)
fn upgrade(env: soroban_sdk::Env, new_wasm_hash: soroban_sdk::BytesN<32>)
fn get_huma_owner(env: soroban_sdk::Env) -> soroban_sdk::Address
fn get_pool_owner(env: soroban_sdk::Env) -> soroban_sdk::Address
fn get_pool_owner_treasury(env: soroban_sdk::Env) -> soroban_sdk::Address
fn get_evaluation_agent(env: soroban_sdk::Env) -> soroban_sdk::Address
fn get_sentinel(env: soroban_sdk::Env) -> soroban_sdk::Address
fn get_underlying_token(env: soroban_sdk::Env) -> soroban_sdk::Address
fn get_available_balance(env: soroban_sdk::Env) -> u128
fn get_pool_status(env: soroban_sdk::Env) -> PoolStatus
fn get_pool_settings(env: soroban_sdk::Env) -> PoolSettings
fn get_lp_config(env: soroban_sdk::Env) -> LPConfig
fn get_fee_structure(env: soroban_sdk::Env) -> FeeStructure
fn get_admin_rnr(env: soroban_sdk::Env) -> AdminRnR
fn get_current_epoch(env: soroban_sdk::Env) -> Epoch
fn get_tranche_assets_by_addr(
env: soroban_sdk::Env,
addr: soroban_sdk::Address,
) -> u128
fn get_tranche_assets(env: soroban_sdk::Env) -> TrancheAssets
fn get_tranche_addresses(env: soroban_sdk::Env) -> TrancheAddresses
fn is_pool_owner_or_huma_owner(
env: soroban_sdk::Env,
addr: soroban_sdk::Address,
) -> bool
fn is_pool_operator(env: soroban_sdk::Env, addr: soroban_sdk::Address) -> bool
fn is_protocol_and_pool_on(env: soroban_sdk::Env) -> bool
fn check_liquidity_requirements(
env: soroban_sdk::Env,
lender: soroban_sdk::Address,
tranche_vault: soroban_sdk::Address,
balance: u128,
)
fn check_pool_owner_liquidity_req(
env: soroban_sdk::Env,
tranche_vault: soroban_sdk::Address,
balance: u128,
)
fn check_ea_liquidity_req(
env: soroban_sdk::Env,
tranche_vault: soroban_sdk::Address,
balance: u128,
)
fn get_pool_owner_min_liquidity_req(env: soroban_sdk::Env, index: u32) -> u128
fn get_ea_min_liquidity_req(env: soroban_sdk::Env, index: u32) -> u128