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
JukLee0ira
09d3ede8c0
core: cleanup tests ( #25641 )
2024-08-03 10:03:22 +08:00
JukLee0ira
ad71d706fb
all: add global block logs cache ( #25459 )
2024-08-03 10:03:22 +08:00
JukLee0ira
f8a2b00505
core/rawdb,eth: use lightweight accessor for log filtering ( #23147 )
2024-08-03 10:03:22 +08:00
JukLee0ira
83782e5368
eth/filters: remove use of event.TypeMux for pending logs ( #20312 )
2024-08-03 10:03:22 +08:00
Daniel Liu
4976b7cbb3
Fix some panic cuased by nil block, statedb, header ( #578 )
...
* fix panic during rollback
* eth/hooks: check nil stateDB to fix issue #271
* internal/ethapi: fix eth_call crash
* all: check nil statedb
* eth: check nil block for tracer api
* internal/ethapi: check nil header and block
2024-08-02 17:05:53 -07:00
Daniel Liu
31098e717a
core: save new blocks during reorg ( #599 )
2024-08-02 16:55:41 -07:00
Daniel Liu
e9e94e640d
core: save new blocks during reorg ( #596 )
2024-08-02 16:53:49 -07:00
wanwiset25
4be4f2eeb1
fix tests
2024-06-28 18:35:47 +04:00
wanwiset25
57b11ab4c9
try use insertblock in fetcher
2024-06-28 11:33:04 +04:00
wanwiset25
c9ee3240fb
fix tests
2024-06-28 11:33:04 +04:00
Martin Holst Swende
8f4a269437
eth, les: add sanity checks for unbounded block fields ( #19573 )
...
This PR adds some hardening in the lower levels of the protocol stack, to bail early on invalid data. Primarily, attacks that this PR protects against are on the "annoyance"-level, which would otherwise write a couple of megabytes of data into the log output, which is a bit resource intensive.
2024-06-28 11:33:04 +04:00
Péter Szilágyi
3f87990a71
core/forkid: add two clauses for more precise validation ( #20220 )
2024-06-28 11:33:04 +04:00
wanwiset25
ae52ca6e83
eth: eth/64 - extend handshake with with fork id ( #20140 )
2024-06-28 11:31:06 +04:00
Shane Bammel
4707d1c549
core/forkid: fix off-by-one bug ( #22879 )
...
* forkid: added failing test
* forkid: fixed off-by-one bug
2024-06-28 11:30:31 +04:00
Péter Szilágyi
8e998ecabe
core/forkid: implement the forkid EIP, announce via ENR ( #19738 )
...
* eth: chain config (genesis + fork) ENR entry
* core/forkid, eth: protocol independent fork ID, update to CRC32 spec
* core/forkid, eth: make forkid a struct, next uint64, enr struct, RLP
* core/forkid: change forkhash rlp encoding from int to [4]byte
* eth: fixup eth entry a bit and update it every block
* eth: fix lint
* eth: fix crash in ethclient tests
2024-06-28 11:30:31 +04:00
Daniel Liu
3e9bd359df
ethclient: serialize negative block number as "pending" ( #21177 )
2024-06-20 15:52:32 +08:00
Daniel Liu
aa88078dd1
core/types: convert status type from uint to uint64 ( #16784 )
2024-06-20 15:52:32 +08:00
JukLee0ira
2d89951e5b
all: use errrors.New instead of empty fmt.Errorf
2024-06-14 19:19:21 +08:00
JukLee0ira
15bbb5d3d5
XDCx,core,XDCxlending,miner: reduce duplicate calls
2024-06-06 19:33:59 +08:00
JukLee0ira
9ffacc595d
core: simplify code expression
2024-06-06 19:33:59 +08:00
JukLee0ira
0aab4ced98
common: add binary variables for system contract
2024-06-06 19:33:59 +08:00
JukLee0ira
21c62f9ef0
XDCx,XDCxlending,consensus,core: not compare adresss by String
2024-06-06 19:33:39 +08:00
Daniel Liu
fd8811cc9e
core, backends: rename callmsg to callMsg
2024-05-14 23:27:23 +08:00
Daniel Liu
e82bef5b87
core/types: remove duplication in eip2930 signer ( #27860 )
2024-05-14 23:27:23 +08:00
Daniel Liu
7a95b4f907
core, eth, internal/ethapi: create access list RPC API ( #22550 )
2024-05-14 23:27:23 +08:00
Daniel Liu
5cb014b60f
core, eth/tracer: initialize tracer statedb in CaptureStart ( #22333 )
2024-05-14 23:27:23 +08:00
Derek Chiang
5edfd8f9eb
core: fix method comment for txpool.requestReset ( #22543 )
2024-05-14 23:27:23 +08:00
Daniel Liu
349dc1bacd
core/types: improve comments in new EIP-2718 code ( #22402 )
2024-05-14 23:15:35 +08:00
Daniel Liu
0ccf119cd7
core/types: reduce allocations in GasPriceCmp ( #22456 )
2024-05-14 23:15:35 +08:00
Daniel Liu
01e1728a94
all: add support for EIP-2718, EIP-2930 transactions ( #21502 )
2024-05-14 23:15:35 +08:00
Marius van der Wijden
76b29b2f25
core: reset txpool state on sethead ( #22247 )
...
fixes an issue where local transactions that were included in the chain before a SetHead were rejected if resubmitted, since the txpool had not reset the state to the current (older) state.
2024-05-14 11:44:26 +08:00
gary rong
289304f876
core/txpool: remove "local" notion from the txpool price heap ( #21478 )
...
* core: separate the local notion from the pricedHeap
* core: add benchmarks
* core: improve tests
* core: address comments
* core: degrade the panic to error message
* core: fix typo
* core: address comments
* core: address comment
* core: use PEAK instead of POP
* core: address comments
2024-05-14 11:08:53 +08:00
Martin Holst Swende
a6d591b01b
core: fix txpool off-by-one error ( #21683 )
2024-05-14 10:09:43 +08:00
Marius van der Wijden
6935687790
core: more detailed metering for reorgs ( #21420 )
2024-05-13 22:07:04 +08:00
Hao Duan
28baf9f1fd
core: avoid modification of accountSet cache in tx_pool ( #21159 )
...
* core: avoid modification of accountSet cache in tx_pool
when runReorg, we may copy the dirtyAccounts' accountSet cache to promoteAddrs
in which accounts will be promoted, however, if we have reset request at the
same time, we may reuse promoteAddrs and modify the cache content which is
against the original intention of accountSet cache. So, we need to make a new
slice here to avoid modify accountSet cache.
* core: fix flatten condition + comment
Co-authored-by: Felix Lange <fjl@twurst.com>
2024-05-13 22:07:04 +08:00
Daniel Liu
b9f373fb57
core: fix queued transaction eviction #21300
2024-05-13 22:07:04 +08:00
Martin Holst Swende
ff246355a2
core: transaction pool optimizations ( #21328 )
...
* core: added local tx pool test case
* core, crypto: various allocation savings regarding tx handling
* core/txlist, txpool: save a reheap operation, avoid some bigint allocs
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
2024-05-13 22:07:03 +08:00
Daniel Liu
48f9bbed50
core: types: less allocations when hashing and tx handling ( #21265 )
2024-05-13 22:07:03 +08:00
Hao Duan
1776bf1313
core: filter out txs with invalid signatures as soon as possible ( #21170 )
...
Once we detect an invalid transaction during recovering signatures, we should
directly exclude this transaction to avoid validating the signatures hereafter.
This should optimize the validations times of transactions with invalid signatures
to only one time.
2024-05-13 22:07:03 +08:00
chenglin
cf41742040
core: collect NewTxsEvent items without holding reorg lock ( #21145 )
2024-05-13 22:07:03 +08:00
Daniel Liu
624371433e
core: fix typos in comments ( #21118 )
2024-05-13 22:07:03 +08:00
Daniel Liu
7179efd4da
core: announce based transaction propagation ( #20234 )
2024-05-13 22:07:03 +08:00