Skip to content

Commit

Permalink
sync with sdk 50
Browse files Browse the repository at this point in the history
  • Loading branch information
yihuang committed Mar 13, 2024
1 parent db6b46e commit 9e2aeee
Showing 1 changed file with 13 additions and 9 deletions.
22 changes: 13 additions & 9 deletions app/ante/nativefee.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
package ante

import (
"bytes"
"fmt"

"cosmossdk.io/errors"
errorsmod "cosmossdk.io/errors"

sdk "github.com/cosmos/cosmos-sdk/types"
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
"github.com/cosmos/cosmos-sdk/x/auth/ante"
"github.com/cosmos/cosmos-sdk/x/auth/types"

evmkeeper "github.com/evmos/ethermint/x/evm/keeper"
)

Expand Down Expand Up @@ -39,11 +41,11 @@ func NewDeductFeeDecorator(ak ante.AccountKeeper, bk types.BankKeeper, fk ante.F
func (dfd DeductFeeDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (sdk.Context, error) {
feeTx, ok := tx.(sdk.FeeTx)
if !ok {
return ctx, errors.Wrap(sdkerrors.ErrTxDecode, "Tx must be a FeeTx")
return ctx, errorsmod.Wrap(sdkerrors.ErrTxDecode, "Tx must be a FeeTx")

Check warning on line 44 in app/ante/nativefee.go

View check run for this annotation

Codecov / codecov/patch

app/ante/nativefee.go#L44

Added line #L44 was not covered by tests
}

if !simulate && ctx.BlockHeight() > 0 && feeTx.GetGas() == 0 {
return ctx, errors.Wrap(sdkerrors.ErrInvalidGasLimit, "must provide positive gas")
return ctx, errorsmod.Wrap(sdkerrors.ErrInvalidGasLimit, "must provide positive gas")

Check warning on line 48 in app/ante/nativefee.go

View check run for this annotation

Codecov / codecov/patch

app/ante/nativefee.go#L48

Added line #L48 was not covered by tests
}

var (
Expand All @@ -70,7 +72,7 @@ func (dfd DeductFeeDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bo
func (dfd DeductFeeDecorator) checkDeductFee(ctx sdk.Context, sdkTx sdk.Tx, fee sdk.Coins) error {
feeTx, ok := sdkTx.(sdk.FeeTx)
if !ok {
return errors.Wrap(sdkerrors.ErrTxDecode, "Tx must be a FeeTx")
return errorsmod.Wrap(sdkerrors.ErrTxDecode, "Tx must be a FeeTx")

Check warning on line 75 in app/ante/nativefee.go

View check run for this annotation

Codecov / codecov/patch

app/ante/nativefee.go#L75

Added line #L75 was not covered by tests
}

if addr := dfd.accountKeeper.GetModuleAddress(types.FeeCollectorName); addr == nil {
Expand All @@ -84,16 +86,18 @@ func (dfd DeductFeeDecorator) checkDeductFee(ctx sdk.Context, sdkTx sdk.Tx, fee
// if feegranter set deduct fee from feegranter account.
// this works with only when feegrant enabled.
if feeGranter != nil {
feeGranterAddr := sdk.AccAddress(feeGranter)

Check warning on line 90 in app/ante/nativefee.go

View check run for this annotation

Codecov / codecov/patch

app/ante/nativefee.go#L89-L90

Added lines #L89 - L90 were not covered by tests
if dfd.feegrantKeeper == nil {
return sdkerrors.ErrInvalidRequest.Wrap("fee grants are not enabled")
} else if !feeGranter.Equals(feePayer) {
err := dfd.feegrantKeeper.UseGrantedFees(ctx, feeGranter, feePayer, fee, sdkTx.GetMsgs())
} else if !bytes.Equal(feeGranterAddr, feePayer) {
err := dfd.feegrantKeeper.UseGrantedFees(ctx, feeGranterAddr, feePayer, fee, sdkTx.GetMsgs())

Check warning on line 94 in app/ante/nativefee.go

View check run for this annotation

Codecov / codecov/patch

app/ante/nativefee.go#L93-L94

Added lines #L93 - L94 were not covered by tests
if err != nil {
return errors.Wrapf(err, "%s does not allow to pay fees for %s", feeGranter, feePayer)
return errorsmod.Wrapf(err, "%s does not allow to pay fees for %s", feeGranter, feePayer)

Check warning on line 96 in app/ante/nativefee.go

View check run for this annotation

Codecov / codecov/patch

app/ante/nativefee.go#L96

Added line #L96 was not covered by tests
}
}

deductFeesFrom = feeGranter
deductFeesFrom = feeGranterAddr

Check warning on line 100 in app/ante/nativefee.go

View check run for this annotation

Codecov / codecov/patch

app/ante/nativefee.go#L100

Added line #L100 was not covered by tests
}

deductFeesFromAcc := dfd.accountKeeper.GetAccount(ctx, deductFeesFrom)
Expand All @@ -113,7 +117,7 @@ func (dfd DeductFeeDecorator) checkDeductFee(ctx sdk.Context, sdkTx sdk.Tx, fee
sdk.NewEvent(
sdk.EventTypeTx,
sdk.NewAttribute(sdk.AttributeKeyFee, fee.String()),
sdk.NewAttribute(sdk.AttributeKeyFeePayer, deductFeesFrom.String()),
sdk.NewAttribute(sdk.AttributeKeyFeePayer, sdk.AccAddress(deductFeesFrom).String()),
),
}
ctx.EventManager().EmitEvents(events)
Expand Down

0 comments on commit 9e2aeee

Please sign in to comment.