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
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
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
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
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
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
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
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
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
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
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
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
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
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
Federico Kunze Küllmer
b5288399d3
ci: liveness test ( #498 )
...
* ci: liveness test
* rm key
* makefile
* chmod
* update docs
2021-08-26 15:21:43 +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
Federico Kunze Küllmer
1ad9b4c1a5
evm: EIP1559 & go-ethereum related updates ( #469 )
...
* updates
* more changes
* proto updates
* tidy
* v1beta1
* update buf
* lint
* comments
* typo
2021-08-25 14:45:51 +00:00
Federico Kunze Küllmer
d068f5b331
server: logger handler ( #343 )
...
* Problem: verbose logs display with FATAL option (fix #320 )
add my script
increase amount for metamask
add run
amount ok
hide log
show info
my logger
hook log
revive eth log
tidy up
use suplog
log replace ok
removed suplog
tidy up
tidy up
fix compile
remove sh
tidy up
tidy up
* logger handler
* fix
* fix eth log override (#371 )
remove redundant log
tidy up
* log test
* c++
Co-authored-by: jongwhan lee <jonghwan@crypto.com>
Co-authored-by: Jongwhan Lee <51560997+leejw51crypto@users.noreply.github.com>
2021-08-19 16:55:13 +00:00
Federico Kunze Küllmer
6f5f15fc6d
proto: v1alpha to v1 ( #448 )
...
* proto: v1alpha to v1
* c++
* go mod
2021-08-17 15:30:35 +00:00
Federico Kunze Küllmer
aa1b728d34
feat: update chain-id
format ( #447 )
...
* feat: update chain-id format
* c++
* docs
* additional context'
2021-08-17 14:11:26 +00:00
Federico Kunze Küllmer
cc3b2ff8e9
evm, server: configurable tracer ( #434 )
...
* server: update server and enable configurable tracer
* config validation
* fix import cycle
* fix start
* update fields
* c++
* c++
2021-08-16 09:45:10 +00:00
Federico Kunze Küllmer
098da6d0cc
evm: code comments and cleanup ( #404 )
...
* evm: code comments and cleanup
* context comment
* abci, tx type event and metrics
* statedb comments
2021-08-05 16:24:06 +00:00
Federico Kunze Küllmer
9b9c835266
evm: dynamic fee tx ( #384 )
...
* evm: dynamic fee tx
* proto message
* fix
* lint
2021-07-30 11:40:17 +00:00
Thomas Nguy
63aa0de1e8
evm: update error format ( #350 )
...
* return geth error format
* fix format in gasestimate
* deal with other evm errors
* fix import
* fix lint
* add test
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-28 15:50:05 +00:00
yihuang
54581269b8
evm: change log tx index to index in block ( #354 )
...
Closes #334
2021-07-26 04:40:59 -04:00
Thomas Nguy
0276f3465d
rpc: fix Bloom filter response ( #321 )
...
* fix bloomfilter in rpc response
* add comments
2021-07-20 15:16:02 +00:00
yihuang
14b38af8bc
rpc, evm: use binary search to estimate gas ( #272 )
...
* do binary search to estimate gas
Closes #268
- Also refactor ApplyMessage to be more reuseable
move binary search to rpc api side to have a clean context each try
remove EstimateGas grpc api
* extract BinSearch function and add unit test
* do estimateGas in grpc query
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-19 15:19:23 +00:00
yihuang
297a35dbdd
evm: treat all vm errors the same as reverted ( #276 )
...
Closes : #274
evm: fix `ExtraEIP` activation (#288 )
Closes : #287
Update x/evm/types/utils.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Add `Failed` utility function and changelog
2021-07-15 02:01:05 -04:00
yihuang
84febdddae
evm: fix ExtraEIP
activation ( #288 )
...
Closes : #287
2021-07-14 11:10:31 +00:00
Federico Kunze Küllmer
e09bf23bd0
evm: move ChainConfig
to Params
( #266 )
...
* evm: move ChainConfig to Params
* fixes
* fix test
2021-07-14 05:13:55 -04:00
yihuang
1a48e09e78
rpc: implement eth_getPendingTransactions
( #259 )
...
* Implement `eth_getPendingTransactions`
Closes #244
* refactor repeatitive code
* Update ethereum/rpc/namespaces/eth/api.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update ethereum/rpc/namespaces/eth/api.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update ethereum/rpc/namespaces/eth/api.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* Update ethereum/rpc/namespaces/eth/api.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
* test UnwrapEthereumMsg
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-12 17:42:53 +00:00
yihuang
0020e4f2cd
grpc: add eth_call
query command ( #236 )
...
* add eth_call query command
Implement EthCall grpc query api
Closes #229
add eth_call query command
fix codec issue
use query client
use grpc status error and codes
validate address length in grpc handler
* Update x/evm/types/callargs.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-09 09:04:46 +00:00
Federico Kunze Küllmer
623863231b
evm, rpc: query ChainConfig via gRPC ( #239 )
...
* evm, rpc: query ChainConfig via gRPC
* c++
2021-07-08 14:46:42 +00:00
Thomas Nguy
735f00d4a3
evm: store reverted tx as not failed ( #228 )
...
* add tx when evm revert
* add comment
* use cache ctx
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-08 08:14:11 +00:00
Federico Kunze Küllmer
5f1f252361
evm: TxData
as proto.Any
( #220 )
...
* evm: TxData as proto.Any
* proto message
* fix protobuf any generation
* Int pointer
* fix build and tests
* ante tests
* swagger
* cleanup
* c++
2021-07-05 16:39:08 +00:00
yihuang
e6f1874cfc
rpc: extract sender address from msg signature ( #217 )
...
* extract real from address in rpc tx query api
Closes : #210
* Update x/evm/types/msg.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-07-02 09:34:15 +00:00
yihuang
6e983a9da1
rpc: fix balance overflow ( #219 )
...
Closes #218
2021-07-02 05:29:47 -04:00