amalraj.manigmail.com
47571689ee
Merge remote-tracking branch 'remotes/goeth/release/1.8' into geth-upgrade-1.8.15_new
...
# Conflicts:
# .travis.yml
# README.md
# cmd/utils/flags.go
# consensus/consensus.go
# consensus/ethash/consensus.go
# consensus/ethash/ethash.go
# core/blockchain.go
# core/genesis_test.go
# core/state/state_object.go
# core/state_processor.go
# core/vm/errors.go
# core/vm/evm.go
# core/vm/gas_table.go
# core/vm/instructions_test.go
# core/vm/interface.go
# eth/api_tracer.go
# eth/backend.go
# eth/config.go
# eth/filters/filter.go
# les/backend.go
# les/helper_test.go
# miner/worker.go
# params/config.go
# params/version.go
2018-10-04 16:19:02 +08:00
gary rong
d6254f827b
all: protect self-mined block during reorg ( #17656 )
2018-09-20 15:09:30 +03:00
amalraj.manigmail.com
95a1b03c3e
merge 1.8.12 with upstream/master to apply the fixes/changes added newly
2018-08-06 19:03:51 +08:00
amalraj.manigmail.com
e6773756fb
merge 1.8.12 with upstream/master to apply the fixes/changes added newly
2018-08-06 19:03:51 +08:00
Oleg Kovalov
d42ce0f2c1
all: simplify switches ( #17267 )
...
* all: simplify switches
* silly mistake
2018-07-30 12:30:09 +03:00
amalraj.manigmail.com
827cdb7542
core: restore test TestEIP161AccountRemoval from previous quorum version as it is specific to quorum
2018-07-25 14:50:12 +08:00
amalraj.manigmail.com
7c548e0f74
Merge remote-tracking branch 'remotes/geth/release/1.8' into merge-193
...
changes related to merge conflicts
2018-07-24 16:15:38 +08:00
amalraj.manigmail.com
c3c479d2aa
Merge remote-tracking branch 'remotes/geth/release/1.8' into merge-193
...
# Conflicts:
# .github/CODEOWNERS
# .travis.yml
# README.md
# VERSION
# accounts/abi/argument.go
# accounts/abi/bind/backends/simulated.go
# accounts/abi/bind/bind_test.go
# accounts/abi/event_test.go
# accounts/abi/numbers.go
# accounts/abi/numbers_test.go
# accounts/abi/reflect.go
# accounts/accounts.go
# accounts/keystore/keystore.go
# accounts/keystore/keystore_wallet.go
# accounts/usbwallet/internal/trezor/trezor.go
# accounts/usbwallet/ledger.go
# accounts/usbwallet/wallet.go
# appveyor.yml
# build/ci.go
# build/goimports.sh
# cmd/ethkey/generate.go
# cmd/ethkey/inspect.go
# cmd/ethkey/main.go
# cmd/ethkey/message.go
# cmd/ethkey/utils.go
# cmd/faucet/faucet.go
# cmd/geth/chaincmd.go
# cmd/geth/config.go
# cmd/geth/main.go
# cmd/geth/misccmd.go
# cmd/geth/usage.go
# cmd/p2psim/main.go
# cmd/puppeth/genesis.go
# cmd/puppeth/module_dashboard.go
# cmd/puppeth/wizard_faucet.go
# cmd/puppeth/wizard_genesis.go
# cmd/puppeth/wizard_netstats.go
# cmd/puppeth/wizard_node.go
# cmd/puppeth/wizard_wallet.go
# cmd/swarm/config.go
# cmd/swarm/config_test.go
# cmd/swarm/db.go
# cmd/swarm/hash.go
# cmd/swarm/main.go
# cmd/swarm/manifest.go
# cmd/swarm/run_test.go
# cmd/swarm/upload.go
# cmd/swarm/upload_test.go
# cmd/utils/flags.go
# cmd/wnode/main.go
# common/bytes.go
# common/compiler/solidity.go
# common/hexutil/hexutil.go
# common/math/big.go
# common/math/integer.go
# common/mclock/mclock.go
# common/types.go
# common/types_template.go
# consensus/clique/clique.go
# consensus/consensus.go
# consensus/ethash/algorithm.go
# consensus/ethash/consensus.go
# consensus/ethash/ethash.go
# containers/vagrant/Vagrantfile
# contracts/ens/ens_test.go
# core/asm/compiler.go
# core/asm/lexer.go
# core/block_validator.go
# core/blockchain.go
# core/blockchain_test.go
# core/chain_makers.go
# core/database_util.go
# core/database_util_test.go
# core/events.go
# core/genesis.go
# core/genesis_alloc.go
# core/genesis_test.go
# core/headerchain.go
# core/rawdb/accessors_chain.go
# core/rawdb/accessors_indexes.go
# core/rawdb/accessors_metadata.go
# core/rawdb/schema.go
# core/state/state_test.go
# core/state/statedb.go
# core/state/sync.go
# core/state_processor.go
# core/state_transition.go
# core/tx_journal.go
# core/tx_list.go
# core/tx_pool.go
# core/tx_pool_test.go
# core/types.go
# core/types/block.go
# core/types/block_test.go
# core/types/gen_receipt_json.go
# core/types/log.go
# core/types/receipt.go
# core/types/transaction.go
# core/types/transaction_signing.go
# core/types/transaction_signing_test.go
# core/types/transaction_test.go
# core/vm/errors.go
# core/vm/evm.go
# core/vm/gas.go
# core/vm/gas_table.go
# core/vm/instructions.go
# core/vm/instructions_test.go
# core/vm/interface.go
# core/vm/interpreter.go
# core/vm/intpool.go
# core/vm/jump_table.go
# core/vm/logger.go
# core/vm/logger_test.go
# core/vm/memory_table.go
# core/vm/opcodes.go
# core/vm/runtime/env.go
# core/vm/runtime/runtime.go
# crypto/crypto.go
# crypto/crypto_test.go
# eth/api.go
# eth/api_backend.go
# eth/api_tracer.go
# eth/backend.go
# eth/config.go
# eth/downloader/downloader.go
# eth/downloader/queue.go
# eth/downloader/statesync.go
# eth/filters/filter.go
# eth/filters/filter_system.go
# eth/filters/filter_system_test.go
# eth/gen_config.go
# eth/handler.go
# eth/handler_test.go
# eth/helper_test.go
# eth/protocol.go
# eth/sync.go
# eth/tracers/internal/tracers/4byte_tracer.js
# eth/tracers/internal/tracers/assets.go
# eth/tracers/tracer_test.go
# eth/tracers/tracers_test.go
# ethclient/ethclient.go
# ethdb/database.go
# ethdb/interface.go
# ethdb/memory_database.go
# ethstats/ethstats.go
# event/feed.go
# internal/ethapi/api.go
# internal/ethapi/backend.go
# internal/guide/guide_test.go
# internal/web3ext/web3ext.go
# les/api_backend.go
# les/backend.go
# les/fetcher.go
# les/handler.go
# les/helper_test.go
# les/odr_requests.go
# les/odr_test.go
# les/retrieve.go
# les/server.go
# les/serverpool.go
# light/lightchain.go
# light/odr_test.go
# light/postprocess.go
# light/txpool.go
# log/README.md
# log/doc.go
# log/format.go
# log/handler.go
# log/logger.go
# log/root.go
# metrics/exp/exp.go
# metrics/influxdb/influxdb.go
# metrics/metrics.go
# metrics/resetting_timer.go
# metrics/resetting_timer_test.go
# metrics/timer_test.go
# miner/worker.go
# mobile/accounts.go
# mobile/ethereum.go
# mobile/geth.go
# node/config.go
# node/doc.go
# p2p/discover/database.go
# p2p/discover/database_test.go
# p2p/discover/table.go
# p2p/discover/table_test.go
# p2p/discover/udp.go
# p2p/discover/udp_test.go
# p2p/discv5/udp.go
# p2p/enr/enr.go
# p2p/enr/enr_test.go
# p2p/enr/entries.go
# p2p/protocols/protocol.go
# p2p/protocols/protocol_test.go
# p2p/rlpx_test.go
# p2p/server.go
# p2p/simulations/adapters/docker.go
# p2p/simulations/adapters/exec.go
# p2p/simulations/adapters/inproc.go
# p2p/simulations/adapters/types.go
# p2p/simulations/http.go
# p2p/simulations/http_test.go
# p2p/simulations/mocker.go
# p2p/simulations/network.go
# p2p/simulations/network_test.go
# p2p/testing/protocolsession.go
# params/bootnodes.go
# params/config.go
# params/denomination.go
# params/gas_table.go
# params/protocol_params.go
# params/version.go
# rpc/http.go
# rpc/json.go
# rpc/utils.go
# signer/core/api.go
# swarm/api/api.go
# swarm/api/api_test.go
# swarm/api/client/client.go
# swarm/api/client/client_test.go
# swarm/api/config.go
# swarm/api/config_test.go
# swarm/api/filesystem.go
# swarm/api/filesystem_test.go
# swarm/api/http/error.go
# swarm/api/http/error_templates.go
# swarm/api/http/error_test.go
# swarm/api/http/roundtripper.go
# swarm/api/http/server.go
# swarm/api/http/server_test.go
# swarm/api/http/templates.go
# swarm/api/manifest.go
# swarm/api/manifest_test.go
# swarm/api/storage.go
# swarm/api/storage_test.go
# swarm/api/uri.go
# swarm/api/uri_test.go
# swarm/fuse/fuse_dir.go
# swarm/fuse/fuse_file.go
# swarm/fuse/swarmfs.go
# swarm/fuse/swarmfs_test.go
# swarm/fuse/swarmfs_unix.go
# swarm/fuse/swarmfs_util.go
# swarm/metrics/flags.go
# swarm/network/depo.go
# swarm/network/forwarding.go
# swarm/network/hive.go
# swarm/network/kademlia/address.go
# swarm/network/kademlia/kaddb.go
# swarm/network/kademlia/kademlia.go
# swarm/network/kademlia/kademlia_test.go
# swarm/network/messages.go
# swarm/network/protocol.go
# swarm/network/syncdb.go
# swarm/network/syncdb_test.go
# swarm/network/syncer.go
# swarm/services/swap/swap.go
# swarm/services/swap/swap/swap.go
# swarm/storage/chunker.go
# swarm/storage/chunker_test.go
# swarm/storage/common_test.go
# swarm/storage/database.go
# swarm/storage/dbstore.go
# swarm/storage/dbstore_test.go
# swarm/storage/dpa.go
# swarm/storage/dpa_test.go
# swarm/storage/localstore.go
# swarm/storage/memstore.go
# swarm/storage/netstore.go
# swarm/storage/pyramid.go
# swarm/storage/swarmhasher.go
# swarm/storage/types.go
# swarm/swarm.go
# swarm/swarm_test.go
# swarm/testutil/http.go
# tests/block_test_util.go
# tests/difficulty_test.go
# tests/init.go
# tests/state_test_util.go
# tests/transaction_test.go
# tests/util.go
# tests/vm_test_util.go
# trie/database.go
# trie/encoding.go
# trie/hasher.go
# trie/iterator.go
# trie/proof.go
# trie/proof_test.go
# trie/secure_trie.go
# trie/sync.go
# trie/sync_test.go
# trie/trie.go
# vendor/github.com/docker/docker/pkg/reexec/command_linux.go
# vendor/github.com/docker/docker/pkg/reexec/command_unix.go
# vendor/github.com/docker/docker/pkg/reexec/command_unsupported.go
# vendor/github.com/docker/docker/pkg/reexec/command_windows.go
# vendor/github.com/docker/docker/pkg/reexec/reexec.go
# vendor/github.com/eapache/channels/.gitignore
# vendor/github.com/eapache/queue/.gitignore
# vendor/github.com/naoina/toml/encode.go
# vendor/github.com/naoina/toml/parse.go
# vendor/github.com/naoina/toml/parse.peg
# vendor/github.com/naoina/toml/parse.peg.go
# vendor/github.com/rcrowley/go-metrics/.gitignore
# vendor/github.com/rcrowley/go-metrics/.travis.yml
# vendor/github.com/rcrowley/go-metrics/README.md
# vendor/github.com/rcrowley/go-metrics/counter.go
# vendor/github.com/rcrowley/go-metrics/debug.go
# vendor/github.com/rcrowley/go-metrics/ewma.go
# vendor/github.com/rcrowley/go-metrics/exp/exp.go
# vendor/github.com/rcrowley/go-metrics/gauge.go
# vendor/github.com/rcrowley/go-metrics/gauge_float64.go
# vendor/github.com/rcrowley/go-metrics/graphite.go
# vendor/github.com/rcrowley/go-metrics/healthcheck.go
# vendor/github.com/rcrowley/go-metrics/histogram.go
# vendor/github.com/rcrowley/go-metrics/json.go
# vendor/github.com/rcrowley/go-metrics/log.go
# vendor/github.com/rcrowley/go-metrics/meter.go
# vendor/github.com/rcrowley/go-metrics/metrics.go
# vendor/github.com/rcrowley/go-metrics/opentsdb.go
# vendor/github.com/rcrowley/go-metrics/registry.go
# vendor/github.com/rcrowley/go-metrics/runtime.go
# vendor/github.com/rcrowley/go-metrics/sample.go
# vendor/github.com/rcrowley/go-metrics/syslog.go
# vendor/github.com/rcrowley/go-metrics/timer.go
# vendor/github.com/rcrowley/go-metrics/writer.go
# vendor/github.com/syndtr/goleveldb/leveldb/db.go
# vendor/golang.org/x/sys/unix/mksysnum_linux.pl
# vendor/golang.org/x/sys/unix/types_linux.go
# vendor/vendor.json
# whisper/shhclient/client.go
# whisper/whisperv5/api.go
# whisper/whisperv5/peer_test.go
# whisper/whisperv5/whisper.go
# whisper/whisperv6/api.go
# whisper/whisperv6/peer_test.go
# whisper/whisperv6/whisper.go
2018-07-24 16:11:05 +08:00
Peter Fox
cdede06771
Let constellation have longer to start up
...
Add more gas for test
Set Quorum to be true
Update expected block hash in test
2018-07-13 11:33:52 +01:00
Samer Falah
38247083f3
Merge pull request #390 from tsuzukit/feature/fix_blockchain_test
...
Fix TestChainTxReorgs
2018-07-12 23:33:22 -04:00
Péter Szilágyi
d926bf2c7e
trie: cache collapsed tries node, not rlp blobs ( #16876 )
...
The current trie memory database/cache that we do pruning on stores
trie nodes as binary rlp encoded blobs, and also stores the node
relationships/references for GC purposes. However, most of the trie
nodes (everything apart from a value node) is in essence just a
collection of references.
This PR switches out the RLP encoded trie blobs with the
collapsed-but-not-serialized trie nodes. This permits most of the
references to be recovered from within the node data structure,
avoiding the need to track them a second time (expensive memory wise).
2018-06-21 11:28:05 +02:00
Wenbiao Zheng
9b1536b26a
core: remove dead code, limit test code scope ( #17006 )
...
* core: move test util var/func to test file
* core: remove useless func
2018-06-19 14:41:13 +03:00
Tomoaki Tsuzuki
9249ab3169
Feature/fix_some_tests ( #387 )
...
* same fix as ethereum/go-ethereum#15783
* Fix insufficient balance for transfer
* change chainId of QuorumTestChainConfig
2018-06-14 11:39:06 +08:00
kiel barry
cbfb40b0aa
params: fix golint warnings ( #16853 )
...
params: fix golint warnings
2018-06-05 12:31:34 +02:00
Tomoaki Tsuzuki
52f137c850
Feature/fix_some_tests ( #387 )
...
* same fix as ethereum/go-ethereum#15783
* Fix insufficient balance for transfer
* change chainId of QuorumTestChainConfig
2018-06-04 16:02:09 -04:00
Qvintvs
a67eccbcd8
debug tests
2018-06-01 12:51:35 +08:00
tsuzukit
1b7a3d9710
Fix TestChainTxReorgs
2018-05-31 21:39:51 +09:00
Qvintvs
4b44bea1d7
Merge attempt
2018-05-31 14:16:44 +08:00
gary rong
7beccb29be
all: get rid of error when creating memory database ( #16716 )
...
* all: get rid of error when create mdb
* core: clean up variables definition
* all: inline mdb definition
2018-05-09 15:24:25 +03:00
Péter Szilágyi
6cf0ab38bd
core/rawdb: separate raw database access to own package ( #16666 )
2018-05-07 14:35:06 +03:00
Martin Holst Swende
8c31d2897b
core: add blockchain benchmarks
2018-04-10 11:20:06 +02:00
Péter Szilágyi
89f914c030
core: flush out trie cache more meaningfully on stop ( #16143 )
...
* core: flush out trie cache more meaningfully on stop
* core: upgrade legacy tests to chain maker
2018-02-23 14:02:33 +02:00
Péter Szilágyi
55599ee95d
core, trie: intermediate mempool between trie and database ( #15857 )
...
This commit reduces database I/O by not writing every state trie to disk.
2018-02-05 17:40:32 +01:00
Péter Szilágyi
84be009154
core: sorted reorg insertion order for proper head header updating
2018-01-22 14:11:07 +02:00
Péter Szilágyi
6f69cdd109
all: switch gas limits from big.Int to uint64
2018-01-03 14:45:35 +02:00
gary rong
5f8888e116
accounts, consensus, core, eth: make chain maker consensus agnostic ( #15497 )
...
* accounts, consensus, core, eth: make chain maker consensus agnostic
* consensus, core: move CalcDifficulty to Engine interface
* consensus: add docs for calcDifficulty function
* consensus, core: minor comment fixups
2017-12-22 14:37:50 +02:00
Patrick Mylund Nielsen
3d91976f08
Geth 1.7.2 rebase and addition of Istanbul BFT ( #207 )
2017-10-31 18:24:11 -04:00
Péter Szilágyi
701d60c889
params: enable Byzantium on Ropsten/tests, fix failures
2017-09-14 10:59:05 +03:00
bas-vk
7af924507b
Failing tests ( #179 )
...
* rpc: remove raft from default IPC API list
* core: fix timeout in TestReorgLongBlocks
2017-09-13 16:53:54 -04: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
Miya Chen
bf1e263128
core, light: send chain events using event.Feed ( #14865 )
2017-08-18 12:58:36 +02:00
Péter Szilágyi
2b50367fe9
core: fix blockchain goroutine leaks in tests
2017-08-07 16:00:47 +03:00
Péter Szilágyi
0ff35e170d
core: remove redundant storage of transactions and receipts ( #14801 )
...
* core: remove redundant storage of transactions and receipts
* core, eth, internal: new transaction schema usage polishes
* eth: implement upgrade mechanism for db deduplication
* core, eth: drop old sequential key db upgrader
* eth: close last iterator on successful db upgrage
* core: prefix the lookup entries to make their purpose clearer
2017-07-14 19:39:53 +03:00
Felix Lange
9e5f03b6c4
core/state: access trie through Database interface, track errors ( #14589 )
...
With this commit, core/state's access to the underlying key/value database is
mediated through an interface. Database errors are tracked in StateDB and
returned by CommitTo or the new Error method.
Motivation for this change: We can remove the light client's duplicated copy of
core/state. The light client now supports node iteration, so tracing and storage
enumeration can work with the light client (not implemented in this commit).
2017-06-27 15:57:06 +02:00
Péter Szilágyi
feeccdf4ec
consensus/clique: Proof of Authority ( #3753 )
...
This PR is a prototype implementation of plugable consensus engines and the
Clique PoA protocol ethereum/EIPs#225
2017-04-10 12:24:12 +02:00
Péter Szilágyi
158d603528
consensus, core: drop all the legacy custom core error types
2017-04-06 17:34:19 +03:00
Péter Szilágyi
09777952ee
core, consensus: pluggable consensus engines ( #3817 )
...
This commit adds pluggable consensus engines to go-ethereum. In short, it
introduces a generic consensus interface, and refactors the entire codebase to
use this interface.
2017-04-05 00:16:29 +02:00
Felix Lange
37dd9086ec
core: refactor genesis handling
...
This commit solves several issues concerning the genesis block:
* Genesis/ChainConfig loading was handled by cmd/geth code. This left
library users in the cold. They could specify a JSON-encoded
string and overwrite the config, but didn't get any of the additional
checks performed by geth.
* Decoding and writing of genesis JSON was conflated in
WriteGenesisBlock. This made it a lot harder to embed the genesis
block into the forthcoming config file loader. This commit changes
things so there is a single Genesis type that represents genesis
blocks. All uses of Write*Genesis* are changed to use the new type
instead.
* If the chain config supplied by the user was incompatible with the
current chain (i.e. the chain had already advanced beyond a scheduled
fork), it got overwritten. This is not an issue in practice because
previous forks have always had the highest total difficulty. It might
matter in the future though. The new code reverts the local chain to
the point of the fork when upgrading configuration.
The change to genesis block data removes compression library
dependencies from package core.
2017-03-23 15:58:43 +01:00
Péter Szilágyi
567d41d936
all: swap out the C++ ethash to the pure Go one (mining todo)
2017-03-09 15:50:14 +01:00
Jeffrey Wilcke
9d5d5dd3e5
core, eth: support private state log and bloom filtering
2017-02-16 11:17:29 +01:00
Jeffrey Wilcke
c12f4df910
params: core, core/vm, miner: 64bit gas instructions
...
Reworked the EVM gas instructions to use 64bit integers rather than
arbitrary size big ints. All gas operations, be it additions,
multiplications or divisions, are checked and guarded against 64 bit
integer overflows.
In additon, most of the protocol paramaters in the params package have
been converted to uint64 and are now constants rather than variables.
* common/math: added overflow check ops
* core: vmenv, env renamed to evm
* eth, internal/ethapi, les: unmetered eth_call and cancel methods
* core/vm: implemented big.Int pool for evm instructions
* core/vm: unexported intPool methods & verification methods
* core/vm: added memoryGasCost overflow check and test
2017-02-13 21:44:25 +01:00
Martin Holst Swende
72dcd3c58b
core, eth, internal: Added `debug_getBadBlocks()` method ( #3654 )
...
* core,eth,internal: Added `debug_getBadBlocks()` method
When bad blocks are discovered, these are stored within geth.
An RPC-endpoint makes them availablewithin the `debug`
namespace. This feature makes it easier to discover network forks.
```
* core, api: go format + docs
* core/blockchain: Documentation, fix minor nitpick
* core: fix failing blockchain test
2017-02-13 21:44:06 +01:00
Jeffrey Wilcke
57f4e90257
Revert "params: core, core/vm, miner: 64bit gas instructions ( #3514 )"
...
This reverts commit 8b57c49490
.
2017-02-13 15:15:12 +01:00
Jeffrey Wilcke
8b57c49490
params: core, core/vm, miner: 64bit gas instructions ( #3514 )
...
Reworked the EVM gas instructions to use 64bit integers rather than
arbitrary size big ints. All gas operations, be it additions,
multiplications or divisions, are checked and guarded against 64 bit
integer overflows.
In additon, most of the protocol paramaters in the params package have
been converted to uint64 and are now constants rather than variables.
* common/math: added overflow check ops
* core: vmenv, env renamed to evm
* eth, internal/ethapi, les: unmetered eth_call and cancel methods
* core/vm: implemented big.Int pool for evm instructions
* core/vm: unexported intPool methods & verification methods
* core/vm: added memoryGasCost overflow check and test
2017-02-02 15:25:42 +01:00
Nick Johnson
17d92233d9
cmd/geth, core: add support for recording SHA3 preimages ( #3543 )
2017-01-17 12:19:50 +01:00
Felix Lange
35a7dcb162
all: gofmt -w -s
2017-01-06 15:52:03 +01:00
Péter Szilágyi
59b8245bbc
Merge pull request #3516 from fjl/types-drop-sign-ecdsa
...
core/types: remove redundant SignECDSA wrappers, rename to SignTx
2017-01-06 15:55:55 +02:00
Felix Lange
7731061903
core/vm: move Log to core/types
...
This significantly reduces the dependency closure of ethclient, which no
longer depends on core/vm as of this change.
All uses of vm.Logs are replaced by []*types.Log. NewLog is gone too,
the constructor simply returned a literal.
2017-01-06 14:15:22 +01:00
Felix Lange
e171bf74f8
core/types: remove redundant SignECDSA wrappers, rename to SignTx
2017-01-05 12:59:17 +01:00
Jeffrey Wilcke
6061707371
core: eip unit tests ( #3309 )
2016-11-28 01:33:28 +01:00