Fund

The Fund is a derivative version of Synthetix Staking Rewards, distributing protocol revenue to veSEILOR stakers.

Config

#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct FundConfig {
    pub gov: Addr,
    pub ve_seilor_addr: Addr,
    pub seilor_addr: Addr,
    pub kusd_denom: String,
    pub kusd_reward_addr: Addr,
    pub kusd_reward_total_amount: Uint128,
    pub kusd_reward_total_paid_amount: Uint128,
    // Sum of (reward rate * dt * 1e18 / total supply)
    pub reward_per_token_stored: Uint128,
    // uint256 immutable exitCycle = 30 days;
    pub exit_cycle: Uint64,
    // uint256 public claimAbleTime;
    pub claim_able_time: Uint64,
    pub new_gov: Option<Addr>,
    pub token_cap: Option<Uint128>,
}
Key
Type
Description

gov

Addr

The address of the governance contract

ve_seilor_addr

Addr

The address of the veSEILOR contract

seilor_addr

Addr

The address of SEILOR token contract

kusd_denom

String

Stablecoin kUSD denomination

kusd_reward_addr

Addr

The address of the token contract for kUSD rewards

kusd_reward_total_amount

Uint128

The total amount of kUSD rewards

kusd_reward_total_paid_amount

Uint128

The total amount of kUSD rewards paid

reward_per_token_stored

Uint128

Reward per token stored

exit_cycle

Uint64

Exit cycle

claim_able_time

Uint64

Claim able time

new_gov

Addr

The address of the new governance contract

token_cap

Uint128

Token amount limit

InitMsg

InstantiateMsg

Key
Type
Description

gov

Addr

The address of the governance contract

ve_seilor_addr

Addr

The address of the veSEILOR contract

seilor_addr

Addr

The address of SEILOR token contract

kusd_denom

String

Stablecoin kUSD denomination

kusd_reward_addr

Addr

The address of the token contract for kUSD rewards

exit_cycle

Uint64

Exit cycle

claim_able_time

Uint64

Claim able time

ExecuteMsg

UpdateFundConfig

Key
Type
Description

update_fund_config

UpdateConfigMsg

Fund contract configuration structure

Key
Type
Description

gov*

Addr

The address of the governance contract

ve_seilor_addr*

Addr

The address of the veSEILOR contract

seilor_addr*

Addr

The address of SEILOR token contract

kusd_denom*

String

Stablecoin kUSD denomination

kusd_reward_addr*

Addr

The address of the token contract for kUSD rewards

claim_able_time*

Uint64

Claim able time

RefreshReward

Update user reward.

Key
Type
Description

account

Addr

The user's address

Stake

Stake SEILOR.

Key
Type
Description

amount

Uint128

The amount of SEILOR to stake

Withdraw

Key
Type
Description

amount

Uint128

The amount of SEILOR to withdraw

ReStake

GetReward

NotifyRewardAmount

SetVeFundMinter

Key
Type
Description

minter

Addr

The minter's address

is_ve_minter

bool

Whether the user is a ve-minter

VeFundMint

Key
Type
Description

user

Addr

The user's address

amout

Uint128

mint amount

QueryMsg

FundConfig

FundConfigResponse

Key
Type
Description

gov

Addr

The address of the governance contract

ve_seilor_addr

Addr

The address of the veSEILOR contract

seilor_addr

Addr

The address of SEILOR token contract

kusd_denom

String

Stablecoin kUSD denomination

kusd_reward_addr

Addr

The address of the token contract for kUSD rewards

kusd_reward_total_amount

Uint128

The total amount of kUSD rewards

kusd_reward_total_paid_amount

Uint128

The total amount of kUSD rewards paid

reward_per_token_stored

Uint128

Reward per token stored

exit_cycle

Uint64

Exit cycle

claim_able_time

Uint64

Claim able time

GetClaimAbleSeilor

Key
Type
Description

user

Addr

The user's address

GetClaimAbleSeilorResponse

Key
Type
Description

amount

Uint128

The amount of SEILOR that can be claimed

GetReservedSeilorForVesting

Key
Type
Description

user

Addr

The user's address

GetReservedSeilorForVestingResponse

Key
Type
Description

amount

Unit128

The remaining amount of veSEILOR that is vested for the user

Earned

Key
Type
Description

account

Addr

The user's address

EarnedResponse

Key
Type
Description

amount

Unit128

The amount of veSEILOR that is earned by the user

GetClaimAbleKusd

Key
Type
Description

account

Addr

The user's address

GetClaimAbleKusdResponse

Key
Type
Description

amount

Uint128

The amount of kUSD that the user is able to claim

GetUserRewardPerTokenPaid

Key
Type
Description

account

Addr

The user's address

GetUserRewardPerTokenPaidResponse

Key
Type
Description

user_reward_per_token_paid

Uint128

The rate of reward allocation per token for the user

GetUserRewards

Key
Type
Description

account

Addr

The user's address

UserRewardsResponse

Key
Type
Description

user_rewards

Uint128

The amount of rewards that the user is able to claim

GetUserTime2fullRedemption

Key
Type
Description

account

Addr

The user's address

UserTime2fullRedemptionResponse

Key
Type
Description

user_time2full_redemption

Uint64

GetUserUnstakeRate

Key
Type
Description

account

Addr

The user's address

UserUnstakeRateResponse

Key
Type
Description

user_unstake_rate

Uint256

GetUserLastWithdrawTime

Key
Type
Description

account

Addr

The user's address

UserLastWithdrawTimeResponse

Key
Type
Description

user_last_withdraw_time

Uint64

The time when the user last withdrew

IsVeFundMinter

Key
Type
Description

minter

Addr

The user's address

Return true or false.

Last updated