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
Daniel Liu
c87b7c3135
common/math: optimized modexp ( #25525 )
2024-10-17 10:36:53 +08:00
Daniel Liu
b653dbc60c
core/vm, protocol_params: implement eip-2565 modexp repricing ( #21607 )
2024-10-17 10:36:53 +08:00
Daniel Liu
a8ea86e40c
Merge pull request #644 from gzliudan/format-0x
...
all: change format 0x%x to %#x
2024-10-17 10:35:34 +08:00
Daniel Liu
693190e5b9
core: fix wrong blockHash for eth_getLogs ( #650 )
2024-10-16 11:00:58 +08:00
Daniel Liu
edace6ac6c
all: change format 0x%x to %#x ( #25221 )
2024-09-27 15:24:31 +08:00
JukLee0ira
47d27fed3b
all: replace uses of ioutil with io and os ( #24869 )
2024-09-27 15:14:17 +08:00
Daniel Liu
4f9501f12c
common, crypto: move fuzzers out of core ( #22029 )
2024-09-22 19:25:37 +08:00
Daniel Liu
a5531a2470
core/vm: remove redundant conversions ( #21903 )
2024-09-22 18:42:11 +08:00
Daniel Liu
67b5b2bf9a
core/vm: less allocations for various call variants ( #21222 )
2024-09-22 18:42:11 +08:00
Daniel Liu
a575d731d3
core/vm: combine function precompile and precompile2
2024-09-21 22:40:57 +08:00
Daniel Liu
5470485450
all: split vm.Context into BlockContext and TxContext ( #21672 )
2024-09-21 22:18:10 +08:00
Daniel Liu
05e52efbad
core/vm: marshall returnData as hexstring in trace logs ( #21715 )
2024-09-21 22:14:47 +08:00
Daniel Liu
4e832ee6f0
core/vm: avoid map lookups for accessing jumpdest analysis ( #21411 )
2024-09-21 22:01:56 +08:00
Daniel Liu
a020259bb5
core/vm: fix Byzantium address list ( #22603 )
2024-09-19 13:04:55 +08:00
Wanwiset Peerapatanapokin
0e9052b2e5
Merge branch 'master' into dev-upgrade-fix-merge
2024-09-11 14:06:38 +04:00
Daniel Liu
3e4932e408
core/vm: surface some internal methods ( #20958 )
2024-08-30 12:50:04 +08:00
Daniel Liu
1f45af089a
core/vm: implement EIP 3541 ( #22809 )
2024-08-26 11:59:28 +08:00
Daniel Liu
c47819c7d6
core, cmd: add generic LRU implementation ( #26162 )
2024-08-26 11:17:23 +08:00
Daniel Liu
6f1d1b6688
core/vm: implement EIP-2681: Limit account nonce to 2^64-1 ( #23853 )
2024-08-26 09:04:15 +08:00
Wanwiset Peerapatanapokin
2b8eb6f98e
Merge pull request #619 from XinFinOrg/revert-2464-short
...
Revert EIP 2464
2024-08-25 02:23:46 +07:00
Daniel Liu
8c78a80771
core: fix race conditions in txpool ( #23474 )
2024-08-24 23:12:32 +08:00
wanwiset25
cb792ef34f
Revert EIP-2464
2024-08-24 02:31:27 +07:00
Daniel Liu
45e57e41b4
internal/ethapi: refactor func ToMessage for CallArgs
2024-08-21 15:15:53 +08:00
JukLee0ira
3f40987cca
core/rawdb: rearranging function order
2024-08-19 22:32:20 +08:00
JukLee0ira
544190f584
core: cache block hash and number
2024-08-07 14:59:36 +08:00
JukLee0ira
074095b1d5
core: fix writeBlock
2024-08-07 14:59:36 +08:00
wgr523
52077f18f3
support for golang tracers + add golang callTracer ( #558 )
...
* feat: rename Tracer interface to EVMLogger;
minor changes in API
refine api_tracer.go
refine Tracer interface
* fix: broken tracer tests
* feat: add BenchmarkTransactionTrace
* feat: tracer CaptureEnter CaptureExit in evm
* feat: upgrade js tracers with geth upstream
* chore: clean test
* feat: eth/tracers: support for golang tracers + add golang callTracer
cf. https://github.com/ethereum/go-ethereum/pull/23708
* chore: clean testdata json
* fix: change test due to IntrinsicGas is not upgraded
* feat: make native Tracer the default Tracer
* fix: update tracers.New in api
* fix: addr prefix in callTracer
* fix: remove `native` in BenchmarkTracers
* fix: return consensus error of InsufficientBalance for tx, instead of vmerr
* chore: drop js tracers: call and noop
2024-08-06 00:14:04 -07:00
JukLee0ira
9a40c26bf8
core,eth,light: remove duplicated functions
2024-08-03 10:03:22 +08:00
JukLee0ira
bea4431f6f
eth/filters: avoid block body retrieval when no matching logs ( #25199 )
2024-08-03 10:03:22 +08:00