Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

draft release v1.5.2-alpha #2808

Merged
merged 170 commits into from
Dec 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
170 commits
Select commit Hold shift + click to select a range
096c4d2
params: begin v1.14.12 release cycle
holiman Oct 1, 2024
90970ed
params: begin v1.14.12 release cycle (#30536)
holiman Oct 1, 2024
eff0bed
core/rawdb: freezer index repair (#29792)
rjl493456442 Oct 1, 2024
6416813
internal/web3ext: rm unused modules (#30532)
s1na Oct 1, 2024
56c4f2b
core/vm, cmd/evm: implement eof validation (#30418)
holiman Oct 2, 2024
84a8021
beacon/light: optimize lock usage in `HeadTracker` (#30485)
zhiqiangxu Oct 2, 2024
65e5ca7
build: upgrade -dlgo version to Go 1.23.2 (#30544)
sandakersmann Oct 4, 2024
f8ac95e
log: remove unused parameter (#30432)
asamuj Oct 8, 2024
2936b41
all: implement flat deposit requests encoding (#30425)
fjl Oct 9, 2024
7942a6b
eth/tracers: do system contract processing prior to parallel-tracing …
easyfold Oct 9, 2024
58cf152
eth/catalyst, core/txpool/blobpool: make tests output less logs (#30563)
holiman Oct 10, 2024
5b393ac
eth/protocols/eth: remove Requests in block body (#30562)
islishude Oct 10, 2024
16bf471
core/tracing: add GetTransientState method to StateDB interface (#30531)
kchojn Oct 10, 2024
3a5313f
all: implement EIP-7002 & EIP-7251 (#30571)
fjl Oct 11, 2024
fad7e74
build: add support for ubuntu 24.10 (#30580)
hteevoli Oct 12, 2024
2246d66
cmd/evm: fixup issues with requests in t8n (#30584)
lightclient Oct 13, 2024
16f6409
core: enable EIP-2935 in chain maker (#30575)
fjl Oct 13, 2024
f4dc753
trie: concurrent commit (#30545)
holiman Oct 14, 2024
5adc314
build: update to golangci-lint 1.61.0 (#30587)
holiman Oct 14, 2024
add5709
beacon/engine: strip type byte in requests (#30576)
fjl Oct 14, 2024
4b9c782
internal/ethapi: refactor `TxArgs.setCancunFeeDefaults` (#30541)
jwasinger Oct 15, 2024
30ce173
crypto: use decred secp256k1 directly (#30595)
gartnera Oct 15, 2024
4c4219e
beacon/engine: omit null witness field from payload envelope (#30597)
rkrasiuk Oct 15, 2024
a449057
ethdb/pebble: switch to increasing level sizes (#30602)
karalabe Oct 15, 2024
15bf90e
core, ethdb/pebble: run pebble in non-sync mode (#30573)
rjl493456442 Oct 15, 2024
368e16f
core, eth, ethstats: simplify chain head events (#30601)
karalabe Oct 16, 2024
18a5918
core: reduce peak memory usage during reorg (#30600)
MariusVanDerWijden Oct 16, 2024
978ca5f
eth/tracers: various fixes (#30540)
s1na Oct 17, 2024
1da34a3
miner: send full request when resolving full payload (#30615)
lightclient Oct 17, 2024
e26468f
beacon/engine,eth/catalyst: hex marshal requests in engine api (#30603)
lightclient Oct 17, 2024
afea3bd
beacon/engine, core/txpool, eth/catalyst: add engine_getBlobsV1 API (…
karalabe Oct 17, 2024
f32f868
swarm: nuke this leftover (#30622)
karalabe Oct 18, 2024
9891f02
gitignore: get rid of some relics (#30623)
karalabe Oct 18, 2024
3ff73d4
build: reenable building arm64 concurrently (#30626)
karalabe Oct 18, 2024
b6c62d5
core, trie, triedb: minor changes from snapshot integration (#30599)
rjl493456442 Oct 18, 2024
babd5d8
core/state: fix runaway alloc caused by prefetcher heap escape (#30629)
karalabe Oct 20, 2024
48d05c4
all: get rid of custom MaxUint64 and MaxUint64 (#30636)
karalabe Oct 20, 2024
bb527b9
build: get rid of ci.go -> common direct dependency (#30637)
karalabe Oct 20, 2024
9015a05
common/math: delete some further dead code (#30639)
karalabe Oct 20, 2024
5c3b792
common/math: sigh, keep deleting dead code
karalabe Oct 20, 2024
dac54e3
build, internal, version: break ci.go/version->common dependency (#30…
karalabe Oct 20, 2024
e4dbd5f
eth/tracers/js: avoid compiling js bigint when not needed (#30640)
holiman Oct 20, 2024
31a6418
consensus/clique, miner: remove clique -> accounts dependency (#30642)
karalabe Oct 21, 2024
a5fe735
common: drop BigMin and BigMax, they pollute our dep graph (#30645)
karalabe Oct 21, 2024
459bb4a
core/state: move state log mechanism to a separate layer (#30569)
holiman Oct 23, 2024
74461ae
crypto, tests/fuzzers: add gnark bn254 precompile methods for fuzzing…
kevaundray Oct 23, 2024
478012a
all: remove TerminalTotalDifficultyPassed (#30609)
jwasinger Oct 23, 2024
f8f5609
eth/tracers/internal/tracertest: add missing Random to call context (…
islishude Oct 23, 2024
3e567b8
docs: update security policy (#30606)
fredriksvantes Oct 23, 2024
461afdf
core: fix tracing of system calls (#30666)
s1na Oct 24, 2024
24c5493
core/vm: remove debug printout in eof test (#30665)
jwasinger Oct 24, 2024
6c6bf6f
beacon/blsync: add holesky config and update checkpoints (#30671)
zsfelfoldi Oct 25, 2024
80bdab7
ethdb: add DeleteRange feature (#30668)
zsfelfoldi Oct 25, 2024
c3919f9
build: document doGoModTidy function in ci.go (#30685)
jwasinger Oct 28, 2024
bce420b
cmd/geth: avoid hard coding the IPC name (#30687)
karalabe Oct 28, 2024
98056e1
eth/tracers: add disableCode/Storage options for prestateTracer (#30648)
jsvisa Oct 29, 2024
7180d26
core, eth, node: break rawdb -> {leveldb, pebble} dependency (#30689)
karalabe Oct 29, 2024
236147b
ethdb: refactor Database interface (#30693)
MariusVanDerWijden Oct 29, 2024
8c73523
appveyor, build, internal: ci.go cleanups, add package dep checker (#…
karalabe Oct 29, 2024
87465e9
beacon/light: remove unused CommitteeChain.signerThreshold (#30484)
zhiqiangxu Oct 30, 2024
25bc077
core/vm: speed up push and interpreter loop (#30662)
holiman Oct 30, 2024
9afb18d
core: add code to witness when state object is accessed (#30698)
lightclient Oct 31, 2024
5230b06
cmd/utils, eth/ethconfig: remove some ancient leftover flag (#30705)
karalabe Oct 31, 2024
20bf543
internal/flags: remove Merge, it's identical to slices.Concat (#30706)
karalabe Oct 31, 2024
a1d049c
internal/flags: remove low-use type TextMarshalerFlag (#30707)
karalabe Oct 31, 2024
f3b4bbb
all: remove `personal` RPC namespace (#30704)
holiman Oct 31, 2024
a1093d9
eth/tracers: flatCallTracer error compatible with parity (#30497)
jsvisa Nov 1, 2024
c48e936
build: use slices.Clone for copying slice (#30716)
zhiqiangxu Nov 3, 2024
6e1fedb
tests/fuzzers/bls12381: more verbose fuzzing-output (#30724)
holiman Nov 4, 2024
484f0f4
core/txpool: improve error responses with wrapped errors (#30715)
piersy Nov 4, 2024
7d6e153
eth/catalyst: make engine api test time independent (#30713)
karalabe Nov 4, 2024
014e2b0
core/vm/runtime: invoke tx-end hook (#30711)
holiman Nov 4, 2024
06cbc80
core, trie: verkle state processor tests (#30672)
gballet Nov 4, 2024
da17f2d
all: fix issues with benchmarks (#30667)
holiman Nov 4, 2024
229ce64
eth/tracers: fill the creationMethod in flatCall (#30539)
jsvisa Nov 5, 2024
e56bbd7
core/state: small fix in hooked statedb (#30732)
holiman Nov 5, 2024
9c08631
cmd/utils: change blssync.JWTSecretFlag to DirectoryFlag (#30729)
MariusVanDerWijden Nov 6, 2024
4bac6e6
build(deps): bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 (#…
dependabot[bot] Nov 7, 2024
e92e22a
ethclient: add RevertErrorData function and example (#30669)
fjl Nov 7, 2024
8e00f95
ethclient/gethclient: testcase for createAccessList, make tabledriven…
SangIlMo Nov 8, 2024
0fc9cca
internal/ethapi: Set basefee for `AccessList` based on given block, …
jwasinger Nov 8, 2024
a6037d0
accounts/usbwallet: support dynamic tx (#30180)
shrimalmadhur Nov 8, 2024
5b78aef
signer/core: extended support for EIP-712 array types (#30620)
naveen-imtb Nov 8, 2024
d42d450
cmd/evm: benchmarking via `statetest` command + filter by name, inde…
jwasinger Nov 8, 2024
7cbce8e
beacon/blsync: remove cli dependencies (#30720)
zsfelfoldi Nov 8, 2024
3c7336b
core/state: invoke OnCodeChange-hook on selfdestruct (#30686)
kchojn Nov 8, 2024
896fc51
trie/utils: remove unneeded initialization (#30472)
zhiqiangxu Nov 8, 2024
55fdbb7
travis: build and upload RISC-V docker images too (#30739)
karalabe Nov 8, 2024
74ef474
core/state, triedb/database: refactor state reader (#30712)
rjl493456442 Nov 9, 2024
3f5f2ef
eth/protocols/eth: add ETH68 protocol handler fuzzers (#30417)
MariusVanDerWijden Nov 9, 2024
77f3ef3
tests: fix test panic (#30741)
rjl493456442 Nov 10, 2024
ae83912
p2p/netutil: unittests for addrutil (#30439)
tianyeyouyou Nov 11, 2024
df182a7
docs: fix typo (#30740)
0xwitty Nov 11, 2024
ec280e0
core/state: tests on the binary iterator (#30754)
holiman Nov 15, 2024
a5f0001
cmd/geth: remove unlock commandline flag (#30737)
holiman Nov 15, 2024
7c0ff05
build: upgrade -dlgo version to Go 1.23.3 (#30742)
sandakersmann Nov 15, 2024
83790b0
core: fix typos (#30767)
AtomicInnovation321 Nov 19, 2024
61ff3a1
all: remove kilic dependency from bls12381 fuzzers (#30296)
jwasinger Nov 19, 2024
581e214
core/txpool, eth/catalyst: clear transaction pool in Rollback (#30534)
jwasinger Nov 19, 2024
e20150f
rpc: run tests in parallel (#30384)
estensen Nov 19, 2024
c64cf28
version: go-ethereum v1.14.12 stable
holiman Nov 19, 2024
66d8185
version: begin v1.14.13 release cycle
holiman Nov 19, 2024
aa63692
version: fix typo in v1.14.13 release cycle name
holiman Nov 19, 2024
6d3d252
core/vm/program: evm bytecode-building utility (#30725)
holiman Nov 20, 2024
e3d61e6
core, eth, internal, cmd: rework EVM constructor (#30745)
rjl493456442 Nov 20, 2024
a25be32
core, eth, internal, miner: remove unnecessary parameters (#30776)
rjl493456442 Nov 22, 2024
2cd25fd
internal/ethapi: remove double map-clone (#30788)
hyunsooda Nov 22, 2024
16f2f71
all: typos in comments (#30779)
wangjingcun Nov 22, 2024
6eeff3e
trie: replace custom logic with bytes.HasPrefix (#30771)
j2gg0s Nov 22, 2024
6485d5e
core, triedb: remove destruct flag in state snapshot (#30752)
rjl493456442 Nov 22, 2024
5e1a39d
internal/flags: fix "flag redefined" bug for alias on custom flags (#…
gzliudan Nov 24, 2024
ab4a1cc
eth/tracers/logger: fix json-logger output missing (#30804)
holiman Nov 25, 2024
02159d5
eth/tracers/logger: improve markdown logger (#30805)
holiman Nov 25, 2024
19fa71b
internal/ethapi: remove double map-clone (#30803)
hyunsooda Nov 25, 2024
3c754e2
accounts/abi: fix MakeTopics mutation of big.Int inputs (#30785)
jmank88 Nov 25, 2024
2380012
core/state/snapshot: simplify snapshot rebuild (#30772)
ARR4N Nov 25, 2024
b4d99e3
eth/ethconfig: improve error message if TTD missing (#30807)
fjl Nov 26, 2024
d7e7b54
core/tracing: add GetCodeHash to StateDB (#30784)
nebojsa94 Nov 26, 2024
a11b4be
Revert "core/state/snapshot: simplify snapshot rebuild (#30772)" (#30…
rjl493456442 Nov 26, 2024
915248c
cmd/evm: don't reuse state between iterations, show errors (#30780)
jwasinger Nov 26, 2024
e0deac7
core: better document reason for dropping error on return (#30811)
wangjingcun Nov 27, 2024
8c1a36d
core/state/snapshot: handle legacy journal (#30802)
rjl493456442 Nov 28, 2024
2406305
trie: combine validation loops in VerifyRangeProof (#30823)
weiihann Nov 28, 2024
db8eed8
all: exclude empty outputs in requests commitment (#30670)
fjl Nov 28, 2024
53f66c1
cmd/bootnode: remove bootnode utility (#30813)
MariusVanDerWijden Nov 28, 2024
c7a8bce
core/types: add length check in CalcRequestsHash (#30829)
fjl Nov 28, 2024
05148d9
triedb/pathdb: track flat state changes in pathdb (snapshot integrati…
rjl493456442 Nov 29, 2024
03c37cd
core/state: introduce code reader interface (#30816)
rjl493456442 Nov 29, 2024
a793bc7
core: switch EVM tx context in ApplyMessage (#30809)
rjl493456442 Nov 29, 2024
ce8cec0
eth/tracers: fix state hooks in API (#30830)
s1na Nov 29, 2024
5347280
cmd/evm: improve block/state test runner (#30633)
lightclient Dec 2, 2024
9848e9b
fuzzing: fix oss-fuzz fuzzer (#30845)
holiman Dec 2, 2024
ae5a16f
internal/debug: rename --trace to --go-execution-trace (#30846)
fjl Dec 2, 2024
4afab7e
eth/downloader: move SyncMode to package eth/ethconfig (#30847)
fjl Dec 3, 2024
84cabb5
CODEOWNERS: add some more entries for auto assignment (#30851)
fjl Dec 3, 2024
f0e7382
cmd/evm, eth/tracers: refactor structlogger and make it streaming (#3…
holiman Dec 4, 2024
67a3b08
core/tracing: extends tracing.Hooks with OnSystemCallStartV2 (#30786)
nebojsa94 Dec 4, 2024
08e6bdb
trie/utils: ensure master can generate a correct genesis for kaustine…
gballet Dec 6, 2024
a722adb
core/txpool: remove unused parameter `local` (#30871)
stevemilk Dec 9, 2024
a91dcf3
core/state: enable partial-functional reader (snapshot integration pt…
rjl493456442 Dec 10, 2024
75f8473
cmd/evm: consolidate evm output switches (#30849)
holiman Dec 10, 2024
4ecf085
core/vm: remove unnecessary comment (#30887)
hzysvilla Dec 10, 2024
9045b79
metrics, cmd/geth: change init-process of metrics (#30814)
holiman Dec 10, 2024
4ed36ea
build: update to Go 1.23.4 (#30872)
hteevoli Dec 10, 2024
330190e
accounts/abi: support unpacking solidity errors (#30738)
darrenvechain Dec 10, 2024
c7e740f
core/state: remove pointless wrapper functions (#30891)
gitglorythegreat Dec 11, 2024
e8a326a
Merge branch 'geth_v1.14.12' into bsc_develop
buddh0 Dec 12, 2024
2a1dcaf
Merge branch 'geth-master-date-1210' into bsc-develop
buddh0 Dec 12, 2024
c1c2507
p2p: fix DiscReason encoding/decoding (#30855)
lorenzo-dev1 Dec 12, 2024
88cbfab
internal/ethapi: add block override to estimateGas (#30695)
antonydenyer Dec 12, 2024
75365d1
Merge pull request #2799 from bnb-chain/merge-geth-master-date-1210
zzzckck Dec 13, 2024
0ad0e9f
BEP-466: Make the block header format compatible with EIP-7685 (#2777)
buddh0 Dec 13, 2024
804d45c
p2p: DNS resolution for static nodes (#30822)
0xVasconcelos Dec 13, 2024
e052b5d
fix: Opt pruneancient issues; (#2800)
galaio Dec 16, 2024
87055b5
eth/fetcher: remove light mode in block fetcher (#2804)
buddh0 Dec 16, 2024
f808d73
all: implement eip-7702 set code tx (#30078)
lightclient Dec 16, 2024
2be62d5
Merge branch 'commit-before-7702' into develop
buddh0 Dec 17, 2024
911c10c
Merge pull request #2806 from bnb-chain/prepare_merge_7702
zzzckck Dec 17, 2024
13635bf
Merge branch 'commit-7702' into develop
buddh0 Dec 17, 2024
66466b0
Merge pull request #2807 from bnb-chain/merge_7702
zzzckck Dec 17, 2024
444f35b
README: fix default storage scheme
buddh0 Dec 18, 2024
417b68c
tests: remove useless limit for prague test cases
buddh0 Dec 18, 2024
1b420da
cmd/geth: no need load config.toml for 'geth bls'
buddh0 Dec 18, 2024
96c549c
cmd/geth: remove DevCategory and BeaconCategory flags
buddh0 Dec 18, 2024
488ce87
Merge pull request #2811 from buddh0/misc_mini
zzzckck Dec 19, 2024
ce1df47
build(deps): bump golang.org/x/crypto from 0.22.0 to 0.31.0 (#2797)
dependabot[bot] Dec 19, 2024
7c28356
build(deps): bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 (#…
dependabot[bot] Dec 19, 2024
ab42162
release: prepare for release v1.5.2-alpha (#2812)
zzzckck Dec 19, 2024
9ef8139
ethdb/pebble: roll back sync mode when write (#2813)
buddh0 Dec 19, 2024
02410c7
metric: rollback some metric time types; (#2814)
galaio Dec 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
40 changes: 26 additions & 14 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,24 +1,36 @@
# Lines starting with '#' are comments.
# Each line is a file pattern followed by one or more owners.
accounts/usbwallet @karalabe
accounts/scwallet @gballet
accounts/abi @gballet @MariusVanDerWijden
beacon/engine @lightclient
cmd/clef @holiman
cmd/evm @holiman @MariusVanDerWijden @lightclient
consensus @karalabe
core/ @karalabe @holiman @rjl493456442
eth/ @karalabe @holiman @rjl493456442
eth/catalyst/ @gballet @lightclient

accounts/usbwallet/ @gballet
accounts/scwallet/ @gballet
accounts/abi/ @gballet @MariusVanDerWijden
beacon/engine/ @MariusVanDerWijden @lightclient @fjl
beacon/light/ @zsfelfoldi
beacon/merkle/ @zsfelfoldi
beacon/types/ @zsfelfoldi @fjl
beacon/params/ @zsfelfoldi @fjl
cmd/clef/ @holiman
cmd/evm/ @holiman @MariusVanDerWijden @lightclient
core/state/ @rjl493456442 @holiman
crypto/ @gballet @jwasinger @holiman @fjl
core/ @holiman @rjl493456442
eth/ @holiman @rjl493456442
eth/catalyst/ @MariusVanDerWijden @lightclient @fjl @jwasinger
eth/tracers/ @s1na
ethclient/ @fjl
ethdb/ @rjl493456442
event/ @fjl
trie/ @rjl493456442
triedb/ @rjl493456442
core/tracing/ @s1na
graphql/ @s1na
internal/ethapi @lightclient
internal/era @lightclient
les/ @zsfelfoldi @rjl493456442
light/ @zsfelfoldi @rjl493456442
internal/ethapi/ @fjl @s1na @lightclient
internal/era/ @lightclient
metrics/ @holiman
miner/ @MariusVanDerWijden @holiman @fjl @rjl493456442
node/ @fjl
p2p/ @fjl @zsfelfoldi
rlp/ @fjl
params/ @fjl @holiman @karalabe @gballet @rjl493456442 @zsfelfoldi
rpc/ @fjl @holiman
signer/ @holiman
6 changes: 4 additions & 2 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,7 @@ jobs:

- name: Test Build
run: |
go mod download
make geth
go run build/ci.go check_tidy
go run build/ci.go check_generate
go run build/ci.go check_baddeps
go mod download && make geth
17 changes: 7 additions & 10 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
golang-lint:
strategy:
matrix:
go-version: [1.21.x]
go-version: [1.23.x]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
Expand Down Expand Up @@ -47,12 +47,9 @@ jobs:
go mod tidy

- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
# Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version
version: v1.55.2
working-directory: ./
skip-pkg-cache: true
skip-cache: true
skip-build-cache: true
args: --timeout=99m --config ./.golangci.yml
env:
CGO_CFLAGS: "-O -D__BLST_PORTABLE__"
CGO_CFLAGS_ALLOW: "-O -D__BLST_PORTABLE__"
ANDROID_HOME: "" # Skip android test
run: |
make lint
16 changes: 1 addition & 15 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,11 @@
# or operating system, you probably want to add a global ignore instead:
# git config --global core.excludesfile ~/.gitignore_global

/tmp
*/**/*un~
*/**/*.test
*un~
.DS_Store
*/**/.DS_Store
.ethtest
*/**/*tx_database*
*/**/*dapps*
build/_vendor/pkg

#*
.#*
Expand Down Expand Up @@ -42,23 +37,14 @@ profile.cov

# IdeaIDE
.idea
*.iml

# VS Code
.vscode

# dashboard
/dashboard/assets/flow-typed
/dashboard/assets/node_modules
/dashboard/assets/stats.json
/dashboard/assets/bundle.js
/dashboard/assets/bundle.js.map
/dashboard/assets/package-lock.json

**/yarn-error.log
cmd/geth/node/
cmd/geth/__debug_bin
cmd/bootnode/bootnode
graphql/__debug_bin
logs/

tests/spec-tests/
8 changes: 6 additions & 2 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,14 @@ linters:
- staticcheck
- bidichk
- durationcheck
- exportloopref
- copyloopvar
- whitespace
- revive # only certain checks enabled

- durationcheck
- gocheckcompilerdirectives
- reassign
- mirror
- tenv
### linters we tried and will not be using:
###
# - structcheck # lots of false positives
Expand Down
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
before_install:
- export DOCKER_CLI_EXPERIMENTAL=enabled
script:
- go run build/ci.go dockerx -platform "linux/amd64,linux/arm64" -upload ethereum/client-go
- go run build/ci.go dockerx -platform "linux/amd64,linux/arm64,linux/riscv64" -upload ethereum/client-go

# This builder does the Linux Azure uploads
- stage: build
Expand Down
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,28 @@
# Changelog
## v1.5.2
v1.5.2-alpha is another release for upstream code sync, it catches up with [go-ethereum release [v1.14.12]](https://github.com/ethereum/go-ethereum/releases/tag/v1.14.12) and supported 4 BEPs for BSC Pascal hard fork.
- BEP-439: Implement EIP-2537: Precompile for BLS12-381 curve operations
- BEP-440: Implement EIP-2935: Serve historical block hashes from state
- BEP-441: Implement EIP-7702: Set EOA account code
- BEP-466: Make the block format compatible with EIP-7685

#### Code Sync
- [upstream: merge geth v1.14.12](https://github.com/bnb-chain/bsc/pull/2791)
- [upstream: merge geth date 1210](https://github.com/bnb-chain/bsc/pull/2799)
- [upstream: merge geth date 1213](https://github.com/bnb-chain/bsc/pull/2806)

#### Pascal BEPs
- [BEP-441: Implement EIP-7702: Set EOA account code](https://github.com/bnb-chain/bsc/pull/2807)
- [BEP-466: Make the block header format compatible with EIP-7685](https://github.com/bnb-chain/bsc/pull/2777)
- Note: BEP-439 and BEP-440 have already been implemented in previous v1.5.1-alpha release

#### Others
- [eth/fetcher: remove light mode in block fetcher](https://github.com/bnb-chain/bsc/pull/2804)
- [fix: Opt pruneancient issues](https://github.com/bnb-chain/bsc/pull/2800)
- [build(deps): bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1](https://github.com/bnb-chain/bsc/pull/2788)
- [build(deps): bump golang.org/x/crypto from 0.22.0 to 0.31.0](https://github.com/bnb-chain/bsc/pull/2797)
- [misc: mini fix and clearup](https://github.com/bnb-chain/bsc/pull/2811)

## v1.5.1
v1.5.1-alpha is for upstream code sync, it catches up with[go-ethereum release [v1.13.15, v1.14.11]](https://github.com/ethereum/go-ethereum/releases)

Expand Down
8 changes: 2 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,15 +139,11 @@ Download latest chaindata snapshot from [here](https://github.com/bnb-chain/bsc-

#### 4. Start a full node
```shell
## It will run with Path-Base Storage Scheme by default and enable inline state prune, keeping the latest 90000 blocks' history state.
./geth --config ./config.toml --datadir ./node --cache 8000 --rpc.allow-unprotected-txs --history.transactions 0

## It is recommend to run fullnode with `--tries-verify-mode none` if you want high performance and care little about state consistency
## It will run with Hash-Base Storage Scheme by default
## It is recommend to run fullnode with `--tries-verify-mode none` if you want high performance and care little about state consistency.
./geth --config ./config.toml --datadir ./node --cache 8000 --rpc.allow-unprotected-txs --history.transactions 0 --tries-verify-mode none

## It runs fullnode with Path-Base Storage Scheme.
## It will enable inline state prune, keeping the latest 90000 blocks' history state by default.
./geth --config ./config.toml --datadir ./node --cache 8000 --rpc.allow-unprotected-txs --history.transactions 0 --tries-verify-mode none --state.scheme path
```

#### 5. Monitor node status
Expand Down
7 changes: 5 additions & 2 deletions accounts/abi/abi.go
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ func (abi ABI) Pack(name string, args ...interface{}) ([]byte, error) {

func (abi ABI) getArguments(name string, data []byte) (Arguments, error) {
// since there can't be naming collisions with contracts and events,
// we need to decide whether we're calling a method or an event
// we need to decide whether we're calling a method, event or an error
var args Arguments
if method, ok := abi.Methods[name]; ok {
if len(data)%32 != 0 {
Expand All @@ -95,8 +95,11 @@ func (abi ABI) getArguments(name string, data []byte) (Arguments, error) {
if event, ok := abi.Events[name]; ok {
args = event.Inputs
}
if err, ok := abi.Errors[name]; ok {
args = err.Inputs
}
if args == nil {
return nil, fmt.Errorf("abi: could not locate named method or event: %s", name)
return nil, fmt.Errorf("abi: could not locate named method, event or error: %s", name)
}
return args, nil
}
Expand Down
34 changes: 33 additions & 1 deletion accounts/abi/abi_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import (
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/math"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/internal/testrand"
)

const jsondata = `
Expand Down Expand Up @@ -317,6 +318,38 @@ func TestCustomErrors(t *testing.T) {
check("MyError", "MyError(uint256)")
}

func TestCustomErrorUnpackIntoInterface(t *testing.T) {
t.Parallel()
errorName := "MyError"
json := fmt.Sprintf(`[{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"}],"name":"%s","type":"error"}]`, errorName)
abi, err := JSON(strings.NewReader(json))
if err != nil {
t.Fatal(err)
}
type MyError struct {
Sender common.Address
Balance *big.Int
}

sender := testrand.Address()
balance := new(big.Int).SetBytes(testrand.Bytes(8))
encoded, err := abi.Errors[errorName].Inputs.Pack(sender, balance)
if err != nil {
t.Fatal(err)
}
result := MyError{}
err = abi.UnpackIntoInterface(&result, errorName, encoded)
if err != nil {
t.Fatal(err)
}
if result.Sender != sender {
t.Errorf("expected %x got %x", sender, result.Sender)
}
if result.Balance.Cmp(balance) != 0 {
t.Errorf("expected %v got %v", balance, result.Balance)
}
}

func TestMultiPack(t *testing.T) {
t.Parallel()
abi, err := JSON(strings.NewReader(jsondata))
Expand Down Expand Up @@ -1199,7 +1232,6 @@ func TestUnpackRevert(t *testing.T) {
{"4e487b7100000000000000000000000000000000000000000000000000000000000000ff", "unknown panic code: 0xff", nil},
}
for index, c := range cases {
index, c := index, c
t.Run(fmt.Sprintf("case %d", index), func(t *testing.T) {
t.Parallel()
got, err := UnpackRevert(common.Hex2Bytes(c.input))
Expand Down
2 changes: 1 addition & 1 deletion accounts/abi/bind/bind.go
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ func Bind(types []string, abis []string, bytecodes []string, fsigs []map[string]
}
// Parse library references.
for pattern, name := range libs {
matched, err := regexp.Match("__\\$"+pattern+"\\$__", []byte(contracts[types[i]].InputBin))
matched, err := regexp.MatchString("__\\$"+pattern+"\\$__", contracts[types[i]].InputBin)
if err != nil {
log.Error("Could not search for pattern", "pattern", pattern, "contract", contracts[types[i]], "err", err)
}
Expand Down
1 change: 0 additions & 1 deletion accounts/abi/event_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -331,7 +331,6 @@ func TestEventTupleUnpack(t *testing.T) {

for _, tc := range testCases {
assert := assert.New(t)
tc := tc
t.Run(tc.name, func(t *testing.T) {
err := unpackTestEventData(tc.dest, tc.data, tc.jsonLog, assert)
if tc.error == "" {
Expand Down
1 change: 0 additions & 1 deletion accounts/abi/pack_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ import (
func TestPack(t *testing.T) {
t.Parallel()
for i, test := range packUnpackTests {
i, test := i, test
t.Run(strconv.Itoa(i), func(t *testing.T) {
t.Parallel()
encb, err := hex.DecodeString(test.packed)
Expand Down
1 change: 0 additions & 1 deletion accounts/abi/reflect_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,6 @@ var reflectTests = []reflectTest{
func TestReflectNameToStruct(t *testing.T) {
t.Parallel()
for _, test := range reflectTests {
test := test
t.Run(test.name, func(t *testing.T) {
t.Parallel()
m, err := mapArgNamesToStructFields(test.args, reflect.ValueOf(test.struc))
Expand Down
2 changes: 1 addition & 1 deletion accounts/abi/topics.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ func MakeTopics(query ...[]interface{}) ([][]common.Hash, error) {
case common.Address:
copy(topic[common.HashLength-common.AddressLength:], rule[:])
case *big.Int:
copy(topic[:], math.U256Bytes(rule))
copy(topic[:], math.U256Bytes(new(big.Int).Set(rule)))
case bool:
if rule {
topic[common.HashLength-1] = 1
Expand Down
20 changes: 17 additions & 3 deletions accounts/abi/topics_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,6 @@ func TestMakeTopics(t *testing.T) {
},
}
for _, tt := range tests {
tt := tt
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
got, err := MakeTopics(tt.args.query...)
Expand All @@ -150,6 +149,23 @@ func TestMakeTopics(t *testing.T) {
}
})
}

t.Run("does not mutate big.Int", func(t *testing.T) {
t.Parallel()
want := [][]common.Hash{{common.HexToHash("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")}}

in := big.NewInt(-1)
got, err := MakeTopics([]interface{}{in})
if err != nil {
t.Fatalf("makeTopics() error = %v", err)
}
if !reflect.DeepEqual(got, want) {
t.Fatalf("makeTopics() = %v, want %v", got, want)
}
if orig := big.NewInt(-1); in.Cmp(orig) != 0 {
t.Fatalf("makeTopics() mutated an input parameter from %v to %v", orig, in)
}
})
}

type args struct {
Expand Down Expand Up @@ -373,7 +389,6 @@ func TestParseTopics(t *testing.T) {
tests := setupTopicsTests()

for _, tt := range tests {
tt := tt
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
createObj := tt.args.createObj()
Expand All @@ -393,7 +408,6 @@ func TestParseTopicsIntoMap(t *testing.T) {
tests := setupTopicsTests()

for _, tt := range tests {
tt := tt
t.Run(tt.name, func(t *testing.T) {
t.Parallel()
outMap := make(map[string]interface{})
Expand Down
3 changes: 1 addition & 2 deletions accounts/abi/unpack_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,6 @@ func TestMethodMultiReturn(t *testing.T) {
"Can not unpack into a slice with wrong types",
}}
for _, tc := range testCases {
tc := tc
t.Run(tc.name, func(t *testing.T) {
require := require.New(t)
err := abi.UnpackIntoInterface(tc.dest, "multi", data)
Expand Down Expand Up @@ -947,7 +946,7 @@ func TestOOMMaliciousInput(t *testing.T) {
}
encb, err := hex.DecodeString(test.enc)
if err != nil {
t.Fatalf("invalid hex: %s" + test.enc)
t.Fatalf("invalid hex: %s", test.enc)
}
_, err = abi.Methods["method"].Outputs.UnpackValues(encb)
if err == nil {
Expand Down
2 changes: 1 addition & 1 deletion accounts/external/backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ func (api *ExternalSigner) SignTx(account accounts.Account, tx *types.Transactio
switch tx.Type() {
case types.LegacyTxType, types.AccessListTxType:
args.GasPrice = (*hexutil.Big)(tx.GasPrice())
case types.DynamicFeeTxType, types.BlobTxType:
case types.DynamicFeeTxType, types.BlobTxType, types.SetCodeTxType:
args.MaxFeePerGas = (*hexutil.Big)(tx.GasFeeCap())
args.MaxPriorityFeePerGas = (*hexutil.Big)(tx.GasTipCap())
default:
Expand Down
Loading
Loading