Péter Szilágyi
5bbd7fb390
consensus, core, params: rebrand Metro to Byzantium
2017-09-14 10:10:46 +03:00
Péter Szilágyi
10b3f97c9d
core: only fire one chain head per batch ( #15123 )
...
* core: only fire one chain head per batch
* miner: announce chan events synchronously
2017-09-11 13:13:05 +03:00
Felix Lange
10181b57a9
core, eth/downloader: commit block data using batches ( #15115 )
...
* ethdb: add Putter interface and Has method
* ethdb: improve docs and add IdealBatchSize
* ethdb: remove memory batch lock
Batches are not safe for concurrent use.
* core: use ethdb.Putter for Write* functions
This covers the easy cases.
* core/state: simplify StateSync
* trie: optimize local node check
* ethdb: add ValueSize to Batch
* core: optimize HasHeader check
This avoids one random database read get the block number. For many uses
of HasHeader, the expectation is that it's actually there. Using Has
avoids a load + decode of the value.
* core: write fast sync block data in batches
Collect writes into batches up to the ideal size instead of issuing many
small, concurrent writes.
* eth/downloader: commit larger state batches
Collect nodes into a batch up to the ideal size instead of committing
whenever a node is received.
* core: optimize HasBlock check
This avoids a random database read to get the number.
* core: use numberCache in HasHeader
numberCache has higher capacity, increasing the odds of finding the
header without a database lookup.
* core: write imported block data using a batch
Restore batch writes of state and add blocks, tx entries, receipts to
the same batch. The change also simplifies the miner.
This commit also removes posting of logs when a forked block is imported.
* core: fix DB write error handling
* ethdb: use RLock for Has
* core: fix HasBlock comment
2017-09-09 19:03:07 +03:00
Mark
c1740e4540
core/types, miner: avoid tx sender miscaching ( #14773 )
2017-09-07 23:22:27 +02:00
Fiisio
02b4d074f6
core/asm: use ContainsRune instead of IndexRune ( #15098 )
2017-09-07 23:11:48 +02:00
Pawan Singh Pal
69c8be7c86
core: delete dao.go ( #15113 )
...
- dao.go is already present in consensus/misc
- core/dao.go is not used anywhere in the codebase
2017-09-07 23:08:06 +02:00
Péter Szilágyi
c4d21bc8e5
Merge pull request #14631 from zsfelfoldi/bloombits2
...
core/bloombits, eth/filter: transformed bloom bitmap based log search
2017-09-06 13:00:35 +03:00
Péter Szilágyi
564c8f3ae6
core/bloombits: drop nil-matcher special case
2017-09-06 11:14:22 +03:00
Zsolt Felfoldi
451ffdb62b
core/bloombits: use general filters instead of addresses and topics
2017-09-06 11:14:21 +03:00
Zsolt Felfoldi
6ff2c02991
core/bloombits: AddBloom index parameter and fixes variable names
2017-09-06 11:14:20 +03:00
Péter Szilágyi
f585f9eee8
core, eth: clean up bloom filtering, add some tests
2017-09-06 11:14:19 +03:00
Zsolt Felfoldi
4ea4d2dc34
core, eth: add bloombit indexer, filter based on it
2017-09-06 11:13:13 +03:00
Péter Szilágyi
cc313e78b7
core: use blocks and avoid deep reorgs in txpool
2017-09-05 19:50:29 +03:00
Péter Szilágyi
da7d57e07c
core: make txpool operate on immutable state
2017-09-05 13:34:41 +03:00
Martin Holst Swende
e7408b5552
core/vm: Make MaxCodesize non-retroactive ( #15072 )
...
* core/vm: Make max_codesize only applicable post Spurious Dragon/158/155/161/170
* tests: Remove expected failure
2017-09-04 12:53:25 +03:00
Martin Holst Swende
1901521ed0
core: Fix flaw where underpriced locals were removed ( #15081 )
...
* core: Fix flaw where underpriced locals were removed
* core: minor code cleanups for tx pool tests
2017-09-04 12:48:36 +03:00
Martin Holst Swende
23b51a68cb
core/vm: avoid state lookup during gas calc for call ( #15061 )
2017-09-04 10:56:45 +02:00
Martin Holst Swende
07635e43e2
core/vm: renamed struct member + go fmt
2017-08-28 13:33:24 +02:00
Martin Holst Swende
64a3a3d23c
core/vm: Fix testcase input for ecmul
2017-08-28 13:30:26 +02:00
Martin Holst Swende
bc2a5578c0
core/vm: more benchmarks
2017-08-27 14:00:32 +02:00
Péter Szilágyi
08f27428b4
core, tests: implement Metropolis EIP 684
2017-08-25 13:00:27 +03:00
Péter Szilágyi
27a5622e99
Merge pull request #15028 from karalabe/metropolis-iceage
...
consensus, core, tests: implement Metropolis EIP 649
2017-08-25 11:00:51 +03:00
Felix Lange
ad16aeb0a2
core/types: encode receipt status in PostState field
...
This fixes a regression where the new Failed field in ReceiptForStorage
rejected previously stored receipts. Fix it by removing the new field
and store status in the PostState field. This also removes massive RLP
hackery around the status field.
2017-08-24 23:51:50 +02:00
Péter Szilágyi
b872961ec8
consensus, core, tests: implement Metropolis EIP 649
2017-08-24 17:16:39 +03:00
nkbai
68955ed2eb
core/types: fix create indicator in Transaction.String ( #15025 )
2017-08-24 12:48:13 +02:00
Péter Szilágyi
ff9a868232
core/state: revert metro suicide map addition ( #15024 )
2017-08-24 12:42:00 +02:00
Péter Szilágyi
3c48a25762
Merge pull request #15014 from rjl493456442/metropolis-eip658
...
core: add status as a consensus field in receipt
2017-08-23 14:39:37 +03:00
Martin Holst Swende
286ec5df40
cmd/evm, core/vm, internal/ethapi: Show error when exiting ( #14985 )
...
* cmd/evm, core/vm, internal/ethapi: Add 'err' to tracer interface CaptureEnd
* cmd/evm: fix nullpointer when there is no error
2017-08-23 14:37:18 +03:00
Péter Szilágyi
4ee92f2d19
core/types: reject Metro receipts with > 0x01 status bytes
2017-08-23 13:57:15 +03:00
rjl493456442
28aea46ac0
core: implement Metropolis EIP 658, receipt status byte
2017-08-22 18:35:17 +03:00
Ti Zhou
2fd5ba6bd4
core/vm: fix typo in method documentation ( #15019 )
...
Signed-off-by: Ti Zhou <tizhou1986@gmail.com>
2017-08-22 12:43:36 +03:00
Péter Szilágyi
afdfdebd87
Merge pull request #14983 from karalabe/metropolis-revert
...
core/vm: implement REVERT metropolis opcode
2017-08-21 12:23:03 +03:00
Miya Chen
bf1e263128
core, light: send chain events using event.Feed ( #14865 )
2017-08-18 12:58:36 +02:00
Péter Szilágyi
f9fb70d2ee
core/vm: rework reversion to work on a higher level
2017-08-17 16:50:35 +03:00
Péter Szilágyi
1335a6cc8c
core/vm, crypto/bn256: fix bn256 use and pairing corner case
2017-08-17 16:46:46 +03:00
Jeffrey Wilcke
b70a73cd3e
core/vm: implement REVERT metropolis opcode
2017-08-16 15:32:59 +03:00
Péter Szilágyi
4e0fea4d30
core/vm: polish RETURNDATA, add missing returns to CALL*
2017-08-16 13:43:14 +03:00
Jeffrey Wilcke
9bd6068fef
core/vm: implement RETURNDATA metropolis opcodes
2017-08-16 13:43:08 +03:00
Péter Szilágyi
3df7142b3e
core/vm: minor polishes, fix STATICCALL for precompiles
...
* Fix STATICCALL so it is able to call precompiles too
* Fix write detection to use the correct value argument of CALL
* Fix write protection to ignore the value in CALLCODE
2017-08-15 14:40:12 +03:00
Jeffrey Wilcke
3d123bcde6
core/vm: implement metropolis static call opcode
2017-08-15 13:03:49 +03:00
Péter Szilágyi
f8d8b56b28
core/vm: optimize copy-less data retrievals
2017-08-14 17:08:49 +03:00
Martin Holst Swende
d8aaa3a215
core/vm: benchmarking of metro precompiles
2017-08-14 15:37:09 +03:00
Péter Szilágyi
6131dd55c5
core/vm: polish precompile contract code, add tests and benches
...
* Update modexp gas calculation to new version
* Fix modexp modulo 0 special case to return zero
2017-08-14 15:27:44 +03:00
Jeffrey Wilcke
7bbdf3e268
core: add Metropolis pre-compiles (EIP 197, 198 and 213)
2017-08-11 15:24:54 +03:00
Joel Burget
833eeb9f23
core/vm/runtime: remove unused state parameter to NewEnv ( #14953 )
...
* core: Remove unused `state` parameter to `NewEnv`.
`cfg.State` is used instead.
* core/vm/runtime: remove unused import
2017-08-11 14:29:32 +03:00
Felix Lange
374c49e0ac
Merge pull request #14522 from ethereum/go-ethereum/chainproc2
2017-08-08 13:37:59 +02:00
Péter Szilágyi
1c45f2f42e
core: fix txpool journal and test races
2017-08-08 12:22:01 +03:00
Péter Szilágyi
8edaaa227d
core: polish chain indexer a bit
2017-08-07 17:38:33 +03:00
Zsolt Felfoldi
bd74882d83
core: implement ChainIndexer
2017-08-07 17:37:08 +03:00
Péter Szilágyi
2b50367fe9
core: fix blockchain goroutine leaks in tests
2017-08-07 16:00:47 +03:00