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
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
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
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
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
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
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
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
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
22623a4090
evm: fix keeper tests ( #516 )
...
* evm: fix keeper tests
* rm func
* fix
2021-09-02 08:42:55 +00:00
Federico Kunze Küllmer
516ffe2bf1
evm: GetHashFn test ( #515 )
2021-08-31 15:58:46 +00:00
Federico Kunze Küllmer
87c4ea2dc2
evm: benchmark state DB ( #514 )
...
* evm: benchmark state DB
* add more bech funcs
* rm func from interface
2021-08-31 12:50:31 +00:00
JayT106
9a8827e790
evm: increase performance of tx Log
storage ( #461 )
...
* revise the way of the logs store into the stateDB
* wording
* refine GetTxLogs/SetLogs
* nit
* add bytes_uint16 convert helper
* using helper to instead of big.Int
* nit
* helper tests and fixes
* handle the logs length in SetLogs
* revise Get/Set logs with store.iterator
* remove Bytes<->Uint16 functions
* remove unused const
* simplify SetLog(s)
* make logs return determinism
* Add comments
* update changelog
* Update CHANGELOG.md
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-08-31 08:32:11 +00:00
yihuang
a5ab608336
evm: benchmark contract execution ( #436 )
...
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-08-30 03:14:58 +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
crypto-facs
fc46430e0f
evm: decouple tracer from evm creation ( #459 )
2021-08-19 04:18:20 -04:00
Federico Kunze Küllmer
83c838330f
rpc: configure gas cap ( #457 )
...
* rpc: configure gas cap
* c++
* rm old const
* docs
2021-08-18 14:11:51 +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
yihuang
353455def9
evm: prepare access list in eth_call
( #348 )
...
Closes : #335
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-08-16 08:19:27 +00:00
Federico Kunze Küllmer
ff8f63e99b
evm: fix params ( #437 )
2021-08-15 14:54:44 +00:00
yihuang
9227e78c79
evm: use stack of contexts to implement snapshot revert ( #399 )
...
* use stack of contexts to implement snapshot revert
Closes #338
add exception revert test case
verify partial revert
mutate state after the reverted subcall
polish
update comments
name the module after the type name
remove the unnecessary Snapshot in outer layer
and add snapshot unit test
assert context stack is clean after tx processing
cleanups
fix context revert
fix comments
update comments
it's ok to commit in failed case too
Update x/evm/keeper/context_stack.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Update x/evm/keeper/context_stack.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
Update x/evm/keeper/context_stack.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
update comment and error message
add comment to cacheContext
k -> cs
Update x/evm/keeper/context_stack.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
evm can handle state revert
renames and unit tests
* use table driven tests
* keep all the cosmos events
* changelog
* check for if commit function is nil
* fix changelog
* Update x/evm/keeper/context_stack.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-08-10 07:22:46 +00:00
yihuang
73c2f8e529
evm: re-emit the cosmos events from cache context ( #415 )
...
Closes : #414
2021-08-09 09:38:43 +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
yihuang
9bf3659718
evm: use clean context for GetCommittedState
( #383 )
...
* keep the original context for GetCommittedState api
* fix method mutation
* keep estimateGas consistant
* added test after the original context is recovered
* add integration test for the gas consumption of sstore
* test the committed case
* move methods to keeper module
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-08-04 07:49:02 +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
Federico Kunze Küllmer
bc2a2eb8f3
evm: fix get storage ( #375 )
2021-07-27 14:33:56 +00:00
yihuang
54581269b8
evm: change log tx index to index in block ( #354 )
...
Closes #334
2021-07-26 04:40:59 -04:00
yihuang
2828fa1e62
evm: fix keep balance when resetting an account ( #353 )
...
* keep balance when override account
* Update CHANGELOG.md
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-26 08:15:59 +00:00
yihuang
f6dc80d949
evm: estimate gas unit tests ( #324 )
...
* add some unit tests for estimateGas
Also add some test environment setup, Closes #323
test estimateGas of erc20 token transfer
fix failed test case
the trick is to keep a clean transient store, by doing a commit
put artifacts to external file
* fix test failure
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-23 14:24:36 +00:00
yihuang
d54663c0b8
evm: fix infinite context usage on EndBlock
( #329 )
...
The previous code is not incorrect since the method `SetBlockBloom` use the `ctx` passed in rather than the `k.ctx`.
It's confusing that sometimes methods use ctx in parameter, sometimes use `k.ctx`, but that's another issue.
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-21 11:57:30 +00: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
Thomas Nguy
c8b88a3a8b
evm, rpc: fix parameters and block gas limit in getBlockByHeight
and getBlockByHash
( #312 )
...
* fix evm set parameters
* recompute header hash only if its not set
* Update x/evm/keeper/state_transition.go
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-19 01:52:44 +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
Federico Kunze Küllmer
9d1ce30ecd
evm: use block proposer address for COINBASE
opcode ( #291 )
...
* evm: use block proposer address for COINBASE opcode
* test
* c++
2021-07-14 20:44:51 +00:00
Thomas Nguy
aab793e7f4
rpc: fix BlockBloom
not found in header ( #258 )
...
* fix context index
* return default bloom if cannot be found
* fix blockbloom error
* fix setting blockbloom transient in ctx
* clean comments
* remove unused method
* update changelog
* Update CHANGELOG.md
Co-authored-by: Federico Kunze Küllmer <31522760+fedekunze@users.noreply.github.com>
2021-07-14 09:40:58 +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
Federico Kunze Küllmer
c6dae31231
evm: fix BlockBloom
not found for latest height ( #263 )
2021-07-12 10:25:15 +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
6e983a9da1
rpc: fix balance overflow ( #219 )
...
Closes #218
2021-07-02 05:29:47 -04:00
Federico Kunze Küllmer
86e30e8fa3
feat: use sdk.Int
for TxData
( #208 )
...
* feat: use sdk.Int for TxData
* c++
* fix
* fix test
* fix rpc
* lint
2021-06-30 15:28:38 +00:00
yihuang
0113b4d2c0
fix: return ethereum-formatted tx hash to client ( #202 )
...
* return eth tx hash to client
Closes #67
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>
change GetTxByEthHash to method
add entry to changelog
* use eth tx hash internally
2021-06-30 05:35:11 -04:00
Thomas Nguy
5ba8ffe669
ante, evm: update gas consumption logic ( #178 )
...
* clean up logic by ignoring cosmos gas meter
* set gas used in txResponse
* reset and set the gas in context
* rename ante handler
* fix refundedgas logic
* remove gas update logic in keeper
* update context in keeper
* add test for EthSetupContextDecorator
* fix broken test due to gas logic change
2021-06-30 05:31:30 -04:00
yihuang
036ffb7a39
evm: update block bloom ( #193 )
...
Closes #139
2021-06-30 03:37:03 -04:00
Federico Kunze Küllmer
dcc9585595
all: bump SDK to v0.43.0-rc0
( #194 )
...
* all: bump SDK to v0.43.0-rc0
* more updates
* keys
* accounting
* update account
* ante changes
* readonly
* readonly build
* minor changes from self review
* fixes
* evm debug
* custom config & rosetta
* fix
2021-06-29 13:02:21 -04:00
crypto-facs
1363a45e93
fix: remove zero address validation ( #205 )
...
* fix: remove zero address validation
* test: update test invalid Ethereum address
* test: fix ValidateBassic test for invalid To address input
* remove unnecesary comment
* fix: remove zero address validation
* test: update test invalid Ethereum address
* test: fix ValidateBassic test for invalid To address input
* remove unnecesary comment
2021-06-29 11:08:07 -04:00
yihuang
336703cfc9
evm: fix AddLog
unmarshaling tx ( #192 )
...
* fix `AddLog` unmarshaling tx
Closes #187
* use cosmos tx in AddLog unit test
* Apply suggestions from code review
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2021-06-29 06:54:29 -04:00
Federico Kunze
365c96acfa
evm: update log tx hash key ( #182 )
...
* evm: update log tx hash key
* update test
2021-06-24 12:05:45 -04:00
Federico Kunze
6000ab2098
chore: un-fork from cosmos ( #166 )
...
* chore: un-fork from cosmos
* rm LoC
2021-06-22 06:49:18 -04:00
Thomas Nguy
fada59551d
rpc, evm: fix eth_coinbase
endpoint to return ethereum address of the validator node ( #153 )
...
* fix coinbase rpc endpoint to return ethereum address of the validator
* update changelog
* fix lint
* clean code and simplify logic
* fix changelog
* change request variable name and type
* add test
* fix proto comments
* fix proto comments
* Update x/evm/keeper/grpc_query.go
* Update x/evm/keeper/grpc_query.go
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2021-06-22 06:14:40 -04:00
Federico Kunze
4ca7c43b62
deps: bump SDK and Tendermint versions ( #165 )
...
* deps: bump SDK and Tendermint versions
* use header hash from context
* c++
* typo
2021-06-22 04:25:38 -04:00
hello-bwhour
d7da045fc4
ante: check that sender is a EOA ( #125 )
...
* ante: check that sender is a EOA
* fix: GetCodeSize handles nil case and comments
* docs: add TODO comment
* fix: use EmptyCodeHash check
* lint: evmtypes instead of types
* lint: fix suite error
* test: set code to act not as EOA
* undo comment on GetCodeSize
* keeper: fix input checks
* Apply suggestions from code review
Co-authored-by: Akash Khosla <me@akashkhosla.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2021-06-15 13:39:41 -04:00
Thomas Nguy
d3c5df9dda
evm: set chainID in context during BeginBlock
( #130 )
2021-06-15 07:53:19 -04:00
Federico Kunze
5af5dd9956
docs: update ADR-001 ( #122 )
...
* docs: update ADR-001
* update
* apply transaction changes:
2021-06-14 15:13:31 -04:00
Federico Kunze
bb91d8d93d
ante, evm: fix panic when checking BlockGasMeter
( #120 )
...
* ante, evm: fix panic when checking BlockGasMeter
* update block gas limit function
2021-06-14 10:24:08 -04:00
Federico Kunze
5fe785e917
evm: stacktrace errors for keeper ( #105 )
...
* evm: stacktrace errors for keeper
* fix godoc
2021-06-11 10:29:28 -04:00
Federico Kunze
0c6e44d3d3
evm: remove CommitStateDB
, journal
and stateObject
( #84 )
...
* evm: remove CommitStateDB and stateObject
* imported build fixes
* lint
* rm set nonce
* update account response
* changelog
2021-06-08 13:10:29 -04:00
Federico Kunze
6eadc8fdf8
rpc, evm: remove tx Receipt
( #81 )
...
* rpc, evm: remove tc receipt
* rm receipt from gRPC query service
* update eth block
* update tx service response
* rpc tx fixes
* update bloom
* fix
* more fixes
* c++
2021-06-08 07:11:37 -04:00
Akash Khosla
e3270aee5d
lint: fix many broken lint issues ( #49 )
...
* lint: fix many broken lint issues
* more lint issues resolved
* more lint issues resolved
* all actions issues fixed
* pin variables for websocket
* Update .github/workflows/lint.yml
* more fixes
* fix lint issues in pubsub, rpc, types
* fix lint issues in statedb, journal, pubsub, cli
* fix comment
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2021-06-08 03:07:11 -04:00
Federico Kunze
1ff3c46663
evm: replace block hash storage ( #80 )
...
* evm: replace block hash storage
* c++
2021-06-07 07:00:14 -04:00
Federico Kunze
e639cb4a82
evm: use TransientStore
for AccessList
( #75 )
...
* evm: use transient store for access list
* evm: remove address and slot access list mappings
* update tests
* update
* changelog
* update types
2021-06-07 06:05:49 -04:00
Federico Kunze
b77aab43bb
evm: refactor state transition ( #41 )
...
* evm: keeper statedb refactor
* keeper: implement stateDB account, balance, nonce and suicide functions
* keeper: implement stateDB code and iterator functions
* keeper: implement stateDB log and preimage functions
* update code to use CommitStateDB
* tests updates
* journal changes (wip)
* cache fields
* journal and logs
* minor cleanup
* evm: state transition refactor
* evm: unpack revert errors
* evm: update state transition (wip)
* evm: remove journal related changes
* evm: delete empty account code and storage state
* update gas limit
* evm: header hash to/from context
* evm: minor params and state transition changes
* ante: state transition changes
* ante: refactor default sig gas consumer
* ante: ignore gas costs from ops other than intrinsic gas
* ante: CanTransferDecorator
* evm: refund gas
* update comments
* state transition comments
* ante: CanTransfer and AccessList decorator tests
* evm: cleanup state transition
* ignore nonce increment during ante handler on contract creation
* fix ante tests
* more test fixes
2021-06-02 04:52:53 -04:00
Federico Kunze
c08dcfad0c
keeper: StateDB
unit tests ( #47 )
...
* keeper: statedb unit tests
* evm: balance tests
* evm: nonce and code tests
* evm: refund test
* evm: fix tx encoding
* storage and access list tests
2021-06-02 04:06:12 -04:00
Federico Kunze
abcfc9a6ba
evm: error and block hash map updates ( #60 )
...
* evm: error and block hash map updates
* evm: update tests
2021-05-31 10:54:59 -04:00
Federico Kunze
9a5654f70d
ante: AnteHandler
changes from state transition refactor ( #56 )
...
* ante: cherry-pick changes from state transition refactor
* ante: test setup
* ante: fixes
* ante: test (wip)
* ante: finish unit tests
* ante: intrinsic gas test
* ante: chaindecorators test (wip)
* update tests
* ante: cleanup tests
* ante: add test consuption test
2021-05-31 05:05:32 -04:00
Federico Kunze
0805bf80e5
evm: fix EndBlock
panic ( #51 )
2021-05-27 05:26:01 -04:00
Federico Kunze
6c1e7fec01
app, ante, evm: Keeper
StateDB
refactor ( #30 )
...
* evm: keeper statedb refactor
* keeper: implement stateDB account, balance, nonce and suicide functions
* keeper: implement stateDB code and iterator functions
* keeper: implement stateDB log and preimage functions
* update code to use CommitStateDB
* tests updates
* journal changes (wip)
* cache fields
* journal and logs
* minor cleanup
* evm: remove journal related changes
* evm: delete empty account code and storage state
* app, evm: transient store
* ante, evm: refund gas transient
* evm: remove transient keeper state fields
* address comments from review
* evm: undo revision change
2021-05-25 08:56:36 -04:00
Federico Kunze
2c722d03ce
rpc, evm: gRPC tests ( #28 )
...
* rpc, evm: grpc tests
* address validation
* update rpc
* test cleanup
* additional tests
2021-05-17 06:13:08 -04:00
Federico Kunze
b3066f2631
evm: SDK metrics ( #24 )
...
* evm: SDK metrics
* update BeginBlock
* changelog
2021-05-14 17:44:58 -04:00
Federico Kunze
ba5bf33f19
proto, evm: use string for address and hash protobuf message fields ( #23 )
...
* proto, evm: use string for address and hash protobuf message fields
* fix tests
* msg test
2021-05-14 02:52:18 -04:00