yihuang
7c7f3f02bb
tests: add message call benchmark ( #717 )
...
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-11-08 13:04:49 +00:00
yihuang
10c49f7748
feat: add raw ethereum tx CLI ( #712 )
...
Closes #709
fix index
Apply suggestions from code review
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
fix lint
transaction decoding unit test
test BuildTx
fix lint
changelog
2021-11-02 12:20:19 +01:00
yihuang
bc1d81c5e8
fix: Web3 RPC handlers panic ( #702 )
...
* Problem: Some Web3 RPC Handlers could panic
Closes : #701
Solution:
- return error rather than panic when decoding invalid tx
* add validation rules
* changelog
2021-10-26 13:13:27 +02:00
dependabot[bot]
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
1fe07edbf9
evm: refactor dup state transition code ( #674 )
...
* Problem: state transition code is duplicated
Closes : #672
Solution:
- move gas refund out from ApplyMessage
- move check into ApplyMessage
- move evm construction into ApplyMessage
- ensure context stack is clean after ApplyMessage return
fix unit tests
undo rename
add underflow check
* improve performance
- don't duplicate params loading
- passing EVMConfig around as pointer
2021-10-22 19:21:03 +02: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
JayT106
40b3b9ae1b
evm: unit tests for gas refund ( #686 )
...
* add TestGetEthIntrinsicGas
* more test cases in TestGetEthIntrinsicGas
* add GasToRefund tests
* add TestRefundGas tests
* remove duplicate leftoverGas check
* made resetGasMeterAndConsumeGas public for testing
* TestResetGasMeterAndConsumeGas tmp
* add mintFeeCollector flag for gas refund tests
* add comment and check
* add TestResetGasMeterAndConsumeGas
* Update x/evm/keeper/state_transition_test.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-10-20 19:09:06 +00:00
yihuang
1000461a55
rpc: transaction receipt test ( #678 )
...
* Problem: No test on the transaction receipt api
Closes : #582
- add receipt rpc test for erc20 transfer logs
* lower gas fee
* build with go 1.17 in CI
* use go 1.17 in test-solidity
* fix merge
2021-10-20 21:00:17 +02:00
JayT106
1076307e6b
tests: DynamicFeeTx ( #649 )
...
* test DynamicFeeTx against state_transition_benchmark_test
* add feemarketGenesis in the app setup param
* add dynamicTxFee flag to KeeperTestSuite
* add feemarketGenesis.BaseFee setup
* update TestAddLog
* fix gasFeeCap assignment in newMsgEthereumTx
* modify keeperTestSuite helper functions to support dynamicTxFee
* update test cases in grpc_query_test w/ dynamicTxFee
* update the evm keeper utils tests
* add dynamic tx fee in the ante tests
* remove duplicate type define
* fix error return type
* update changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-10-19 08:49:29 +00:00
JayT106
2476cc5e3c
remove unused var ( #680 )
...
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-10-16 14:41:44 +00: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
Thomas Nguy
75d553674c
evm, rpc: disable BaseFee
for non London block ( #662 )
...
* disable basefee if not london block
* add london block check in state transition
* fix linter
* add unit test
* clean code
* add changelog
2021-10-13 15:39:47 +02:00
yihuang
2e067590a2
fix: nil pointer panic in ApplyNativeMessage
( #660 )
...
* Problem: nil pointer panic in ApplyNativeMessage
Solution:
- pass NoOpTracer
* use NewTracer
* changelog
2021-10-13 10:57:12 +02: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
Thomas Nguy
fe5fefbd8e
evm: fix panic when transaction is reverted ( #650 )
...
* fix panic when transaction is reverted
* update changelog
* Update x/evm/keeper/context_stack.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-10-08 11:29:40 +00:00
Federico Kunze Küllmer
516972119c
evm: unit tests ( #619 )
...
* evm: unit tests
* Add unit tests for DynamicFeeTx.Validate()
* Start get and set signature values tests
* get set values
* Add tests for GetTo()
* Add GetNonce test
* Add GetValue test
* Start copy test
* Add WIP newDynamicFeeTx test
* Add WIP legacy_tx_test
* pair programming session
* Add TestLegacyTxValidate
* Add TestLegacyTxSetSignatureValues & GetSignatureValues
* Add legacyTx tests
* Merge main, forgot to save one file
* Add AccessList tests
* Add chain Config (fork order)
* Add invalid genesis account test
* Add params tests
* Add WIP tracer test
* tracer tests
* Add FormatLogs tests
* Add NewNoOpTracer test
* Refactor to test suite
* Refactor Tx Test suits to only use TxDataTestSuite
* Update link to geth interpreter
* Update x/evm/types/params.go
* Refactor accessListTx Test suits to use TxDataTestSuite
Co-authored-by: Daniel Burckhardt <daniel.m.burckhardt@gmail.com>
2021-10-08 13:11:19 +02:00
Federico Kunze Küllmer
19b6c03f37
rpc: fix panic ( #630 )
2021-10-06 17:20:34 +02:00
yihuang
78c8ceb244
evm: add benchmark for deep context stack ( #627 )
...
* Problem: deep context stack efficienty is not benchmarked
Closes : #626
Solution:
- add a benchmark to demonstrate an extremely inefficiency in deep
context stack
* Update x/evm/keeper/benchmark_test.go
* prefix storage is irrelevant
* add comment to state_transition.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-10-06 11:28:13 +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
yihuang
202bc5f1cd
evm: fix iterator on deeply nested cache contexts ( #617 )
...
* Problem: iterator on deeply nested cache contexts is extremely slow
Closes : #616
Solution:
- flatten cache contexts before doing `GetTxLogsTransient`
* Update x/evm/keeper/context_stack.go
* changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2021-10-05 16:08:55 +00:00
Federico Kunze Küllmer
a8722655bb
all: bump go-ethereum to v1.10.9 ( #231 )
...
* all: bump go-ethereum to v1.10.4
* build
* state transition and rpc
* wip rpc changes
* fix refund
* fixes
* no base fee param
* ante handler
* undo change
* fix test
* bump deps
* calculate base fee
* gRPC base fee query
* update RPC
* fix
* update'
* go.mod
* fix build
* fix panic
* rm changes in third_party
* json rpc changes
* reserved fields
* fixes fixes fixes
* rm no stringer
* fixes 2
* tests wip
* bump geth version
* update
* grpc traceTx
* rm fee market from ante
* fix TransactionArgs
* lint
* update proto
* update tx args
* changelog
2021-10-05 15:38:20 +00:00
yihuang
cda968bddd
evm, rpc: fix tx log attribute value is not parsable by some client ( #615 )
...
* Problem: tx log attribute value not parsable by some client
Closes : #614
Solution:
- encode the value to json string rather than bytes
Apply suggestions from code review
* rm cdc and changelog
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2021-10-05 10:26:31 +00:00
Federico Kunze Küllmer
fb9adf979c
evm: geth 1.10.9 fee market changes to Keeper
and AnteHandler
( #620 )
...
* evm: geth 1.10.9 fee market changes
* update
* changelog
2021-10-04 14:58:06 +00:00
Federico Kunze Küllmer
561d5db985
evm: refactor traceTx
( #613 )
...
* DNM: debug traceTx
* c++
2021-10-04 08:44:38 +00:00
Daniel Burckhardt
34c2593e43
rpc: restructure JSON-RPC directory and rename server config ( #612 )
...
* Restructure ethermint/rpc repo structure and change import statements
* Add #400 to changelog
* fix filepath in util and json_rpc
* Move #400 to unreleased section
2021-10-01 14:49:22 +00:00
Federico Kunze Küllmer
9d7641aeea
docs: banner & other ( #607 )
...
* docs: v0.6.0 changelog (#605 )
* docs: v0.6.0 changelog
* update codeowners
* docs: readd banner
* update
* jobs
2021-09-29 18:15:55 +02:00
Federico Kunze Küllmer
83627b9967
evm: check height overflow ( #597 )
...
* evm: check height overflow
* rm
* c++
2021-09-28 09:48:11 +00:00
yihuang
d6a64a275a
evm: fix import/export genesis for contract storage ( #590 )
...
* Problem: import/export roundtrip test fail contract storage
Closes : #589
- don't hash the key again in InitGenesis
* changelog
* try to fix estimate-gas undeterministics Closes #536
2021-09-27 12:26:45 +02:00
JayT106
2088297e3d
evm: benchmark evm keeper ( #586 )
...
* adds more erc20 token benchmark tests
* add more benchmark for statedb
* adds benchmark for state_transition
* fix typo
* refactor state_transition_benchmark_test
* update newSignedEthTx input argument
* revises tx template type
* modify tests for both LegacyTx and AccessListTx
* update changelog
2021-09-24 12:58:22 -03:00
Federico Kunze Küllmer
692fd9548a
ante: move deduct gas to EVM keeper ( #584 )
2021-09-22 10:26:29 +00:00
yihuang
01b789c3e9
rpc: tx receipt don't contain events ( #580 )
...
* tx receipt don't contains events
- Should convert tx hash when query transaction logs
* tx index should start from 0
2021-09-22 06:01:35 -03:00
Federico Kunze Küllmer
d84837a438
evm: fix Chain ID derivation ( #579 )
...
* evm: fix Chain ID derivation
* update
* changelog
2021-09-21 11:31:19 +00:00
Federico Kunze Küllmer
20785afeb7
evm: check tx cost not negative ( #578 )
2021-09-21 10:29:59 +00:00
yihuang
b59d9a23ea
evm: add ApplyNativeMessage
( #557 )
...
* add ApplyNativeMessage
Closes #533
* fix lint
* Update x/evm/types/tracer.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/types/tracer.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* no-op tracer
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
2021-09-17 15:23:51 +00:00
davcrypto
742b6d1300
evm: fail early on StateDB
functions ( #566 )
...
* ADD stateErr on keeper
* UPDATE init stateErr
* UPDATE test case
* Update x/evm/keeper/statedb.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* ADD comment
* UPDATE clear evm state error
* REMOVE unnecessary clear
* ADD comment
* UPDATE false value
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-09-17 06:22:52 +00:00
crypto-facs
0463c8bfcd
rpc: fix TraceConfig
param for tracers ( #565 )
2021-09-15 10:50:52 -03:00
yihuang
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
crypto-facs
3f1eeb30b6
rpc: debug_traceBlockByNumber
endpoint ( #555 )
...
* Refactor traceTx
* add getTendermintBlock on backend
* keeper concurrency
* first version
* json rpc concurrency
* rever makefile change
* remove grpc traceblock
* create internal traceBlock function
* added types to evm module
* tendermintBlockByNumber rename
* added safe message check
* remove unnecesary line
* check error
* fix lint
* fix linter
* Update ethereum/rpc/namespaces/debug/api.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update ethereum/rpc/namespaces/debug/api.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update ethereum/rpc/backend/backend.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* improve traceBlock performance
* fix linter
* add extra line on function parameters
* changed index to uint 64
* fix lint
* proto gen
* update endpoints documentation
* update changelog
* Apply suggestions from code review
* Update ethereum/rpc/namespaces/eth/filters/filters.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-09-15 08:46:01 +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
6a2914d4b0
evm: rm recover ( #542 )
...
* evm: rm recover
* rm query
* lint
2021-09-09 09:10:33 +00:00
Federico Kunze Küllmer
2e45a0665e
crypto: updates from reviews ( #535 )
2021-09-07 17:29:24 +00:00
Federico Kunze Küllmer
26c5eabb18
all: linter ( #532 )
...
* add additional linters
* fixes
* rm action
2021-09-05 11:03:06 +00:00
crypto-facs
c7554e96aa
rpc, evm: debug_traceTransaction
endpoint ( #506 )
...
* fix typo
* Added tracers package to debug API
* Add GetTransactionByHash function to backend package
* first version
* traceTransaction first version
* clean PR
* revert debug changes
* Update proto/ethermint/evm/v1/query.proto
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* remove unnecesary panic
* remove internal debug api
* trace transaction javascript tracer
* add support for custom logConfig
* added comment
* traceTransactions tests
* fix linter
* remove unused
* add comments to traceConfig
* update dependencies
* updated endpoints md
* Apply suggestions from code review
* Update x/evm/keeper/grpc_query.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/keeper/grpc_query.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-09-04 20:33:06 +00:00
Federico Kunze Küllmer
c73ce0f812
all: cleanup imports ( #524 )
2021-09-03 18:06:36 +00:00
Ramiro Carlucho
3f19217d7f
ante, evm: AnteHandler
refactor ( #517 )
...
* Refactor fees function
* Implement suggestions
* wip test
* checksenderbalance tests
* wip deductcost test
* Tests fixes
* Merge master and fix conflicts
* Merging account and bank interfaces
* Update x/evm/keeper/utils.go
Co-authored-by: Hanchon <guillermo.paoletti@gmail.com>
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-09-03 15:55:37 +00:00
Federico Kunze Küllmer
5fac39db38
evm: conditional hook snapshot ( #520 )
2021-09-02 17:47:39 +00:00
Jongwhan Lee
770ce367ac
evm: ignore code bytes validation during genesis ( #512 )
...
remove comment
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-09-02 16:24:21 +00:00
yihuang
089afe41a8
evm: implement ADR-002 EVM Hooks ( #417 )
...
* Allow evm to call native modules through logs
Closes #416
comment
add txHash parameter
review suggestions
add hooks test
* Update x/evm/keeper/hooks.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/keeper/hooks_test.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/keeper/keeper.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/keeper/keeper.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update x/evm/keeper/keeper.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* use table tests
* update adr comment
* update adr
* changelog
* Update CHANGELOG.md
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-09-02 12:36:33 +00:00