0g-chain/x/harvest/spec/03_messages.md
Denali Marsh df2c4271e4
Harvest: refactor deposit type to claim type (#716)
* status: refactor deposit type to claim type

* refactor all deposit types to claim types

* refactor msg withdraw

* update module errors

* refactor querier and rest

* update spec

* update tests

* update handler, alias

* refactor to IterateDepositsByDenom

* v0_12 legacy types

* fix build
2020-11-12 17:43:28 +01:00

1.2 KiB

Messages

There are three messages in the harvest module. Deposit allows users to deposit assets to the harvest module. In version 2, depositors will be able to use their deposits as collateral to borrow from harvest. Withdraw removes assets from the harvest module, returning them to the user. Claim allows users to claim earned HARD tokens.

// MsgDeposit deposit asset to the harvest module.
type MsgDeposit struct {
  Depositor   sdk.AccAddress `json:"depositor" yaml:"depositor"`
  Amount      sdk.Coin       `json:"amount" yaml:"amount"`
}

// MsgWithdraw withdraw from the harvest module.
type MsgWithdraw struct {
  Depositor   sdk.AccAddress `json:"depositor" yaml:"depositor"`
  Amount      sdk.Coin       `json:"amount" yaml:"amount"`
}

// MsgClaimReward message type used to claim HARD tokens
type MsgClaimReward struct {
  Sender           sdk.AccAddress `json:"sender" yaml:"sender"`
  Receiver         sdk.AccAddress `json:"receiver" yaml:"receiver"`
  DepositDenom     string         `json:"deposit_denom" yaml:"deposit_denom"`
  RewardMultiplier string         `json:"reward_multiplier" yaml:"reward_multiplier"`
  DepositType      string         `json:"deposit_type" yaml:"deposit_type"`
}