Skip to content

Commit d2cab8a

Browse files
imp(all): Bump to latest state on Evmos main (0402a01c) (#69)
1 parent e95afb0 commit d2cab8a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+2580
-444
lines changed

.github/workflows/bsr-push.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ubuntu-latest
1414
steps:
1515
- uses: actions/checkout@v4
16-
- uses: bufbuild/buf-setup-action@v1.47.2
16+
- uses: bufbuild/buf-setup-action@v1.50.0
1717
# Push evmOS protos to the Buf Schema Registry
1818
- uses: bufbuild/[email protected]
1919
with:

.github/workflows/lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
go.mod
2727
go.sum
2828
*.toml
29-
- uses: golangci/golangci-lint-action@v6.1.1
29+
- uses: golangci/golangci-lint-action@v6.2.0
3030
with:
3131
# Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version.
3232
version: latest

.github/workflows/proto.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
timeout-minutes: 5
3333
steps:
3434
- uses: actions/checkout@v4
35-
- uses: bufbuild/buf-setup-action@v1.47.2
35+
- uses: bufbuild/buf-setup-action@v1.50.0
3636
- uses: bufbuild/buf-lint-action@v1
3737
with:
3838
input: "proto"
@@ -41,7 +41,7 @@ jobs:
4141
runs-on: ubuntu-latest
4242
steps:
4343
- uses: actions/checkout@v4
44-
- uses: bufbuild/buf-setup-action@v1.47.2
44+
- uses: bufbuild/buf-setup-action@v1.50.0
4545
- uses: bufbuild/buf-breaking-action@v1
4646
with:
4747
input: "proto"

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
This changelog was created using the `clu` binary
33
(https://github.com/MalteHerrmann/changelog-utils).
44
-->
5-
65
# Changelog
76

87
## Unreleased
98

109
### Improvements
1110

11+
- (all) [#69](https://github.com/evmos/os/pull/69) Bump to latest state on Evmos main (0402a01c).
1212
- (erc20) [#57](https://github.com/evmos/os/pull/57) Reference EIP-7528 (native asset address) in default ERC-20 params.
1313
- (all) [#60](https://github.com/evmos/os/pull/60) Apply latest changes from Evmos repo (f943af3b to b72a32d76).
1414
- (cli) [#55](https://github.com/evmos/os/pull/55) Add missing list key types subcommand.

ante/evm/06_account_verification_test.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ func (suite *EvmAnteTestSuite) TestVerifyAccountBalance() {
2121
keyring := testkeyring.New(2)
2222
unitNetwork := network.NewUnitTestNetwork(
2323
network.WithPreFundedAccounts(keyring.GetAllAccAddrs()...),
24+
network.WithChainID(suite.chainID),
2425
)
2526
grpcHandler := grpc.NewIntegrationHandler(unitNetwork)
2627
txFactory := factory.New(unitNetwork, grpcHandler)
@@ -53,10 +54,12 @@ func (suite *EvmAnteTestSuite) TestVerifyAccountBalance() {
5354
suite.Require().NoError(err)
5455

5556
// Make tx cost greater than balance
56-
balanceResp, err := grpcHandler.GetBalanceFromBank(senderKey.AccAddr, unitNetwork.GetBaseDenom())
57+
balanceResp, err := grpcHandler.GetBalanceFromEVM(senderKey.AccAddr)
5758
suite.Require().NoError(err)
5859

59-
invalidAmount := balanceResp.Balance.Amount.Add(math.NewInt(100))
60+
balance, ok := math.NewIntFromString(balanceResp.Balance)
61+
suite.Require().True(ok)
62+
invalidAmount := balance.Add(math.NewInt(100))
6063
txArgs.Amount = invalidAmount.BigInt()
6164
return statedbAccount, txArgs
6265
},
@@ -98,7 +101,7 @@ func (suite *EvmAnteTestSuite) TestVerifyAccountBalance() {
98101
}
99102

100103
for _, tc := range testCases {
101-
suite.Run(fmt.Sprintf("%v_%v", evmtypes.GetTxTypeName(suite.ethTxType), tc.name), func() {
104+
suite.Run(fmt.Sprintf("%v_%v_%v", evmtypes.GetTxTypeName(suite.ethTxType), suite.chainID, tc.name), func() {
102105
// Perform test logic
103106
statedbAccount, txArgs := tc.generateAccountAndArgs()
104107
txData, err := txArgs.ToTxData()

ante/evm/07_can_transfer_test.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
func (suite *EvmAnteTestSuite) TestCanTransfer() {
2121
keyring := testkeyring.New(1)
2222
unitNetwork := network.NewUnitTestNetwork(
23+
network.WithChainID(suite.chainID),
2324
network.WithPreFundedAccounts(keyring.GetAllAccAddrs()...),
2425
)
2526
grpcHandler := grpc.NewIntegrationHandler(unitNetwork)
@@ -45,9 +46,12 @@ func (suite *EvmAnteTestSuite) TestCanTransfer() {
4546
expectedError: errortypes.ErrInsufficientFunds,
4647
isLondon: true,
4748
malleate: func(txArgs *evmtypes.EvmTxArgs) {
48-
balanceResp, err := grpcHandler.GetBalanceFromBank(senderKey.AccAddr, unitNetwork.GetBaseDenom())
49+
balanceResp, err := grpcHandler.GetBalanceFromEVM(senderKey.AccAddr)
4950
suite.Require().NoError(err)
50-
invalidAmount := balanceResp.Balance.Amount.Add(math.NewInt(1)).BigInt()
51+
52+
balance, ok := math.NewIntFromString(balanceResp.Balance)
53+
suite.Require().True(ok)
54+
invalidAmount := balance.Add(math.NewInt(1)).BigInt()
5155
txArgs.Amount = invalidAmount
5256
},
5357
},
@@ -61,7 +65,7 @@ func (suite *EvmAnteTestSuite) TestCanTransfer() {
6165
}
6266

6367
for _, tc := range testCases {
64-
suite.Run(fmt.Sprintf("%v_%v", evmtypes.GetTxTypeName(suite.ethTxType), tc.name), func() {
68+
suite.Run(fmt.Sprintf("%v_%v_%v", evmtypes.GetTxTypeName(suite.ethTxType), suite.chainID, tc.name), func() {
6569
baseFeeResp, err := grpcHandler.GetEvmBaseFee()
6670
suite.Require().NoError(err)
6771
ethCfg := unitNetwork.GetEVMChainConfig()

ante/evm/08_gas_consume_test.go

Lines changed: 31 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
package evm_test
44

55
import (
6+
"fmt"
7+
68
sdkmath "cosmossdk.io/math"
79
sdktypes "github.com/cosmos/cosmos-sdk/types"
810
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
@@ -12,11 +14,13 @@ import (
1214
"github.com/evmos/os/testutil/integration/os/grpc"
1315
testkeyring "github.com/evmos/os/testutil/integration/os/keyring"
1416
"github.com/evmos/os/testutil/integration/os/network"
17+
evmtypes "github.com/evmos/os/x/evm/types"
1518
)
1619

1720
func (suite *EvmAnteTestSuite) TestUpdateCumulativeGasWanted() {
1821
keyring := testkeyring.New(1)
1922
unitNetwork := network.NewUnitTestNetwork(
23+
network.WithChainID(suite.chainID),
2024
network.WithPreFundedAccounts(keyring.GetAllAccAddrs()...),
2125
)
2226

@@ -89,6 +93,7 @@ func (suite *EvmAnteTestSuite) TestUpdateCumulativeGasWanted() {
8993
func (suite *EvmAnteTestSuite) TestConsumeGasAndEmitEvent() {
9094
keyring := testkeyring.New(1)
9195
unitNetwork := network.NewUnitTestNetwork(
96+
network.WithChainID(suite.chainID),
9297
network.WithPreFundedAccounts(keyring.GetAllAccAddrs()...),
9398
)
9499
grpcHandler := grpc.NewIntegrationHandler(unitNetwork)
@@ -97,22 +102,20 @@ func (suite *EvmAnteTestSuite) TestConsumeGasAndEmitEvent() {
97102
testCases := []struct {
98103
name string
99104
expectedError string
100-
fees sdktypes.Coins
105+
feesAmt sdkmath.Int
101106
getSender func() sdktypes.AccAddress
102107
}{
103108
{
104-
name: "success: fees are zero and event emitted",
105-
fees: sdktypes.Coins{},
109+
name: "success: fees are zero and event emitted",
110+
feesAmt: sdkmath.NewInt(0),
106111
getSender: func() sdktypes.AccAddress {
107112
// Return prefunded sender
108113
return keyring.GetKey(0).AccAddr
109114
},
110115
},
111116
{
112-
name: "success: there are non zero fees, user has sufficient bank balances and event emitted",
113-
fees: sdktypes.Coins{
114-
sdktypes.NewCoin(unitNetwork.GetBaseDenom(), sdkmath.NewInt(1000)),
115-
},
117+
name: "success: there are non zero fees, user has sufficient bank balances and event emitted",
118+
feesAmt: sdkmath.NewInt(1000),
116119
getSender: func() sdktypes.AccAddress {
117120
// Return prefunded sender
118121
return keyring.GetKey(0).AccAddr
@@ -121,9 +124,7 @@ func (suite *EvmAnteTestSuite) TestConsumeGasAndEmitEvent() {
121124
{
122125
name: "fail: insufficient user balance, event is NOT emitted",
123126
expectedError: "failed to deduct transaction costs from user balance",
124-
fees: sdktypes.Coins{
125-
sdktypes.NewCoin(unitNetwork.GetBaseDenom(), sdkmath.NewInt(1000)),
126-
},
127+
feesAmt: sdkmath.NewInt(1000),
127128
getSender: func() sdktypes.AccAddress {
128129
// Set up account with too little balance (but not zero)
129130
index := keyring.AddKey()
@@ -145,18 +146,23 @@ func (suite *EvmAnteTestSuite) TestConsumeGasAndEmitEvent() {
145146
}
146147

147148
for _, tc := range testCases {
148-
suite.Run(tc.name, func() {
149+
suite.Run(fmt.Sprintf("%v_%v_%v", evmtypes.GetTxTypeName(suite.ethTxType), suite.chainID, tc.name), func() {
149150
sender := tc.getSender()
150-
prevBalance, err := grpcHandler.GetAllBalances(
151-
sender,
152-
)
151+
152+
resp, err := grpcHandler.GetBalanceFromEVM(sender)
153153
suite.Require().NoError(err)
154+
prevBalance, ok := sdkmath.NewIntFromString(resp.Balance)
155+
suite.Require().True(ok)
156+
157+
evmDecimals := evmtypes.GetEVMCoinDecimals()
158+
feesAmt := tc.feesAmt.Mul(evmDecimals.ConversionFactor())
159+
fees := sdktypes.NewCoins(sdktypes.NewCoin(unitNetwork.GetBaseDenom(), feesAmt))
154160

155161
// Function under test
156162
err = evmante.ConsumeFeesAndEmitEvent(
157163
unitNetwork.GetContext(),
158164
unitNetwork.App.EVMKeeper,
159-
tc.fees,
165+
fees,
160166
sender,
161167
)
162168

@@ -166,31 +172,32 @@ func (suite *EvmAnteTestSuite) TestConsumeGasAndEmitEvent() {
166172

167173
// Check events are not present
168174
events := unitNetwork.GetContext().EventManager().Events()
169-
suite.Require().Zero(len(events))
175+
suite.Require().Zero(len(events), "required no events to be emitted")
170176
} else {
171177
suite.Require().NoError(err)
172178

173179
// Check fees are deducted
174-
afterBalance, err := grpcHandler.GetAllBalances(
175-
sender,
176-
)
180+
resp, err := grpcHandler.GetBalanceFromEVM(sender)
177181
suite.Require().NoError(err)
178-
expectedBalance := prevBalance.Balances.Sub(tc.fees...)
179-
suite.Require().True(
180-
expectedBalance.Equal(afterBalance.Balances),
181-
)
182+
afterBalance, ok := sdkmath.NewIntFromString(resp.Balance)
183+
suite.Require().True(ok)
184+
185+
suite.Require().NoError(err)
186+
expectedBalance := prevBalance.Sub(feesAmt)
187+
suite.Require().True(expectedBalance.Equal(afterBalance), "expected different balance after fees deduction")
182188

183189
// Event to be emitted
184190
expectedEvent := sdktypes.NewEvent(
185191
sdktypes.EventTypeTx,
186-
sdktypes.NewAttribute(sdktypes.AttributeKeyFee, tc.fees.String()),
192+
sdktypes.NewAttribute(sdktypes.AttributeKeyFee, fees.String()),
187193
)
188194
// Check events are present
189195
events := unitNetwork.GetContext().EventManager().Events()
190196
suite.Require().NotZero(len(events))
191197
suite.Require().Contains(
192198
events,
193199
expectedEvent,
200+
"expected different events after fees deduction",
194201
)
195202
}
196203

ante/evm/09_increment_sequence_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
func (suite *EvmAnteTestSuite) TestIncrementSequence() {
1515
keyring := testkeyring.New(1)
1616
unitNetwork := network.NewUnitTestNetwork(
17+
network.WithChainID(suite.chainID),
1718
network.WithPreFundedAccounts(keyring.GetAllAccAddrs()...),
1819
)
1920
grpcHandler := grpc.NewIntegrationHandler(unitNetwork)

ante/evm/10_gas_wanted_test.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
package evm_test
44

55
import (
6+
"fmt"
7+
68
storetypes "cosmossdk.io/store/types"
79
errortypes "github.com/cosmos/cosmos-sdk/types/errors"
810

@@ -13,16 +15,18 @@ import (
1315
testkeyring "github.com/evmos/os/testutil/integration/os/keyring"
1416
"github.com/evmos/os/testutil/integration/os/network"
1517
integrationutils "github.com/evmos/os/testutil/integration/os/utils"
18+
evmtypes "github.com/evmos/os/x/evm/types"
1619
)
1720

1821
func (suite *EvmAnteTestSuite) TestCheckGasWanted() {
1922
keyring := testkeyring.New(1)
2023
unitNetwork := network.NewUnitTestNetwork(
24+
network.WithChainID(suite.chainID),
2125
network.WithPreFundedAccounts(keyring.GetAllAccAddrs()...),
2226
)
2327
grpcHandler := grpc.NewIntegrationHandler(unitNetwork)
2428
txFactory := factory.New(unitNetwork, grpcHandler)
25-
commonGasLimit := uint64(100000)
29+
commonGasLimit := uint64(100_000)
2630

2731
testCases := []struct {
2832
name string
@@ -69,16 +73,17 @@ func (suite *EvmAnteTestSuite) TestCheckGasWanted() {
6973
// Set basefee param to false
7074
feeMarketParams, err := grpcHandler.GetFeeMarketParams()
7175
suite.Require().NoError(err)
76+
7277
feeMarketParams.Params.NoBaseFee = true
7378
err = integrationutils.UpdateFeeMarketParams(integrationutils.UpdateParamsInput{
7479
Tf: txFactory,
7580
Network: unitNetwork,
7681
Pk: keyring.GetPrivKey(0),
7782
Params: feeMarketParams.Params,
7883
})
79-
suite.Require().NoError(err)
84+
suite.Require().NoError(err, "expected no error when updating fee market params")
8085

81-
blockMeter := storetypes.NewGasMeter(commonGasLimit + 10000)
86+
blockMeter := storetypes.NewGasMeter(commonGasLimit + 10_000)
8287
return unitNetwork.GetContext().WithBlockGasMeter(blockMeter)
8388
},
8489
isLondon: true,
@@ -87,7 +92,7 @@ func (suite *EvmAnteTestSuite) TestCheckGasWanted() {
8792
}
8893

8994
for _, tc := range testCases {
90-
suite.Run(tc.name, func() {
95+
suite.Run(fmt.Sprintf("%v_%v_%v", evmtypes.GetTxTypeName(suite.ethTxType), suite.chainID, tc.name), func() {
9196
sender := keyring.GetKey(0)
9297
txArgs, err := txFactory.GenerateDefaultTxTypeArgs(
9398
sender.Addr,

ante/evm/suite_test.go

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"testing"
55

66
gethtypes "github.com/ethereum/go-ethereum/core/types"
7+
testconstants "github.com/evmos/os/testutil/constants"
78
"github.com/stretchr/testify/suite"
89
)
910

@@ -15,16 +16,18 @@ type EvmAnteTestSuite struct {
1516

1617
// To make sure that every tests is run with all the tx types
1718
ethTxType int
19+
chainID string
1820
}
1921

2022
func TestEvmAnteTestSuite(t *testing.T) {
21-
suite.Run(t, &EvmAnteTestSuite{
22-
ethTxType: gethtypes.DynamicFeeTxType,
23-
})
24-
suite.Run(t, &EvmAnteTestSuite{
25-
ethTxType: gethtypes.LegacyTxType,
26-
})
27-
suite.Run(t, &EvmAnteTestSuite{
28-
ethTxType: gethtypes.AccessListTxType,
29-
})
23+
txTypes := []int{gethtypes.DynamicFeeTxType, gethtypes.LegacyTxType, gethtypes.AccessListTxType}
24+
chainIDs := []string{testconstants.ExampleChainID, testconstants.SixDecimalsChainID}
25+
for _, txType := range txTypes {
26+
for _, chainID := range chainIDs {
27+
suite.Run(t, &EvmAnteTestSuite{
28+
ethTxType: txType,
29+
chainID: chainID,
30+
})
31+
}
32+
}
3033
}

0 commit comments

Comments
 (0)