Matthew Halpern
2b75fa9d61
core: enforce camel case variable names ( #19058 )
2019-02-14 21:14:05 +02:00
Péter Szilágyi
940e317094
core: fix pruner panic when importing low-diff-large-sidechain
2019-02-08 11:56:25 +02:00
Martin Holst Swende
da1efdae0c
core: repro #18977
2019-02-08 10:29:51 +02:00
Péter Szilágyi
d6225ab846
cmd/utils, eth: relinquish GC cache to read cache in archive mode
2019-02-07 14:36:25 +02:00
atsushi-ishibashi
81801ccc2b
core/state: more memory efficient preimage allocation ( #16663 )
2019-02-07 10:44:45 +01:00
Martin Holst Swende
a0fd4b7e57
core/vm: unshadow err to make it visible in tracers( #18504 )
2019-02-04 15:26:21 +01:00
Péter Szilágyi
822dc1bfb1
Merge pull request #18121 from karalabe/goerli
...
cmd, core, params: add support for Goerli
2019-02-04 15:21:24 +02:00
Péter Szilágyi
b0ed083ead
cmd, core, params: add support for Goerli
2019-02-04 14:53:12 +02:00
Martin Holst Swende
ec3432bccb
core: fix error in block iterator ( #18986 )
2019-02-04 13:30:19 +01:00
Gus
4eee99aac5
core/types: remove use of package unsafe
2019-01-29 10:17:40 +01:00
b00ris
769657060e
les: implement ultralight client ( #16904 )
...
For more information about this light client mode, read
https://hackmd.io/s/HJy7jjZpm
2019-01-24 12:18:26 +01:00
Nalin Bhardwaj
b8f9b3779f
core/vm: fix typos and use ExpGas for EXP ( #18400 )
...
This replaces the GasSlowStep constant with params.ExpGas.
Both constants have value 10.
2019-01-24 12:14:02 +01:00
Martin Holst Swende
ecb781297b
core, cmd/puppeth: implement constantinople fix, disable EIP-1283 ( #18486 )
...
This PR adds a new fork which disables EIP-1283. Internally it's called Petersburg,
but the genesis/config field is ConstantinopleFix.
The block numbers are:
7280000 for Constantinople on Mainnet
7280000 for ConstantinopleFix on Mainnet
4939394 for ConstantinopleFix on Ropsten
9999999 for ConstantinopleFix on Rinkeby (real number decided later)
This PR also defaults to using the same ConstantinopleFix number as whatever
Constantinople is set to. That is, it will default to mainnet behaviour if ConstantinopleFix
is not set.This means that for private networks which have already transitioned
to Constantinople, this PR will break the network unless ConstantinopleFix is
explicitly set!
2019-01-24 11:36:30 +01:00
silence
66f0c464cc
core: only cache non-nil receipts from the database ( #18447 )
...
receipts may be null for very short time in some condition. For this case, we should not add the null value into cache. Because you will not get the right result if you keep requesting that receipt.
2019-01-17 17:49:12 +02:00
Péter Szilágyi
f25f776c9f
core, light: get rid of the dual mutexes, hard to reason with
2019-01-11 15:27:47 +02:00
gary rong
d5cad488be
core, eth: fix database version ( #18429 )
...
* core, eth: fix database version
* eth: polish error message
2019-01-11 13:49:12 +02:00
Péter Szilágyi
c1c4301121
Merge pull request #18371 from jeremyschlatter/patch-1
...
core/types: update incorrect comment
2019-01-04 10:14:17 +02:00
Dave McGregor
33d233d3e1
vendor, crypto, swarm: switch over to upstream sha3 package
2019-01-04 09:26:07 +02:00
Jeremy Schlatter
6537ab5dd3
core/types: update incorrect comment
2018-12-28 17:58:03 -08:00
Jordan Krage
27ce4eb78b
core: sanitize more TxPoolConfig fields ( #17210 )
...
* core: sanitize more TxPoolConfig fields
* core: fix TestTransactionPendingMinimumAllowance
2018-12-20 14:00:58 +01:00
Shuai Qi
fe26b2f366
core/state: rename 'new' variable ( #18301 )
2018-12-14 14:55:03 +01:00
qd-ethan
9940d93a43
Comment error ( #18303 )
2018-12-14 11:15:31 +01:00
Martin Holst Swende
83a9a73b89
cmd/geth, core, eth: implement Constantinople override flag ( #18273 )
...
* geth/core/eth: implement constantinople override flag
* les: implemnent constantinople override flag for les clients
* cmd/geth, eth, les: fix typo, move flag to experimentals
2018-12-11 14:19:03 +02:00
Martin Holst Swende
42a914a84f
cmd/evm, core/vm, eth: implement api methods to do stdjson dump to local filesystem
2018-12-10 12:33:50 +02:00
Paweł Bylica
de39513ced
core, internal, eth, miner, les: Take VM config from BlockChain ( #17955 )
...
Until this commit, when sending an RPC request that called `NewEVM`, a blank `vm.Config`
would be taken so as to set some options, based on the default configuration. If some extra
configuration switches were passed to the blockchain, those would be ignored.
This PR adds a function to get the config from the blockchain, and this is what is now used
for RPC calls.
Some subsequent changes need to be made, see https://github.com/ethereum/go-ethereum/pull/17955#pullrequestreview-182237244
for the details of the discussion.
2018-12-06 14:34:49 +01:00
Martin Holst Swende
7c657fc789
tests, core: update tests and make STATICCALL cause touch-delete ( #18187 )
2018-11-29 10:51:57 +02:00
Martin Holst Swende
bfed28a421
core: more detailed metrics for block processing ( #18119 )
2018-11-28 10:29:05 +02:00
Jaynti Kanani
38592a13a3
fix mixHash/nonce for parity compatible network ( #18166 )
2018-11-26 09:59:04 +01:00
mr_franklin
2a113f6d72
core: return error if repair block failed ( #18126 )
...
* core: return error if repair block failed
* make error a bit shorter
2018-11-23 11:16:14 +02:00
Péter Szilágyi
3ba0418a9a
Merge pull request #17973 from holiman/splitter2
...
core: better side-chain importing
2018-11-22 15:01:10 +02:00
Martin Holst Swende
e0d091e090
core: better printout of receipts in bad block reports ( #18156 )
...
* core/blockchain: better printout of receipts in bad block reports
* fix splleing
2018-11-22 11:00:16 +02:00
Péter Szilágyi
333b5fb123
core: polish side chain importer a bit
2018-11-21 13:19:56 +02:00
mr_franklin
3fd87f2193
core: fix comment typo ( #18144 )
2018-11-21 12:52:02 +02:00
Martin Holst Swende
493903eede
core: better side-chain importing
2018-11-20 12:28:43 +02:00
Péter Szilágyi
accc0fab4f
core, eth/downloader: fix ancestor lookup for fast sync
2018-11-16 13:21:20 +02:00
Péter Szilágyi
434dd5bc00
cmd, core, eth, light, trie: add trie read caching layer
2018-11-15 12:22:13 +02:00
gary rong
1212c7b844
core: fix default trie cache limit ( #17860 )
2018-11-12 18:06:34 +02:00
Corey Lin
1ff152f3a4
rawdb: remove unused parameter for WritePreimages func ( #18059 )
...
* rawdb: remove unused parameter for WritePreimages func and modify a
spelling mistake
* rawdb: update the doc for function WritePreimages
2018-11-09 12:51:07 +02:00
Felix Lange
870efeef01
core/state: remove lock ( #18065 )
...
The lock in StateDB is useless. It's only held in Copy, but Copy is safe
for concurrent use because all it does is read.
2018-11-08 21:37:19 +01:00
Péter Szilágyi
d0675e9d9c
Merge pull request #17982 from holiman/polish_contantinople_extcodehash
...
core/vm: check empty in extcodehash
2018-11-08 14:26:04 +02:00
Corey Lin
a5dc087845
core/vm, eth/tracers: use pointer receiver for GetRefund ( #18018 )
2018-11-08 13:07:15 +01:00
Felix Lange
0bcff8f525
eth/downloader: speed up tests by generating chain only once ( #17916 )
...
* core: speed up GenerateChain
Use a mock implementation of ChainReader instead of creating
and destroying a BlockChain object for each generated block.
* eth/downloader: speed up tests by generating chain only once
This change reworks the downloader tests so they share a common test
blockchain instead of generating a chain in every test. The tests are
roughly twice as fast now.
2018-11-07 15:07:43 +01:00
Martin Holst Swende
eea3ae42a3
core, eth/downloader: fix validation flaw, fix downloader printout flaw ( #17974 )
2018-11-07 14:47:11 +02:00
Martin Holst Swende
1b6fd032e3
core/vm: check empty in extcodehash
2018-10-26 08:56:37 +02:00
Felix Lange
7f22b59f87
core/state: simplify proof methods ( #17965 )
...
This fixes the import cycle build error in core/vm tests.
There is no need to refer to core/vm for a type definition.
2018-10-23 21:51:41 +02:00
Martin Holst Swende
4c0883e20d
core/vm: adds refund as part of the json standard trace ( #17910 )
...
This adds the global accumulated refund counter to the standard
json output as a numeric json value. Previously this was not very
interesting since it was not used much, but with the new sstore
gas changes the value is a lot more interesting from a consensus
investigation perspective.
2018-10-23 16:28:18 +02:00
Wuxiang
d98c45f70f
core: fix a typo ( #17941 )
2018-10-19 16:33:27 +03:00
Simon Jentzsch
97fb08342d
EIP-1186 eth_getProof ( #17737 )
...
* first impl of eth_getProof
* fixed docu
* added comments and refactored based on comments from holiman
* created structs
* handle errors correctly
* change Value to *hexutil.Big in order to have the same output as parity
* use ProofList as return type
2018-10-18 21:41:22 +02:00
Smilenator
2868acd80b
core/types: fix comment for func SignatureValues ( #17921 )
2018-10-16 12:45:28 +02:00
Martin Holst Swende
a352de6a08
core/vm: add shortcuts for trivial exp cases ( #16851 )
2018-10-16 00:51:39 +02:00
Guillaume Ballet
97b2806686
core/asm: Use hexadecimal addresses in assembly dumps ( #17870 )
2018-10-09 10:27:07 +03:00
Wenbiao Zheng
31c4e3a118
core/types: Log.Index is the index in block, not receipt ( #17866 )
2018-10-08 13:15:19 +02:00
Péter Szilágyi
1d3d4a4d57
core/vm: reuse Keccak-256 hashes across opcode executions ( #17863 )
2018-10-08 13:14:29 +02:00
Martin Holst Swende
58e868b759
core/vm : fix failing testcase ( #17852 )
...
* core/vm : fix failing testcase
* core/vm: fix nitpick
2018-10-05 19:02:06 +02:00
Martin Holst Swende
092df3ab59
core/vm: SHA3 word cost for CREATE2 ( #17812 )
...
* core/vm: create2 address generation tests
* core/vm: per byte cost of CREATE2
* core/vm: fix linter issue in test
2018-10-05 10:32:35 +03:00
Martin Holst Swende
89a32451ae
core/vm: faster create/create2 ( #17806 )
...
* core/vm/runtim: benchmark create/create2
* core/vm: do less hashing in CREATE2
* core/vm: avoid storing jumpdest analysis for initcode
* core/vm: avoid unneccesary lookups, remove unused fields
* core/vm: go formatting tests
* core/vm: save jumpdest analysis locally
* core/vm: use common.Hash instead of nil, fix review comments
* core/vm: removed type destinations
* core/vm: correct check for empty hash
* eth: more elegant api_tracer
* core/vm: address review concerns
2018-10-04 18:15:37 +03:00
Felföldi Zsolt
9d06b2c5f3
core: use ChainHeadEvent subscription in the chain indexer ( #17826 )
2018-10-03 17:25:25 +03:00
Péter Szilágyi
14bef9a2db
core: fix unnecessary ancestor lookup after a fast sync ( #17825 )
2018-10-03 13:42:19 +03:00
Ryan Schneider
b69942befe
core, internal/ethapi: add and use LRU cache for receipts ( #17610 )
2018-09-29 22:53:31 +02:00
reinerRubin
86ec213076
core/types: make tx signature values optional in JSON ( #17742 )
2018-09-29 22:47:59 +02:00
thumb8432
ffca6dfe01
core/types: fix typos ( #17762 )
2018-09-29 22:11:56 +02:00
Liang ZOU
6663e5da10
all: fix various comment typos ( #17748 )
2018-09-25 12:26:35 +02:00
Péter Szilágyi
ee92bc537f
Merge pull request #17383 from holiman/eip1283
...
Eip1283
2018-09-21 14:16:18 +03:00
Wuxiang
81080bf8cb
core: fix a typo ( #17733 )
2018-09-21 13:45:42 +03:00
gary rong
ba0a8b7887
core, eth: fix dependency cycle ( #17720 )
2018-09-20 20:02:15 +03:00
gary rong
d6254f827b
all: protect self-mined block during reorg ( #17656 )
2018-09-20 15:09:30 +03:00
Péter Szilágyi
0f2ba07c41
common, core, light: add block age into info logs
2018-09-20 12:56:35 +03:00
Guillaume Ballet
da29332c5f
core/vm: add switches to select evm+ewasm interpreters ( #17687 )
...
Interpreter initialization is left to the PRs implementing them.
Options for external interpreters are passed after a colon in the
`--vm.ewasm` and `--vm.evm` switches.
2018-09-20 10:44:35 +03:00
Péter Szilágyi
faa69bea1c
core, eth: fix goimports for Go 1.11
2018-09-19 11:47:09 +03:00
Péter Szilágyi
5d921fa3a0
core, params: polish net gas metering PR a bit
2018-09-18 16:29:51 +03:00
Martin Holst Swende
caa2c23a38
core,state: finish implementing Eip 1283
2018-09-18 13:08:32 +03:00
Martin Holst Swende
58374e28d9
core, state: initial implementation of Eip-1283
2018-09-18 13:08:28 +03:00
Péter Szilágyi
cc21928e12
Merge pull request #17622 from karalabe/chain-maker-seal
...
consensus/clique, core: chain maker clique + error tests
2018-09-17 11:35:42 +03:00
Emil
86a03f97d3
all: simplify s[:] to s where s is a slice ( #17673 )
2018-09-14 22:07:13 +02:00
Liang ZOU
72c820c49e
core/vm: fix typo 'EVM EVM' ==> 'EVM' ( #17654 )
2018-09-13 12:48:15 +03:00
Péter Szilágyi
4bb25042eb
consensus/clique, core: chain maker clique + error tests
2018-09-11 16:40:00 +03:00
Paweł Bylica
ae992a5d73
core/vm: Hide read only flag from Interpreter interface ( #17461 )
...
Makes Interface interface a bit more stateless and abstract.
Obviously this change is dictated by EVMC design. The EVMC tries to keep the responsibility for EVM features totally inside the VMs, if feasible. This makes VM "stateless" because VM does not need to pass any information between executions, all information is included in parameters of the execute function.
2018-09-07 18:13:25 +02:00
Hyung-Kyu Hqueue Choi
cf33d8b83c
core: fix typo in comment ( #17586 )
2018-09-05 10:29:51 +02:00
Martin Holst Swende
32f28a9360
core/vm, tests: update tests, enable constantinople statetests, fix SAR opcode ( #17538 )
...
This commit does a few things at once:
- Updates the tests to contain the latest data from ethereum/tests repo.
- Enables Constantinople state tests. This is needed to be able to
fuzz-test the evm with constantinople rules.
- Fixes the error in opSAR that we've known about for some time. I was
kind of saving it to see if we hit upon it with the random test
generator, but it's difficult to both enable the tests and have the
bug there -- we don't want to forget about it, so maybe it's better
to just fix it.
2018-09-04 10:49:18 +02:00
Wenbiao Zheng
6a33954731
core, eth, trie: use common/prque ( #17508 )
2018-09-03 17:33:21 +02:00
Péter Szilágyi
e8f229b82e
cmd, core, eth, miner, params: configurable gas floor and ceil
2018-08-29 12:40:12 +03:00
Felföldi Zsolt
63352bf424
core: safe indexer operation when syncing starts before the checkpoint ( #17511 )
2018-08-28 10:31:34 +03:00
gary rong
b69476b372
all: make indexer configurable ( #17188 )
2018-08-28 10:08:16 +03:00
Sheldon
0bec85f2e2
core: fix typos in comment ( #17531 )
2018-08-28 10:04:33 +03:00
Wenbiao Zheng
d1aa605f1e
all: remove the duplicate 'the' in annotations ( #17509 )
2018-08-27 11:49:29 +03:00
gary rong
40a71f28cf
miner: fix state commit, track old work packages too ( #17490 )
...
* miner: commit state which is relative with sealing result
* consensus, core, miner, mobile: introduce sealHash interface
* miner: evict pending task with threshold
* miner: go fmt
2018-08-23 16:02:57 +03:00
gary rong
c3f7e3be3b
core/statedb: deep copy logs ( #17489 )
2018-08-23 15:59:58 +03:00
Péter Szilágyi
e0d0e64ce2
cmd, core, miner: add --txpool.locals and priority mining
2018-08-22 09:43:57 +03:00
Aditya
c929030e28
core/types: fix docs about protected Vs ( #17436 )
2018-08-20 15:14:50 +03:00
gary rong
54216811a0
miner: regenerate mining work every 3 seconds ( #17413 )
...
* miner: regenerate mining work every 3 seconds
* miner: polish
2018-08-16 14:14:33 +03:00
Felföldi Zsolt
2cdf6ee7e0
light: CHT and bloom trie indexers working in light mode ( #16534 )
...
This PR enables the indexers to work in light client mode by
downloading a part of these tries (the Merkle proofs of the last
values of the last known section) in order to be able to add new
values and recalculate subsequent hashes. It also adds CHT data to
NodeInfo.
2018-08-15 22:25:46 +02:00
gary rong
a1783d1697
miner: move agent logic to worker ( #17351 )
...
* miner: move agent logic to worker
* miner: polish
* core: persist block before reorg
2018-08-14 18:34:33 +03:00
gary rong
e0e0e53401
crypto: change formula for create2 ( #17393 )
2018-08-14 18:30:42 +03:00
Mymskmkt
fb368723ac
core: fix comment typo ( #17376 )
2018-08-13 11:40:52 +03:00
stormpang
6711f098d5
core/vm: fix comment typo ( #17319 )
...
antything --> anything
:P
2018-08-06 11:42:49 +03:00
Hyung-Kyu Hqueue Choi
0ab54de1a5
core/vm: update benchmarks for core/vm ( #17308 )
...
- Update benchmarks to use a pool of int pools.
Unless benchmarks are aborted with segmentation fault.
Signed-off-by: Hyung-Kyu Choi <hqueue@users.noreply.github.com>
2018-08-03 08:15:33 +03:00
Ha ĐANG
702b8a7aec
core/vm: fix typo in cryptographic hash function name ( #17285 )
2018-07-31 13:27:51 +03:00
Ha ĐANG
2cffd4ff3c
core: fix some small typos on comment code ( #17278 )
2018-07-30 14:10:48 +03:00
Oleg Kovalov
d42ce0f2c1
all: simplify switches ( #17267 )
...
* all: simplify switches
* silly mistake
2018-07-30 12:30:09 +03:00
Raghav Sood
11a402f747
core: report progress on log chain exports ( #17066 )
...
* core/blockchain: export progress
* core: polish up chain export progress report a bit
2018-07-26 14:26:24 +03:00