2019-11-25 19:46:02 +00:00
|
|
|
package rest
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/gorilla/mux"
|
|
|
|
|
|
|
|
"github.com/cosmos/cosmos-sdk/client/context"
|
2020-01-12 15:35:34 +00:00
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
|
|
"github.com/cosmos/cosmos-sdk/types/rest"
|
2019-11-25 19:46:02 +00:00
|
|
|
)
|
|
|
|
|
2020-09-17 00:45:10 +00:00
|
|
|
// REST Variable names
|
|
|
|
// nolint
|
|
|
|
const (
|
|
|
|
RestOwner = "owner"
|
|
|
|
RestCollateralType = "collateral-type"
|
|
|
|
RestID = "id"
|
|
|
|
RestRatio = "ratio"
|
|
|
|
)
|
|
|
|
|
2019-11-25 19:46:02 +00:00
|
|
|
// RegisterRoutes - Central function to define routes that get registered by the main application
|
|
|
|
func RegisterRoutes(cliCtx context.CLIContext, r *mux.Router) {
|
|
|
|
registerQueryRoutes(cliCtx, r)
|
|
|
|
registerTxRoutes(cliCtx, r)
|
|
|
|
}
|
2020-01-12 15:35:34 +00:00
|
|
|
|
|
|
|
// PostCdpReq defines the properties of cdp request's body.
|
|
|
|
type PostCdpReq struct {
|
2020-08-21 19:42:46 +00:00
|
|
|
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
|
|
|
Sender sdk.AccAddress `json:"sender" yaml:"sender"`
|
|
|
|
Collateral sdk.Coin `json:"collateral" yaml:"collateral"`
|
|
|
|
CollateralType string `json:"collateral_type" yaml:"collateral_type"`
|
|
|
|
Principal sdk.Coin `json:"principal" yaml:"principal"`
|
2020-01-12 15:35:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// PostDepositReq defines the properties of cdp request's body.
|
|
|
|
type PostDepositReq struct {
|
2020-08-21 19:42:46 +00:00
|
|
|
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
|
|
|
Owner sdk.AccAddress `json:"owner" yaml:"owner"`
|
|
|
|
Depositor sdk.AccAddress `json:"depositor" yaml:"depositor"`
|
|
|
|
Collateral sdk.Coin `json:"collateral" yaml:"collateral"`
|
|
|
|
CollateralType string `json:"collateral_type" yaml:"collateral_type"`
|
2020-01-12 15:35:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// PostWithdrawalReq defines the properties of cdp request's body.
|
|
|
|
type PostWithdrawalReq struct {
|
2020-08-21 19:42:46 +00:00
|
|
|
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
|
|
|
Owner sdk.AccAddress `json:"owner" yaml:"owner"`
|
|
|
|
Depositor sdk.AccAddress `json:"depositor" yaml:"depositor"`
|
|
|
|
Collateral sdk.Coin `json:"collateral" yaml:"collateral"`
|
|
|
|
CollateralType string `json:"collateral_type" yaml:"collateral_type"`
|
2020-01-12 15:35:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// PostDrawReq defines the properties of cdp request's body.
|
|
|
|
type PostDrawReq struct {
|
2020-08-21 19:42:46 +00:00
|
|
|
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
|
|
|
Owner sdk.AccAddress `json:"owner" yaml:"owner"`
|
|
|
|
CollateralType string `json:"collateral_type" yaml:"collateral_type"`
|
|
|
|
Principal sdk.Coin `json:"principal" yaml:"principal"`
|
2020-01-12 15:35:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// PostRepayReq defines the properties of cdp request's body.
|
|
|
|
type PostRepayReq struct {
|
2020-08-21 19:42:46 +00:00
|
|
|
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
|
|
|
Owner sdk.AccAddress `json:"owner" yaml:"owner"`
|
|
|
|
CollateralType string `json:"collateral_type" yaml:"collateral_type"`
|
|
|
|
Payment sdk.Coin `json:"payment" yaml:"payment"`
|
2020-01-12 15:35:34 +00:00
|
|
|
}
|
2021-01-18 19:12:37 +00:00
|
|
|
|
|
|
|
// PostLiquidateReq defines the properties of cdp liquidation request's body.
|
|
|
|
type PostLiquidateReq struct {
|
|
|
|
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
|
|
|
Owner sdk.AccAddress `json:"owner" yaml:"owner"`
|
|
|
|
CollateralType string `json:"collateral_type" yaml:"collateral_type"`
|
|
|
|
}
|