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

Trie gen PR-ception #5

Closed
wants to merge 294 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
294 commits
Select commit Hold shift + click to select a range
b566cfd
core/evm: avoid copying memory for input in calls (#20177)
holiman Nov 4, 2019
734e00a
travis, build, internal: use own Go bundle for PPA builds (#20240)
karalabe Nov 5, 2019
c702bd7
travis: bump linter to Go 1.13.x
karalabe Nov 5, 2019
9948724
params: hard-code new CHTs for the 1.9.7 release
karalabe Nov 6, 2019
fc3661f
Merge pull request #20248 from karalabe/cht-1.9.7
karalabe Nov 6, 2019
b9bac1f
les: fix and slim the unit tests of les (#20247)
rjl493456442 Nov 6, 2019
a718daa
params: release Geth v1.9.7
karalabe Nov 7, 2019
4b8f56c
params: begin v1.9.8 release cycle
karalabe Nov 7, 2019
adf007d
p2p/enode: mock DNS resolver in URL parsing test (#20252)
fjl Nov 7, 2019
de2259d
travis: enable test suite on ARM64 (#20219)
gballet Nov 8, 2019
6f1a600
p2p: fix bug in TestPeerDisconnect (#20277)
Nov 13, 2019
4ea9b62
dashboard: send current block to the dashboard client (#19762)
kurkomisi Nov 13, 2019
22e3bbb
miner: increase worker test timeout (#20268)
gballet Nov 13, 2019
bf5c6b2
les: implement server priority API (#20070)
zsfelfoldi Nov 13, 2019
f8a95d9
accounts/abi/bind, cmd/abigen: implement alias for abigen (#20244)
rjl493456442 Nov 14, 2019
9504c5c
rpc: fix typo example code (#20284)
Jorropo Nov 14, 2019
987648b
cmd/faucet: use github.com/gorilla/websocket (#20283)
fjl Nov 14, 2019
afe0b65
dashboard: remove the dashboard (#20279)
fjl Nov 14, 2019
765fe44
whisper/whisperv6: fix staticcheck issues (#20288)
gballet Nov 14, 2019
49d1a03
build: gather info to investigate why builds fail on ARM (#20281)
gballet Nov 14, 2019
f03b2db
params: finish sentence in comment (#20291)
meowsbits Nov 14, 2019
738b51a
core/vm: fix tracer interface parameter name (#20294)
nebojsa94 Nov 15, 2019
51c3290
internal/ethapi: don't query wallets at every execution of gas estima…
holiman Nov 11, 2019
9e71f55
cmd/evm: Allow loading input from file (#20273)
michaelforney Nov 17, 2019
7c4a4eb
rpc, p2p/simulations: use github.com/gorilla/websocket (#20289)
fjl Nov 18, 2019
6894864
build: use golangci-lint (#20295)
fjl Nov 18, 2019
11d09fd
travis: remove traces and use travis_wait in ARM build (#20296)
gballet Nov 18, 2019
57d6976
core: s/isEIP155/isHomestead/g (fix IntrinsicGas signature var name) …
meowsbits Nov 18, 2019
422604b
les: rename UpdateBalance to AddBalance and simplify return format (#…
zsfelfoldi Nov 18, 2019
b02afb6
travis: use travis_wait for both install and build (#20309)
gballet Nov 18, 2019
190fb81
build: add test cmd flag -v for verbose logs (#20298)
meowsbits Nov 18, 2019
a3d263d
cmd/clef: fix staticcheck warnings (#20314)
fjl Nov 18, 2019
3f4a875
consensus/clique: add clique_status API method (#20103)
holiman Nov 18, 2019
c5c5e0d
consensus/clique: fix struct tags for status API (#20316)
fjl Nov 18, 2019
dfe8912
cmd/ethkey: fix file permissions in changepassword command (#20313)
fjl Nov 19, 2019
5fefe39
p2p/netutil: fix staticcheck warning (#20315)
fjl Nov 19, 2019
b9c90c5
core/rawdb: check hash before return data from ancient db (#20195)
rjl493456442 Nov 19, 2019
0b63383
travis: deactivate arm build during push (#20321)
gballet Nov 19, 2019
c013192
ethclient: remove use of common.ToHex (#20326)
fjl Nov 19, 2019
94e8250
cmd/wnode: remove uses of common.ToHex (#20327)
fjl Nov 19, 2019
7f70a70
event: remove unused field 'closed' (#20324)
fjl Nov 19, 2019
3b0f348
.github: remove 'nonsense' from CODEOWNERS (#20329)
gballet Nov 19, 2019
ac5e28e
whisper/whisperv6: fix staticcheck warnings (#20328)
fjl Nov 19, 2019
9e8cc00
p2p: remove unused code (#20325)
fjl Nov 19, 2019
df206d2
p2p/simulations: fix staticcheck warnings (#20322)
fjl Nov 19, 2019
9c6cf96
internal/web3ext, les: update clique JS and make it work with the lig…
fjl Nov 19, 2019
8008c5b
rpc: remove 'exported or builtin' restriction for parameters (#20332)
fjl Nov 20, 2019
f71e85b
core: fix staticcheck warnings (#20323)
fjl Nov 20, 2019
9b59c75
miner: fix data race in tests (#20310)
rjl493456442 Nov 20, 2019
b7ba944
cmd/puppeth: update chain spec of parity (#20241)
rjl493456442 Nov 20, 2019
3a4a3d0
Merge pull request #20261 from holiman/less_querying
karalabe Nov 20, 2019
15fb780
go.mod, vendor: switch to Go modules
karalabe Nov 18, 2019
dfdb204
travis: explicitly enable go modules in Go 1.11 and 1.12
karalabe Nov 18, 2019
f4ec854
accounts/abi/bind: switch binding test to go modules
karalabe Nov 18, 2019
b3d6304
travis, build: aggregate and upload go mod dependencies for PPA
karalabe Nov 18, 2019
e1dcea8
go.mod: tidy up the modules to avoid xgo writes to go.sum
karalabe Nov 18, 2019
a7dfaa0
build, internal/build: drop own file/folder copier
karalabe Nov 18, 2019
8bd5bb8
travis: fake build ppa only for go module dependencies
karalabe Nov 18, 2019
f8790b9
mobile: fix CopyFile switch to package cp
karalabe Nov 18, 2019
b8ced9e
tests: refactor TestState to dedupe walk callback
meowsbits Nov 20, 2019
75e029d
build, travis: use ephemeral debsrc GOPATH to get mod deps
karalabe Nov 20, 2019
b4bc3b3
tests: enable TransactionTests Istanbul case (#20337)
meowsbits Nov 20, 2019
c5b46a7
Merge pull request #20338 from etclabscore/feat/statetests-dedupe-wal…
karalabe Nov 20, 2019
59177bc
cmd/puppeth: x-spec nonce data type, use types.BlockNonce
meowsbits Nov 20, 2019
7be89a7
Merge pull request #20339 from etclabscore/fix/cmd-puppeth-blocknonce…
karalabe Nov 21, 2019
216ff5a
cmd/puppeth: make ssh prompt more user-friendly
holiman Nov 21, 2019
f56f969
Merge pull request #20350 from holiman/puppeth_ssh
karalabe Nov 21, 2019
72e62ef
common/hexutil: improve GraphQL error messages (#20353)
fjl Nov 21, 2019
89ab8a7
go.mod: switch to Go modules (#20311)
fjl Nov 21, 2019
475ae8b
build: pull in ci.go dependencies for the PPA builder
karalabe Nov 21, 2019
0754100
Merge pull request #20356 from karalabe/ppa-fix-cigo
karalabe Nov 21, 2019
0ec5ab4
common: improve GraphQL error messages (#20354)
fjl Nov 21, 2019
b6d4f6b
core/types: remove BlockBy sorting code (#20355)
fjl Nov 21, 2019
5b558ad
build: skip go clean on PPA, messes with the module trick
karalabe Nov 21, 2019
c1db636
Merge pull request #20360 from karalabe/ppa-fix-cigo-clean
karalabe Nov 21, 2019
bcc1234
accounts/abi/bind/backends: remove unused assignment (#20359)
fjl Nov 21, 2019
36a684c
accounts/abi: fix staticcheck warnings (#20358)
fjl Nov 21, 2019
dd21f07
core/state: fix staticcheck warnings (#20357)
fjl Nov 22, 2019
58f2ce8
metrics: fix issues reported by staticcheck (#20365)
gballet Nov 22, 2019
0abcf03
trie: remove unused code (#20366)
fjl Nov 22, 2019
fdff182
p2p/discv5: add deprecation warning and remove unused code (#20367)
fjl Nov 22, 2019
5d21667
tests, signer: remove staticcheck warnings (#20364)
gballet Nov 23, 2019
3a0480e
core/asm: allow numbers in labels (#20362)
michaelforney Nov 23, 2019
f06ae5c
miner: fix staticcheck warnings (#20375)
gballet Nov 24, 2019
f5a68a4
eth/tracers: fix staticcheck warnings (#20379)
gballet Nov 24, 2019
9d67222
trie: replace bigcache with fastcache (#19971)
rjl493456442 Nov 25, 2019
d9d2a4e
cmd/geth: remove network id from version cmd
meowsbits Nov 25, 2019
9ef90db
Merge pull request #20385 from etclabscore/fix/version-cmd-networkid
karalabe Nov 25, 2019
44b4164
rlp: fix staticcheck warnings (#20368)
fjl Nov 25, 2019
b26eedf
accounts/abi/bind: avoid reclaring structs (#20381)
rjl493456442 Nov 25, 2019
8c1e8de
accounts/keystore: fix staticcheck warnings (#20373)
gballet Nov 25, 2019
2e98706
p2p/discover: slow down lookups on empty table (#20389)
fjl Nov 26, 2019
878e35b
les: fix clientInfo deadlock (#20395)
zsfelfoldi Nov 26, 2019
d62e9b2
params: release go-ethereum v1.9.8
karalabe Nov 26, 2019
0676320
params: begin v1.9.9 release cycle
karalabe Nov 26, 2019
23c8c74
cmd: fix command help messages in modules (#20203)
zacscoding Nov 26, 2019
c4844e9
les: fix staticcheck warnings (#20371)
gballet Nov 27, 2019
7b189d6
core: fix staticcheck warnings (#20384)
gballet Nov 27, 2019
717f8a4
core/rawdb: fix reinit regression caused by the hash check PR
karalabe Nov 27, 2019
7800ba9
deps: update fastcache to 1.5.3
holiman Nov 27, 2019
58e33d9
Merge pull request #20403 from karalabe/fix-freezer-reinit
karalabe Nov 27, 2019
c9f28ca
go: update fastcache to 1.5.3 (#20404)
karalabe Nov 27, 2019
a91b704
consensus/ethash: refactor remote sealer (#20335)
fjl Nov 28, 2019
9a529d6
log: fix staticcheck warnings (#20388)
gballet Nov 28, 2019
08611cf
trie: remove dead code (#20405)
rjl493456442 Nov 28, 2019
1ff3d7c
cmd/faucet, cmd/geth: fix staticcheck warnings (#20374)
gballet Nov 29, 2019
e0bf5f0
internal: fix staticcheck warnings (#20380)
gballet Nov 29, 2019
54d332e
accounts/scwallet: fix staticcheck warnings (#20370)
gballet Nov 29, 2019
d556d39
internal/web3ext: add debug_accountRange (#20410)
xinluyin Nov 29, 2019
5cc6e7a
accounts/usbwallet: fix staticcheck warnings (#20372)
gballet Nov 29, 2019
fc7e0fe
core, miner: remove PostChainEvents (#19396)
rjl493456442 Nov 29, 2019
7ce7c39
accounts/abi/bind: fix destructive packing of *big.Int (#20412)
MariusVanDerWijden Dec 2, 2019
13ccf60
trie: track dirty cache metrics, track clean writes on commit
karalabe Dec 2, 2019
c2d65d3
Merge pull request #20415 from karalabe/trie-dirty-cache-metrics
karalabe Dec 2, 2019
6b6882f
params: update CHTs for v1.9.9 release
karalabe Dec 5, 2019
e78f631
Merge pull request #20428 from karalabe/cht-1.9.9
karalabe Dec 5, 2019
c9dce0b
p2p/enode: remove data race in sliceIter (#20421)
MariusVanDerWijden Dec 5, 2019
bc01593
consensus/ethash, params: eip-2384: bump difficulty bomb (#20347)
holiman Dec 6, 2019
0174499
params: release Geth v1.9.9
karalabe Dec 6, 2019
370cb95
params: begin v1.9.10 release cycle
karalabe Dec 6, 2019
4b40b53
miner: add dependency for stress tests (#20436)
pip1998 Dec 10, 2019
cecc723
tests/fuzzers: fuzzbuzz fuzzers for keystore, rlp, trie, whisper (#1…
holiman Dec 10, 2019
f383eaa
core: removed old invalid comment
MariusVanDerWijden Dec 10, 2019
b8bc9b3
Merge pull request #20444 from MariusVanDerWijden/patch-4
karalabe Dec 10, 2019
d90d1db
eth/filters: remove use of event.TypeMux for pending logs (#20312)
fjl Dec 10, 2019
191364c
p2p/dnsdisc: add enode.Iterator API (#20437)
fjl Dec 12, 2019
f51cf57
cmd/devp2p: implement AWS Route53 enrtree deployer (#20446)
fjl Dec 12, 2019
275cd49
cmd/abigen: Sanitize vyper's combined json names (#20419)
gballet Dec 16, 2019
c4b7fdd
eth, internal/web3ext: add optional first and last arguments to the …
ryanschneider Dec 17, 2019
49cf000
cmd/evm: Add --bench flag for benchmarking (#20330)
chfast Dec 18, 2019
6ae9dc1
[#20266] Fix bugs decoding integers and fixed bytes in indexed event …
shoenseiwaso Dec 18, 2019
93b1171
accounts/abi/backends/simulated: add more API methods (#5) (#20208)
gitteri Dec 20, 2019
a67fe48
Change file extension of the ./tests/fuzzers README (#20474)
aunyks Dec 20, 2019
3bb6815
les: do not disconnect another server (#20453)
zsfelfoldi Dec 25, 2019
b7cf41e
accounts/abi: fix method constant flag for solidity 6.0 (#20482)
Magicking Jan 6, 2020
2eeb8dd
rpc: add DialWebsocketWithDialer (#20471)
cpacia Jan 6, 2020
433937f
cmd/geth: fix forked exe leak in console tests (#20480)
gballet Jan 6, 2020
7a509b4
internal/ethapi: fix encoding of uncle headers and pending blocks (#2…
princesinha19 Jan 6, 2020
35f95ae
cmd/puppeth: change dashboard title to not use "testnet" (#20513)
anistark Jan 7, 2020
c6285e6
les/checkpointoracle: move oracle into its own package (#20508)
rjl493456442 Jan 7, 2020
4f7b7f8
add node.go unit test file node_test.go (#20028)
me020523 Jan 7, 2020
9e0f934
cmd/geth: update copyright year (#20512)
YoleYu Jan 7, 2020
50be790
README.md: Genoil fork has been discontinued (#20521)
MariusVanDerWijden Jan 7, 2020
a013f02
whisper/whisperv6: fix peer time.Ticker leak (#20520)
sxllwx Jan 7, 2020
a1bc0e3
eth: refactor creation of EthAPIBackend (#20476)
jgimeno Jan 7, 2020
c49a416
consensus/ethash: fix a typo and error message (#20503)
gballet Jan 7, 2020
8a63f7f
.travis.yml: use latest macOS 10.14 image (#20526)
fjl Jan 8, 2020
4d663d5
les: fix request serving metrics (#20507)
rjl493456442 Jan 8, 2020
0218d70
internal/testlog: print file+line number of log call in test log (#20…
fjl Jan 8, 2020
b211742
Revert "eth: refactor creation of EthAPIBackend (#20476)" (#20536)
karalabe Jan 9, 2020
fc39239
core/state: add more verbosity to panic
holiman Jan 10, 2020
b5c4ea5
Merge pull request #20540 from holiman/verbose_panic
karalabe Jan 10, 2020
8bd37a1
core: count tx size in slots, bump max size ot 4x32KB (#20352)
MichaelRiabzev-StarkWare Jan 10, 2020
a90cc66
eth: check propagated block malformation on receiption
karalabe Jan 13, 2020
e9e69d6
Merge pull request #20546 from karalabe/validate-block-broadcast
karalabe Jan 13, 2020
b2de0bd
core: set max tx size down to 2 slots (64KB)
holiman Jan 14, 2020
8592a57
Merge pull request #20555 from holiman/cripple_txsize
karalabe Jan 14, 2020
feda78e
build: remove env.sh (#20541)
fjl Jan 14, 2020
94e8418
build: attempt to fix debian build failure without GOPATH (#20561)
fjl Jan 15, 2020
8704e8a
build: fix makefile HOME reference (#20562)
fjl Jan 15, 2020
f20c8d4
eth: increase timeout to fix a spurious travis test failure (#20560)
holiman Jan 15, 2020
3e97b04
build: put GOPATH in /tmp on launchpad (#20564)
fjl Jan 16, 2020
9b32f59
travis, build: enable Ubuntu Focal and Go 1.13.6 on PPA
karalabe Jan 16, 2020
b3b8d36
Merge pull request #20570 from karalabe/ppa-focal-go-1.13.6
karalabe Jan 16, 2020
1ee754b
build: upgrade golangci to 1.22.2 (#20566)
gballet Jan 16, 2020
fcafa0b
p2p: wait for listener goroutines on shutdown (#20569)
fjl Jan 16, 2020
d5acc5e
p2p: ensure Server.loop is ticking even if discovery hangs (#20573)
fjl Jan 17, 2020
0af96d2
cmd/devp2p: submit Route53 changes in batches (#20524)
fjl Jan 17, 2020
770316d
core, light: write chain data in atomic way (#20287)
rjl493456442 Jan 17, 2020
9b09c0f
* trie: utilize callbacks instead of amassing lists in ref/unref (#20…
holiman Jan 17, 2020
92956e2
appveyor: bump Go to 1.13.6 on Windows
karalabe Jan 19, 2020
6d200ef
Merge pull request #20578 from karalabe/win-go-1.13.6
karalabe Jan 19, 2020
fcc84c3
travis: bump Android builder to Go 1.13.6
karalabe Jan 19, 2020
4c8fcd9
Merge pull request #20579 from karalabe/android-go-1.13.6
karalabe Jan 19, 2020
1f1cefc
params: update CHTs for v1.9.10 release
karalabe Jan 20, 2020
b88b463
core: fix chain indexer unit test (#20506)
rjl493456442 Jan 20, 2020
b4aa4a6
Merge pull request #20580 from karalabe/cht-1.9.10
karalabe Jan 20, 2020
58cf568
params: release Geth v1.9.10
karalabe Jan 20, 2020
ad2fc7c
params: begin Geth v1.9.11 release cycle
karalabe Jan 20, 2020
31baf3a
log, internal/debug: delete RotatingFileHandler (#20586)
fjl Jan 21, 2020
33c56eb
cmd: implement abidump (#19958)
holiman Jan 21, 2020
8a5c813
eth: fix comment typo in handler.go (#20575)
gballet Jan 23, 2020
0b284f6
cmd/geth/retesteth: use canon head instead of keeping alternate count…
holiman Jan 23, 2020
60deeb1
cmd/evm: accept --input for disasm command (#20548)
gballet Jan 27, 2020
7b68975
console, internal/jsre: use github.com/dop251/goja (#20470)
gballet Jan 27, 2020
44c365c
rpc: reset writeConn when conn is closed on readErr (#20414)
zzy96 Jan 27, 2020
a903912
rpc: check module availability at startup (#20597)
fjl Jan 28, 2020
594e038
signer/rules: use goja and remove otto (#20599)
gballet Jan 29, 2020
24cab2d
core/vm/runtime: fix typos in comment (#20608)
gballet Jan 30, 2020
3c776c7
retesteth: clean txpool on rewind, default dao support (#20596)
holiman Jan 31, 2020
15d0903
params: update bootnodes (#20610)
holiman Jan 31, 2020
4cc89a5
internal/build: don't crash in DownloadFile when offline (#20595)
fjl Feb 3, 2020
5a9c964
trie: separate hashes and committer, collapse on commit
holiman Feb 3, 2020
33791db
tracers: avoid panic on invalid arguments (#20612)
tintinweb Feb 4, 2020
058a4ac
core/evm: less iteration in blockhash (#20589)
holiman Feb 4, 2020
711ed74
cmd/geth: add 'dumpgenesis' command (#20191)
meowsbits Feb 4, 2020
a1313b5
trie: make hasher parallel when number of changes are large (#20488)
holiman Feb 4, 2020
7a501b2
core: initial version of state snapshots
karalabe Aug 6, 2019
f82e261
core: fix storage deletion on account self-destruct
karalabe Aug 27, 2019
3a0e31e
core/state/snapshot: fix journal creation and loading
karalabe Aug 27, 2019
7b013f8
core/state: add some testcases for the difflayer
holiman Oct 4, 2019
93a4d49
core/state/snapshot: sort account/storage lists lazily
holiman Oct 16, 2019
5b93128
core/state/snapshot: support invalidating stale snapshot references
holiman Oct 17, 2019
50e7ed1
core/state/snapshot: add invalidation tests for disk layer
karalabe Oct 17, 2019
e236dcf
core/state/snapshot: add cap tests for diff layers too
karalabe Oct 18, 2019
bd349b1
core/state/snapshot: extract and split cap method, cover corners
karalabe Oct 23, 2019
36cca9b
snapshot: fix panic on missing snapshot
holiman Oct 23, 2019
8e156e2
snapshot: iterate layers instead of recurse
holiman Oct 23, 2019
71ebaaa
snapshot: more testcase
holiman Oct 23, 2019
548f032
core/state/snapshot: make difflayer journalling buffered, move rlock …
holiman Oct 23, 2019
d67f1cf
core/state/snapshot: minor code simplifications
karalabe Nov 22, 2019
2c2705c
core: rename snapshot.SnapshotTree to snapshot.Tree
karalabe Nov 22, 2019
52694c7
core: remove block numbers from snapshots to make a pure state tree
karalabe Nov 22, 2019
405bc5f
core/state/snapshot: switch quadratic cleanup to linear algorithm
karalabe Nov 22, 2019
f5e19d6
core/state/snapshot: replace bigcache with fastcache (#21)
holiman Nov 25, 2019
0c3b423
core/rawdb, core/state/snapshot: split storage keys from accounts
karalabe Nov 26, 2019
2060ce7
core/state/snapshot: support partial disk layer for in-progress gen
karalabe Nov 26, 2019
dd90f2e
core/state/snapshot: chain-surfing snapshot generator
karalabe Nov 26, 2019
0a5ecef
core/state/snapshot: extend journalling to support generation pauses
karalabe Nov 27, 2019
5748efc
core/state/snapshot: fix journalling on generator completion
karalabe Nov 27, 2019
133c051
core/state/snapshot: handle cached empty values too
karalabe Nov 27, 2019
86d9886
cmd, core, eth: integarte snapshotter with the chain
karalabe Nov 28, 2019
ef62d20
core/state/snapshot: cummulative blooms and various metrics
karalabe Nov 29, 2019
f5e2f8d
core/state/snapshot: use ideal bloom, hard code snapshot memory limit
karalabe Nov 29, 2019
02dc248
core/state/snapshot: fix difflayer origin-initalization after flatten
holiman Dec 1, 2019
32ad2e0
core: journal the snapshot inside leveldb, not a flat file
karalabe Dec 2, 2019
e8a44bb
core/state/snapshot: track dirty to clean cache flush stats too
karalabe Dec 2, 2019
fc320f2
core/state/snapshot: node behavioural difference on bloom content
holiman Dec 2, 2019
9a5c75b
core/state/snapshot: track non-existent account/storage gets
karalabe Dec 3, 2019
c34415d
core/state/snapshot: approximate bloom items based on storage patterns
karalabe Dec 3, 2019
41e0523
core: fix prefetcher to again load trie nodes
karalabe Dec 3, 2019
db95597
core/state/snapshot: implement snapshot layer iteration
holiman Nov 5, 2019
27167f8
core/state/snapshot: refactor tests a bit
holiman Nov 25, 2019
8da08ab
core/state/snapshot: implement Seek on iterators
holiman Nov 25, 2019
2136a0c
core/state/snapshot: move iterator out into its own files
karalabe Dec 5, 2019
fc7ba33
core/state/snapshot: minor refactors to prep for value iteration too
karalabe Dec 5, 2019
5f71755
core/state/snapshot: implement iterator priority for fast direct data…
holiman Dec 6, 2019
433aa47
core/state/snapshot: cleanup + improved tests
holiman Dec 7, 2019
0c5c148
core/state/snapshot: small iterator polishes
karalabe Dec 10, 2019
92867df
core/state/snapshot: disk layer account iteration + cleanups
karalabe Dec 12, 2019
3f4f077
core/state/snapshot: remove the heap iterator experiment
karalabe Dec 12, 2019
d131fce
core/state/snapshot: support staleness detection, nuke seeking
karalabe Dec 12, 2019
33e2d9d
core/state/snapshot: integrate the fast iterator into the Tree
karalabe Dec 13, 2019
adf579c
core/state/snapshot: make iteration faster, make stale atomic
holiman Jan 19, 2020
fa7bfe9
core/state/snapshot: add testcase for deleted accounts in iterators
holiman Feb 3, 2020
1149ad4
core/state/snapshot: handle deleted accounts in fast iterator
holiman Feb 3, 2020
96d88ac
core/state/snapshot: initial wip on trie generators
holiman Feb 4, 2020
2dff93d
work in progress
holiman Feb 5, 2020
eef4ffb
wip: crappy append-trie wip
holiman Feb 5, 2020
77899c8
Build the hash as leaves come
gballet Feb 5, 2020
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
  •  
  •  
  •  
6 changes: 3 additions & 3 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ light/ @zsfelfoldi @rjl493456442
mobile/ @karalabe @ligi
p2p/ @fjl @zsfelfoldi
rpc/ @fjl @holiman
p2p/simulations @zelig @nonsense @janos @justelad
p2p/protocols @zelig @nonsense @janos @justelad
p2p/testing @zelig @nonsense @janos @justelad
p2p/simulations @zelig @janos @justelad
p2p/protocols @zelig @janos @justelad
p2p/testing @zelig @janos @justelad
signer/ @holiman
whisper/ @gballet @gluk256
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Hi there,

please note that this is an issue tracker reserved for bug reports and feature requests.
Please note that this is an issue tracker reserved for bug reports and feature requests.

For general questions please use the gitter channel or the Ethereum stack exchange at https://ethereum.stackexchange.com.

Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ build/_vendor/pkg

# used by the Makefile
/build/_workspace/
/build/cache/
/build/bin/
/geth*.zip

Expand Down
50 changes: 50 additions & 0 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# This file configures github.com/golangci/golangci-lint.

run:
timeout: 2m
tests: true
# default is true. Enables skipping of directories:
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
skip-dirs-use-default: true
skip-files:
- core/genesis_alloc.go

linters:
disable-all: true
enable:
- deadcode
- goconst
- goimports
- gosimple
- govet
- ineffassign
- misspell
# - staticcheck
- unconvert
# - unused
- varcheck

linters-settings:
gofmt:
simplify: true
goconst:
min-len: 3 # minimum length of string constant
min-occurrences: 6 # minimum number of occurrences

issues:
exclude-rules:
- path: crypto/blake2b/
linters:
- deadcode
- path: crypto/bn256/cloudflare
linters:
- deadcode
- path: p2p/discv5/
linters:
- deadcode
- path: core/vm/instructions_test.go
linters:
- goconst
- path: cmd/faucet/
linters:
- deadcode
22 changes: 19 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:
- stage: lint
os: linux
dist: xenial
go: 1.12.x
go: 1.13.x
env:
- lint
git:
Expand All @@ -19,6 +19,8 @@ jobs:
os: linux
dist: xenial
go: 1.11.x
env:
- GO111MODULE=on
script:
- go run build/ci.go install
- go run build/ci.go test -coverage $TEST_PACKAGES
Expand All @@ -27,13 +29,26 @@ jobs:
os: linux
dist: xenial
go: 1.12.x
env:
- GO111MODULE=on
script:
- go run build/ci.go install
- go run build/ci.go test -coverage $TEST_PACKAGES

# These are the latest Go versions.
- stage: build
os: linux
arch: amd64
dist: xenial
go: 1.13.x
script:
- go run build/ci.go install
- go run build/ci.go test -coverage $TEST_PACKAGES

- stage: build
if: type = pull_request
os: linux
arch: arm64
dist: xenial
go: 1.13.x
script:
Expand All @@ -42,6 +57,7 @@ jobs:

- stage: build
os: osx
osx_image: xcode11.3
go: 1.13.x
script:
- echo "Increase the maximum number of open file descriptors on macOS"
Expand Down Expand Up @@ -77,7 +93,7 @@ jobs:
- python-paramiko
script:
- echo '|1|7SiYPr9xl3uctzovOTj4gMwAC1M=|t6ReES75Bo/PxlOPJ6/GsGbTrM0= ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0aKz5UTUndYgIGG7dQBV+HaeuEZJ2xPHo2DS2iSKvUL4xNMSAY4UguNW+pX56nAQmZKIZZ8MaEvSj6zMEDiq6HFfn5JcTlM80UwlnyKe8B8p7Nk06PPQLrnmQt5fh0HmEcZx+JU9TZsfCHPnX7MNz4ELfZE6cFsclClrKim3BHUIGq//t93DllB+h4O9LHjEUsQ1Sr63irDLSutkLJD6RXchjROXkNirlcNVHH/jwLWR5RcYilNX7S5bIkK8NlWPjsn/8Ua5O7I9/YoE97PpO6i73DTGLh5H9JN/SITwCKBkgSDWUt61uPK3Y11Gty7o2lWsBjhBUm2Y38CBsoGmBw==' >> ~/.ssh/known_hosts
- go run build/ci.go debsrc -upload ethereum/ethereum -sftp-user geth-ci -signer "Go Ethereum Linux Builder <geth-ci@ethereum.org>"
- go run build/ci.go debsrc -goversion 1.13.6 -upload ethereum/ethereum -sftp-user geth-ci -signer "Go Ethereum Linux Builder <geth-ci@ethereum.org>"

# This builder does the Linux Azure uploads
- stage: build
Expand Down Expand Up @@ -167,7 +183,7 @@ jobs:
git:
submodules: false # avoid cloning ethereum/tests
before_install:
- curl https://dl.google.com/go/go1.13.linux-amd64.tar.gz | tar -xz
- curl https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz | tar -xz
- export PATH=`pwd`/go/bin:$PATH
- export GOROOT=`pwd`/go
- export GOPATH=$HOME/go
Expand Down
43 changes: 22 additions & 21 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,33 +10,34 @@

GOBIN = ./build/bin
GO ?= latest
GORUN = env GO111MODULE=on go run

geth:
build/env.sh go run build/ci.go install ./cmd/geth
$(GORUN) build/ci.go install ./cmd/geth
@echo "Done building."
@echo "Run \"$(GOBIN)/geth\" to launch geth."

all:
build/env.sh go run build/ci.go install
$(GORUN) build/ci.go install

android:
build/env.sh go run build/ci.go aar --local
$(GORUN) build/ci.go aar --local
@echo "Done building."
@echo "Import \"$(GOBIN)/geth.aar\" to use the library."

ios:
build/env.sh go run build/ci.go xcode --local
$(GORUN) build/ci.go xcode --local
@echo "Done building."
@echo "Import \"$(GOBIN)/Geth.framework\" to use the library."

test: all
build/env.sh go run build/ci.go test
$(GORUN) build/ci.go test

lint: ## Run linters.
build/env.sh go run build/ci.go lint
$(GORUN) build/ci.go lint

clean:
./build/clean_go_build_cache.sh
env GO111MODULE=on go clean -cache
rm -fr build/_workspace/pkg/ $(GOBIN)/*

# The devtools target installs tools required for 'go generate'.
Expand All @@ -63,12 +64,12 @@ geth-linux: geth-linux-386 geth-linux-amd64 geth-linux-arm geth-linux-mips64 get
@ls -ld $(GOBIN)/geth-linux-*

geth-linux-386:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/386 -v ./cmd/geth
$(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/386 -v ./cmd/geth
@echo "Linux 386 cross compilation done:"
@ls -ld $(GOBIN)/geth-linux-* | grep 386

geth-linux-amd64:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/amd64 -v ./cmd/geth
$(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/amd64 -v ./cmd/geth
@echo "Linux amd64 cross compilation done:"
@ls -ld $(GOBIN)/geth-linux-* | grep amd64

Expand All @@ -77,42 +78,42 @@ geth-linux-arm: geth-linux-arm-5 geth-linux-arm-6 geth-linux-arm-7 geth-linux-ar
@ls -ld $(GOBIN)/geth-linux-* | grep arm

geth-linux-arm-5:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/arm-5 -v ./cmd/geth
$(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/arm-5 -v ./cmd/geth
@echo "Linux ARMv5 cross compilation done:"
@ls -ld $(GOBIN)/geth-linux-* | grep arm-5

geth-linux-arm-6:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/arm-6 -v ./cmd/geth
$(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/arm-6 -v ./cmd/geth
@echo "Linux ARMv6 cross compilation done:"
@ls -ld $(GOBIN)/geth-linux-* | grep arm-6

geth-linux-arm-7:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/arm-7 -v ./cmd/geth
$(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/arm-7 -v ./cmd/geth
@echo "Linux ARMv7 cross compilation done:"
@ls -ld $(GOBIN)/geth-linux-* | grep arm-7

geth-linux-arm64:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/arm64 -v ./cmd/geth
$(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/arm64 -v ./cmd/geth
@echo "Linux ARM64 cross compilation done:"
@ls -ld $(GOBIN)/geth-linux-* | grep arm64

geth-linux-mips:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/mips --ldflags '-extldflags "-static"' -v ./cmd/geth
$(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/mips --ldflags '-extldflags "-static"' -v ./cmd/geth
@echo "Linux MIPS cross compilation done:"
@ls -ld $(GOBIN)/geth-linux-* | grep mips

geth-linux-mipsle:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/mipsle --ldflags '-extldflags "-static"' -v ./cmd/geth
$(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/mipsle --ldflags '-extldflags "-static"' -v ./cmd/geth
@echo "Linux MIPSle cross compilation done:"
@ls -ld $(GOBIN)/geth-linux-* | grep mipsle

geth-linux-mips64:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/mips64 --ldflags '-extldflags "-static"' -v ./cmd/geth
$(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/mips64 --ldflags '-extldflags "-static"' -v ./cmd/geth
@echo "Linux MIPS64 cross compilation done:"
@ls -ld $(GOBIN)/geth-linux-* | grep mips64

geth-linux-mips64le:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=linux/mips64le --ldflags '-extldflags "-static"' -v ./cmd/geth
$(GORUN) build/ci.go xgo -- --go=$(GO) --targets=linux/mips64le --ldflags '-extldflags "-static"' -v ./cmd/geth
@echo "Linux MIPS64le cross compilation done:"
@ls -ld $(GOBIN)/geth-linux-* | grep mips64le

Expand All @@ -121,12 +122,12 @@ geth-darwin: geth-darwin-386 geth-darwin-amd64
@ls -ld $(GOBIN)/geth-darwin-*

geth-darwin-386:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=darwin/386 -v ./cmd/geth
$(GORUN) build/ci.go xgo -- --go=$(GO) --targets=darwin/386 -v ./cmd/geth
@echo "Darwin 386 cross compilation done:"
@ls -ld $(GOBIN)/geth-darwin-* | grep 386

geth-darwin-amd64:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=darwin/amd64 -v ./cmd/geth
$(GORUN) build/ci.go xgo -- --go=$(GO) --targets=darwin/amd64 -v ./cmd/geth
@echo "Darwin amd64 cross compilation done:"
@ls -ld $(GOBIN)/geth-darwin-* | grep amd64

Expand All @@ -135,11 +136,11 @@ geth-windows: geth-windows-386 geth-windows-amd64
@ls -ld $(GOBIN)/geth-windows-*

geth-windows-386:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=windows/386 -v ./cmd/geth
$(GORUN) build/ci.go xgo -- --go=$(GO) --targets=windows/386 -v ./cmd/geth
@echo "Windows 386 cross compilation done:"
@ls -ld $(GOBIN)/geth-windows-* | grep 386

geth-windows-amd64:
build/env.sh go run build/ci.go xgo -- --go=$(GO) --targets=windows/amd64 -v ./cmd/geth
$(GORUN) build/ci.go xgo -- --go=$(GO) --targets=windows/amd64 -v ./cmd/geth
@echo "Windows amd64 cross compilation done:"
@ls -ld $(GOBIN)/geth-windows-* | grep amd64
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@ also need to configure a miner to process transactions and create new blocks for
Mining on the public Ethereum network is a complex task as it's only feasible using GPUs,
requiring an OpenCL or CUDA enabled `ethminer` instance. For information on such a
setup, please consult the [EtherMining subreddit](https://www.reddit.com/r/EtherMining/)
and the [Genoil miner](https://github.com/Genoil/cpp-ethereum) repository.
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
practical purposes as it can produce a stable stream of blocks at the correct intervals
Expand All @@ -303,7 +303,7 @@ ones either). To start a `geth` instance for mining, run it with all your usual
by:

```shell
$ geth <usual-flags> --mine --minerthreads=1 --etherbase=0x0000000000000000000000000000000000000000
$ geth <usual-flags> --mine --miner.threads=1 --etherbase=0x0000000000000000000000000000000000000000
```

Which will start mining blocks and transactions on a single CPU thread, crediting all
Expand Down
22 changes: 9 additions & 13 deletions accounts/abi/abi.go
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,6 @@ func (abi ABI) Pack(name string, args ...interface{}) ([]byte, error) {

// Unpack output in v according to the abi specification
func (abi ABI) Unpack(v interface{}, name string, data []byte) (err error) {
if len(data) == 0 {
return fmt.Errorf("abi: unmarshalling empty output")
}
// since there can't be naming collisions with contracts and events,
// we need to decide whether we're calling a method or an event
if method, ok := abi.Methods[name]; ok {
Expand All @@ -94,9 +91,6 @@ func (abi ABI) Unpack(v interface{}, name string, data []byte) (err error) {

// UnpackIntoMap unpacks a log into the provided map[string]interface{}
func (abi ABI) UnpackIntoMap(v map[string]interface{}, name string, data []byte) (err error) {
if len(data) == 0 {
return fmt.Errorf("abi: unmarshalling empty output")
}
// since there can't be naming collisions with contracts and events,
// we need to decide whether we're calling a method or an event
if method, ok := abi.Methods[name]; ok {
Expand All @@ -114,12 +108,13 @@ func (abi ABI) UnpackIntoMap(v map[string]interface{}, name string, data []byte)
// UnmarshalJSON implements json.Unmarshaler interface
func (abi *ABI) UnmarshalJSON(data []byte) error {
var fields []struct {
Type string
Name string
Constant bool
Anonymous bool
Inputs []Argument
Outputs []Argument
Type string
Name string
Constant bool
StateMutability string
Anonymous bool
Inputs []Argument
Outputs []Argument
}
if err := json.Unmarshal(data, &fields); err != nil {
return err
Expand All @@ -140,10 +135,11 @@ func (abi *ABI) UnmarshalJSON(data []byte) error {
name = fmt.Sprintf("%s%d", field.Name, idx)
_, ok = abi.Methods[name]
}
isConst := field.Constant || field.StateMutability == "pure" || field.StateMutability == "view"
abi.Methods[name] = Method{
Name: name,
RawName: field.Name,
Const: field.Constant,
Const: isConst,
Inputs: field.Inputs,
Outputs: field.Outputs,
}
Expand Down
Loading