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

merge devnet-v3 with latest master #43

Merged
merged 194 commits into from
Nov 4, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
194 commits
Select commit Hold shift + click to select a range
23ac8df
cmd. core: save preimages on genesis creation (#25538)
gballet Aug 18, 2022
cce7f08
rlp/rlpgen: fix error handling when target type not found (#25547)
jtraglia Aug 18, 2022
a1b8892
trie: improve node rlp decoding performance (#25357)
rjl493456442 Aug 18, 2022
2c5648d
all: fix some typos (#25551)
jtraglia Aug 19, 2022
fa1305f
internal/ethapi: fix comment typo (#25548)
ucwong Aug 19, 2022
32e8490
accounts/abi/bind/backends: typo fix (#25549)
ucwong Aug 19, 2022
656dc8c
eth, les: unlock downloader peerSet if there's an error (#25546)
jtraglia Aug 19, 2022
9762ddf
cmd/geth: parse uint64 value with ParseUint instead of Atoi (#25545)
jtraglia Aug 19, 2022
77308cd
consensus/beacon: check ttd reached on pos blocks (#25552)
MariusVanDerWijden Aug 19, 2022
36874b6
eth/filters: add global block logs cache (#25459)
s1na Aug 19, 2022
0865880
accounts/abi: fix set function (#25477)
zhiqiangxu Aug 19, 2022
ac7ad81
internal/ethapi: fix build regression (#25555)
fjl Aug 19, 2022
0ce494b
eth/fetcher: don't spend too much time on transaction inclusion (#25524)
holiman Aug 19, 2022
02418c2
Revert "eth/fetcher: don't spend too much time on transaction inclusi…
karalabe Aug 22, 2022
395f3d4
eth/catalyst: warn less frequently if no beacon client is available (…
karalabe Aug 22, 2022
2de49b0
params: release go-ethereum v1.10.22
fjl Aug 22, 2022
6d711f0
params: begin v1.10.23 release cycle
fjl Aug 22, 2022
81bd998
core, eth/downloader: handle spurious junk bodies from racey rollback…
karalabe Aug 23, 2022
5758d1f
core/state, trie: fix trie flush order for proper pruning
karalabe Aug 23, 2022
45a660a
consensus/beacon: don't ignore errors
holiman Aug 23, 2022
9ed10b9
Merge pull request #25581 from karalabe/triedb-fix-flush-order
karalabe Aug 23, 2022
4c114af
Merge pull request #25582 from holiman/err_handling
karalabe Aug 23, 2022
d901d85
params: release Geth v1.10.23
karalabe Aug 24, 2022
57896d6
params: begin v1.10.24 release cycle
karalabe Aug 24, 2022
6c40aed
params: begin go-ethereum v1.11 release cycle
fjl Aug 25, 2022
70e1e65
internal/ethapi: rename debug getters to match spec (#25176)
lightclient Aug 25, 2022
f03c37b
accounts/abi/bind: add const for tx fee elasticity multiplier (#25504)
xinbenlv Aug 25, 2022
c394c30
all: remove duplicate word in comments (#25618)
Abirdcfly Aug 29, 2022
6e6b508
cmd/geth: fix legacy receipt detection for empty db (#25609)
s1na Aug 30, 2022
6d882a5
build: fix ignored errors (#25591)
uji Aug 30, 2022
44b36a0
docs: specify execution client (#25566)
sandakersmann Aug 30, 2022
8df8eb4
ethclient: add 'finalized' and 'safe' block number support (#25580)
rachel-bousfield Aug 30, 2022
7813b67
node: change JWT error status to 401 Unauthorized (#25629)
dbadoy Aug 30, 2022
2b6df28
node: fix regression in TestJWT (#25635)
fjl Aug 30, 2022
d10c280
all: move genesis initialization to blockchain (#25523)
rjl493456442 Aug 30, 2022
362256e
eth/catalyst: adjust eta for themerge (#25601)
holiman Aug 31, 2022
279afd7
mobile: close node on error (#25643)
jakub-freebit Aug 31, 2022
8cfcb41
graphql: return correct logs for tx (#25612)
s1na Aug 31, 2022
3d68bb0
trie: fix grammar in comment (#25648)
aaronbuchwald Aug 31, 2022
dafa40e
eth/protocols/snap: fix problems due to idle-but-busy peers
holiman Aug 31, 2022
3f79afb
trie: cleanup stateTrie (#25640)
rjl493456442 Aug 31, 2022
95a2c22
eth/catalyst: prevent division by zero (#25654)
MariusVanDerWijden Aug 31, 2022
d79bd2f
trie: better error reporting (#25645)
holiman Sep 1, 2022
d46184c
core/state: filter out nil trie for copy (#25575)
rjl493456442 Sep 1, 2022
511bf8f
Merge pull request #25651 from holiman/fix_snapqueue
karalabe Sep 1, 2022
d2027ac
mobile: register filter APIs (#25642)
jakub-freebit Sep 2, 2022
198fa95
README.md: improve grammar (#25646)
xternet Sep 2, 2022
d6a12bc
eth/tracers/js: fill in log.refund field (#25661)
s1na Sep 2, 2022
7f2890a
eth/fetcher: throttle peers which deliver many invalid transactions (…
holiman Sep 2, 2022
90711ef
node, rpc: add JWT auth support in client (#24911)
protolambda Sep 2, 2022
38e002f
rpc: check that "version" is "2.0" in request objects (#25570)
dbadoy Sep 2, 2022
0d68b6b
trie: fix typo in comment (#25667)
dbadoy Sep 2, 2022
4b9c307
trie: fix unhandled error in test (#25628)
Kamandlou Sep 2, 2022
7318858
eth/tracers/js: improve integer types in log object (#25668)
fjl Sep 5, 2022
a9ec2ab
trie: check childrens' existence concurrently for snap heal
karalabe Sep 6, 2022
d408cb6
Merge pull request #25694 from karalabe/concurrent-heal-check
karalabe Sep 6, 2022
5ddedd2
core, light, trie: remove DiskDB function from trie database (#25690)
rjl493456442 Sep 7, 2022
a32a02f
params: update chts (#25707)
rjl493456442 Sep 7, 2022
d30e39b
core/vm: rename RANDOM to PREVRANDAO (#25691)
MariusVanDerWijden Sep 7, 2022
dea1fb3
all: cleanup tests (#25641)
rjl493456442 Sep 7, 2022
b1f6dcc
eth, les: rework chain tracer (#25143)
rjl493456442 Sep 7, 2022
6a575ed
eth/tracer: fix broken test (#25715)
rjl493456442 Sep 8, 2022
8363f79
trie: update comments + err check for preimages (#25672)
darioush Sep 8, 2022
de8d5fa
eth/protocols/snap: throttle trie heal requests when peers DoS us (#2…
karalabe Sep 9, 2022
06151eb
p2p/msgrate: be more lenient when calculating 'mean' (#25653)
holiman Sep 9, 2022
610cf02
rpc: improve error codes for internal server errors (#25678)
niczy Sep 9, 2022
389021a
core: place a cap on reorglogs (#25711)
holiman Sep 9, 2022
b628d72
build: upgrade to go 1.19 (#25726)
fjl Sep 10, 2022
0c1888a
p2p/discover/v5wire: reject packets smaller than 63 bytes (#25740)
dbadoy Sep 12, 2022
3a4cef5
core: preallocate maps in TxPool helper methods (#25737)
dbadoy Sep 12, 2022
9a3bd11
accounts/abi: fix typo in error message (#25742)
bprosnitz Sep 13, 2022
818ff32
graphql: fixes missing tx logs (#25745)
s1na Sep 13, 2022
9d71716
cmd/geth: add a verkle subcommand (#25718)
gballet Sep 14, 2022
25b35c9
node: fix HTTP server always force closing (#25755)
ngotchac Sep 14, 2022
0ee8b27
core: fix log order in "Imported new chain segment" (#25768)
fjl Sep 15, 2022
3db4a13
node: fix lint issue in rpcstack.go (#25774)
fjl Sep 15, 2022
1d2f5cf
les/catalyst/api: add support for ExchangeTransitionConfigurationV1 (…
pinkiebell Sep 15, 2022
a89b7ad
params: set TerminalTotalDifficultyPassed to true (#25769)
MariusVanDerWijden Sep 15, 2022
57a65f0
trie: handle more batch commit errors in Database (#25674)
Kamandlou Sep 15, 2022
83989a1
core/rawdb: fix leak of backoff timer (#25776)
ucwong Sep 16, 2022
d213cb0
crypto/bls12381: docfix of g1 Affine (#25729)
georgercarder Sep 16, 2022
8ade5e6
internal/ethapi: return error when requesting invalid trie key (#25762)
lightclient Sep 16, 2022
ada603f
core: don't cache zero nonce in txNoncer (#25603)
dbadoy Sep 16, 2022
8e52015
core: more compact bad block report (#25714)
lightclient Sep 17, 2022
468d184
core: move build version reading to its own package (#25806)
fjl Sep 19, 2022
d728ba9
eth: fix a rare datarace on CHT challenge reply / shutdown
karalabe Sep 20, 2022
18a001f
Merge pull request #25831 from karalabe/fix-challenge-stop-hang
karalabe Sep 20, 2022
d8ada03
core/vm: return copy of input slice in identity precompile, avoid ret…
jwasinger Sep 20, 2022
338bb2e
core/blockchain: downgrade tx indexing and unindexing logs (#25832)
lightclient Sep 21, 2022
5d11d38
eth/tracers: fix trace config for `TraceCall` (#25821)
makcandrov Sep 21, 2022
6eb8f32
eth/catalyst: add locking around newpayload (#25816)
holiman Sep 21, 2022
400ab0d
eth/catalyst: make tests run faster (#25818)
holiman Sep 21, 2022
6215b92
cmd/utils: make --authrpc.jwtsecret a DirectoryFlag (#25849)
jsvisa Sep 22, 2022
fb500d1
eth/protocols/snap: make log messages more clear that sync is ongoing…
holiman Sep 23, 2022
220bdd3
.github: add CL client to issue template (#25814)
s1na Sep 23, 2022
e6d4aed
p2p: add channel buffers to avoid goroutine leaks in tests (#24929)
BurtonQin Sep 23, 2022
65f3c1b
internal/version: use gitCommit injection in version handling code (#…
fjl Sep 23, 2022
e878067
cmd/abigen: change --exc to exclude by type name (#22620)
sebastianst Sep 23, 2022
9b35f3f
tests, les, eth: remove mentions of deprecated Morden testnet (#23570)
Zachinquarantine Sep 23, 2022
3da42f8
all: clean up the configs for pruner and snapshotter (#22396)
rjl493456442 Sep 23, 2022
15b4a4b
cmd/puppeth, cmd/utils: finalize removal of gasTarget flag (#24370)
Zachinquarantine Sep 23, 2022
367e605
core/types: improve accuracy of header.Size() (#25859)
zhiqiangxu Sep 26, 2022
4dc212d
eth/tracers: pad memory slice on OOB case (#25213)
s1na Sep 26, 2022
a3c6d1d
cmd/faucet: fix readme typos (#25867)
omahs Sep 26, 2022
e004e7d
core: fix datarace in txpool, fixes #25870 and #25869 (#25872)
holiman Sep 26, 2022
b32d203
eth/downloader, les/downloader: fix subtle flaw in queue delivery (#2…
zhiqiangxu Sep 26, 2022
c55c56c
core/vm: better handle error on eip activation check (#25131)
qinglin89 Sep 26, 2022
7227c9e
cmd/geth: make dumpgenesis load genesis datadir if it exists (#25135)
jwasinger Sep 26, 2022
3ec6fe6
tests: fix state test error checking (#25702)
meowsbits Sep 26, 2022
fc3e6d0
eth/tracers: use gencodec for native tracers (#25637)
s1na Sep 26, 2022
bff84a9
cmd, core, eth, les, light: track deleted nodes (#25757)
rjl493456442 Sep 27, 2022
13e6985
eth: return state error via GetEVM (#25876)
zhiqiangxu Sep 27, 2022
80cc34a
eth/downloader: make flakey test less flakey (#25879)
holiman Sep 27, 2022
1a63a76
ethclient/gethclient: fix bugs in override object encoding (#25616)
simonovic86 Sep 27, 2022
456b187
trie, eth/protocols/snap: less tiny db-writes during trie-healing (#2…
holiman Sep 28, 2022
1743e61
accounts/abi/bind/backends: fix AdjustTime to respect Fork (#25225)
lightclient Sep 28, 2022
53d68fe
tests: report mgas/s metric in evm benchmarks (#25700)
shekhirin Sep 28, 2022
2b1299b
core/vm: minor trivial clean up (#25880)
lmittmann Sep 28, 2022
85aafcf
eth/tracers: fix a bug in prestateTracer (#25884)
jsvisa Sep 28, 2022
88132af
internal/ethapi: handle odd length hex in decodeHash (#25883)
f01c5700 Sep 28, 2022
052c634
core: rework tx indexer (#25723)
rjl493456442 Sep 29, 2022
c2918c2
accounts/abi: return toGoType error immediately (#25565)
ceyonur Sep 29, 2022
ff1f492
eth/tracers: remove revertReasonTracer, add revert reason to callTrac…
s1na Sep 29, 2022
f651d6d
accounts/abi/bind: parse ABI only once on bind (#25574)
mikhailv Sep 29, 2022
07e0704
internal/flags: fix issue with stringslice migration (#25830)
holiman Sep 29, 2022
ea26fc8
cmd/geth, cmd/utils: geth attach with custom headers (#25829)
holiman Sep 30, 2022
a724163
core/types: add a testcase to TestLegacyReceiptDecoding (#25909)
zhiqiangxu Oct 3, 2022
f61b50b
eth/protocols/snap: serve snap requests when possible (#25644)
holiman Oct 3, 2022
1913b50
eth, miner: add timeout for building sealing block (#25407)
rjl493456442 Oct 3, 2022
ee301c7
all: fix docstrings
holiman Oct 4, 2022
4f7a425
Merge pull request #25924 from holiman/comments_fix
karalabe Oct 4, 2022
e14164d
core: fix linter complaint (#25927)
holiman Oct 4, 2022
5d52a35
eth/tracers: add diffMode to prestateTracer (#25422)
jsvisa Oct 6, 2022
e50aeac
eth/traces: add state limit (#25812)
rjl493456442 Oct 6, 2022
deead99
core/bloombits: speed up windows-test (#25844)
holiman Oct 6, 2022
067bac3
core, ethclient/gethclient: improve flaky tests (#25918)
holiman Oct 6, 2022
9cddfe9
node: prevent exposing engine API on unauthenticated endpoint (#25939)
fjl Oct 6, 2022
df2b3cd
eth/filters: fix for eth_getLogs failing with finalized- and safe tag…
ryanschneider Oct 6, 2022
5647516
cmd/geth: fix help output issues (#25941)
fjl Oct 6, 2022
7eafbec
accounts/usbwallet: support Ledger Nano S Plus and FTS (#25933)
lochjin Oct 11, 2022
5a02b2d
all: fix spelling mistakes (#25961)
holiman Oct 11, 2022
1c737e8
cmd/geth, core: fix typo in comment (#25954)
molecula451 Oct 11, 2022
28d076d
core/rawdb: provide more info on 'gap in the chain' error (#25938)
holiman Oct 12, 2022
a007ab7
core/types: add more context around ErrInvalidChainID (#25367)
MariusVanDerWijden Oct 12, 2022
bed3b10
common/math: optimized modexp (+ fuzzer) (#25525)
holiman Oct 12, 2022
e257b3a
tests/fuzzers/modexp: gofmt (#25972)
fjl Oct 12, 2022
3630caf
node: drop support for static & trusted node list files (#25610)
s1na Oct 12, 2022
eaf095c
accounts/keystore: faster tests (#25827)
holiman Oct 12, 2022
010f47f
eth/protocols/eth: fix typo in log message (#25969)
DragonDev1906 Oct 12, 2022
5b1a04b
eth/filters, ethclient/gethclient: add fullTx option to pending tx fi…
lmittmann Oct 12, 2022
9207e34
go.mod: upgrade github.com/dop251/goja (#25955)
ucwong Oct 12, 2022
c776a98
eth/tracers: fix the issue of panic in prestate with diffmode (#25957)
jsvisa Oct 12, 2022
fb75f11
Revert "go.mod: upgrade github.com/dop251/goja" (#25975)
holiman Oct 12, 2022
15b7e0b
common/math, tests/fuzzers: use big.Int clone (#26006)
holiman Oct 18, 2022
6069d82
cmd/utils: enable snapshot generation in import-mode (#25990)
holiman Oct 19, 2022
d86fe26
core/rawdb: refactor db key prefix (#26000)
s7v7nislands Oct 19, 2022
b9ba6f6
core/rawdb: open meta file in read only mode (#26009)
rjl493456442 Oct 19, 2022
9b9a1b6
internal/ethapi, accounts/abi/backends: use error defined in core (#2…
s7v7nislands Oct 20, 2022
a404195
eth/tracers: fix the issue prestate missing existing contract state (…
jsvisa Oct 21, 2022
5f70f9f
eth/tracers: simplify test framework (#25973)
holiman Oct 21, 2022
a6dda03
all: refactor txpool into it's own package in prep for 4844
karalabe Oct 24, 2022
a2b7481
Merge pull request #26038 from karalabe/split-txpool
karalabe Oct 24, 2022
68ba845
core/types: rename tx files to group them better together
karalabe Oct 26, 2022
5bed24d
Merge pull request #26044 from karalabe/rename-typed-tx-files
karalabe Oct 26, 2022
c4a6621
core, eth: for types with accurate size calcs, return uint64, not flo…
karalabe Oct 26, 2022
1d0c4e2
build: upgrade -dlgo version to Go 1.19.2
sandakersmann Oct 26, 2022
7496ad8
Merge pull request #26049 from sandakersmann/master
karalabe Oct 27, 2022
0c66d97
accounts/scwallet: fix keycard data signing error (#25331)
gballet Oct 27, 2022
4984c4e
build: make ios work again (#26052)
jakub-freebit Oct 27, 2022
9d795d0
core/vm: use optimized bigint (#26021)
holiman Oct 27, 2022
a1fc0d8
eth/filters: change filter block to be by-ref (#26054)
holiman Oct 27, 2022
60e30a9
core/rawdb: refactor db inspector for extending multiple ancient stor…
rjl493456442 Oct 28, 2022
fbdeff9
cmd/evm: calc base fee if parent data is present (#26051)
lightclient Oct 28, 2022
0f49422
eth/tracers: fix gasUsed for native and JS tracers (#26048)
s1na Oct 28, 2022
2c1af8b
cmd, eth: implement full-sync tester (#26035)
rjl493456442 Oct 28, 2022
fb4a97f
rpc: update docstring (#26072)
s7v7nislands Oct 31, 2022
5329aa3
Fix trace call for inner reverts (#25971)
ngotchac Oct 31, 2022
b0d4433
eth: implement eth/68 (#25980)
vdwijden Oct 31, 2022
8e69622
eth/tracers: add withLog to callTracer (#25991)
jsvisa Nov 1, 2022
0c40df5
eth/tracers: prestateTracer - exclude unchanged storage slots in diff…
s1na Nov 1, 2022
8578eb2
accounts/abi: return error on fixed bytes with size larger than 32 by…
zhiqiangxu Nov 1, 2022
2b65219
consensus/ethash: fix typo (#26016)
zhiqiangxu Nov 1, 2022
2415911
docs/postmortems: remove wrong parentheses (#26066)
SebastianSupreme Nov 1, 2022
a2a144c
miner, eth: implement recommit mechanism for payload building (#25836)
rjl493456442 Nov 2, 2022
24f08ec
miner: fail early if core.NewBlockChain fails (#26079)
roberto-bayardo Nov 2, 2022
621b423
p2p/discover: fix handling of distance 256 in lookupDistances (#26087)
jtraglia Nov 2, 2022
4a81e5a
rlp: add more tests for nil pointer / optional field encoding (#26077)
roberto-bayardo Nov 2, 2022
05037ea
rpc: handle wrong HTTP batch response length (#26064)
jmank88 Nov 2, 2022
f3a005f
cmd/clef: add `list-accounts` and `list-wallets` to CLI (#26080)
jmcook1186 Nov 2, 2022
19bf99f
merge devnet-v3 with latest master, part 1
roberto-bayardo Nov 3, 2022
c77e39b
next ~50 commits from master to merge into devnet-v3
roberto-bayardo Nov 3, 2022
9a4e8e2
crypto/bls12381: docs - fix broken links to references (#26095)
jwasinger Nov 3, 2022
8f94acc
final commits from master merged into devnet-v3
roberto-bayardo Nov 3, 2022
a0731a0
Merge branch 'master' into merge-master
roberto-bayardo Nov 3, 2022
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
  •  
  •  
  •  
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/bug.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ assignees: ''
#### System information

Geth version: `geth version`
CL client & version: e.g. lighthouse/nimbus/prysm@v1.0.0
OS & Version: Windows/Linux/OSX
Commit hash : (if `develop`)

Expand All @@ -27,4 +28,4 @@ Commit hash : (if `develop`)
[backtrace]
````

When submitting logs: please submit them as text and not screenshots.
When submitting logs: please submit them as text and not screenshots.
17 changes: 4 additions & 13 deletions .golangci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,19 @@ run:
linters:
disable-all: true
enable:
- deadcode
- goconst
- goimports
- gosimple
- govet
- ineffassign
- misspell
- unconvert
- varcheck
- typecheck
- unused
- staticcheck
- bidichk
- durationcheck
- exportloopref
- gosec
- whitespace

# - structcheck # lots of false positives
Expand All @@ -45,11 +42,6 @@ linters-settings:
goconst:
min-len: 3 # minimum length of string constant
min-occurrences: 6 # minimum number of occurrences
gosec:
excludes:
- G404 # Use of weak random number generator - lots of FP
- G107 # Potential http request -- those are intentional
- G306 # G306: Expect WriteFile permissions to be 0600 or less

issues:
exclude-rules:
Expand All @@ -58,16 +50,15 @@ issues:
- deadcode
- staticcheck
- path: internal/build/pgp.go
text: 'SA1019: package golang.org/x/crypto/openpgp is deprecated'
text: 'SA1019: "golang.org/x/crypto/openpgp" is deprecated: this package is unmaintained except for security fixes.'
- path: core/vm/contracts.go
text: 'SA1019: package golang.org/x/crypto/ripemd160 is deprecated'
text: 'SA1019: "golang.org/x/crypto/ripemd160" is deprecated: RIPEMD-160 is a legacy hash and should not be used for new applications.'
- path: accounts/usbwallet/trezor.go
text: 'SA1019: package github.com/golang/protobuf/proto is deprecated'
text: 'SA1019: "github.com/golang/protobuf/proto" is deprecated: Use the "google.golang.org/protobuf/proto" package instead.'
- path: accounts/usbwallet/trezor/
text: 'SA1019: package github.com/golang/protobuf/proto is deprecated'
text: 'SA1019: "github.com/golang/protobuf/proto" is deprecated: Use the "google.golang.org/protobuf/proto" package instead.'
exclude:
- 'SA1019: event.TypeMux is deprecated: use Feed'
- 'SA1019: strings.Title is deprecated'
- 'SA1019: strings.Title has been deprecated since Go 1.18 and an alternative has been available since Go 1.0: The rule Title uses for word boundaries does not handle Unicode punctuation properly. Use golang.org/x/text/cases instead.'
- 'SA1029: should not use built-in type string as key for value'
- 'G306: Expect WriteFile permissions to be 0600 or less'
20 changes: 10 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- stage: lint
os: linux
dist: bionic
go: 1.18.x
go: 1.19.x
env:
- lint
git:
Expand All @@ -31,7 +31,7 @@ jobs:
os: linux
arch: amd64
dist: bionic
go: 1.18.x
go: 1.19.x
env:
- docker
services:
Expand All @@ -48,7 +48,7 @@ jobs:
os: linux
arch: arm64
dist: bionic
go: 1.18.x
go: 1.19.x
env:
- docker
services:
Expand All @@ -65,7 +65,7 @@ jobs:
if: type = push
os: linux
dist: bionic
go: 1.18.x
go: 1.19.x
env:
- ubuntu-ppa
- GO111MODULE=on
Expand All @@ -90,7 +90,7 @@ jobs:
os: linux
dist: bionic
sudo: required
go: 1.18.x
go: 1.19.x
env:
- azure-linux
- GO111MODULE=on
Expand Down Expand Up @@ -162,7 +162,7 @@ jobs:
- stage: build
if: type = push
os: osx
go: 1.18.x
go: 1.19.x
env:
- azure-osx
- azure-ios
Expand Down Expand Up @@ -194,7 +194,7 @@ jobs:
os: linux
arch: amd64
dist: bionic
go: 1.18.x
go: 1.19.x
env:
- GO111MODULE=on
script:
Expand All @@ -214,7 +214,7 @@ jobs:
- stage: build
os: linux
dist: bionic
go: 1.17.x
go: 1.18.x
env:
- GO111MODULE=on
script:
Expand All @@ -225,7 +225,7 @@ jobs:
if: type = cron
os: linux
dist: bionic
go: 1.18.x
go: 1.19.x
env:
- azure-purge
- GO111MODULE=on
Expand All @@ -239,7 +239,7 @@ jobs:
if: type = cron
os: linux
dist: bionic
go: 1.18.x
go: 1.19.x
env:
- GO111MODULE=on
script:
Expand Down
36 changes: 18 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## Go Ethereum

Official Golang implementation of the Ethereum protocol.
Official Golang execution layer implementation of the Ethereum protocol.

[![API Reference](
https://camo.githubusercontent.com/915b7be44ada53c290eb157634330494ebe3e30a/68747470733a2f2f676f646f632e6f72672f6769746875622e636f6d2f676f6c616e672f6764646f3f7374617475732e737667
Expand Down Expand Up @@ -39,7 +39,7 @@ directory.
| **`geth`** | Our main Ethereum CLI client. It is the entry point into the Ethereum network (main-, test- or private net), capable of running as a full node (default), archive node (retaining all historical state) or a light node (retrieving data live). It can be used by other processes as a gateway into the Ethereum network via JSON RPC endpoints exposed on top of HTTP, WebSocket and/or IPC transports. `geth --help` and the [CLI page](https://geth.ethereum.org/docs/interface/command-line-options) for command line options. |
| `clef` | Stand-alone signing tool, which can be used as a backend signer for `geth`. |
| `devp2p` | Utilities to interact with nodes on the networking layer, without running a full blockchain. |
| `abigen` | Source code generator to convert Ethereum contract definitions into easy to use, compile-time type-safe Go packages. It operates on plain [Ethereum contract ABIs](https://docs.soliditylang.org/en/develop/abi-spec.html) with expanded functionality if the contract bytecode is also available. However, it also accepts Solidity source files, making development much more streamlined. Please see our [Native DApps](https://geth.ethereum.org/docs/dapp/native-bindings) page for details. |
| `abigen` | Source code generator to convert Ethereum contract definitions into easy-to-use, compile-time type-safe Go packages. It operates on plain [Ethereum contract ABIs](https://docs.soliditylang.org/en/develop/abi-spec.html) with expanded functionality if the contract bytecode is also available. However, it also accepts Solidity source files, making development much more streamlined. Please see our [Native DApps](https://geth.ethereum.org/docs/dapp/native-bindings) page for details. |
| `bootnode` | Stripped down version of our Ethereum client implementation that only takes part in the network node discovery protocol, but does not run any of the higher level application protocols. It can be used as a lightweight bootstrap node to aid in finding peers in private networks. |
| `evm` | Developer utility version of the EVM (Ethereum Virtual Machine) that is capable of running bytecode snippets within a configurable environment and execution mode. Its purpose is to allow isolated, fine-grained debugging of EVM opcodes (e.g. `evm --code 60ff60ff --debug run`). |
| `rlpdump` | Developer utility tool to convert binary RLP ([Recursive Length Prefix](https://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp)) dumps (data encoding used by the Ethereum protocol both network as well as consensus wise) to user-friendlier hierarchical representation (e.g. `rlpdump --hex CE0183FFFFFFC4C304050583616263`). |
Expand All @@ -65,14 +65,14 @@ Recommended:

* Fast CPU with 4+ cores
* 16GB+ RAM
* High Performance SSD with at least 1TB free space
* High-performance SSD with at least 1TB of free space
* 25+ MBit/sec download Internet service

### Full node on the main Ethereum network

By far the most common scenario is people wanting to simply interact with the Ethereum
network: create accounts; transfer funds; deploy and interact with contracts. For this
particular use-case the user doesn't care about years-old historical data, so we can
particular use case, the user doesn't care about years-old historical data, so we can
sync quickly to the current state of the network. To do so:

```shell
Expand All @@ -83,11 +83,11 @@ This command will:
* Start `geth` in snap sync mode (default, can be changed with the `--syncmode` flag),
causing it to download more data in exchange for avoiding processing the entire history
of the Ethereum network, which is very CPU intensive.
* Start up `geth`'s built-in interactive [JavaScript console](https://geth.ethereum.org/docs/interface/javascript-console),
* Start the built-in interactive [JavaScript console](https://geth.ethereum.org/docs/interface/javascript-console),
(via the trailing `console` subcommand) through which you can interact using [`web3` methods](https://github.com/ChainSafe/web3.js/blob/0.20.7/DOCUMENTATION.md)
(note: the `web3` version bundled within `geth` is very old, and not up to date with official docs),
as well as `geth`'s own [management APIs](https://geth.ethereum.org/docs/rpc/server).
This tool is optional and if you leave it out you can always attach to an already running
This tool is optional and if you leave it out you can always attach it to an already running
`geth` instance with `geth attach`.

### A Full node on the Görli test network
Expand All @@ -102,12 +102,12 @@ the main network, but with play-Ether only.
$ geth --goerli console
```

The `console` subcommand has the exact same meaning as above and they are equally
useful on the testnet too. Please, see above for their explanations if you've skipped here.
The `console` subcommand has the same meaning as above and is equally
useful on the testnet too.

Specifying the `--goerli` flag, however, will reconfigure your `geth` instance a bit:

* Instead of connecting the main Ethereum network, the client will connect to the Görli
* Instead of connecting to the main Ethereum network, the client will connect to the Görli
test network, which uses different P2P bootnodes, different network IDs and genesis
states.
* Instead of using the default data directory (`~/.ethereum` on Linux for example), `geth`
Expand All @@ -118,9 +118,9 @@ Specifying the `--goerli` flag, however, will reconfigure your `geth` instance a
`geth attach <datadir>/goerli/geth.ipc`. Windows users are not affected by
this.

*Note: Although there are some internal protective measures to prevent transactions from
crossing over between the main network and test network, you should make sure to always
use separate accounts for play-money and real-money. Unless you manually move
*Note: Although some internal protective measures prevent transactions from
crossing over between the main network and test network, you should always
use separate accounts for play and real money. Unless you manually move
accounts, `geth` will by default correctly separate the two networks and will not make any
accounts available between them.*

Expand Down Expand Up @@ -155,7 +155,7 @@ configuration file via:
$ geth --config /path/to/your_config.toml
```

To get an idea how the file should look like you can use the `dumpconfig` subcommand to
To get an idea of how the file should look like you can use the `dumpconfig` subcommand to
export your existing configuration:

```shell
Expand All @@ -175,7 +175,7 @@ docker run -d --name ethereum-node -v /Users/alice/ethereum:/root \
ethereum/client-go
```

This will start `geth` in snap-sync mode with a DB memory allowance of 1GB just as the
This will start `geth` in snap-sync mode with a DB memory allowance of 1GB, as the
above command does. It will also create a persistent volume in your home directory for
saving your blockchain as well as map the default ports. There is also an `alpine` tag
available for a slim version of the image.
Expand Down Expand Up @@ -209,7 +209,7 @@ HTTP based JSON-RPC API options:
* `--ws.addr` WS-RPC server listening interface (default: `localhost`)
* `--ws.port` WS-RPC server listening port (default: `8546`)
* `--ws.api` API's offered over the WS-RPC interface (default: `eth,net,web3`)
* `--ws.origins` Origins from which to accept websockets requests
* `--ws.origins` Origins from which to accept WebSocket requests
* `--ipcdisable` Disable the IPC-RPC server
* `--ipcapi` API's offered over the IPC-RPC interface (default: `admin,debug,eth,miner,net,personal,txpool,web3`)
* `--ipcpath` Filename for IPC socket/pipe within the datadir (explicit paths escape it)
Expand Down Expand Up @@ -327,7 +327,7 @@ requiring an OpenCL or CUDA enabled `ethminer` instance. For information on such
setup, please consult the [EtherMining subreddit](https://www.reddit.com/r/EtherMining/)
and the [ethminer](https://github.com/ethereum-mining/ethminer) repository.

In a private network setting, however a single CPU miner instance is more than enough for
In a private network setting, however, a single CPU miner instance is more than enough for
practical purposes as it can produce a stable stream of blocks at the correct intervals
without needing heavy resources (consider running on a single thread, no need for multiple
ones either). To start a `geth` instance for mining, run it with all your usual flags, extended
Expand All @@ -344,7 +344,7 @@ transactions are accepted at (`--miner.gasprice`).

## Contribution

Thank you for considering to help out with the source code! We welcome contributions
Thank you for considering helping out with the source code! We welcome contributions
from anyone on the internet, and are grateful for even the smallest of fixes!

If you'd like to contribute to go-ethereum, please fork, fix, commit and send a pull request
Expand Down Expand Up @@ -374,6 +374,6 @@ The go-ethereum library (i.e. all code outside of the `cmd` directory) is licens
[GNU Lesser General Public License v3.0](https://www.gnu.org/licenses/lgpl-3.0.en.html),
also included in our repository in the `COPYING.LESSER` file.

The go-ethereum binaries (i.e. all code inside of the `cmd` directory) is licensed under the
The go-ethereum binaries (i.e. all code inside of the `cmd` directory) are licensed under the
[GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html), also
included in our repository in the `COPYING` file.
34 changes: 20 additions & 14 deletions accounts/abi/abi_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -165,8 +165,9 @@ func TestInvalidABI(t *testing.T) {

// TestConstructor tests a constructor function.
// The test is based on the following contract:
// contract TestConstructor {
// constructor(uint256 a, uint256 b) public{}
//
// contract TestConstructor {
// constructor(uint256 a, uint256 b) public{}
// }
func TestConstructor(t *testing.T) {
json := `[{ "inputs": [{"internalType": "uint256","name": "a","type": "uint256" },{ "internalType": "uint256","name": "b","type": "uint256"}],"stateMutability": "nonpayable","type": "constructor"}]`
Expand Down Expand Up @@ -724,16 +725,19 @@ func TestBareEvents(t *testing.T) {
}

// TestUnpackEvent is based on this contract:
// contract T {
// event received(address sender, uint amount, bytes memo);
// event receivedAddr(address sender);
// function receive(bytes memo) external payable {
// received(msg.sender, msg.value, memo);
// receivedAddr(msg.sender);
// }
// }
//
// contract T {
// event received(address sender, uint amount, bytes memo);
// event receivedAddr(address sender);
// function receive(bytes memo) external payable {
// received(msg.sender, msg.value, memo);
// receivedAddr(msg.sender);
// }
// }
//
// When receive("X") is called with sender 0x00... and value 1, it produces this tx receipt:
// receipt{status=1 cgas=23949 bloom=00000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000040200000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 logs=[log: b6818c8064f645cd82d99b59a1a267d6d61117ef [75fd880d39c1daf53b6547ab6cb59451fc6452d27caa90e5b6649dd8293b9eed] 000000000000000000000000376c47978271565f56deb45495afa69e59c16ab200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000158 9ae378b6d4409eada347a5dc0c180f186cb62dc68fcc0f043425eb917335aa28 0 95d429d309bb9d753954195fe2d69bd140b4ae731b9b5b605c34323de162cf00 0]}
//
// receipt{status=1 cgas=23949 bloom=00000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000040200000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 logs=[log: b6818c8064f645cd82d99b59a1a267d6d61117ef [75fd880d39c1daf53b6547ab6cb59451fc6452d27caa90e5b6649dd8293b9eed] 000000000000000000000000376c47978271565f56deb45495afa69e59c16ab200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000000158 9ae378b6d4409eada347a5dc0c180f186cb62dc68fcc0f043425eb917335aa28 0 95d429d309bb9d753954195fe2d69bd140b4ae731b9b5b605c34323de162cf00 0]}
func TestUnpackEvent(t *testing.T) {
const abiJSON = `[{"constant":false,"inputs":[{"name":"memo","type":"bytes"}],"name":"receive","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"memo","type":"bytes"}],"name":"received","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"}],"name":"receivedAddr","type":"event"}]`
abi, err := JSON(strings.NewReader(abiJSON))
Expand Down Expand Up @@ -1078,8 +1082,9 @@ func TestDoubleDuplicateMethodNames(t *testing.T) {
// TestDoubleDuplicateEventNames checks that if send0 already exists, there won't be a name
// conflict and that the second send event will be renamed send1.
// The test runs the abi of the following contract.
// contract DuplicateEvent {
// event send(uint256 a);
//
// contract DuplicateEvent {
// event send(uint256 a);
// event send0();
// event send();
// }
Expand All @@ -1106,7 +1111,8 @@ func TestDoubleDuplicateEventNames(t *testing.T) {
// TestUnnamedEventParam checks that an event with unnamed parameters is
// correctly handled.
// The test runs the abi of the following contract.
// contract TestEvent {
//
// contract TestEvent {
// event send(uint256, uint256);
// }
func TestUnnamedEventParam(t *testing.T) {
Expand Down
Loading