Daniel Liu
2dcec889e6
core/state: do not ignore null addr while iterative dump #27320 ( #1223 )
...
fixes bug which caused the zero-address to be ignored during an iterative state-dump.
---------
Co-authored-by: Park Changwan <pcw109550@gmail.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
2025-08-29 05:25:15 +08:00
Daniel Liu
bbc4612d9f
core/state: remove notion of fake storage #24916 ( #1219 )
2025-08-29 05:24:28 +08:00
Daniel Liu
3fed9ebeb8
core, eth, trie: rework preimage store #25287 ( #1099 )
...
* core, trie, eth, cmd: rework preimage store
* trie: address comment
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2025-08-29 05:22:44 +08:00
Daniel Liu
0be5580b98
all: use big.Sign to compare with zero #29490 ( #1387 )
2025-08-28 18:56:39 +08:00
Daniel Liu
3926b08074
core/state: maintain destruction flag by default #26371 ( #1218 )
2025-08-28 18:51:36 +08:00
Daniel Liu
152e3d9923
core/state: return error when storage trie can't be opened #26350 ( #1216 )
...
This changes the StorageTrie method to return an error when the trie
is not available. It used to return an 'empty trie' in this case, but that's
not possible anymore under PBSS.
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2025-08-26 15:31:00 +08:00
Daniel Liu
4a4de2319f
core/state: fix typos and comments ( #1206 )
...
Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
2025-08-26 15:22:37 +08:00
Daniel Liu
18d2dbad89
core, trie: port snap sync changes #24898 ( #1096 )
...
core, eth, les, trie: rework snap sync
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2025-08-26 15:20:39 +08:00
Daniel Liu
6f36533962
all: remove ethash pow 27178 ( #1378 )
2025-08-26 11:54:01 +08:00
Daniel Liu
144fbbf35a
core: reset txpool on sethead #26392 ( #1373 )
2025-08-22 16:45:41 +08:00
Daniel Liu
516883d14c
all: snapshot dump + unify with trie dump #22795 ( #1205 )
2025-08-22 16:39:28 +08:00
Daniel Liu
d52bfaa5ca
all: introduce trie owner notion #24750 ( #1090 )
...
* cmd, core/state, light, trie, eth: add trie owner notion
* all: refactor
* tests: fix goimports
* core/state/snapshot: fix ineffasigns
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
2025-08-22 16:37:39 +08:00
Daniel Liu
ee81b721fc
core, trie: implement trie tracer #24403 ( #1088 )
...
Trie tracer is an auxiliary tool to capture all deleted nodes
which can't be captured by trie.Committer. The deleted nodes
can be removed from the disk later.
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2025-08-21 13:38:56 +08:00
Daniel Liu
0c57a6c64c
core/state: remove toAddr helper in tests #22772 ( #1203 )
...
Co-authored-by: aaronbuchwald <aaron.buchwald56@gmail.com>
2025-08-21 13:38:23 +08:00
Daniel Liu
da624be994
core/state: fix panic in state dumping #22225 ( #1202 )
...
Co-authored-by: Martin Holst Swende <martin@swende.se>
2025-08-21 13:37:51 +08:00
Daniel Liu
06d94520ba
core/state: fix some comments #21450 ( #1201 )
2025-08-21 13:36:45 +08:00
Daniel Liu
eaa1452a53
core/state: add state transition tool for testing #20958 ( #1200 )
2025-08-20 16:30:34 +08:00
Daniel Liu
9c6816eab6
core/vm: make time field use uint64 #26474 ( #1319 )
2025-08-20 15:22:06 +08:00
Daniel Liu
9cad0a0cc0
all: create global hasher pool #31769 ( #1233 )
...
This PR creates a global hasher pool that can be used by all packages.
It also removes a bunch of the package local pools.
It also updates a few locations to use available hashers or the global
hashing pool to reduce allocations all over the codebase.
This change should reduce global allocation count by ~1%
---------
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2025-08-20 15:11:09 +08:00
Daniel Liu
628e1e52bb
core/state: make GetCodeSize mirror GetCode implementation wise #21056 ( #1198 )
...
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2025-08-20 15:08:05 +08:00
Daniel Liu
9013bfbf6f
core/state: include zero-address in state dump if present #21038 ( #1195 )
...
* Include 0x0000 address into the dump if it is present
* core/state: go fmt
Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Alexey Akhunov <akhounov@gmail.com>
2025-08-20 15:06:37 +08:00
Daniel Liu
a2cf4e3111
core: fix deprecation comment for GenesisAccount #29218 ( #1323 )
2025-08-08 10:35:58 +08:00
Daniel Liu
34020969ff
all: simplify timestamps to uint64 #19372 ( #1318 )
2025-08-08 10:33:37 +08:00
Daniel Liu
36374be05f
eth/tracers: move tracing APIs into eth/tracers #22161 #22473 ( #1252 )
2025-08-08 10:25:43 +08:00
Daniel Liu
cdd6a9eb94
eth: add debug_accountRange API #19645 ( #1194 )
...
This new API allows reading accounts and their content by address range.
Co-authored-by: Wenbiao Zheng <delweng@gmail.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Felix Lange <fjl@twurst.com>
2025-08-08 09:55:17 +08:00
Daniel Liu
8750881da2
trie: remove the sync bloom, used by fast sync #24047 ( #1077 )
2025-08-08 09:31:26 +08:00
Daniel Liu
3da4549e07
core/state: move state account to core/types + abstracted write account to trie #23567 ( #1072 )
2025-08-08 09:13:34 +08:00
Daniel Liu
cd407af1aa
core/rawdb: add HasCode, HasTrieNode and use them where possible #24454 ( #1211 )
2025-08-04 14:42:13 +08:00
Daniel Liu
3620d9930d
core/vm: use clear from go v1.21 #29307 ( #1246 )
2025-08-04 11:54:49 +08:00
Daniel Liu
f9025ecc91
core/state: unexport NodeIterator #27239 ( #1222 )
...
Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
2025-08-04 11:53:31 +08:00
Daniel Liu
1d9fd6bdd2
core: show db error-info in case of mismatched hash root #26870 ( #1220 )
...
When a database failure occurs, bubble it up a into statedb, and report it in suitable places, such as during a 'bad block' report.
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
2025-08-04 11:51:47 +08:00
Daniel Liu
cb888541c5
core, trie: add state metrics #23433 ( #1071 )
2025-08-04 11:19:42 +08:00
Daniel Liu
52f5766059
core: pre-allocate in Copy() #25279 ( #1213 )
2025-07-28 16:57:51 +08:00
Daniel Liu
2eac17980c
core/state: avoid statedb.dbErr due to emptyCode #21051 ( #1197 )
2025-07-28 16:55:29 +08:00
Daniel Liu
cdd48dd4de
core/state: fix staticcheck warnings #20357 ( #1193 )
2025-07-28 16:53:27 +08:00
Daniel Liu
77522e51ec
core, trie: decode the value for storage dump #19943 ( #1189 )
...
* core, trie: decode the value for storage dump
* core/state: address comment
Co-authored-by: gary rong <garyrong0905@gmail.com>
2025-07-28 16:52:06 +08:00
benjamin202410
db9c3de1dc
add syncinfo pool ( #1236 )
...
* add syncinfo message into pool for process later
* add missing file back
---------
Co-authored-by: liam.lai <liam.lai@us>
2025-07-28 01:43:41 -07:00
Daniel Liu
85f08c7732
eth: skip VerifyHeader in traceBlock to fix #1185 ( #1265 )
2025-07-26 18:18:50 +08:00
Daniel Liu
7bb2c7793b
core/vm: delete unused error #29062 ( #1245 )
2025-07-26 17:45:31 +08:00
Daniel Liu
6f6e08f83b
core/vm: prevent overflow #29023 ( #1244 )
2025-07-26 17:44:45 +08:00
Daniel Liu
42d3549e2c
core: using math.MaxUint64 instead of 0xffffffffffffffff #29022 #29024 ( #1243 )
2025-07-26 17:43:36 +08:00
Daniel Liu
5561c27308
core: fix typos ( #1237 )
...
fixes various typos in core
Co-authored-by: 0xbstn <bastien-bouge@hotmail.fr>
2025-07-26 17:42:50 +08:00
Daniel Liu
32b929e781
core/vm/runtime: add Random field to config #28001 ( #1234 )
2025-07-26 17:41:56 +08:00
Daniel Liu
8f76709a10
core/vm, go.mod: update uint256 to v1.3.2 and use faster method #30868 ( #1241 )
2025-07-17 17:56:53 +08:00
Daniel Liu
4b4980d949
core/vm: set basefee to 0 internally on eth_call #28470 ( #1238 )
2025-07-17 17:54:23 +08:00
Daniel Liu
dc01dba464
core/vm: minor code formatting #28199 ( #1235 )
...
Adding a space beween function opOrigin() and opcCaller() in instruciton.go.
Adding a space beween function opkeccak256() and opAddress() in instruciton.go.
Co-authored-by: hzysvilla <ecjgvmhc@gmail.com>
2025-07-17 17:53:02 +08:00
Daniel Liu
c46302cf65
all: fix invalid signer list on checkpoint block for trace api #1185 ( #1186 )
2025-07-12 06:56:30 +08:00
Daniel Liu
ae006030c6
core: fill blockNumber in logs #26345 ( #1215 )
2025-07-11 10:53:48 +08:00
Daniel Liu
6f84f67a15
core: rename CommitTrie to commitTrie #25896 ( #1214 )
2025-07-11 10:48:10 +08:00
Daniel Liu
34a245fbc8
all: use common.FileExist for checking file existence #24748 ( #1212 )
2025-07-11 10:42:51 +08:00
Daniel Liu
f272ce1123
core/rawdb: add func HasCodeWithPrefix and HasTrieNode #24117 ( #1210 )
2025-07-11 10:37:10 +08:00
Daniel Liu
9a50df0b62
core/rawdb: do prefixed lookup first #24288 ( #1209 )
...
Co-authored-by: Martin Holst Swende <martin@swende.se>
2025-07-11 10:22:26 +08:00
Daniel Liu
495a8b919a
core/state: simplify meter code #24304 ( #1208 )
2025-07-11 10:15:16 +08:00
Daniel Liu
906f07736e
core/state: remove unuseful code #23092 ( #1207 )
2025-07-11 10:09:56 +08:00
Daniel Liu
f98fbc7dc7
core/state: fix database leak and copy tests #19306 ( #1192 )
...
Co-authored-by: zcheng9 <zcheng9@hawk.iit.edu>
2025-07-11 09:58:59 +08:00
Daniel Liu
ef0fe4ed95
core/state: revert noop finalise, fix copy-commit-copy #20113 ( #1191 )
2025-07-11 09:52:31 +08:00
Daniel Liu
be97571471
core/state: fix state object deep copy #20100 ( #1190 )
2025-07-11 09:47:37 +08:00
Daniel Liu
16638e9e17
core/state: avoid unnecessary conversions #19870 ( #1188 )
2025-07-11 09:42:20 +08:00
Daniel Liu
220b2f4174
core/state: fix random test args #19255 ( #1187 )
...
Co-authored-by: Sheldon <11510383@mail.sustc.edu.cn>
2025-07-11 09:37:51 +08:00
Daniel Liu
618a8dd247
core, cmd: streaming json output for command #15475 ( #1184 )
2025-07-11 09:29:13 +08:00
Daniel Liu
9affb6a582
core/state: memory efficient, add AddPreimage test #16663 ( #1182 )
2025-07-02 14:53:00 +08:00
Daniel Liu
b4f4b95634
core/state: rename new variable #18301 ( #1178 )
2025-07-02 14:13:47 +08:00
Daniel Liu
957e9d8d05
core/state: remove lock #18065 ( #1174 )
2025-07-02 14:13:06 +08:00
Daniel Liu
801e92b56d
XDCx, consensus: fix some typos ( #1173 )
2025-07-02 14:12:11 +08:00
Daniel Liu
e24293a49c
core, eth: fix tracer dirty finalization #16588 ( #1172 )
2025-07-02 14:11:22 +08:00
Daniel Liu
4c5d1bd95e
core: change handling of dirty objects in state #15225 #16485 #16491 ( #1171 )
...
* core: change handling of dirty objects in state #15225
* core/state: fix bug in copy of copy State #16485
* core/state: fix ripemd-cornercase in Copy #16491
2025-07-02 14:07:21 +08:00
JukLee0ira
87ed24a113
all: update to golangci-lint 1.61.0 #30587 ( #1181 )
...
Co-authored-by: Martin Holst Swende <martin@swende.se>
2025-07-01 18:10:05 +08:00
Daniel Liu
dbe173e794
core, trie: speed up some tests with quadratic processing flaw #21987 ( #1057 )
2025-06-25 16:17:05 +08:00
JukLee0ira
a74b87307c
all: use strings.EqualFold for string comparison #24890 ( #1134 )
2025-06-23 16:00:32 +08:00
Daniel Liu
937b3d75e0
core, eth, trie: prepare trie sync for path based operation #21504 ( #1046 )
2025-06-21 08:30:25 +08:00
Daniel Liu
7feff61647
core/state: remove toAddr helper in tests #22772 ( #1100 )
2025-06-17 13:33:47 +08:00
Daniel Liu
6200e8d7de
core, trie: change format 0x%x to %#x #25221 ( #1094 )
2025-06-17 13:31:20 +08:00
Daniel Liu
f07824db20
core, ethdb, tests, trie: implement NewBatchWithSize API for batcher #24392 ( #1085 )
2025-06-17 13:26:50 +08:00
Daniel Liu
45d89bd4d1
trie: faster snapshot generation #22504 ( #1062 )
2025-06-17 13:13:14 +08:00
Daniel Liu
93c2745b7b
all: disable recording preimage of trie keys #21402 ( #1054 )
2025-06-17 13:10:47 +08:00
Daniel Liu
e8c9fdde0f
eth/downloader: refactor downloader + queue #21263 ( #1041 )
...
* eth/downloader: refactor downloader + queue
downloader, fetcher: throttle-metrics, fetcher filter improvements, standalone resultcache
downloader: more accurate deliverytime calculation, less mem overhead in state requests
downloader/queue: increase underlying buffer of results, new throttle mechanism
eth/downloader: updates to tests
eth/downloader: fix up some review concerns
eth/downloader/queue: minor fixes
eth/downloader: minor fixes after review call
eth/downloader: testcases for queue.go
eth/downloader: minor change, don't set progress unless progress...
eth/downloader: fix flaw which prevented useless peers from being dropped
eth/downloader: try to fix tests
eth/downloader: verify non-deliveries against advertised remote head
eth/downloader: fix flaw with checking closed-status causing hang
eth/downloader: hashing avoidance
eth/downloader: review concerns + simplify resultcache and queue
eth/downloader: add back some locks, address review concerns
downloader/queue: fix remaining lock flaw
* eth/downloader: nitpick fixes
* eth/downloader: remove the *2*3/4 throttling threshold dance
* eth/downloader: print correct throttle threshold in stats
Co-authored-by: Martin Holst Swende <martin@swende.se>
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2025-06-17 13:01:06 +08:00
wgr523
e13265a7d7
record total minted into smart contract ( #1026 )
...
* feat: record total minted into smart contract
* feat: GetCurrentTotalMinted API
2025-06-16 02:31:33 -07:00
Daniel Liu
6395c15280
core/state, eth, trie: stabilize memory use, fix memory leak #21491 ( #1040 )
2025-05-20 15:14:47 +08:00
Daniel Liu
4fabc43a01
core/vm: fix invalid merkle root caused by PR #627 ( #1033 )
2025-05-14 16:47:53 +08:00
Daniel Liu
26a9ea539f
core, rpc: speed up tests #28461 ( #1008 )
2025-04-29 16:57:58 +08:00
Daniel Liu
57c40154be
core: use atomic type #27011
2025-04-28 16:57:56 +08:00
Daniel Liu
9a06e129b8
core: simplify atomic store after writeBlockWithState #20798
2025-04-28 16:57:56 +08:00
Daniel Liu
1d3e5cb455
core: prefetch next block state concurrently #19328
2025-04-28 16:57:56 +08:00
Daniel Liu
c02ab17b17
core: use headers only where blocks are unnecessary #19261 ( #984 )
2025-04-28 06:46:40 +08:00
Daniel Liu
08dbbe705d
core: fix error in block iterator #18986
2025-04-25 08:03:58 +08:00
Daniel Liu
ff435e081f
core: rework blockchain import #17973
2025-04-25 08:03:58 +08:00
Daniel Liu
a997425b03
all: fix warning of DeepEqual on error #23624 ( #960 )
2025-04-24 18:31:47 +08:00
Daniel Liu
ab0ce75ede
core: simplify code of trading and lending state ( #949 )
2025-04-24 18:00:21 +08:00
Daniel Liu
733a1be4dc
common, core: add block age into info logs #17718 ( #947 )
2025-04-24 17:56:54 +08:00
Daniel Liu
e974d96977
core/txpool: accept non-local transaction with zero tip ( #950 )
2025-04-21 16:11:43 +08:00
Daniel Liu
b9a6c8c32d
cmd, core, eth, trie: add trie read caching layer ( #18087 ) ( #946 )
2025-04-16 17:27:43 +08:00
Daniel Liu
734abb26dc
Revert "core/types: fix wrong hash after EIP-1559 for EncodeIndex in PR #933 ( #939 )"
...
This reverts commit 0cc4813e48 .
2025-04-12 11:30:50 +08:00
Daniel Liu
0cc4813e48
core/types: fix wrong hash after EIP-1559 for EncodeIndex in PR #933 ( #939 )
2025-04-09 00:05:21 +08:00
Daniel Liu
3eb9f63513
core/types: implement DerivableList interface for transactions and receipts ( #21502 )
2025-04-07 16:44:32 +08:00
Daniel Liu
5b8c267122
trie: use trie.NewStackTrie instead of new(trie.Trie) ( #22246 )
2025-04-07 16:44:32 +08:00
Daniel Liu
54f73e471f
trie: Derivesha with stacktrie ( #21407 )
2025-04-07 16:44:32 +08:00
Daniel Liu
a4c7d7f458
all: clean duplicate constants in package common
2025-04-07 16:43:01 +08:00
Daniel Liu
ff7bcf8d15
core/state: separate hashes and committer, collapse on commit ( #20481 )
2025-03-28 22:34:59 +08:00
Daniel Liu
db4dc24094
core/state: accumulate writes and only update tries when must ( #19953 )
2025-03-28 22:34:59 +08:00
Daniel Liu
c73a0aa929
core/state: fix state iterator ( #19127 )
2025-03-28 22:34:59 +08:00