fn lock(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
lp_token: soroban_sdk::Address,
amount: i128,
tier_id: u32,
) -> Result<(), FarmError>
fn claim(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
lp_token: soroban_sdk::Address,
) -> Result
fn unlock(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
lp_token: soroban_sdk::Address,
) -> Result
fn set_pool(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
config: PoolConfig,
) -> Result<(), FarmError>
fn initialize(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
) -> Result<(), FarmError>
Allow specific treasury addresses to top up a specific reward token for a pool.
fn set_funder(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
lp_token: soroban_sdk::Address,
reward_token: soroban_sdk::Address,
funder: soroban_sdk::Address,
allowed: bool,
) -> Result<(), FarmError>
fn get_position(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
lp_token: soroban_sdk::Address,
) -> Position
fn get_pool_vault(
env: soroban_sdk::Env,
lp_token: soroban_sdk::Address,
) -> Result
fn deposit_rewards(
env: soroban_sdk::Env,
admin: soroban_sdk::Address,
lp_token: soroban_sdk::Address,
amount_a: i128,
amount_b: i128,
) -> Result<(), FarmError>
fn get_pool_config(
env: soroban_sdk::Env,
lp_token: soroban_sdk::Address,
) -> Result
fn pending_rewards(
env: soroban_sdk::Env,
user: soroban_sdk::Address,
lp_token: soroban_sdk::Address,
) -> Result
Third-party approved funder can deposit one reward token directly.
fn deposit_reward_as_funder(
env: soroban_sdk::Env,
funder: soroban_sdk::Address,
lp_token: soroban_sdk::Address,
reward_token: soroban_sdk::Address,
amount: i128,
) -> Result<(), FarmError>