2020-09-21 21:08:43 +00:00
|
|
|
package rest
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/gorilla/mux"
|
|
|
|
|
|
|
|
"github.com/cosmos/cosmos-sdk/client/context"
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
|
|
"github.com/cosmos/cosmos-sdk/types/rest"
|
|
|
|
)
|
|
|
|
|
|
|
|
// REST variable names
|
|
|
|
// nolint
|
|
|
|
const (
|
2020-12-22 16:08:27 +00:00
|
|
|
RestOwner = "owner"
|
|
|
|
RestDenom = "deposit-denom"
|
|
|
|
RestType = "deposit-type"
|
|
|
|
RestBorrowDenom = "borrow-denom"
|
|
|
|
RestName = "name"
|
2020-09-21 21:08:43 +00:00
|
|
|
)
|
|
|
|
|
2020-12-21 17:18:55 +00:00
|
|
|
// RegisterRoutes registers hard-related REST handlers to a router
|
2020-09-21 21:08:43 +00:00
|
|
|
func RegisterRoutes(cliCtx context.CLIContext, r *mux.Router) {
|
|
|
|
registerQueryRoutes(cliCtx, r)
|
|
|
|
registerTxRoutes(cliCtx, r)
|
|
|
|
}
|
|
|
|
|
|
|
|
// PostCreateDepositReq defines the properties of a deposit create request's body
|
|
|
|
type PostCreateDepositReq struct {
|
2020-12-22 16:08:27 +00:00
|
|
|
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
|
|
|
From sdk.AccAddress `json:"from" yaml:"from"`
|
|
|
|
Amount sdk.Coins `json:"amount" yaml:"amount"`
|
2020-09-21 21:08:43 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// PostCreateWithdrawReq defines the properties of a deposit withdraw request's body
|
|
|
|
type PostCreateWithdrawReq struct {
|
2020-12-22 16:08:27 +00:00
|
|
|
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
|
|
|
From sdk.AccAddress `json:"from" yaml:"from"`
|
|
|
|
Amount sdk.Coins `json:"amount" yaml:"amount"`
|
2020-09-21 21:08:43 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// PostClaimReq defines the properties of a claim reward request's body
|
|
|
|
type PostClaimReq struct {
|
2020-12-22 16:08:27 +00:00
|
|
|
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
|
|
|
From sdk.AccAddress `json:"from" yaml:"from"`
|
|
|
|
Receiver sdk.AccAddress `json:"receiver" yaml:"receiver"`
|
|
|
|
DepositDenom string `json:"deposit_denom" yaml:"deposit_denom"`
|
|
|
|
MultiplierName string `json:"multiplier_name" yaml:"multiplier_name"`
|
|
|
|
ClaimType string `json:"claim_type" yaml:"claim_type"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// PostBorrowReq defines the properties of a borrow request's body
|
|
|
|
type PostBorrowReq struct {
|
|
|
|
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
|
|
|
From sdk.AccAddress `json:"from" yaml:"from"`
|
|
|
|
Amount sdk.Coins `json:"amount" yaml:"amount"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// PostRepayReq defines the properties of a repay request's body
|
|
|
|
type PostRepayReq struct {
|
|
|
|
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
|
|
|
From sdk.AccAddress `json:"from" yaml:"from"`
|
|
|
|
Amount sdk.Coins `json:"amount" yaml:"amount"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// PostLiquidateReq defines the properties of a liquidate request's body
|
|
|
|
type PostLiquidateReq struct {
|
|
|
|
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
|
|
|
From sdk.AccAddress `json:"from" yaml:"from"`
|
|
|
|
Borrower sdk.AccAddress `json:"borrower" yaml:"borrower"`
|
2020-09-21 21:08:43 +00:00
|
|
|
}
|