Commit Graph

1553 Commits

Author SHA1 Message Date
alex.sharov
76dc061d8b FakePeer - reduce interface size 2019-12-13 09:56:30 +06:00
Igor Mandrigin
0ab530a614
Remote tapes from GenStructStep (#260) 2019-12-12 18:17:13 +01:00
Evgeny Danilenko
40f1610710
Fix mining after geth 1.9.9 (#255)
* restore chain head event

* fmt

* restore init
2019-12-11 14:54:07 +03:00
Evgeny Danilenko
5b4f352acb
Restore Ethash mining (#231)
* initial

* mining

* remove debug

* debug

* restore random seed in the mining tests

* green tests

* fix blockchain tests

* fix lint

* init miner only if asked

* linters

* do not store trie as singlton

* fmt

* new trieDbState constructor
2019-12-10 16:12:21 +03:00
Igor Mandrigin
422b154fb1
Remove tapes from HashBuilder (#238) 2019-12-09 15:59:30 +01:00
Martin Holst Swende
fffac1a5ed 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-09 12:56:07 +01:00
Péter Szilágyi
6f8dba02ef trie: track dirty cache metrics, track clean writes on commit 2019-12-09 12:56:07 +01:00
gary rong
7b664b8c51 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-12-09 12:17:48 +01:00
Guillaume Ballet
423959d62d core: fix staticcheck warnings (#20384)
* core: fix staticcheck warnings

* fix goimports
2019-12-09 10:47:08 +01:00
Igor Mandrigin
1e231a8a9a
Add storage mode flags as letters. (#229) 2019-12-06 12:19:00 +01:00
Igor Mandrigin
28d9b7c812
Use binary tries for the stateless action as an option. (#218) 2019-12-04 13:48:38 +01:00
Igor Mandrigin
ec6350fa15 apply post-rebase fixups 2019-12-03 16:27:57 +01:00
Michael Forney
d380af4457 core/asm: allow numbers in labels (#20362)
Numbers were already allowed when creating labels, just not when
referencing them.
2019-12-03 13:55:30 +01:00
Felix Lange
756bf779e4 core/state: fix staticcheck warnings (#20357)
Also remove dependency on gopkg.in/check.v1 in tests.
2019-12-03 13:54:05 +01:00
Felix Lange
0ad91599b5 core/types: remove BlockBy sorting code (#20355) 2019-12-03 13:51:21 +01:00
Felix Lange
b48ec1de03 core: fix staticcheck warnings (#20323) 2019-12-03 13:45:11 +01:00
gary rong
215f99b49e 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-12-03 13:42:54 +01:00
meowsbits
01fc57807c 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-12-03 13:39:28 +01:00
Felix Lange
1314aeebdb 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-12-03 13:38:59 +01:00
nebojsa94
7b91786136 core/vm: fix tracer interface parameter name (#20294) 2019-12-03 13:32:21 +01:00
Martin Holst Swende
1aaa4da98e 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-12-03 13:21:13 +01:00
Martin Holst Swende
54cf44f46d 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-12-03 13:14:58 +01:00
Péter Szilágyi
9fb7ac8d3e cmd/devp2p, core/forkid: make forkid.Filter API uniform 2019-12-03 13:14:45 +01:00
Péter Szilágyi
78f4e1a457 core/forkid: add two clauses for more precise validation (#20220) 2019-12-03 13:14:21 +01:00
Péter Szilágyi
1540e9c83b eth: eth/64 - extend handshake packet with fork id 2019-12-03 13:13:36 +01:00
Felix Lange
0016180259 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-12-03 13:08:33 +01:00
Michael Forney
ccbacdf8e1 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-12-03 13:05:34 +01:00
Martin Holst Swende
ac2325978a cmd/utils: fix command line flag resolve (#20167)
In Geth, we have two sources for configuration:
(1) Config file
(2) Command line flag

Basically geth will first resolve config file and then overwrite
configs with command line flags.

This issue is: geth should only overwrite configs if flags are truly
set. So before we apply any flag to configs, `GlobalIsSet` check
is necessary.
2019-12-03 12:59:09 +01:00
Andrew Ashikhmin
8e5e5d881f
Issue 123 Make encoding of ChangeSet ordered by keys and binary-searchable (#207) 2019-12-03 12:13:12 +01:00
Evgeny Danilenko
ce1c14809b deadlock-fix (#206) 2019-11-27 16:49:05 +00:00
ledgerwatch
a521aef296
Run archive node by default (#204)
* Make archive mode default again

* Fix test

* Remove bad file

* Change default of NoHistory to false
2019-11-27 15:50:40 +00:00
Andrew Ashikhmin
84285a5ab1
Roughly finish with adding BadgerDB (first cut) (#203)
* Bumping GOMAXPROCS for Badger

* fixes related to database size

* Schedule GC for Badger

* pacify linter

* Don't start GC for ephemeral Badger

* Don't log "Value log GC attempt didn't result in any cleanup"

* Start GC in backround

* Bump GC period and IdealBatchSize for Badger

* BadgerDatabase RewindData

* Boolean badger flag -> string database flag

* cosmetic change
2019-11-27 13:15:25 +00:00
Igor Mandrigin
4fb54a7b82
Write proper stats to the CSV file; restore charting capabilities. (#201) 2019-11-26 14:29:41 +01:00
Evgeny Danilenko
f2081b3591
In case of termination errors should be returned (#175)
* return errors

* fmt
2019-11-21 18:37:33 +00:00
ledgerwatch
244d70fb9c
Further fixes for the no-mod-root (#186)
* Further fixes

* Repace 1000 with a symbol
2019-11-21 15:56:39 +00:00
Andrew Ashikhmin
1c0cf9be72
BadgerDB: MultiWalk & some other APIs, command line flag, scaffolding for testing (#183)
* BadgerDatabase MemCopy

* fix err shadowing

* BadgerDatabase MultiPut & NewBatch

* Remove goOn from MultiWalk & MultiWalkAsOf

* BadgerDatabase MultiWalk. Scaffolding for testing Badger in blockchain_test

* Badger Flag

* fix error logging

* Split IdealBatchSize between BoltDB and BadgerDB

* NewEphemeralBadger
2019-11-21 16:12:38 +01:00
Igor Mandrigin
aa71b298cc
Write tape stats to a csv file. (#185) 2019-11-21 15:09:21 +01:00
ledgerwatch
c187d80152
Preparations for computing root without modifying the trie (#172)
Preparations for computing root without modifying the trie
2019-11-15 22:48:49 +00:00
Evgeny Danilenko
03dd91d4e6
Merge pull request #158 from ledgerwatch/fix-data-races
Fix data races and goroutine leaks
2019-11-15 17:25:32 +03:00
Igor Mandrigin
50bb08d08d
Don't store RLPs in valueNodes (except tests). 2019-11-15 13:31:09 +01:00
Evgeny Danienko
3cc627421f Merge branch 'master' into fix-data-races 2019-11-15 15:22:22 +03:00
Evgeny Danienko
700e7b89ed fix linters 2019-11-15 15:08:37 +03:00
Igor Mandrigin
00074e0ed7 Don't store RLPs in valueNodes (except tests). 2019-11-13 20:08:20 +01:00
andrew
81d0d84ed4 Merge branch 'master' into badger2 2019-11-11 21:06:48 +01:00
andrew
4a9faff349 Delete chain_indexer_test altogether 2019-11-11 20:12:19 +01:00
andrew
404c5896a3 Disable TestChainIndexerWithChildren as unstable 2019-11-11 20:04:43 +01:00
Alexey Akhunov
a1f599c2ee Fixes from review 2019-11-11 17:03:39 +00:00
Alexey Akhunov
14b45ea50b Downloader flag 2019-11-11 16:58:50 +00:00
andrew
8cb8544c45 Merge branch 'master' into badger2 2019-11-11 17:12:28 +01:00
Igor Mandrigin
fae6fe0775
Merge pull request #156 from ledgerwatch/issue-148
Use `GenStructStep` from `structural_2` in `DeriveSha`.
2019-11-11 13:24:46 +01:00