Skip to content

Commit

Permalink
check cointypeid and address
Browse files Browse the repository at this point in the history
  • Loading branch information
Geapefurit committed Oct 16, 2024
1 parent 4f87bbd commit e1197fd
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
15 changes: 14 additions & 1 deletion pkg/powerrental/basecreate.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import (
feeordermwpb "github.com/NpoolPlatform/message/npool/order/mw/v1/fee"
paymentmwpb "github.com/NpoolPlatform/message/npool/order/mw/v1/payment"
powerrentalordermwpb "github.com/NpoolPlatform/message/npool/order/mw/v1/powerrental"
"github.com/NpoolPlatform/order-gateway/pkg/common"
ordergwcommon "github.com/NpoolPlatform/order-gateway/pkg/common"
constant "github.com/NpoolPlatform/order-gateway/pkg/const"
ordercommon "github.com/NpoolPlatform/order-gateway/pkg/order/common"
Expand Down Expand Up @@ -463,6 +464,11 @@ func (h *baseCreateHandler) formalizePayment() {
}

func (h *baseCreateHandler) formalizeOrderBenefitReqs(ctx context.Context) error {
if h.appPowerRental.StockMode != goodtypes.GoodStockMode_GoodStockByMiningPool {
h.OrderBenefitAccounts = nil
return nil
}

for _, req := range h.OrderBenefitAccounts {
err := h.formalizeOrderBenefitReq(ctx, req)
if err != nil {
Expand Down Expand Up @@ -546,7 +552,7 @@ func (h *baseCreateHandler) formalizeOrderBenefitReq(ctx context.Context, req *p
}

// validate after getGoodCoins and formalizeOrderBenefitReqs
func (h *baseCreateHandler) validateOrderBenefitReqs() error {
func (h *baseCreateHandler) validateOrderBenefitReqs(ctx context.Context) error {
if h.appPowerRental.StockMode != goodtypes.GoodStockMode_GoodStockByMiningPool {
return nil
}
Expand All @@ -567,6 +573,10 @@ func (h *baseCreateHandler) validateOrderBenefitReqs() error {
if _, ok := coinTypeIDs[*req.CoinTypeID]; !ok {
return wlog.Errorf("good coins and order benefit accounts do not match")
}

if err := common.CheckAddress(ctx, *req.CoinTypeID, *req.Address); err != nil {

Check failure on line 577 in pkg/powerrental/basecreate.go

View workflow job for this annotation

GitHub Actions / test-cache

undefined: "github.com/NpoolPlatform/order-gateway/pkg/common".CheckAddress

Check failure on line 577 in pkg/powerrental/basecreate.go

View workflow job for this annotation

GitHub Actions / test (1.17.x, ubuntu-latest)

undefined: "github.com/NpoolPlatform/order-gateway/pkg/common".CheckAddress

Check failure on line 577 in pkg/powerrental/basecreate.go

View workflow job for this annotation

GitHub Actions / test (1.17.x, macos-latest)

undefined: "github.com/NpoolPlatform/order-gateway/pkg/common".CheckAddress

Check failure on line 577 in pkg/powerrental/basecreate.go

View workflow job for this annotation

GitHub Actions / test (1.18.x, ubuntu-latest)

undefined: common.CheckAddress

Check failure on line 577 in pkg/powerrental/basecreate.go

View workflow job for this annotation

GitHub Actions / test (1.18.x, macos-latest)

undefined: common.CheckAddress
return wlog.WrapError(err)
}
}
return nil
}
Expand Down Expand Up @@ -597,6 +607,9 @@ func (h *baseCreateHandler) constructOrderBenefitReqs() {
}

func (h *baseCreateHandler) withCreateOrderBenefits(dispose *dtmcli.SagaDispose) {
if len(h.orderBenefitReqs) == 0 {
return
}
dispose.Add(
accountmwsvcname.ServiceDomain,
"account.middleware.orderbenefit.v1.Middleware/CreateAccounts",
Expand Down
2 changes: 1 addition & 1 deletion pkg/powerrental/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ func (h *Handler) CreatePowerRentalOrder(ctx context.Context) (*npool.PowerRenta
if err := handler.formalizeOrderBenefitReqs(ctx); err != nil {
return nil, wlog.WrapError(err)
}
if err := handler.validateOrderBenefitReqs(); err != nil {
if err := handler.validateOrderBenefitReqs(ctx); err != nil {
return nil, wlog.WrapError(err)
}
if err := handler.validatePowerRentalGoodState(); err != nil {
Expand Down

0 comments on commit e1197fd

Please sign in to comment.