* parity-version: bump stable to 2.0.7
* HF in POA Sokol (2018-09-19) (#9607)
https://github.com/poanetwork/poa-chain-spec/pull/86
* fix failing node-table tests on mac os, closes#9632 (#9633)
* fix(light_fetch): avoid race with BlockNumber::Latest (#9665)
* CI: Remove unnecessary pipes (#9681)
* ci: reduce gitlab pipelines significantly
* ci: build pipeline for PR
* ci: remove dead weight
* ci: remove github release script
* ci: remove forever broken aura tests
* ci: add random stuff to the end of the pipes
* ci: add wind and mac to the end of the pipe
* ci: remove snap artifacts
* ci: (re)move dockerfiles
* ci: clarify job names
* ci: add cargo audit job
* ci: make audit script executable
* ci: ignore snap and docker files for rust check
* ci: simplify audit script
* ci: rename misc to optional
* ci: add publish script to releaseable branches
* ci: more verbose cp command for windows build
* ci: fix weird binary checksum logic in push script
* ci: fix regex in push script for windows
* ci: simplify gitlab caching
* docs: align README with ci changes
* ci: specify default cargo target dir
* ci: print verbose environment
* ci: proper naming of scripts
* ci: restore docker files
* ci: use docker hub file
* ci: use cargo home instead of cargo target dir
* ci: touch random rust file to trigger real builds
* ci: set cargo target dir for audit script
* ci: remove temp file
* ci: don't export the cargo target dir in the audit script
* ci: fix windows unbound variable
* docs: fix gitlab badge path
* rename deprecated gitlab ci variables
https://docs.gitlab.com/ee/ci/variables/#9-0-renaming
* ci: fix git compare for nightly builds
* test: skip c++ example for all platforms but linux
* ci: add random rust file to trigger tests
* ci: remove random rust file
* disable cpp lib test for mac, win and beta (#9686)
* cleanup ci merge
* parity: bump clib
* ci: fix tests
* ci: disable c++ example
* Docker: run as parity user (#9689)
* CI: Skip docs job for nightly (#9693)
* ci: force-tag wiki changes
* ci: force-tag wiki changes
* ci: skip docs job for master and nightly
* ci: revert docs job checking for nightly tag
* ci: exclude docs job from nightly builds in gitlab script
* fix (light/provider) : Make `read_only executions` read-only (#9591)
* `ExecutionsRequest` from light-clients as read-only
This changes so all `ExecutionRequests` from light-clients are executed
as read-only which the `virtual``flag == true ensures.
This boost up the current transaction to always succeed
Note, this only affects `eth_estimateGas` and `eth_call` AFAIK.
* grumbles(revert renaming) : TransactionProof
* grumbles(trace) : remove incorrect trace
* grumbles(state/prove_tx) : explicit `virt`
Remove the boolean flag to determine that a `state::prove_transaction`
whether it should be executed in a virtual context or not.
Because of that also rename the function to
`state::prove_transction_virtual` to make more clear
* ethcore: fix detection of major import (#9552)
* sync: set state to idle after sync is completed
* sync: refactor sync reset
* parity: revert clib bump and fix tests
* Fix path to parity.h (#9274)
* Fix path to parity.h
* Fix other paths as well
* ethcore-io retries failed work steal (#9651)
* ethcore-io uses newer version of crossbeam && retries failed work steal
* ethcore-io non-mio service uses newer crossbeam
* parity-version: bump beta to 2.0.2
* remove ssl from dockerfiles, closes#8880 (#9195)
* snap: remove ssl dependencies from snapcraft definition (#9222)
* parity-version: bump beta to 2.0.3
* Remove all dapp permissions related settings (#9120)
* Completely remove all dapps struct from rpc
* Remove unused pub use
* Remove dapp policy/permission func in ethcore
* Remove all dapps settings from rpc
* Fix rpc tests
* Use both origin and user_agent
* Address grumbles
* Address grumbles
* Fix tests
* Check if synced when using eth_getWork (#9193) (#9210)
* Check if synced when using eth_getWork (#9193)
* Don't use fn syncing
* Fix identation
* Fix typo
* Don't check for warping
* rpc: avoid calling queue_info twice on eth_getWork
* Fix potential as_usize overflow when casting from U256 in miner (#9221)
* Allow old blocks from peers with lower difficulty (#9226)
Previously we only allow downloading of old blocks if the peer
difficulty was greater than our syncing difficulty. This change allows
downloading of blocks from peers where the difficulty is greater then
the last downloaded old block.
* Update Dockerfile (#9242)
* Update Dockerfile
fix Docker build
* fix dockerfile paths: parity -> parity-ethereum (#9248)
* Propagate transactions for next 4 blocks. (#9265)
Closes#9255
This PR also removes the limit of max 64 transactions per packet, currently we only attempt to prevent the packet size to go over 8MB. This will only be the case for super-large transactions or high-block-gas-limit chains.
Patching this is important only for chains that have blocks that can fit more than 4k transactions (over 86M block gas limit)
For mainnet, we should actually see a tiny bit faster propagation since instead of computing 4k pending set, we only need `4 * 8M / 21k = 1523` transactions.
Running some tests on `dekompile` node right now, to check how it performs in the wild.
* Update tobalaba.json (#9313)
* Fix load share (#9321)
* fix(light_sync): calculate `load_share` properly
* refactor(api.rs): extract `light_params` fn, add test
* style(api.rs): add trailing commas
* ethcore: fix pow difficulty validation (#9328)
* ethcore: fix pow difficulty validation
* ethcore: validate difficulty is not zero
* ethcore: add issue link to regression test
* ethcore: fix tests
* ethcore: move difficulty_to_boundary to ethash crate
* ethcore: reuse difficulty_to_boundary and boundary_to_difficulty
* ethcore: fix grumbles in difficulty_to_boundary_aux
* Light client `Provide default nonce in transactions when it´s missing` (#9370)
* Provide `default_nonce` in tx`s when it´s missing
When `nonce` is missing in a `EthTransaction` will cause it to fall in
these cases provide `default_nonce` value instead!
* Changed http:// to https:// on Yasm link (#9369)
Changed http:// to https:// on Yasm link in README.md
* Provide `default_nonce` in tx`s when it´s missing
When `nonce` is missing in a `EthTransaction` will cause it to fall in
these cases provide `default_nonce` value instead!
* Address grumbles
* ethcore: kovan: delay activation of strict score validation (#9406)
* Better support for eth_getLogs in light mode (#9186)
* Light client on-demand request for headers range.
* Cache headers in HeaderWithAncestors response.
Also fulfills request locally if all headers are in cache.
* LightFetch::logs fetches missing headers on demand.
* LightFetch::logs limit the number of headers requested at a time.
* LightFetch::logs refactor header fetching logic.
* Enforce limit on header range length in light client logs request.
* Fix light request tests after struct change.
* Respond to review comments.
* Add update docs script to CI (#9219)
* Add update docs script to CI
Added a script to CI that will use the jsonrpc tool to update rpc
documentation then commit and push those to the wiki repo.
* fix gitlab ci lint
* Only apply jsonrpc docs update on tags
* Update gitlab-rpc-docs.sh
* Copy correct parity repo to jsonrpc folder
Copy correct parity repo to jsonrpc folder before attempting to build docs since the CI runner clones the repo as parity and not parity-ethereum.
* Fix JSONRPC docs CI job
Update remote config in wiki repo before pushing changes using a github
token for authentication. Add message to wiki tag when pushing changes.
Use project directory to correctly copy parity code base into the
jsonrpc repo for doc generation.
* Fix set_remote_wiki function call in CI
* Prevent blockchain & miner racing when accessing pending block. (#9310)
* Prevent blockchain & miner racing when accessing pending block.
* Fix unavailability of pending block during reseal.
* Prevent sync restart if import queue full (#9381)
* Add POA Networks: Core and Sokol (#9413)
* ethcore: add poa network and sokol chainspecs
* rpc: simplify chain spec docs
* cli: rearrange networks by main/test and size/range
* parity: don't blacklist 0x00a328 on sokol testnet
* parity: add sokol and poanet to params and clean up a bit, add tests
* ethcore: add the poa networks and clean up a bit
* ethcore: fix path to poacore chain spec
* parity: rename poa networks to poacore and poasokol
* parity: fix configuration tests
* parity: fix parameter tests
* ethcore: rename POA Core and POA Sokol
* Update tobalaba.json (#9419)
* Update hardcoded sync (#9421)
- Update foundation hardcoded header to block 6219777
- Update ropsten hardcoded header to block 3917825
- Update kovan hardcoded header to block 8511489
* parity-version: betalize 2.0
* Multiple improvements to discovery ping handling (#8771)
* discovery: Only add nodes to routing table after receiving pong.
Previously the discovery algorithm would add nodes to the routing table
before confirming that the endpoint is participating in the protocol. This
now tracks in-flight pings and adds to the routing table only after receiving
a response.
* discovery: Refactor packet creation into its own function.
This function is useful inside unit tests.
* discovery: Additional testing for new add_node behavior.
* discovery: Track expiration of pings to non-yet-in-bucket nodes.
Now that we may ping nodes before adding to a k-bucket, the timeout tracking
must be separate from BucketEntry.
* discovery: Verify echo hash on pong packets.
Stores packet hash with in-flight requests and matches with pong response.
* discovery: Track timeouts on FIND_NODE requests.
* discovery: Retry failed pings with exponential backoff.
UDP packets may get dropped, so instead of immediately booting nodes that fail
to respond to a ping, retry 4 times with exponential backoff.
* !fixup Use slice instead of Vec for request_backoff.
* Add separate database directory for light client (#8927) (#9064)
* Add seperate default DB path for light client (#8927)
* Improve readability
* Revert "Replace `std::env::home_dir` with `dirs::home_dir` (#9077)" (#9097)
* Revert "Replace `std::env::home_dir` with `dirs::home_dir` (#9077)"
This reverts commit 7e779327eb.
* Restore some of the changes
* Update parity-common
* Offload cull to IoWorker. (#9099)
* Fix work-notify. (#9104)
* Update hidapi, fixes#7542 (#9108)
* docker: add cmake dependency (#9111)
* Update light client hardcoded headers (#9098)
* Insert Kovan hardcoded headers until #7690241
* Insert Kovan hardcoded headers until block 7690241
* Insert Ropsten hardcoded headers until #3612673
* Insert Mainnet hardcoded headers until block 5941249
* Make sure to produce full blocks. (#9115)
* Insert ETC (classic) hardcoded headers until block #6170625 (#9121)
* fix verification in ethcore-sync collect_blocks (#9135)
* Completely remove all dapps struct from rpc (#9107)
* Completely remove all dapps struct from rpc
* Remove unused pub use
* `evm bench` fix broken dependencies (#9134)
* `evm bench` use valid dependencies
Benchmarks of the `evm` used stale versions of a couple a crates that
this commit fixes!
* fix warnings
* Update snapcraft.yaml (#9132)
* Add new ovh bootnodes and fix port for foundation bootnode 3.2
* Remove old bootnodes.
* Remove duplicate 1118980bf48b0a3640bdba04e0fe78b1add18e1cd99bf22d53daac1fd9972ad650df52176e7c7d89d1114cfef2bc23a2959aa54998a46afcf7d91809f0855082
* Allow post-homestead forks to be specified in CommonParams
* Fix all json configs
* Fix test in json crate
* Fix test in ethcore
* Fix all chain configs to use tabs
Given we use tabs in .editorconfig and the majority of chain configs.
This change is done in Emacs using `mark-whole-buffer` and `indent-region`.