Record AQUA lock with POL contribution (admin-only) Stake AQUA tokens - user calls this directly This function transfers tokens from user to contract and records the lock
fn stake(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
token: soroban_sdk::Address,
amount: i128,
duration_days: u32,
) -> Result
fn get_config(env: soroban_sdk::Env) -> Result
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
treasury_address: soroban_sdk::Address,
blub_token: soroban_sdk::Address,
aqua_token: soroban_sdk::Address,
) -> Result<(), soroban_sdk::Error>
fn get_user_lp(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
pool_id: soroban_sdk::Bytes,
) -> Option
DEPRECATED: Use stake() instead This function only records metadata without transferring tokens
fn record_lock(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
amount: i128,
duration_days: u32,
tx_hash: soroban_sdk::Bytes,
) -> Result
fn record_unlock(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
amount: i128,
tx_hash: soroban_sdk::Bytes,
) -> Result
fn get_user_pools(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> soroban_sdk::Vec
fn get_global_state(env: soroban_sdk::Env) -> Result
fn get_unlock_count(env: soroban_sdk::Env, user: soroban_sdk::Address) -> u32
fn get_user_rewards(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> Option
fn record_lp_deposit(
env: soroban_sdk::Env,
admin: 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 credit_user_reward(
env: soroban_sdk::Env,
admin: 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>
Record POL rewards claimed from AQUA-BLUB pair voting (admin-only)
fn record_pol_rewards(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
reward_amount: i128,
ice_voting_power: i128,
) -> Result<(), soroban_sdk::Error>
fn update_reward_rate(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
new_rate: i128,
) -> Result<(), soroban_sdk::Error>
fn get_unlock_by_index(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
index: u32,
) -> Option
fn get_user_lock_count(env: soroban_sdk::Env, user: soroban_sdk::Address) -> u32
fn record_blub_restake(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
amount: i128,
tx_hash: soroban_sdk::Bytes,
) -> Result
fn get_user_lock_totals(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> Option
fn calculate_user_rewards(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
) -> Result
fn get_blub_restake_count(env: soroban_sdk::Env, user: soroban_sdk::Address) -> u32
Get daily POL snapshot
fn get_daily_pol_snapshot(
env: soroban_sdk::Env,
day: u64,
) -> Option
fn get_distribution_count(env: soroban_sdk::Env) -> u32
fn get_user_lock_by_index(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
index: u32,
) -> Option
fn get_blub_restake_by_index(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
index: u32,
) -> Option
fn get_distribution_by_index(
env: soroban_sdk::Env,
index: u32,
) -> Option
Get total POL contribution for user
fn get_user_pol_contribution(env: soroban_sdk::Env, user: soroban_sdk::Address) -> i128
fn record_reward_distribution(
env: soroban_sdk::Env,
admin: 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
Get POL state
fn get_protocol_owned_liquidity(env: soroban_sdk::Env) -> ProtocolOwnedLiquidity