Интерфейс

Стратегические контракты удовлетворяют определенному интерфейсу, описанному ниже.

ExecuteMsg

#[cw_serde]
pub enum ExecuteMsg {
    Stake(StakeMsg),
    Unstake(UnstakeMsg),
    ExecuteEpoch(ExecuteEpochMsg),
}

#[cw_serde]
pub struct StakeMsg {}

#[cw_serde]
pub struct UnstakeMsg {
    pub amount: Uint128,
}

#[cw_serde]
pub struct ExecuteEpochMsg {}

ExecuteMsg::Stake

На ExecuteMsg::Stake, сумма ставки настроена на info.funds.

ExecuteMsg::Unstake

В ExecuteMsg::Unstake, сумма отмены ставки устанавливается как Uint128переменная в UnstakeMsg.

ExecuteMsg::ExecuteEpoch

На ExecuteMsg::ExecuteEpoch, стратегический контракт должен выполнять периодический процесс стратегии. Например, автокомпаундинг.

Это Msg вызывается yieldaggregatorмодулем периодически. Однако это Msg может быть вызвано кем угодно (потому что это не SudoMsg), поэтому стратегический контракт не должен реализовывать логику, которая может быть использована злоумышленниками.

ЗапросСообщение

QueryMsg::Bonded

QueryMsg::BondedДля запроса необходима следующая информация:

  • addr: адрес хранилища , в котором зачисляются средства на счет стратегии.

Этот запрос возвращает количество привязанных токенов адреса.

Разъединение

QueryMsg::UnbondingДля запроса необходима следующая информация:

  • addr: адрес хранилища , в котором зачисляются средства на счет стратегии.

Этот запрос возвращает количество токенов, освобождающих адрес.

QueryMsg::Fee

QueryMsg::Feeдля запроса не требуется никакой информации.

Этот запрос возвращает FeeRespобъект, содержащий информацию о сборах.

Исходные коды

Last updated