mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-12-26 00:05:18 +00:00
Hard: update REST API (#748)
* borrows, borrow, borrowed queries * update deposit, withdraw, claim rest txs * add borrow, repay, liquidate rest tx * update liquidate on handler
This commit is contained in:
parent
477b937039
commit
e9f5043c84
@ -274,7 +274,7 @@ func queryBorrowsCmd(queryRoute string, cdc *codec.Codec) *cobra.Command {
|
|||||||
page := viper.GetInt(flags.FlagPage)
|
page := viper.GetInt(flags.FlagPage)
|
||||||
limit := viper.GetInt(flags.FlagLimit)
|
limit := viper.GetInt(flags.FlagLimit)
|
||||||
|
|
||||||
params := types.NewQueryBorrowParams(page, limit, owner, depositDenom)
|
params := types.NewQueryBorrowsParams(page, limit, owner, depositDenom)
|
||||||
bz, err := cdc.MarshalJSON(params)
|
bz, err := cdc.MarshalJSON(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -350,7 +350,7 @@ func queryBorrowCmd(queryRoute string, cdc *codec.Codec) *cobra.Command {
|
|||||||
owner = borrowOwner
|
owner = borrowOwner
|
||||||
}
|
}
|
||||||
|
|
||||||
params := types.NewQueryBorrow(owner)
|
params := types.NewQueryBorrowParams(owner)
|
||||||
bz, err := cdc.MarshalJSON(params)
|
bz, err := cdc.MarshalJSON(params)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -19,6 +19,9 @@ func registerQueryRoutes(cliCtx context.CLIContext, r *mux.Router) {
|
|||||||
r.HandleFunc(fmt.Sprintf("/%s/deposits", types.ModuleName), queryDepositsHandlerFn(cliCtx)).Methods("GET")
|
r.HandleFunc(fmt.Sprintf("/%s/deposits", types.ModuleName), queryDepositsHandlerFn(cliCtx)).Methods("GET")
|
||||||
r.HandleFunc(fmt.Sprintf("/%s/claims", types.ModuleName), queryClaimsHandlerFn(cliCtx)).Methods("GET")
|
r.HandleFunc(fmt.Sprintf("/%s/claims", types.ModuleName), queryClaimsHandlerFn(cliCtx)).Methods("GET")
|
||||||
r.HandleFunc(fmt.Sprintf("/%s/accounts", types.ModuleName), queryModAccountsHandlerFn(cliCtx)).Methods("GET")
|
r.HandleFunc(fmt.Sprintf("/%s/accounts", types.ModuleName), queryModAccountsHandlerFn(cliCtx)).Methods("GET")
|
||||||
|
r.HandleFunc(fmt.Sprintf("/%s/borrows", types.ModuleName), queryBorrowsHandlerFn(cliCtx)).Methods("GET")
|
||||||
|
r.HandleFunc(fmt.Sprintf("/%s/borrow", types.ModuleName), queryBorrowHandlerFn(cliCtx)).Methods("GET")
|
||||||
|
r.HandleFunc(fmt.Sprintf("/%s/borrowed", types.ModuleName), queryBorrowedHandlerFn(cliCtx)).Methods("GET")
|
||||||
}
|
}
|
||||||
|
|
||||||
func queryParamsHandlerFn(cliCtx context.CLIContext) http.HandlerFunc {
|
func queryParamsHandlerFn(cliCtx context.CLIContext) http.HandlerFunc {
|
||||||
@ -148,6 +151,135 @@ func queryClaimsHandlerFn(cliCtx context.CLIContext) http.HandlerFunc {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func queryBorrowsHandlerFn(cliCtx context.CLIContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
_, page, limit, err := rest.ParseHTTPArgsWithLimit(r, 0)
|
||||||
|
if err != nil {
|
||||||
|
rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// Parse the query height
|
||||||
|
cliCtx, ok := rest.ParseQueryHeightOrReturnBadRequest(w, cliCtx, r)
|
||||||
|
if !ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var borrowDenom string
|
||||||
|
var borrowOwner sdk.AccAddress
|
||||||
|
|
||||||
|
if x := r.URL.Query().Get(RestBorrowDenom); len(x) != 0 {
|
||||||
|
borrowDenom = strings.TrimSpace(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
if x := r.URL.Query().Get(RestOwner); len(x) != 0 {
|
||||||
|
borrowOwnerStr := strings.ToLower(strings.TrimSpace(x))
|
||||||
|
borrowOwner, err = sdk.AccAddressFromBech32(borrowOwnerStr)
|
||||||
|
if err != nil {
|
||||||
|
rest.WriteErrorResponse(w, http.StatusBadRequest, fmt.Sprintf("cannot parse address from borrow owner %s", borrowOwnerStr))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
params := types.NewQueryBorrowsParams(page, limit, borrowOwner, borrowDenom)
|
||||||
|
|
||||||
|
bz, err := cliCtx.Codec.MarshalJSON(params)
|
||||||
|
if err != nil {
|
||||||
|
rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
route := fmt.Sprintf("custom/%s/%s", types.ModuleName, types.QueryGetBorrows)
|
||||||
|
res, height, err := cliCtx.QueryWithData(route, bz)
|
||||||
|
cliCtx = cliCtx.WithHeight(height)
|
||||||
|
if err != nil {
|
||||||
|
rest.WriteErrorResponse(w, http.StatusInternalServerError, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
rest.PostProcessResponse(w, cliCtx, res)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func queryBorrowHandlerFn(cliCtx context.CLIContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
_, _, _, err := rest.ParseHTTPArgsWithLimit(r, 0)
|
||||||
|
if err != nil {
|
||||||
|
rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// Parse the query height
|
||||||
|
cliCtx, ok := rest.ParseQueryHeightOrReturnBadRequest(w, cliCtx, r)
|
||||||
|
if !ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var borrowOwner sdk.AccAddress
|
||||||
|
|
||||||
|
if x := r.URL.Query().Get(RestOwner); len(x) != 0 {
|
||||||
|
borrowOwnerStr := strings.ToLower(strings.TrimSpace(x))
|
||||||
|
borrowOwner, err = sdk.AccAddressFromBech32(borrowOwnerStr)
|
||||||
|
if err != nil {
|
||||||
|
rest.WriteErrorResponse(w, http.StatusBadRequest, fmt.Sprintf("cannot parse address from borrow owner %s", borrowOwnerStr))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
params := types.NewQueryBorrowParams(borrowOwner)
|
||||||
|
|
||||||
|
bz, err := cliCtx.Codec.MarshalJSON(params)
|
||||||
|
if err != nil {
|
||||||
|
rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
route := fmt.Sprintf("custom/%s/%s", types.ModuleName, types.QueryGetBorrow)
|
||||||
|
res, height, err := cliCtx.QueryWithData(route, bz)
|
||||||
|
cliCtx = cliCtx.WithHeight(height)
|
||||||
|
if err != nil {
|
||||||
|
rest.WriteErrorResponse(w, http.StatusInternalServerError, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
rest.PostProcessResponse(w, cliCtx, res)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func queryBorrowedHandlerFn(cliCtx context.CLIContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
_, _, _, err := rest.ParseHTTPArgsWithLimit(r, 0)
|
||||||
|
if err != nil {
|
||||||
|
rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
// Parse the query height
|
||||||
|
cliCtx, ok := rest.ParseQueryHeightOrReturnBadRequest(w, cliCtx, r)
|
||||||
|
if !ok {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var borrowDenom string
|
||||||
|
|
||||||
|
if x := r.URL.Query().Get(RestBorrowDenom); len(x) != 0 {
|
||||||
|
borrowDenom = strings.TrimSpace(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
params := types.NewQueryBorrowedParams(borrowDenom)
|
||||||
|
|
||||||
|
bz, err := cliCtx.Codec.MarshalJSON(params)
|
||||||
|
if err != nil {
|
||||||
|
rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
route := fmt.Sprintf("custom/%s/%s", types.ModuleName, types.QueryGetBorrowed)
|
||||||
|
res, height, err := cliCtx.QueryWithData(route, bz)
|
||||||
|
cliCtx = cliCtx.WithHeight(height)
|
||||||
|
if err != nil {
|
||||||
|
rest.WriteErrorResponse(w, http.StatusInternalServerError, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
rest.PostProcessResponse(w, cliCtx, res)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func queryModAccountsHandlerFn(cliCtx context.CLIContext) http.HandlerFunc {
|
func queryModAccountsHandlerFn(cliCtx context.CLIContext) http.HandlerFunc {
|
||||||
return func(w http.ResponseWriter, r *http.Request) {
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
_, page, limit, err := rest.ParseHTTPArgsWithLimit(r, 0)
|
_, page, limit, err := rest.ParseHTTPArgsWithLimit(r, 0)
|
||||||
|
@ -11,10 +11,11 @@ import (
|
|||||||
// REST variable names
|
// REST variable names
|
||||||
// nolint
|
// nolint
|
||||||
const (
|
const (
|
||||||
RestOwner = "owner"
|
RestOwner = "owner"
|
||||||
RestDenom = "deposit-denom"
|
RestDenom = "deposit-denom"
|
||||||
RestType = "deposit-type"
|
RestType = "deposit-type"
|
||||||
RestName = "name"
|
RestBorrowDenom = "borrow-denom"
|
||||||
|
RestName = "name"
|
||||||
)
|
)
|
||||||
|
|
||||||
// RegisterRoutes registers hard-related REST handlers to a router
|
// RegisterRoutes registers hard-related REST handlers to a router
|
||||||
@ -25,26 +26,45 @@ func RegisterRoutes(cliCtx context.CLIContext, r *mux.Router) {
|
|||||||
|
|
||||||
// PostCreateDepositReq defines the properties of a deposit create request's body
|
// PostCreateDepositReq defines the properties of a deposit create request's body
|
||||||
type PostCreateDepositReq struct {
|
type PostCreateDepositReq struct {
|
||||||
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
||||||
From sdk.AccAddress `json:"from" yaml:"from"`
|
From sdk.AccAddress `json:"from" yaml:"from"`
|
||||||
Amount sdk.Coins `json:"amount" yaml:"amount"`
|
Amount sdk.Coins `json:"amount" yaml:"amount"`
|
||||||
DepositType string `json:"deposit_type" yaml:"deposit_type"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// PostCreateWithdrawReq defines the properties of a deposit withdraw request's body
|
// PostCreateWithdrawReq defines the properties of a deposit withdraw request's body
|
||||||
type PostCreateWithdrawReq struct {
|
type PostCreateWithdrawReq struct {
|
||||||
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
||||||
From sdk.AccAddress `json:"from" yaml:"from"`
|
From sdk.AccAddress `json:"from" yaml:"from"`
|
||||||
Amount sdk.Coins `json:"amount" yaml:"amount"`
|
Amount sdk.Coins `json:"amount" yaml:"amount"`
|
||||||
DepositType string `json:"deposit_type" yaml:"deposit_type"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// PostClaimReq defines the properties of a claim reward request's body
|
// PostClaimReq defines the properties of a claim reward request's body
|
||||||
type PostClaimReq struct {
|
type PostClaimReq struct {
|
||||||
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
BaseReq rest.BaseReq `json:"base_req" yaml:"base_req"`
|
||||||
From sdk.AccAddress `json:"from" yaml:"from"`
|
From sdk.AccAddress `json:"from" yaml:"from"`
|
||||||
Receiver sdk.AccAddress `json:"receiver" yaml:"receiver"`
|
Receiver sdk.AccAddress `json:"receiver" yaml:"receiver"`
|
||||||
DepositDenom string `json:"deposit_denom" yaml:"deposit_denom"`
|
DepositDenom string `json:"deposit_denom" yaml:"deposit_denom"`
|
||||||
DepositType string `json:"deposit_type" yaml:"deposit_type"`
|
MultiplierName string `json:"multiplier_name" yaml:"multiplier_name"`
|
||||||
Multiplier string `json:"multiplier" yaml:"multiplier"`
|
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"`
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,9 @@ func registerTxRoutes(cliCtx context.CLIContext, r *mux.Router) {
|
|||||||
r.HandleFunc(fmt.Sprintf("/%s/deposit", types.ModuleName), postDepositHandlerFn(cliCtx)).Methods("POST")
|
r.HandleFunc(fmt.Sprintf("/%s/deposit", types.ModuleName), postDepositHandlerFn(cliCtx)).Methods("POST")
|
||||||
r.HandleFunc(fmt.Sprintf("/%s/withdraw", types.ModuleName), postWithdrawHandlerFn(cliCtx)).Methods("POST")
|
r.HandleFunc(fmt.Sprintf("/%s/withdraw", types.ModuleName), postWithdrawHandlerFn(cliCtx)).Methods("POST")
|
||||||
r.HandleFunc(fmt.Sprintf("/%s/claim", types.ModuleName), postClaimHandlerFn(cliCtx)).Methods("POST")
|
r.HandleFunc(fmt.Sprintf("/%s/claim", types.ModuleName), postClaimHandlerFn(cliCtx)).Methods("POST")
|
||||||
|
r.HandleFunc(fmt.Sprintf("/%s/borrow", types.ModuleName), postBorrowHandlerFn(cliCtx)).Methods("POST")
|
||||||
|
r.HandleFunc(fmt.Sprintf("/%s/repay", types.ModuleName), postRepayHandlerFn(cliCtx)).Methods("POST")
|
||||||
|
r.HandleFunc(fmt.Sprintf("/%s/liquidate", types.ModuleName), postLiquidateHandlerFn(cliCtx)).Methods("POST")
|
||||||
}
|
}
|
||||||
|
|
||||||
func postDepositHandlerFn(cliCtx context.CLIContext) http.HandlerFunc {
|
func postDepositHandlerFn(cliCtx context.CLIContext) http.HandlerFunc {
|
||||||
@ -75,7 +78,70 @@ func postClaimHandlerFn(cliCtx context.CLIContext) http.HandlerFunc {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
msg := types.NewMsgClaimReward(req.From, req.Receiver, req.DepositDenom, strings.ToLower(req.DepositType), req.Multiplier)
|
msg := types.NewMsgClaimReward(req.From, req.Receiver, req.DepositDenom, strings.ToLower(req.ClaimType), req.MultiplierName)
|
||||||
|
if err := msg.ValidateBasic(); err != nil {
|
||||||
|
rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
utils.WriteGenerateStdTxResponse(w, cliCtx, req.BaseReq, []sdk.Msg{msg})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func postBorrowHandlerFn(cliCtx context.CLIContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
// Decode POST request body
|
||||||
|
var req PostBorrowReq
|
||||||
|
if !rest.ReadRESTReq(w, r, cliCtx.Codec, &req) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
req.BaseReq = req.BaseReq.Sanitize()
|
||||||
|
if !req.BaseReq.ValidateBasic(w) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
msg := types.NewMsgBorrow(req.From, req.Amount)
|
||||||
|
if err := msg.ValidateBasic(); err != nil {
|
||||||
|
rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
utils.WriteGenerateStdTxResponse(w, cliCtx, req.BaseReq, []sdk.Msg{msg})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func postRepayHandlerFn(cliCtx context.CLIContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
// Decode POST request body
|
||||||
|
var req PostRepayReq
|
||||||
|
if !rest.ReadRESTReq(w, r, cliCtx.Codec, &req) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
req.BaseReq = req.BaseReq.Sanitize()
|
||||||
|
if !req.BaseReq.ValidateBasic(w) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
msg := types.NewMsgRepay(req.From, req.Amount)
|
||||||
|
if err := msg.ValidateBasic(); err != nil {
|
||||||
|
rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
utils.WriteGenerateStdTxResponse(w, cliCtx, req.BaseReq, []sdk.Msg{msg})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func postLiquidateHandlerFn(cliCtx context.CLIContext) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
// Decode POST request body
|
||||||
|
var req PostLiquidateReq
|
||||||
|
if !rest.ReadRESTReq(w, r, cliCtx.Codec, &req) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
req.BaseReq = req.BaseReq.Sanitize()
|
||||||
|
if !req.BaseReq.ValidateBasic(w) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
msg := types.NewMsgLiquidate(req.From, req.Borrower)
|
||||||
if err := msg.ValidateBasic(); err != nil {
|
if err := msg.ValidateBasic(); err != nil {
|
||||||
rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error())
|
rest.WriteErrorResponse(w, http.StatusBadRequest, err.Error())
|
||||||
return
|
return
|
||||||
|
@ -25,6 +25,8 @@ func NewHandler(k Keeper) sdk.Handler {
|
|||||||
return handleMsgBorrow(ctx, k, msg)
|
return handleMsgBorrow(ctx, k, msg)
|
||||||
case types.MsgRepay:
|
case types.MsgRepay:
|
||||||
return handleMsgRepay(ctx, k, msg)
|
return handleMsgRepay(ctx, k, msg)
|
||||||
|
case types.MsgLiquidate:
|
||||||
|
return handleMsgLiquidate(ctx, k, msg)
|
||||||
default:
|
default:
|
||||||
return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "unrecognized %s message type: %T", ModuleName, msg)
|
return nil, sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "unrecognized %s message type: %T", ModuleName, msg)
|
||||||
}
|
}
|
||||||
@ -120,3 +122,21 @@ func handleMsgRepay(ctx sdk.Context, k keeper.Keeper, msg types.MsgRepay) (*sdk.
|
|||||||
Events: ctx.EventManager().Events(),
|
Events: ctx.EventManager().Events(),
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func handleMsgLiquidate(ctx sdk.Context, k keeper.Keeper, msg types.MsgLiquidate) (*sdk.Result, error) {
|
||||||
|
_, err := k.AttemptKeeperLiquidation(ctx, msg.Keeper, msg.Borrower)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
ctx.EventManager().EmitEvent(
|
||||||
|
sdk.NewEvent(
|
||||||
|
sdk.EventTypeMessage,
|
||||||
|
sdk.NewAttribute(sdk.AttributeKeyModule, types.AttributeValueCategory),
|
||||||
|
sdk.NewAttribute(sdk.AttributeKeySender, msg.Keeper.String()),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
return &sdk.Result{
|
||||||
|
Events: ctx.EventManager().Events(),
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
@ -240,7 +240,7 @@ func queryGetClaims(ctx sdk.Context, req abci.RequestQuery, k Keeper) ([]byte, e
|
|||||||
|
|
||||||
func queryGetBorrows(ctx sdk.Context, req abci.RequestQuery, k Keeper) ([]byte, error) {
|
func queryGetBorrows(ctx sdk.Context, req abci.RequestQuery, k Keeper) ([]byte, error) {
|
||||||
|
|
||||||
var params types.QueryBorrowParams
|
var params types.QueryBorrowsParams
|
||||||
err := types.ModuleCdc.UnmarshalJSON(req.Data, ¶ms)
|
err := types.ModuleCdc.UnmarshalJSON(req.Data, ¶ms)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error())
|
return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error())
|
||||||
@ -297,7 +297,7 @@ func queryGetBorrowed(ctx sdk.Context, req abci.RequestQuery, k Keeper) ([]byte,
|
|||||||
}
|
}
|
||||||
|
|
||||||
func queryGetBorrow(ctx sdk.Context, req abci.RequestQuery, k Keeper) ([]byte, error) {
|
func queryGetBorrow(ctx sdk.Context, req abci.RequestQuery, k Keeper) ([]byte, error) {
|
||||||
var params types.QueryBorrowParams
|
var params types.QueryBorrowsParams
|
||||||
err := types.ModuleCdc.UnmarshalJSON(req.Data, ¶ms)
|
err := types.ModuleCdc.UnmarshalJSON(req.Data, ¶ms)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error())
|
return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error())
|
||||||
|
@ -53,6 +53,8 @@ var (
|
|||||||
_ sdk.Msg = &MsgDeposit{}
|
_ sdk.Msg = &MsgDeposit{}
|
||||||
_ sdk.Msg = &MsgWithdraw{}
|
_ sdk.Msg = &MsgWithdraw{}
|
||||||
_ sdk.Msg = &MsgBorrow{}
|
_ sdk.Msg = &MsgBorrow{}
|
||||||
|
_ sdk.Msg = &MsgRepay{}
|
||||||
|
_ sdk.Msg = &MsgLiquidate{}
|
||||||
)
|
)
|
||||||
|
|
||||||
// MsgDeposit deposit collateral to the hard module.
|
// MsgDeposit deposit collateral to the hard module.
|
||||||
|
@ -69,21 +69,21 @@ func NewQueryAccountParams(page, limit int, name string) QueryAccountParams {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// QueryBorrowParams is the params for a filtered borrow query
|
// QueryBorrowsParams is the params for a filtered borrows query
|
||||||
type QueryBorrowParams struct {
|
type QueryBorrowsParams struct {
|
||||||
Page int `json:"page" yaml:"page"`
|
Page int `json:"page" yaml:"page"`
|
||||||
Limit int `json:"limit" yaml:"limit"`
|
Limit int `json:"limit" yaml:"limit"`
|
||||||
Owner sdk.AccAddress `json:"owner" yaml:"owner"`
|
Owner sdk.AccAddress `json:"owner" yaml:"owner"`
|
||||||
BorrowDenom string `json:"borrow_denom" yaml:"borrow_denom"`
|
BorrowDenom string `json:"borrow_denom" yaml:"borrow_denom"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewQueryBorrowParams creates a new QueryBorrowParams
|
// NewQueryBorrowsParams creates a new QueryBorrowsParams
|
||||||
func NewQueryBorrowParams(page, limit int, owner sdk.AccAddress, depositDenom string) QueryBorrowParams {
|
func NewQueryBorrowsParams(page, limit int, owner sdk.AccAddress, borrowDenom string) QueryBorrowsParams {
|
||||||
return QueryBorrowParams{
|
return QueryBorrowsParams{
|
||||||
Page: page,
|
Page: page,
|
||||||
Limit: limit,
|
Limit: limit,
|
||||||
Owner: owner,
|
Owner: owner,
|
||||||
BorrowDenom: depositDenom,
|
BorrowDenom: borrowDenom,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,14 +99,14 @@ func NewQueryBorrowedParams(denom string) QueryBorrowedParams {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// QueryBorrow is the params for a current borrow balance query
|
// QueryBorrowParams is the params for a current borrow balance query
|
||||||
type QueryBorrow struct {
|
type QueryBorrowParams struct {
|
||||||
Owner sdk.AccAddress `json:"owner" yaml:"owner"`
|
Owner sdk.AccAddress `json:"owner" yaml:"owner"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewQueryBorrow creates a new QueryBorrow
|
// NewQueryBorrowParams creates a new QueryBorrowParams
|
||||||
func NewQueryBorrow(owner sdk.AccAddress) QueryBorrow {
|
func NewQueryBorrowParams(owner sdk.AccAddress) QueryBorrowParams {
|
||||||
return QueryBorrow{
|
return QueryBorrowParams{
|
||||||
Owner: owner,
|
Owner: owner,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user