Commit Graph
48 Commits
Author SHA1 Message Date
ccbaf1fe05 imp(tests): prune node integration tests (#1212)
* first pass

* extra comment

* fixed pruned node tests. Fix getBalance on pruned. Fix BaseFee on pruned.

* fix tests execution

* check logs on tests

* address pr comments

* address comments

* Update rpc/namespaces/ethereum/eth/api.go

* update error msg check

* fix lint

* fix linter

* fix linter

* fix py lint

* test lint

* fix lint

* pin golangcli version

* pin golanci version

* pin lint to version 0.48

* fix linter

* fix last linter last file

Co-authored-by: ramacarlucho <ramirocarlucho@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-08-08 10:17:10 +02:00
yihuangandFederico Kunze Küllmer e1560849dd feat(ante, evm): set priority for eth transactions (#1214)
* Set priority for eth transactions

Set the tx priority to the lowest priority in the messages.

fix unit tests

code cleanup and spec

update spec

fix go lint

add priority integration test

add python linter job

add access list tx type

fix gas limit

remove ledger tag, so no need to replace hid dependency

fix earlier check

ibc-go v5.0.0-beta1

* fix pruned node integration test

* Update x/feemarket/spec/09_antehandlers.md

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-08-05 15:00:31 +02:00
yihuang 29d3abcf09 !feat(deps): Upgrade cosmos-sdk to v0.46.0 (#1168)
* Reuse cosmos-sdk client library to create keyring

Extracted from https://github.com/evmos/ethermint/pull/1168
Cleanup cmd code for easier to migration to cosmos-sdk 0.46

* Update cosmos-sdk v0.46

prepare for implementing cosmos-sdk feemarket and tx prioritization

changelog

refactor cmd

use sdkmath

fix lint

fix unit tests

fix unit test genesis

fix unit tests

fix unit test env setup

fix unit tests

fix unit tests

register PrivKey impl

fix extension options

fix lint

fix unit tests

make HandlerOption.Validate private

gofumpt

fix msg response decoding

fix sim test

bump cosmos-sdk version

fix sim test

sdk 46

fix unit test

fix unit tests

update ibc-go
2022-07-28 15:43:49 +02:00
yihuangandFederico Kunze Küllmer ffe78da36e !fix(evm): Fix eth tx hashes in json-rpc responses (#1176)
* Fix eth tx hashes in json-rpc responses

Closes: #1175

- Remove Size_ field
- Validate From/Hash fields in ante handler
- Recompute tx hashes in json-rpc apis to cope with old blocks

Update CHANGELOG.md

remove Size_, validate Hash/From, add unit tests

update spec

Update CHANGELOG.md

Update app/ante/eth.go

populate From in SendRawTransaction

Apply suggestions from code review

keep Size_ field to avoid breaking tx format

* move some validation to ValidateBasic

* move validation to ValidateBasic

* make ToTransaction returns a valid msg

* restructure the protoTxProvider check

* add comment

* workaround tx hash issue in event parsing

* fix integration test

* fix unit test

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-07-19 15:12:48 +00:00
Federico Kunze Küllmer 73c9ea218e fix(rpc): fix panic on breaking EVM and feemarket params (#1188)
* release: v0.17.0 changelog (#1153)

* release: v0.17.0 changelog

* rm newline

* update link

* fix(rpc): fix panic on breaking EVM and feemarket params

* changelog

* fix gosec
2022-07-19 17:00:43 +02:00
Daniel BurckhardtandFederico Kunze Küllmer 969794c5b4 impr(evm): add check msg.Validate check to prevent 0 gas txs (#1174)
* impr(evm): add check msg.Validate check to prevent 0 gas txs

* add changelog

* impr(evm): add integration tests for zero gas txs

* go mod tidy and proto swagger

* fix comment

* move changelog to state machine breaking

* add ReadHeaderTimeout`

* revert ReadHeaderTimeout config change

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-07-18 22:21:04 +02:00
yihuang b7c85beba3 imp(all): setup a validator in the test genesis (#1171)
It's disabled in cosmos-sdk 0.46's InitGenesis to have zero validators,
prepare for the upgrade of cosmos-sdk 0.46.
2022-07-11 14:42:59 +02:00
Daniel Burckhardt 4a66ff95d9 feemarket(specs): add hint on different gas terminology for gas in Cosmos and Ethereum (#1165) 2022-07-01 13:55:19 +02:00
Daniel BurckhardtandFederico Kunze Küllmer d3333418c5 bug(feemarket): set lower bound of base fee to min gas price param (#1135)
* bug(feemarket): set lower bound of base fee to min gas price param)

* fix

* bug(feemarket): flag necessary improvement to integration tests, as the baseFee changes for every test

* bug(feemarket): add unit tests for CalculateBaseFee

* bug(feemarket): move integration test setup out of Describe block

* wip fix tests

* bug(feemarket): fix integration tests

* bug(feemarket): wip improve specs

* bug(feemarket): add spec concepts

* bug(feemarket): remove todo

* bug(feemarket): remove changes used for debugging in params

* bug(feemarket): remove todo in integration test

* add changelog

* address PR comments

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-06-22 12:57:16 +02:00
Federico Kunze Küllmer 8e2c65295f imp(evm): rename RejectUnprotectedTx to AllowUnprotectedTxs (#1142)
* imp(evm): rename RejectUnprotectedTx to AllowUnprotectedTxs

* changelog
2022-06-22 12:51:14 +02:00
Federico Kunze Küllmer ec8e93b319 all: rename go module to evmos/ethermint (#1137) 2022-06-19 11:43:41 +02:00
yihuangandFederico Kunze Küllmer 8f932ddc6a !feat(evm): Reject not replay-protected tx to prevent replay attack (#1124)
* Reject not replay-protected tx to prevent replay attack

Closes: #1122

- reject such txs in ante handler

* add reject unprotected parameter

* Update CHANGELOG.md

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* pr suggestions

* add unit test case

* Reject not replay-protected tx to prevent replay attack

Closes: #1122

- reject such txs in ante handler

add reject unprotected parameter

Update CHANGELOG.md

Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

pr suggestions

add unit test case

use var

* add migrations

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* rename

* update comments

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-06-13 09:41:53 +00:00
yihuangandFederico Kunze Küllmer 82835307c7 imp(feemarket): min-gas-multiplier parameter should accept zero value (#1120)
* min-gas-multiplier parameter should accept zero value

update min-gas-multiplier validation logic

* fix unit test

* changelog

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-06-09 11:20:50 +02:00
Federico Kunze Küllmer b567624d6a tests: update consensus params (#1117)
* tests: update consensus params

* fix
2022-06-08 15:21:51 +02:00
crypto-facsandFederico Kunze Küllmer 620f6a6770 imp(feemarket): update BaseFee based on GasWanted (#1105)
* add gasWanted transient store keys

* add gasWanted transient store keeper functions

* add gasWanted transient store tracker

* add comment

* remove unncesary comment

* remove unnecesary function

* fix tests

* fix bad comment

* remove unnecesary comment

* update comment

* update changelog

* Update CHANGELOG.md

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* add GasWantedDecorator

* remove unnecesary comments

* gasWanted decorator test

* fix tests

* fix tests and build

* fix lint

* updated end block event

* Update app/ante/fee_market.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* fix undeclared variable

* Update app/ante/fee_market_test.go

* remove unnecesary line

* migrate MinGasMultiplier to FeeMarket module

* set limited gas wanted

* remove old newKeeper param

* update proto comment

* fix test

* update comments

* Update x/feemarket/keeper/abci.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* address comments from review

* tidy

* tests

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-06-05 09:22:33 +00:00
Daniel Burckhardt cad7ff66b0 analytics(app): update telemetry to Ethermint modules (#1106)
* analytics(evm): replace telemetry gauges with counters and add gasUsed counter

* analytics(feemarket): add telemetry gauges for base fee and block gas

* analytics(feemarket): add telemetry gauges for gas_used per gas_limit

* analytics(feemarket): remove refund telemetry

* analytics(app): update CHANGELOG

* remove unwanted change

* address PR comments

* update comment
2022-06-02 15:04:33 +02:00
Loredana Cirstea 046cd00174 feemarket: global MinGasPrice parameter (#1104)
* Add min_gas_price to feemarket params

* Add MinGasPriceDecorators

* feemarket integration tests for MinGasPrice

* Restructure integration tests

* Simplify integration tests context

We use DeliverTx context to set up the app, otherwise not all settings are initialized.
We test CheckTx with `s.app.BaseApp.CheckTx(req)`, which uses the `CheckTx` mode and context.

* Update MinGasPrice spec in feemarket module

* reorder ethermint module order for initializing genesis

* feemarket migrations for adding MinGasPrice param

* update changelog

* Additional unit tests for MinGasPrice = 0, tx gas price > 0 (PR review)

https://github.com/tharsis/ethermint/pull/1104#discussion_r884991661

* Use 0 MinGasPrice for transaction simulations

* Fix duplicate registration of feemarket GenesisState and Params (PR review)

https://github.com/tharsis/ethermint/pull/1104#issuecomment-1141893712
2022-05-31 18:28:46 +02:00
Federico Kunze Küllmer 0f0996432a fix: update BaseFee JSON-RPC (#1059)
* release: v0.14.0 changelog (#1057)

* fix: update BaseFee JSON-RPC

* typo

* changelog
2022-04-26 14:24:32 +00:00
Federico Kunze Küllmer 1e03c0c603 deps: bump SDK to v0.45.3 (#1046)
* release: v0.13.0 (#1030)

* release: v0.12.0 changelog

* changelog: v0.12.1 (#1019)

* evm: update empty hash check for storage state (#1016)

* v0.12.1: changelog

* changelog: v0.12.2 (#1022)

* changelog: v0.12.2

* fix

* fix

* update changelog

* deps: bump SDK to v0.45.3

* changelog

* fixes
2022-04-12 15:31:25 +02:00
Nick DeLucaandFederico Kunze Küllmer ea3c16ed7a fix: remove proto message registration from legacy v09 types to fix conflict (#1023)
with existing types

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-04-05 15:51:56 +00:00
Federico Kunze Küllmer 6abe84bde7 fix: update feemarket REST endpoints (#1026)
* fix: update feemarket REST endpoints

* changelog
2022-04-04 15:00:26 +02:00
Federico Kunze Küllmer 3c8a95b012 imp: migrate JSON for feemarket (#1021)
* imp: migrate JSON for feemarket

* migrate JSON

* types

* fix

* fix unmarshal JSON error

* changelog

* fix lint

* fix test
2022-03-30 19:10:54 +02:00
yihuang 93a57bc330 feemarket: migration (#1002)
* increase feemarket's consensus version and add migration handler

Closes: #1001

* unit test

* fix linter
2022-03-21 08:27:22 +01:00
Thomas NguyandFederico Kunze Küllmer a2c26208ed docs: add spec for feemarket module (#889)
* add spec for feemarket

* update spec from comments

* update spec

* update abstract

* update with grpc query

* add more content for tip section

* update specs with latest behavior

* cleanup unused store prefix

* Update x/feemarket/spec/01_concepts.md

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-02-25 12:49:18 +00:00
Thomas NguyandFederico Kunze Küllmer bf54193669 feemarket: change basefee to be a module param (#943)
* change basefee to a module params

* add changelog and fix linter

* change params type of basefee and remove default base fee

* restaure event

* clean code

* fix proto

* fix protos

* fix logic

* update rpc tests

* fix comment

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-02-23 19:48:44 +01:00
yihuang e39a74998e fix: default base fee state in genesis (#919)
* fix defualt base fee state in genesis

Closes: #918
Solution:
- initialise the default base fee value in genesis

* changelog
2022-01-26 11:36:07 +01:00
yihuangandFederico Kunze Küllmer ade84319e6 evm: refactor statedb implementation (#729)
* initial statedb module

unit tests

unit tests

keeper implementation

extract TxConfig

remove unused code

* keeper integration

* fix unit tests

* Apply suggestions from code review

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

* fixup! initial statedb module

* changelog

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2022-01-05 08:28:27 +01:00
b9804505a3 evm: change Hook to use tx Receipt (#849)
* Change evm_hook to use Transaction Receipt

* use ethtypes.Receipt

* wip changes

* fix receipt creation

* receipt fixes

* check for contract addr

* changelog

* test

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
2022-01-03 17:18:13 +01:00
yihuangandFederico Kunze Küllmer eb17366dcc fix: consistent BaseFee check logic (#855)
Closes: #755

```
if not london_hardfork {
    # reject DynamicFeeTx
    # no `baseFeePerGas` field in block response
    # baseFee = nil
} else {
    # allow DynamicFeeTx
    # add `baseFeePerGas` field in block response
    if feemarketParams.NoBaseFee or height < feemarketParams.EnableHeight {
        # baseFee = 0
    } else {
        # init baseFee to initBaseFee and adjust in later blocks
    }
}
```

Update x/evm/keeper/keeper.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

add unit tests

Update app/ante/utils_test.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

changelog
2021-12-28 07:59:28 +00:00
yihuang e752d80e9f feekeeper: remove redundant code (#815) 2021-12-16 23:24:53 +01:00
yihuangandFederico Kunze Küllmer 50e463725e feemarket: update base fee in BeginBlock (#822)
* Update base fee in begin blocker

Closes: #820

* changelog

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-12-15 02:10:52 +00:00
Federico Kunze Küllmer 841c93cd65 feat: store migration setup (#794)
* feat: store migration setup

* comment

* changelog
2021-11-29 16:46:20 +01:00
2bf2b6758b fix: RPC tests fail if FeeMarket BaseFee is enabled by default (#770)
* Fix(FeeMarket): Enable FeeMarkat BaseFee

* fix rpc tests

* changelog

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Freddy Caceres <freddy.caceres@crypto.com>
Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
2021-11-23 15:00:25 +00:00
Daniel Burckhardt 93020f8786 feemarket: unit tests EIP1559 (#758)
* Fee-Market(Types): Setup Params tests

* Fee-Market(Types): Add all Params tests

* Fee-Market(Types): Add genesis tests

* Fee-Market(Keeper): Copy Keeper setup from EVM module and add Params tests

* Fee-Market(Keeper): Add Keeper tests

* Fee-Market(Keeper): Add review comments

* Fee-Market(Keeper): WIP grpc tests

* Fee-Market(Keeper): WIP ERIP1559 tests

* Fee-Market(Keeper): WIP ERIP1559 tests

* Fee-Market(Keeper): WIP ERIP1559 tests maxGas influences on baseFee

* Fee-Market(Keeper): Add last ERIP1559 tests

* Fee-Market(Keeper): Add abci tests
2021-11-19 16:22:25 +00:00
Daniel BurckhardtandFederico Kunze Küllmer 77fee0e882 feemarket: unit tests (#749)
* Fee-Market(Types): Setup Params tests

* Fee-Market(Types): Add all Params tests

* Fee-Market(Types): Add genesis tests

* Fee-Market(Keeper): Copy Keeper setup from EVM module and add Params tests

* Fee-Market(Keeper): Add Keeper tests

* test fix

Co-authored-by: Federico Kunze Küllmer <federico.kunze94@gmail.com>
2021-11-17 13:32:05 +00:00
dependabot[bot]andFederico Kunze 23a3362475 build(deps): bump github.com/ethereum/go-ethereum from 1.10.9 to 1.10.11 (#676)
* build(deps): bump github.com/ethereum/go-ethereum from 1.10.9 to 1.10.10

Bumps [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum) from 1.10.9 to 1.10.10.
- [Release notes](https://github.com/ethereum/go-ethereum/releases)
- [Commits](https://github.com/ethereum/go-ethereum/compare/v1.10.9...v1.10.10)

---
updated-dependencies:
- dependency-name: github.com/ethereum/go-ethereum
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps): bump github.com/ethereum/go-ethereum from 1.10.9 to 1.10.10

Bumps [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum) from 1.10.9 to 1.10.10.
- [Release notes](https://github.com/ethereum/go-ethereum/releases)
- [Commits](https://github.com/ethereum/go-ethereum/compare/v1.10.9...v1.10.10)

---
updated-dependencies:
- dependency-name: github.com/ethereum/go-ethereum
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* build(deps): bump github.com/ethereum/go-ethereum from 1.10.9 to 1.10.10

Bumps [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum) from 1.10.9 to 1.10.10.
- [Release notes](https://github.com/ethereum/go-ethereum/releases)
- [Commits](https://github.com/ethereum/go-ethereum/compare/v1.10.9...v1.10.10)

---
updated-dependencies:
- dependency-name: github.com/ethereum/go-ethereum
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix

* rpc: RLP apis

* tx fee cap fix

* fix config

* fix test

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2021-10-25 15:01:04 +00:00
yihuang ac75a9a4a4 refactor: eth_call and eth_estimateGas don't need to pass base fee as field (#671)
Solution:
- load fee directly from state

changelog
2021-10-21 17:29:19 +02:00
Thomas Nguy cd3b0be5ed rpc, feemarket: store base fee in event (#673)
* store base fee in event

* update changelog
2021-10-15 08:59:26 +00:00
Tomas Tauber e91ec58aa1 evm: fixed commented out simulations, pubsub, and handler tests (#655)
* evm: fixed commented out simulations, pubsub, and handler tests

fixes #640

simulations are very basic: they can be built and executed,
but they don't generate any EVM-related transactions yet.
(It should be a matter of adding simulation-related code to the
modules + potentially extra helpers to the simulation.)
handler tests miss some extra assertions due to changes
in the return values snapshotting logic (ADR-001 and ADR-002).

Besides the test suites identified in the audit,
there's also "importer_test.go" which wasn't yet fixed.
(it'd require major rewriting + extra test resources)

* gofumpt
2021-10-11 13:09:53 +02:00
Federico Kunze Küllmer bc8c87cb28 chore: merge v0.7.0 to main (#651)
* chore: merge v0.7.0 to main

* update changelog
2021-10-08 12:03:51 +00:00
Federico Kunze Küllmer bcdb982886 rpc: geth v1.10.9 changes (#624)
* rpc: geth v1.10.9 changes

* updates

* suggestGasTipCap

* update gRPC

* resend

* fixes

* rm unused func

* address TODO
2021-10-06 11:22:32 +00:00
crypto-facs 0463c8bfcd rpc: fix TraceConfig param for tracers (#565) 2021-09-15 10:50:52 -03:00
yihuangandFederico Kunze Küllmer 116de54617 evm: remove tx logs and block bloom from chain state (#556)
Closes #452

fix unit tests

changelog and fix lint

fix unit test

Update ethereum/rpc/backend/backend.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

Update ethereum/rpc/backend/utils.go

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>

changelog

Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-09-15 09:45:03 +00:00
Federico Kunze Küllmer 540bd79f7f all: remove telemetry (#545) 2021-09-09 16:39:55 +00:00
Federico Kunze Küllmer 587cf78b5c evm: log pagination (#544)
* evm: log pagination

* tidy
2021-09-09 14:26:30 +00:00
Federico Kunze Küllmer 26c5eabb18 all: linter (#532)
* add additional linters

* fixes

* rm action
2021-09-05 11:03:06 +00:00
Federico Kunze Küllmer 7389770b10 ci: lint (#500) 2021-08-26 15:45:45 +00:00
Federico Kunze Küllmer f469db94ef feat: fee market module (#491)
* feat: fee market module

* update proto

* queriers: CLI + gRPC

* gov params

* genesis

* enable height

* fixes

* fix app
2021-08-26 10:08:11 +00:00