Commit Graph

1541 Commits

Author SHA1 Message Date
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
Evgeny Danienko
c0bcee68cc Merge branch 'master' into fix-data-races 2019-11-07 18:59:44 +03:00
b00ris
6e880cc945
suffix to changeset rename (#152) 2019-11-07 18:51:25 +03:00
b00ris
0180e372f8
Fix pruning start (#139)
* fix

* fix lint

* save state

* fix test

* add comment

* fix lint
2019-11-07 18:51:06 +03:00
Igor Mandrigin
02af800e66 Use GenStructStep from structural_2 in DeriveSha. 2019-11-07 16:14:33 +01:00
andrew
93ff66f900 Merge branch 'master' into badger2 2019-11-07 15:55:57 +01:00
Igor Mandrigin
ae633ff296 Remove Copy from IntraBlockState and use references instead of copies in other places. 2019-11-07 13:32:20 +01:00
Evgeny Danienko
e2605ba0ee wg data race 2019-11-07 13:32:00 +03:00
Alexey Akhunov
150cad87e9 Fix suicideStorageCheck block tests 2019-11-05 17:01:54 +00:00
andrew
9be775c8bd Port my work from badger after the master rebase 2019-11-05 13:28:36 +01:00
b00ris
9eb7d8b1c2 Suffix reorg (#113) 2019-11-04 14:15:26 +01:00
Andrew Ashikhmin
e14b02e1c9 Merge pull request #135 from ledgerwatch/badger 2019-11-04 14:15:26 +01:00
ledgerwatch
f760001638 Merge pull request #112 from ledgerwatch/block_witness 2019-11-04 14:15:26 +01:00