maskpp
016b30eb7d
refactor(trace): move TransactionData into l2trace.go ( #189 )
...
combine trace_block.go
2022-12-02 10:46:26 +08:00
maskpp
4ea77a7577
feat(tx): revert tx trace struct ( #186 )
...
revert tx trace struct
2022-11-25 10:56:12 +08:00
maskpp
0bdd2e0575
fix(tx): fix bug in *TransactionData UnmarshalJSON ( #184 )
...
* Fix bug for TransactionData json unmarshal
* clean up
Co-authored-by: HAOYUatHZ <haoyu@protonmail.com>
2022-11-21 12:37:53 +08:00
maskpp
22963a115d
feat(trace): Add header and upgrade TransactionTrace ( #181 )
...
* Add header and upgrade TransactionTrace
* Add header
* change blockResult struct
* rm chainID from TransactionData
* Rename blockResult to blockTrace in everywhere
* fix comments
2022-11-18 17:11:04 +08:00
Péter Garamvölgyi
61e2bdd05f
feat: return 0 for op DIFFICULTY ( #167 )
2022-10-27 17:31:45 +08:00
Ho
e6500918a0
refactor: adapt to standalone zktrie module ( #165 )
...
* adapt zktrie: zktrie part
* adapt unittests
* pass tests
* refactor for new zktrie module
* run go imports
2022-10-17 14:32:42 +08:00
Ho
4ee7885525
Fix witness generator for failed call/create op and tx ( #146 )
...
* update test examples
* update tests
* solidify account deleting
* update zkwriter for reverting
* solid handling for call, and update test examples
* fix status capture for CREATE issue, update test examples
* add fail case for deploy
* update test example (call non-exist address)
* move test and stuffs to internal path, make required exports
* fix issue in selfdestruct
* update destruct test
* lint
* rename traces
2022-10-10 17:13:24 +08:00
maskpp
3a7da33cd5
fix: fix not using point for sync.Pool recycling ( #158 )
...
fix bug
2022-09-20 15:05:44 +08:00
maskpp
15391eeaf7
feat: add replay blockResult API ( #139 )
...
* replay trace
* replay trace
* add sdk
* fix trace test case
* fix bug
* Update eth/tracers/api_blockResult.go
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
* Update eth/tracers/api_blockResult.go
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
* Update eth/tracers/api_blockResult.go
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
* Update eth/tracers/api_blockResult.go
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
* add comments
* fail the rpc call if get error
* adjust channel length
* fix bug
* fix bug
* remove redundant codes in worker
* add test case
* fix bug
* fix goimports
* Update eth/tracers/api_blockResult.go
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
* fix comments
* Update ethclient/ethclient.go
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
* Update ethclient/ethclient.go
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
* rm coinbase api in miner
* fix comment
* Update eth/tracers/api.go
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
* fix comment
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
2022-09-20 14:30:57 +08:00
Ho
edbb595e66
Trace the account accessed by EXTCODE op ( #157 )
...
add account touch by 'EXTCODE' for storeTrace
2022-09-17 22:44:29 -07:00
maskpp
9182a74334
fix logs error tracing ( #154 )
...
* fix err handle
* fix err handle
* fix err handle
2022-09-13 11:15:31 +08:00
Péter Garamvölgyi
304af60f50
feat: change bytecode hash function from Keccak to Poseidon ( #149 )
...
* feat: change bytecode hash function from Keccak to Poseidon
* fix TestStateProcessorErrors
* rename files
* copy iden3's poseidon package to local
* update poseidon hash
* apply new hash in codehash
* extend hash method, use actual code size as cap
* prune keccak(nil) for empty code
* update empty code hash references to Poseidon
* add TestPoseidonCodeHash
* use keccak for empty code hash
* go mod tidy
* goimports
* use Poseidon code hash in state and sync tests
* run goimports
* run goimports
* remove unnecessary reallocation from CodeHash
* goimports
* move codehash API to separate module
* add missing package
* fix review comments
* improve comments
Co-authored-by: Ho Vei <noelwei@gmail.com>
2022-09-08 06:16:17 +08:00
Péter Garamvölgyi
00ed553a57
feat: disable SELFDESTRUCT opcode in l2geth ( #147 )
...
* feat: disable SELFDESTRUCT opcode in l2geth
* remove deadcode
2022-08-22 14:17:57 -07:00
maskpp
01a0618b02
fix: reset trace Error field when finalizing ( #143 )
2022-08-18 10:22:36 +08:00
maskpp
dd76f3425a
feat: add txHash in blockResult ( #142 )
...
add txHash in blockResult
2022-08-15 16:43:08 +08:00
Ho
f9952a396f
unify byte order in zktrie node's fields being stored ( #133 )
2022-07-28 21:32:42 +08:00
HAOYUatHZ
eb11a84c56
fix(trace): add more opcode handlings ( #128 )
2022-07-24 21:39:33 +08:00
Ho
3682e05f3f
zktrie part3: include zktrie witness in block trace; add demo for generating witness data for mpt circuit ( #123 )
...
* demo for witness generator
* add simple binary for witness generating
* revert the witgen utility
* purge some code
* induce mptwitness argument
* handle case for failed tx, and special block in POA
* mptwitness: refactor for enabling output ops with different order
* induce witness gen with rwtable order
* self-documenting options for mptwitness
* fix trace flag according to review
* fix issue in handling failed tx
* refactor
* update according to reviews
Co-authored-by: HAOYUatHZ <haoyu@protonmail.com>
2022-07-16 07:00:07 +08:00
Ho
c516a9e477
zktrie part2: add zktrie; allow switch trie type by config; ( #113 )
...
* induce zktrie
* refactoring zktrie
* fix crash issue in logger
* renaming JSON field
* unify hash scheme
* goimport and mod lint
* backward compatible with go 1.17
* lints
* add option on genesis file
* corrections according to the reviews
* trivial fixes: ValueKey entry, key in prove nodes
* fixing for the proof fix ...
* avoiding panic before loading stateDb in genesis setup
* revert ExtraData.StateList json annotation for compatibility
* fix goimports lint
* fix goimports lint
* better encoding for leaf node
* fix proof's printing issue, add handling on coinbase
* update genesis, and rule out snapshot in zktrie mode
* update readme and lint
* fix an issue
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
Co-authored-by: HAOYUatHZ <haoyu@protonmail.com>
2022-06-27 11:17:02 +08:00
maskpp
f731427282
fix(trace): change error type to string ( #119 )
...
* Fix bug of error type
* Fix bug of error type
2022-06-23 16:00:36 +08:00
HAOYUatHZ
21b65f4944
core/vm: Make INVALID a defined opcode ( #118 )
...
core/vm: Make INVALID a defined opcode (#24017 )
* core/vm: Define 0xfe opcode as INVALID
* core/vm: Remove opInvalid as opUndefined handles it
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Andrei Maiboroda <andrei@ethereum.org>
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
2022-06-22 17:18:47 +08:00
maskpp
e15d0d35cb
fix: fix codeList type ( #117 )
2022-06-21 18:25:07 +08:00
Zhang Zhuo
d3bc8322dc
zktrie part1: change storage proof from per step to per block ( #102 )
...
* change storage proof from step-wise to block-wise. Step-wise proof will be reconstructed in prover side
* minor
* minor
* Update worker.go
* purge hexInt
* Update l2trace.go
* Refactor l2witness/opt-storage-proof (#112 )
* rename GetStateData to GetLiveStateObject
* revert EvmTxTraces type
* rename GetLiveStateObject to GetLiveStateAccount
* fix typo
* some renamings
* format codes
* fix typo
* fix typos
* format codes
some reverts
some renamings
some renamings
format codes
* update comments
update comments
* update comments
update comments
update comments
* update comments
update comments
update comments
* rename
* rename
* update
* update comments
Co-authored-by: maskpp <maskpp266@gmail.com>
Co-authored-by: Ho Vei <noelwei@gmail.com>
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
2022-06-08 12:26:50 +08:00
maskpp
9b99f2e174
fix bug and optimize fill_trace logic for gc ( #104 )
...
* fix bug and upgrade trace code
* minor
* refactor (#105 )
* move
* add comments
* fix typo
* update comments
* rename extraData()
* update comments
Co-authored-by: HAOYUatHZ <haoyu@protonmail.com>
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
2022-05-26 10:35:27 +08:00
maskpp
9199413d21
opt: improve trace handling logic to decrease GC pressure. ( #92 )
...
* Upgrade trace code to decrease GC pressure.
* Fix golangci bug
* Add goproxy
* update docker file
* trigger ci
* trigger ci
* Upgrade code
* Upgrade code
* trigger ci
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
2022-05-18 22:38:15 +08:00
HAOYUatHZ
571dcad4be
feat: add to AccountProof to trace ( #98 )
...
* init to
* update
* fix `to` address
* fix
* fix
* refactor
2022-05-18 05:43:43 +08:00
maskpp
0541145fd6
feat: add config for blockResult cache_limit ( #97 )
...
* Let blockResult limit settable
* fix bug
* Update cmd/geth/usage.go
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
2022-05-16 18:41:40 +08:00
maskpp
a79e72f697
refactor: optimize and improve tps for contract call. ( #83 )
...
* upgrade block trace
* upgrade block trace
* Correct comments
2022-05-04 10:12:17 +08:00
HAOYUatHZ
06190d0642
fix FormatLogs memory ( #75 )
2022-04-02 11:25:07 +08:00
HAOYUatHZ
3d3c9d3edf
fix bigInt encoding ( #74 )
...
* fix bigInt encoding
* fix balance
2022-04-02 10:13:04 +08:00
maskpp
b714e22893
fix bug of null baseFee ( #73 )
...
* fix bug of null baseFee
* Update l2trace_block.go
* Update l2trace_block.go
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
2022-04-01 20:40:34 +08:00
HAOYUatHZ
33fcd2bf6d
fix(trace): use string for big.Int ( #72 )
2022-04-01 16:56:01 +08:00
maskpp
2329d32409
fix(trace): fix incorrect sender state info. ( #71 )
2022-04-01 16:07:26 +08:00
maskpp
40e8f088b6
opt: upgrade blockResult process flow ( #68 )
...
* upgrade blockResult process flow
* fix format optimization
2022-03-31 18:01:14 +08:00
HAOYUatHZ
a96775b3ff
fix code_hash json annotation ( #64 )
2022-03-31 15:08:04 +08:00
maskpp
fccb5bf6ec
fix bug about get the trace of opcode ( #67 )
2022-03-31 15:00:55 +08:00
HAOYUatHZ
9f1d8552e4
feat: add RefundCounter to StructLogRes ( #66 )
2022-03-31 13:11:34 +08:00
maskpp
e55d05d3ab
optimizate code ( #63 )
2022-03-31 11:37:33 +08:00
HAOYUatHZ
360115e61f
add code_hash to trace
2022-03-30 15:17:57 +08:00
HAOYUatHZ
8ccc10541d
feat(trace): add coinbase account_proof ( #58 )
2022-03-30 13:46:16 +08:00
Steven
5128154925
fix CaptureState ( #56 )
...
* Move code of `captureStateAfter` to `captureState`, and refactor some
code.
* Fix to use the right key in `traceStorageProof`.
* clean up
* Update `capatureStateAfter`.
* fix
* fix
* Get storage key from stack of last log.
* Revert wrong fix.
* minor
Co-authored-by: HAOYUatHZ <haoyu@protonmail.com>
2022-03-28 23:02:48 +08:00
Steven
b6cc89fabe
Add goimports lint ( #54 )
...
* Add `goimports` lint.
* Fix `goimports` issue.
* Fix group to `github.com/scroll-tech/go-thereum`.
2022-03-24 16:53:59 +08:00
HAOYUatHZ
f8532484a6
improve doc for OpcodeExecs ( #48 )
2022-03-21 13:10:11 +08:00
maskpp
09a31ccc66
Upgrade txpool module to increase tps ( #43 )
2022-03-21 08:52:13 +08:00
HAOYUatHZ
13ea5c234b
fix(trace): update proofList struct ( #46 )
2022-03-19 13:28:25 +08:00
HAOYUatHZ
9fb413d702
fix(trace): rename BlockTrace.Transaction to BlockTrace.Transactions ( #47 )
2022-03-18 11:24:57 +08:00
HAOYUatHZ
3b4875c0d5
minor: update comments ( #45 )
2022-03-16 20:46:16 +08:00
HAOYUatHZ
a5999cee90
fix(trace): change codeHash to code ( #44 )
2022-03-16 16:17:50 +08:00
maskpp
69c291cf7a
feat: add more data into the execution trace ( #20 )
2022-02-21 10:15:57 +08:00
maskpp
7745fd5840
Extract execution trace from EVM execution and provide subscription API ( #19 )
...
* Create go.yml
* Merge from zkrollup and fix conflict
* go mod tidy
* fix worker_test test case
* fix worker_test test case
* Delete go.yml
* add log content, enable memory trace
* add tracer pool handler
* Add comments and format code
* add evmTrace subscribe api
* Move the evmTrace struct.
* Fix miner bug.
* upgrade evmTrace api
* fix bug about evmTracesByHash api
* Fix the bug about block.timestamp and remove unnecessary copy.
* Update eth/filters/api.go
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
* Upgrade comments.
* Delete useless code in test file
* Update miner/worker.go
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
* Change the return result to BlockResult.
* Change return type.
* Change blockResult to blockResults.
* Add ReturnValue.
* Update core/rawdb/l2trace.go
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
* Update core/rawdb/l2trace.go
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
* Update core/types/l2trace.go
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
* Add indent to the comment and rm json encoding flag.
* Rm json encoding flag.
* Update core/rawdb/l2trace.go
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
* Rm json encoding flag.
* Update ethclient/ethclient.go
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
* Update eth/filters/api.go
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
* Use as the blockResult prefix flag.
* Update eth/filters/filter_system.go
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
* Update eth/filters/filter_system.go
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
* Update ethclient/ethclient.go
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
* Update eth/filters/api.go
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
Co-authored-by: Haichen Shen <shenhaichen@gmail.com>
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
2022-01-23 20:41:15 +08:00