Skip to content

Commit

Permalink
chore: Remove irrelevant features
Browse files Browse the repository at this point in the history
  • Loading branch information
sheldonleedev committed Apr 18, 2024
1 parent 7cc9362 commit bf84672
Show file tree
Hide file tree
Showing 7 changed files with 88 additions and 258 deletions.
11 changes: 9 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,18 @@ Ref: https://keepachangelog.com/en/1.0.0/

# Changelog

## [Unreleased]
## [v0.22.0-lorenzo-2]

### State Machine Breaking

- (deps) [\#19](https://github.com/bianjieai/ethermint/pull/19) Bump Cosmos-SDK to v0.47.3, Tendermint to CometBFT v0.37.1
- (deps) chore: Remove irrelevant features


## [v0.22.0-lorenzo-1]

### State Machine Breaking

- (deps) Bump Cosmos-SDK to v0.47.3, Tendermint to CometBFT v0.37.1

## [v0.22.0] - 2023-04-12

Expand Down
64 changes: 17 additions & 47 deletions app/ante/eth.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,41 +81,21 @@ func (avd EthAccountVerificationDecorator) AnteHandle(
return ctx, errorsmod.Wrap(errortypes.ErrInvalidAddress, "from address cannot be empty")
}

feePayer := msgEthTx.GetFeePayer()
if !feePayer.Empty() {
feePayerAddr := common.BytesToAddress(feePayer)
feePayerAcct := avd.evmKeeper.GetAccount(ctx, feePayerAddr)

if feePayerAcct == nil {
feePayerAcc := avd.ak.NewAccountWithAddress(ctx, feePayer)
avd.ak.SetAccount(ctx, feePayerAcc)
feePayerAcct = statedb.NewEmptyAccount()
} else if feePayerAcct.IsContract() {
return ctx, errorsmod.Wrapf(errortypes.ErrInvalidType,
"the sender's feePayer is not EOA: address %s, codeHash <%s>",
feePayerAddr, feePayerAcct.CodeHash)
}

if err := keeper.CheckSenderBalance(sdk.NewIntFromBigInt(feePayerAcct.Balance), txData); err != nil {
return ctx, errorsmod.Wrap(err, "failed to check feePayer balance")
}
} else {
// check whether the sender address is EOA
fromAddr := common.BytesToAddress(from)
acct := avd.evmKeeper.GetAccount(ctx, fromAddr)

if acct == nil {
acc := avd.ak.NewAccountWithAddress(ctx, from)
avd.ak.SetAccount(ctx, acc)
acct = statedb.NewEmptyAccount()
} else if acct.IsContract() {
return ctx, errorsmod.Wrapf(errortypes.ErrInvalidType,
"the sender is not EOA: address %s, codeHash <%s>", fromAddr, acct.CodeHash)
}
// check whether the sender address is EOA
fromAddr := common.BytesToAddress(from)
acct := avd.evmKeeper.GetAccount(ctx, fromAddr)

if acct == nil {
acc := avd.ak.NewAccountWithAddress(ctx, from)
avd.ak.SetAccount(ctx, acc)
acct = statedb.NewEmptyAccount()
} else if acct.IsContract() {
return ctx, errorsmod.Wrapf(errortypes.ErrInvalidType,
"the sender is not EOA: address %s, codeHash <%s>", fromAddr, acct.CodeHash)
}

if err := keeper.CheckSenderBalance(sdkmath.NewIntFromBigInt(acct.Balance), txData); err != nil {
return ctx, errorsmod.Wrap(err, "failed to check sender balance")
}
if err := keeper.CheckSenderBalance(sdkmath.NewIntFromBigInt(acct.Balance), txData); err != nil {
return ctx, errorsmod.Wrap(err, "failed to check sender balance")
}
}
return next(ctx, tx, simulate)
Expand Down Expand Up @@ -211,19 +191,9 @@ func (egcd EthGasConsumeDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simula
return ctx, errorsmod.Wrapf(err, "failed to verify the fees")
}

// if fee payer is set, deduct the fees from the fee payer account
// else deduct the fees from the sender account
feePayer := msgEthTx.GetFeePayer()
if !feePayer.Empty() {
err = egcd.evmKeeper.DeductTxCostsFromUserBalance(ctx, fees, common.HexToAddress(msgEthTx.FeePayer))
if err != nil {
return ctx, errorsmod.Wrapf(err, "failed to deduct transaction costs from user balance")
}
} else {
err = egcd.evmKeeper.DeductTxCostsFromUserBalance(ctx, fees, common.HexToAddress(msgEthTx.From))
if err != nil {
return ctx, errorsmod.Wrapf(err, "failed to deduct transaction costs from user balance")
}
err = egcd.evmKeeper.DeductTxCostsFromUserBalance(ctx, fees, common.HexToAddress(msgEthTx.From))
if err != nil {
return ctx, errorsmod.Wrapf(err, "failed to deduct transaction costs from user balance")
}

events = append(events,
Expand Down
70 changes: 0 additions & 70 deletions app/ante/feegrant.go

This file was deleted.

3 changes: 0 additions & 3 deletions proto/ethermint/evm/v1/tx.proto
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,6 @@ message MsgEthereumTx {
// against the address derived from the signature (V, R, S) using the
// secp256k1 elliptic curve
string from = 4;

// support EVM transaction can use feegrant
string fee_payer = 5;
}

// LegacyTx is the transaction data of regular Ethereum transactions.
Expand Down
13 changes: 0 additions & 13 deletions x/evm/client/cli/tx.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@ import (
"fmt"
"os"

"github.com/ethereum/go-ethereum/common"

"github.com/cosmos/cosmos-sdk/client"
"github.com/cosmos/cosmos-sdk/client/flags"
"github.com/cosmos/cosmos-sdk/client/input"
Expand Down Expand Up @@ -79,17 +77,6 @@ func NewRawTxCmd() *cobra.Command {
return err
}

feePayerAddr, err := cmd.Flags().GetString(flagEVMPayer)
if err != nil {
return err
}
if len(feePayerAddr) > 0 {
if !common.IsHexAddress(feePayerAddr) {
return errors.New("feePayerAddr must be hex address")
}
msg.SetFeePayer(feePayerAddr)
}

tx, err := msg.BuildTx(clientCtx.TxConfig.NewTxBuilder(), rsp.Params.EvmDenom)
if err != nil {
return err
Expand Down
15 changes: 0 additions & 15 deletions x/evm/types/msg.go
Original file line number Diff line number Diff line change
Expand Up @@ -314,21 +314,6 @@ func (msg *MsgEthereumTx) GetFrom() sdk.AccAddress {
return common.HexToAddress(msg.From).Bytes()
}

// GetFeePayer loads the ethereum sender address from the sigcache and returns an
// sdk.AccAddress from its bytes
func (msg *MsgEthereumTx) GetFeePayer() sdk.AccAddress {
if msg.FeePayer == "" {
return nil
}

return common.HexToAddress(msg.FeePayer).Bytes()
}

// SetFeePayer sets the fee payer address
func (msg *MsgEthereumTx) SetFeePayer(feePayer string) {
msg.FeePayer = feePayer
}

// AsTransaction creates an Ethereum Transaction type from the msg fields
func (msg MsgEthereumTx) AsTransaction() *ethtypes.Transaction {
txData, err := UnpackTxData(msg.Data)
Expand Down
Loading

0 comments on commit bf84672

Please sign in to comment.