Péter Szilágyi
6ddb92a089
core/state/snapshot: full featured account iteration
2020-02-25 12:51:14 +02:00
Martin Holst Swende
e570835356
core/state/snapshot: implement iterator priority for fast direct data lookup
2020-02-25 12:51:14 +02:00
Péter Szilágyi
e567675473
core/state/snapshot: move iterator out into its own files
2020-02-25 12:51:13 +02:00
Martin Holst Swende
7e38996301
core/state/snapshot: implement snapshot layer iteration
2020-02-25 12:51:12 +02:00
Péter Szilágyi
22c494d399
core/state/snapshot: bloom, metrics and prefetcher fixes
2020-02-25 12:51:11 +02:00
Martin Holst Swende
3ad4335acc
core/state/snapshot: node behavioural difference on bloom content
2020-02-25 12:51:11 +02:00
Péter Szilágyi
fd39f722a3
core: journal the snapshot inside leveldb, not a flat file
2020-02-25 12:51:10 +02:00
Martin Holst Swende
d5d7c0c24b
core/state/snapshot: fix difflayer origin-initalization after flatten
2020-02-25 12:51:09 +02:00
Péter Szilágyi
351a5903b0
core/rawdb, core/state/snapshot: runtime snapshot generation
2020-02-25 12:51:08 +02:00
Martin Holst Swende
f300c0df01
core/state/snapshot: replace bigcache with fastcache
2020-02-25 12:51:08 +02:00
Péter Szilágyi
d754091a87
core/state/snapshot: unlink snapshots from blocks, quad->linear cleanup
2020-02-25 12:51:07 +02:00
Martin Holst Swende
cdf3f016df
snapshot: iteration and buffering optimizations
2020-02-25 12:51:06 +02:00
Péter Szilágyi
d7d81d7c12
core/state/snapshot: extract and split cap method, cover corners
2020-02-25 12:51:05 +02:00
Martin Holst Swende
e146fbe4e7
core/state: lazy sorting, snapshot invalidation
2020-02-25 12:51:05 +02:00
Péter Szilágyi
542df8898e
core: initial version of state snapshots
2020-02-25 12:51:04 +02:00
Gregory Markou
4be8840120
core/vm: use dedicated SLOAD gas constant for EIP-2200 ( #20646 )
2020-02-18 15:07:41 +01:00
Martin Holst Swende
855690523a
core: ensure state exists for prefetcher ( #20627 )
2020-02-14 10:54:02 +02:00
Péter Szilágyi
9938d954c8
eth: rework tx fetcher to use O(1) ops + manage network requests
2020-02-13 15:27:15 +02:00
rjl493456442
049e17116e
core, eth: implement eth/65 transaction fetcher
2020-02-11 13:56:36 +02:00
Martin Holst Swende
058a4ac5f1
core/evm: less iteration in blockhash ( #20589 )
...
* core/vm/runtime: add test for blockhash
* core/evm: less iteration in blockhash
* core/vm/runtime: nitpickfix
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2020-02-04 12:32:31 +02:00
Martin Holst Swende
5a9c96454e
trie: separate hashes and committer, collapse on commit
...
* trie: make db insert use size instead of full data
* core/state: minor optimization in state onleaf allocation
* trie: implement dedicated committer and hasher
* trie: use dedicated committer/hasher
* trie: linter nitpicks
* core/state, trie: avoid unnecessary storage trie load+commit
* trie: review feedback, mainly docs + minor changes
* trie: start deprecating old hasher
* trie: fix misspell+lint
* trie: deprecate hasher.go, make proof framework use new hasher
* trie: rename pure_committer/hasher to committer/hasher
* trie, core/state: fix review concerns
* trie: more review concerns
* trie: make commit collapse into hashnode, don't touch dirtyness
* trie: goimports fixes
* trie: remove panics
2020-02-03 17:28:30 +02:00
Guillaume Ballet
24cab2d535
core/vm/runtime: fix typos in comment ( #20608 )
2020-01-30 11:21:10 +01:00
gary rong
b88b4632c2
core: fix chain indexer unit test ( #20506 )
2020-01-20 10:38:08 +02:00
gary rong
770316dc20
core, light: write chain data in atomic way ( #20287 )
...
* core: write chain data in atomic way
* core, light: address comments
* core, light: fix linter
* core, light: address comments
2020-01-17 12:49:32 +02:00
Martin Holst Swende
b2de0bd87b
core: set max tx size down to 2 slots (64KB)
2020-01-14 11:49:36 +01:00
MichaelRiabzev-StarkWare
8bd37a1d91
core: count tx size in slots, bump max size ot 4x32KB ( #20352 )
...
* tests for tx size
* alow multiple slots transactions
* tests for tx size limit (32 KB)
* change tx size tests to use addRemoteSync instead of validateTx (requested in pool request).
* core: minor tx slotting polishes, add slot tracking metric
Co-authored-by: Michael Riabzev <RiabzevMichael@gmail.com>
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
2020-01-10 11:40:03 +02:00
Martin Holst Swende
fc392395fb
core/state: add more verbosity to panic
2020-01-10 10:12:32 +01:00
Felix Lange
d90d1db609
eth/filters: remove use of event.TypeMux for pending logs ( #20312 )
2019-12-10 12:39:14 +01:00
Marius van der Wijden
f383eaa102
core: removed old invalid comment
2019-12-10 11:50:16 +01:00
Martin Holst Swende
bc01593afb
consensus/ethash, params: eip-2384: bump difficulty bomb ( #20347 )
...
* consensus/ethash, params: implement eip-2384: bump difficulty bomb
* params: EIP 2384 compat checks
* consensus, params: add Muir Glacier block number (mainnet,ropsten) + official name
* core/forkid: forkid tests for muir glacier
* params/config: address review concerns
* params, core/forkid: review nitpicks
* cmd/geth,eth,les: add override option for muir glacier
* params: nit fix
2019-12-06 11:36:40 +02:00
gary rong
fc7e0fe6c7
core, miner: remove PostChainEvents ( #19396 )
...
This change:
- removes the PostChainEvents method on core.BlockChain.
- sorts 'removed log' events by block number.
- fire the NewChainHead event if we inject a canonical block into the chain
even if the entire insertion is not successful.
- guarantees correct event ordering in all cases.
2019-11-29 14:22:08 +01:00
Péter Szilágyi
58e33d9e5a
Merge pull request #20403 from karalabe/fix-freezer-reinit
...
core/rawdb: fix reinit regression caused by the hash check PR
2019-11-27 15:05:58 +02:00
Péter Szilágyi
717f8a4e8f
core/rawdb: fix reinit regression caused by the hash check PR
2019-11-27 14:41:47 +02:00
Guillaume Ballet
7b189d6f1f
core: fix staticcheck warnings ( #20384 )
...
* core: fix staticcheck warnings
* fix goimports
2019-11-27 09:50:30 +01:00
Michael Forney
3a0480e07d
core/asm: allow numbers in labels ( #20362 )
...
Numbers were already allowed when creating labels, just not when
referencing them.
2019-11-23 12:52:17 +01:00
Felix Lange
dd21f079e8
core/state: fix staticcheck warnings ( #20357 )
...
Also remove dependency on gopkg.in/check.v1 in tests.
2019-11-22 15:56:05 +01:00
Felix Lange
b6d4f6b66e
core/types: remove BlockBy sorting code ( #20355 )
2019-11-21 16:35:22 +02:00
Felix Lange
f71e85b8e2
core: fix staticcheck warnings ( #20323 )
2019-11-20 10:53:01 +02:00
gary rong
b9c90c5581
core/rawdb: check hash before return data from ancient db ( #20195 )
...
* core/rawdb: check hash before return data from ancient db
* core/rawdb: fix lint
* core/rawdb: calculate the hash in the fly
2019-11-19 12:32:57 +02:00
meowsbits
57d697629d
core: s/isEIP155/isHomestead/g (fix IntrinsicGas signature var name) ( #20300 )
...
* core: s/isEIP155/isEIP2/ (fix)
This signature variable name reflects a spec'd change
in gas cost for creating contracts as documented in EIP2 (Homestead HF).
https://github.com/ethereum/EIPs/blob/master/EIPS/eip-2.md#specification
* core: s/isEIP2/sIsHomestead/g
Use isHomestead since Homestead is what the caller
and rest of the code uses.
2019-11-18 11:41:49 +02:00
Felix Lange
689486449d
build: use golangci-lint ( #20295 )
...
* build: use golangci-lint
This changes build/ci.go to download and run golangci-lint instead
of gometalinter.
* core/state: fix unnecessary conversion
* p2p/simulations: fix lock copying (found by go vet)
* signer/core: fix unnecessary conversions
* crypto/ecies: remove unused function cmpPublic
* core/rawdb: remove unused function print
* core/state: remove unused function xTestFuzzCutter
* core/vm: disable TestWriteExpectedValues in a different way
* core/forkid: remove unused function checksum
* les: remove unused type proofsData
* cmd/utils: remove unused functions prefixedNames, prefixFor
* crypto/bn256: run goimports
* p2p/nat: fix goimports lint issue
* cmd/clef: avoid using unkeyed struct fields
* les: cancel context in testRequest
* rlp: delete unreachable code
* core: gofmt
* internal/build: simplify DownloadFile for Go 1.11 compatibility
* build: remove go test --short flag
* .travis.yml: disable build cache
* whisper/whisperv6: fix ineffectual assignment in TestWhisperIdentityManagement
* .golangci.yml: enable goconst and ineffassign linters
* build: print message when there are no lint issues
* internal/build: refactor download a bit
2019-11-18 10:49:17 +02:00
nebojsa94
738b51ae31
core/vm: fix tracer interface parameter name ( #20294 )
2019-11-15 10:52:33 +02:00
Martin Holst Swende
b566cfdffd
core/evm: avoid copying memory for input in calls ( #20177 )
...
* core/evm, contracts: avoid copying memory for input in calls + make ecrecover not modify input buffer
* core/vm: optimize mstore a bit
* core/vm: change Get -> GetCopy in vm memory access
2019-11-04 11:31:09 +02:00
Martin Holst Swende
9278951a62
params, core/forkid: configure mainnet istanbul block 9069K ( #20222 )
...
* params: configure mainnet istanbul block 9069K
* core/forkid: add some more test items for mainnet istanbul
2019-10-31 11:04:26 +02:00
Péter Szilágyi
8927f7724a
cmd/devp2p, core/forkid: make forkid.Filter API uniform
2019-10-31 10:38:14 +02:00
Péter Szilágyi
93422e9d15
Merge pull request #20140 from karalabe/eth64-handshake-forkid
...
eth: eth/64 - extend handshake with with fork id
2019-10-30 13:21:25 +02:00
Péter Szilágyi
9641cacea8
core/forkid: add two clauses for more precise validation ( #20220 )
2019-10-30 12:05:31 +01:00
Péter Szilágyi
64571f9379
eth: eth/64 - extend handshake packet with fork id
2019-10-29 18:04:39 +02:00
Felix Lange
2c37142d2f
cmd/devp2p, p2p: dial using node iterator, discovery crawler ( #20132 )
...
* p2p/enode: add Iterator and associated utilities
* p2p/discover: add RandomNodes iterator
* p2p: dial using iterator
* cmd/devp2p: add discv4 crawler
* cmd/devp2p: WIP nodeset filter
* cmd/devp2p: fixup lesFilter
* core/forkid: add NewStaticFilter
* cmd/devp2p: make -eth-network filter actually work
* cmd/devp2p: improve crawl timestamp handling
* cmd/devp2p: fix typo
* p2p/enode: fix comment typos
* p2p/discover: fix comment typos
* p2p/discover: rename lookup.next to 'advance'
* p2p: lower discovery mixer timeout
* p2p/enode: implement dynamic FairMix timeouts
* cmd/devp2p: add ropsten support in -eth-network filter
* cmd/devp2p: tweak crawler log message
2019-10-29 17:08:57 +02:00
Michael Forney
b0b277525c
core/asm: assembly parser label fixes ( #20210 )
...
* core/asm: Fix encoding of pushed labels
EVM uses big-endian byte-order, so to pad a label value to 4 bytes,
zeros must be added to the front, not the end.
* core/asm: Fix PC calculations when a label is pushed
Incrementing PC by 5 is only correct if the label appears after a jump,
in which case there is an implicit push. When it appears after an explicit
push, PC should only be incremented by 4.
* core/asm: Allow JUMP with no argument
This way, a label can be pushed explicitly, or loaded from memory to
implement a jump table.
2019-10-29 13:47:18 +01:00