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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
117342b1b3
all, deps: bump go-ethereum version ( #5 )
...
* evm, rpc: access lists, JSON-RPC and transaction updates (wip)
* ante, evm, rpc: update signature verification
* evm: msg server and tests updates
* evm: tests (wip)
* evm: fix cdc and params
* evm: cleanup state transition
* fix nil cases
* lint
2021-05-10 12:34:00 -04:00
Federico Kunze
6f7470c2e0
build
2021-04-18 19:23:26 +02:00
Federico Kunze
614e62fb7e
additions
2021-04-18 17:54:18 +02:00
Federico Kunze
5a3d514ba0
conflicts
2021-04-17 12:00:07 +02:00