Boost
veSEILOR holders receive a varied percentage of yield boost depending on the lock-up length.
Config
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct BoostConfig {
pub gov: Addr,
pub ve_seilor_lock_settings: Vec<VeSeilorLockSetting>,
}
#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
pub struct VeSeilorLockSetting {
pub duration: Uint128,
pub mining_boost: Uint128,
}gov
Addr
The address of the governance contract
ve_seilor_lock_settings
Vec<VeSeilorLockSetting>
List of VeSeilorLockSetting
duration
Uint128
mining_boost
Uint128
InitMsg
#[cw_serde]
pub struct InstantiateMsg {
pub gov: Option<Addr>,
pub ve_seilor_lock_settings: Vec<VeSeilorLockSetting>,
}{
"gov": "addr",
"ve_seilor_lock_settings": [
{
"duration": "1000000000000000000",
"mining_boost": "1000000000000000000"
}
]
}duration
String
The duration of the lock
mining_boost
String
The boost percentage
ExecuteMsg
AddLockSetting
#[cw_serde]
pub enum ExecuteMsg {
AddLockSetting {
duration: Uint128,
mining_boost: Uint128,
},
}{
"add_lock_setting": {
"duration": "1000000000000000000",
"mining_boost": "1000000000000000000"
}
}duration
String
The duration of the lock
mining_boost
String
The boost percentage
ChangeGov
#[cw_serde]
pub enum ExecuteMsg {
ChangeGov {
gov: Addr,
},
}{
"change_gov": {
"gov": "addr"
}
}gov
String
The address of the governance contract
SetLockStatus
#[cw_serde]
pub enum ExecuteMsg {
SetLockStatus {
index: u32,
},
}{
"set_lock_status": {
"index": 0
}
}index
number
The index of the lock setting to update
QueryMsg
GetUnlockTime
#[cw_serde]
#[derive(QueryResponses)]
pub enum QueryMsg {
#[returns(GetUnlockTimeResponse)]
GetUnlockTime {
user: Addr,
},
}{
"get_unlock_time": {
"user": "addr"
}
}user
String
The address of the user
GetUnlockTimeResponse
#[cw_serde]
pub struct GetUnlockTimeResponse {
pub unlock_time: Uint128,
}{
"unlock_time": "1000000000000000000"
}unlock_time
String
The unlock time of user
GetUserLockStatus
#[cw_serde]
#[derive(QueryResponses)]
pub enum QueryMsg {
#[returns(LockStatusResponse)]
GetUserLockStatus {
user: Addr,
},
}{
"get_user_lock_status": {
"user": "addr"
}
}user
String
The address of the user
LockStatusResponse
#[cw_serde]
pub struct LockStatusResponse {
pub unlock_time: Uint128,
pub duration: Uint128,
pub mining_boost: Uint128,
}{
"unlock_time": "1000000000000000000",
"duration": "1000000000000000000",
"mining_boost": "1000000000000000000"
}unlock_time
string
The unlock time of user
duration
string
The duration of the lock
mining_boost
string
The boost percentage
GetUserBoost
#[cw_serde]
#[derive(QueryResponses)]
pub enum QueryMsg {
#[returns(GetUserBoostResponse)]
GetUserBoost {
user: Addr,
user_updated_at: Uint128,
finish_at: Uint128,
},
}{
"get_user_boost": {
"user": "sei1...",
"user_updated_at": "1000000000000000000",
"finish_at": "1000000000000000000"
}
}user
string
The address of the user
user_updated_at
string
The last updated time of user
finish_at
string
The finish time of user
GetUserBoostResponse
#[cw_serde]
pub struct GetUserBoostResponse {
pub user_boost: Uint128,
}{
"user_boost": "1000000000000000000"
}user_boost
string
The boost percentage
GetBoostConfig
#[cw_serde]
#[derive(QueryResponses)]
pub enum QueryMsg {
#[returns(GetBoostConfigResponse)]
GetBoostConfig {},
}{
"get_boost_config": {}
}GetBoostConfigResponse
#[cw_serde]
pub struct GetBoostConfigResponse {
pub gov: Addr,
pub ve_seilor_lock_settings: Vec<VeSeilorLockSetting>,
}{
"gov": "addr",
"ve_seilor_lock_settings": [
{
"duration": "1000000000000000000",
"mining_boost": "1000000000000000000"
}
]
}gov
string
The address of the governance contract
ve_seilor_lock_settings
array
The array of the lock settings
Last updated