fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
treasury_address: soroban_sdk::Address,
aqua_token: soroban_sdk::Address,
blub_token: soroban_sdk::Address,
liquidity_contract: soroban_sdk::Address,
ice_tokens: IceTokens,
vault_treasury: soroban_sdk::Address,
vault_fee_bps: u32,
) -> Result<(), soroban_sdk::Error>
fn get_config(env: soroban_sdk::Env) -> Result
fn update_sac_admin(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_admin: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn lock(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
amount: i128,
duration_periods: u64,
) -> Result<(), soroban_sdk::Error>
fn record_lock(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
amount: i128,
duration_periods: u64,
tx_hash: soroban_sdk::Bytes,
) -> Result<(), soroban_sdk::Error>
fn record_unlock(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
amount: i128,
tx_hash: soroban_sdk::Bytes,
) -> Result<(), soroban_sdk::Error>
fn stake(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
amount: i128,
duration_periods: u64,
) -> Result<(), soroban_sdk::Error>
fn record_blub_restake(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
amount: i128,
tx_hash: soroban_sdk::Bytes,
) -> Result<(), soroban_sdk::Error>
fn record_lp_deposit(
env: soroban_sdk::Env,
manager: soroban_sdk::Address,
user: soroban_sdk::Address,
pool_id: soroban_sdk::Bytes,
amount_a: i128,
amount_b: i128,
tx_hash: soroban_sdk::Bytes,
) -> Result<(), soroban_sdk::Error>
fn calculate_user_rewards(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> Result
fn record_reward_distribution(
env: soroban_sdk::Env,
manager: soroban_sdk::Address,
kind: u32,
pool_id: soroban_sdk::Bytes,
total_reward: i128,
distributed_amount: i128,
treasury_amount: i128,
tx_hash: soroban_sdk::Bytes,
) -> Result
fn credit_user_reward(
env: soroban_sdk::Env,
manager: soroban_sdk::Address,
kind: u32,
user: soroban_sdk::Address,
pool_id: soroban_sdk::Bytes,
amount: i128,
tx_hash: soroban_sdk::Bytes,
) -> Result<(), soroban_sdk::Error>
fn record_pol_rewards(
env: soroban_sdk::Env,
manager: soroban_sdk::Address,
reward_amount: i128,
ice_voting_power: i128,
) -> Result<(), soroban_sdk::Error>
fn get_global_state(env: soroban_sdk::Env) -> Result
fn get_user_lock_totals(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> Option
fn get_user_lock_count(env: soroban_sdk::Env, user: soroban_sdk::Address) -> u32
fn get_user_lock_by_index(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
index: u32,
) -> Option
fn get_user_pools(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> soroban_sdk::Vec
fn get_user_lp(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
pool_id: soroban_sdk::Bytes,
) -> Option
fn get_user_rewards(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> Option
fn get_unlock_count(env: soroban_sdk::Env, user: soroban_sdk::Address) -> u32
fn get_unlock_by_index(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
index: u32,
) -> Option
fn get_blub_restake_count(env: soroban_sdk::Env, user: soroban_sdk::Address) -> u32
fn get_blub_restake_by_index(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
index: u32,
) -> Option
fn get_distribution_count(env: soroban_sdk::Env) -> u32
fn get_distribution_by_index(
env: soroban_sdk::Env,
index: u32,
) -> Option
fn get_protocol_owned_liquidity(env: soroban_sdk::Env) -> ProtocolOwnedLiquidity
fn get_daily_pol_snapshot(
env: soroban_sdk::Env,
day: u64,
) -> Option
fn get_user_pol_contribution(env: soroban_sdk::Env, user: soroban_sdk::Address) -> i128
fn get_pool_reserves(env: soroban_sdk::Env) -> Result<(i128, i128), soroban_sdk::Error>
fn get_pool_share_token(
env: soroban_sdk::Env,
) -> Result
fn withdraw_from_pool(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
share_amount: i128,
min_aqua: i128,
min_blub: i128,
) -> Result<(i128, i128), soroban_sdk::Error>
fn admin_purge_lock(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
tx_hash: soroban_sdk::Bytes,
) -> Result<(), soroban_sdk::Error>
fn get_pool_virtual_price(env: soroban_sdk::Env) -> Result
fn claim_pool_rewards(
env: soroban_sdk::Env,
manager: soroban_sdk::Address,
) -> Result
fn get_pool_pending_rewards(env: soroban_sdk::Env) -> Result
fn update_reward_rate(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_rate: i128,
) -> Result<(), soroban_sdk::Error>
fn manual_deposit_pol(
env: soroban_sdk::Env,
manager: soroban_sdk::Address,
aqua_amount: i128,
blub_amount: i128,
) -> Result<(), soroban_sdk::Error>
fn sync_pol_position(
env: soroban_sdk::Env,
manager: soroban_sdk::Address,
new_value: i128,
) -> Result<(), soroban_sdk::Error>
fn update_liquidity_contract(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_liquidity_contract: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn update_blub_token(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_blub_token: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn update_vault_treasury(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_treasury: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn update_vault_fee_bps(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_fee_bps: u32,
) -> Result<(), soroban_sdk::Error>
fn update_ice_tokens(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
ice_token: soroban_sdk::Address,
govern_ice_token: soroban_sdk::Address,
upvote_ice_token: soroban_sdk::Address,
downvote_ice_token: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn upgrade(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_wasm_hash: soroban_sdk::BytesN<32>,
) -> Result<(), soroban_sdk::Error>
fn migrate_v1_2_0(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn set_manager(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_manager: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn get_manager_address(env: soroban_sdk::Env) -> Option
fn migrate_v1_4_0(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn migrate_v1_8_0(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
primary_user: soroban_sdk::Address,
affected_user: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn admin_adjust_vault_position(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
user: soroban_sdk::Address,
pool_id: u32,
new_shares: i128,
lp_delta: i128,
) -> Result<(), soroban_sdk::Error>
fn transfer_admin(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_admin: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn get_version(env: soroban_sdk::Env) -> Result
fn test_staking_calculations(
env: soroban_sdk::Env,
aqua_amount: i128,
) -> Result<(i128, i128, i128, i128, i128), soroban_sdk::Error>
fn get_available_pol_balance(
env: soroban_sdk::Env,
) -> Result<(i128, i128), soroban_sdk::Error>
fn process_pending_stakes(
env: soroban_sdk::Env,
max_count: u32,
) -> Result
fn get_pending_stake_count(env: soroban_sdk::Env) -> u32
fn get_pending_stake(env: soroban_sdk::Env, index: u32) -> Option
fn update_period_unit(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
period_unit_minutes: u64,
) -> Result<(), soroban_sdk::Error>
fn get_user_staking_info(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> Result
fn unstake(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
amount: i128,
) -> Result<(), soroban_sdk::Error>
fn add_rewards(
env: soroban_sdk::Env,
manager: soroban_sdk::Address,
amount: i128,
) -> Result<(), soroban_sdk::Error>
fn admin_emergency_reset_rewards(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
correct_reward_per_token: i128,
correct_total_rewards_added: i128,
) -> Result
fn add_rewards_from_aqua(
env: soroban_sdk::Env,
manager: soroban_sdk::Address,
aqua_amount: i128,
blub_reward_amount: i128,
) -> Result<(), soroban_sdk::Error>
fn claim_rewards(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> Result
fn get_pending_rewards(env: soroban_sdk::Env, user: soroban_sdk::Address) -> i128
fn get_user_reward_info(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> UserRewardInfo
fn get_unstake_status(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
lock_index: u32,
) -> UnstakeStatus
fn get_reward_state_view(env: soroban_sdk::Env) -> RewardState
fn update_unstake_cooldown(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
cooldown_seconds: u64,
) -> Result<(), soroban_sdk::Error>
fn update_claim_cooldown(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
cooldown_seconds: u64,
) -> Result<(), soroban_sdk::Error>
fn setup_ice_trustlines(
env: soroban_sdk::Env,
manager: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn authorize_ice_lock(
env: soroban_sdk::Env,
manager: soroban_sdk::Address,
aqua_amount: i128,
duration_years: u64,
) -> Result
fn transfer_authorized_aqua(
env: soroban_sdk::Env,
manager: soroban_sdk::Address,
lock_id: u64,
) -> Result<(), soroban_sdk::Error>
fn sync_all_ice_balances(
env: soroban_sdk::Env,
manager: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn add_pool(
env: soroban_sdk::Env,
manager: soroban_sdk::Address,
pool_address: soroban_sdk::Address,
token_a: soroban_sdk::Address,
token_b: soroban_sdk::Address,
share_token: soroban_sdk::Address,
) -> Result
fn update_pool_status(
env: soroban_sdk::Env,
pool_id: u32,
active: bool,
) -> Result<(), soroban_sdk::Error>
fn vault_deposit(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
pool_id: u32,
desired_a: i128,
desired_b: i128,
min_shares: u128,
) -> Result<(), soroban_sdk::Error>
fn vault_deposit_single(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
pool_id: u32,
token_in: soroban_sdk::Address,
amount_in: i128,
min_shares: u128,
) -> Result<(), soroban_sdk::Error>
fn vault_withdraw(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
pool_id: u32,
share_percent: u32,
min_a: u128,
min_b: u128,
) -> Result<(), soroban_sdk::Error>
fn claim_and_compound(
env: soroban_sdk::Env,
manager: soroban_sdk::Address,
pool_id: u32,
) -> Result<(i128, i128, i128), soroban_sdk::Error>
fn admin_compound_deposit(
env: soroban_sdk::Env,
manager: soroban_sdk::Address,
pool_id: u32,
amount_a: i128,
amount_b: i128,
) -> Result
fn get_pending_aqua_for_ice(env: soroban_sdk::Env) -> Result
fn get_all_ice_balances(
env: soroban_sdk::Env,
) -> Result<(i128, i128, i128, i128), soroban_sdk::Error>
fn get_upvote_ice_balance(env: soroban_sdk::Env) -> Result
fn get_ice_lock_authorization(
env: soroban_sdk::Env,
lock_id: u64,
) -> Result
fn get_pool_info(
env: soroban_sdk::Env,
pool_id: u32,
) -> Result
fn get_vault_total_shares(env: soroban_sdk::Env, pool_id: u32) -> i128
fn get_user_vault_position(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
pool_id: u32,
) -> Result
fn get_pool_compound_stats(env: soroban_sdk::Env, pool_id: u32) -> PoolCompoundStats
fn get_user_compound_gains(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
pool_id: u32,
) -> (i128, i128, i128)
fn get_pool_count(env: soroban_sdk::Env) -> Result