Commit graph

1936 commits

Author SHA1 Message Date
Daniel Liu
4bbcd988b2 params: remove EIP150Hash from chainconfig (#27087) 2025-02-05 18:16:17 +08:00
Daniel Liu
3f58066879 all: remove debug field from vm config (#27048) 2025-02-05 18:16:17 +08:00
joohhnnn
6473d18cdb core/vm: clarify comment (#27045) 2025-02-05 18:16:17 +08:00
Daniel Liu
551e3594cf core/vm: use atomic.Bool (#26951) 2025-02-05 18:16:17 +08:00
Daniel Liu
4190465c53 core/vm: expose jumptable constructors (#26880) 2025-02-05 18:16:17 +08:00
Daniel Liu
e7d8e14298 core: improve the format of report block 2025-02-05 12:59:20 +08:00
Daniel Liu
ef71887d7a accounts, cmd/geth, core: close opened files (#29598)
* fix: open file used up but not closed

* feat: more same case

* feat: accept conversation
2025-01-24 16:54:12 +08:00
Daniel Liu
b6f3007af1 core: move genesis alloc types to core/types (#29003) 2025-01-24 16:54:12 +08:00
Daniel Liu
0f737b4725 core: replace suicide with selfdestruct to improve code consistency (#27716) 2025-01-24 16:54:12 +08:00
Daniel Liu
5b10b2441c all: use T.TempDir to create temporary test directories (#24633) 2025-01-24 16:54:08 +08:00
Daniel Liu
fb85aca8d8 accounts/abi/bind: allow specifying signer on transactOpts (#21356) 2025-01-24 16:18:30 +08:00
Daniel Liu
2ff9f336ed core: improve contextual information on core errors (#21869) 2025-01-24 16:18:30 +08:00
Daniel Liu
d8c9ad3c9f all: replace RWMutex with Mutex in places where RLock is not used (#21622) 2025-01-24 16:18:30 +08:00
Daniel Liu
5b48621c36 accouts, core: fix some comments (#21617) 2025-01-24 16:18:30 +08:00
Daniel Liu
b0063d39b9 accounts/abi: ABI explicit difference between Unpack and UnpackIntoInterface (#21091)
* accounts/abi: refactored abi.Unpack

* accounts/abi/bind: fixed error

* accounts/abi/bind: modified template

* accounts/abi/bind: added ToStruct for conversion

* accounts/abi: reenabled tests

* accounts/abi: fixed tests

* accounts/abi: fixed tests for packing/unpacking

* accounts/abi: fixed tests

* accounts/abi: added more logic to ToStruct

* accounts/abi/bind: fixed template

* accounts/abi/bind: fixed ToStruct conversion

* accounts/abi/: removed unused code

* accounts/abi: updated template

* accounts/abi: refactored unused code

* contracts/checkpointoracle: updated contracts to sol ^0.6.0

* accounts/abi: refactored reflection logic

* accounts/abi: less code duplication in Unpack*

* accounts/abi: fixed rebasing bug

* fix a few typos in comments

* rebase on master

Co-authored-by: Guillaume Ballet <gballet@gmail.com>
2025-01-24 16:18:30 +08:00
Daniel Liu
6d17a42edb all: replace t.Log(); t.FailNow() with t.Fatal() (#19849) 2025-01-24 16:18:29 +08:00
Daniel Liu
002fac8b14 all: remove the duplicate 'the' in annotations (#17509) 2025-01-24 16:18:28 +08:00
Daniel Liu
85fc56733f core: lookup txs by block number instead of block hash (#19431) 2025-01-24 15:52:43 +08:00
Daniel Liu
2b8b7e68f7 all: avoid storing computable receipt metadata (#19345) 2025-01-24 15:52:43 +08:00
Daniel Liu
92f0d07e6d core: remove unnecessary fields in log (#17106 #19182) 2025-01-24 15:52:43 +08:00
Daniel Liu
97c50f97bb all: add read-only option to database 2025-01-24 14:24:39 +08:00
JukLee0ira
197291443f core, light: handle the nil return value of GetBlockNumber, fix #517 2025-01-23 13:57:07 +08:00
Daniel Liu
cbdf0e69f9 core: refactor function reorg (#23761, #24616, #24996, #30600) 2025-01-22 15:23:37 +08:00
Daniel Liu
adba311c5c
Merge pull request #788 from JukLee0ira/Migrate-to-rawdb
core/rawdb: separate raw database access to own package
2025-01-22 15:21:38 +08:00
JukLee0ira
653b59710e core/rawdb: separate raw database access to own package (#16666 #19345) 2025-01-22 15:19:39 +08:00
Daniel Liu
6794504d40 all: update files by 'go generate ./...' 2025-01-22 15:10:52 +08:00
Daniel Liu
5740ca1fe4 core/types: remove extra byte when EncodeRLP for Receipt 2025-01-22 15:07:10 +08:00
JukLee0ira
f7b591ffe3 eth/tracers: add a golang tracer to locate contracts (#23708) 2025-01-22 12:37:37 +08:00
Daniel Liu
588f61661c build: add imports for go generate tools (#24682) 2025-01-20 11:52:59 +08:00
Daniel Liu
47a67158e5 core/types: remove generate directive for gen_tx_json.go 2025-01-14 11:50:20 +08:00
Daniel Liu
911fe219df
Merge pull request #779 from gzliudan/core_blockchain
upgrade the core package for reorg
2024-12-28 13:05:40 +08:00
benjamin202410
3e62a4c611
Merge pull request #778 from XinFinOrg/release-br-v2.4.6-beta1-dev-upgrade
Release br v2.4.6 beta1 merge back to dev upgrade
2024-12-27 20:07:41 -08:00
Daniel Liu
c8c39efb63 core: remove unnecessary log copy (#27475) 2024-12-28 10:45:00 +08:00
Daniel Liu
d03859d49e core: update the fast block on chain import at the end of the fast sync phase (#23576) 2024-12-28 10:44:54 +08:00
Daniel Liu
2baadc6e87 core: improve shutdown synchronization in BlockChain (#22853) 2024-12-28 10:44:49 +08:00
Daniel Liu
2d5dc550d0 core/rawdb: rename WriteTxLookupEntries to WriteTxLookupEntriesByBlock (#21480) 2024-12-28 10:44:42 +08:00
Daniel Liu
d7e0e9d734 core: write chain data in atomic way (#20287) 2024-12-28 10:44:36 +08:00
Daniel Liu
1c555b2def core, light: get rid of the dual mutexes (#18436) 2024-12-28 10:44:30 +08:00
Daniel Liu
6e33633d28 common: drop BigMin and BigMax, they pollute our dep graph (#30645) 2024-12-28 09:06:31 +08:00
Daniel Liu
6ec35b9644 all: get rid of custom MaxUint64 and MaxUint64 (#30636) 2024-12-28 09:06:31 +08:00
Daniel Liu
ff13d16fe5 core/vm: make structlog/json-log stack hex again (#28628) 2024-12-28 09:06:31 +08:00
Daniel Liu
4cc2b2ea5f tests/fuzzers: move fuzzers into native packages (#28467) 2024-12-28 09:06:31 +08:00
Daniel Liu
441f8ed70c common: add variable MaxHash (#28306) 2024-12-28 09:06:31 +08:00
Péter Szilágyi
39e9d8f94d common/prque: generic priority queue (#26290) 2024-12-28 09:06:31 +08:00
Daniel Liu
28739d7863 common: remove usage of deprecated function (#21610) 2024-12-28 09:06:30 +08:00
Daniel Liu
56e242b06c core/state: optimize some internals during encoding (#20038) 2024-12-28 09:06:30 +08:00
Daniel Liu
cd1ff5d322 common: remove function Big() for type Address (#19210) 2024-12-28 09:06:30 +08:00
Daniel Liu
f19422e1c7 cmd/utils: relinquish GC cache to read cache in archive mode (#18991) 2024-12-28 09:06:30 +08:00
Daniel Liu
89c51c5e69 common: improve documentation comments (#16701) 2024-12-28 09:06:30 +08:00
Daniel Liu
240757a1ce all: remove empty function SaveData() 2024-12-28 09:04:02 +08:00
JukLee0ira
48d1f22fde all: simplify function TransitionDb (#20830) 2024-12-28 09:02:48 +08:00
liam.lai
77f9cc59ec merge from dev-upgrade 2024-12-27 10:03:54 -08:00
Daniel Liu
e2afaec8b0 core: remove unused variables in BlockChain struct 2024-12-25 17:25:51 +08:00
Daniel Liu
a5c48e77bd core: remove unused function writeHeader 2024-12-25 17:22:28 +08:00
Daniel Liu
6114a3a13b core: remove unused function reorgTxMatches 2024-12-25 17:17:25 +08:00
liam.lai
00785b096f fix tc cross epoch different masternode counts issue 2024-12-22 19:34:09 -08:00
Daniel Liu
82ff8c19a0 all: remove uses of untyped golang-lru 2024-12-21 14:39:26 +08:00
JukLee0ira
7491a7ba74 all: improve EstimateGas API (#20830) 2024-12-21 14:35:44 +08:00
Daniel Liu
2220156b9a cmd, core, metrics: always report expensive metrics (#29191)
* cmd, core, metrics: always report expensive metrics

* core, metrics: report block processing metrics as resetting timer

* metrics: update reporter tests
2024-12-13 14:00:13 +08:00
Daniel Liu
35380508fc metrics, cmd/geth: informational metrics (prometheus, influxdb, opentsb) (#24877)
This chang creates a GaugeInfo metrics type for registering informational (textual) metrics, e.g. geth version number. It also improves the testing for backend-exporters, and uses a shared subpackage in 'internal' to provide sample datasets and ordered registry.

Implements #21783

---------

Co-authored-by: Martin Holst Swende <martin@swende.se>
2024-12-13 14:00:13 +08:00
Daniel Liu
1eb2ed8293 core, metrics, p2p: expose various counter metrics for grafana (#19692) 2024-12-13 14:00:11 +08:00
Daniel Liu
db9487f1e8 core: split out detailed trie access metrics from insertion time (#19316) 2024-12-13 14:00:11 +08:00
Daniel Liu
4202f23897 core: more detailed metrics for block processing (#18119) 2024-12-13 14:00:11 +08:00
Daniel Liu
ad5e7d6db3 crypto: add SignatureLength constant and use it everywhere (#19996) 2024-12-09 17:48:59 +08:00
Daniel Liu
92fc843683 crypto: switch over to upstream sha3 package (#18390) 2024-12-09 17:48:59 +08:00
Daniel Liu
733c298b0e core/vm: improve EVM reusability (#26341) 2024-12-09 17:47:05 +08:00
Daniel Liu
0d0ea46bfa core: implement EIP-3651, warm coinbase (#25819) 2024-12-09 17:44:30 +08:00
Daniel Liu
4855f19261 core: fix preCheck for RandomizeSMC after EIP-1559 2024-11-19 14:19:57 +08:00
Daniel Liu
4cac1865ba all: remove noop vm config flags (#23111) 2024-11-15 20:12:49 +08:00
Daniel Liu
ed242b4763 all: implement EIP-1153 transient storage (#26003) 2024-11-15 19:39:18 +08:00
Daniel Liu
aedfea681b all: make logs a bit easier on the eye to digest (#22665) 2024-11-15 10:02:41 +08:00
Daniel Liu
c254b08443 core/txpool: fix very high pending special transactions 2024-11-07 17:47:59 +08:00
Daniel Liu
da9d2e29f5 core/types: fix discrepancy in receipt.EffectiveGasPrice json encoding tags (#27114) 2024-11-01 11:36:53 +08:00
Daniel Liu
a294c2080d all: fix null effectiveGasPrice 2024-11-01 11:36:53 +08:00
Daniel Liu
2a9d450101 core/types: add EffectiveGasPrice in Receipt (#26713) 2024-11-01 11:36:53 +08:00
Daniel Liu
9b20ac785e consensus/misc: move eip1559 into a package (#27828) 2024-11-01 11:36:53 +08:00
Daniel Liu
f64aea4ba0 core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2024-11-01 11:36:53 +08:00
Péter Szilágyi
cda663db64 core/types: rename tx files to group them better together (#26044) 2024-11-01 11:36:53 +08:00
Daniel Liu
8b2e8d9b3a all: refactor txpool into it's own package in prep for 4844 (#26038) 2024-11-01 11:36:53 +08:00
Martin Holst Swende
05797846fc core: fix datarace in txpool, fixes #25870 and #25869 (#25872)
core: fix datarace in txpool pendingnoce, fixes #25870
2024-11-01 11:36:53 +08:00
Seungbae Yu
66763aa8ae core: don't cache zero nonce in txNoncer (#25603)
This changes the nonce cache used by TxPool to not store cached
nonces for non-existing accounts.
2024-11-01 11:36:53 +08:00
Seungbae Yu
a410f7b38e core: preallocate maps in TxPool helper methods (#25737) 2024-11-01 11:36:53 +08:00
aaronbuchwald
7237811928 core: fix typo in txpool (#25149)
Fix typo in txPool truncateQueue comment
2024-11-01 11:36:53 +08:00
zhaochonghe
dc94ad52f6 core: fix the order of address in queue (#24908)
reverse the order of address in queue
2024-11-01 11:36:53 +08:00
Emmanuel T Odeke
59bc3bfd09 eth/tracers/logger: remove unnecessary comparisons in accessList.equal (#24663)
This change removes extraneous/unnecessary checks for equality
when comparing 2 accessList values A and B. Given that we validate that
their lengths of A and B are equal, if so and if every element in A is
in B, reflexively every element in B is already in A. If that weren't
the case and an element g existed in A but not in B, that would mean
that there is an extra element and hence a mathematical contradiction.

Fixes #24658
2024-11-01 11:36:53 +08:00
Daniel Liu
7cb33cc57d core/types: improve error for too short transaction / receipt encoding (#24256) 2024-11-01 11:36:53 +08:00
Daniel Liu
d1dc9e383c core/statedb: always clear out access list when setting a new one (#24515) 2024-11-01 11:36:53 +08:00
Daniel Liu
8eaa9e2c3b core/types: document JSON field name equivalents of DynamicFeeTx (#24143) 2024-11-01 11:36:53 +08:00
Daniel Liu
bdae20085a core: ignore basefee when comparing with pool gasprice in txpool (#24080) 2024-11-01 11:36:53 +08:00
Daniel Liu
6feb71e5c8 core: check effective tip in txpool pricelimit validation (#23855) 2024-11-01 11:36:53 +08:00
Martin Holst Swende
81dff92ced core: more efficient nonce-update in txpool (#22231)
* Adjust pending nonce update operation

Benchmark the speed of transaction insertion under multiple accounts

core: fix rebase issues + docstring

core: make benchmark test use sync:ed method

* core: address review comments

* core: add memreport to benchmark

Co-authored-by: WeiLoy <wei_loy@163.com>
2024-11-01 11:36:53 +08:00
Daniel Liu
a402cbf50e core/types: add MarshalBinary, UnmarshalBinary for Receipt (#22806) 2024-11-01 11:36:53 +08:00
Daniel Liu
e5fb0b4d73 core: remove unused error from TxPool.Pending (#23720) 2024-11-01 11:36:53 +08:00
Daniel Liu
17b62319c0 core/types: copy tx recipient address (#23376) 2024-11-01 11:36:53 +08:00
Daniel Liu
e18e6111af core: add change counter (#23095) 2024-11-01 11:36:53 +08:00
Daniel Liu
d850fc4081 core: only check sendernoeoa in non fake mode (#23424) 2024-11-01 11:36:53 +08:00
Daniel Liu
d6daac576d core: check if sender is EOA (#23303) 2024-11-01 11:36:53 +08:00
Daniel Liu
206175fb43 all: remove term whitelist in comments and log messages (#23294) 2024-11-01 11:36:52 +08:00
Daniel Liu
62a70f0cde internal/ethapi: fix panic in accesslist creation (#23225) 2024-11-01 11:36:52 +08:00
Daniel Liu
43a0cdf7ce core: fix pre-check for account balance under EIP-1559 (#23244) 2024-11-01 11:36:52 +08:00
Daniel Liu
5b01b23af6 internal: get pending and queued transaction by address (#22992) 2024-11-01 11:36:52 +08:00
Daniel Liu
b02922fc53 core, internal: expose effectiveGasPrice in receipts (#23050) 2024-11-01 11:36:52 +08:00
Daniel Liu
dbdca11501 accounts/abi/bind: fix bounded contracts and sim backend for 1559 (#23038) 2024-11-01 11:36:52 +08:00
Daniel Liu
1cb1ba79d7 core: change baseFee into baseFeePerGas in genesis json (#23039) 2024-11-01 11:36:52 +08:00
Daniel Liu
05c11eb96e core: make genesis parse baseFee correctly (#23013) 2024-11-01 11:36:52 +08:00
Daniel Liu
6b67327a4b tests: update for London (#22976) 2024-11-01 11:36:52 +08:00
Daniel Liu
1c47afb286 core/vm/runtime: add function TestColdAccountAccessCost 2024-11-01 11:36:52 +08:00
Daniel Liu
c7d49072f1 core/vm: evm fix panic (#23047) 2024-11-01 11:36:52 +08:00
Daniel Liu
18bc355e89 core, internal: support various eth_call invocations post 1559 (#23027) 2024-11-01 11:36:52 +08:00
Daniel Liu
4c096de9b0 all: rename internal 1559 gas fields (#23010) 2024-11-01 11:36:52 +08:00
Daniel Liu
5a31888b19 core, eth, miner: enforce configured mining reward post 1559 too (#22995) 2024-11-01 11:36:52 +08:00
Daniel Liu
bfd1c0c9e0 core, eth, internal, les: RPC methods and fields for EIP 1559 (#22964) 2024-11-01 11:36:52 +08:00
Daniel Liu
4f0317cb1f core: add new eip-1559 tx constraints (#22970) 2024-11-01 11:36:52 +08:00
Daniel Liu
f6a4769084 EIP-1559 tx pool support (#22898) 2024-11-01 11:36:52 +08:00
Daniel Liu
d88d2670e5 core: make txpool free space calculation more accurate (#22933) 2024-11-01 11:36:52 +08:00
Daniel Liu
684afd0b18 EIP-1559: miner changes (#22896) 2024-11-01 11:36:52 +08:00
Daniel Liu
4e7fd897d8 core: fix failing tests (#22888) 2024-11-01 11:36:52 +08:00
Daniel Liu
e18553b855 all: implement eip-1559 (#22837) 2024-11-01 11:36:52 +08:00
Daniel Liu
6a3b818069 core, params: implement EIP-3529 (#22733) 2024-11-01 11:36:52 +08:00
Martin Holst Swende
b5fe81f093 core/vm: make gas cost reporting to tracers correct (#22702)
Previously, the makeCallVariantGasCallEIP2929 charged the cold account access cost directly, leading to an incorrect gas cost passed to the tracer from the main execution loop.
This change still temporarily charges the cost (to allow for an accurate calculation of the available gas for the call), but then afterwards refunds it and instead returns the correct total gas cost to be then properly charged in the main loop.
2024-11-01 11:36:52 +08:00
Daniel Liu
6c77d63dc2 core/types: replace core.SetReceiptsData with receipts.DeriveFields 2024-11-01 11:36:52 +08:00
Daniel Liu
e561f2842e core/types: drop type v4StoredReceiptRLP 2024-11-01 11:36:52 +08:00
Daniel Liu
b7154dd450 core: fix staticcheck warning S1006: use for {} for infinite loops 2024-10-31 16:49:56 +08:00
Daniel Liu
11285be830 all: fix staticcheck warning SA2002: must call T.Fatalf in same goroutine 2024-10-31 10:38:38 +08:00
Daniel Liu
6b6f0bd891 core, XDCxlending/lendingstate: fix staticcheck warning SA5001: must check error before rpcClient.Close() 2024-10-31 10:28:21 +08:00
Daniel Liu
371c3b6874 fix tautological condition: non-nil != nil 2024-10-31 09:01:12 +08:00
Daniel Liu
2306ceafb2 fix impossible condition: nil != nil 2024-10-31 09:01:12 +08:00
Daniel Liu
212daafe17 core: fix staticcheck warning SA6005: should use strings.EqualFold 2024-10-30 21:13:58 +08:00
Daniel Liu
181b23a767 core, XDCxlending/lendingstate: fix staticcheck warning S1002: omit comparison to bool constant 2024-10-30 21:02:41 +08:00
Daniel Liu
fbecb8c5a5 all: fix staticcheck warning ST1006: don't use generic name self
The name of a method’s receiver should be a reflection of its identity;
often a one or two letter abbreviation of its type suffices (such as
“c” or “cl” for “Client”). Don’t use generic names such as “me”, “this”
or “self”, identifiers typical of object-oriented languages that place
more emphasis on methods as opposed to functions. The name need not be
as descriptive as that of a method argument, as its role is obvious and
serves no documentary purpose. It can be very short as it will appear
on almost every line of every method of the type; familiarity admits
brevity. Be consistent, too: if you call the receiver “c” in one method,
don’t call it “cl” in another.
2024-10-25 21:30:54 +08:00
Daniel Liu
b68b9c64ea
Merge pull request #685 from gzliudan/emptyroot
all: use unified emptyRootHash and emptyCodeHash
2024-10-25 15:28:51 +08:00
Daniel Liu
87a6b5f4c3
Merge pull request #689 from gzliudan/fix-st1005
all: fix staticcheck warning ST1005
2024-10-25 15:28:07 +08:00
Daniel Liu
c6e4e880ea all: fix staticcheck warning SA4006: never used value 2024-10-24 17:37:19 +08:00
Daniel Liu
a79411fa06 all: fix staticcheck warning ST1005: incorrectly formatted error string 2024-10-24 09:48:20 +08:00
Daniel Liu
464a89074b all: use unified emptyRootHash and emptyCodeHash (#26718) 2024-10-21 17:55:16 +08:00
Daniel Liu
8c077345d0 all: removed blockhash from statedb (#23126) 2024-10-18 09:24:52 +08:00
Daniel Liu
1c84a31bb6 core/vm: deepcopy jumptable when enabling extra eips (#26137) 2024-10-17 11:23:04 +08:00
Daniel Liu
4482ea4d84 core/vm: fix docstrings 2024-10-17 11:23:04 +08:00
Daniel Liu
480adaf960 core/vm: minor trivial clean up (#25880) 2024-10-17 11:23:04 +08:00
Daniel Liu
69cb57a0f4 core/vm: not deep copy return data slice upon call completion (#25183) 2024-10-17 11:23:04 +08:00
Daniel Liu
ee5dd8673f core/vm: remove empty lines 2024-10-17 11:23:04 +08:00
Daniel Liu
16f2aabc64 core/vm: more linters (#24783) 2024-10-17 11:23:04 +08:00
Paweł Bylica
be6631beb0 core/vm: optimize jumpdest analysis (#23500)
core/vm: optimize PUSH opcode discrimination
2024-10-17 11:23:04 +08:00
Daniel Liu
1fa9e81870 core/vm: reduce overhead in instructions-benchmark (#24860) 2024-10-17 11:23:04 +08:00
Daniel Liu
c78b9e6245 core/vm: for tracing, do not report post-op memory (#24867) 2024-10-17 11:23:04 +08:00
Daniel Liu
45c644c43d core/vm: update benchmark to use Errorf instead of Sprintf (#24845) 2024-10-17 11:23:04 +08:00
Daniel Liu
6fa968201f core/vm: fix some typos 2024-10-17 11:23:04 +08:00
Daniel Liu
224caa5a08 core/vm: avoid memory expansion check for trivial ops (#24048) 2024-10-17 11:23:04 +08:00
Daniel Liu
532137c37b core/vm: use golang native big.Int (#26834) 2024-10-17 10:36:53 +08:00
Daniel Liu
8e15f825ce core/vm: use optimized bigint (#26021) 2024-10-17 10:36:53 +08:00