Compare commits

..

4 Commits

Author SHA1 Message Date
Afri Schoedon
6b0a280685 Beta patch release 2.2.3 (#10002)
* version: bump beta to 2.2.3

* Fix Bloom migration (#9992)

* Fix wrong block number in blooms migration

* Fix wrong `const` type (usize -> u64) 😬

* Fix daemonize (#10000)

* Revert "prevent silent errors in daemon mode, closes #9367 (#9946)"

This reverts commit 52d5278a62.

* deps(daemonize): switch back to crates.io

* move daemonize before creating account provider (#10003)

* move daemonize before creating account provider

* daemonize: add a future-proofing comment
2018-11-30 16:13:58 +01:00
Afri Schoedon
78ceec6c6e Backports for beta 2.2.2 (#9976)
* version: bump beta to 2.2.2

* Add experimental RPCs flag (#9928)

* WiP

* Enable experimental RPCs.

* Keep existing blocks when restoring a Snapshot (#8643)

* Rename db_restore => client

* First step: make it compile!

* Second step: working implementation!

* Refactoring

* Fix tests

* PR Grumbles

* PR Grumbles WIP

* Migrate ancient blocks interating backward

* Early return in block migration if snapshot is aborted

* Remove RwLock getter (PR Grumble I)

* Remove dependency on `Client`: only used Traits

* Add test for recovering aborted snapshot recovery

* Add test for migrating old blocks

* Fix build

* PR Grumble I

* PR Grumble II

* PR Grumble III

* PR Grumble IV

* PR Grumble V

* PR Grumble VI

* Fix one test

* Fix test

* PR Grumble

* PR Grumbles

* PR Grumbles II

* Fix tests

* Release RwLock earlier

* Revert Cargo.lock

* Update _update ancient block_ logic: set local in `commit`

* Update typo in ethcore/src/snapshot/service.rs

Co-Authored-By: ngotchac <ngotchac@gmail.com>

* Adjust requests costs for light client (#9925)

* PIP Table Cost relative to average peers instead of max peers

* Add tracing in PIP new_cost_table

* Update stat peer_count

* Use number of leeching peers for Light serve costs

* Fix test::light_params_load_share_depends_on_max_peers (wrong type)

* Remove (now) useless test

* Remove `load_share` from LightParams.Config
Prevent div. by 0

* Add LEECHER_COUNT_FACTOR

* PR Grumble: u64 to u32 for f64 casting

* Prevent u32 overflow for avg_peer_count

* Add tests for LightSync::Statistics

* Fix empty steps (#9939)

* Don't send empty step twice or empty step then block.

* Perform basic validation of locally sealed blocks.

* Don't include empty step twice.

* prevent silent errors in daemon mode, closes #9367 (#9946)

* Fix a deadlock (#9952)

* Update informant:
  - decimal in Mgas/s
  - print every 5s (not randomly between 5s and 10s)

* Fix dead-lock in `blockchain.rs`

* Update locks ordering

* Fix light client informant while syncing (#9932)

* Add `is_idle` to LightSync to check importing status

* Use SyncStateWrapper to make sure is_idle gets updates

* Update is_major_import to use verified queue size as well

* Add comment for `is_idle`

* Add Debug to `SyncStateWrapper`

* `fn get` -> `fn into_inner`

*  ci: rearrange pipeline by logic (#9970)

* ci: rearrange pipeline by logic

* ci: rename docs script

* fix docker build (#9971)

* Deny unknown fields for chainspec (#9972)

* Add deny_unknown_fields to chainspec

* Add tests and fix existing one

* Remove serde_ignored dependency for chainspec

* Fix rpc test eth chain spec

* Fix starting_nonce_test spec

* Improve block and transaction propagation (#9954)

* Refactor sync to add priority tasks.

* Send priority tasks notifications.

* Propagate blocks, optimize transactions.

* Implement transaction propagation. Use sync_channel.

* Tone down info.

* Prevent deadlock by not waiting forever for sync lock.

* Fix lock order.

* Don't use sync_channel to prevent deadlocks.

* Fix tests.

* Fix unstable peers and slowness in sync (#9967)

* Don't sync all peers after each response

* Update formating

* Fix tests: add `continue_sync` to `Sync_step`

* Update ethcore/sync/src/chain/mod.rs

Co-Authored-By: ngotchac <ngotchac@gmail.com>

* fix rpc middlewares

* fix Cargo.lock

* json: resolve merge in spec

* rpc: fix starting_nonce_test

* ci: allow nightl job to fail
2018-11-29 10:57:49 +01:00
Thibaut Sardan
5c56fc5023 Backport Beta 2.2.1 (#9905)
* Bump beta to version 2.2.1

* fix: Intermittent failing CI due to addr in use (#9885)

Allow OS to set port at runtime

* Use Weak reference in PubSubClient (#9886)

* Fix json tracer overflow (#9873)

* Fix json tracer overflow

* Replace trace_executed with a direct trace push

* Remove unused variable

* Add test for 5a51

* Remove duplicate json!

* Fix docker script (#9854)


* Dockerfile: change source path of the newly added check_sync.sh (#9869)

* Allow to seal work on latest block (#9876)

* Allow to seal work on latest block.

* Test from @todr to check sealing conditions.

* gitlab-ci: make android release build succeed (#9743)

* use docker cargo config file for android builds

* make android build succeed

* ethcore: use Machine::verify_transaction on parent block (#9900)

* ethcore: use Machine::verify_transaction on parent block

also fixes off-by-one activation of transaction permission contract

* ethcore: clarify call to verify_transaction

* foundation: #6692865, ropsten: #4417537, kovan: #9363457

* Remove rust-toolchain file (#9906)

* EIP-712 implementation (#9631)

* EIP-712 impl

* added more tests

* removed size parsing unwrap

* corrected TYPE_REGEX to disallow zero sized fixed length arrays, replaced LinkedHashSet with IndexSet, added API spec to docs, fixed Type::Byte encoding branch

* use Option<u64> instead of u64 for Type::Array::Length

* replace `.iter()` with  `.values()`

Co-Authored-By: seunlanlege <seunlanlege@gmail.com>

* tabify eip712.rs

* use proper comments for docs

* Cargo.lock: revert unrelated changes

* tabify encode.rs

* EIP 191 (#9701)

* added sign_191 rpc method

* fixed hash_structured_data return type

* added ConfirmationPayload::SignMessage for non-prefixed signatures, added tests for sign191

* renamed WithValidator -> PresignedTransaction

* rename applicationData to data in test

* adds docs for EIP191Version, renamed SignRequest to EIP191SignRequest

* light-fetch: Differentiate between out-of-gas/manual throw and use required gas from response on failure (#9824)

* fix start_gas, handle OOG exceptions & NotEnoughGas

* Change START_GAS: 50_000 -> 60_000
* When the `OutOfGas exception` is received then try to double the gas until it succeeds or block gas limit is reached
* When `NotEnoughBasGas error` is received then use the required gas provided in the response

* fix(light-fetch): ensure block_gas_limit is tried

Try the `block_gas_limit` before regard the execution as an error

* Update rpc/src/v1/helpers/light_fetch.rs

Co-Authored-By: niklasad1 <niklasadolfsson1@gmail.com>

* simplify cargo audit

* Use block header for building finality (#9914)

* ci: nuke the gitlab caches (#9855)
2018-11-14 15:23:44 +01:00
Afri Schoedon
5a7e54fb9e version: mark 2.2.0 beta (#9820)
* version: mark 2.2.0 beta

* ci: remove failing tests for android, windows, and macos (#9788)

* ci: remove failing tests for android, windows, and macos

* ci: restore android build jobs

* Move state root verification before gas used (#9841)

* Classic.json Bootnode Update (#9828)

* fix: Update bootnodes list to only responsive nodes

* feat: Add more bootnodes to classic.json list

* feat: Add retested bootnodes

* Implement NoProof for json tests and update tests reference (replaces #9744) (#9814)

* Update test reference.
Block test are really not working so I disabled a few by commenting
directly in source.

* Move ethtest commit cursor.

* Implements 'NoProof' engine from https://github.com/ethereum/tests/issues/464 .

Since tests has been regenerated those one were failing on block
difficulty check.

Update ethereum/tests, waiting for cost fix (block test are still
commented).

* Update tests submodule reference to latest (all test passing except an
identified case).
Fix block reward of constantinople json.

* Restore broken test by using old json tests files.

* Use CanonNoSeal instead of a custom engine, still have to include some
additional tests code.

* Gas upper limit check in json_chain test was bad, moving the test to
verification, the test is running in `verify_header_param`.
Note that test was previously only for ethash, and now for any engine.

* Restore old behavior (gas uper limit only for ethash engine), at the
cost of an additional trait method.

* Proper rpc test fix.

* Update tests submodule, add SStore bug tests.

* Fix json issue tabulation.
Update tests submodule to latest master (lot of new sstore tests
passing)

* Switch ethereum/tests to tag 6.0.0-beta.1 (no tests changes from latest
synch).

* Display hex with separator, use indirection instead of clone for copy
types.
2018-11-02 10:02:46 +01:00
1158 changed files with 115414 additions and 153581 deletions

View File

@@ -1,30 +1,3 @@
# NOTE: if you make changes here, remember to also update:
# scripts/test-linux.sh
# scripts/build-linux.sh
# scripts/build-windows.sh
# Using 'cfg` is broken, see https://github.com/rust-lang/cargo/issues/6858
#[target.'cfg(target_arch = "x86_64")']
#rustflags = ["-Ctarget-feature=+aes,+sse2,+ssse3"]
# …so instead we list all target triples (Tier 1 64-bit platforms)
[target.x86_64-unknown-linux-gnu]
# Enables the aes-ni instructions for RustCrypto dependency.
rustflags = ["-Ctarget-feature=+aes,+sse2,+ssse3"]
[target.x86_64-pc-windows-gnu]
# Enables the aes-ni instructions for RustCrypto dependency.
rustflags = ["-Ctarget-feature=+aes,+sse2,+ssse3"]
[target.x86_64-pc-windows-msvc]
# Enables the aes-ni instructions for RustCrypto dependency.
# Link the C runtime statically ; https://github.com/openethereum/openethereum/issues/6643
rustflags = ["-Ctarget-feature=+aes,+sse2,+ssse3", "-Ctarget-feature=+crt-static"]
[target.x86_64-apple-darwin]
# Enables the aes-ni instructions for RustCrypto dependency.
rustflags = ["-Ctarget-feature=+aes,+sse2,+ssse3"]
[target.x86_64-unknown-linux-musl]
# Enables the aes-ni instructions for RustCrypto dependency.
rustflags = ["-Ctarget-feature=+aes,+sse2,+ssse3"]
# Link the C runtime statically ; https://github.com/paritytech/parity-ethereum/issues/6643
rustflags = ["-Ctarget-feature=+crt-static"]

View File

@@ -16,7 +16,7 @@ target
# idea ide
.idea
# git folder is not ignored so vergen library can get the commit hash and date for the build
#.git
# git stuff
.git
ethcore/res/ethereum/tests

View File

@@ -2,11 +2,11 @@
## 1. Purpose
A primary goal of OpenEthereum project is to be inclusive to the largest number of contributors, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof).
A primary goal of Parity is to be inclusive to the largest number of contributors, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof).
This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior.
We invite all those who participate in OpenEthereum to help us create safe and positive experiences for everyone.
We invite all those who participate in Parity to help us create safe and positive experiences for everyone.
## 2. Open Source Citizenship

View File

@@ -10,11 +10,11 @@ See also frequently asked questions [tagged with `parity`](https://ethereum.stac
Do **not** open an issue on Github if you think your discovered bug could be a **security-relevant vulnerability**. Please, read our [security policy](../SECURITY.md) instead.
Otherwise, just create a [new issue](https://github.com/openethereum/openethereum/issues/new) in our repository and state:
Otherwise, just create a [new issue](https://github.com/paritytech/parity-ethereum/issues/new) in our repository and state:
- What's your OpenEthereum version?
- What's your Parity Ethereum version?
- What's your operating system and version?
- How did you install OpenEthereum?
- How did you install Parity Ethereum?
- Is your node fully synchronized?
- Did you try turning it off and on again?
@@ -22,45 +22,12 @@ Also, try to include **steps to reproduce** the issue and expand on the **actual
## Contribute!
If you would like to contribute to OpenEthereum, please **fork it**, fix bugs or implement features, and [propose a pull request](https://github.com/openethereum/openethereum/compare).
If you would like to contribute to Parity Ethereum, please **fork it**, fix bugs or implement features, and [propose a pull request](https://github.com/paritytech/parity-ethereum/compare).
### Labels & Milestones
We use [labels](https://github.com/openethereum/openethereum/labels) to manage PRs and issues and communicate the state of a PR. Please familiarize yourself with them. Furthermore we are organizing issues in [milestones](https://github.com/openethereum/openethereum/milestones). Best way to get started is to a pick a ticket from the current milestone tagged [`easy`](https://github.com/openethereum/openethereum/labels/Q2-easy%20%F0%9F%92%83) and get going, or [`mentor`](https://github.com/openethereum/openethereum/labels/Q1-mentor%20%F0%9F%95%BA) and get in contact with the mentor offering their support on that larger task.
### Rules
There are a few basic ground-rules for contributors (including the maintainer(s) of the project):
* **No pushing directly to the master branch**.
* **All modifications** must be made in a **pull-request** to solicit feedback from other contributors.
* Pull-requests cannot be merged before CI runs green and two reviewers have given their approval.
* Contributors should adhere to the [Parity Ethereum Style Guide](https://wiki.parity.io/Parity-Ethereum-Style-Guide).
### Recommendations
* **Non-master branch names** *should* be prefixed with a short name moniker, followed by the associated Github Issue ID (if any), and a brief description of the task using the format `<GITHUB_USERNAME>-<ISSUE_ID>-<BRIEF_DESCRIPTION>` (e.g. `gavin-123-readme`). The name moniker helps people to inquiry about their unfinished work, and the GitHub Issue ID helps your future self and other developers (particularly those who are onboarding) find out about and understand the original scope of the task, and where it fits into OpenEthereum [Projects](https://github.com/openethereum/openethereum/projects).
* **Remove stale branches periodically**
### Preparing Pull Requests
* If your PR does not alter any logic (e.g. comments, dependencies, docs), then it may be tagged [`insubstantial`](https://github.com/openethereum/openethereum/pulls?q=is%3Aopen+is%3Apr+label%3A%22A2-insubstantial+%F0%9F%91%B6%22).
* Once a PR is ready for review please add the [`pleasereview`](https://github.com/openethereum/openethereum/pulls?utf8=%E2%9C%93&q=is%3Aopen+is%3Apr+label%3A%22A0-pleasereview+%F0%9F%A4%93%22+) label.
### Reviewing Pull Requests*:
* At least two reviewers are required to review PRs (even for PRs tagged [`insubstantial`](https://github.com/openethereum/openethereum/pulls?q=is%3Aopen+is%3Apr+label%3A%22A2-insubstantial+%F0%9F%91%B6%22)).
When doing a review, make sure to look for any:
* Buggy behavior.
* Undue maintenance burden.
* Breaking with house coding style.
* Pessimization (i.e. reduction of speed as measured in the projects benchmarks).
* Breaking changes should be carefuly reviewed and tagged as such so they end up in the [changelog](../CHANGELOG.md).
* Uselessness (i.e. it does not strictly add a feature or fix a known issue).
Please, refer to the [Coding Guide](https://wiki.parity.io/Coding-guide) in our wiki for more details about hacking on Parity.
## License.
By contributing to OpenEthereum, you agree that your contributions will be licensed under the [GPLv3 License](../LICENSE).
By contributing to Parity Ethereum, you agree that your contributions will be licensed under the [GPLv3 License](../LICENSE).
Each contributor has to sign our Contributor License Agreement. The purpose of the CLA is to ensure that the guardian of a project's outputs has the necessary ownership or grants of rights over all contributions to allow them to distribute under the chosen license. You can read and sign our full Contributor License Agreement at [cla.parity.io](https://cla.parity.io) before submitting a pull request.

View File

@@ -1,14 +1,11 @@
_Before filing a new issue, please **provide the following information**._
_If you think that your issue is an exploitable security vulnerability, please mail your bugreport to security@parity.io instead; your submission might be eligible for our Bug Bounty._
_You can find mode info on the reporting process in [SECURITY.md](https://github.com/openethereum/openethereum/blob/master/SECURITY.md)_
- **OpenEthereum version**: 0.0.0
- **Parity Ethereum version**: 0.0.0
- **Operating system**: Windows / MacOS / Linux
- **Installation**: homebrew / one-line installer / built from source
- **Fully synchronized**: no / yes
- **Network**: ethereum / ropsten / goerli / ...
- **Network**: ethereum / ropsten / kovan / ...
- **Restarted**: no / yes
_Your issue description goes here below. Try to include **actual** vs. **expected behavior** and **steps to reproduce** the issue._

View File

@@ -1,21 +0,0 @@
Thank you for your Pull Request!
Before you submitting, please check that:
- [ ] You added a brief description of the PR, e.g.:
- What does it do?
- What important points reviewers should know?
- Is there something left for follow-up PRs?
- [ ] You labeled the PR with appropriate labels if you have permissions to do so.
- [ ] You mentioned a related issue if this PR related to it, e.g. `Fixes #228` or `Related #1337`.
- [ ] You asked any particular reviewers to review. If you aren't sure, start with GH suggestions.
- [ ] Your PR adheres [the style guide](https://wiki.parity.io/Coding-guide)
- In particular, mind the maximal line length.
- There is no commented code checked in unless necessary.
- Any panickers have a proof or removed.
- [ ] You updated any rustdocs which may have changed
After you've read this notice feel free to remove it.
Thank you!
✄ -----------------------------------------------------------------------------

View File

@@ -1,18 +0,0 @@
name: Security audit
on:
pull_request:
paths: Cargo.lock
schedule:
- cron: '0 0 * * *'
jobs:
security_audit:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v1
with:
fetch-depth: 50
- name: Run cargo audit
uses: actions-rs/audit-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,103 +0,0 @@
name: Build and Test Suite
on:
pull_request:
push:
branches:
- master
- stable
jobs:
build-tests:
name: Test and Build
env:
SCCACHE_CACHE_SIZE: "1G"
SCCACHE_IDLE_TIMEOUT: 0
strategy:
matrix:
platform:
- ubuntu-16.04
- macos-latest
- windows-latest
toolchain:
- stable
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout sources
uses: actions/checkout@master
with:
submodules: true
# https://github.com/actions/cache/issues/133
- name: Fixup the owner of ~/.cargo/
if: matrix.platform == 'ubuntu-16.04'
run: sudo chown -R $(whoami):$(id -ng) ~/.cargo/
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.toolchain }}
profile: minimal
override: true
- name: Cache cargo registry
uses: actions/cache@v1.1.2
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-build-tests-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo index
uses: actions/cache@v1.1.2
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-git-build-tests-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo build
uses: actions/cache@v1.1.2
with:
path: target
key: ${{ runner.os }}-cargo-build-target-build-tests-${{ hashFiles('**/Cargo.lock') }}
- name: Cache sccache linux
if: matrix.platform == 'ubuntu-16.04'
uses: actions/cache@v1.1.2
with:
path: "/home/runner/.cache/sccache"
key: ${{ runner.os }}-sccache-build-tests-${{ hashFiles('**/Cargo.lock') }}
- name: Cache sccache MacOS
if: matrix.platform == 'macos-latest'
uses: actions/cache@v1.1.2
with:
path: "/Users/runner/Library/Caches/Mozilla.sccache"
key: ${{ runner.os }}-sccache-build-tests-${{ hashFiles('**/Cargo.lock') }}
- name: Cache sccache Windows
if: matrix.platform == 'windows-latest'
uses: actions/cache@v1.1.2
with:
path: "C:\\Users\\runneradmin\\AppData\\Local\\Mozilla\\sccache\\cache"
key: ${{ runner.os }}-sccache-build-tests-${{ hashFiles('**/Cargo.lock') }}
- name: Install sccache for ${{ matrix.platform }}
shell: pwsh
run: pwsh scripts/actions/install-sccache.ps1 ${{ runner.os}}
- name: Install LLVM for Windows
if: matrix.platform == 'windows-latest'
run: choco install llvm
- name: Sccache statistics
run: sccache --show-stats
- name: Build tests
uses: actions-rs/cargo@v1
with:
command: test
args: --locked --all --release --features "json-tests" --verbose --no-run
- name: Run tests for ${{ matrix.platform }}
if: matrix.platform == 'windows-latest'
continue-on-error: true #Skip step if Windows tests failure
uses: actions-rs/cargo@v1
with:
command: test
args: --locked --all --release --features "json-tests" --verbose
- name: Run tests for ${{ matrix.platform }}
if: matrix.platform != 'windows-latest'
uses: actions-rs/cargo@v1
with:
command: test
args: --locked --all --release --features "json-tests" --verbose
- name: Stop sccache
if: always()
run: sccache --stop-server
- name: Prepare build directory for cache
shell: bash
run: bash scripts/actions/clean-target.sh

View File

@@ -1,95 +0,0 @@
name: Build Release Suite
on:
push:
branches:
- stable
tags:
- v*
jobs:
build:
name: Build Release
env:
SCCACHE_CACHE_SIZE: "1G"
SCCACHE_IDLE_TIMEOUT: 0
strategy:
matrix:
platform:
- ubuntu-16.04
- macos-latest
- windows-latest
toolchain:
- stable
runs-on: ${{ matrix.platform }}
steps:
- name: Checkout sources
uses: actions/checkout@master
# https://github.com/actions/cache/issues/133
- name: Fixup the owner of ~/.cargo/
if: matrix.platform == 'ubuntu-16.04'
run: sudo chown -R $(whoami):$(id -ng) ~/.cargo/
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ matrix.toolchain }}
profile: minimal
override: true
- name: Cache cargo registry
uses: actions/cache@v1.1.2
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-build-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo index
uses: actions/cache@v1.1.2
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-git-build-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo build
uses: actions/cache@v1.1.2
with:
path: target
key: ${{ runner.os }}-cargo-build-target-build-${{ hashFiles('**/Cargo.lock') }}
- name: Cache sccache linux
if: matrix.platform == 'ubuntu-16.04'
uses: actions/cache@v1.1.2
with:
path: "/home/runner/.cache/sccache"
key: ${{ runner.os }}-sccache-build-${{ hashFiles('**/Cargo.lock') }}
- name: Cache sccache MacOS
if: matrix.platform == 'macos-latest'
uses: actions/cache@v1.1.2
with:
path: "/Users/runner/Library/Caches/Mozilla.sccache"
key: ${{ runner.os }}-sccache-build-${{ hashFiles('**/Cargo.lock') }}
- name: Cache sccache Windows
if: matrix.platform == 'windows-latest'
uses: actions/cache@v1.1.2
with:
path: "C:\\Users\\runneradmin\\AppData\\Local\\Mozilla\\sccache\\cache"
key: ${{ runner.os }}-sccache-build-${{ hashFiles('**/Cargo.lock') }}
- name: Install sccache for ${{ matrix.platform }}
shell: pwsh
run: pwsh scripts/actions/install-sccache.ps1 ${{ runner.os}}
- name: Install LLVM for Windows
if: matrix.platform == 'windows-latest'
run: choco install llvm
- name: Sccache statistics
run: sccache --show-stats
- name: Build OpenEthereum for windows
if: matrix.platform == 'windows-latest'
run: sh scripts/actions/build-windows.sh ${{matrix.platform}}
- name: Build OpenEthereum for ${{matrix.platform}}
if: matrix.platform != 'windows-latest'
run: sh scripts/actions/build-linux.sh ${{matrix.platform}}
- name: Stop sccache
if: always()
run: sccache --stop-server
- name: Download artifact
uses: actions/upload-artifact@v1
with:
name: ${{matrix.platform}}.artifacts.zip
path: artifacts/
- name: Prepare build directory for cache
shell: bash
run: bash scripts/actions/clean-target.sh

View File

@@ -1,88 +0,0 @@
name: Check
on:
pull_request:
push:
branches:
- master
- stable
jobs:
check:
name: Check
runs-on: ubuntu-16.04
env:
SCCACHE_CACHE_SIZE: "1G"
SCCACHE_IDLE_TIMEOUT: 0
steps:
- name: Checkout sources
uses: actions/checkout@master
with:
submodules: true
# https://github.com/actions/cache/issues/133
- name: Fixup the owner of ~/.cargo/
run: sudo chown -R $(whoami):$(id -ng) ~/.cargo/
- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- name: Cache cargo registry
uses: actions/cache@v1.1.2
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo index
uses: actions/cache@v1.1.2
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-git-${{ hashFiles('**/Cargo.lock') }}
- name: Cache cargo build
uses: actions/cache@v1.1.2
with:
path: target
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
# Install sccache based on https://github.com/denoland/rusty_v8/blob/master/.github/workflows/ci.yml#L69
- name: Cache sccache
uses: actions/cache@v1.1.2
with:
path: "/home/runner/.cache/sccache"
key: ${{ runner.os }}-sccache-check-${{ hashFiles('**/Cargo.lock') }}
- name: Install sccache for Linux
shell: pwsh
run: pwsh scripts/actions/install-sccache.ps1 ${{ runner.os}}
- name: Sccache statistics
run: sccache --show-stats
- name: Run cargo check 1/3
uses: actions-rs/cargo@v1
with:
command: check
args: --locked --no-default-features --verbose
- name: Run cargo check 2/3
uses: actions-rs/cargo@v1
with:
command: check
args: --locked --manifest-path util/io/Cargo.toml --no-default-features --verbose
- name: Run cargo check 3/3
uses: actions-rs/cargo@v1
with:
command: check
args: --locked --manifest-path util/io/Cargo.toml --features "mio" --verbose
- name: Run cargo check evmbin
uses: actions-rs/cargo@v1
with:
command: check
args: --locked -p evmbin --verbose
- name: Run cargo check benches
uses: actions-rs/cargo@v1
with:
command: check
args: --locked --all --benches --verbose
- name: Run validate chainspecs
run: ./scripts/actions/validate-chainspecs.sh
- name: Stop sccache
if: always()
run: sccache --stop-server
- name: Prepare build directory for cache
shell: bash
run: bash scripts/actions/clean-target.sh

View File

@@ -1,30 +0,0 @@
name: Docker Image Release
on:
push:
branches:
- master
tags:
- v*
jobs:
deploy-docker:
name: Build Release
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@master
- name: Install toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
profile: minimal
override: true
- name: Deploy to docker hub
uses: elgohr/Publish-Docker-Github-Action@master
with:
name: openethereum/openethereum
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
dockerfile: scripts/docker/alpine/Dockerfile
tag_names: true

2
.gitignore vendored
View File

@@ -42,4 +42,4 @@ parity-clib-examples/cpp/build/
.vscode
rls/
/openethereum.*
/parity.*

155
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,155 @@
stages:
- test
- build
- publish
- optional
image: parity/rust:gitlab-ci
variables:
CI_SERVER_NAME: "GitLab CI"
CARGO_HOME: "${CI_PROJECT_DIR}/.cargo"
CARGO_TARGET: x86_64-unknown-linux-gnu
.releaseable_branches: # list of git refs for building GitLab artifacts (think "pre-release binaries")
only: &releaseable_branches
- stable
- beta
- tags
- schedules
.collect_artifacts: &collect_artifacts
artifacts:
name: "${CI_JOB_NAME}_${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}"
when: on_success
expire_in: 1 mos
paths:
- artifacts/
.determine_version: &determine_version
- VERSION="$(sed -r -n '1,/^version/s/^version = "([^"]+)".*$/\1/p' Cargo.toml)"
- DATE_STR="$(date +%Y%m%d)"
- ID_SHORT="$(echo ${CI_COMMIT_SHA} | cut -c 1-7)"
- test "${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}" = "nightly" && VERSION="${VERSION}-${ID_SHORT}-${DATE_STR}"
- export VERSION
- echo "Version = ${VERSION}"
test-linux:
stage: test
variables:
RUN_TESTS: all
script:
- scripts/gitlab/test-all.sh stable
tags:
- rust-stable
test-audit:
stage: test
script:
- scripts/gitlab/cargo-audit.sh
tags:
- rust-stable
build-linux:
stage: build
only: *releaseable_branches
variables:
CARGO_TARGET: x86_64-unknown-linux-gnu
script:
- scripts/gitlab/build-unix.sh
<<: *collect_artifacts
tags:
- rust-stable
build-darwin:
stage: build
only: *releaseable_branches
variables:
CARGO_TARGET: x86_64-apple-darwin
CC: gcc
CXX: g++
script:
- scripts/gitlab/build-unix.sh
tags:
- rust-osx
<<: *collect_artifacts
build-windows:
stage: build
only: *releaseable_branches
variables:
CARGO_TARGET: x86_64-pc-windows-msvc
script:
- sh scripts/gitlab/build-windows.sh
tags:
- rust-windows
<<: *collect_artifacts
publish-docker:
stage: publish
only: *releaseable_branches
cache: {}
dependencies:
- build-linux
tags:
- shell
script:
- scripts/gitlab/publish-docker.sh parity
publish-awss3:
stage: publish
only: *releaseable_branches
cache: {}
dependencies:
- build-linux
- build-darwin
- build-windows
before_script: *determine_version
script:
- scripts/gitlab/publish-awss3.sh
tags:
- shell
publish-docs:
stage: publish
only:
- tags
except:
- nightly
cache: {}
script:
- scripts/gitlab/publish-docs.sh
tags:
- shell
build-android:
stage: optional
image: parity/rust-android:gitlab-ci
variables:
CARGO_TARGET: armv7-linux-androideabi
script:
- scripts/gitlab/build-unix.sh
tags:
- rust-arm
allow_failure: true
test-beta:
stage: optional
variables:
RUN_TESTS: cargo
script:
- scripts/gitlab/test-all.sh beta
tags:
- rust-beta
allow_failure: true
test-nightly:
stage: optional
variables:
RUN_TESTS: all
script:
- scripts/gitlab/test-all.sh nightly
tags:
- rust-nightly
allow_failure: true

2
.gitmodules vendored
View File

@@ -4,4 +4,4 @@
branch = develop
[submodule "ethcore/res/wasm-tests"]
path = ethcore/res/wasm-tests
url = https://github.com/openethereum/wasm-tests
url = https://github.com/paritytech/wasm-tests

View File

@@ -1,119 +1,873 @@
## OpenEthereum [v3.0.0](https://github.com/openethereum/openethereum/releases/tag/v3.0.0)
## Parity-Ethereum [v2.1.3](https://github.com/paritytech/parity-ethereum/releases/tag/v2.1.3) (2018-10-16)
OpenEthereum v3.0.0 is the first release of OpenEthereum client as part of OpenEthereum project, divested from Parity Technologies.
This release marks the transition from Parity Technologies infrastructure and bootnodes to the one managed by OpenEthereum project.
Parity-Ethereum v2.7 users can continue using their existing data folders. Command-line interface has also stayed identical.
Unless specified otherwise, OpenEthereum v3.0.0 will detect if the user's database in the old Parity-Ethereum default path,
and only if it's not found will write to the new default location.
This release includes several major improvements to network and database stack:
- Support for `eth/64` protocol and Node Discovery v4 `Ethereum Node Records` extension.
- Accounts bloom is removed which should decrease the database size.
**Due to database changes this is a one-way upgrade. Please back up your database if you plan to continue using Parity-Ethereum v2.7.2.**
Note that this release drops support for IPFS and `eth/62` protocol. Additionally, it marks light client, private transactions and updater as deprecated features which may be removed in a future release.
Parity-Ethereum 2.1.3-stable is a release that fixes a consensus issue with the recent Constantinople release. Upgrading is mandatory whatever network you are connected to that plans enabling EIP-1283, e.g., Ropsten, Kovan, Ethereum.
The full list of included changes:
- Add deprecation warnings (#11682)
- Add Curl to Docker image (#11687)
- v3 release version strings and track stable (#11680)
- Fix sccache server errors (#11675)
- Don't delete old db after migration (#11662)
- rename inject to drain_transaction_overlay (#11657)
- Drain the transaction overlay (#11654)
- vergen library seems to depend not only on the .git folder content but also on the git binary (#11651)
- New default paths (#11641)
- Update EWF's chains with Istanbul transition block numbers (#11482)
- add openethereum supplementary bootnodes, those are not active right now, but will be in case the network needs more power (#11650)
- Remove Parity bootnodes (#11644)
- Remove accounts bloom (#11589)
- Deploy docker images on master (#11640)
- Fix some compiler warnings (#11632)
- Add support for non-fork side of Phoenix (#11627)
- validate mainnet specs against all forks (#11625)
- Fix ecrecover builtin (#11623)
- Update .gitmodules (#11628)
- ethcore/res: activate ecip-1088 phoenix on classic (#11598)
- Upgrade parity-common deps to latest (#11620)
- Fix Goerli syncing (#11604)
- deps: switch to upstream ctrlc (#11617)
- Deduplicating crate dependencies (part 3 of n) (#11614)
- Deduplicating crate dependencies (part 2 of n, `slab`) (#11613)
- Actually save ENR on creation and modification (#11602)
- Activate POSDAO on xDai chain and update bootnodes (#11610)
- Activate on-chain randomness in POA Core (#11609)
- Deduplicating crate dependencies (part 1 of n) (#11606)
- Update enodes for POA Sokol (#11611)
- Remove .git folder from dogerignore file so vergen library can get build date and commit hash in the binary generatio vergen library can get build date and commit hash in the binary generation (#11608)
- Reduced gas cost for static calls made to precompiles EIP2046/1352 (#11583)
- `ethcore-bloom-journal` was renamed to `accounts-bloom` (#11605)
- Use serde_json to export hardcoded sync (#11601)
- Node Discovery v4 ENR Extension (EIP-868) (#11540)
- Fix compile warnings (#11595)
- Update version to 3.0.0-alpha.1 (#11592)
- ethcore/res: bump canon fork hash for mordor and kotti testnets (#11584)
- Update on push tags (#11590)
- Replace deprecated tempdir dependency with tempfile (#11588)
- Fix project name, links, rename the binaries (#11580)
- Update Cargo.lock (#11573)
- ci: workaround for the cache bug on Linux (#11568)
- Increase the default pruning parameters (#11558)
- Add Docker build and push to github actions (#11555)
- Update README (#11578)
- informant: display I/O stats (#11523)
- [devp2p discovery]: remove `deprecated_echo_hash` (#11564)
- [secretstore] create db_version file when database doesn't exist (#11570)
- Remove Parity's Security Policy (#11565)
- ethcore/res: enable ecip-1088 phoenix upgrade for kotti and mordor testnets (#11529)
- Misc docs and renames …and one less clone (#11556)
- [secretstore]: don't sign message with only zeroes (#11561)
- [devp2p discovery]: cleanup (#11547)
- Code cleanup in the sync module (#11552)
- initial cleanup (#11542)
- Warn if genesis constructor revert (#11550)
- ethcore: cleanup after #11531 (#11546)
- license update (#11543)
- Less cloning when importing blocks (#11531)
- Github Actions (#11528)
- Fix Alpine Dockerfile (#11538)
- Remove AuxiliaryData/AuxiliaryRequest (#11533)
- [journaldb]: cleanup (#11534)
- Remove references to parity-ethereum (#11525)
- Drop IPFS support (#11532)
- chain-supplier: fix warning reporting for GetNodeData request (#11530)
- Faster kill_garbage (#11514)
- [EngineSigner]: don't sign message with only zeroes (#11524)
- fix compilation warnings (#11522)
- [ethcore cleanup]: various unrelated fixes from `#11493` (#11507)
- Add benchmark for transaction execution (#11509)
- Add Smart Contract License v1.0
- Misc fixes (#11510)
- [dependencies]: unify `rustc-hex` (#11506)
- Activate on-chain randomness in POA Sokol (#11505)
- Grab bag of cleanup (#11504)
- Implement eth/64 (EIP-2364) and drop support for eth/62 (#11472)
- [dependencies]: remove `util/macros` (#11501)
- OpenEthereum bootnodes are added (#11499)
- [ci benches]: use `all-features` (#11496)
- [verification]: make test-build compile standalone (#11495)
- complete null-signatures removal (#11491)
- Include the seal when populating the header for a new block (#11475)
- fix compilation warnings (#11492)
- cargo update -p cmake (#11490)
- update to published rlp-derive (#11489)
- Switch usage of Secret Store to the external lib (#11487)
- Switch from the internal runtime lib to external one from crates.io (#11480)
- Update params.rs (#11474)
- weak_counts has been stabilized (#11476)
- sync: remove broken eth_protocol_version method (#11473)
- Use parity-crypto updated to use upstream rust-secp256k1 (#11406)
- Cleanup some code in Aura (#11466)
- upgrade some of the dependencies (#11467)
- Some more release track changes to README.md (#11465)
- Update simple one-line installer due to switching to a single stable release track (#11463)
- update Dockerfile (#11461)
- Implement EIP-2124 (#11456)
- [eth classic chainspec]: remove `balance = 1` (#11459)
- Beta release 2.1.3 backports ([#9749](https://github.com/paritytech/parity-ethereum/pull/9749))
- Parity-version: mark 2.1.3 beta as critical
- Use signed 256-bit integer for sstore gas refund substate ([#9746](https://github.com/paritytech/parity-ethereum/pull/9746))
- Add --force to cargo audit install script ([#9735](https://github.com/paritytech/parity-ethereum/pull/9735))
- Heads ref not present for branches beta and stable ([#9741](https://github.com/paritytech/parity-ethereum/pull/9741))
- Aura: fix panic on extra_info with unsealed block ([#9755](https://github.com/paritytech/parity-ethereum/pull/9755))
## Parity-Ethereum [v2.1.2](https://github.com/paritytech/parity-ethereum/releases/tag/v2.1.2) (2018-10-12)
Parity-Ethereum 2.1.2-beta is a release that introduces **Constantinople** to the Ethereum client. Upgrading is strongly recommended.
![europe-1803495_1280](https://user-images.githubusercontent.com/15729797/46785767-15f1e280-cd33-11e8-862a-458edfd73ecf.png)
The following hardforks are supported by this release:
- Ropsten testnet block `4_230_000` on October 14, 2018 (Constantinople)
- POA core mainnet block `5_329_160` on October 22, 2018 (CORE HF 2)
- Kovan testnet block `9_200_000` on October 25, 2018 (Constantinople, KIP-{4,6})
Running one of these networks, an upgrade to 2.0.7 or 2.1.2 is mandatory. More details can be found in Changelog below.
Please note, the following deprecations in our distribution of binaries:
- `arm*` targets are no longer served by parity, please consider (cross-)compiling from source yourself.
- `i*86` targets are no longer served by parity, please consider upgrading your operating system.
- Snapcraft is no longer maintained. please use binaries directly or your distro's repositories.
The full list of included changes:
- More backports for 2.1.2 ([#9733](https://github.com/paritytech/parity-ethereum/pull/9733))
- Produce portable binaries ([#9725](https://github.com/paritytech/parity-ethereum/pull/9725))
- HF in POA Core (2018-10-22) ([#9724](https://github.com/paritytech/parity-ethereum/pull/9724))
- Use static call and apparent value transfer for block reward contract code ([#9603](https://github.com/paritytech/parity-ethereum/pull/9603))
- Verify block syncing responses against requests ([#9670](https://github.com/paritytech/parity-ethereum/pull/9670))
- Fix ancient blocks sync ([#9531](https://github.com/paritytech/parity-ethereum/pull/9531))
- Add hardcoded headers ([#9730](https://github.com/paritytech/parity-ethereum/pull/9730))
- Gitlab ci: releasable_branches: change variables condition to schedule ([#9729](https://github.com/paritytech/parity-ethereum/pull/9729))
- Backports for beta 2.1.2 ([#9649](https://github.com/paritytech/parity-ethereum/pull/9649))
- Parity-version: bump beta to 2.1.2
- Ethcore: fix detection of major import ([#9552](https://github.com/paritytech/parity-ethereum/pull/9552))
- Hardfork the testnets ([#9562](https://github.com/paritytech/parity-ethereum/pull/9562))
- Docs(rpc): push the branch along with tags ([#9578](https://github.com/paritytech/parity-ethereum/pull/9578))
- Remove snapcraft clean ([#9585](https://github.com/paritytech/parity-ethereum/pull/9585))
- Fix (light/provider) : Make `read_only executions` only read-only ([#9591](https://github.com/paritytech/parity-ethereum/pull/9591))
- Ci: fix regex 🙄 ([#9597](https://github.com/paritytech/parity-ethereum/pull/9597))
- Docs(rpc): annotate tag with the provided message ([#9601](https://github.com/paritytech/parity-ethereum/pull/9601))
- Update ropsten bootnodes ([#9602](https://github.com/paritytech/parity-ethereum/pull/9602))
- HF in POA Sokol (2018-09-19) ([#9607](https://github.com/paritytech/parity-ethereum/pull/9607))
- Fix(network): don't disconnect reserved peers ([#9608](https://github.com/paritytech/parity-ethereum/pull/9608))
- Fix failing node-table tests on mac os ([#9633](https://github.com/paritytech/parity-ethereum/pull/9633))
- Fix bad-block reporting no reason ([#9638](https://github.com/paritytech/parity-ethereum/pull/9638))
- Ethcore-io retries failed work steal ([#9651](https://github.com/paritytech/parity-ethereum/pull/9651))
- Remove master from releasable branches ([#9655](https://github.com/paritytech/parity-ethereum/pull/9655))
- Test fix for windows cache name... ([#9658](https://github.com/paritytech/parity-ethereum/pull/9658))
- Fix(light_fetch): avoid race with BlockNumber::Latest ([#9665](https://github.com/paritytech/parity-ethereum/pull/9665))
- Calculate sha3 instead of sha256 for push-release. ([#9673](https://github.com/paritytech/parity-ethereum/pull/9673))
- Ci: fix push script ([#9679](https://github.com/paritytech/parity-ethereum/pull/9679))
- CI: Remove unnecessary pipes ([#9681](https://github.com/paritytech/parity-ethereum/pull/9681))
- Don't hash the init_code of CREATE. ([#9688](https://github.com/paritytech/parity-ethereum/pull/9688))
- Docker: run parity as normal user ([#9689](https://github.com/paritytech/parity-ethereum/pull/9689))
- CI: Skip docs job for master and nightly ([#9693](https://github.com/paritytech/parity-ethereum/pull/9693))
- Implement CREATE2 gas changes and fix some potential overflowing ([#9694](https://github.com/paritytech/parity-ethereum/pull/9694))
- Make instantSeal engine backwards compatible ([#9700](https://github.com/paritytech/parity-ethereum/pull/9700))
- Ethcore: delay ropsten hardfork ([#9704](https://github.com/paritytech/parity-ethereum/pull/9704))
## Parity-Ethereum [v2.1.1](https://github.com/paritytech/parity-ethereum/releases/tag/v2.1.1) (2018-09-20)
Parity-Ethereum 2.1.1-beta is a release that does not improve performance and stability; no changes were made.
The full list of included changes:
- Backports for 2.1.1 beta ([#9599](https://github.com/paritytech/parity-ethereum/pull/9599))
- Parity: bump version to 2.1.1 beta
- Ci: fix regex roll_eyes
- Docs(rpc): annotate tag with the provided message
## Parity-Ethereum [v2.1.0](https://github.com/paritytech/parity-ethereum/releases/tag/v2.1.0) (2018-09-19)
Parity-Ethereum 2.1.0-beta is released! Look at this!
Important notices:
- This release moves the 2.1 track of Parity-Ethereum to beta.
- This release contains a low-severity issue with the web-sockets ports. [#9545](https://github.com/paritytech/parity-ethereum/pull/9545)
- This release resolves a potential network fragmentation issue. [#9526](https://github.com/paritytech/parity-ethereum/pull/9526)
- With this release, all versions of Parity Ethereum 1.x prior to 2.0 reached end of life.
- Users are urged to upgrade to 2.0.5-stable or 2.1.0-beta.
Further changes worth highlighting:
- Generalized `blockReward` and `difficultyBombDelays` config ([#9480](https://github.com/paritytech/parity-ethereum/pull/9480)): This removes `eip649*` parameters from chain specs and allows `blockReward` to accept `multi`. Please review your chain-specs!
- Implement EIP234 `block_hash` for `eth_getLogs` ([#9256](https://github.com/paritytech/parity-ethereum/pull/9256)): If `block_hash` and `from_block`/`to_block` present, return error. This also changes `eth_getLogs` to return error if any of `block_hash`/`from_block`/`to_block` cannot be found.
- The default `gas_floor_target` was increased to `8_000_000`, the default `gas_cap` to `10_000_000`.
- Light clients provide the actual account for `eth_coinbase` RPC ([#9383](https://github.com/paritytech/parity-ethereum/pull/9383)). Note, this behavior is different from the full client where we return the `0x0` address if no accounts are found!
- Light servers give free credits for reserved peers ([#9448](https://github.com/paritytech/parity-ethereum/pull/9448)): When connecting to a reserved peers in light client, assign free credits to them. This fixes the scenario where a home server is running a full node, and another light client connects to the full node as a reserved peer.
- Multi-threaded snapshot creation ([#9239](https://github.com/paritytech/parity-ethereum/pull/9239)): to speed up the generation of snapshots on disk, this can be parallelized now. By default N/2 CPU cores are being used. Use `--snapshot-threads` flag to customize the number of threads.
- Remove all dapp permissions related settings ([#9120](https://github.com/paritytech/parity-ethereum/pull/9120)). This completely removes dapp permission settings from `AccountProvider` and JSON-RPC: In JSON-RPC, all available accounts are returned, regardless of the origin; previously we return accounts based on dapps policy. It's not possible to set a "default account" (as for dapps) any more; this is now always the first account in the available account list.
- Remove unused `--tx_queue_gas` parameter ([#9153](https://github.com/paritytech/parity-ethereum/pull/9153)). Please use `parity --help` to learn about available transaction queue strategies.
The full list of included changes:
- Add snapcraft package image ([#9583](https://github.com/paritytech/parity-ethereum/pull/9583))
- Add snapcraft package image
- Update .gitlab-ci.yml
- Remove snapcraft clean
- Backports for 2.1.0 beta ([#9518](https://github.com/paritytech/parity-ethereum/pull/9518))
- Parity-version: mark 2.1.0 track beta
- Ci: update branch version references
- Docker: release master to latest
- Fix checkpointing when creating contract failed ([#9514](https://github.com/paritytech/parity-ethereum/pull/9514))
- Ci: fix json docs generation ([#9515](https://github.com/paritytech/parity-ethereum/pull/9515))
- Fix typo in version string ([#9516](https://github.com/paritytech/parity-ethereum/pull/9516))
- Update patricia trie to 0.2.2 crates. Default dependencies on minor version only.
- Putting back ethereum tests to the right commit
- Enable all Constantinople hard fork changes in constantinople_test.json ([#9505](https://github.com/paritytech/parity-ethereum/pull/9505))
- Enable all Constantinople hard fork changes in constantinople_test.json
- Address grumbles
- Remove EIP-210 activation
- 8m -> 5m
- Temporarily add back eip210 transition so we can get test passed
- Add eip210_test and remove eip210 transition from const_test
- In create memory calculation is the same for create2 because the additional parameter was popped before. ([#9522](https://github.com/paritytech/parity-ethereum/pull/9522))
- Deps: bump fs-swap and kvdb-rocksdb
- Multithreaded snapshot creation ([#9239](https://github.com/paritytech/parity-ethereum/pull/9239))
- Add Progress to Snapshot Secondary chunks creation
- Use half of CPUs to multithread snapshot creation
- Use env var to define number of threads
- Info to debug logs
- Add Snapshot threads as CLI option
- Randomize chunks per thread
- Remove randomness, add debugging
- Add warning
- Add tracing
- Use parity-common fix seek branch
- Fix log
- Fix tests
- Fix tests
- Pr Grumbles
- Pr Grumble II
- Update Cargo.lock
- Pr Grumbles
- Default snapshot threads to half number of CPUs
- Fix default snapshot threads // min 1
- Correct before_script for nightly build versions ([#9543](https://github.com/paritytech/parity-ethereum/pull/9543))
- Fix gitlab array of strings syntax error
- Get proper commit id
- Avoid colon in stings
- Remove initial token for WS. ([#9545](https://github.com/paritytech/parity-ethereum/pull/9545))
- Version: mark release critical
- Ci: fix rpc docs generation 2 ([#9550](https://github.com/paritytech/parity-ethereum/pull/9550))
- Improve P2P discovery ([#9526](https://github.com/paritytech/parity-ethereum/pull/9526))
- Add `target` to Rust traces
- Network-devp2p: Don't remove discovery peer in main sync
- Network-p2p: Refresh discovery more often
- Update Peer discovery protocol
- Run discovery more often when not enough nodes connected
- Start the first discovery early
- Update fast discovery rate
- Fix tests
- Fix `ping` tests
- Fixing remote Node address ; adding PingPong round
- Fix tests: update new +1 PingPong round
- Increase slow Discovery rate
- Check in flight FindNode before pings
- Add `deprecated` to deprecated_echo_hash
- Refactor `discovery_round` branching
- Net_version caches network_id to avoid redundant acquire of sync read lock ([#9544](https://github.com/paritytech/parity-ethereum/pull/9544))
- Net_version caches network_id to avoid redundant acquire of sync read lock, [#8746](https://github.com/paritytech/parity-ethereum/issues/8746)
- Use lower_hex display formatting for net_peerCount rpc method
- Increase Gas-floor-target and Gas Cap ([#9564](https://github.com/paritytech/parity-ethereum/pull/9564))
- Gas-floor-target increased to 8M by default
- Gas-cap increased to 10M by default
- Revert to old parity-tokio-ipc.
- Downgrade named pipes.
- Fix checkpointing when creating contract failed ([#9514](https://github.com/paritytech/parity-ethereum/pull/9514))
- Ci: fix json docs generation ([#9515](https://github.com/paritytech/parity-ethereum/pull/9515))
- Update state tests execution model ([#9440](https://github.com/paritytech/parity-ethereum/pull/9440))
- Update & fix JSON state tests.
- Update tests to be able to run ethtest at 021fe3d410773024cd5f0387e62db6e6ec800f32.
- Touch user in state
- Adjust transaction tests to new json format
- Switch to same commit for submodule ethereum/test as geth (next includes constantinople changes).
- Added test `json_tests::trie::generic::TrieTests_trieanyorder` and a few difficulty tests.
- Remove trietestnextprev as it would require to parse differently and implement it.
- Support new (shitty) format of transaction tests.
- Ignore junk in ethereum/tests repo.
- Ignore incorrect test.
- Update to a later commit
- Move block number to a constant.
- Fix ZK2 test - touched account should also be cleared.
- Fix conflict resolution
- Upload will fail if a file with the same hash is already up ([#9479](https://github.com/paritytech/parity-ethereum/pull/9479))
- Upload will fail if a file with the same hash is already up
- Compose version string for nightly releases
- Fix Snapshot restoration failure on Windows ([#9491](https://github.com/paritytech/parity-ethereum/pull/9491))
- Close Blooms DB files before DB restoration
- Don't error when Snapshot is aborted ([#9492](https://github.com/paritytech/parity-ethereum/pull/9492))
- Light: give free credits for reserved peers ([#9448](https://github.com/paritytech/parity-ethereum/pull/9448))
- Light: give free credits for reserved peers
- Fix ethcore-light tests
- Test free_flow_params
- Parity: print correct keys path on startup ([#9501](https://github.com/paritytech/parity-ethereum/pull/9501))
- Generalized blockReward and difficultyBombDelays config ([#9480](https://github.com/paritytech/parity-ethereum/pull/9480))
- Implement multi blockReward
- Implement difficultyBombDelays
- Fix json crate compile
- Json keys can only be string
- Rpc(debug_getBadBlocks): fix test ([#9502](https://github.com/paritytech/parity-ethereum/pull/9502))
- Bad blocks RPC + reporting ([#9433](https://github.com/paritytech/parity-ethereum/pull/9433))
- Bad blocks RPC.
- Return bad blocks via RPC.
- Fix test.
- More verbose bad block message.
- Expose via CLI.
- Remove stray whitespace.
- Remove stray newline.
- Fix tests.
- Eip 1283: Net gas metering for SSTORE without dirty maps ([#9319](https://github.com/paritytech/parity-ethereum/pull/9319))
- Implement last_checkpoint_storage_at
- Add reverted_storage_at for externalities
- Sstore_clears_count -> sstore_clears_refund
- Implement eip1283 for evm
- Add eip1283Transition params
- Evm: fix tests
- Jsontests: fix test
- Return checkpoint index when creating
- Comply with spec Version II
- Fix docs
- Fix jsontests feature compile
- Address grumbles
- Fix no-checkpoint-entry case
- Remove unnecessary expect
- Add test for State::checkpoint_storage_at
- Add executive level test for eip1283
- Hard-code transaction_checkpoint_index to 0
- Fix jsontests
- Add tests for checkpoint discard/revert
- Require checkpoint to be empty for kill_account and commit
- Get code coverage
- Use saturating_add/saturating_sub
- Fix issues in insert_cache
- Clear the state again
- Fix original_storage_at
- Early return for empty RLP trie storage
- Update comments
- Fix borrow_mut issue
- Simplify checkpoint_storage_at if branches
- Better commenting for gas handling code
- Address naming grumbles
- More tests
- Fix an issue in overwrite_with
- Add another test
- Fix comment
- Remove unnecessary bracket
- Move orig to inner if
- Remove test coverage for this PR
- Add tests for executive original value
- Add warn! for an unreachable cause
- Light `clippy(fy)` ([#9473](https://github.com/paritytech/parity-ethereum/pull/9473))
- Wasm tests
- `clippyfy` light-client
- Revert inefficient change `collect_ready()`
- Aura: don't report skipped primaries when empty steps are enabled ([#9435](https://github.com/paritytech/parity-ethereum/pull/9435))
- Support millisecond timestamp for instant seal engine ([#9469](https://github.com/paritytech/parity-ethereum/pull/9469))
- Support millisecond timestamp for instant seal engine
- Forgot to checkin instant_seal mod
- Fix instant seal config
- Fix json crate compile
- Fix private_spec.json
- Option<bool> -> bool
- Ethcore: don't validate difficulty when ignoring seal check ([#9470](https://github.com/paritytech/parity-ethereum/pull/9470))
- Ethcore: don't validate difficulty when ignoring seal check
- Ethcore: fix block verification test
- Ethcore: document skipped verifications when check_seal is disabled
- [light/jsonrpc] Provide the actual account for `eth_coinbase` RPC and unify error handling for light and full client ([#9383](https://github.com/paritytech/parity-ethereum/pull/9383))
- Provide the actual `account` for eth_coinbase
- The previous implementation always provided the `zero address` on `eth_coinbase` RPC. Now, instead the actual address is returned on success or an error when no account(s) is found!
- Full client `eth_coinbase` return err
- In the full-client return an error when no account is found instead of returning the `zero address`
- Remove needless blocks on single import
- Remove needless `static` lifetime on const
- Fix `rpc_eth_author` test
- Add a Java interface ([#9346](https://github.com/paritytech/parity-ethereum/pull/9346))
- Add a Java interface
- Use system ABI
- Forgot exception
- Fix param for parity_rpc
- Address concerns
- Fetch `parity-common` crates from crates.io ([#9410](https://github.com/paritytech/parity-ethereum/pull/9410))
- Fetch `parity-common` crates from crates.io
- Add doc tests from `patricia-trie` to `patricia-trie-ethereum`
- Fix/update a few deps
- [ethkey] upgrade ethereum-types
- [whisper] update deps
- [network] deps
- [network-devp2p] deps
- [journaldb] deps
- [fastmap] deps
- [miner] deps and test fixes
- [machine] deps
- [json] deps
- [hw] deps
- [ethash] deps
- [registrar] deps
- Update a few more dependencies with new ethabi-*
- [updater] Update deps
- Deps
- [ethcore] Update deps
- Use new parity-snappy and parity-rocksdb crates
- Updated submodules
- Use parity-snappy 0.1
- Use kvdb-rocksdb 0.1.2
- Don't use latest ethereum/tests
- Fix merge conflicts errors
- Remove superseeded comment
- Address grumbles: add newlines, add/remove spaces
- Fixed typo ([#9467](https://github.com/paritytech/parity-ethereum/pull/9467))
- Fix light client deadlock ([#9385](https://github.com/paritytech/parity-ethereum/pull/9385))
- This PR is fixing deadlock for [#8918](https://github.com/paritytech/parity-ethereum/issues/8918)
- It avoids some recursive calls on light_sync by making state check optional for Informant.
- The current behavior is to display the information when informant checks if block is major version.
- This change a bit the informant behavior, but not on most cases.
- To remember where and how this kind of deadlock are likely to happen (not seen with Parkinglot deadlock detection because it uses std condvar), I am adding a description of the deadlock.
- Also, for the reviewers there may be better solution than modifying the informant.
- Fix docs of address_hash ([#9463](https://github.com/paritytech/parity-ethereum/pull/9463))
- Fix typo in bash script ([#9462](https://github.com/paritytech/parity-ethereum/pull/9462))
- Fix a bug in evmbin initial_gas display ([#9457](https://github.com/paritytech/parity-ethereum/pull/9457))
- Evmbin: escape newlines in json errors ([#9458](https://github.com/paritytech/parity-ethereum/pull/9458))
- Use kvdb-* and parity-snappy crates from crates.io ([#9441](https://github.com/paritytech/parity-ethereum/pull/9441))
- Use kvdb-* and parity-snappy crates from crates.io
- Update rocksdb-sys and snappy-sys
- Add EIP-1014 transition config flag ([#9268](https://github.com/paritytech/parity-ethereum/pull/9268))
- Add EIP-1014 transition config flag
- Remove EIP-86 configs
- Change CREATE2 opcode index to 0xf5
- Move salt to the last item in the stack
- Change sendersaltandaddress scheme to comply with current EIP-1014
- Fix json configs
- Fix create2 test
- Fix deprecated comments
- Add tags for runner selection of build-linux jobs ([#9451](https://github.com/paritytech/parity-ethereum/pull/9451))
- Remove unused BlockStatus::Pending ([#9447](https://github.com/paritytech/parity-ethereum/pull/9447))
- Pending case never instantiated, and only ever matched together with Unknown
- Ci: only include local paths in coverage script (except target) ([#9437](https://github.com/paritytech/parity-ethereum/pull/9437))
- Add POA Networks: Core and Sokol ([#9413](https://github.com/paritytech/parity-ethereum/pull/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
- Docker: install missing dependencies in arm target dockerfiles ([#9436](https://github.com/paritytech/parity-ethereum/pull/9436))
- Random small cleanups ([#9423](https://github.com/paritytech/parity-ethereum/pull/9423))
- Clean up toml files
- Update the parity ethereum toolchain docs
- Update contribution guide and issue templates
- Update desktop and service files
- Build clib examples with 8 threads
- Update header templates
- Replace parity technologies with parity ethereum logo
- Evmbin: Fix gas_used issue in state root mismatch and handle output better ([#9418](https://github.com/paritytech/parity-ethereum/pull/9418))
- Fix gas used in staterootmismatch, and print full state root hash
- Write trace info for stdjson to stderr
- Fix tests
- Remove struct trait bound
- Update hardcoded sync ([#9421](https://github.com/paritytech/parity-ethereum/pull/9421))
- Update foundation hardcoded header to block 6219777
- Update ropsten hardcoded header to block 3917825
- Update kovan hardcoded header to block 8511489
- Add block reward contract config to ethash and allow off-chain contracts ([#9312](https://github.com/paritytech/parity-ethereum/pull/9312))
- This adds block reward contract config to ethash. A new config `blockRewardContractCode` is also added to both Aura and ethash. When specified, it will execute the code directly and overrides any `blockRewardContractAddress` config. Having this `blockRewardContractCode` config allows chains to deploy hard fork by simply replacing the current config value, without the need from us to support any `multi` block reward scheme.
- Private packets verification and queue refactoring ([#8715](https://github.com/paritytech/parity-ethereum/pull/8715))
- Verify private transaction before propagating
- Private transactions queue reworked with tx pool queue direct usage
- Styling fixed
- Prevent resending private packets to the sender
- Process signed private transaction packets via io queue
- Test fixed
- Build and test fixed after merge
- Comments after review fixed
- Signed transaction taken from verified
- Fix after merge
- Pool scoring generalized in order to use externally
- Lib refactored according to the review comments
- Ready state refactored
- Redundant bound and copying removed
- Fixed build after the merge
- Forgotten case reworked
- Review comments fixed
- Logging reworked, target added
- Fix after merge
- Update tobalaba.json ([#9419](https://github.com/paritytech/parity-ethereum/pull/9419))
- Docs: add parity ethereum logo to readme ([#9415](https://github.com/paritytech/parity-ethereum/pull/9415))
- Docs: add parity ethereum logo
- Docs: add logo to readme
- Docs: align logo center
- Docs: remove separators from readme
- Docs: restructure readme
- Docs: check spelling and grammar in readme
- Docs: clarify readme
- Docs: improve readme significantly
- Build: update rocksdb crate ([#9414](https://github.com/paritytech/parity-ethereum/pull/9414))
- Updating the CI system ([#8765](https://github.com/paritytech/parity-ethereum/pull/8765))
- Updating the CI system with the publication of releases and binary files on github
- Add missed scripts
- Chmod +x scripts
- Fix download link for github
- Rebuilding CI scripts
- Small fixes
- Update submodule wasm tests
- Ci: fix merge leftovers
- Ci: remove gitlab-next from ci triggers
- Ci: fix git add in docs script
- Ci: use nightly instead of master for publish triggers
- Ci: remove sleep from gitlab config
- Ci: replace ':' with '-' in gitlab targets
- Ci: fix recursive copy in docs script
- Better support for eth_getLogs in light mode ([#9186](https://github.com/paritytech/parity-ethereum/pull/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](https://github.com/paritytech/parity-ethereum/pull/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
- `gasleft` extern implemented for WASM runtime (kip-6) ([#9357](https://github.com/paritytech/parity-ethereum/pull/9357))
- Wasm gasleft extern added
- Wasm_gasleft_activation_transition -> kip4_transition
- Use kip-6 switch
- Gasleft_panic -> gasleft_fail rename
- Call_msg_gasleft test added and gas_left agustments because this paritytech/wasm-tests#52
- Change .. to _
- Fix comment for the have_gasleft param
- Update tests (paritytech/wasm-tests-0edbf86)
- Block view! removal in progress ([#9397](https://github.com/paritytech/parity-ethereum/pull/9397))
- Prevent sync restart if import queue full ([#9381](https://github.com/paritytech/parity-ethereum/pull/9381))
- Nonroot CentOS Docker image ([#9280](https://github.com/paritytech/parity-ethereum/pull/9280))
- Updates CentOS Docker image build process
- Rename build.Dockerfile
- Ethcore: kovan: delay activation of strict score validation ([#9406](https://github.com/paritytech/parity-ethereum/pull/9406))
- Revert "Use std::sync::Condvar ([#1732](https://github.com/paritytech/parity-ethereum/pull/1732))" ([#9392](https://github.com/paritytech/parity-ethereum/pull/9392))
- Revert "Use std::sync::Condvar ([#1732](https://github.com/paritytech/parity-ethereum/pull/1732))"
- This reverts commit c65ee93.
- Verification_queue: remove redundant mutexes
- Replace `std::env::home_dir()` with `home` crate impl. ([#9293](https://github.com/paritytech/parity-ethereum/pull/9293))
- Import the `home` crate in `util/dir`.
- Replace uses of `env::home_dir()` with `home::home_dir()`.
- `home` uses a 'correct' impl. on windows and the stdlib impl. of `::home_dir` otherwise.
- Reexport `home::home_dir` from `util/dir`.
- Bump `util/dir` to 0.1.2.
- Docs: restore readme ([#9391](https://github.com/paritytech/parity-ethereum/pull/9391))
- Replace `Duration::new()` w/ `Duration::from_nanos` ([#9387](https://github.com/paritytech/parity-ethereum/pull/9387))
- Delete Dockerfile ([#9386](https://github.com/paritytech/parity-ethereum/pull/9386))
- Network-devp2p `Fix some clippy errors/warnings` ([#9378](https://github.com/paritytech/parity-ethereum/pull/9378))
- Fix some clippy warnings
- Remove `shallow-copy` of Node's
- Make `NonReservedPeerMode` Copy and pass-by-value
- Allow calling contracts in genesis state. ([#9375](https://github.com/paritytech/parity-ethereum/pull/9375))
- Make `Capabilities struct` Copy ([#9372](https://github.com/paritytech/parity-ethereum/pull/9372))
- Light client "Enable more logs for light client `on_demand`" ([#9374](https://github.com/paritytech/parity-ethereum/pull/9374))
- Enable more logs for light client `on_demand`
- Remove extra whitespace
- Fix indentation
- Better logging when mining own transactions. ([#9363](https://github.com/paritytech/parity-ethereum/pull/9363))
- Fix typos in `network-devp2p` ([#9371](https://github.com/paritytech/parity-ethereum/pull/9371))
- Light client `Provide default nonce in transactions when it´s missing` ([#9370](https://github.com/paritytech/parity-ethereum/pull/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](https://github.com/paritytech/parity-ethereum/pull/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
- Changed http:// to https:// on Yasm link ([#9369](https://github.com/paritytech/parity-ethereum/pull/9369))
- Changed http:// to https:// on Yasm link in README.md
- Fix no line breaks in logs ([#9355](https://github.com/paritytech/parity-ethereum/pull/9355))
- Lower the max size of transaction packet to prevent going oversize. ([#9308](https://github.com/paritytech/parity-ethereum/pull/9308))
- Lower the max size of transaction packet to prevent going oversize.
- Log RLP size.
- Remove prepare_trace_output and make sure prepare_trace_call and trace*call are balanced ([#9353](https://github.com/paritytech/parity-ethereum/pull/9353))
- This refactors `prepare_trace_output` to instead directly take the reference of return values, so that it's simpler and we save a stack item. This should also fixes [the issue]([#9236](https://github.com/paritytech/parity-ethereum/pull/9236) (comment)) udoprog is facing. Replaces [#9236](https://github.com/paritytech/parity-ethereum/issues/9236)
- More details in logs returned by light client ([#9324](https://github.com/paritytech/parity-ethereum/pull/9324))
- Log details for light logs.
- Create Log directly.
- Expose UnorderedIterator. ([#9347](https://github.com/paritytech/parity-ethereum/pull/9347))
- Light client logs should include 'from_block' when querying logs ([#9331](https://github.com/paritytech/parity-ethereum/pull/9331))
- Fix PubSub for logs when using light client:
- Prior to this fix the pubsub process did send a query for each new block header (and for each subs: there is something to optimize here) by setting from and to of the filter at this block number; but there was a bug in the code that fetch logs : it was non inclusive for its start bound, meaning that with start bound = end bound we never query any block (and attached logs).
- Option iter instead of once.
- Use of bloom existing function to check if a bloom contains another.
- Makes from block header checking explicit
- Remove pass-by-reference return data value from executive ([#9211](https://github.com/paritytech/parity-ethereum/pull/9211))
- Remove pass-by-reference return data value from executive
- Fix tests
- Fix a missing test output
- Typo: wasm_activation_test
- Tracing change in output
- Json_tests: fix compile
- Typo: 0..32 -> ..32 to keep it consistent with other occurance
- Fix tests
- Allow single opcode stepping for EVM ([#9051](https://github.com/paritytech/parity-ethereum/pull/9051))
- Feed in ActionParams on VM creation
- Fix ethcore after Vm interface change
- Move informant inside Interpreter struct
- Move do_trace to Interpreter struct
- Move all remaining exec variables to Interpreter struct
- Refactor VM to allow single opcode step
- Fix all EVM tests
- Fix all wasm tests
- Fix wasm runner tests
- Fix a check case where code length is zero
- Fix jsontests compile
- Fix cargo lock
- Use match instead of expect
- Use cheaper check reader.len() == 0 for the initial special case
- Get rid of try_and_done! macro by using Result<(), ReturnType>
- Use Never instead of ()
- Fix parity-bytes path
- Bypass gasometer lifetime problem by borrow only for a instance
- Typo: missing {
- Fix ethcore test compile
- Fix evm tests
- Fix load share ([#9321](https://github.com/paritytech/parity-ethereum/pull/9321))
- Fix(light_sync): calculate `load_share` properly
- Refactor(api.rs): extract `light_params` fn, add test
- Style(api.rs): add trailing commas
- Implement EIP234 block_hash for eth_getLogs ([#9256](https://github.com/paritytech/parity-ethereum/pull/9256))
- Implement EIP234
- Make filter conversion returns error if both blockHash and from/toBlock is found
- This also changes PollFilter to store the EthFilter type, instead of the jsonrpc one, saving repeated conversion.
- Return error if block filtering target is not found in eth_getLogs
- Use the old behavior (unwrap_or_default) for anywhere else.
- Fix test: secret_store
- Fix weird indentation
- Make client log filter return error in case a block cannot be found
- Return blockId error in rpc
- Test_client: allow return error on logs
- Add a mocked test for eth_getLogs error
- Fix: should return error if from_block/to_block greater than best block number
- Add notes on pending
- Add comment for UNSUPPORTED_REQUEST
- Address grumbles
- Return err if from > to
- Ethcore: fix pow difficulty validation ([#9328](https://github.com/paritytech/parity-ethereum/pull/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
- Ethcore/sync `Make view macro only visible to test` ([#9316](https://github.com/paritytech/parity-ethereum/pull/9316))
- Remove needless macro import
- Enable ethcore/macros in tests
- Allow setting the panic hook with parity-clib ([#9292](https://github.com/paritytech/parity-ethereum/pull/9292))
- Allow setting the panic hook with parity-clib
- Make all FFI functions unsafe
- Fix comment
- Fix concern
- Prevent blockchain & miner racing when accessing pending block. ([#9310](https://github.com/paritytech/parity-ethereum/pull/9310))
- Prevent blockchain & miner racing when accessing pending block.
- Fix unavailability of pending block during reseal.
- Docker alpine: use multi-stage concept ([#9269](https://github.com/paritytech/parity-ethereum/pull/9269))
- Docker alpine: use multi-stage concept
- Docker alpine: create config directory
- Update `log` -> 0.4, `env_logger` -> 0.5. ([#9294](https://github.com/paritytech/parity-ethereum/pull/9294))
- Rename a few types & methods.
- Change `(Log)Builder::format` (closure) arg.
- Update tobalaba.json ([#9313](https://github.com/paritytech/parity-ethereum/pull/9313))
- Allow tx pool to be Send ([#9315](https://github.com/paritytech/parity-ethereum/pull/9315))
- Fix codecov.io badge in README ([#9327](https://github.com/paritytech/parity-ethereum/pull/9327))
- Move ethereum-specific H256FastMap type to own crate ([#9307](https://github.com/paritytech/parity-ethereum/pull/9307))
- Add a `fastmap` crate that provides the H256FastMap specialized HashMap
- Use `fastmap` instead of `plain_hasher`
- Update submodules for Reasons™
- Submodule update
- Ethcore sync decodes rlp less often ([#9264](https://github.com/paritytech/parity-ethereum/pull/9264))
- Deserialize block only once during verification
- Ethcore-sync uses Unverified
- Ethcore-sync uses Unverified
- Fixed build error
- Removed Block::is_good
- Applied review suggestions
- Ethcore-sync deserializes headers and blocks only once
- Ethcore: add transition flag for transaction permission contract ([#9275](https://github.com/paritytech/parity-ethereum/pull/9275))
- Ethcore: add transition flag for transaction permission contract
- Ethcore: fix transaction permission contract tests
- Remove all dapp permissions related settings ([#9120](https://github.com/paritytech/parity-ethereum/pull/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
- Improve return data truncate logic ([#9254](https://github.com/paritytech/parity-ethereum/pull/9254))
- Improve return data truncate logic
- Fix: size -> offset + size
- Update wasm-tests hash ([#9295](https://github.com/paritytech/parity-ethereum/pull/9295))
- Implement KIP4: create2 for wasm ([#9277](https://github.com/paritytech/parity-ethereum/pull/9277))
- Basic implementation for kip4
- Add KIP-4 config flags
- Typo: docs fix
- Fix args offset
- Add tests for create2
- Tests: evm
- Update wasm-tests and fix all gas costs
- Update wasm-tests
- Update wasm-tests and fix gas costs
- Fix loop start value ([#9285](https://github.com/paritytech/parity-ethereum/pull/9285))
- Avoid using $HOME if not necessary ([#9273](https://github.com/paritytech/parity-ethereum/pull/9273))
- Avoid using $HOME if not necessary
- Fix concerns and issues
- Fix path to parity.h ([#9274](https://github.com/paritytech/parity-ethereum/pull/9274))
- Fix path to parity.h
- Fix other paths as well
- Propagate transactions for next 4 blocks. ([#9265](https://github.com/paritytech/parity-ethereum/pull/9265))
- Closes [#9255](https://github.com/paritytech/parity-ethereum/issues/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.
- Decode block rlp less often ([#9252](https://github.com/paritytech/parity-ethereum/pull/9252))
- Removed 4 redundant rlp deserializations
- Avoid 1 redundant block data copy
- Fix eternalities tests can_create (missing parameter) ([#9270](https://github.com/paritytech/parity-ethereum/pull/9270))
- Update ref to `parity-common` and update `seek` behaviour ([#9257](https://github.com/paritytech/parity-ethereum/pull/9257))
- Update ref to `parity-common` and update `seek` behaviour
- Remove reference to `ng-fix-triedb-seek` branch
- Comply EIP-86 with the new definition ([#9140](https://github.com/paritytech/parity-ethereum/pull/9140))
- Comply EIP-86 with the new CREATE2 opcode
- Fix rpc compile
- Fix interpreter CREATE/CREATE2 stack pop difference
- Add unreachable! to fix compile
- Fix instruction_info
- Fix gas check due to new stack item
- Add new tests in executive
- Fix have_create2 comment
- Remove all unused references of eip86_transition and block_number
- Check if synced when using eth_getWork ([#9193](https://github.com/paritytech/parity-ethereum/pull/9193)) ([#9210](https://github.com/paritytech/parity-ethereum/pull/9210))
- Check if synced when using eth_getWork ([#9193](https://github.com/paritytech/parity-ethereum/pull/9193))
- Don't use fn syncing
- Fix identation
- Fix typo
- Don't check for warping
- Rpc: avoid calling queue_info twice on eth_getWork
- Removed client error ([#9253](https://github.com/paritytech/parity-ethereum/pull/9253))
- Implement EIP-1052 (EXTCODEHASH) and fix several issues in state account cache ([#9234](https://github.com/paritytech/parity-ethereum/pull/9234))
- Implement EIP-1052 and fix several issues related to account cache
- Fix jsontests
- Merge two matches together
- Avoid making unnecessary Arc<Vec>
- Address grumbles
- Improve Tracer documentation ([#9237](https://github.com/paritytech/parity-ethereum/pull/9237))
- Update Dockerfile ([#9242](https://github.com/paritytech/parity-ethereum/pull/9242))
- Update Dockerfile
- Fix Docker build
- Fix dockerfile paths: parity -> parity-ethereum ([#9248](https://github.com/paritytech/parity-ethereum/pull/9248))
- Block cleanup ([#9117](https://github.com/paritytech/parity-ethereum/pull/9117))
- Blockchain insert expects owned block instead of block reference
- Reduce a number of times a block is deserialized
- Removed cached uncle_bytes from block
- Removed is_finalized from OpenBlock
- Removed unused parity_machine::WithMetadata trait
- Removed commented out code
- Remove unused metadata from block
- Remove unused metadata from block
- Blockdetails extras may have at most 5 elements
- Increase the number of sessions. ([#9203](https://github.com/paritytech/parity-ethereum/pull/9203))
- Add changelog for 1.11.8 stable and 2.0.1 beta ([#9230](https://github.com/paritytech/parity-ethereum/pull/9230))
- Docs: add changelog for 1.11.8 stable
- Docs: add changelog for 2.0.1 beta
- Fix typo ([#9232](https://github.com/paritytech/parity-ethereum/pull/9232))
- Fix potential as_usize overflow when casting from U256 in miner ([#9221](https://github.com/paritytech/parity-ethereum/pull/9221))
- Allow old blocks from peers with lower difficulty ([#9226](https://github.com/paritytech/parity-ethereum/pull/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.
- Removes duplicate libudev-dev from Dockerfile ([#9220](https://github.com/paritytech/parity-ethereum/pull/9220))
- Snap: remove ssl dependencies from snapcraft definition ([#9222](https://github.com/paritytech/parity-ethereum/pull/9222))
- Remove ssl from dockerfiles, closes [#8880](https://github.com/paritytech/parity-ethereum/issues/8880) ([#9195](https://github.com/paritytech/parity-ethereum/pull/9195))
- Insert PROOF messages for some cases in blockchain ([#9141](https://github.com/paritytech/parity-ethereum/pull/9141))
- Insert PROOF messages for some cases in blockchain
- Break expect to its own line to avoid things being too long
- Be more specific for all low-level database error cases
- Fix BranchBecomingCanonChain expect
- Ethcore: fix typo in expect proof message
- [chain] Add more bootnodes ([#9174](https://github.com/paritytech/parity-ethereum/pull/9174))
- For ETC, ELLA, EXP, Morden, MUSIC
- Ethcore: update bn version ([#9217](https://github.com/paritytech/parity-ethereum/pull/9217))
- Deserialize block only once during verification ([#9161](https://github.com/paritytech/parity-ethereum/pull/9161))
- Simple build instruction fix ([#9215](https://github.com/paritytech/parity-ethereum/pull/9215))
- Changed `parity` dir name into `parity-ethereum`
- Added --tx-queue-no-early-reject flag to disable early tx queue rejects ([#9143](https://github.com/paritytech/parity-ethereum/pull/9143))
- Added --tx-queue-no-early-reject flag to disable early tx queue rejects because of low gas price
- Fixed failing tests, clarified comments and simplified no_early_reject field name.
- Added test case for the --tx-queue-no-early-reject flag
- Avoid schedule copying in nested call/create ([#9190](https://github.com/paritytech/parity-ethereum/pull/9190))
- Avoid schedule copying in nested call/create
- Fix tests
- Fix test: wrong Schedule used
- Fix private-tx test
- Fix jsontests compilation
- Ethcore: add builtin benchmarks based on geth ([#9179](https://github.com/paritytech/parity-ethereum/pull/9179))
- Ethcore: add geth benchmarks for all builtins
- Ethcore: remove old builtin benchmarks
- Rpc: fix is_major_importing sync state condition ([#9112](https://github.com/paritytech/parity-ethereum/pull/9112))
- Rpc: fix is_major_importing sync state condition
- Rpc: fix informant printout when waiting for peers
- Docs: update repository links ([#9159](https://github.com/paritytech/parity-ethereum/pull/9159))
- Docs: update repository links
- Docs: update repository links in contribution guide
- Parity: fix UserDefaults json parser ([#9189](https://github.com/paritytech/parity-ethereum/pull/9189))
- Parity: fix UserDefaults json parser
- Parity: use serde_derive for UserDefaults
- Parity: support deserialization of old UserDefault json format
- Parity: make UserDefaults serde backwards compatible
- Parity: tabify indentation in UserDefaults
- Update "This is a bug. Please report it at:" link ([#9191](https://github.com/paritytech/parity-ethereum/pull/9191))
- Docker: update hub dockerfile ([#9173](https://github.com/paritytech/parity-ethereum/pull/9173))
- Update Dockerfile for hub
- Update to Ubuntu Xenial 16.04
- Fix cmake version
- Docker: fix tab indentation in hub dockerfile
- Ci: update version strings for snaps ([#9160](https://github.com/paritytech/parity-ethereum/pull/9160))
- Ethcore: add missing builtins benchmarks ([#9170](https://github.com/paritytech/parity-ethereum/pull/9170))
- Ethcore: add modexp benchmarks
- Ethcore: add_bn_128_add benchmark
- Fix bugfix hard fork logic ([#9138](https://github.com/paritytech/parity-ethereum/pull/9138))
- Fix bugfix hard fork logic
- Remove dustProtectionTransition from bugfix category
- Eip-168 is not enabled by default
- Remove unnecessary 'static
- Be more graceful on Aura difficulty validation ([#9164](https://github.com/paritytech/parity-ethereum/pull/9164))
- Be more graceful on Aura difficulty validation
- Test: rejects_step_backwards
- Test: proposer_switching
- Test: rejects_future_block
- Test: reports_skipped
- Test: verify_empty_seal_steps
- Handle SyncHandler errors properly ([#9151](https://github.com/paritytech/parity-ethereum/pull/9151))
- Handle SyncHandler errors properly, closes [#9150](https://github.com/paritytech/parity-ethereum/issues/9150)
- Applied review suggestions
- Remove node-health ([#9119](https://github.com/paritytech/parity-ethereum/pull/9119))
- Remove node-health
- Remove ntp_servers
- Add --ntp-servers as legacy instead of removing it
- Add --ntp-servers to deprecated args
- Remove unused stuff
- Remove _legacy_ntp_servers
- Remove unused tx_queue_gas parameter. ([#9153](https://github.com/paritytech/parity-ethereum/pull/9153))
- Changelogs for 1.11.7-stable and 2.0.0-beta ([#9105](https://github.com/paritytech/parity-ethereum/pull/9105))
- Docs: mark 1.10 as end-of-life
- Docs: move changelog for 1.11
- Docs: Add changelog for 1.11.7-stable
- Docs: add changelog for 2.0.0-beta
- Docs: add release notes for 2.0.0 beta
- Docs: fix links in changelog
- Docs: Update changelog for 1.11.7-stable
- Docs: Update changelog for 2.0.0-beta
- Docs: address Tbaut's comments for the 2.0.0-beta changelog
- Docs: add note regarding txqueue changes as recommended by tomusdrw
- Disable per-sender limit for local transactions. ([#9148](https://github.com/paritytech/parity-ethereum/pull/9148))
- Disable per-sender limit for local transactions.
- Add a missing new line.
- Parity: fix logging cli parameter example ([#9154](https://github.com/paritytech/parity-ethereum/pull/9154))
- Be more specific for `-l` CLI arguments ([#9149](https://github.com/paritytech/parity-ethereum/pull/9149))
- Update mod.rs
- Receipt constructor `Allocate less stack for blooms` ([#9146](https://github.com/paritytech/parity-ethereum/pull/9146))
- Allocate less stack in `Receipt ctor`
- Ethcore: use accrue_bloom when computing transaction receipt
- `evm bench` fix broken dependencies ([#9134](https://github.com/paritytech/parity-ethereum/pull/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](https://github.com/paritytech/parity-ethereum/pull/9132))
- Fix verification in ethcore-sync collect_blocks ([#9135](https://github.com/paritytech/parity-ethereum/pull/9135))
- Unify engine error to reject blocks ([#9085](https://github.com/paritytech/parity-ethereum/pull/9085))
- Reject if Engine::on_close_block returns error
- Unify open block behaviors
- Fix tests in ethcore
- Fix Aura tests
- Fix RPC test
- Print a warning if open block failed
- Print the actual error when closing the block
- Update comments for prepare_pending_block
- Add BlockPreparationStatus to distingish three different state after prepare_pending_block
- Fix `todo` in `ethcore/types::Receipt` constructor ([#9086](https://github.com/paritytech/parity-ethereum/pull/9086))
- Remove needless mutable variable and assignment
- Completely remove all dapps struct from rpc ([#9107](https://github.com/paritytech/parity-ethereum/pull/9107))
- Completely remove all dapps struct from rpc
- Remove unused pub use
- Removed redundant struct bounds and unnecessary data copying ([#9096](https://github.com/paritytech/parity-ethereum/pull/9096))
- Removed redundant struct bounds and unnecessary data copying
- Updated docs, removed redundant bindings
- Insert ETC (classic) hardcoded headers until block 6170625 ([#9121](https://github.com/paritytech/parity-ethereum/pull/9121))
- Make sure to produce full blocks. ([#9115](https://github.com/paritytech/parity-ethereum/pull/9115))
- Update light client hardcoded headers ([#9098](https://github.com/paritytech/parity-ethereum/pull/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
- Parity-version: bump nightly version to 2.1 ([#9095](https://github.com/paritytech/parity-ethereum/pull/9095))
- Fix work-notify. ([#9104](https://github.com/paritytech/parity-ethereum/pull/9104))
- Update snappy ([#9082](https://github.com/paritytech/parity-ethereum/pull/9082))
- Offload cull to IoWorker. ([#9099](https://github.com/paritytech/parity-ethereum/pull/9099))
- Docker: add cmake dependency ([#9111](https://github.com/paritytech/parity-ethereum/pull/9111))
- Update hidapi, fixes [#7542](https://github.com/paritytech/parity-ethereum/issues/7542) ([#9108](https://github.com/paritytech/parity-ethereum/pull/9108))
- Update README.md ([#9084](https://github.com/paritytech/parity-ethereum/pull/9084))
- Update README.md
- Rename parity client
- Docs: remove UI stuff from readme.
- Docs: add changelog link to readme
- Revert "Replace `std::env::home_dir` with `dirs::home_dir` ([#9077](https://github.com/paritytech/parity-ethereum/pull/9077))" ([#9097](https://github.com/paritytech/parity-ethereum/pull/9097))
- Revert "Replace `std::env::home_dir` with `dirs::home_dir` ([#9077](https://github.com/paritytech/parity-ethereum/pull/9077))"
- This reverts commit 7e77932.
- Restore some of the changes
- Update parity-common
- Multiple improvements to discovery ping handling ([#8771](https://github.com/paritytech/parity-ethereum/pull/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](https://github.com/paritytech/parity-ethereum/pull/8927)) ([#9064](https://github.com/paritytech/parity-ethereum/pull/9064))
- Add seperate default DB path for light client ([#8927](https://github.com/paritytech/parity-ethereum/pull/8927))
- Improve readability
## Previous releases
- [CHANGELOG-2.0](docs/CHANGELOG-2.0.md) (_stable_)
- [CHANGELOG-1.11](docs/CHANGELOG-1.11.md) (EOL: 2018-09-19)
- [CHANGELOG-1.10](docs/CHANGELOG-1.10.md) (EOL: 2018-07-18)
- [CHANGELOG-1.9](docs/CHANGELOG-1.9.md) (EOL: 2018-05-09)
- [CHANGELOG-1.8](docs/CHANGELOG-1.8.md) (EOL: 2018-03-22)
- [CHANGELOG-1.7](docs/CHANGELOG-1.7.md) (EOL: 2018-01-25)
- [CHANGELOG-1.6](docs/CHANGELOG-1.6.md) (EOL: 2017-10-15)
- [CHANGELOG-1.5](docs/CHANGELOG-1.5.md) (EOL: 2017-07-28)
- [CHANGELOG-1.4](docs/CHANGELOG-1.4.md) (EOL: 2017-03-13)
- [CHANGELOG-1.3](docs/CHANGELOG-1.3.md) (EOL: 2017-01-19)
- [CHANGELOG-1.2](docs/CHANGELOG-1.2.md) (EOL: 2016-11-07)
- [CHANGELOG-1.1](docs/CHANGELOG-1.1.md) (EOL: 2016-08-12)
- [CHANGELOG-1.0](docs/CHANGELOG-1.0.md) (EOL: 2016-06-24)
- [CHANGELOG-0.9](docs/CHANGELOG-0.9.md) (EOL: 2016-05-02)

6366
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,84 +1,74 @@
[package]
description = "OpenEthereum"
name = "openethereum"
description = "Parity Ethereum client"
name = "parity-ethereum"
# NOTE Make sure to update util/version/Cargo.toml as well
version = "3.0.0"
version = "2.2.3"
license = "GPL-3.0"
authors = [
"OpenEthereum developers",
"Parity Technologies <admin@parity.io>"
]
authors = ["Parity Technologies <admin@parity.io>"]
[dependencies]
ansi_term = "0.11"
atty = "0.2.8"
blooms-db = { path = "util/blooms-db" }
log = "0.4"
env_logger = "0.5"
rustc-hex = "1.0"
docopt = "0.8"
clap = "2"
cli-signer= { path = "cli-signer" }
client-traits = { path = "ethcore/client-traits" }
common-types = { path = "ethcore/types" }
ctrlc = { version = "3.1.4", features = ["termination"] }
dir = { path = "util/dir" }
docopt = "1.0"
engine = { path = "ethcore/engine" }
ethabi = { version = "12.0", optional = true }
term_size = "0.3"
textwrap = "0.9"
num_cpus = "1.2"
number_prefix = "0.2"
rpassword = "1.0"
semver = "0.9"
ansi_term = "0.10"
parking_lot = "0.6"
regex = "0.2"
atty = "0.2.8"
toml = "0.4"
serde = "1.0"
serde_json = "1.0"
serde_derive = "1.0"
futures = "0.1"
fdlimit = "0.1"
ctrlc = { git = "https://github.com/paritytech/rust-ctrlc.git" }
jsonrpc-core = { git = "https://github.com/paritytech/jsonrpc.git", branch = "parity-2.2" }
ethcore = { path = "ethcore", features = ["parity"] }
ethcore-accounts = { path = "accounts", optional = true }
ethcore-blockchain = { path = "ethcore/blockchain" }
ethcore-call-contract = { path = "ethcore/call-contract", optional = true }
ethcore-db = { path = "ethcore/db" }
parity-bytes = "0.1"
ethcore-io = { path = "util/io" }
ethcore-light = { path = "ethcore/light" }
ethcore-logger = { path = "parity/logger" }
ethcore-logger = { path = "logger" }
ethcore-miner = { path = "miner" }
ethcore-network = { path = "util/network" }
ethcore-private-tx = { path = "ethcore/private-tx" }
ethcore-service = { path = "ethcore/service" }
ethcore-sync = { path = "ethcore/sync" }
ethereum-types = "0.9.0"
ethkey = { path = "accounts/ethkey" }
ethstore = { path = "accounts/ethstore" }
fdlimit = "0.1"
futures = "0.1"
journaldb = { path = "util/journaldb" }
jsonrpc-core = "14.0.3"
keccak-hash = "0.5.0"
kvdb = "0.5.0"
kvdb-rocksdb = "0.7.0"
log = "0.4"
migration-rocksdb = { path = "util/migration-rocksdb" }
node-filter = { path = "ethcore/node-filter" }
num_cpus = "1.2"
number_prefix = "0.2"
panic_hook = { path = "util/panic-hook" }
parity-bytes = "0.1"
parity-crypto = { version = "0.6.1", features = ["publickey"] }
parity-daemonize = "0.3"
parity-hash-fetch = { path = "updater/hash-fetch" }
parity-local-store = { path = "miner/local-store" }
parity-path = "0.1"
ethcore-transaction = { path = "ethcore/transaction" }
ethereum-types = "0.4"
node-filter = { path = "ethcore/node_filter" }
ethkey = { path = "ethkey" }
rlp = { version = "0.3.0", features = ["ethereum"] }
rpc-cli = { path = "rpc_cli" }
parity-hash-fetch = { path = "hash-fetch" }
parity-ipfs-api = { path = "ipfs" }
parity-local-store = { path = "local-store" }
parity-runtime = { path = "util/runtime" }
parity-rpc = { path = "rpc" }
parity-runtime = "0.1.1"
parity-secretstore = { git = "https://github.com/paritytech/secret-store", branch = "v1.x", optional = true }
parity-rpc-client = { path = "rpc_client" }
parity-updater = { path = "updater" }
parity-util-mem = { version = "0.6.0", features = ["jemalloc-global"] }
parity-version = { path = "util/version" }
parking_lot = "0.10.0"
regex = "1.0"
registrar = { path = "util/registrar" }
rlp = "0.4.5"
rpassword = "1.0"
rustc-hex = "2.1.0"
semver = "0.9"
serde = "1.0"
serde_derive = "1.0"
serde_json = "1.0"
snapshot = { path = "ethcore/snapshot" }
spec = { path = "ethcore/spec" }
term_size = "0.3"
textwrap = "0.11.0"
toml = "0.5.6"
verification = { path = "ethcore/verification" }
parity-whisper = { path = "whisper" }
parity-path = "0.1"
dir = { path = "util/dir" }
panic_hook = { path = "util/panic_hook" }
keccak-hash = "0.1"
migration-rocksdb = { path = "util/migration-rocksdb" }
kvdb = "0.1"
kvdb-rocksdb = "0.1.3"
journaldb = { path = "util/journaldb" }
mem = { path = "util/mem" }
ethcore-secretstore = { path = "secret_store", optional = true }
registrar = { path = "registrar" }
[build-dependencies]
rustc_version = "0.2"
@@ -86,24 +76,33 @@ rustc_version = "0.2"
[dev-dependencies]
pretty_assertions = "0.1"
ipnetwork = "0.12.6"
tempfile = "3.1"
tempdir = "0.3"
fake-fetch = { path = "util/fake-fetch" }
[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3.8", features = ["winsock2", "winuser", "shellapi"] }
winapi = { version = "0.3.4", features = ["winsock2", "winuser", "shellapi"] }
[target.'cfg(not(windows))'.dependencies]
daemonize = "0.3"
[features]
default = ["accounts"]
accounts = ["ethcore-accounts", "parity-rpc/accounts"]
miner-debug = ["ethcore/miner-debug"]
json-tests = ["ethcore/json-tests"]
ci-skip-issue = ["ethcore/ci-skip-issue"]
test-heavy = ["ethcore/test-heavy"]
evm-debug = ["ethcore/evm-debug"]
evm-debug-tests = ["ethcore/evm-debug-tests"]
slow-blocks = ["ethcore/slow-blocks"]
secretstore = ["parity-secretstore", "accounts", "ethabi", "ethcore-call-contract"]
secretstore = ["ethcore-secretstore"]
final = ["parity-version/final"]
deadlock_detection = ["parking_lot/deadlock_detection"]
# to create a memory profile (requires nightly rust), use e.g.
# `heaptrack /path/to/parity <parity params>`,
# to visualize a memory profile, use `heaptrack_gui`
# or
# `valgrind --tool=massif /path/to/parity <parity params>`
# and `massif-visualizer` for visualization
memory_profiling = []
# hardcode version number 1.3.7 of parity to force an update
# in order to manually test that parity fall-over to the local version
# in case of invalid or deprecated command line arguments are entered
@@ -114,20 +113,27 @@ path = "parity/lib.rs"
[[bin]]
path = "parity/main.rs"
name = "openethereum"
name = "parity"
[profile.dev]
[profile.release]
debug = false
lto = true
[workspace]
# This should only list projects that are not
# in the dependency tree in any other way
# (i.e. pretty much only standalone CLI tools)
members = [
"accounts/ethkey/cli",
"accounts/ethstore/cli",
"chainspec",
"ethcore/wasm/run",
"ethcore/types",
"ethkey/cli",
"ethstore/cli",
"evmbin",
"miner",
"parity-clib",
"whisper",
"whisper/cli",
"util/triehash-ethereum",
"util/keccak-hasher",
"util/patricia-trie-ethereum",
"util/fastmap",
]

303
README.md
View File

@@ -1,38 +1,13 @@
# OpenEthereum
![Parity Ethereum](docs/logo-parity-ethereum.svg)
Fast and feature-rich multi-network Ethereum client.
## The fastest and most advanced Ethereum client.
[» Download the latest release «](https://github.com/openethereum/openethereum/releases/latest)
<p align="center"><strong><a href="https://github.com/paritytech/parity-ethereum/releases/latest">» Download the latest release «</a></strong></p>
[![GPL licensed][license-badge]][license-url]
[![Build Status][ci-badge]][ci-url]
[![Discord chat][chat-badge]][chat-url]
<p align="center"><a href="https://gitlab.parity.io/parity/parity-ethereum/commits/master" target="_blank"><img src="https://gitlab.parity.io/parity/parity-ethereum/badges/master/build.svg" /></a>
<a href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank"><img src="https://img.shields.io/badge/license-GPL%20v3-green.svg" /></a></p>
[license-badge]: https://img.shields.io/badge/license-GPL_v3-green.svg
[license-url]: LICENSE
[ci-badge]: https://github.com/openethereum/openethereum/workflows/Build%20and%20Test%20Suite/badge.svg
[ci-url]: https://github.com/openethereum/openethereum/actions
[chat-badge]: https://img.shields.io/discord/669192218728202270.svg?logo=discord
[chat-url]: https://discord.io/openethereum
## Table of Contents
1. [Description](#chapter-001)
2. [Technical Overview](#chapter-002)
3. [Building](#chapter-003)<br>
3.1 [Building Dependencies](#chapter-0031)<br>
3.2 [Building from Source Code](#chapter-0032)<br>
3.3 [Starting OpenEthereum](#chapter-0034)
4. [Testing](#chapter-004)
5. [Documentation](#chapter-005)
6. [Toolchain](#chapter-006)
7. [Contributing](#chapter-008)
8. [License](#chapter-009)
## 1. Description <a id="chapter-001"></a>
**Built for mission-critical use**: Miners, service providers, and exchanges need fast synchronisation and maximum uptime. OpenEthereum provides the core infrastructure essential for speedy and reliable services.
**Built for mission-critical use**: Miners, service providers, and exchanges need fast synchronisation and maximum uptime. Parity Ethereum provides the core infrastructure essential for speedy and reliable services.
- Clean, modular codebase for easy customisation
- Advanced CLI-based client
@@ -40,21 +15,19 @@ Fast and feature-rich multi-network Ethereum client.
- Synchronise in hours, not days with Warp Sync
- Modular for light integration into your service or product
## 2. Technical Overview <a id="chapter-002"></a>
## Technical Overview
OpenEthereum's goal is to be the fastest, lightest, and most secure Ethereum client. We are developing OpenEthereum using the **Rust programming language**. OpenEthereum is licensed under the GPLv3 and can be used for all your Ethereum needs.
Parity Ethereum's goal is to be the fastest, lightest, and most secure Ethereum client. We are developing Parity Ethereum using the sophisticated and cutting-edge **Rust programming language**. Parity Ethereum is licensed under the GPLv3 and can be used for all your Ethereum needs.
By default, OpenEthereum runs a JSON-RPC HTTP server on port `:8545` and a Web-Sockets server on port `:8546`. This is fully configurable and supports a number of APIs.
By default, Parity Ethereum runs a JSON-RPC HTTP server on port `:8545` and a Web-Sockets server on port `:8546`. This is fully configurable and supports a number of APIs.
If you run into problems while using OpenEthereum, check out the [old wiki for documentation](https://wiki.parity.io/), feel free to [file an issue in this repository](https://github.com/openethereum/openethereum/issues/new), or hop on our [Discord](https://discord.io/openethereum) chat room to ask a question. We are glad to help!
If you run into problems while using Parity Ethereum, check out the [wiki for documentation](https://wiki.parity.io/), feel free to [file an issue in this repository](https://github.com/paritytech/parity-ethereum/issues/new), or hop on our [Gitter](https://gitter.im/paritytech/parity) or [Riot](https://riot.im/app/#/group/+parity:matrix.parity.io) chat room to ask a question. We are glad to help! **For security-critical issues**, please refer to the security policy outlined in [SECURITY.md](SECURITY.md).
You can download OpenEthereum's latest release at [the releases page](https://github.com/openethereum/openethereum/releases) or follow the instructions below to build from source. Read the [CHANGELOG.md](CHANGELOG.md) for a list of all changes between different versions.
Parity Ethereum's current beta-release is 2.1. You can download it at [the releases page](https://github.com/paritytech/parity-ethereum/releases) or follow the instructions below to build from source. Please, mind the [CHANGELOG.md](CHANGELOG.md) for a list of all changes between different versions.
## 3. Building <a id="chapter-003"></a>
## Build Dependencies
### 3.1 Build Dependencies <a id="chapter-0031"></a>
OpenEthereum requires **latest stable Rust version** to build.
Parity Ethereum requires **Rust version 1.29.x** to build.
We recommend installing Rust through [rustup](https://www.rustup.rs/). If you don't already have `rustup`, you can install it like this:
@@ -63,7 +36,7 @@ We recommend installing Rust through [rustup](https://www.rustup.rs/). If you do
$ curl https://sh.rustup.rs -sSf | sh
```
OpenEthereum also requires `clang` (>= 9.0), `clang++`, `pkg-config`, `file`, `make`, and `cmake` packages to be installed.
Parity Ethereum also requires `gcc`, `g++`, `libudev-dev`, `pkg-config`, `file`, `make`, and `cmake` packages to be installed.
- OSX:
```bash
@@ -72,7 +45,7 @@ We recommend installing Rust through [rustup](https://www.rustup.rs/). If you do
`clang` is required. It comes with Xcode command line tools or can be installed with homebrew.
- Windows:
- Windows
Make sure you have Visual Studio 2015 with C++ support installed. Next, download and run the `rustup` installer from
https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe, start "VS2015 x64 Native Tools Command Prompt", and use the following command to install and set up the `msvc` toolchain:
```bash
@@ -83,14 +56,14 @@ Once you have `rustup` installed, then you need to install:
* [Perl](https://www.perl.org)
* [Yasm](https://yasm.tortall.net)
Make sure that these binaries are in your `PATH`. After that, you should be able to build OpenEthereum from source.
Make sure that these binaries are in your `PATH`. After that, you should be able to build Parity Ethereum from source.
### 3.2 Build from Source Code <a id="chapter-0032"></a>
## Build from Source Code
```bash
# download OpenEthereum code
$ git clone https://github.com/openethereum/openethereum
$ cd openethereum
# download Parity Ethereum code
$ git clone https://github.com/paritytech/parity-ethereum
$ cd parity-ethereum
# build in release mode
$ cargo build --release --features final
@@ -110,213 +83,73 @@ Note, when compiling a crate and you receive errors, it's in most cases your out
$ cargo clean
```
This always compiles the latest nightly builds. If you want to build stable, do a
This always compiles the latest nightly builds. If you want to build stable or beta, do a
```bash
$ git checkout stable
```
### 3.3 Starting OpenEthereum <a id="chapter-0034"></a>
#### Manually
To start OpenEthereum manually, just run
or
```bash
$ ./target/release/openethereum
$ git checkout beta
```
so OpenEthereum begins syncing the Ethereum blockchain.
## Simple One-Line Installer for Mac and Linux
#### Using `systemd` service file
```bash
bash <(curl https://get.parity.io -L)
```
To start OpenEthereum as a regular user using `systemd` init:
The one-line installer always defaults to the latest beta release. To install a stable release, run:
1. Copy `./scripts/openethereum.service` to your
```bash
bash <(curl https://get.parity.io -L) -r stable
```
## Start Parity Ethereum
### Manually
To start Parity Ethereum manually, just run
```bash
$ ./target/release/parity
```
so Parity Ethereum begins syncing the Ethereum blockchain.
### Using `systemd` service file
To start Parity Ethereum as a regular user using `systemd` init:
1. Copy `./scripts/parity.service` to your
`systemd` user directory (usually `~/.config/systemd/user`).
2. Copy release to bin folder, write `sudo install ./target/release/openethereum /usr/bin/openethereum`
3. To configure OpenEthereum, see [our old wiki](https://paritytech.github.io/wiki/Configuring-Parity) for details.
2. To configure Parity Ethereum, write a `/etc/parity/config.toml` config file, see [Configuring Parity Ethereum](https://paritytech.github.io/wiki/Configuring-Parity) for details.
## 4. Testing <a id="chapter-004"></a>
## Parity Ethereum toolchain
Download the required test files: `git submodule update --init --recursive`. You can run tests with the following commands:
In addition to the Parity Ethereum client, there are additional tools in this repository available:
* **All** packages
```
cargo test --all
```
- [evmbin](https://github.com/paritytech/parity-ethereum/blob/master/evmbin/) - EVM implementation for Parity Ethereum.
- [ethabi](https://github.com/paritytech/ethabi) - Parity Ethereum function calls encoding.
- [ethstore](https://github.com/paritytech/parity-ethereum/blob/master/ethstore/) - Parity Ethereum key management.
- [ethkey](https://github.com/paritytech/parity-ethereum/blob/master/ethkey/) - Parity Ethereum keys generator.
- [whisper](https://github.com/paritytech/parity-ethereum/blob/master/whisper/) - Implementation of Whisper-v2 PoC.
* Specific package
```
cargo test --package <spec>
```
## Join the chat!
Replace `<spec>` with one of the packages from the [package list](#package-list) (e.g. `cargo test --package evmbin`).
Questions? Get in touch with us on Gitter:
[![Gitter: Parity](https://img.shields.io/badge/gitter-parity-4AB495.svg)](https://gitter.im/paritytech/parity)
[![Gitter: Parity.js](https://img.shields.io/badge/gitter-parity.js-4AB495.svg)](https://gitter.im/paritytech/parity.js)
[![Gitter: Parity/Miners](https://img.shields.io/badge/gitter-parity/miners-4AB495.svg)](https://gitter.im/paritytech/parity/miners)
[![Gitter: Parity-PoA](https://img.shields.io/badge/gitter-parity--poa-4AB495.svg)](https://gitter.im/paritytech/parity-poa)
You can show your logs in the test output by passing `--nocapture` (i.e. `cargo test --package evmbin -- --nocapture`)
Alternatively, join our community on Matrix:
[![Riot: +Parity](https://img.shields.io/badge/riot-%2Bparity%3Amatrix.parity.io-orange.svg)](https://riot.im/app/#/group/+parity:matrix.parity.io)
## 5. Documentation <a id="chapter-005"></a>
## Documentation
Be sure to [check out our old wiki](https://wiki.parity.io) for more information.
Official website: https://parity.io
### Viewing documentation for OpenEthereum packages
You can generate documentation for OpenEthereum Rust packages that automatically opens in your web browser using [rustdoc with Cargo](https://doc.rust-lang.org/rustdoc/what-is-rustdoc.html#using-rustdoc-with-cargo) (of the The Rustdoc Book), by running the the following commands:
* **All** packages
```
cargo doc --document-private-items --open
```
* Specific package
```
cargo doc --package <spec> -- --document-private-items --open
```
Use`--document-private-items` to also view private documentation and `--no-deps` to exclude building documentation for dependencies.
Replacing `<spec>` with one of the following from the details section below (i.e. `cargo doc --package openethereum --open`):
<a id="package-list"></a>
**Package List**
<details><p>
* OpenEthereum Client Application
```bash
openethereum
```
* OpenEthereum Account Management, Key Management Tool, and Keys Generator
```bash
ethcore-accounts, ethkey-cli, ethstore, ethstore-cli
```
* OpenEthereum Chain Specification
```bash
chainspec
```
* OpenEthereum CLI Signer Tool & RPC Client
```bash
cli-signer parity-rpc-client
```
* OpenEthereum Ethash & ProgPoW Implementations
```bash
ethash
```
* EthCore Library
```bash
ethcore
```
* OpenEthereum Blockchain Database, Test Generator, Configuration,
Caching, Importing Blocks, and Block Information
```bash
ethcore-blockchain
```
* OpenEthereum Contract Calls and Blockchain Service & Registry Information
```bash
ethcore-call-contract
```
* OpenEthereum Database Access & Utilities, Database Cache Manager
```bash
ethcore-db
```
* OpenEthereum Virtual Machine (EVM) Rust Implementation
```bash
evm
```
* OpenEthereum Light Client Implementation
```bash
ethcore-light
```
* Smart Contract based Node Filter, Manage Permissions of Network Connections
```bash
node-filter
```
* Private Transactions
```bash
ethcore-private-tx
```
* OpenEthereum Client & Network Service Creation & Registration with the I/O Subsystem
```bash
ethcore-service
```
* OpenEthereum Blockchain Synchronization
```bash
ethcore-sync
```
* OpenEthereum Common Types
```bash
common-types
```
* OpenEthereum Virtual Machines (VM) Support Library
```bash
vm
```
* OpenEthereum WASM Interpreter
```bash
wasm
```
* OpenEthereum WASM Test Runner
```bash
pwasm-run-test
```
* OpenEthereum EVM Implementation
```bash
evmbin
```
* OpenEthereum JSON Deserialization
```bash
ethjson
```
* OpenEthereum State Machine Generalization for Consensus Engines
```bash
parity-machine
```
* OpenEthereum Miner Interface
```bash
ethcore-miner parity-local-store price-info ethcore-stratum using_queue
```
* OpenEthereum Logger Implementation
```bash
ethcore-logger
```
* OpenEthereum JSON-RPC Servers
```bash
parity-rpc
```
* OpenEthereum Updater Service
```bash
parity-updater parity-hash-fetch
```
* OpenEthereum Core Libraries (`util`)
```bash
accounts-bloom blooms-db dir eip-712 fake-fetch fastmap fetch ethcore-io
journaldb keccak-hasher len-caching-lock memory-cache memzero
migration-rocksdb ethcore-network ethcore-network-devp2p panic_hook
patricia-trie-ethereum registrar rlp_compress stats
time-utils triehash-ethereum unexpected parity-version
```
</p></details>
## 6. Toolchain <a id="chapter-006"></a>
In addition to the OpenEthereum client, there are additional tools in this repository available:
- [evmbin](./evmbin) - OpenEthereum EVM Implementation.
- [ethstore](./accounts/ethstore) - OpenEthereum Key Management.
- [ethkey](./accounts/ethkey) - OpenEthereum Keys Generator.
The following tools are available in a separate repository:
- [ethabi](https://github.com/openethereum/ethabi) - OpenEthereum Encoding of Function Calls. [Docs here](https://crates.io/crates/ethabi)
- [whisper](https://github.com/openethereum/whisper) - OpenEthereum Whisper-v2 PoC Implementation.
## 7. Contributing <a id="chapter-007"></a>
An introduction has been provided in the ["So You Want to be a Core Developer" presentation slides by Hernando Castano](http://tiny.cc/contrib-to-parity-eth). Additional guidelines are provided in [CONTRIBUTING](./.github/CONTRIBUTING.md).
### Contributor Code of Conduct
[CODE_OF_CONDUCT](./.github/CODE_OF_CONDUCT.md)
## 8. License <a id="chapter-008"></a>
[LICENSE](./LICENSE)
Be sure to [check out our wiki](https://wiki.parity.io) for more information.

80
SECURITY.md Normal file
View File

@@ -0,0 +1,80 @@
# Security Policy
Parity Technologies is committed to resolving security vulnerabilities in our software quickly and carefully. We take the necessary steps to minimize risk, provide timely information, and deliver vulnerability fixes and mitigations required to address security issues.
## Reporting a Vulnerability
Security vulnerabilities in Parity software should be reported by email to security@parity.io. If you think your report might be eligible for the Parity Bug Bounty Program, your email should be send to bugbounty@parity.io.
Your report should include the following:
- your name
- description of the vulnerability
- attack scenario (if any)
- components
- reproduction
- other details
Try to include as much information in your report as you can, including a description of the vulnerability, its potential impact, and steps for reproducing it. Be sure to use a descriptive subject line.
You'll receive a response to your email within two business days indicating the next steps in handling your report. We encourage finders to use encrypted communication channels to protect the confidentiality of vulnerability reports. You can encrypt your report using our public key. This key is [on MIT's key server](https://pgp.mit.edu/pks/lookup?op=get&search=0x5D0F03018D07DE73) server and reproduced below.
After the initial reply to your report, our team will endeavor to keep you informed of the progress being made towards a fix. These updates will be sent at least every five business days.
Thank you for taking the time to responsibly disclose any vulnerabilities you find.
## Responsible Investigation and Reporting
Responsible investigation and reporting includes, but isn't limited to, the following:
- Don't violate the privacy of other users, destroy data, etc.
- Dont defraud or harm Parity Technologies Ltd or its users during your research; you should make a good faith effort to not interrupt or degrade our services.
- Don't target our physical security measures, or attempt to use social engineering, spam, distributed denial of service (DDOS) attacks, etc.
- Initially report the bug only to us and not to anyone else.
- Give us a reasonable amount of time to fix the bug before disclosing it to anyone else, and give us adequate written warning before disclosing it to anyone else.
- In general, please investigate and report bugs in a way that makes a reasonable, good faith effort not to be disruptive or harmful to us or our users. Otherwise your actions might be interpreted as an attack rather than an effort to be helpful.
## Bug Bounty Program
Our Bug Bounty Program allows us to recognise and reward members of the Parity community for helping us find and address significant bugs, in accordance with the terms of the Parity Bug Bounty Program. A detailed description on eligibility, rewards, legal information and terms & conditions for contributors can be found on [our website](https://paritytech.io/bug-bounty.html).
## Plaintext PGP Key
```
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFlyIAwBCACe0keNPjgYzZ1Oy/8t3zj/Qw9bHHqrzx7FWy8NbXnYBM19NqOZ
DIP7Oe0DvCaf/uruBskCS0iVstHlEFQ2AYe0Ei0REt9lQdy61GylU/DEB3879IG+
6FO0SnFeYeerv1/hFI2K6uv8v7PyyVDiiJSW0I1KIs2OBwJicTKmWxLAeQsRgx9G
yRGalrVk4KP+6pWTA7k3DxmDZKZyfYV/Ej10NtuzmsemwDbv98HKeomp/kgFOfSy
3AZjeCpctlsNqpjUuXa0/HudmH2WLxZ0fz8XeoRh8XM9UudNIecjrDqmAFrt/btQ
/3guvlzhFCdhYPVGsUusKMECk/JG+Xx1/1ZjABEBAAG0LFBhcml0eSBTZWN1cml0
eSBDb250YWN0IDxzZWN1cml0eUBwYXJpdHkuaW8+iQFUBBMBCAA+FiEE2uUVYCjP
N6B8aTiDXQ8DAY0H3nMFAllyIAwCGwMFCQPCZwAFCwkIBwIGFQgJCgsCBBYCAwEC
HgECF4AACgkQXQ8DAY0H3nM60wgAkS3A36Zc+upiaxU7tumcGv+an17j7gin0sif
+0ELSjVfrXInM6ovai+NhUdcLkJ7tCrKS90fvlaELK5Sg9CXBWCTFccKN4A/B7ey
rOg2NPXUecnyBB/XqQgKYH7ujYlOlqBDXMfz6z8Hj6WToxg9PPMGGomyMGh8AWxM
3yRPFs5RKt0VKgN++5N00oly5Y8ri5pgCidDvCLYMGTVDHFKwkuc9w6BlWlu1R1e
/hXFWUFAP1ffTAul3QwyKhjPn2iotCdxXjvt48KaU8DN4iL7aMBN/ZBKqGS7yRdF
D/JbJyaaJ0ZRvFSTSXy/sWY3z1B5mtCPBxco8hqqNfRkCwuZ6LkBDQRZciAMAQgA
8BP8xrwe12TOUTqL/Vrbxv/FLdhKh53J6TrPKvC2TEEKOrTNo5ahRq+XOS5E7G2N
x3b+fq8gR9BzFcldAx0XWUtGs/Wv++ulaSNqTBxj13J3G3WGsUfMKxRgj//piCUD
bCFLQfGZdKk0M1o9QkPVARwwmvCNiNB/l++xGqPtfc44H5jWj3GoGvL2MkShPzrN
yN/bJ+m+R5gtFGdInqa5KXBuxxuW25eDKJ+LzjbgUgeC76wNcfOiQHTdMkcupjdO
bbGFwo10hcbRAOcZEv6//Zrlmk/6nPxEd2hN20St2bSN0+FqfZ267mWEu3ejsgF8
ArdCpv5h4fBvJyNwiTZwIQARAQABiQE8BBgBCAAmFiEE2uUVYCjPN6B8aTiDXQ8D
AY0H3nMFAllyIAwCGwwFCQPCZwAACgkQXQ8DAY0H3nNisggAl4fqhRlA34wIb190
sqXHVxiCuzPaqS6krE9xAa1+gncX485OtcJNqnjugHm2rFE48lv7oasviuPXuInE
/OgVFnXYv9d/Xx2JUeDs+bFTLouCDRY2Unh7KJZasfqnMcCHWcxHx5FvRNZRssaB
WTZVo6sizPurGUtbpYe4/OLFhadBqAE0EUmVRFEUMc1YTnu4eLaRBzoWN4d2UWwi
LN25RSrVSke7LTSFbgn9ntQrQ2smXSR+cdNkkfRCjFcpUaecvFl9HwIqoyVbT4Ym
0hbpbbX/cJdc91tKa+psa29uMeGL/cgL9fAu19yNFRyOTMxjZnvql1X/WE1pLmoP
ETBD1Q==
=K9Qw
-----END PGP PUBLIC KEY BLOCK-----
```

View File

@@ -1,49 +0,0 @@
SMART CONTRACT LICENSE v1.0
Anyone may run, modify, publicly perform, distribute and redistribute this
software, and create derivative works based on it in each case in compliance
with the permissions granted by the document (“Permissions Document”) whose
**KECCAK256 HASH** equals the value found in the PUBLICLY READABLE VARIABLE
named permissionsDocumentHash on the **ETHEREUM MAINNET** **SMART CONTRACT
ACCOUNT** with the following ADDRESS 0x5a88CA36Fd58Efde3b955758285E8e3347D1eAe3
which is deemed incorporated into this license by reference. In case of any
conflicts between this license and the Permissions Document, this license shall
prevail.
Where:
- KECCAK256 HASH is the cryptographic hash algorithm that may take any document,
expressed as a series of bytes, and convert it to a single value which may be
expressed as a number from 0 to `2**256`;
- ETHEREUM MAINNET is the peer-to-peer blockchain network and shared account
ledger initiated and recognised by the Ethereum Foundation as "Ethereum";
- SMART CONTRACT ACCOUNT is a single account to be found on the ETHEREUM MAINNET
identified by an ADDRESS and which represents the combination of a computer
programme and some associated values;
- ADDRESS is a number between 0 and `2**160`, which is the primary means of
identifying a single account on the ETHEREUM MAINNET;
- PUBLICLY READABLE VARIABLE is an item in a smart contract storage, publicly
accessible via the smart contracts ABI using a getter function matching its
name.
This license supplements and does not replace any other license pertaining to
this software.
No permissions are granted if no **KECCAK256 HASH** appears in the *ETHEREUM
MAINNET** **SMART CONTRACT ACCOUNT**.
This license takes effect as a bare licence, and has the effect of granting
rights to each licensee (which may be subject to conditions), BUT IMPOSES NO
OBLIGATIONS OR LIABILITY ON ANY LICENSOR, ANY OWNER OF RIGHTS IN THE SOFTWARE,
OR ANY PERSON INVOLVED IN THE DESIGN, DEVELOPMENT AND CODING OF THE SOFTWARE
(“GRANTOR”).
Each Grantor shall, to the maximum extent permitted by law, have no liability
for direct, indirect, special, incidental, consequential, exemplary, punitive or
other damages of any character including, without limitation, procurement of
substitute software or services, loss of use, data or profits, or business
interruption, however caused and on any theory of contract, warranty, tort
(including negligence), product liability or otherwise, arising in any way in
relation to the supply, licensing or operation of the software, even if advised
of the possibility of such damages.

View File

@@ -1,21 +0,0 @@
[package]
description = "OpenEthereum Account Management"
license = "GPL-3.0"
name = "ethcore-accounts"
version = "0.1.0"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
[dependencies]
ethkey = { path = "ethkey" }
ethstore = { path = "ethstore" }
log = "0.4"
parity-crypto = { version = "0.6.1", features = ["publickey"] }
parking_lot = "0.10.0"
serde = "1.0"
serde_derive = "1.0"
serde_json = "1.0"
[dev-dependencies]
ethereum-types = "0.9.0"
tempfile = "3.1"

View File

@@ -1,13 +0,0 @@
[package]
description = "OpenEthereum Keys Generator"
name = "ethkey"
version = "0.4.0"
authors = ["Parity Technologies <admin@parity.io>"]
[dependencies]
edit-distance = "2.0"
log = "0.4"
serde = "1.0"
serde_derive = "1.0"
parity-crypto = { version = "0.6.1", features = ["publickey"] }
parity-wordlist = "1.3.1"

View File

@@ -1,40 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
// #![warn(missing_docs)]
extern crate edit_distance;
extern crate parity_crypto;
extern crate parity_wordlist;
extern crate serde;
#[macro_use]
extern crate log;
#[macro_use]
extern crate serde_derive;
mod brain;
mod brain_prefix;
mod password;
mod prefix;
pub mod brain_recover;
pub use self::parity_wordlist::Error as WordlistError;
pub use self::brain::Brain;
pub use self::brain_prefix::BrainPrefix;
pub use self::password::Password;
pub use self::prefix::Prefix;

View File

@@ -1,30 +0,0 @@
[package]
description = "OpenEthereum Key Management"
name = "ethstore"
version = "0.2.1"
authors = ["Parity Technologies <admin@parity.io>"]
repository = "https://github.com/openethereum/openethereum"
[dependencies]
log = "0.4"
libc = "0.2"
rand = "0.7.3"
ethkey = { path = "../ethkey" }
serde = "1.0"
serde_json = "1.0"
serde_derive = "1.0"
rustc-hex = "2.1.0"
tiny-keccak = "2.0.2"
time = "0.1.34"
parking_lot = "0.10.0"
parity-crypto = { version = "0.6.1", features = ["publickey"] }
ethereum-types = "0.9.0"
dir = { path = "../../util/dir" }
smallvec = "1.2.0"
parity-wordlist = "1.3.1"
tempfile = "3.1"
[dev-dependencies]
matches = "0.1"
[lib]

View File

@@ -1,27 +0,0 @@
[package]
description = "OpenEthereum Key Management CLI"
name = "ethstore-cli"
version = "0.1.1"
authors = ["Parity Technologies <admin@parity.io>"]
[dependencies]
docopt = "1.0"
env_logger = "0.5"
num_cpus = "1.6"
rustc-hex = "2.1.0"
serde = "1.0"
serde_derive = "1.0"
parking_lot = "0.10.0"
ethstore = { path = "../" }
ethkey = { path = "../../ethkey" }
parity-crypto = { version = "0.6.1", features = ["publickey"] }
dir = { path = '../../../util/dir' }
panic_hook = { path = "../../../util/panic-hook" }
[[bin]]
name = "ethstore"
path = "src/main.rs"
doc = false
[dev-dependencies]
tempfile = "3.1"

View File

@@ -1,73 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
//! Account Metadata
use std::{
collections::HashMap,
time::Instant,
};
use parity_crypto::publickey::Address;
use ethkey::Password;
use serde_derive::{Serialize, Deserialize};
use serde_json;
/// Type of unlock.
#[derive(Clone, PartialEq)]
pub enum Unlock {
/// If account is unlocked temporarily, it should be locked after first usage.
OneTime,
/// Account unlocked permanently can always sign message.
/// Use with caution.
Perm,
/// Account unlocked with a timeout
Timed(Instant),
}
/// Data associated with account.
#[derive(Clone)]
pub struct AccountData {
pub unlock: Unlock,
pub password: Password,
}
/// Collected account metadata
#[derive(Default, Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct AccountMeta {
/// The name of the account.
pub name: String,
/// The rest of the metadata of the account.
pub meta: String,
/// The 128-bit Uuid of the account, if it has one (brain-wallets don't).
pub uuid: Option<String>,
}
impl AccountMeta {
/// Read a hash map of Address -> AccountMeta
pub fn read<R>(reader: R) -> Result<HashMap<Address, Self>, serde_json::Error> where
R: ::std::io::Read,
{
serde_json::from_reader(reader)
}
/// Write a hash map of Address -> AccountMeta
pub fn write<W>(m: &HashMap<Address, Self>, writer: &mut W) -> Result<(), serde_json::Error> where
W: ::std::io::Write,
{
serde_json::to_writer(writer, m)
}
}

View File

@@ -1,46 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
use std::fmt;
use ethstore::{Error as SSError};
/// Signing error
#[derive(Debug)]
pub enum SignError {
/// Account is not unlocked
NotUnlocked,
/// Account does not exist.
NotFound,
/// Low-level error from store
SStore(SSError),
}
impl fmt::Display for SignError {
fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
match *self {
SignError::NotUnlocked => write!(f, "Account is locked"),
SignError::NotFound => write!(f, "Account does not exist"),
SignError::SStore(ref e) => write!(f, "{}", e),
}
}
}
impl From<SSError> for SignError {
fn from(e: SSError) -> Self {
SignError::SStore(e)
}
}

View File

@@ -1,5 +1,4 @@
[package]
description = "OpenEthereum Chain Specification"
name = "chainspec"
version = "0.1.0"
authors = ["Marek Kotewicz <marek@parity.io>"]

View File

@@ -1,18 +1,18 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Open Ethereum is free software: you can redistribute it and/or modify
// Parity is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// Parity is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
extern crate serde_json;
extern crate ethjson;

View File

@@ -1,14 +0,0 @@
[package]
description = "OpenEthereum CLI Signer Tool"
repository = "https://github.com/openethereum/openethereum"
license = "GPL-3.0"
name = "cli-signer"
version = "1.4.0"
authors = ["Parity <admin@parity.io>"]
[dependencies]
ethereum-types = "0.9.0"
futures = "0.1"
rpassword = "1.0"
parity-rpc = { path = "../rpc" }
parity-rpc-client = { path = "rpc-client" }

View File

@@ -1,21 +0,0 @@
[package]
description = "OpenEthereum RPC Client"
repository = "https://github.com/openethereum/openethereum"
license = "GPL-3.0"
name = "parity-rpc-client"
version = "1.4.0"
authors = ["Parity <admin@parity.io>"]
[dependencies]
ethereum-types = "0.9.0"
futures = "0.1"
log = "0.4"
serde = "1.0"
serde_json = "1.0"
url = "2.1.1"
matches = "0.1"
parking_lot = "0.10.0"
jsonrpc-core = "14.0.3"
jsonrpc-ws-server = "14.0.3"
parity-rpc = { path = "../../rpc" }
keccak-hash = "0.5.0"

7
devtools/Cargo.toml Normal file
View File

@@ -0,0 +1,7 @@
[package]
description = "Ethcore development/test/build tools"
homepage = "http://parity.io"
license = "GPL-3.0"
name = "ethcore-devtools"
version = "1.12.0"
authors = ["Parity Technologies <admin@parity.io>"]

View File

@@ -1,18 +1,18 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Open Ethereum is free software: you can redistribute it and/or modify
// Parity is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// Parity is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
use std::thread;
use std::time::Duration;
@@ -30,7 +30,7 @@ pub struct Response {
impl Response {
pub fn assert_header(&self, header: &str, value: &str) {
let header = format!("{}: {}", header, value);
assert!(self.headers.iter().any(|h| h == &header), "Couldn't find header {} in {:?}", header, &self.headers)
assert!(self.headers.iter().find(|h| *h == &header).is_some(), "Couldn't find header {} in {:?}", header, &self.headers)
}
pub fn assert_status(&self, status: &str) {
@@ -98,35 +98,35 @@ pub fn request(address: &SocketAddr, request: &str) -> Response {
let mut lines = response.lines();
let status = lines.next().expect("Expected a response").to_owned();
let headers_raw = read_block(&mut lines, false);
let headers = headers_raw.split('\n').map(ToOwned::to_owned).collect();
let headers = headers_raw.split('\n').map(|v| v.to_owned()).collect();
let body = read_block(&mut lines, true);
Response {
status,
headers,
headers_raw,
body,
status: status,
headers: headers,
headers_raw: headers_raw,
body: body,
}
}
/// Check if all required security headers are present
pub fn assert_security_headers_present(headers: &[String], port: Option<u16>) {
if port.is_none() {
if let None = port {
assert!(
headers.iter().any(|header| header.as_str() == "X-Frame-Options: SAMEORIGIN"),
headers.iter().find(|header| header.as_str() == "X-Frame-Options: SAMEORIGIN").is_some(),
"X-Frame-Options: SAMEORIGIN missing: {:?}", headers
);
}
assert!(
headers.iter().any(|header| header.as_str() == "X-XSS-Protection: 1; mode=block"),
headers.iter().find(|header| header.as_str() == "X-XSS-Protection: 1; mode=block").is_some(),
"X-XSS-Protection missing: {:?}", headers
);
assert!(
headers.iter().any(|header| header.as_str() == "X-Content-Type-Options: nosniff"),
headers.iter().find(|header| header.as_str() == "X-Content-Type-Options: nosniff").is_some(),
"X-Content-Type-Options missing: {:?}", headers
);
assert!(
headers.iter().any(|header| header.starts_with("Content-Security-Policy: ")),
headers.iter().find(|header| header.starts_with("Content-Security-Policy: ")).is_some(),
"Content-Security-Policy missing: {:?}", headers
)
}

View File

@@ -1,23 +1,19 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Open Ethereum is free software: you can redistribute it and/or modify
// Parity is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// Parity is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
pub mod account;
pub mod state;
//! dev-tools
pub use {
account::PodAccount,
state::PodState,
};
pub mod http_client;

View File

@@ -1,228 +1,228 @@
Note: Parity 0.9 reached End-of-Life on 2016-05-02 (EOL).
## Parity [beta-0.9.1](https://github.com/openethereum/openethereum/releases/tag/beta-0.9.1) (2016-02-16)
## Parity [beta-0.9.1](https://github.com/paritytech/parity/releases/tag/beta-0.9.1) (2016-02-16)
Homestead transition block changed to 1100000.
- Beta patch to 0.9.1 [#445](https://github.com/openethereum/openethereum/pull/445)
- Delay homestead transition [#430](https://github.com/openethereum/openethereum/pull/430)
- (BETA) https link in the installer (?) [#392](https://github.com/openethereum/openethereum/pull/392)
- beta: Check for handshake expiration before attempting replace [#377](https://github.com/openethereum/openethereum/pull/377)
- Beta patch to 0.9.1 [#445](https://github.com/paritytech/parity/pull/445)
- Delay homestead transition [#430](https://github.com/paritytech/parity/pull/430)
- (BETA) https link in the installer (?) [#392](https://github.com/paritytech/parity/pull/392)
- beta: Check for handshake expiration before attempting replace [#377](https://github.com/paritytech/parity/pull/377)
## Parity [beta-0.9](https://github.com/openethereum/openethereum/releases/tag/beta-0.9) (2016-02-08)
## Parity [beta-0.9](https://github.com/paritytech/parity/releases/tag/beta-0.9) (2016-02-08)
First Parity Beta 0.9 released.
- Panic on missing counters; Client cleanup [#368](https://github.com/openethereum/openethereum/pull/368)
- Update README for new PPAs. [#369](https://github.com/openethereum/openethereum/pull/369)
- block_queue::clear should be more thorough [#365](https://github.com/openethereum/openethereum/pull/365)
- Fixed an issue with forked counters [#363](https://github.com/openethereum/openethereum/pull/363)
- Install parity [#362](https://github.com/openethereum/openethereum/pull/362)
- DB directory versioning [#358](https://github.com/openethereum/openethereum/pull/358)
- Raise FD limit for MacOS [#357](https://github.com/openethereum/openethereum/pull/357)
- Travis slack integration. [#356](https://github.com/openethereum/openethereum/pull/356)
- SignedTransaction structure [#350](https://github.com/openethereum/openethereum/pull/350)
- License [#354](https://github.com/openethereum/openethereum/pull/354)
- Performance optimizations [#353](https://github.com/openethereum/openethereum/pull/353)
- Gitter in README. [#355](https://github.com/openethereum/openethereum/pull/355)
- test efforts, receipt requests [#352](https://github.com/openethereum/openethereum/pull/352)
- sync tests setup & local module coverage [#348](https://github.com/openethereum/openethereum/pull/348)
- install parity script [#347](https://github.com/openethereum/openethereum/pull/347)
- evmjit homestead merge [#342](https://github.com/openethereum/openethereum/pull/342)
- Fixed sync stalling on fork [#343](https://github.com/openethereum/openethereum/pull/343)
- Remerge 264 [#334](https://github.com/openethereum/openethereum/pull/334)
- Ethsync tests bfix [#339](https://github.com/openethereum/openethereum/pull/339)
- Fix default options. [#335](https://github.com/openethereum/openethereum/pull/335)
- sync queue limit hotfix [#338](https://github.com/openethereum/openethereum/pull/338)
- Network tests, separate local coverage for utils [#333](https://github.com/openethereum/openethereum/pull/333)
- fix parity version so netstats can parse it [#332](https://github.com/openethereum/openethereum/pull/332)
- reveal surprise [#331](https://github.com/openethereum/openethereum/pull/331)
- Revert removal of `new_code`. [#330](https://github.com/openethereum/openethereum/pull/330)
- Network mod tests first part [#329](https://github.com/openethereum/openethereum/pull/329)
- Look ma no `dead_code` [#323](https://github.com/openethereum/openethereum/pull/323)
- Fixing JIT, Updating hook to run `ethcore` tests. [#326](https://github.com/openethereum/openethereum/pull/326)
- Final docs [#327](https://github.com/openethereum/openethereum/pull/327)
- update install-deps.sh [#316](https://github.com/openethereum/openethereum/pull/316)
- Finish all my docs. Fix previous test compilation. [#320](https://github.com/openethereum/openethereum/pull/320)
- Additional evm tests (extops, call, jumps) and some docs [#317](https://github.com/openethereum/openethereum/pull/317)
- More documentation. [#318](https://github.com/openethereum/openethereum/pull/318)
- Additional documentation. [#315](https://github.com/openethereum/openethereum/pull/315)
- unused functions cleanup [#310](https://github.com/openethereum/openethereum/pull/310)
- update ethcore.github.io documentation automatically [#311](https://github.com/openethereum/openethereum/pull/311)
- Another try with travis ci credentials [#314](https://github.com/openethereum/openethereum/pull/314)
- Document some stuff. [#309](https://github.com/openethereum/openethereum/pull/309)
- Check block parent on import; Peer timeouts [#303](https://github.com/openethereum/openethereum/pull/303)
- Increasing coverage for evm. [#306](https://github.com/openethereum/openethereum/pull/306)
- ethcore docs [#301](https://github.com/openethereum/openethereum/pull/301)
- Replacing secure token for deployment [#305](https://github.com/openethereum/openethereum/pull/305)
- doc.sh [#299](https://github.com/openethereum/openethereum/pull/299)
- Building beta-* and stable-* tags [#302](https://github.com/openethereum/openethereum/pull/302)
- Deploying artifacts for tags (release/beta) [#300](https://github.com/openethereum/openethereum/pull/300)
- cov.sh to show coverage locally [#298](https://github.com/openethereum/openethereum/pull/298)
- benchmark fixes [#297](https://github.com/openethereum/openethereum/pull/297)
- Include JSONRPC CLI options. [#296](https://github.com/openethereum/openethereum/pull/296)
- travis.yml fixes [#293](https://github.com/openethereum/openethereum/pull/293)
- Improve version string. [#295](https://github.com/openethereum/openethereum/pull/295)
- Fixed block queue test [#294](https://github.com/openethereum/openethereum/pull/294)
- Util docs [#292](https://github.com/openethereum/openethereum/pull/292)
- fixed building docs [#289](https://github.com/openethereum/openethereum/pull/289)
- update travis to build PRs only against master [#290](https://github.com/openethereum/openethereum/pull/290)
- Coverage effort [#272](https://github.com/openethereum/openethereum/pull/272)
- updated docker containers [#288](https://github.com/openethereum/openethereum/pull/288)
- rpc module fixes [#287](https://github.com/openethereum/openethereum/pull/287)
- Test for Receipt RLP. [#282](https://github.com/openethereum/openethereum/pull/282)
- Building from source guide [#284](https://github.com/openethereum/openethereum/pull/284)
- Fixed neted empty list RLP encoding [#283](https://github.com/openethereum/openethereum/pull/283)
- Fix CALLDATACOPY (and bonus CODECOPY, too!). [#279](https://github.com/openethereum/openethereum/pull/279)
- added travis && coveralls badge to README.md [#280](https://github.com/openethereum/openethereum/pull/280)
- coveralls coverage [#277](https://github.com/openethereum/openethereum/pull/277)
- Travis [in progress] [#257](https://github.com/openethereum/openethereum/pull/257)
- Travis on reorganized repo [#276](https://github.com/openethereum/openethereum/pull/276)
- umbrella project [#275](https://github.com/openethereum/openethereum/pull/275)
- Ethash disk cache [#273](https://github.com/openethereum/openethereum/pull/273)
- Parity executable name and version [#274](https://github.com/openethereum/openethereum/pull/274)
- Dockerfile [#195](https://github.com/openethereum/openethereum/pull/195)
- Garbage collection test fix [#267](https://github.com/openethereum/openethereum/pull/267)
- Fix stCallCreateCallCodeTest, add more tests [#271](https://github.com/openethereum/openethereum/pull/271)
- Moved sync out of ethcore crate; Added block validation [#265](https://github.com/openethereum/openethereum/pull/265)
- RLP encoder refactoring [#252](https://github.com/openethereum/openethereum/pull/252)
- Chain sync tests and minor refactoring [#264](https://github.com/openethereum/openethereum/pull/264)
- Common log init function [#263](https://github.com/openethereum/openethereum/pull/263)
- changed max vm depth from 128 to 64, change homestead block to 1_000_000 [#262](https://github.com/openethereum/openethereum/pull/262)
- fixed blockchain tests crash on log init [#261](https://github.com/openethereum/openethereum/pull/261)
- Blockchain tests and some helpers for guarding temp directory [#256](https://github.com/openethereum/openethereum/pull/256)
- Fix logging and random tests. [#260](https://github.com/openethereum/openethereum/pull/260)
- Fix difficulty calculation algo. [#259](https://github.com/openethereum/openethereum/pull/259)
- fix submodule version [#258](https://github.com/openethereum/openethereum/pull/258)
- temp dir spawn refactoring [#246](https://github.com/openethereum/openethereum/pull/246)
- fixed tests submodule branch [#254](https://github.com/openethereum/openethereum/pull/254)
- rpc net methods returns real peer count && protocol version [#253](https://github.com/openethereum/openethereum/pull/253)
- Add homestead & random tests. [#245](https://github.com/openethereum/openethereum/pull/245)
- Fixing suicide with self-refund to be consistent with CPP. [#247](https://github.com/openethereum/openethereum/pull/247)
- stubs for rpc methods [#251](https://github.com/openethereum/openethereum/pull/251)
- clippy, missing docs, renaming etc. [#244](https://github.com/openethereum/openethereum/pull/244)
- impl missing methods in tests [#243](https://github.com/openethereum/openethereum/pull/243)
- General tests and some helpers [#239](https://github.com/openethereum/openethereum/pull/239)
- Note additional tests are fixed, fix doc test. [#242](https://github.com/openethereum/openethereum/pull/242)
- jsonrpc http server [#193](https://github.com/openethereum/openethereum/pull/193)
- Ethash nonce is H64 not a u64 [#240](https://github.com/openethereum/openethereum/pull/240)
- Fix import for bcMultiChainTest [#236](https://github.com/openethereum/openethereum/pull/236)
- Client basic tests [#232](https://github.com/openethereum/openethereum/pull/232)
- Fix ensure_db_good() and flush_queue(), block refactoring, check block format, be strict. [#231](https://github.com/openethereum/openethereum/pull/231)
- Rlp [#207](https://github.com/openethereum/openethereum/pull/207)
- Schedule documentation [#219](https://github.com/openethereum/openethereum/pull/219)
- U256<->H256 Conversion [#206](https://github.com/openethereum/openethereum/pull/206)
- Spawning new thread when we are reaching stack limit [#217](https://github.com/openethereum/openethereum/pull/217)
- Blockchain tests [#211](https://github.com/openethereum/openethereum/pull/211)
- fixed failing sync test [#218](https://github.com/openethereum/openethereum/pull/218)
- Removing println [#216](https://github.com/openethereum/openethereum/pull/216)
- Cleaning readme [#212](https://github.com/openethereum/openethereum/pull/212)
- Fixing delegatecall [#196](https://github.com/openethereum/openethereum/pull/196)
- Autogenerate the Args from the docopt macro. [#205](https://github.com/openethereum/openethereum/pull/205)
- Networking fixes [#202](https://github.com/openethereum/openethereum/pull/202)
- Argument parsing from CLI [#204](https://github.com/openethereum/openethereum/pull/204)
- Removed wildcard from clippy version [#203](https://github.com/openethereum/openethereum/pull/203)
- Fixed tests and tweaked sync progress report [#201](https://github.com/openethereum/openethereum/pull/201)
- Heavy tests [#199](https://github.com/openethereum/openethereum/pull/199)
- Mutithreaded IO [#198](https://github.com/openethereum/openethereum/pull/198)
- Populating last_hashes [#197](https://github.com/openethereum/openethereum/pull/197)
- Fixing clippy stuff [#170](https://github.com/openethereum/openethereum/pull/170)
- basic .travis.yml [#194](https://github.com/openethereum/openethereum/pull/194)
- Generating coverage reports. [#190](https://github.com/openethereum/openethereum/pull/190)
- Adding doc requests comments [#192](https://github.com/openethereum/openethereum/pull/192)
- moved src/bin/client.rs -> src/bin/client/main.rs [#185](https://github.com/openethereum/openethereum/pull/185)
- removed overflowing_shr [#188](https://github.com/openethereum/openethereum/pull/188)
- fixed wrapping ops on latest nightly [#187](https://github.com/openethereum/openethereum/pull/187)
- Pruned state DB [#176](https://github.com/openethereum/openethereum/pull/176)
- Memory management for cache [#180](https://github.com/openethereum/openethereum/pull/180)
- Implement signs having low-s. [#183](https://github.com/openethereum/openethereum/pull/183)
- Introduce sha3 crate and use it in ethash [#178](https://github.com/openethereum/openethereum/pull/178)
- Multithreaded block queue [#173](https://github.com/openethereum/openethereum/pull/173)
- Iterator for NibbleSlice and TrieDB. [#171](https://github.com/openethereum/openethereum/pull/171)
- Handling all possible overflows [#145](https://github.com/openethereum/openethereum/pull/145)
- Global secp256k1 context [#164](https://github.com/openethereum/openethereum/pull/164)
- Ethash [#152](https://github.com/openethereum/openethereum/pull/152)
- Move util into here [#153](https://github.com/openethereum/openethereum/pull/153)
- EVM Interpreter [#103](https://github.com/openethereum/openethereum/pull/103)
- Homestead transition support, maybe. [#141](https://github.com/openethereum/openethereum/pull/141)
- externalities refactor [#131](https://github.com/openethereum/openethereum/pull/131)
- More open files. [#140](https://github.com/openethereum/openethereum/pull/140)
- Single array for logs output. [#133](https://github.com/openethereum/openethereum/pull/133)
- Client app event handler [#132](https://github.com/openethereum/openethereum/pull/132)
- Various consensus fixes. [#130](https://github.com/openethereum/openethereum/pull/130)
- callcode builtins tests pass [#127](https://github.com/openethereum/openethereum/pull/127)
- Client state syncing [#119](https://github.com/openethereum/openethereum/pull/119)
- Split externalities from executive. [#126](https://github.com/openethereum/openethereum/pull/126)
- executive error on not enoguh base gas [#124](https://github.com/openethereum/openethereum/pull/124)
- Gav [#125](https://github.com/openethereum/openethereum/pull/125)
- builtin sets excepted to true [#123](https://github.com/openethereum/openethereum/pull/123)
- More state tests. [#122](https://github.com/openethereum/openethereum/pull/122)
- updated to rocksdb wrapper version 0.3 [#121](https://github.com/openethereum/openethereum/pull/121)
- out_of_gas -> excepted [#120](https://github.com/openethereum/openethereum/pull/120)
- Parametrizing evm::Factory [#111](https://github.com/openethereum/openethereum/pull/111)
- stLogs tests passing [#118](https://github.com/openethereum/openethereum/pull/118)
- Fix executive. [#117](https://github.com/openethereum/openethereum/pull/117)
- Fixes for marek's shooting from the hip. [#116](https://github.com/openethereum/openethereum/pull/116)
- Executive revert fix [#115](https://github.com/openethereum/openethereum/pull/115)
- Fix storage/account and add butress test. [#114](https://github.com/openethereum/openethereum/pull/114)
- Refactored Pod & Diff types into separate files, JSON infrastructure revamp. [#113](https://github.com/openethereum/openethereum/pull/113)
- Fix storage stuff and introduce per-item dirty-tracking. [#112](https://github.com/openethereum/openethereum/pull/112)
- Check logs in state tests. [#109](https://github.com/openethereum/openethereum/pull/109)
- executive gas calculation fixes [#108](https://github.com/openethereum/openethereum/pull/108)
- proper gas calculation in executive [#107](https://github.com/openethereum/openethereum/pull/107)
- Fixing MaxDepth param for executive [#105](https://github.com/openethereum/openethereum/pull/105)
- Fix determination of state roots. [#106](https://github.com/openethereum/openethereum/pull/106)
- transact substracts tx_gas [#104](https://github.com/openethereum/openethereum/pull/104)
- Pretty-print and fix for state. [#102](https://github.com/openethereum/openethereum/pull/102)
- Tier step price. [#101](https://github.com/openethereum/openethereum/pull/101)
- Refactor Diff datastructures. [#100](https://github.com/openethereum/openethereum/pull/100)
- externalities use u256 instead of u64 for gas calculation [#99](https://github.com/openethereum/openethereum/pull/99)
- Executive tests [#97](https://github.com/openethereum/openethereum/pull/97)
- State conensus tests now print mismatching diff on fail. [#98](https://github.com/openethereum/openethereum/pull/98)
- State testing framework. First test is failing. [#96](https://github.com/openethereum/openethereum/pull/96)
- executive tests [#95](https://github.com/openethereum/openethereum/pull/95)
- Use U512s for ether cost calculation, complete transaction API [#94](https://github.com/openethereum/openethereum/pull/94)
- Utils for consensus test decoding and better layout. [#93](https://github.com/openethereum/openethereum/pull/93)
- executive fixes + tests [#89](https://github.com/openethereum/openethereum/pull/89)
- All transaction tests pass. Nicer testing framework. [#92](https://github.com/openethereum/openethereum/pull/92)
- Block verification tests; BlockProvider blockchain trait for testing [#88](https://github.com/openethereum/openethereum/pull/88)
- State::exists, docs and tests. [#87](https://github.com/openethereum/openethereum/pull/87)
- Add tests module, add two more transaction tests. [#86](https://github.com/openethereum/openethereum/pull/86)
- bring back removed tests, removed build warnings [#82](https://github.com/openethereum/openethereum/pull/82)
- Nicer transaction validation API. Nicer OutOfBounds API in general. [#85](https://github.com/openethereum/openethereum/pull/85)
- Transaction fixes and consensus tests (all passing) [#84](https://github.com/openethereum/openethereum/pull/84)
- fixed getting block info in evmjit + tests [#81](https://github.com/openethereum/openethereum/pull/81)
- evm tests cleanup [#80](https://github.com/openethereum/openethereum/pull/80)
- renamed VmFactory -> Factory [#77](https://github.com/openethereum/openethereum/pull/77)
- fixed rust-evmjit description of improper_ctypes usage [#76](https://github.com/openethereum/openethereum/pull/76)
- jit feature enabled by default [#75](https://github.com/openethereum/openethereum/pull/75)
- evm [#52](https://github.com/openethereum/openethereum/pull/52)
- state clone [#74](https://github.com/openethereum/openethereum/pull/74)
- Block Verification (no tests yet) [#72](https://github.com/openethereum/openethereum/pull/72)
- Improvements to LogEntry and Transaction [#73](https://github.com/openethereum/openethereum/pull/73)
- Use getter in header in preparation for a Header trait; additional testing in enact_block(). [#64](https://github.com/openethereum/openethereum/pull/64)
- BlockChain sync and Client app [#55](https://github.com/openethereum/openethereum/pull/55)
- Block enactment (including test) [#63](https://github.com/openethereum/openethereum/pull/63)
- Block complete. Needs tests. [#62](https://github.com/openethereum/openethereum/pull/62)
- More on OpenBlock::close; State::kill_account added [#61](https://github.com/openethereum/openethereum/pull/61)
- Remove genesis module, add more chain specs and separate out ethereum-specific stuff [#60](https://github.com/openethereum/openethereum/pull/60)
- State::new_contract, camelCase engine params, missing param [#59](https://github.com/openethereum/openethereum/pull/59)
- Use reorganisation [#58](https://github.com/openethereum/openethereum/pull/58)
- Initial Ethash/Block skeleton implementations. [#57](https://github.com/openethereum/openethereum/pull/57)
- Spec with tested Morden genesis decoder and builtins. [#54](https://github.com/openethereum/openethereum/pull/54)
- Move all chain parameters into `engine_params` [#50](https://github.com/openethereum/openethereum/pull/50)
- jit ffi improvements [please review] [#51](https://github.com/openethereum/openethereum/pull/51)
- blockchain [please review] [#34](https://github.com/openethereum/openethereum/pull/34)
- Move information from networkparams.rs into spec.rs [#48](https://github.com/openethereum/openethereum/pull/48)
- Move bulking out in Engine/Params. [#47](https://github.com/openethereum/openethereum/pull/47)
- Removed need for mutation in State. [#46](https://github.com/openethereum/openethereum/pull/46)
- State::code and State::storage_at + tests. [#45](https://github.com/openethereum/openethereum/pull/45)
- State functions for balance and nonce operations [#44](https://github.com/openethereum/openethereum/pull/44)
- Account::storage_at, Account::ensure_cached and tests. [#43](https://github.com/openethereum/openethereum/pull/43)
- Additional tests. [#42](https://github.com/openethereum/openethereum/pull/42)
- seal todo done [#41](https://github.com/openethereum/openethereum/pull/41)
- missing rustc_serialize crate && rlp `as_list` function [#40](https://github.com/openethereum/openethereum/pull/40)
- More methods in Account, documentation and tests. [#39](https://github.com/openethereum/openethereum/pull/39)
- Minor reworking of Account. [#38](https://github.com/openethereum/openethereum/pull/38)
- Add Account and State classes. [#37](https://github.com/openethereum/openethereum/pull/37)
- Revert regressions [#36](https://github.com/openethereum/openethereum/pull/36)
- Panic on missing counters; Client cleanup [#368](https://github.com/paritytech/parity/pull/368)
- Update README for new PPAs. [#369](https://github.com/paritytech/parity/pull/369)
- block_queue::clear should be more thorough [#365](https://github.com/paritytech/parity/pull/365)
- Fixed an issue with forked counters [#363](https://github.com/paritytech/parity/pull/363)
- Install parity [#362](https://github.com/paritytech/parity/pull/362)
- DB directory versioning [#358](https://github.com/paritytech/parity/pull/358)
- Raise FD limit for MacOS [#357](https://github.com/paritytech/parity/pull/357)
- Travis slack integration. [#356](https://github.com/paritytech/parity/pull/356)
- SignedTransaction structure [#350](https://github.com/paritytech/parity/pull/350)
- License [#354](https://github.com/paritytech/parity/pull/354)
- Performance optimizations [#353](https://github.com/paritytech/parity/pull/353)
- Gitter in README. [#355](https://github.com/paritytech/parity/pull/355)
- test efforts, receipt requests [#352](https://github.com/paritytech/parity/pull/352)
- sync tests setup & local module coverage [#348](https://github.com/paritytech/parity/pull/348)
- install parity script [#347](https://github.com/paritytech/parity/pull/347)
- evmjit homestead merge [#342](https://github.com/paritytech/parity/pull/342)
- Fixed sync stalling on fork [#343](https://github.com/paritytech/parity/pull/343)
- Remerge 264 [#334](https://github.com/paritytech/parity/pull/334)
- Ethsync tests bfix [#339](https://github.com/paritytech/parity/pull/339)
- Fix default options. [#335](https://github.com/paritytech/parity/pull/335)
- sync queue limit hotfix [#338](https://github.com/paritytech/parity/pull/338)
- Network tests, separate local coverage for utils [#333](https://github.com/paritytech/parity/pull/333)
- fix parity version so netstats can parse it [#332](https://github.com/paritytech/parity/pull/332)
- reveal surprise [#331](https://github.com/paritytech/parity/pull/331)
- Revert removal of `new_code`. [#330](https://github.com/paritytech/parity/pull/330)
- Network mod tests first part [#329](https://github.com/paritytech/parity/pull/329)
- Look ma no `dead_code` [#323](https://github.com/paritytech/parity/pull/323)
- Fixing JIT, Updating hook to run `ethcore` tests. [#326](https://github.com/paritytech/parity/pull/326)
- Final docs [#327](https://github.com/paritytech/parity/pull/327)
- update install-deps.sh [#316](https://github.com/paritytech/parity/pull/316)
- Finish all my docs. Fix previous test compilation. [#320](https://github.com/paritytech/parity/pull/320)
- Additional evm tests (extops, call, jumps) and some docs [#317](https://github.com/paritytech/parity/pull/317)
- More documentation. [#318](https://github.com/paritytech/parity/pull/318)
- Additional documentation. [#315](https://github.com/paritytech/parity/pull/315)
- unused functions cleanup [#310](https://github.com/paritytech/parity/pull/310)
- update ethcore.github.io documentation automatically [#311](https://github.com/paritytech/parity/pull/311)
- Another try with travis ci credentials [#314](https://github.com/paritytech/parity/pull/314)
- Document some stuff. [#309](https://github.com/paritytech/parity/pull/309)
- Check block parent on import; Peer timeouts [#303](https://github.com/paritytech/parity/pull/303)
- Increasing coverage for evm. [#306](https://github.com/paritytech/parity/pull/306)
- ethcore docs [#301](https://github.com/paritytech/parity/pull/301)
- Replacing secure token for deployment [#305](https://github.com/paritytech/parity/pull/305)
- doc.sh [#299](https://github.com/paritytech/parity/pull/299)
- Building beta-* and stable-* tags [#302](https://github.com/paritytech/parity/pull/302)
- Deploying artifacts for tags (release/beta) [#300](https://github.com/paritytech/parity/pull/300)
- cov.sh to show coverage locally [#298](https://github.com/paritytech/parity/pull/298)
- benchmark fixes [#297](https://github.com/paritytech/parity/pull/297)
- Include JSONRPC CLI options. [#296](https://github.com/paritytech/parity/pull/296)
- travis.yml fixes [#293](https://github.com/paritytech/parity/pull/293)
- Improve version string. [#295](https://github.com/paritytech/parity/pull/295)
- Fixed block queue test [#294](https://github.com/paritytech/parity/pull/294)
- Util docs [#292](https://github.com/paritytech/parity/pull/292)
- fixed building docs [#289](https://github.com/paritytech/parity/pull/289)
- update travis to build PRs only against master [#290](https://github.com/paritytech/parity/pull/290)
- Coverage effort [#272](https://github.com/paritytech/parity/pull/272)
- updated docker containers [#288](https://github.com/paritytech/parity/pull/288)
- rpc module fixes [#287](https://github.com/paritytech/parity/pull/287)
- Test for Receipt RLP. [#282](https://github.com/paritytech/parity/pull/282)
- Building from source guide [#284](https://github.com/paritytech/parity/pull/284)
- Fixed neted empty list RLP encoding [#283](https://github.com/paritytech/parity/pull/283)
- Fix CALLDATACOPY (and bonus CODECOPY, too!). [#279](https://github.com/paritytech/parity/pull/279)
- added travis && coveralls badge to README.md [#280](https://github.com/paritytech/parity/pull/280)
- coveralls coverage [#277](https://github.com/paritytech/parity/pull/277)
- Travis [in progress] [#257](https://github.com/paritytech/parity/pull/257)
- Travis on reorganized repo [#276](https://github.com/paritytech/parity/pull/276)
- umbrella project [#275](https://github.com/paritytech/parity/pull/275)
- Ethash disk cache [#273](https://github.com/paritytech/parity/pull/273)
- Parity executable name and version [#274](https://github.com/paritytech/parity/pull/274)
- Dockerfile [#195](https://github.com/paritytech/parity/pull/195)
- Garbage collection test fix [#267](https://github.com/paritytech/parity/pull/267)
- Fix stCallCreateCallCodeTest, add more tests [#271](https://github.com/paritytech/parity/pull/271)
- Moved sync out of ethcore crate; Added block validation [#265](https://github.com/paritytech/parity/pull/265)
- RLP encoder refactoring [#252](https://github.com/paritytech/parity/pull/252)
- Chain sync tests and minor refactoring [#264](https://github.com/paritytech/parity/pull/264)
- Common log init function [#263](https://github.com/paritytech/parity/pull/263)
- changed max vm depth from 128 to 64, change homestead block to 1_000_000 [#262](https://github.com/paritytech/parity/pull/262)
- fixed blockchain tests crash on log init [#261](https://github.com/paritytech/parity/pull/261)
- Blockchain tests and some helpers for guarding temp directory [#256](https://github.com/paritytech/parity/pull/256)
- Fix logging and random tests. [#260](https://github.com/paritytech/parity/pull/260)
- Fix difficulty calculation algo. [#259](https://github.com/paritytech/parity/pull/259)
- fix submodule version [#258](https://github.com/paritytech/parity/pull/258)
- temp dir spawn refactoring [#246](https://github.com/paritytech/parity/pull/246)
- fixed tests submodule branch [#254](https://github.com/paritytech/parity/pull/254)
- rpc net methods returns real peer count && protocol version [#253](https://github.com/paritytech/parity/pull/253)
- Add homestead & random tests. [#245](https://github.com/paritytech/parity/pull/245)
- Fixing suicide with self-refund to be consistent with CPP. [#247](https://github.com/paritytech/parity/pull/247)
- stubs for rpc methods [#251](https://github.com/paritytech/parity/pull/251)
- clippy, missing docs, renaming etc. [#244](https://github.com/paritytech/parity/pull/244)
- impl missing methods in tests [#243](https://github.com/paritytech/parity/pull/243)
- General tests and some helpers [#239](https://github.com/paritytech/parity/pull/239)
- Note additional tests are fixed, fix doc test. [#242](https://github.com/paritytech/parity/pull/242)
- jsonrpc http server [#193](https://github.com/paritytech/parity/pull/193)
- Ethash nonce is H64 not a u64 [#240](https://github.com/paritytech/parity/pull/240)
- Fix import for bcMultiChainTest [#236](https://github.com/paritytech/parity/pull/236)
- Client basic tests [#232](https://github.com/paritytech/parity/pull/232)
- Fix ensure_db_good() and flush_queue(), block refactoring, check block format, be strict. [#231](https://github.com/paritytech/parity/pull/231)
- Rlp [#207](https://github.com/paritytech/parity/pull/207)
- Schedule documentation [#219](https://github.com/paritytech/parity/pull/219)
- U256<->H256 Conversion [#206](https://github.com/paritytech/parity/pull/206)
- Spawning new thread when we are reaching stack limit [#217](https://github.com/paritytech/parity/pull/217)
- Blockchain tests [#211](https://github.com/paritytech/parity/pull/211)
- fixed failing sync test [#218](https://github.com/paritytech/parity/pull/218)
- Removing println [#216](https://github.com/paritytech/parity/pull/216)
- Cleaning readme [#212](https://github.com/paritytech/parity/pull/212)
- Fixing delegatecall [#196](https://github.com/paritytech/parity/pull/196)
- Autogenerate the Args from the docopt macro. [#205](https://github.com/paritytech/parity/pull/205)
- Networking fixes [#202](https://github.com/paritytech/parity/pull/202)
- Argument parsing from CLI [#204](https://github.com/paritytech/parity/pull/204)
- Removed wildcard from clippy version [#203](https://github.com/paritytech/parity/pull/203)
- Fixed tests and tweaked sync progress report [#201](https://github.com/paritytech/parity/pull/201)
- Heavy tests [#199](https://github.com/paritytech/parity/pull/199)
- Mutithreaded IO [#198](https://github.com/paritytech/parity/pull/198)
- Populating last_hashes [#197](https://github.com/paritytech/parity/pull/197)
- Fixing clippy stuff [#170](https://github.com/paritytech/parity/pull/170)
- basic .travis.yml [#194](https://github.com/paritytech/parity/pull/194)
- Generating coverage reports. [#190](https://github.com/paritytech/parity/pull/190)
- Adding doc requests comments [#192](https://github.com/paritytech/parity/pull/192)
- moved src/bin/client.rs -> src/bin/client/main.rs [#185](https://github.com/paritytech/parity/pull/185)
- removed overflowing_shr [#188](https://github.com/paritytech/parity/pull/188)
- fixed wrapping ops on latest nightly [#187](https://github.com/paritytech/parity/pull/187)
- Pruned state DB [#176](https://github.com/paritytech/parity/pull/176)
- Memory management for cache [#180](https://github.com/paritytech/parity/pull/180)
- Implement signs having low-s. [#183](https://github.com/paritytech/parity/pull/183)
- Introduce sha3 crate and use it in ethash [#178](https://github.com/paritytech/parity/pull/178)
- Multithreaded block queue [#173](https://github.com/paritytech/parity/pull/173)
- Iterator for NibbleSlice and TrieDB. [#171](https://github.com/paritytech/parity/pull/171)
- Handling all possible overflows [#145](https://github.com/paritytech/parity/pull/145)
- Global secp256k1 context [#164](https://github.com/paritytech/parity/pull/164)
- Ethash [#152](https://github.com/paritytech/parity/pull/152)
- Move util into here [#153](https://github.com/paritytech/parity/pull/153)
- EVM Interpreter [#103](https://github.com/paritytech/parity/pull/103)
- Homestead transition support, maybe. [#141](https://github.com/paritytech/parity/pull/141)
- externalities refactor [#131](https://github.com/paritytech/parity/pull/131)
- More open files. [#140](https://github.com/paritytech/parity/pull/140)
- Single array for logs output. [#133](https://github.com/paritytech/parity/pull/133)
- Client app event handler [#132](https://github.com/paritytech/parity/pull/132)
- Various consensus fixes. [#130](https://github.com/paritytech/parity/pull/130)
- callcode builtins tests pass [#127](https://github.com/paritytech/parity/pull/127)
- Client state syncing [#119](https://github.com/paritytech/parity/pull/119)
- Split externalities from executive. [#126](https://github.com/paritytech/parity/pull/126)
- executive error on not enoguh base gas [#124](https://github.com/paritytech/parity/pull/124)
- Gav [#125](https://github.com/paritytech/parity/pull/125)
- builtin sets excepted to true [#123](https://github.com/paritytech/parity/pull/123)
- More state tests. [#122](https://github.com/paritytech/parity/pull/122)
- updated to rocksdb wrapper version 0.3 [#121](https://github.com/paritytech/parity/pull/121)
- out_of_gas -> excepted [#120](https://github.com/paritytech/parity/pull/120)
- Parametrizing evm::Factory [#111](https://github.com/paritytech/parity/pull/111)
- stLogs tests passing [#118](https://github.com/paritytech/parity/pull/118)
- Fix executive. [#117](https://github.com/paritytech/parity/pull/117)
- Fixes for marek's shooting from the hip. [#116](https://github.com/paritytech/parity/pull/116)
- Executive revert fix [#115](https://github.com/paritytech/parity/pull/115)
- Fix storage/account and add butress test. [#114](https://github.com/paritytech/parity/pull/114)
- Refactored Pod & Diff types into separate files, JSON infrastructure revamp. [#113](https://github.com/paritytech/parity/pull/113)
- Fix storage stuff and introduce per-item dirty-tracking. [#112](https://github.com/paritytech/parity/pull/112)
- Check logs in state tests. [#109](https://github.com/paritytech/parity/pull/109)
- executive gas calculation fixes [#108](https://github.com/paritytech/parity/pull/108)
- proper gas calculation in executive [#107](https://github.com/paritytech/parity/pull/107)
- Fixing MaxDepth param for executive [#105](https://github.com/paritytech/parity/pull/105)
- Fix determination of state roots. [#106](https://github.com/paritytech/parity/pull/106)
- transact substracts tx_gas [#104](https://github.com/paritytech/parity/pull/104)
- Pretty-print and fix for state. [#102](https://github.com/paritytech/parity/pull/102)
- Tier step price. [#101](https://github.com/paritytech/parity/pull/101)
- Refactor Diff datastructures. [#100](https://github.com/paritytech/parity/pull/100)
- externalities use u256 instead of u64 for gas calculation [#99](https://github.com/paritytech/parity/pull/99)
- Executive tests [#97](https://github.com/paritytech/parity/pull/97)
- State conensus tests now print mismatching diff on fail. [#98](https://github.com/paritytech/parity/pull/98)
- State testing framework. First test is failing. [#96](https://github.com/paritytech/parity/pull/96)
- executive tests [#95](https://github.com/paritytech/parity/pull/95)
- Use U512s for ether cost calculation, complete transaction API [#94](https://github.com/paritytech/parity/pull/94)
- Utils for consensus test decoding and better layout. [#93](https://github.com/paritytech/parity/pull/93)
- executive fixes + tests [#89](https://github.com/paritytech/parity/pull/89)
- All transaction tests pass. Nicer testing framework. [#92](https://github.com/paritytech/parity/pull/92)
- Block verification tests; BlockProvider blockchain trait for testing [#88](https://github.com/paritytech/parity/pull/88)
- State::exists, docs and tests. [#87](https://github.com/paritytech/parity/pull/87)
- Add tests module, add two more transaction tests. [#86](https://github.com/paritytech/parity/pull/86)
- bring back removed tests, removed build warnings [#82](https://github.com/paritytech/parity/pull/82)
- Nicer transaction validation API. Nicer OutOfBounds API in general. [#85](https://github.com/paritytech/parity/pull/85)
- Transaction fixes and consensus tests (all passing) [#84](https://github.com/paritytech/parity/pull/84)
- fixed getting block info in evmjit + tests [#81](https://github.com/paritytech/parity/pull/81)
- evm tests cleanup [#80](https://github.com/paritytech/parity/pull/80)
- renamed VmFactory -> Factory [#77](https://github.com/paritytech/parity/pull/77)
- fixed rust-evmjit description of improper_ctypes usage [#76](https://github.com/paritytech/parity/pull/76)
- jit feature enabled by default [#75](https://github.com/paritytech/parity/pull/75)
- evm [#52](https://github.com/paritytech/parity/pull/52)
- state clone [#74](https://github.com/paritytech/parity/pull/74)
- Block Verification (no tests yet) [#72](https://github.com/paritytech/parity/pull/72)
- Improvements to LogEntry and Transaction [#73](https://github.com/paritytech/parity/pull/73)
- Use getter in header in preparation for a Header trait; additional testing in enact_block(). [#64](https://github.com/paritytech/parity/pull/64)
- BlockChain sync and Client app [#55](https://github.com/paritytech/parity/pull/55)
- Block enactment (including test) [#63](https://github.com/paritytech/parity/pull/63)
- Block complete. Needs tests. [#62](https://github.com/paritytech/parity/pull/62)
- More on OpenBlock::close; State::kill_account added [#61](https://github.com/paritytech/parity/pull/61)
- Remove genesis module, add more chain specs and separate out ethereum-specific stuff [#60](https://github.com/paritytech/parity/pull/60)
- State::new_contract, camelCase engine params, missing param [#59](https://github.com/paritytech/parity/pull/59)
- Use reorganisation [#58](https://github.com/paritytech/parity/pull/58)
- Initial Ethash/Block skeleton implementations. [#57](https://github.com/paritytech/parity/pull/57)
- Spec with tested Morden genesis decoder and builtins. [#54](https://github.com/paritytech/parity/pull/54)
- Move all chain parameters into `engine_params` [#50](https://github.com/paritytech/parity/pull/50)
- jit ffi improvements [please review] [#51](https://github.com/paritytech/parity/pull/51)
- blockchain [please review] [#34](https://github.com/paritytech/parity/pull/34)
- Move information from networkparams.rs into spec.rs [#48](https://github.com/paritytech/parity/pull/48)
- Move bulking out in Engine/Params. [#47](https://github.com/paritytech/parity/pull/47)
- Removed need for mutation in State. [#46](https://github.com/paritytech/parity/pull/46)
- State::code and State::storage_at + tests. [#45](https://github.com/paritytech/parity/pull/45)
- State functions for balance and nonce operations [#44](https://github.com/paritytech/parity/pull/44)
- Account::storage_at, Account::ensure_cached and tests. [#43](https://github.com/paritytech/parity/pull/43)
- Additional tests. [#42](https://github.com/paritytech/parity/pull/42)
- seal todo done [#41](https://github.com/paritytech/parity/pull/41)
- missing rustc_serialize crate && rlp `as_list` function [#40](https://github.com/paritytech/parity/pull/40)
- More methods in Account, documentation and tests. [#39](https://github.com/paritytech/parity/pull/39)
- Minor reworking of Account. [#38](https://github.com/paritytech/parity/pull/38)
- Add Account and State classes. [#37](https://github.com/paritytech/parity/pull/37)
- Revert regressions [#36](https://github.com/paritytech/parity/pull/36)

View File

@@ -1,29 +1,29 @@
Note: Parity 1.0 reached End-of-Life on 2016-06-24 (EOL).
## Parity [v1.0.2](https://github.com/openethereum/openethereum/releases/tag/v1.0.2) (2016-04-11)
## Parity [v1.0.2](https://github.com/paritytech/parity/releases/tag/v1.0.2) (2016-04-11)
Parity 1.0.2 release improves Json RPC compatibility and fixes a number of stability issues.
- Flush password prompt [#1031](https://github.com/openethereum/openethereum/pull/1031)
- [beta] dependencies update [#949](https://github.com/openethereum/openethereum/pull/949)
- Master to beta v1.0.2 [#922](https://github.com/openethereum/openethereum/pull/922)
- Master to beta 1.0.2 [#908](https://github.com/openethereum/openethereum/pull/908)
- Flush password prompt [#1031](https://github.com/paritytech/parity/pull/1031)
- [beta] dependencies update [#949](https://github.com/paritytech/parity/pull/949)
- Master to beta v1.0.2 [#922](https://github.com/paritytech/parity/pull/922)
- Master to beta 1.0.2 [#908](https://github.com/paritytech/parity/pull/908)
## Parity [v1.0.1](https://github.com/openethereum/openethereum/releases/tag/v1.0.1) (2016-03-28)
## Parity [v1.0.1](https://github.com/paritytech/parity/releases/tag/v1.0.1) (2016-03-28)
Parity 1.0.1 update fixes a number of issues with Json RPC, transaction propagation and syncing.
- Imporved sync error handling [#905](https://github.com/openethereum/openethereum/pull/905)
- Publish locally-made transactions to peers. [#851](https://github.com/openethereum/openethereum/pull/851)
- Merge fixes from master to beta [#845](https://github.com/openethereum/openethereum/pull/845)
- Full sync restart on bad block [#844](https://github.com/openethereum/openethereum/pull/844)
- Make BlockNumber optional, fix eth_call [#828](https://github.com/openethereum/openethereum/pull/828)
- Web3sha3 beta [#826](https://github.com/openethereum/openethereum/pull/826)
- Use network id for the web3_net_version return. [#821](https://github.com/openethereum/openethereum/pull/821)
- Fix mining from spinning [#806](https://github.com/openethereum/openethereum/pull/806)
- Merge master to beta [#796](https://github.com/openethereum/openethereum/pull/796)
- Imporved sync error handling [#905](https://github.com/paritytech/parity/pull/905)
- Publish locally-made transactions to peers. [#851](https://github.com/paritytech/parity/pull/851)
- Merge fixes from master to beta [#845](https://github.com/paritytech/parity/pull/845)
- Full sync restart on bad block [#844](https://github.com/paritytech/parity/pull/844)
- Make BlockNumber optional, fix eth_call [#828](https://github.com/paritytech/parity/pull/828)
- Web3sha3 beta [#826](https://github.com/paritytech/parity/pull/826)
- Use network id for the web3_net_version return. [#821](https://github.com/paritytech/parity/pull/821)
- Fix mining from spinning [#806](https://github.com/paritytech/parity/pull/806)
- Merge master to beta [#796](https://github.com/paritytech/parity/pull/796)
## Parity [v1.0.0](https://github.com/openethereum/openethereum/releases/tag/v1.0.0) (2016-03-24)
## Parity [v1.0.0](https://github.com/paritytech/parity/releases/tag/v1.0.0) (2016-03-24)
Parity 1.0.0 release adds the following features:
@@ -41,277 +41,277 @@ Parity 1.0.0 release adds the following features:
Note that in this release the state database is in archive (full) mode by default. Run with one of the `--pruning` options to enable pruning.
- First part of multi-mining support [#804](https://github.com/openethereum/openethereum/pull/804)
- Fixing future-current transactions clash [#802](https://github.com/openethereum/openethereum/pull/802)
- Increase threads to num_cpus & fix author reporting [#800](https://github.com/openethereum/openethereum/pull/800)
- another batch of rpc improvements [#798](https://github.com/openethereum/openethereum/pull/798)
- Avoid tracing DELEGATECALL and CALLCODE. Plus tests for it. [#794](https://github.com/openethereum/openethereum/pull/794)
- complete getting started steps for OS X [#793](https://github.com/openethereum/openethereum/pull/793)
- Auto detect available port (with fixed test) [#788](https://github.com/openethereum/openethereum/pull/788)
- eth_getTransactionReceipt [#792](https://github.com/openethereum/openethereum/pull/792)
- Comprehensive tests for tracing transactions [#791](https://github.com/openethereum/openethereum/pull/791)
- Disable preparing work package if miners don't ask for it. [#771](https://github.com/openethereum/openethereum/pull/771)
- Listen on all interfaces for JSONRPC by default. [#786](https://github.com/openethereum/openethereum/pull/786)
- eth_call [#783](https://github.com/openethereum/openethereum/pull/783)
- Revert "Auto detect available port" [#789](https://github.com/openethereum/openethereum/pull/789)
- added output to execution result [#777](https://github.com/openethereum/openethereum/pull/777)
- Auto detect available port [#782](https://github.com/openethereum/openethereum/pull/782)
- Allow 0x prefix for --author. [#785](https://github.com/openethereum/openethereum/pull/785)
- updated dependencies, moved rpctest to its own submodule [#784](https://github.com/openethereum/openethereum/pull/784)
- use ethjson module to load chain json tests [#778](https://github.com/openethereum/openethereum/pull/778)
- Tracing implemented. [#772](https://github.com/openethereum/openethereum/pull/772)
- test ethjson module on travis [#780](https://github.com/openethereum/openethereum/pull/780)
- batch of rpc fixes [#775](https://github.com/openethereum/openethereum/pull/775)
- rpctest executable [#757](https://github.com/openethereum/openethereum/pull/757)
- Refactoring error transaction_queue error handling and `update_sealing` method. [#753](https://github.com/openethereum/openethereum/pull/753)
- Avoid importing transactions with gas above 1.1*block_gas_limit to transaction queue [#760](https://github.com/openethereum/openethereum/pull/760)
- Removing transactions that failed to be pushed to block. [#752](https://github.com/openethereum/openethereum/pull/752)
- Updating clippy [#766](https://github.com/openethereum/openethereum/pull/766)
- Attempting to add all transactions to mined block [#754](https://github.com/openethereum/openethereum/pull/754)
- Prettier version w/o git dir; Use rustc compile time version [#761](https://github.com/openethereum/openethereum/pull/761)
- Stop adding transactions to queue while not fully synced [#751](https://github.com/openethereum/openethereum/pull/751)
- Verify sender's balance before importing transaction to queue [#746](https://github.com/openethereum/openethereum/pull/746)
- Returning number of transactions pending in block not queue [#750](https://github.com/openethereum/openethereum/pull/750)
- Speeding up build [#733](https://github.com/openethereum/openethereum/pull/733)
- adding check for a sync when giving work to miner [#742](https://github.com/openethereum/openethereum/pull/742)
- json deserialization module [#745](https://github.com/openethereum/openethereum/pull/745)
- Update install-parity.sh [#749](https://github.com/openethereum/openethereum/pull/749)
- Restart sync on getting old unknown header [#747](https://github.com/openethereum/openethereum/pull/747)
- Missing return for #737 [#744](https://github.com/openethereum/openethereum/pull/744)
- Enact block with uncles test [#741](https://github.com/openethereum/openethereum/pull/741)
- Fix outdated libc version on dependency [#740](https://github.com/openethereum/openethereum/pull/740)
- Fixing possible race in transaction queue [#735](https://github.com/openethereum/openethereum/pull/735)
- Sync fixed again [#737](https://github.com/openethereum/openethereum/pull/737)
- Don't change best block until extras is committed. [#734](https://github.com/openethereum/openethereum/pull/734)
- stable only until travis speedup [#736](https://github.com/openethereum/openethereum/pull/736)
- Optimizing uint operations (architecture independent) [#629](https://github.com/openethereum/openethereum/pull/629)
- Add RLP, not a data item. [#725](https://github.com/openethereum/openethereum/pull/725)
- PV63 receipts response [#687](https://github.com/openethereum/openethereum/pull/687)
- another batch of rpc tests [#723](https://github.com/openethereum/openethereum/pull/723)
- dockerfiles update [#726](https://github.com/openethereum/openethereum/pull/726)
- Lock reports to avoid out of order badness. [#721](https://github.com/openethereum/openethereum/pull/721)
- Fixed handshake leak [#722](https://github.com/openethereum/openethereum/pull/722)
- Allow configuration of target gas limit. [#719](https://github.com/openethereum/openethereum/pull/719)
- Version 1.1 in master [#714](https://github.com/openethereum/openethereum/pull/714)
- Silence UDP warnings [#720](https://github.com/openethereum/openethereum/pull/720)
- Rpc personal tests [#715](https://github.com/openethereum/openethereum/pull/715)
- Fixing warnings [#704](https://github.com/openethereum/openethereum/pull/704)
- docopts cleanups [#713](https://github.com/openethereum/openethereum/pull/713)
- Removed rocksdb build dependency [#717](https://github.com/openethereum/openethereum/pull/717)
- Fixed splitting Neighbours packet [#710](https://github.com/openethereum/openethereum/pull/710)
- management of account expiration & memory [#701](https://github.com/openethereum/openethereum/pull/701)
- Remove EarlyMerge from user docs. [#708](https://github.com/openethereum/openethereum/pull/708)
- Fixes and traces for refcountdb. [#705](https://github.com/openethereum/openethereum/pull/705)
- Check for NULL_RLP in AccountDB [#706](https://github.com/openethereum/openethereum/pull/706)
- ethminer as crate [#700](https://github.com/openethereum/openethereum/pull/700)
- Old ref-counted DB code [#692](https://github.com/openethereum/openethereum/pull/692)
- next batch of rpc tests and fixes [#699](https://github.com/openethereum/openethereum/pull/699)
- implemented eth_geStorageAt rpc method, added more tests for rpc [#695](https://github.com/openethereum/openethereum/pull/695)
- Fix JournalDB era marker [#690](https://github.com/openethereum/openethereum/pull/690)
- More sync fixes [#685](https://github.com/openethereum/openethereum/pull/685)
- mark some key tests as heavy [#694](https://github.com/openethereum/openethereum/pull/694)
- Limit incoming connections [#693](https://github.com/openethereum/openethereum/pull/693)
- Updating clippy [#688](https://github.com/openethereum/openethereum/pull/688)
- eth_accounts, eth_getBalance rpc functions && tests [#691](https://github.com/openethereum/openethereum/pull/691)
- state query for archive jdb [#683](https://github.com/openethereum/openethereum/pull/683)
- Fix for option 1 of JournalDB [#658](https://github.com/openethereum/openethereum/pull/658)
- Rename into something that is a little more descriptive. [#689](https://github.com/openethereum/openethereum/pull/689)
- JournalDB with in-memory overlay (option2) [#634](https://github.com/openethereum/openethereum/pull/634)
- additional (failing) SecretStore test [#682](https://github.com/openethereum/openethereum/pull/682)
- Updating clippy & fixing warnings. [#670](https://github.com/openethereum/openethereum/pull/670)
- rpc web3 tests [#681](https://github.com/openethereum/openethereum/pull/681)
- Making personal json-rpc configurable via cli [#677](https://github.com/openethereum/openethereum/pull/677)
- RPC Pending Transactions Filter [#661](https://github.com/openethereum/openethereum/pull/661)
- Rearrange journaldb infrastructure to make more extensible [#678](https://github.com/openethereum/openethereum/pull/678)
- JournalDB -> Box<JournalDB>, and it's a trait. [#673](https://github.com/openethereum/openethereum/pull/673)
- fix warning for transaction_queue.add usage [#676](https://github.com/openethereum/openethereum/pull/676)
- Adding std::mem back (only for asm) [#680](https://github.com/openethereum/openethereum/pull/680)
- update readme to exclude beta step (stable is ok) [#679](https://github.com/openethereum/openethereum/pull/679)
- fixed U256 and transaction request deserialization [#675](https://github.com/openethereum/openethereum/pull/675)
- More geth compatibility. [#666](https://github.com/openethereum/openethereum/pull/666)
- Removing running clippy by default on nightly. [#671](https://github.com/openethereum/openethereum/pull/671)
- rpc net submodule tests [#667](https://github.com/openethereum/openethereum/pull/667)
- Client module overhaul [#665](https://github.com/openethereum/openethereum/pull/665)
- Rpc transaction signing [#587](https://github.com/openethereum/openethereum/pull/587)
- Transaction queue exposed via JSON rpc. [#652](https://github.com/openethereum/openethereum/pull/652)
- Remove unneeded locking [#499](https://github.com/openethereum/openethereum/pull/499)
- extend sync status interface to sync provider [#664](https://github.com/openethereum/openethereum/pull/664)
- --archive is default. --pruning is option. [#663](https://github.com/openethereum/openethereum/pull/663)
- jsonrpc uses client and sync interfaces [#641](https://github.com/openethereum/openethereum/pull/641)
- Expose transaction insertion in sync lib [#609](https://github.com/openethereum/openethereum/pull/609)
- Removing get prefix from poll_info [#660](https://github.com/openethereum/openethereum/pull/660)
- Tx queue update height bug [#657](https://github.com/openethereum/openethereum/pull/657)
- Tx_queue_docs -> To master [#651](https://github.com/openethereum/openethereum/pull/651)
- blockchain import_route [#645](https://github.com/openethereum/openethereum/pull/645)
- Stop workers before stopping event loop [#655](https://github.com/openethereum/openethereum/pull/655)
- Validate sender before importing to queue [#650](https://github.com/openethereum/openethereum/pull/650)
- Gas price threshold for transactions [#640](https://github.com/openethereum/openethereum/pull/640)
- `dev` feature enabled when compiling without `--release` [#627](https://github.com/openethereum/openethereum/pull/627)
- Don't call mark_as_bad needlessly [#648](https://github.com/openethereum/openethereum/pull/648)
- Fixed sync handling large forks [#647](https://github.com/openethereum/openethereum/pull/647)
- Additional documentation for transaction queue [#631](https://github.com/openethereum/openethereum/pull/631)
- Transaction Queue Integration [#607](https://github.com/openethereum/openethereum/pull/607)
- Keys cli [#639](https://github.com/openethereum/openethereum/pull/639)
- fix build warning [#643](https://github.com/openethereum/openethereum/pull/643)
- updated jsonrpc-core and http-server libs [#642](https://github.com/openethereum/openethereum/pull/642)
- jsonrpc panics gracefully shutdown client [#638](https://github.com/openethereum/openethereum/pull/638)
- Fixing CLI parameters [#633](https://github.com/openethereum/openethereum/pull/633)
- Normal CLI options with geth. [#628](https://github.com/openethereum/openethereum/pull/628)
- Do not remove the peer immediatelly on send error [#626](https://github.com/openethereum/openethereum/pull/626)
- Jsonrpc block behind [#622](https://github.com/openethereum/openethereum/pull/622)
- Remove println!s. [#624](https://github.com/openethereum/openethereum/pull/624)
- JournalDB option 1 fix [#613](https://github.com/openethereum/openethereum/pull/613)
- Network tracing cleanup [#611](https://github.com/openethereum/openethereum/pull/611)
- Revert "Transaction Queue integration" [#602](https://github.com/openethereum/openethereum/pull/602)
- fix benches compilation [#601](https://github.com/openethereum/openethereum/pull/601)
- Transaction Queue integration [#595](https://github.com/openethereum/openethereum/pull/595)
- verifier trait improvements [#597](https://github.com/openethereum/openethereum/pull/597)
- build on rust stable [#600](https://github.com/openethereum/openethereum/pull/600)
- Geth import silent if no geth [#599](https://github.com/openethereum/openethereum/pull/599)
- Additional journaldb logging and assert [#593](https://github.com/openethereum/openethereum/pull/593)
- Uncle inclusion in block authoring. [#578](https://github.com/openethereum/openethereum/pull/578)
- Fixed potential deadlock on startup [#592](https://github.com/openethereum/openethereum/pull/592)
- Fixing an overflow panic [#591](https://github.com/openethereum/openethereum/pull/591)
- Fixed one more case of sync stalling [#590](https://github.com/openethereum/openethereum/pull/590)
- JournalDB can now operate in "archive" mode [#589](https://github.com/openethereum/openethereum/pull/589)
- Secret store integration with client [#586](https://github.com/openethereum/openethereum/pull/586)
- fix build on nightly rust [#588](https://github.com/openethereum/openethereum/pull/588)
- deserialization for uint generic [#585](https://github.com/openethereum/openethereum/pull/585)
- TransactionsQueue implementation [#559](https://github.com/openethereum/openethereum/pull/559)
- JSON-RPC personal service (follows #582) [#583](https://github.com/openethereum/openethereum/pull/583)
- making key directory thread-safe [#582](https://github.com/openethereum/openethereum/pull/582)
- verifier trait [#581](https://github.com/openethereum/openethereum/pull/581)
- shrink_to_fit after removing hashes. [#580](https://github.com/openethereum/openethereum/pull/580)
- support for rpc polling [#504](https://github.com/openethereum/openethereum/pull/504)
- limit serde codegen only to rpc types submodule [#569](https://github.com/openethereum/openethereum/pull/569)
- fork test for Issue test/568 [#573](https://github.com/openethereum/openethereum/pull/573)
- Fixing clippy warnings = small refactoring of `request_blocks` [#560](https://github.com/openethereum/openethereum/pull/560)
- Improved journaldb logging [#571](https://github.com/openethereum/openethereum/pull/571)
- Additional check to ancient enactments. [#570](https://github.com/openethereum/openethereum/pull/570)
- chainfilter shouldnt exclude to_block from results [#564](https://github.com/openethereum/openethereum/pull/564)
- Fix coverage test run [#567](https://github.com/openethereum/openethereum/pull/567)
- Mining [#547](https://github.com/openethereum/openethereum/pull/547)
- fix uint warnings [#565](https://github.com/openethereum/openethereum/pull/565)
- Finished blockchain generator. [#562](https://github.com/openethereum/openethereum/pull/562)
- fixed broken master [#563](https://github.com/openethereum/openethereum/pull/563)
- uint to separate crate [#544](https://github.com/openethereum/openethereum/pull/544)
- improved test chain generator [#554](https://github.com/openethereum/openethereum/pull/554)
- Fixing spelling in propagade->propagate [#558](https://github.com/openethereum/openethereum/pull/558)
- Changing RefCell to Cell in transaction. [#557](https://github.com/openethereum/openethereum/pull/557)
- Fix for morden consensus. [#556](https://github.com/openethereum/openethereum/pull/556)
- blockchain generator [#550](https://github.com/openethereum/openethereum/pull/550)
- Sparse Table Implementation (Row, Col) -> Val [#545](https://github.com/openethereum/openethereum/pull/545)
- fixup install script [#548](https://github.com/openethereum/openethereum/pull/548)
- Fixing clippy warnings [#546](https://github.com/openethereum/openethereum/pull/546)
- ignore out directory [#543](https://github.com/openethereum/openethereum/pull/543)
- u256 full multiplication [#539](https://github.com/openethereum/openethereum/pull/539)
- Fix panic when downloading stales, update homestead transition [#537](https://github.com/openethereum/openethereum/pull/537)
- changing x64 asm config [#534](https://github.com/openethereum/openethereum/pull/534)
- uncomment state transition tests [#533](https://github.com/openethereum/openethereum/pull/533)
- jsonrpc uses weak pointers to client [#532](https://github.com/openethereum/openethereum/pull/532)
- Morden switch to Homestead rules at #494,000. [#531](https://github.com/openethereum/openethereum/pull/531)
- Blockchain module cleanup [#524](https://github.com/openethereum/openethereum/pull/524)
- Multiplication issue + very exhaustive tests for it [#528](https://github.com/openethereum/openethereum/pull/528)
- EIP-8 [#498](https://github.com/openethereum/openethereum/pull/498)
- Make "random" trie tests fully deterministic. [#527](https://github.com/openethereum/openethereum/pull/527)
- udpated serde to version 0.7.0 [#526](https://github.com/openethereum/openethereum/pull/526)
- Better memory management [#516](https://github.com/openethereum/openethereum/pull/516)
- Typo [#523](https://github.com/openethereum/openethereum/pull/523)
- U512 add/sub optimize [#521](https://github.com/openethereum/openethereum/pull/521)
- Account management + geth keystore import (no utility crate added) [#509](https://github.com/openethereum/openethereum/pull/509)
- Delayed UPnP initialization [#505](https://github.com/openethereum/openethereum/pull/505)
- Fixing marking blocks as bad & SyncMessage bugs + small client refactoring. [#503](https://github.com/openethereum/openethereum/pull/503)
- optimization of U256 [#515](https://github.com/openethereum/openethereum/pull/515)
- Removed rocksdb from build scripts and instructions [#520](https://github.com/openethereum/openethereum/pull/520)
- RocksDB abstraction layer + Hash index for state DB [#464](https://github.com/openethereum/openethereum/pull/464)
- bloomfilter [#418](https://github.com/openethereum/openethereum/pull/418)
- Fixed a race condition when connecting peer disconnects immediately [#519](https://github.com/openethereum/openethereum/pull/519)
- ignore intellij idea project files as well [#518](https://github.com/openethereum/openethereum/pull/518)
- updated version of unicase [#517](https://github.com/openethereum/openethereum/pull/517)
- jsonrpc security, cors headers, fixed #359 [#493](https://github.com/openethereum/openethereum/pull/493)
- Rust implementations to replace data tables (#161) [#482](https://github.com/openethereum/openethereum/pull/482)
- fix issue with starting requested block number was not included itself [#512](https://github.com/openethereum/openethereum/pull/512)
- fixed travis --org GH_TOKEN [#510](https://github.com/openethereum/openethereum/pull/510)
- Improved log format [#506](https://github.com/openethereum/openethereum/pull/506)
- Log address on failed connection attempt [#502](https://github.com/openethereum/openethereum/pull/502)
- Bumping clippy and fixing warnings. [#501](https://github.com/openethereum/openethereum/pull/501)
- Bumping versions. Fixes #496 [#500](https://github.com/openethereum/openethereum/pull/500)
- Manage final user-input errors. [#494](https://github.com/openethereum/openethereum/pull/494)
- Remove unneeded code, fix minor potential issue with length. [#495](https://github.com/openethereum/openethereum/pull/495)
- Remove "unknown" from version string. [#488](https://github.com/openethereum/openethereum/pull/488)
- Include git commit date & hash. [#486](https://github.com/openethereum/openethereum/pull/486)
- Use proper version string. [#485](https://github.com/openethereum/openethereum/pull/485)
- Networking fixes [#480](https://github.com/openethereum/openethereum/pull/480)
- Fix potential deadlock on node table update [#484](https://github.com/openethereum/openethereum/pull/484)
- Squash more warnings [#481](https://github.com/openethereum/openethereum/pull/481)
- dev/test/build tools to separate crate [#477](https://github.com/openethereum/openethereum/pull/477)
- Back to original slab crate [#479](https://github.com/openethereum/openethereum/pull/479)
- Better user errors. [#476](https://github.com/openethereum/openethereum/pull/476)
- UDP Discovery [#440](https://github.com/openethereum/openethereum/pull/440)
- update readme with rust override [#475](https://github.com/openethereum/openethereum/pull/475)
- fixed warnings on rust beta [#474](https://github.com/openethereum/openethereum/pull/474)
- Secret store (part2 - encrypted key/value svc) [#449](https://github.com/openethereum/openethereum/pull/449)
- Kill bad test. [#473](https://github.com/openethereum/openethereum/pull/473)
- Make clippy an optional dependency [#422](https://github.com/openethereum/openethereum/pull/422)
- parity compiling fine [#469](https://github.com/openethereum/openethereum/pull/469)
- compiling ethcore on beta [#468](https://github.com/openethereum/openethereum/pull/468)
- Utils compiling in beta [#467](https://github.com/openethereum/openethereum/pull/467)
- Get rid of lru_cache dependency [#466](https://github.com/openethereum/openethereum/pull/466)
- Add daemonization. [#459](https://github.com/openethereum/openethereum/pull/459)
- Master upgrade [#448](https://github.com/openethereum/openethereum/pull/448)
- Remove contributing stuff now that we have CLA bot. [#447](https://github.com/openethereum/openethereum/pull/447)
- Add Morden bootnode. [#446](https://github.com/openethereum/openethereum/pull/446)
- beta fixes to master [#441](https://github.com/openethereum/openethereum/pull/441)
- Secret store (part1 - key management) [#423](https://github.com/openethereum/openethereum/pull/423)
- Use 1100000 as the homestead transition, fix build instructions. [#438](https://github.com/openethereum/openethereum/pull/438)
- More sync and propagation fixes [#420](https://github.com/openethereum/openethereum/pull/420)
- back to cargo crates [#436](https://github.com/openethereum/openethereum/pull/436)
- Fixing clippy warnings [#435](https://github.com/openethereum/openethereum/pull/435)
- preserving root cargo lock [#434](https://github.com/openethereum/openethereum/pull/434)
- Nightly fix [#432](https://github.com/openethereum/openethereum/pull/432)
- nightly fixes [#431](https://github.com/openethereum/openethereum/pull/431)
- Delay Homestead transition from 1,000,000. [#429](https://github.com/openethereum/openethereum/pull/429)
- Nightly fix effort (still should fail) [#428](https://github.com/openethereum/openethereum/pull/428)
- clippy version update, docopt-macro moving to fork [#425](https://github.com/openethereum/openethereum/pull/425)
- Network/Sync fixes and optimizations [#416](https://github.com/openethereum/openethereum/pull/416)
- Use latest era instead of end era as journal marker [#414](https://github.com/openethereum/openethereum/pull/414)
- api changes [#402](https://github.com/openethereum/openethereum/pull/402)
- Option for no init nodes. [#408](https://github.com/openethereum/openethereum/pull/408)
- Fixed block_bodies not returning a list [#406](https://github.com/openethereum/openethereum/pull/406)
- Fix test. [#405](https://github.com/openethereum/openethereum/pull/405)
- Allow path to be configured. [#404](https://github.com/openethereum/openethereum/pull/404)
- Upnp [#400](https://github.com/openethereum/openethereum/pull/400)
- eth_syncing, fixed #397 [#398](https://github.com/openethereum/openethereum/pull/398)
- Using modified version of ctrlc that catches SIGTERM [#399](https://github.com/openethereum/openethereum/pull/399)
- Catching panics. [#396](https://github.com/openethereum/openethereum/pull/396)
- jsonrpc [#391](https://github.com/openethereum/openethereum/pull/391)
- Externalities tests (still clumsy) [#394](https://github.com/openethereum/openethereum/pull/394)
- excluding test code itself from coverage [#395](https://github.com/openethereum/openethereum/pull/395)
- Additional tweaks to options. [#390](https://github.com/openethereum/openethereum/pull/390)
- --chain option for setting which network to go on. [#388](https://github.com/openethereum/openethereum/pull/388)
- Ethash unit tests final [#387](https://github.com/openethereum/openethereum/pull/387)
- jsonrpc [#374](https://github.com/openethereum/openethereum/pull/374)
- Editorconfig file. [#384](https://github.com/openethereum/openethereum/pull/384)
- Coverage effort [in progress] [#382](https://github.com/openethereum/openethereum/pull/382)
- making root kcov runner simular to the one running on CI [#380](https://github.com/openethereum/openethereum/pull/380)
- add gcc as a dependency to dockerfiles [#381](https://github.com/openethereum/openethereum/pull/381)
- Check for handshake expiration before attempting connection replace [#375](https://github.com/openethereum/openethereum/pull/375)
- Blocks propagation [#364](https://github.com/openethereum/openethereum/pull/364)
- Network params. [#376](https://github.com/openethereum/openethereum/pull/376)
- Add parity-node-zero to bootnodes. [#373](https://github.com/openethereum/openethereum/pull/373)
- kcov uses travis_job_id instead of coveralls token [#370](https://github.com/openethereum/openethereum/pull/370)
- Add parity-node-zero.ethcore.io to boot nodes. [#371](https://github.com/openethereum/openethereum/pull/371)
- First part of multi-mining support [#804](https://github.com/paritytech/parity/pull/804)
- Fixing future-current transactions clash [#802](https://github.com/paritytech/parity/pull/802)
- Increase threads to num_cpus & fix author reporting [#800](https://github.com/paritytech/parity/pull/800)
- another batch of rpc improvements [#798](https://github.com/paritytech/parity/pull/798)
- Avoid tracing DELEGATECALL and CALLCODE. Plus tests for it. [#794](https://github.com/paritytech/parity/pull/794)
- complete getting started steps for OS X [#793](https://github.com/paritytech/parity/pull/793)
- Auto detect available port (with fixed test) [#788](https://github.com/paritytech/parity/pull/788)
- eth_getTransactionReceipt [#792](https://github.com/paritytech/parity/pull/792)
- Comprehensive tests for tracing transactions [#791](https://github.com/paritytech/parity/pull/791)
- Disable preparing work package if miners don't ask for it. [#771](https://github.com/paritytech/parity/pull/771)
- Listen on all interfaces for JSONRPC by default. [#786](https://github.com/paritytech/parity/pull/786)
- eth_call [#783](https://github.com/paritytech/parity/pull/783)
- Revert "Auto detect available port" [#789](https://github.com/paritytech/parity/pull/789)
- added output to execution result [#777](https://github.com/paritytech/parity/pull/777)
- Auto detect available port [#782](https://github.com/paritytech/parity/pull/782)
- Allow 0x prefix for --author. [#785](https://github.com/paritytech/parity/pull/785)
- updated dependencies, moved rpctest to its own submodule [#784](https://github.com/paritytech/parity/pull/784)
- use ethjson module to load chain json tests [#778](https://github.com/paritytech/parity/pull/778)
- Tracing implemented. [#772](https://github.com/paritytech/parity/pull/772)
- test ethjson module on travis [#780](https://github.com/paritytech/parity/pull/780)
- batch of rpc fixes [#775](https://github.com/paritytech/parity/pull/775)
- rpctest executable [#757](https://github.com/paritytech/parity/pull/757)
- Refactoring error transaction_queue error handling and `update_sealing` method. [#753](https://github.com/paritytech/parity/pull/753)
- Avoid importing transactions with gas above 1.1*block_gas_limit to transaction queue [#760](https://github.com/paritytech/parity/pull/760)
- Removing transactions that failed to be pushed to block. [#752](https://github.com/paritytech/parity/pull/752)
- Updating clippy [#766](https://github.com/paritytech/parity/pull/766)
- Attempting to add all transactions to mined block [#754](https://github.com/paritytech/parity/pull/754)
- Prettier version w/o git dir; Use rustc compile time version [#761](https://github.com/paritytech/parity/pull/761)
- Stop adding transactions to queue while not fully synced [#751](https://github.com/paritytech/parity/pull/751)
- Verify sender's balance before importing transaction to queue [#746](https://github.com/paritytech/parity/pull/746)
- Returning number of transactions pending in block not queue [#750](https://github.com/paritytech/parity/pull/750)
- Speeding up build [#733](https://github.com/paritytech/parity/pull/733)
- adding check for a sync when giving work to miner [#742](https://github.com/paritytech/parity/pull/742)
- json deserialization module [#745](https://github.com/paritytech/parity/pull/745)
- Update install-parity.sh [#749](https://github.com/paritytech/parity/pull/749)
- Restart sync on getting old unknown header [#747](https://github.com/paritytech/parity/pull/747)
- Missing return for #737 [#744](https://github.com/paritytech/parity/pull/744)
- Enact block with uncles test [#741](https://github.com/paritytech/parity/pull/741)
- Fix outdated libc version on dependency [#740](https://github.com/paritytech/parity/pull/740)
- Fixing possible race in transaction queue [#735](https://github.com/paritytech/parity/pull/735)
- Sync fixed again [#737](https://github.com/paritytech/parity/pull/737)
- Don't change best block until extras is committed. [#734](https://github.com/paritytech/parity/pull/734)
- stable only until travis speedup [#736](https://github.com/paritytech/parity/pull/736)
- Optimizing uint operations (architecture independent) [#629](https://github.com/paritytech/parity/pull/629)
- Add RLP, not a data item. [#725](https://github.com/paritytech/parity/pull/725)
- PV63 receipts response [#687](https://github.com/paritytech/parity/pull/687)
- another batch of rpc tests [#723](https://github.com/paritytech/parity/pull/723)
- dockerfiles update [#726](https://github.com/paritytech/parity/pull/726)
- Lock reports to avoid out of order badness. [#721](https://github.com/paritytech/parity/pull/721)
- Fixed handshake leak [#722](https://github.com/paritytech/parity/pull/722)
- Allow configuration of target gas limit. [#719](https://github.com/paritytech/parity/pull/719)
- Version 1.1 in master [#714](https://github.com/paritytech/parity/pull/714)
- Silence UDP warnings [#720](https://github.com/paritytech/parity/pull/720)
- Rpc personal tests [#715](https://github.com/paritytech/parity/pull/715)
- Fixing warnings [#704](https://github.com/paritytech/parity/pull/704)
- docopts cleanups [#713](https://github.com/paritytech/parity/pull/713)
- Removed rocksdb build dependency [#717](https://github.com/paritytech/parity/pull/717)
- Fixed splitting Neighbours packet [#710](https://github.com/paritytech/parity/pull/710)
- management of account expiration & memory [#701](https://github.com/paritytech/parity/pull/701)
- Remove EarlyMerge from user docs. [#708](https://github.com/paritytech/parity/pull/708)
- Fixes and traces for refcountdb. [#705](https://github.com/paritytech/parity/pull/705)
- Check for NULL_RLP in AccountDB [#706](https://github.com/paritytech/parity/pull/706)
- ethminer as crate [#700](https://github.com/paritytech/parity/pull/700)
- Old ref-counted DB code [#692](https://github.com/paritytech/parity/pull/692)
- next batch of rpc tests and fixes [#699](https://github.com/paritytech/parity/pull/699)
- implemented eth_geStorageAt rpc method, added more tests for rpc [#695](https://github.com/paritytech/parity/pull/695)
- Fix JournalDB era marker [#690](https://github.com/paritytech/parity/pull/690)
- More sync fixes [#685](https://github.com/paritytech/parity/pull/685)
- mark some key tests as heavy [#694](https://github.com/paritytech/parity/pull/694)
- Limit incoming connections [#693](https://github.com/paritytech/parity/pull/693)
- Updating clippy [#688](https://github.com/paritytech/parity/pull/688)
- eth_accounts, eth_getBalance rpc functions && tests [#691](https://github.com/paritytech/parity/pull/691)
- state query for archive jdb [#683](https://github.com/paritytech/parity/pull/683)
- Fix for option 1 of JournalDB [#658](https://github.com/paritytech/parity/pull/658)
- Rename into something that is a little more descriptive. [#689](https://github.com/paritytech/parity/pull/689)
- JournalDB with in-memory overlay (option2) [#634](https://github.com/paritytech/parity/pull/634)
- additional (failing) SecretStore test [#682](https://github.com/paritytech/parity/pull/682)
- Updating clippy & fixing warnings. [#670](https://github.com/paritytech/parity/pull/670)
- rpc web3 tests [#681](https://github.com/paritytech/parity/pull/681)
- Making personal json-rpc configurable via cli [#677](https://github.com/paritytech/parity/pull/677)
- RPC Pending Transactions Filter [#661](https://github.com/paritytech/parity/pull/661)
- Rearrange journaldb infrastructure to make more extensible [#678](https://github.com/paritytech/parity/pull/678)
- JournalDB -> Box<JournalDB>, and it's a trait. [#673](https://github.com/paritytech/parity/pull/673)
- fix warning for transaction_queue.add usage [#676](https://github.com/paritytech/parity/pull/676)
- Adding std::mem back (only for asm) [#680](https://github.com/paritytech/parity/pull/680)
- update readme to exclude beta step (stable is ok) [#679](https://github.com/paritytech/parity/pull/679)
- fixed U256 and transaction request deserialization [#675](https://github.com/paritytech/parity/pull/675)
- More geth compatibility. [#666](https://github.com/paritytech/parity/pull/666)
- Removing running clippy by default on nightly. [#671](https://github.com/paritytech/parity/pull/671)
- rpc net submodule tests [#667](https://github.com/paritytech/parity/pull/667)
- Client module overhaul [#665](https://github.com/paritytech/parity/pull/665)
- Rpc transaction signing [#587](https://github.com/paritytech/parity/pull/587)
- Transaction queue exposed via JSON rpc. [#652](https://github.com/paritytech/parity/pull/652)
- Remove unneeded locking [#499](https://github.com/paritytech/parity/pull/499)
- extend sync status interface to sync provider [#664](https://github.com/paritytech/parity/pull/664)
- --archive is default. --pruning is option. [#663](https://github.com/paritytech/parity/pull/663)
- jsonrpc uses client and sync interfaces [#641](https://github.com/paritytech/parity/pull/641)
- Expose transaction insertion in sync lib [#609](https://github.com/paritytech/parity/pull/609)
- Removing get prefix from poll_info [#660](https://github.com/paritytech/parity/pull/660)
- Tx queue update height bug [#657](https://github.com/paritytech/parity/pull/657)
- Tx_queue_docs -> To master [#651](https://github.com/paritytech/parity/pull/651)
- blockchain import_route [#645](https://github.com/paritytech/parity/pull/645)
- Stop workers before stopping event loop [#655](https://github.com/paritytech/parity/pull/655)
- Validate sender before importing to queue [#650](https://github.com/paritytech/parity/pull/650)
- Gas price threshold for transactions [#640](https://github.com/paritytech/parity/pull/640)
- `dev` feature enabled when compiling without `--release` [#627](https://github.com/paritytech/parity/pull/627)
- Don't call mark_as_bad needlessly [#648](https://github.com/paritytech/parity/pull/648)
- Fixed sync handling large forks [#647](https://github.com/paritytech/parity/pull/647)
- Additional documentation for transaction queue [#631](https://github.com/paritytech/parity/pull/631)
- Transaction Queue Integration [#607](https://github.com/paritytech/parity/pull/607)
- Keys cli [#639](https://github.com/paritytech/parity/pull/639)
- fix build warning [#643](https://github.com/paritytech/parity/pull/643)
- updated jsonrpc-core and http-server libs [#642](https://github.com/paritytech/parity/pull/642)
- jsonrpc panics gracefully shutdown client [#638](https://github.com/paritytech/parity/pull/638)
- Fixing CLI parameters [#633](https://github.com/paritytech/parity/pull/633)
- Normal CLI options with geth. [#628](https://github.com/paritytech/parity/pull/628)
- Do not remove the peer immediatelly on send error [#626](https://github.com/paritytech/parity/pull/626)
- Jsonrpc block behind [#622](https://github.com/paritytech/parity/pull/622)
- Remove println!s. [#624](https://github.com/paritytech/parity/pull/624)
- JournalDB option 1 fix [#613](https://github.com/paritytech/parity/pull/613)
- Network tracing cleanup [#611](https://github.com/paritytech/parity/pull/611)
- Revert "Transaction Queue integration" [#602](https://github.com/paritytech/parity/pull/602)
- fix benches compilation [#601](https://github.com/paritytech/parity/pull/601)
- Transaction Queue integration [#595](https://github.com/paritytech/parity/pull/595)
- verifier trait improvements [#597](https://github.com/paritytech/parity/pull/597)
- build on rust stable [#600](https://github.com/paritytech/parity/pull/600)
- Geth import silent if no geth [#599](https://github.com/paritytech/parity/pull/599)
- Additional journaldb logging and assert [#593](https://github.com/paritytech/parity/pull/593)
- Uncle inclusion in block authoring. [#578](https://github.com/paritytech/parity/pull/578)
- Fixed potential deadlock on startup [#592](https://github.com/paritytech/parity/pull/592)
- Fixing an overflow panic [#591](https://github.com/paritytech/parity/pull/591)
- Fixed one more case of sync stalling [#590](https://github.com/paritytech/parity/pull/590)
- JournalDB can now operate in "archive" mode [#589](https://github.com/paritytech/parity/pull/589)
- Secret store integration with client [#586](https://github.com/paritytech/parity/pull/586)
- fix build on nightly rust [#588](https://github.com/paritytech/parity/pull/588)
- deserialization for uint generic [#585](https://github.com/paritytech/parity/pull/585)
- TransactionsQueue implementation [#559](https://github.com/paritytech/parity/pull/559)
- JSON-RPC personal service (follows #582) [#583](https://github.com/paritytech/parity/pull/583)
- making key directory thread-safe [#582](https://github.com/paritytech/parity/pull/582)
- verifier trait [#581](https://github.com/paritytech/parity/pull/581)
- shrink_to_fit after removing hashes. [#580](https://github.com/paritytech/parity/pull/580)
- support for rpc polling [#504](https://github.com/paritytech/parity/pull/504)
- limit serde codegen only to rpc types submodule [#569](https://github.com/paritytech/parity/pull/569)
- fork test for Issue test/568 [#573](https://github.com/paritytech/parity/pull/573)
- Fixing clippy warnings = small refactoring of `request_blocks` [#560](https://github.com/paritytech/parity/pull/560)
- Improved journaldb logging [#571](https://github.com/paritytech/parity/pull/571)
- Additional check to ancient enactments. [#570](https://github.com/paritytech/parity/pull/570)
- chainfilter shouldnt exclude to_block from results [#564](https://github.com/paritytech/parity/pull/564)
- Fix coverage test run [#567](https://github.com/paritytech/parity/pull/567)
- Mining [#547](https://github.com/paritytech/parity/pull/547)
- fix uint warnings [#565](https://github.com/paritytech/parity/pull/565)
- Finished blockchain generator. [#562](https://github.com/paritytech/parity/pull/562)
- fixed broken master [#563](https://github.com/paritytech/parity/pull/563)
- uint to separate crate [#544](https://github.com/paritytech/parity/pull/544)
- improved test chain generator [#554](https://github.com/paritytech/parity/pull/554)
- Fixing spelling in propagade->propagate [#558](https://github.com/paritytech/parity/pull/558)
- Changing RefCell to Cell in transaction. [#557](https://github.com/paritytech/parity/pull/557)
- Fix for morden consensus. [#556](https://github.com/paritytech/parity/pull/556)
- blockchain generator [#550](https://github.com/paritytech/parity/pull/550)
- Sparse Table Implementation (Row, Col) -> Val [#545](https://github.com/paritytech/parity/pull/545)
- fixup install script [#548](https://github.com/paritytech/parity/pull/548)
- Fixing clippy warnings [#546](https://github.com/paritytech/parity/pull/546)
- ignore out directory [#543](https://github.com/paritytech/parity/pull/543)
- u256 full multiplication [#539](https://github.com/paritytech/parity/pull/539)
- Fix panic when downloading stales, update homestead transition [#537](https://github.com/paritytech/parity/pull/537)
- changing x64 asm config [#534](https://github.com/paritytech/parity/pull/534)
- uncomment state transition tests [#533](https://github.com/paritytech/parity/pull/533)
- jsonrpc uses weak pointers to client [#532](https://github.com/paritytech/parity/pull/532)
- Morden switch to Homestead rules at #494,000. [#531](https://github.com/paritytech/parity/pull/531)
- Blockchain module cleanup [#524](https://github.com/paritytech/parity/pull/524)
- Multiplication issue + very exhaustive tests for it [#528](https://github.com/paritytech/parity/pull/528)
- EIP-8 [#498](https://github.com/paritytech/parity/pull/498)
- Make "random" trie tests fully deterministic. [#527](https://github.com/paritytech/parity/pull/527)
- udpated serde to version 0.7.0 [#526](https://github.com/paritytech/parity/pull/526)
- Better memory management [#516](https://github.com/paritytech/parity/pull/516)
- Typo [#523](https://github.com/paritytech/parity/pull/523)
- U512 add/sub optimize [#521](https://github.com/paritytech/parity/pull/521)
- Account management + geth keystore import (no utility crate added) [#509](https://github.com/paritytech/parity/pull/509)
- Delayed UPnP initialization [#505](https://github.com/paritytech/parity/pull/505)
- Fixing marking blocks as bad & SyncMessage bugs + small client refactoring. [#503](https://github.com/paritytech/parity/pull/503)
- optimization of U256 [#515](https://github.com/paritytech/parity/pull/515)
- Removed rocksdb from build scripts and instructions [#520](https://github.com/paritytech/parity/pull/520)
- RocksDB abstraction layer + Hash index for state DB [#464](https://github.com/paritytech/parity/pull/464)
- bloomfilter [#418](https://github.com/paritytech/parity/pull/418)
- Fixed a race condition when connecting peer disconnects immediately [#519](https://github.com/paritytech/parity/pull/519)
- ignore intellij idea project files as well [#518](https://github.com/paritytech/parity/pull/518)
- updated version of unicase [#517](https://github.com/paritytech/parity/pull/517)
- jsonrpc security, cors headers, fixed #359 [#493](https://github.com/paritytech/parity/pull/493)
- Rust implementations to replace data tables (#161) [#482](https://github.com/paritytech/parity/pull/482)
- fix issue with starting requested block number was not included itself [#512](https://github.com/paritytech/parity/pull/512)
- fixed travis --org GH_TOKEN [#510](https://github.com/paritytech/parity/pull/510)
- Improved log format [#506](https://github.com/paritytech/parity/pull/506)
- Log address on failed connection attempt [#502](https://github.com/paritytech/parity/pull/502)
- Bumping clippy and fixing warnings. [#501](https://github.com/paritytech/parity/pull/501)
- Bumping versions. Fixes #496 [#500](https://github.com/paritytech/parity/pull/500)
- Manage final user-input errors. [#494](https://github.com/paritytech/parity/pull/494)
- Remove unneeded code, fix minor potential issue with length. [#495](https://github.com/paritytech/parity/pull/495)
- Remove "unknown" from version string. [#488](https://github.com/paritytech/parity/pull/488)
- Include git commit date & hash. [#486](https://github.com/paritytech/parity/pull/486)
- Use proper version string. [#485](https://github.com/paritytech/parity/pull/485)
- Networking fixes [#480](https://github.com/paritytech/parity/pull/480)
- Fix potential deadlock on node table update [#484](https://github.com/paritytech/parity/pull/484)
- Squash more warnings [#481](https://github.com/paritytech/parity/pull/481)
- dev/test/build tools to separate crate [#477](https://github.com/paritytech/parity/pull/477)
- Back to original slab crate [#479](https://github.com/paritytech/parity/pull/479)
- Better user errors. [#476](https://github.com/paritytech/parity/pull/476)
- UDP Discovery [#440](https://github.com/paritytech/parity/pull/440)
- update readme with rust override [#475](https://github.com/paritytech/parity/pull/475)
- fixed warnings on rust beta [#474](https://github.com/paritytech/parity/pull/474)
- Secret store (part2 - encrypted key/value svc) [#449](https://github.com/paritytech/parity/pull/449)
- Kill bad test. [#473](https://github.com/paritytech/parity/pull/473)
- Make clippy an optional dependency [#422](https://github.com/paritytech/parity/pull/422)
- parity compiling fine [#469](https://github.com/paritytech/parity/pull/469)
- compiling ethcore on beta [#468](https://github.com/paritytech/parity/pull/468)
- Utils compiling in beta [#467](https://github.com/paritytech/parity/pull/467)
- Get rid of lru_cache dependency [#466](https://github.com/paritytech/parity/pull/466)
- Add daemonization. [#459](https://github.com/paritytech/parity/pull/459)
- Master upgrade [#448](https://github.com/paritytech/parity/pull/448)
- Remove contributing stuff now that we have CLA bot. [#447](https://github.com/paritytech/parity/pull/447)
- Add Morden bootnode. [#446](https://github.com/paritytech/parity/pull/446)
- beta fixes to master [#441](https://github.com/paritytech/parity/pull/441)
- Secret store (part1 - key management) [#423](https://github.com/paritytech/parity/pull/423)
- Use 1100000 as the homestead transition, fix build instructions. [#438](https://github.com/paritytech/parity/pull/438)
- More sync and propagation fixes [#420](https://github.com/paritytech/parity/pull/420)
- back to cargo crates [#436](https://github.com/paritytech/parity/pull/436)
- Fixing clippy warnings [#435](https://github.com/paritytech/parity/pull/435)
- preserving root cargo lock [#434](https://github.com/paritytech/parity/pull/434)
- Nightly fix [#432](https://github.com/paritytech/parity/pull/432)
- nightly fixes [#431](https://github.com/paritytech/parity/pull/431)
- Delay Homestead transition from 1,000,000. [#429](https://github.com/paritytech/parity/pull/429)
- Nightly fix effort (still should fail) [#428](https://github.com/paritytech/parity/pull/428)
- clippy version update, docopt-macro moving to fork [#425](https://github.com/paritytech/parity/pull/425)
- Network/Sync fixes and optimizations [#416](https://github.com/paritytech/parity/pull/416)
- Use latest era instead of end era as journal marker [#414](https://github.com/paritytech/parity/pull/414)
- api changes [#402](https://github.com/paritytech/parity/pull/402)
- Option for no init nodes. [#408](https://github.com/paritytech/parity/pull/408)
- Fixed block_bodies not returning a list [#406](https://github.com/paritytech/parity/pull/406)
- Fix test. [#405](https://github.com/paritytech/parity/pull/405)
- Allow path to be configured. [#404](https://github.com/paritytech/parity/pull/404)
- Upnp [#400](https://github.com/paritytech/parity/pull/400)
- eth_syncing, fixed #397 [#398](https://github.com/paritytech/parity/pull/398)
- Using modified version of ctrlc that catches SIGTERM [#399](https://github.com/paritytech/parity/pull/399)
- Catching panics. [#396](https://github.com/paritytech/parity/pull/396)
- jsonrpc [#391](https://github.com/paritytech/parity/pull/391)
- Externalities tests (still clumsy) [#394](https://github.com/paritytech/parity/pull/394)
- excluding test code itself from coverage [#395](https://github.com/paritytech/parity/pull/395)
- Additional tweaks to options. [#390](https://github.com/paritytech/parity/pull/390)
- --chain option for setting which network to go on. [#388](https://github.com/paritytech/parity/pull/388)
- Ethash unit tests final [#387](https://github.com/paritytech/parity/pull/387)
- jsonrpc [#374](https://github.com/paritytech/parity/pull/374)
- Editorconfig file. [#384](https://github.com/paritytech/parity/pull/384)
- Coverage effort [in progress] [#382](https://github.com/paritytech/parity/pull/382)
- making root kcov runner simular to the one running on CI [#380](https://github.com/paritytech/parity/pull/380)
- add gcc as a dependency to dockerfiles [#381](https://github.com/paritytech/parity/pull/381)
- Check for handshake expiration before attempting connection replace [#375](https://github.com/paritytech/parity/pull/375)
- Blocks propagation [#364](https://github.com/paritytech/parity/pull/364)
- Network params. [#376](https://github.com/paritytech/parity/pull/376)
- Add parity-node-zero to bootnodes. [#373](https://github.com/paritytech/parity/pull/373)
- kcov uses travis_job_id instead of coveralls token [#370](https://github.com/paritytech/parity/pull/370)
- Add parity-node-zero.ethcore.io to boot nodes. [#371](https://github.com/paritytech/parity/pull/371)
## Parity [v1.0.0-rc1](https://github.com/openethereum/openethereum/releases/tag/v1.0.0-rc1) (2016-03-15)
## Parity [v1.0.0-rc1](https://github.com/paritytech/parity/releases/tag/v1.0.0-rc1) (2016-03-15)
First Parity 1.0.0 release candidate.
- Version 1.0 in beta [#712](https://github.com/openethereum/openethereum/pull/712)
- Fix test for beta [#617](https://github.com/openethereum/openethereum/pull/617)
- JournalDB fix option 1 for beta [#614](https://github.com/openethereum/openethereum/pull/614)
- Failing test. [#606](https://github.com/openethereum/openethereum/pull/606)
- Fix transition points [#604](https://github.com/openethereum/openethereum/pull/604)
- (BETA) Update README.md [#549](https://github.com/openethereum/openethereum/pull/549)
- (BETA) instructions for beta release channel [#456](https://github.com/openethereum/openethereum/pull/456)
- (BETA) fix nightly - remerge [#454](https://github.com/openethereum/openethereum/pull/454)
- (BETA) fixing nightly version for beta [#452](https://github.com/openethereum/openethereum/pull/452)
- Version 1.0 in beta [#712](https://github.com/paritytech/parity/pull/712)
- Fix test for beta [#617](https://github.com/paritytech/parity/pull/617)
- JournalDB fix option 1 for beta [#614](https://github.com/paritytech/parity/pull/614)
- Failing test. [#606](https://github.com/paritytech/parity/pull/606)
- Fix transition points [#604](https://github.com/paritytech/parity/pull/604)
- (BETA) Update README.md [#549](https://github.com/paritytech/parity/pull/549)
- (BETA) instructions for beta release channel [#456](https://github.com/paritytech/parity/pull/456)
- (BETA) fix nightly - remerge [#454](https://github.com/paritytech/parity/pull/454)
- (BETA) fixing nightly version for beta [#452](https://github.com/paritytech/parity/pull/452)

View File

@@ -1,6 +1,6 @@
Note: Parity 1.1 reached End-of-Life on 2016-08-12 (EOL).
## Parity [v1.1.0](https://github.com/openethereum/openethereum/releases/tag/v1.1.0) (2016-05-02)
## Parity [v1.1.0](https://github.com/paritytech/parity/releases/tag/v1.1.0) (2016-05-02)
Parity 1.1.0 introduces:
@@ -12,143 +12,143 @@ Parity 1.1.0 introduces:
Full Changes:
- Exposing default extra data via ethcore RPC [#1032](https://github.com/openethereum/openethereum/pull/1032)
- Net etiquette [#1028](https://github.com/openethereum/openethereum/pull/1028)
- Bumping clippy & fixing warnings [#1024](https://github.com/openethereum/openethereum/pull/1024)
- Tracedb interface && cli [#997](https://github.com/openethereum/openethereum/pull/997)
- Switching to geth-attach supporting version of rpc core and server [#1022](https://github.com/openethereum/openethereum/pull/1022)
- Fixing status page displaying homestead [#1020](https://github.com/openethereum/openethereum/pull/1020)
- Core tracedb functionality. [#996](https://github.com/openethereum/openethereum/pull/996)
- RPC method for supported modules [#1019](https://github.com/openethereum/openethereum/pull/1019)
- Updating status page [#1015](https://github.com/openethereum/openethereum/pull/1015)
- Disabling wallet [#1017](https://github.com/openethereum/openethereum/pull/1017)
- More detailed fatal error reporting [#1016](https://github.com/openethereum/openethereum/pull/1016)
- Support 'pending' block in RPC [#1007](https://github.com/openethereum/openethereum/pull/1007)
- Enable pending block when there is local transaction pending. [#1005](https://github.com/openethereum/openethereum/pull/1005)
- updating key files permissions on save [#1010](https://github.com/openethereum/openethereum/pull/1010)
- IPC JSON RPC (for external interface) [#1009](https://github.com/openethereum/openethereum/pull/1009)
- Fixing Firefox authorization issues [#1013](https://github.com/openethereum/openethereum/pull/1013)
- cargo update [#1012](https://github.com/openethereum/openethereum/pull/1012)
- Switching to rust-url@1.0.0 [#1011](https://github.com/openethereum/openethereum/pull/1011)
- Exception handling in RPC & WebApps [#988](https://github.com/openethereum/openethereum/pull/988)
- Fixed uint deserialization from hex [#1008](https://github.com/openethereum/openethereum/pull/1008)
- Tweak timeout and packet size to handle slow networks better [#1004](https://github.com/openethereum/openethereum/pull/1004)
- db key is generic and can be made smaller [#1006](https://github.com/openethereum/openethereum/pull/1006)
- IPC with new serialization [#998](https://github.com/openethereum/openethereum/pull/998)
- make jsonrpc api engine agnostic [#1001](https://github.com/openethereum/openethereum/pull/1001)
- updated cargo.lock [#1002](https://github.com/openethereum/openethereum/pull/1002)
- updated parity dependencies [#993](https://github.com/openethereum/openethereum/pull/993)
- Auto (with codegen) binary serializer [#980](https://github.com/openethereum/openethereum/pull/980)
- Fixing transaction queue last_nonces update [#995](https://github.com/openethereum/openethereum/pull/995)
- import route contains ommited blocks [#994](https://github.com/openethereum/openethereum/pull/994)
- fixed encoding 0u8 [#992](https://github.com/openethereum/openethereum/pull/992)
- Use latest netstats [#989](https://github.com/openethereum/openethereum/pull/989)
- RPC shared external miner [#984](https://github.com/openethereum/openethereum/pull/984)
- Additional RPC methods for settings [#983](https://github.com/openethereum/openethereum/pull/983)
- Fixing transaction_queue deadlock [#985](https://github.com/openethereum/openethereum/pull/985)
- Refactoring of `parity/main.rs` [#981](https://github.com/openethereum/openethereum/pull/981)
- Fixing clippy warnings. [#982](https://github.com/openethereum/openethereum/pull/982)
- Bumping status page [#977](https://github.com/openethereum/openethereum/pull/977)
- querying extras separated to its own module [#972](https://github.com/openethereum/openethereum/pull/972)
- Exposing application logs via RPC. [#976](https://github.com/openethereum/openethereum/pull/976)
- Addressing binary serialization for db types [#966](https://github.com/openethereum/openethereum/pull/966)
- removed redundant unwraps [#935](https://github.com/openethereum/openethereum/pull/935)
- fixed transaction queue merge conflict [#975](https://github.com/openethereum/openethereum/pull/975)
- Configurable limit for transaction queue (CLI & Ethcore-RPC) [#974](https://github.com/openethereum/openethereum/pull/974)
- Enforce limit caused `last_nonce` to return incorrect values. [#973](https://github.com/openethereum/openethereum/pull/973)
- Even more detailed errors for transaction queue [#969](https://github.com/openethereum/openethereum/pull/969)
- temporary fix of panic in blockchain garbage collection [#970](https://github.com/openethereum/openethereum/pull/970)
- IPC codegen - some minor fixes & enhancements [#967](https://github.com/openethereum/openethereum/pull/967)
- Additional logging for transactions [#968](https://github.com/openethereum/openethereum/pull/968)
- refactored blockchain extras keys building [#963](https://github.com/openethereum/openethereum/pull/963)
- Using hyper-mio branch in webapps. [#957](https://github.com/openethereum/openethereum/pull/957)
- Remove nanomsg from build-dependencies [#965](https://github.com/openethereum/openethereum/pull/965)
- Fix build for --target=armv7-unknown-linux-gnueabihf [#964](https://github.com/openethereum/openethereum/pull/964)
- IPC RPC codegen extra feature [#962](https://github.com/openethereum/openethereum/pull/962)
- IPC RPC codegen for generic implementation [#961](https://github.com/openethereum/openethereum/pull/961)
- using db_path directory when upgrading [#960](https://github.com/openethereum/openethereum/pull/960)
- IPC hypervisor [#958](https://github.com/openethereum/openethereum/pull/958)
- Removing a transaction from queue now removes all from this sender with lower nonces. [#950](https://github.com/openethereum/openethereum/pull/950)
- bump status page version 0.1.7 [#955](https://github.com/openethereum/openethereum/pull/955)
- Changing cors header to be optional [#956](https://github.com/openethereum/openethereum/pull/956)
- Update ARM Dockerfile [#959](https://github.com/openethereum/openethereum/pull/959)
- Sensible gas limits for eth_sendTransaction [#953](https://github.com/openethereum/openethereum/pull/953)
- Fix upgrade script and make parity run when no .parity dir. [#954](https://github.com/openethereum/openethereum/pull/954)
- Tracing and docs for --pruning=auto. [#952](https://github.com/openethereum/openethereum/pull/952)
- IPC serialization for custom parameters [#946](https://github.com/openethereum/openethereum/pull/946)
- default filter from block should be Latest, not Earliest [#948](https://github.com/openethereum/openethereum/pull/948)
- README.md: removes sudo from multirust installation [#943](https://github.com/openethereum/openethereum/pull/943)
- Disable long lines formatting + ethash example. [#939](https://github.com/openethereum/openethereum/pull/939)
- Ethcore-specific RPC methods for altering miner parameters. [#934](https://github.com/openethereum/openethereum/pull/934)
- Use ethcore nanomsg bindings [#941](https://github.com/openethereum/openethereum/pull/941)
- Update IPC codegen to latest syntax libs [#938](https://github.com/openethereum/openethereum/pull/938)
- IPC documentation [#937](https://github.com/openethereum/openethereum/pull/937)
- Bumping clippy and fixing warnings. [#936](https://github.com/openethereum/openethereum/pull/936)
- Pruning auto [#927](https://github.com/openethereum/openethereum/pull/927)
- IPC persistent client link [#933](https://github.com/openethereum/openethereum/pull/933)
- IPC persistent client link [#930](https://github.com/openethereum/openethereum/pull/930)
- IPC handshake (negotiating protocol/api version) [#928](https://github.com/openethereum/openethereum/pull/928)
- Upgrade logic between versions [#914](https://github.com/openethereum/openethereum/pull/914)
- executive tracing cleanup [#903](https://github.com/openethereum/openethereum/pull/903)
- Ethcore-specific RPC methods [#923](https://github.com/openethereum/openethereum/pull/923)
- Parameter to allow user to force the sealing mechanism [#918](https://github.com/openethereum/openethereum/pull/918)
- updated dependencies [#921](https://github.com/openethereum/openethereum/pull/921)
- Fixed send transaction deadlock [#920](https://github.com/openethereum/openethereum/pull/920)
- --unlock is comma-delimited. [#916](https://github.com/openethereum/openethereum/pull/916)
- fixed eth_getLogs [#915](https://github.com/openethereum/openethereum/pull/915)
- create provided custom dir for keys if none [#912](https://github.com/openethereum/openethereum/pull/912)
- spec loading cleanup [#858](https://github.com/openethereum/openethereum/pull/858)
- WebApps HTTP Basic Auth Support [#906](https://github.com/openethereum/openethereum/pull/906)
- Removing match on constant [#888](https://github.com/openethereum/openethereum/pull/888)
- Update auth.rs [#907](https://github.com/openethereum/openethereum/pull/907)
- Enabling webapps compilation by default [#904](https://github.com/openethereum/openethereum/pull/904)
- fixed #895 [#898](https://github.com/openethereum/openethereum/pull/898)
- Support for compile-time included WebApplications. [#899](https://github.com/openethereum/openethereum/pull/899)
- Propagate transaction queue [#894](https://github.com/openethereum/openethereum/pull/894)
- Use new json RPC server [#901](https://github.com/openethereum/openethereum/pull/901)
- Gracefully dying when trying to enable RPC and app is compiled without it. [#900](https://github.com/openethereum/openethereum/pull/900)
- Additional logging and friendlier error messages [#893](https://github.com/openethereum/openethereum/pull/893)
- Avoid signalling readiness when app is about to be closed. [#897](https://github.com/openethereum/openethereum/pull/897)
- fixed #875 and added tests for eth_sendTransaction [#890](https://github.com/openethereum/openethereum/pull/890)
- passing key path to all invocations [#891](https://github.com/openethereum/openethereum/pull/891)
- Fixed eth_call nonce and gas handling [#892](https://github.com/openethereum/openethereum/pull/892)
- ipc rpc with nano transport (simple duplex) [#886](https://github.com/openethereum/openethereum/pull/886)
- Bumping clippy and fixing warnings [#889](https://github.com/openethereum/openethereum/pull/889)
- More descriptive expectations to transaction queue consistency. [#878](https://github.com/openethereum/openethereum/pull/878)
- uint bug - replace add with or [#879](https://github.com/openethereum/openethereum/pull/879)
- Fixing typo in bigint [#877](https://github.com/openethereum/openethereum/pull/877)
- update misleading cli help msg for author [#874](https://github.com/openethereum/openethereum/pull/874)
- Find geth data store cross-platform. [#871](https://github.com/openethereum/openethereum/pull/871)
- Import geth 1.4.0 keys [#872](https://github.com/openethereum/openethereum/pull/872)
- Syntax helpers for IPC RPC (part 2) [#854](https://github.com/openethereum/openethereum/pull/854)
- Fixed bootnode URL and error message [#870](https://github.com/openethereum/openethereum/pull/870)
- replace popcnt with mov (861) [#867](https://github.com/openethereum/openethereum/pull/867)
- weekly dependencies update [#865](https://github.com/openethereum/openethereum/pull/865)
- Remove unused mut [#866](https://github.com/openethereum/openethereum/pull/866)
- fixed #855 [#864](https://github.com/openethereum/openethereum/pull/864)
- simplified trace from functions, removed clippy warnings [#862](https://github.com/openethereum/openethereum/pull/862)
- Update deprecated HashDB methods in docs. [#857](https://github.com/openethereum/openethereum/pull/857)
- refactored loading transaction json tests [#853](https://github.com/openethereum/openethereum/pull/853)
- reorganised price info lookup [#852](https://github.com/openethereum/openethereum/pull/852)
- Publish locally-made transactions to peers. [#850](https://github.com/openethereum/openethereum/pull/850)
- Add generalbeck's token [#847](https://github.com/openethereum/openethereum/pull/847)
- Fix response for mining. [#846](https://github.com/openethereum/openethereum/pull/846)
- USD-based pricing of gas. [#843](https://github.com/openethereum/openethereum/pull/843)
- Parity can accept older work packages [#811](https://github.com/openethereum/openethereum/pull/811)
- Caching for computing seed hashes (#541) [#841](https://github.com/openethereum/openethereum/pull/841)
- checking transaction queue for pending transaction [#838](https://github.com/openethereum/openethereum/pull/838)
- refactored loading of state tests [#817](https://github.com/openethereum/openethereum/pull/817)
- tests for deserialization of transaction from issue #835 [#837](https://github.com/openethereum/openethereum/pull/837)
- unlocks with no expiration [on top of 833] [#834](https://github.com/openethereum/openethereum/pull/834)
- Unlock accounts on CLI. [#833](https://github.com/openethereum/openethereum/pull/833)
- Make BlockNumber optional, fix eth_call [#829](https://github.com/openethereum/openethereum/pull/829)
- Test socket to common test code (ethcore-devtools) [#831](https://github.com/openethereum/openethereum/pull/831)
- Use network id for the web3_net_version return. [#822](https://github.com/openethereum/openethereum/pull/822)
- json-rpc web3_sha3 [#824](https://github.com/openethereum/openethereum/pull/824)
- remove some unused files [#819](https://github.com/openethereum/openethereum/pull/819)
- debug symbols for master/beta [#818](https://github.com/openethereum/openethereum/pull/818)
- Syntax helpers for IPC RPC [#809](https://github.com/openethereum/openethereum/pull/809)
- refactored loading of execution tests [#803](https://github.com/openethereum/openethereum/pull/803)
- Rustfmt.toml [#805](https://github.com/openethereum/openethereum/pull/805)
- install-partiy runs brew reinstall parity on osx [#810](https://github.com/openethereum/openethereum/pull/810)
- Fix mining from spinning [#807](https://github.com/openethereum/openethereum/pull/807)
- Exposing default extra data via ethcore RPC [#1032](https://github.com/paritytech/parity/pull/1032)
- Net etiquette [#1028](https://github.com/paritytech/parity/pull/1028)
- Bumping clippy & fixing warnings [#1024](https://github.com/paritytech/parity/pull/1024)
- Tracedb interface && cli [#997](https://github.com/paritytech/parity/pull/997)
- Switching to geth-attach supporting version of rpc core and server [#1022](https://github.com/paritytech/parity/pull/1022)
- Fixing status page displaying homestead [#1020](https://github.com/paritytech/parity/pull/1020)
- Core tracedb functionality. [#996](https://github.com/paritytech/parity/pull/996)
- RPC method for supported modules [#1019](https://github.com/paritytech/parity/pull/1019)
- Updating status page [#1015](https://github.com/paritytech/parity/pull/1015)
- Disabling wallet [#1017](https://github.com/paritytech/parity/pull/1017)
- More detailed fatal error reporting [#1016](https://github.com/paritytech/parity/pull/1016)
- Support 'pending' block in RPC [#1007](https://github.com/paritytech/parity/pull/1007)
- Enable pending block when there is local transaction pending. [#1005](https://github.com/paritytech/parity/pull/1005)
- updating key files permissions on save [#1010](https://github.com/paritytech/parity/pull/1010)
- IPC JSON RPC (for external interface) [#1009](https://github.com/paritytech/parity/pull/1009)
- Fixing Firefox authorization issues [#1013](https://github.com/paritytech/parity/pull/1013)
- cargo update [#1012](https://github.com/paritytech/parity/pull/1012)
- Switching to rust-url@1.0.0 [#1011](https://github.com/paritytech/parity/pull/1011)
- Exception handling in RPC & WebApps [#988](https://github.com/paritytech/parity/pull/988)
- Fixed uint deserialization from hex [#1008](https://github.com/paritytech/parity/pull/1008)
- Tweak timeout and packet size to handle slow networks better [#1004](https://github.com/paritytech/parity/pull/1004)
- db key is generic and can be made smaller [#1006](https://github.com/paritytech/parity/pull/1006)
- IPC with new serialization [#998](https://github.com/paritytech/parity/pull/998)
- make jsonrpc api engine agnostic [#1001](https://github.com/paritytech/parity/pull/1001)
- updated cargo.lock [#1002](https://github.com/paritytech/parity/pull/1002)
- updated parity dependencies [#993](https://github.com/paritytech/parity/pull/993)
- Auto (with codegen) binary serializer [#980](https://github.com/paritytech/parity/pull/980)
- Fixing transaction queue last_nonces update [#995](https://github.com/paritytech/parity/pull/995)
- import route contains ommited blocks [#994](https://github.com/paritytech/parity/pull/994)
- fixed encoding 0u8 [#992](https://github.com/paritytech/parity/pull/992)
- Use latest netstats [#989](https://github.com/paritytech/parity/pull/989)
- RPC shared external miner [#984](https://github.com/paritytech/parity/pull/984)
- Additional RPC methods for settings [#983](https://github.com/paritytech/parity/pull/983)
- Fixing transaction_queue deadlock [#985](https://github.com/paritytech/parity/pull/985)
- Refactoring of `parity/main.rs` [#981](https://github.com/paritytech/parity/pull/981)
- Fixing clippy warnings. [#982](https://github.com/paritytech/parity/pull/982)
- Bumping status page [#977](https://github.com/paritytech/parity/pull/977)
- querying extras separated to its own module [#972](https://github.com/paritytech/parity/pull/972)
- Exposing application logs via RPC. [#976](https://github.com/paritytech/parity/pull/976)
- Addressing binary serialization for db types [#966](https://github.com/paritytech/parity/pull/966)
- removed redundant unwraps [#935](https://github.com/paritytech/parity/pull/935)
- fixed transaction queue merge conflict [#975](https://github.com/paritytech/parity/pull/975)
- Configurable limit for transaction queue (CLI & Ethcore-RPC) [#974](https://github.com/paritytech/parity/pull/974)
- Enforce limit caused `last_nonce` to return incorrect values. [#973](https://github.com/paritytech/parity/pull/973)
- Even more detailed errors for transaction queue [#969](https://github.com/paritytech/parity/pull/969)
- temporary fix of panic in blockchain garbage collection [#970](https://github.com/paritytech/parity/pull/970)
- IPC codegen - some minor fixes & enhancements [#967](https://github.com/paritytech/parity/pull/967)
- Additional logging for transactions [#968](https://github.com/paritytech/parity/pull/968)
- refactored blockchain extras keys building [#963](https://github.com/paritytech/parity/pull/963)
- Using hyper-mio branch in webapps. [#957](https://github.com/paritytech/parity/pull/957)
- Remove nanomsg from build-dependencies [#965](https://github.com/paritytech/parity/pull/965)
- Fix build for --target=armv7-unknown-linux-gnueabihf [#964](https://github.com/paritytech/parity/pull/964)
- IPC RPC codegen extra feature [#962](https://github.com/paritytech/parity/pull/962)
- IPC RPC codegen for generic implementation [#961](https://github.com/paritytech/parity/pull/961)
- using db_path directory when upgrading [#960](https://github.com/paritytech/parity/pull/960)
- IPC hypervisor [#958](https://github.com/paritytech/parity/pull/958)
- Removing a transaction from queue now removes all from this sender with lower nonces. [#950](https://github.com/paritytech/parity/pull/950)
- bump status page version 0.1.7 [#955](https://github.com/paritytech/parity/pull/955)
- Changing cors header to be optional [#956](https://github.com/paritytech/parity/pull/956)
- Update ARM Dockerfile [#959](https://github.com/paritytech/parity/pull/959)
- Sensible gas limits for eth_sendTransaction [#953](https://github.com/paritytech/parity/pull/953)
- Fix upgrade script and make parity run when no .parity dir. [#954](https://github.com/paritytech/parity/pull/954)
- Tracing and docs for --pruning=auto. [#952](https://github.com/paritytech/parity/pull/952)
- IPC serialization for custom parameters [#946](https://github.com/paritytech/parity/pull/946)
- default filter from block should be Latest, not Earliest [#948](https://github.com/paritytech/parity/pull/948)
- README.md: removes sudo from multirust installation [#943](https://github.com/paritytech/parity/pull/943)
- Disable long lines formatting + ethash example. [#939](https://github.com/paritytech/parity/pull/939)
- Ethcore-specific RPC methods for altering miner parameters. [#934](https://github.com/paritytech/parity/pull/934)
- Use ethcore nanomsg bindings [#941](https://github.com/paritytech/parity/pull/941)
- Update IPC codegen to latest syntax libs [#938](https://github.com/paritytech/parity/pull/938)
- IPC documentation [#937](https://github.com/paritytech/parity/pull/937)
- Bumping clippy and fixing warnings. [#936](https://github.com/paritytech/parity/pull/936)
- Pruning auto [#927](https://github.com/paritytech/parity/pull/927)
- IPC persistent client link [#933](https://github.com/paritytech/parity/pull/933)
- IPC persistent client link [#930](https://github.com/paritytech/parity/pull/930)
- IPC handshake (negotiating protocol/api version) [#928](https://github.com/paritytech/parity/pull/928)
- Upgrade logic between versions [#914](https://github.com/paritytech/parity/pull/914)
- executive tracing cleanup [#903](https://github.com/paritytech/parity/pull/903)
- Ethcore-specific RPC methods [#923](https://github.com/paritytech/parity/pull/923)
- Parameter to allow user to force the sealing mechanism [#918](https://github.com/paritytech/parity/pull/918)
- updated dependencies [#921](https://github.com/paritytech/parity/pull/921)
- Fixed send transaction deadlock [#920](https://github.com/paritytech/parity/pull/920)
- --unlock is comma-delimited. [#916](https://github.com/paritytech/parity/pull/916)
- fixed eth_getLogs [#915](https://github.com/paritytech/parity/pull/915)
- create provided custom dir for keys if none [#912](https://github.com/paritytech/parity/pull/912)
- spec loading cleanup [#858](https://github.com/paritytech/parity/pull/858)
- WebApps HTTP Basic Auth Support [#906](https://github.com/paritytech/parity/pull/906)
- Removing match on constant [#888](https://github.com/paritytech/parity/pull/888)
- Update auth.rs [#907](https://github.com/paritytech/parity/pull/907)
- Enabling webapps compilation by default [#904](https://github.com/paritytech/parity/pull/904)
- fixed #895 [#898](https://github.com/paritytech/parity/pull/898)
- Support for compile-time included WebApplications. [#899](https://github.com/paritytech/parity/pull/899)
- Propagate transaction queue [#894](https://github.com/paritytech/parity/pull/894)
- Use new json RPC server [#901](https://github.com/paritytech/parity/pull/901)
- Gracefully dying when trying to enable RPC and app is compiled without it. [#900](https://github.com/paritytech/parity/pull/900)
- Additional logging and friendlier error messages [#893](https://github.com/paritytech/parity/pull/893)
- Avoid signalling readiness when app is about to be closed. [#897](https://github.com/paritytech/parity/pull/897)
- fixed #875 and added tests for eth_sendTransaction [#890](https://github.com/paritytech/parity/pull/890)
- passing key path to all invocations [#891](https://github.com/paritytech/parity/pull/891)
- Fixed eth_call nonce and gas handling [#892](https://github.com/paritytech/parity/pull/892)
- ipc rpc with nano transport (simple duplex) [#886](https://github.com/paritytech/parity/pull/886)
- Bumping clippy and fixing warnings [#889](https://github.com/paritytech/parity/pull/889)
- More descriptive expectations to transaction queue consistency. [#878](https://github.com/paritytech/parity/pull/878)
- uint bug - replace add with or [#879](https://github.com/paritytech/parity/pull/879)
- Fixing typo in bigint [#877](https://github.com/paritytech/parity/pull/877)
- update misleading cli help msg for author [#874](https://github.com/paritytech/parity/pull/874)
- Find geth data store cross-platform. [#871](https://github.com/paritytech/parity/pull/871)
- Import geth 1.4.0 keys [#872](https://github.com/paritytech/parity/pull/872)
- Syntax helpers for IPC RPC (part 2) [#854](https://github.com/paritytech/parity/pull/854)
- Fixed bootnode URL and error message [#870](https://github.com/paritytech/parity/pull/870)
- replace popcnt with mov (861) [#867](https://github.com/paritytech/parity/pull/867)
- weekly dependencies update [#865](https://github.com/paritytech/parity/pull/865)
- Remove unused mut [#866](https://github.com/paritytech/parity/pull/866)
- fixed #855 [#864](https://github.com/paritytech/parity/pull/864)
- simplified trace from functions, removed clippy warnings [#862](https://github.com/paritytech/parity/pull/862)
- Update deprecated HashDB methods in docs. [#857](https://github.com/paritytech/parity/pull/857)
- refactored loading transaction json tests [#853](https://github.com/paritytech/parity/pull/853)
- reorganised price info lookup [#852](https://github.com/paritytech/parity/pull/852)
- Publish locally-made transactions to peers. [#850](https://github.com/paritytech/parity/pull/850)
- Add generalbeck's token [#847](https://github.com/paritytech/parity/pull/847)
- Fix response for mining. [#846](https://github.com/paritytech/parity/pull/846)
- USD-based pricing of gas. [#843](https://github.com/paritytech/parity/pull/843)
- Parity can accept older work packages [#811](https://github.com/paritytech/parity/pull/811)
- Caching for computing seed hashes (#541) [#841](https://github.com/paritytech/parity/pull/841)
- checking transaction queue for pending transaction [#838](https://github.com/paritytech/parity/pull/838)
- refactored loading of state tests [#817](https://github.com/paritytech/parity/pull/817)
- tests for deserialization of transaction from issue #835 [#837](https://github.com/paritytech/parity/pull/837)
- unlocks with no expiration [on top of 833] [#834](https://github.com/paritytech/parity/pull/834)
- Unlock accounts on CLI. [#833](https://github.com/paritytech/parity/pull/833)
- Make BlockNumber optional, fix eth_call [#829](https://github.com/paritytech/parity/pull/829)
- Test socket to common test code (ethcore-devtools) [#831](https://github.com/paritytech/parity/pull/831)
- Use network id for the web3_net_version return. [#822](https://github.com/paritytech/parity/pull/822)
- json-rpc web3_sha3 [#824](https://github.com/paritytech/parity/pull/824)
- remove some unused files [#819](https://github.com/paritytech/parity/pull/819)
- debug symbols for master/beta [#818](https://github.com/paritytech/parity/pull/818)
- Syntax helpers for IPC RPC [#809](https://github.com/paritytech/parity/pull/809)
- refactored loading of execution tests [#803](https://github.com/paritytech/parity/pull/803)
- Rustfmt.toml [#805](https://github.com/paritytech/parity/pull/805)
- install-partiy runs brew reinstall parity on osx [#810](https://github.com/paritytech/parity/pull/810)
- Fix mining from spinning [#807](https://github.com/paritytech/parity/pull/807)

View File

@@ -1,18 +1,18 @@
Note: Parity 1.10 reached End-of-Life on 2018-07-18 (EOL).
## Parity [v1.10.9](https://github.com/openethereum/openethereum/releases/tag/v1.10.9) (2018-07-07)
## Parity [v1.10.9](https://github.com/paritytech/parity/releases/tag/v1.10.9) (2018-07-07)
Parity 1.10.9 is a bug-fix release to improve performance and stability.
The full list of included changes:
- Stable: 1.10.9 backports ([#9016](https://github.com/openethereum/openethereum/pull/9016))
- Stable: 1.10.9 backports ([#9016](https://github.com/paritytech/parity/pull/9016))
- Parity-version: bump stable to 1.10.9
- Scripts: remove md5 checksums ([#8884](https://github.com/openethereum/openethereum/pull/8884))
- Add support for --chain tobalaba ([#8870](https://github.com/openethereum/openethereum/pull/8870))
- Scripts: remove md5 checksums ([#8884](https://github.com/paritytech/parity/pull/8884))
- Add support for --chain tobalaba ([#8870](https://github.com/paritytech/parity/pull/8870))
- Add support for --chain tobalaba
- Only return error log for rustls ([#9025](https://github.com/openethereum/openethereum/pull/9025))
- Fixes for misbehavior reporting in AuthorityRound ([#8998](https://github.com/openethereum/openethereum/pull/8998))
- Only return error log for rustls ([#9025](https://github.com/paritytech/parity/pull/9025))
- Fixes for misbehavior reporting in AuthorityRound ([#8998](https://github.com/paritytech/parity/pull/8998))
- Aura: only report after checking for repeated skipped primaries
- Aura: refactor duplicate code for getting epoch validator set
- Aura: verify_external: report on validator set contract instance
@@ -26,62 +26,62 @@ The full list of included changes:
- Aura: let reporting fail on verify_block_basic
- Aura: add comment about possible failure of reporting
## Parity [v1.10.8](https://github.com/openethereum/openethereum/releases/tag/v1.10.8) (2018-06-29)
## Parity [v1.10.8](https://github.com/paritytech/parity/releases/tag/v1.10.8) (2018-06-29)
Parity 1.10.8 is a bug-fix release to improve performance and stability.
The full list of included changes:
- Backports ([#8986](https://github.com/openethereum/openethereum/pull/8986))
- Snap: downgrade rust to revision 1.26.2, ref snapcraft/+bug/1778530 ([#8984](https://github.com/openethereum/openethereum/pull/8984))
- Backports ([#8986](https://github.com/paritytech/parity/pull/8986))
- Snap: downgrade rust to revision 1.26.2, ref snapcraft/+bug/1778530 ([#8984](https://github.com/paritytech/parity/pull/8984))
- Snap: downgrade rust to revision 1.26.2, ref snapcraft/+bug/1778530
- Snap: use plugin rust
- Fix deadlock in blockchain. ([#8977](https://github.com/openethereum/openethereum/pull/8977))
- Fix deadlock in blockchain. ([#8977](https://github.com/paritytech/parity/pull/8977))
- Remove js-glue from workspace
- Bump stable to 1.10.8 ([#8951](https://github.com/openethereum/openethereum/pull/8951))
- Bump stable to 1.10.8 ([#8951](https://github.com/paritytech/parity/pull/8951))
- Parity-version: bump stable to 1.10.8
- Update ropsten.json ([#8926](https://github.com/openethereum/openethereum/pull/8926))
- Scripts: minor improvements ([#8930](https://github.com/openethereum/openethereum/pull/8930))
- Update ropsten.json ([#8926](https://github.com/paritytech/parity/pull/8926))
- Scripts: minor improvements ([#8930](https://github.com/paritytech/parity/pull/8930))
- CI: enable 'latest' docker tag on master pipeline
- CI: mark both beta and stable as stable snap.
- CI: sign all windows binaries
- Scripts: remove whisper target not available in stable
- Scripts: fix gitlab strip binaries
- Scripts: fix docker build tag on latest using master ([#8952](https://github.com/openethereum/openethereum/pull/8952))
- Rpc: cap gas limit of local calls ([#8943](https://github.com/openethereum/openethereum/pull/8943))
- Scripts: fix docker build tag on latest using master ([#8952](https://github.com/paritytech/parity/pull/8952))
- Rpc: cap gas limit of local calls ([#8943](https://github.com/paritytech/parity/pull/8943))
## Parity [v1.10.7](https://github.com/openethereum/openethereum/releases/tag/v1.10.7) (2018-06-20)
## Parity [v1.10.7](https://github.com/paritytech/parity/releases/tag/v1.10.7) (2018-06-20)
Parity 1.10.7 is a bug-fix release to improve performance and stability.
The full list of included changes:
- Backports ([#8919](https://github.com/openethereum/openethereum/pull/8919))
- Fixed AuthorityRound deadlock on shutdown, closes [#8088](https://github.com/openethereum/openethereum/issues/8088) ([#8803](https://github.com/openethereum/openethereum/pull/8803))
- CI: Fix docker tags ([#8822](https://github.com/openethereum/openethereum/pull/8822))
- Backports ([#8919](https://github.com/paritytech/parity/pull/8919))
- Fixed AuthorityRound deadlock on shutdown, closes [#8088](https://github.com/paritytech/parity/issues/8088) ([#8803](https://github.com/paritytech/parity/pull/8803))
- CI: Fix docker tags ([#8822](https://github.com/paritytech/parity/pull/8822))
- Scripts: enable docker builds for beta and stable
- Scripts: docker latest should be beta not master
- Scripts: docker latest is master
- Fix concurrent access to signer queue ([#8854](https://github.com/openethereum/openethereum/pull/8854))
- Fix concurrent access to signer queue ([#8854](https://github.com/paritytech/parity/pull/8854))
- Fix concurrent access to signer queue
- Put request back to the queue if confirmation failed
- Typo: fix docs and rename functions to be more specific
- Change trace info "Transaction" -> "Request"
- Add new ovh bootnodes and fix port for foundation bootnode 3.2 ([#8886](https://github.com/openethereum/openethereum/pull/8886))
- Add new ovh bootnodes and fix port for foundation bootnode 3.2 ([#8886](https://github.com/paritytech/parity/pull/8886))
- Add new ovh bootnodes and fix port for foundation bootnode 3.2
- Remove old bootnodes.
- Remove duplicate 1118980bf48b0a3640bdba04e0fe78b1add18e1cd99bf22d53daac1fd9972ad650df52176e7c7d89d1114cfef2bc23a2959aa54998a46afcf7d91809f0855082
- Block 0 is valid in queries ([#8891](https://github.com/openethereum/openethereum/pull/8891))
- Update jsonrpc libs, fixed ipc leak, closes [#8774](https://github.com/openethereum/openethereum/issues/8774) ([#8876](https://github.com/openethereum/openethereum/pull/8876))
- Add ETC Cooperative-run load balanced parity node ([#8892](https://github.com/openethereum/openethereum/pull/8892))
- Minor fix in chain supplier and light provider ([#8906](https://github.com/openethereum/openethereum/pull/8906))
- Block 0 is valid in queries ([#8891](https://github.com/paritytech/parity/pull/8891))
- Update jsonrpc libs, fixed ipc leak, closes [#8774](https://github.com/paritytech/parity/issues/8774) ([#8876](https://github.com/paritytech/parity/pull/8876))
- Add ETC Cooperative-run load balanced parity node ([#8892](https://github.com/paritytech/parity/pull/8892))
- Minor fix in chain supplier and light provider ([#8906](https://github.com/paritytech/parity/pull/8906))
- Fix chain supplier increment
- Fix light provider block_headers
- Parity-version: stable release 1.10.7 ([#8855](https://github.com/openethereum/openethereum/pull/8855))
- Cherry-pick network-specific release flag ([#8821](https://github.com/openethereum/openethereum/pull/8821))
- Parity-version: stable release 1.10.7 ([#8855](https://github.com/paritytech/parity/pull/8855))
- Cherry-pick network-specific release flag ([#8821](https://github.com/paritytech/parity/pull/8821))
- Parity-version: bump stable to 1.10.7
## Parity [v1.10.6](https://github.com/openethereum/openethereum/releases/tag/v1.10.6) (2018-06-05)
## Parity [v1.10.6](https://github.com/paritytech/parity/releases/tag/v1.10.6) (2018-06-05)
Parity 1.10.6 is a security-relevant release. Please upgrade your nodes as soon as possible.
@@ -93,66 +93,66 @@ If you can not upgrade to 1.10+ yet, please use the following branches and build
The full list of included changes:
- Parity-version: bump stable to 1.10.6 ([#8805](https://github.com/openethereum/openethereum/pull/8805))
- Parity-version: bump stable to 1.10.6 ([#8805](https://github.com/paritytech/parity/pull/8805))
- Parity-version: bump stable to 1.10.6
- Disallow unsigned transactions in case EIP-86 is disabled ([#8802](https://github.com/openethereum/openethereum/pull/8802))
- Update shell32-sys to fix windows build ([#8793](https://github.com/openethereum/openethereum/pull/8793))
- Backports ([#8782](https://github.com/openethereum/openethereum/pull/8782))
- Fix light sync with initial validator-set contract ([#8528](https://github.com/openethereum/openethereum/pull/8528))
- Disallow unsigned transactions in case EIP-86 is disabled ([#8802](https://github.com/paritytech/parity/pull/8802))
- Update shell32-sys to fix windows build ([#8793](https://github.com/paritytech/parity/pull/8793))
- Backports ([#8782](https://github.com/paritytech/parity/pull/8782))
- Fix light sync with initial validator-set contract ([#8528](https://github.com/paritytech/parity/pull/8528))
- Fix #8468
- Use U256::max_value() instead
- Fix again
- Also change initial transaction gas
- Don't open Browser post-install on Mac ([#8641](https://github.com/openethereum/openethereum/pull/8641))
- Don't open Browser post-install on Mac ([#8641](https://github.com/paritytech/parity/pull/8641))
- Prefix uint fmt with `0x` with alternate flag
- Set the request index to that of the current request ([#8683](https://github.com/openethereum/openethereum/pull/8683))
- Set the request index to that of the current request ([#8683](https://github.com/paritytech/parity/pull/8683))
- Set the request index to that of the current request
- Node table sorting according to last contact data ([#8541](https://github.com/openethereum/openethereum/pull/8541))
- Node table sorting according to last contact data ([#8541](https://github.com/paritytech/parity/pull/8541))
- Network-devp2p: sort nodes in node table using last contact data
- Network-devp2p: rename node contact types in node table json output
- Network-devp2p: fix node table tests
- Network-devp2p: note node failure when failed to establish connection
- Network-devp2p: handle UselessPeer error
- Network-devp2p: note failure when marking node as useless
- Network-devp2p: handle UselessPeer disconnect ([#8686](https://github.com/openethereum/openethereum/pull/8686))
- Parity: bump stable version to 1.10.5 ([#8749](https://github.com/openethereum/openethereum/pull/8749))
- Network-devp2p: handle UselessPeer disconnect ([#8686](https://github.com/paritytech/parity/pull/8686))
- Parity: bump stable version to 1.10.5 ([#8749](https://github.com/paritytech/parity/pull/8749))
- Parity: bump stable version to 1.10.5
- Fix failing doc tests running on non-code
## Parity [v1.10.4](https://github.com/openethereum/openethereum/releases/tag/v1.10.4) (2018-05-15)
## Parity [v1.10.4](https://github.com/paritytech/parity/releases/tag/v1.10.4) (2018-05-15)
Parity 1.10.4 is a bug-fix release to improve performance and stability.
The full list of included changes:
- Backports ([#8623](https://github.com/openethereum/openethereum/pull/8623))
- Fix account list double 0x display ([#8596](https://github.com/openethereum/openethereum/pull/8596))
- Backports ([#8623](https://github.com/paritytech/parity/pull/8623))
- Fix account list double 0x display ([#8596](https://github.com/paritytech/parity/pull/8596))
- Remove unused self import
- Fix account list double 0x display
- Trace precompiled contracts when the transfer value is not zero ([#8486](https://github.com/openethereum/openethereum/pull/8486))
- Trace precompiled contracts when the transfer value is not zero ([#8486](https://github.com/paritytech/parity/pull/8486))
- Trace precompiled contracts when the transfer value is not zero
- Add tests for precompiled CALL tracing
- Use byzantium test machine for the new test
- Add notes in comments on why we don't trace all precompileds
- Use is_transferred instead of transferred
- Gitlab test script fixes ([#8573](https://github.com/openethereum/openethereum/pull/8573))
- Gitlab test script fixes ([#8573](https://github.com/paritytech/parity/pull/8573))
- Exclude /docs from modified files.
- Ensure all references in the working tree are available
- Remove duplicated line from test script
- Bump stable to 1.10.4 ([#8626](https://github.com/openethereum/openethereum/pull/8626))
- Allow stable snaps to be stable. ([#8582](https://github.com/openethereum/openethereum/pull/8582))
- Bump stable to 1.10.4 ([#8626](https://github.com/paritytech/parity/pull/8626))
- Allow stable snaps to be stable. ([#8582](https://github.com/paritytech/parity/pull/8582))
## Parity [v1.10.3](https://github.com/openethereum/openethereum/releases/tag/v1.10.3) (2018-05-08)
## Parity [v1.10.3](https://github.com/paritytech/parity/releases/tag/v1.10.3) (2018-05-08)
Parity 1.10.3 marks the first stable release on the 1.10 track. Among others, it improves performance and stability.
The full list of included changes:
- Backports ([#8557](https://github.com/openethereum/openethereum/pull/8557))
- Update wasmi and pwasm-utils ([#8493](https://github.com/openethereum/openethereum/pull/8493))
- Backports ([#8557](https://github.com/paritytech/parity/pull/8557))
- Update wasmi and pwasm-utils ([#8493](https://github.com/paritytech/parity/pull/8493))
- Update wasmi to 0.2
- Update pwasm-utils to 0.1.5
- Fetching logs by hash in blockchain database ([#8463](https://github.com/openethereum/openethereum/pull/8463))
- Fetching logs by hash in blockchain database ([#8463](https://github.com/paritytech/parity/pull/8463))
- Fetch logs by hash in blockchain database
- Fix tests
- Add unit test for branch block logs fetching
@@ -165,7 +165,7 @@ The full list of included changes:
- typo: pass value by reference
- Use loop and wrap inside blocks to simplify the code
- typo: missed a comment
- Pass on storage keys tracing to handle the case when it is not modified ([#8491](https://github.com/openethereum/openethereum/pull/8491))
- Pass on storage keys tracing to handle the case when it is not modified ([#8491](https://github.com/paritytech/parity/pull/8491))
- Pass on storage keys even if it is not modified
- typo: account and storage query `to_pod_diff` builds both `touched_addresses` merge and storage keys merge.
- Fix tests
@@ -175,86 +175,86 @@ The full list of included changes:
- Address grumbles
- typo: remove unwanted empty line
- ensure_cached compiles with the original signature
- Enable WebAssembly and Byzantium for Ellaism ([#8520](https://github.com/openethereum/openethereum/pull/8520))
- Enable WebAssembly and Byzantium for Ellaism ([#8520](https://github.com/paritytech/parity/pull/8520))
- Enable WebAssembly and Byzantium for Ellaism
- Fix indentation
- Remove empty lines
- Fix compilation.
- Stabilize 1.10.3 ([#8474](https://github.com/openethereum/openethereum/pull/8474))
- Stabilize 1.10.3 ([#8474](https://github.com/paritytech/parity/pull/8474))
- Stabelize 1.10
- Bump stable to 1.10.3
- Update Gitlab scripts
- Fix snap builds ([#8483](https://github.com/openethereum/openethereum/pull/8483))
- Fix docker build ([#8462](https://github.com/openethereum/openethereum/pull/8462))
- Fix snap builds ([#8483](https://github.com/paritytech/parity/pull/8483))
- Fix docker build ([#8462](https://github.com/paritytech/parity/pull/8462))
- Use `master` as Docker's `latest` (`beta-release` is not used anymore)
## Parity [v1.10.2](https://github.com/openethereum/openethereum/releases/tag/v1.10.2) (2018-04-24)
## Parity [v1.10.2](https://github.com/paritytech/parity/releases/tag/v1.10.2) (2018-04-24)
Parity 1.10.2 is a bug-fix release to improve performance and stability.
The full list of included changes:
- Update Parity beta to 1.10.2 + Backports ([#8455](https://github.com/openethereum/openethereum/pull/8455))
- Update Parity beta to 1.10.2 + Backports ([#8455](https://github.com/paritytech/parity/pull/8455))
- Update Parity beta to 1.10.2
- Allow 32-bit pipelines to fail ([#8454](https://github.com/openethereum/openethereum/pull/8454))
- Allow 32-bit pipelines to fail ([#8454](https://github.com/paritytech/parity/pull/8454))
- Disable 32-bit targets for Gitlab
- Rename Linux pipelines
- Update wasmi ([#8452](https://github.com/openethereum/openethereum/pull/8452))
- Update wasmi ([#8452](https://github.com/paritytech/parity/pull/8452))
- Fix Cargo.lock
- Backports ([#8450](https://github.com/openethereum/openethereum/pull/8450))
- Use forked app_dirs crate for reverted Windows dir behavior ([#8438](https://github.com/openethereum/openethereum/pull/8438))
- Backports ([#8450](https://github.com/paritytech/parity/pull/8450))
- Use forked app_dirs crate for reverted Windows dir behavior ([#8438](https://github.com/paritytech/parity/pull/8438))
- Remove unused app_dirs dependency in CLI
- Use forked app_dirs crate for reverted Windows dir behavior
- Remove Tendermint extra_info due to seal inconsistencies ([#8367](https://github.com/openethereum/openethereum/pull/8367))
- Handle queue import errors a bit more gracefully ([#8385](https://github.com/openethereum/openethereum/pull/8385))
- Improve VM executor stack size estimation rules ([#8439](https://github.com/openethereum/openethereum/pull/8439))
- Remove Tendermint extra_info due to seal inconsistencies ([#8367](https://github.com/paritytech/parity/pull/8367))
- Handle queue import errors a bit more gracefully ([#8385](https://github.com/paritytech/parity/pull/8385))
- Improve VM executor stack size estimation rules ([#8439](https://github.com/paritytech/parity/pull/8439))
- Improve VM executor stack size estimation rules
- Typo: docs add "(Debug build)" comment
- Fix an off by one typo and set minimal stack size
- Use saturating_sub to avoid potential overflow
## Parity [v1.10.1](https://github.com/openethereum/openethereum/releases/tag/v1.10.1) (2018-04-17)
## Parity [v1.10.1](https://github.com/paritytech/parity/releases/tag/v1.10.1) (2018-04-17)
Parity 1.10.1 is a bug-fix release to improve performance and stability. Among other changes, you can now use `--warp-barrier [BLOCK]` to specify a minimum block number to `--warp` to. This is useful in cases where clients restore to outdated snapshots far behind the latest chain head.
The full list of included changes:
- Bump beta to 1.10.1 ([#8350](https://github.com/openethereum/openethereum/pull/8350))
- Bump beta to 1.10.1 ([#8350](https://github.com/paritytech/parity/pull/8350))
- Bump beta to 1.10.1
- Unflag critical release
- Backports ([#8346](https://github.com/openethereum/openethereum/pull/8346))
- Warp-only sync with warp-barrier [blocknumber] flag. ([#8228](https://github.com/openethereum/openethereum/pull/8228))
- Backports ([#8346](https://github.com/paritytech/parity/pull/8346))
- Warp-only sync with warp-barrier [blocknumber] flag. ([#8228](https://github.com/paritytech/parity/pull/8228))
- Warp-only sync with warp-after [blocknumber] flag.
- Fix tests.
- Fix configuration tests.
- Rename to warp barrier.
- Allow unsafe js eval on Parity Wallet. ([#8204](https://github.com/openethereum/openethereum/pull/8204))
- Update musicoin spec in line with gmc v2.6.2 ([#8242](https://github.com/openethereum/openethereum/pull/8242))
- Supress TemporaryInvalid verification failures. ([#8256](https://github.com/openethereum/openethereum/pull/8256))
- Include suicided accounts in state diff ([#8297](https://github.com/openethereum/openethereum/pull/8297))
- Allow unsafe js eval on Parity Wallet. ([#8204](https://github.com/paritytech/parity/pull/8204))
- Update musicoin spec in line with gmc v2.6.2 ([#8242](https://github.com/paritytech/parity/pull/8242))
- Supress TemporaryInvalid verification failures. ([#8256](https://github.com/paritytech/parity/pull/8256))
- Include suicided accounts in state diff ([#8297](https://github.com/paritytech/parity/pull/8297))
- Include suicided accounts in state diff
- Shorten form match -> if let
- Test suicide trace diff in State
- Replace_home for password_files, reserved_peers and log_file ([#8324](https://github.com/openethereum/openethereum/pull/8324))
- Replace_home for password_files, reserved_peers and log_file ([#8324](https://github.com/paritytech/parity/pull/8324))
- Replace_home for password_files, reserved_peers and log_file
- Typo: arg_log_file is Option
- Enable UI by default, but only display info page.
- Fix test.
- Fix naming and remove old todo.
- Change "wallet" with "browser UI"
- Change name Wallet -> UI ([#8164](https://github.com/openethereum/openethereum/pull/8164)) ([#8205](https://github.com/openethereum/openethereum/pull/8205))
- Change name Wallet -> UI ([#8164](https://github.com/paritytech/parity/pull/8164)) ([#8205](https://github.com/paritytech/parity/pull/8205))
- Change name Wallet -> UI
- Make warning bold
- Backport [#8099](https://github.com/openethereum/openethereum/pull/8099) ([#8132](https://github.com/openethereum/openethereum/pull/8132))
- WASM libs ([#8220](https://github.com/openethereum/openethereum/pull/8220))
- Bump wasm libs ([#8171](https://github.com/openethereum/openethereum/pull/8171))
- Bump wasmi version ([#8209](https://github.com/openethereum/openethereum/pull/8209))
- Update hyper to 0.11.24 ([#8203](https://github.com/openethereum/openethereum/pull/8203))
- Updated jsonrpc to include latest backports (beta) ([#8181](https://github.com/openethereum/openethereum/pull/8181))
- Backport [#8099](https://github.com/paritytech/parity/pull/8099) ([#8132](https://github.com/paritytech/parity/pull/8132))
- WASM libs ([#8220](https://github.com/paritytech/parity/pull/8220))
- Bump wasm libs ([#8171](https://github.com/paritytech/parity/pull/8171))
- Bump wasmi version ([#8209](https://github.com/paritytech/parity/pull/8209))
- Update hyper to 0.11.24 ([#8203](https://github.com/paritytech/parity/pull/8203))
- Updated jsonrpc to include latest backports (beta) ([#8181](https://github.com/paritytech/parity/pull/8181))
- Updated jsonrpc to include latest backports
- Update dependencies.
## Parity [v1.10.0](https://github.com/openethereum/openethereum/releases/tag/v1.10.0) (2018-03-22)
## Parity [v1.10.0](https://github.com/paritytech/parity/releases/tag/v1.10.0) (2018-03-22)
This is the Parity 1.10.0-beta release! Cool!
@@ -292,7 +292,7 @@ To enable empty step messages, set the `emptyStepsTransition` to your favorite b
We removed the old database migrations from 2016. In case you upgrade Parity from a really, really old version, you will have to reset your database manually first with `parity <options> db kill`.
We fixed DELEGATECALL `from` and `to` fields, see [#7166](https://github.com/openethereum/openethereum/issues/7166).
We fixed DELEGATECALL `from` and `to` fields, see [#7166](https://github.com/paritytech/parity/issues/7166).
We reduced the default USD per transaction value to 0.0001. Thanks, @MysticRyuujin!
@@ -302,60 +302,60 @@ The Musicoin chain is now enabled with Byzantium features starting at block `2_2
The full list of included changes:
- Re-enable signer, even with no UI. ([#8167](https://github.com/openethereum/openethereum/pull/8167)) ([#8168](https://github.com/openethereum/openethereum/pull/8168))
- Re-enable signer, even with no UI. ([#8167](https://github.com/paritytech/parity/pull/8167)) ([#8168](https://github.com/paritytech/parity/pull/8168))
- Re-enable signer, even with no UI.
- Fix message.
- Beta Backports ([#8136](https://github.com/openethereum/openethereum/pull/8136))
- Support parity protocol. ([#8035](https://github.com/openethereum/openethereum/pull/8035))
- updater: apply exponential backoff after download failure ([#8059](https://github.com/openethereum/openethereum/pull/8059))
- Beta Backports ([#8136](https://github.com/paritytech/parity/pull/8136))
- Support parity protocol. ([#8035](https://github.com/paritytech/parity/pull/8035))
- updater: apply exponential backoff after download failure ([#8059](https://github.com/paritytech/parity/pull/8059))
- updater: apply exponential backoff after download failure
- updater: reset backoff on new release
- Max code size on Kovan ([#8067](https://github.com/openethereum/openethereum/pull/8067))
- Max code size on Kovan ([#8067](https://github.com/paritytech/parity/pull/8067))
- Enable code size limit on kovan
- Fix formatting.
- Limit incoming connections. ([#8060](https://github.com/openethereum/openethereum/pull/8060))
- Limit incoming connections. ([#8060](https://github.com/paritytech/parity/pull/8060))
- Limit ingress connections
- Optimized handshakes logging
- WASM libraries bump ([#7970](https://github.com/openethereum/openethereum/pull/7970))
- WASM libraries bump ([#7970](https://github.com/paritytech/parity/pull/7970))
- update wasmi, parity-wasm, wasm-utils to latest version
- Update to new wasmi & error handling
- also utilize new stack limiter
- fix typo
- replace dependency url
- Cargo.lock update
- add some dos protection ([#8084](https://github.com/openethereum/openethereum/pull/8084))
- revert removing blooms ([#8066](https://github.com/openethereum/openethereum/pull/8066))
- Revert "fix traces, removed bloomchain crate, closes [#7228](https://github.com/openethereum/openethereum/issues/7228), closes [#7167](https://github.com/openethereum/openethereum/issues/7167)"
- Revert "fixed broken logs ([#7934](https://github.com/openethereum/openethereum/pull/7934))"
- add some dos protection ([#8084](https://github.com/paritytech/parity/pull/8084))
- revert removing blooms ([#8066](https://github.com/paritytech/parity/pull/8066))
- Revert "fix traces, removed bloomchain crate, closes [#7228](https://github.com/paritytech/parity/issues/7228), closes [#7167](https://github.com/paritytech/parity/issues/7167)"
- Revert "fixed broken logs ([#7934](https://github.com/paritytech/parity/pull/7934))"
- fixed broken logs
- bring back old lock order
- remove migration v13
- revert CURRENT_VERSION to 12 in migration.rs
- more dos protection ([#8104](https://github.com/openethereum/openethereum/pull/8104))
- Const time comparison ([#8113](https://github.com/openethereum/openethereum/pull/8113))
- more dos protection ([#8104](https://github.com/paritytech/parity/pull/8104))
- Const time comparison ([#8113](https://github.com/paritytech/parity/pull/8113))
- Use `subtle::slices_equal` for constant time comparison.
- Also update the existing version of subtle in `ethcrypto` from 0.1 to 0.5
- Test specifically for InvalidPassword error.
- fix trace filter returning returning unrelated reward calls, closes #8070 ([#8098](https://github.com/openethereum/openethereum/pull/8098))
- network: init discovery using healthy nodes ([#8061](https://github.com/openethereum/openethereum/pull/8061))
- fix trace filter returning returning unrelated reward calls, closes #8070 ([#8098](https://github.com/paritytech/parity/pull/8098))
- network: init discovery using healthy nodes ([#8061](https://github.com/paritytech/parity/pull/8061))
- network: init discovery using healthy nodes
- network: fix style grumble
- network: fix typo
- Postpone Kovan hard fork ([#8137](https://github.com/openethereum/openethereum/pull/8137))
- Postpone Kovan hard fork ([#8137](https://github.com/paritytech/parity/pull/8137))
- ethcore: postpone Kovan hard fork
- util: update version fork metadata
- Disable UI by default. ([#8105](https://github.com/openethereum/openethereum/pull/8105))
- dapps: update parity-ui dependencies ([#8160](https://github.com/openethereum/openethereum/pull/8160))
- Probe changes one step deeper ([#8134](https://github.com/openethereum/openethereum/pull/8134)) ([#8135](https://github.com/openethereum/openethereum/pull/8135))
- Beta backports ([#8053](https://github.com/openethereum/openethereum/pull/8053))
- CI: Fix cargo cache ([#7968](https://github.com/openethereum/openethereum/pull/7968))
- Disable UI by default. ([#8105](https://github.com/paritytech/parity/pull/8105))
- dapps: update parity-ui dependencies ([#8160](https://github.com/paritytech/parity/pull/8160))
- Probe changes one step deeper ([#8134](https://github.com/paritytech/parity/pull/8134)) ([#8135](https://github.com/paritytech/parity/pull/8135))
- Beta backports ([#8053](https://github.com/paritytech/parity/pull/8053))
- CI: Fix cargo cache ([#7968](https://github.com/paritytech/parity/pull/7968))
- Fix cache
- Only clean locked cargo cache on windows
- fixed ethstore sign ([#8026](https://github.com/openethereum/openethereum/pull/8026))
- fixed parsing ethash seals and verify_block_undordered ([#8031](https://github.com/openethereum/openethereum/pull/8031))
- fix for verify_block_basic crashing on invalid transaction rlp ([#8032](https://github.com/openethereum/openethereum/pull/8032))
- fix cache & snapcraft CI build ([#8052](https://github.com/openethereum/openethereum/pull/8052))
- Add MCIP-6 Byzyantium transition to Musicoin spec ([#7841](https://github.com/openethereum/openethereum/pull/7841))
- fixed ethstore sign ([#8026](https://github.com/paritytech/parity/pull/8026))
- fixed parsing ethash seals and verify_block_undordered ([#8031](https://github.com/paritytech/parity/pull/8031))
- fix for verify_block_basic crashing on invalid transaction rlp ([#8032](https://github.com/paritytech/parity/pull/8032))
- fix cache & snapcraft CI build ([#8052](https://github.com/paritytech/parity/pull/8052))
- Add MCIP-6 Byzyantium transition to Musicoin spec ([#7841](https://github.com/paritytech/parity/pull/7841))
- Add test chain spec for musicoin byzantium testnet
- Add MCIP-6 Byzyantium transition to Musicoin spec
- Update mcip6_byz.json
@@ -363,96 +363,96 @@ The full list of included changes:
- ethcore: update musicoin bootnodes
- Update musicoin.json
- More bootnodes.
- Make 1.10 beta ([#8022](https://github.com/openethereum/openethereum/pull/8022))
- Make 1.10 beta ([#8022](https://github.com/paritytech/parity/pull/8022))
- Make 1.10 beta
- Fix gitlab builds
- SecretStore: secretstore_generateDocumentKey RPC ([#7864](https://github.com/openethereum/openethereum/pull/7864))
- SecretStore: ECDSA session for cases when 2*t < N ([#7739](https://github.com/openethereum/openethereum/pull/7739))
- bump tiny-keccak ([#8019](https://github.com/openethereum/openethereum/pull/8019))
- Remove un-necessary comment ([#8014](https://github.com/openethereum/openethereum/pull/8014))
- clean up account fmt::Debug ([#7983](https://github.com/openethereum/openethereum/pull/7983))
- improve quality of vote_collector module ([#7984](https://github.com/openethereum/openethereum/pull/7984))
- ExecutedBlock cleanup ([#7991](https://github.com/openethereum/openethereum/pull/7991))
- Hardware-wallet/usb-subscribe-refactor ([#7860](https://github.com/openethereum/openethereum/pull/7860))
- remove wildcard imports from views, make tests more idiomatic ([#7986](https://github.com/openethereum/openethereum/pull/7986))
- moved PerfTimer to a separate crate - "trace-time" ([#7985](https://github.com/openethereum/openethereum/pull/7985))
- clean up ethcore::spec module imports ([#7990](https://github.com/openethereum/openethereum/pull/7990))
- rpc: don't include current block in new_block_filter ([#7982](https://github.com/openethereum/openethereum/pull/7982))
- fix traces, removed bloomchain crate ([#7979](https://github.com/openethereum/openethereum/pull/7979))
- simplify compression and move it out of rlp crate ([#7957](https://github.com/openethereum/openethereum/pull/7957))
- removed old migrations ([#7974](https://github.com/openethereum/openethereum/pull/7974))
- Reject too large packets in snapshot sync. ([#7977](https://github.com/openethereum/openethereum/pull/7977))
- fixed broken logs ([#7934](https://github.com/openethereum/openethereum/pull/7934))
- Increase max download limit to 128MB ([#7965](https://github.com/openethereum/openethereum/pull/7965))
- Calculate proper keccak256/sha3 using parity. ([#7953](https://github.com/openethereum/openethereum/pull/7953))
- Add changelog for 1.8.10 stable and 1.9.3 beta ([#7947](https://github.com/openethereum/openethereum/pull/7947))
- kvdb-rocksdb: remove buffered operations when committing transaction ([#7950](https://github.com/openethereum/openethereum/pull/7950))
- Bump WebSockets ([#7952](https://github.com/openethereum/openethereum/pull/7952))
- removed redundant Bloom conversions ([#7932](https://github.com/openethereum/openethereum/pull/7932))
- simplify RefInfo fmt ([#7929](https://github.com/openethereum/openethereum/pull/7929))
- Kovan WASM fork code ([#7849](https://github.com/openethereum/openethereum/pull/7849))
- bring back trie and triehash benches ([#7926](https://github.com/openethereum/openethereum/pull/7926))
- removed redundant PodAccount::new method ([#7928](https://github.com/openethereum/openethereum/pull/7928))
- removed dummy wrapper structure - LogGroupPosition ([#7922](https://github.com/openethereum/openethereum/pull/7922))
- spec: Validate required divisor fields are not 0 ([#7933](https://github.com/openethereum/openethereum/pull/7933))
- simplify Client::filter_traces method ([#7936](https://github.com/openethereum/openethereum/pull/7936))
- gitlab cache ([#7921](https://github.com/openethereum/openethereum/pull/7921))
- Fix a division by zero in light client RPC handler ([#7917](https://github.com/openethereum/openethereum/pull/7917))
- triehash optimisations ([#7920](https://github.com/openethereum/openethereum/pull/7920))
- removed redundant Blockchain::db method ([#7919](https://github.com/openethereum/openethereum/pull/7919))
- removed redundant Blockchain::rewind method ([#7918](https://github.com/openethereum/openethereum/pull/7918))
- Pending transactions subscription ([#7906](https://github.com/openethereum/openethereum/pull/7906))
- removed redundant otry! macro from ethcore ([#7916](https://github.com/openethereum/openethereum/pull/7916))
- Make block generator easier to use ([#7888](https://github.com/openethereum/openethereum/pull/7888))
- ECIP 1041 - Remove Difficulty Bomb ([#7905](https://github.com/openethereum/openethereum/pull/7905))
- Fix CSP for dapps that require eval. ([#7867](https://github.com/openethereum/openethereum/pull/7867))
- Fix gitlab ([#7901](https://github.com/openethereum/openethereum/pull/7901))
- Gitlb snap master patch ([#7900](https://github.com/openethereum/openethereum/pull/7900))
- fix snap build master ([#7896](https://github.com/openethereum/openethereum/pull/7896))
- Fix wallet import ([#7873](https://github.com/openethereum/openethereum/pull/7873))
- Fix snapcraft nightly ([#7884](https://github.com/openethereum/openethereum/pull/7884))
- Add a timeout for light client sync requests ([#7848](https://github.com/openethereum/openethereum/pull/7848))
- SecretStore: fixed test ([#7878](https://github.com/openethereum/openethereum/pull/7878))
- Fix checksums and auto-update push ([#7846](https://github.com/openethereum/openethereum/pull/7846))
- Forward-port snap fixes ([#7831](https://github.com/openethereum/openethereum/pull/7831))
- Update gitlab-test.sh ([#7883](https://github.com/openethereum/openethereum/pull/7883))
- Fix installer binary names for macos and windows ([#7881](https://github.com/openethereum/openethereum/pull/7881))
- Fix string typo: "develoopment" -> "development" ([#7874](https://github.com/openethereum/openethereum/pull/7874))
- Update the instructions to install the stable snap ([#7876](https://github.com/openethereum/openethereum/pull/7876))
- SecretStore: 'broadcast' decryption session ([#7843](https://github.com/openethereum/openethereum/pull/7843))
- Flush keyfiles. Resolves #7632 ([#7868](https://github.com/openethereum/openethereum/pull/7868))
- Read registry_address from given block ([#7866](https://github.com/openethereum/openethereum/pull/7866))
- Clean up docs formatting for Wasm runtime ([#7869](https://github.com/openethereum/openethereum/pull/7869))
- WASM: Disable internal memory ([#7842](https://github.com/openethereum/openethereum/pull/7842))
- Update gitlab-build.sh ([#7855](https://github.com/openethereum/openethereum/pull/7855))
- ethabi version 5 ([#7723](https://github.com/openethereum/openethereum/pull/7723))
- Light client: randomize the peer we dispatch requests to ([#7844](https://github.com/openethereum/openethereum/pull/7844))
- Store updater metadata in a single place ([#7832](https://github.com/openethereum/openethereum/pull/7832))
- Add new EF ropstens nodes. ([#7824](https://github.com/openethereum/openethereum/pull/7824))
- refactor stratum to remove retain cycle ([#7827](https://github.com/openethereum/openethereum/pull/7827))
- Bump jsonrpc. ([#7828](https://github.com/openethereum/openethereum/pull/7828))
- Add binary identifiers and sha256sum to builds ([#7830](https://github.com/openethereum/openethereum/pull/7830))
- Update references to UI shell & wallet ([#7808](https://github.com/openethereum/openethereum/pull/7808))
- Adjust storage update evm-style ([#7812](https://github.com/openethereum/openethereum/pull/7812))
- Updated WASM Runtime & new interpreter (wasmi) ([#7796](https://github.com/openethereum/openethereum/pull/7796))
- SecretStore: ignore removed authorities when running auto-migration ([#7674](https://github.com/openethereum/openethereum/pull/7674))
- Fix build ([#7807](https://github.com/openethereum/openethereum/pull/7807))
- Move js & js-old code to github.com/parity-js ([#7685](https://github.com/openethereum/openethereum/pull/7685))
- More changelogs :) ([#7782](https://github.com/openethereum/openethereum/pull/7782))
- Actualized API set in help ([#7790](https://github.com/openethereum/openethereum/pull/7790))
- Removed obsolete file ([#7788](https://github.com/openethereum/openethereum/pull/7788))
- Update ropsten bootnodes ([#7776](https://github.com/openethereum/openethereum/pull/7776))
- CHANGELOG for 1.9.1 and 1.8.8 ([#7775](https://github.com/openethereum/openethereum/pull/7775))
- Enable byzantium features on non-ethash chains ([#7753](https://github.com/openethereum/openethereum/pull/7753))
- Fix client not being dropped on shutdown ([#7695](https://github.com/openethereum/openethereum/pull/7695))
- Filter-out nodes.json ([#7716](https://github.com/openethereum/openethereum/pull/7716))
- Removes redundant parentheses ([#7721](https://github.com/openethereum/openethereum/pull/7721))
- Transaction-pool fixes ([#7741](https://github.com/openethereum/openethereum/pull/7741))
- More visible download link in README.md ([#7707](https://github.com/openethereum/openethereum/pull/7707))
- Changelog for 1.9.0 ([#7664](https://github.com/openethereum/openethereum/pull/7664))
- Add scroll when too many accounts ([#7677](https://github.com/openethereum/openethereum/pull/7677))
- SecretStore: return HTTP 403 (access denied) if consensus is unreachable ([#7656](https://github.com/openethereum/openethereum/pull/7656))
- Moved StopGaurd to it's own crate ([#7635](https://github.com/openethereum/openethereum/pull/7635))
- SecretStore: secretstore_generateDocumentKey RPC ([#7864](https://github.com/paritytech/parity/pull/7864))
- SecretStore: ECDSA session for cases when 2*t < N ([#7739](https://github.com/paritytech/parity/pull/7739))
- bump tiny-keccak ([#8019](https://github.com/paritytech/parity/pull/8019))
- Remove un-necessary comment ([#8014](https://github.com/paritytech/parity/pull/8014))
- clean up account fmt::Debug ([#7983](https://github.com/paritytech/parity/pull/7983))
- improve quality of vote_collector module ([#7984](https://github.com/paritytech/parity/pull/7984))
- ExecutedBlock cleanup ([#7991](https://github.com/paritytech/parity/pull/7991))
- Hardware-wallet/usb-subscribe-refactor ([#7860](https://github.com/paritytech/parity/pull/7860))
- remove wildcard imports from views, make tests more idiomatic ([#7986](https://github.com/paritytech/parity/pull/7986))
- moved PerfTimer to a separate crate - "trace-time" ([#7985](https://github.com/paritytech/parity/pull/7985))
- clean up ethcore::spec module imports ([#7990](https://github.com/paritytech/parity/pull/7990))
- rpc: don't include current block in new_block_filter ([#7982](https://github.com/paritytech/parity/pull/7982))
- fix traces, removed bloomchain crate ([#7979](https://github.com/paritytech/parity/pull/7979))
- simplify compression and move it out of rlp crate ([#7957](https://github.com/paritytech/parity/pull/7957))
- removed old migrations ([#7974](https://github.com/paritytech/parity/pull/7974))
- Reject too large packets in snapshot sync. ([#7977](https://github.com/paritytech/parity/pull/7977))
- fixed broken logs ([#7934](https://github.com/paritytech/parity/pull/7934))
- Increase max download limit to 128MB ([#7965](https://github.com/paritytech/parity/pull/7965))
- Calculate proper keccak256/sha3 using parity. ([#7953](https://github.com/paritytech/parity/pull/7953))
- Add changelog for 1.8.10 stable and 1.9.3 beta ([#7947](https://github.com/paritytech/parity/pull/7947))
- kvdb-rocksdb: remove buffered operations when committing transaction ([#7950](https://github.com/paritytech/parity/pull/7950))
- Bump WebSockets ([#7952](https://github.com/paritytech/parity/pull/7952))
- removed redundant Bloom conversions ([#7932](https://github.com/paritytech/parity/pull/7932))
- simplify RefInfo fmt ([#7929](https://github.com/paritytech/parity/pull/7929))
- Kovan WASM fork code ([#7849](https://github.com/paritytech/parity/pull/7849))
- bring back trie and triehash benches ([#7926](https://github.com/paritytech/parity/pull/7926))
- removed redundant PodAccount::new method ([#7928](https://github.com/paritytech/parity/pull/7928))
- removed dummy wrapper structure - LogGroupPosition ([#7922](https://github.com/paritytech/parity/pull/7922))
- spec: Validate required divisor fields are not 0 ([#7933](https://github.com/paritytech/parity/pull/7933))
- simplify Client::filter_traces method ([#7936](https://github.com/paritytech/parity/pull/7936))
- gitlab cache ([#7921](https://github.com/paritytech/parity/pull/7921))
- Fix a division by zero in light client RPC handler ([#7917](https://github.com/paritytech/parity/pull/7917))
- triehash optimisations ([#7920](https://github.com/paritytech/parity/pull/7920))
- removed redundant Blockchain::db method ([#7919](https://github.com/paritytech/parity/pull/7919))
- removed redundant Blockchain::rewind method ([#7918](https://github.com/paritytech/parity/pull/7918))
- Pending transactions subscription ([#7906](https://github.com/paritytech/parity/pull/7906))
- removed redundant otry! macro from ethcore ([#7916](https://github.com/paritytech/parity/pull/7916))
- Make block generator easier to use ([#7888](https://github.com/paritytech/parity/pull/7888))
- ECIP 1041 - Remove Difficulty Bomb ([#7905](https://github.com/paritytech/parity/pull/7905))
- Fix CSP for dapps that require eval. ([#7867](https://github.com/paritytech/parity/pull/7867))
- Fix gitlab ([#7901](https://github.com/paritytech/parity/pull/7901))
- Gitlb snap master patch ([#7900](https://github.com/paritytech/parity/pull/7900))
- fix snap build master ([#7896](https://github.com/paritytech/parity/pull/7896))
- Fix wallet import ([#7873](https://github.com/paritytech/parity/pull/7873))
- Fix snapcraft nightly ([#7884](https://github.com/paritytech/parity/pull/7884))
- Add a timeout for light client sync requests ([#7848](https://github.com/paritytech/parity/pull/7848))
- SecretStore: fixed test ([#7878](https://github.com/paritytech/parity/pull/7878))
- Fix checksums and auto-update push ([#7846](https://github.com/paritytech/parity/pull/7846))
- Forward-port snap fixes ([#7831](https://github.com/paritytech/parity/pull/7831))
- Update gitlab-test.sh ([#7883](https://github.com/paritytech/parity/pull/7883))
- Fix installer binary names for macos and windows ([#7881](https://github.com/paritytech/parity/pull/7881))
- Fix string typo: "develoopment" -> "development" ([#7874](https://github.com/paritytech/parity/pull/7874))
- Update the instructions to install the stable snap ([#7876](https://github.com/paritytech/parity/pull/7876))
- SecretStore: 'broadcast' decryption session ([#7843](https://github.com/paritytech/parity/pull/7843))
- Flush keyfiles. Resolves #7632 ([#7868](https://github.com/paritytech/parity/pull/7868))
- Read registry_address from given block ([#7866](https://github.com/paritytech/parity/pull/7866))
- Clean up docs formatting for Wasm runtime ([#7869](https://github.com/paritytech/parity/pull/7869))
- WASM: Disable internal memory ([#7842](https://github.com/paritytech/parity/pull/7842))
- Update gitlab-build.sh ([#7855](https://github.com/paritytech/parity/pull/7855))
- ethabi version 5 ([#7723](https://github.com/paritytech/parity/pull/7723))
- Light client: randomize the peer we dispatch requests to ([#7844](https://github.com/paritytech/parity/pull/7844))
- Store updater metadata in a single place ([#7832](https://github.com/paritytech/parity/pull/7832))
- Add new EF ropstens nodes. ([#7824](https://github.com/paritytech/parity/pull/7824))
- refactor stratum to remove retain cycle ([#7827](https://github.com/paritytech/parity/pull/7827))
- Bump jsonrpc. ([#7828](https://github.com/paritytech/parity/pull/7828))
- Add binary identifiers and sha256sum to builds ([#7830](https://github.com/paritytech/parity/pull/7830))
- Update references to UI shell & wallet ([#7808](https://github.com/paritytech/parity/pull/7808))
- Adjust storage update evm-style ([#7812](https://github.com/paritytech/parity/pull/7812))
- Updated WASM Runtime & new interpreter (wasmi) ([#7796](https://github.com/paritytech/parity/pull/7796))
- SecretStore: ignore removed authorities when running auto-migration ([#7674](https://github.com/paritytech/parity/pull/7674))
- Fix build ([#7807](https://github.com/paritytech/parity/pull/7807))
- Move js & js-old code to github.com/parity-js ([#7685](https://github.com/paritytech/parity/pull/7685))
- More changelogs :) ([#7782](https://github.com/paritytech/parity/pull/7782))
- Actualized API set in help ([#7790](https://github.com/paritytech/parity/pull/7790))
- Removed obsolete file ([#7788](https://github.com/paritytech/parity/pull/7788))
- Update ropsten bootnodes ([#7776](https://github.com/paritytech/parity/pull/7776))
- CHANGELOG for 1.9.1 and 1.8.8 ([#7775](https://github.com/paritytech/parity/pull/7775))
- Enable byzantium features on non-ethash chains ([#7753](https://github.com/paritytech/parity/pull/7753))
- Fix client not being dropped on shutdown ([#7695](https://github.com/paritytech/parity/pull/7695))
- Filter-out nodes.json ([#7716](https://github.com/paritytech/parity/pull/7716))
- Removes redundant parentheses ([#7721](https://github.com/paritytech/parity/pull/7721))
- Transaction-pool fixes ([#7741](https://github.com/paritytech/parity/pull/7741))
- More visible download link in README.md ([#7707](https://github.com/paritytech/parity/pull/7707))
- Changelog for 1.9.0 ([#7664](https://github.com/paritytech/parity/pull/7664))
- Add scroll when too many accounts ([#7677](https://github.com/paritytech/parity/pull/7677))
- SecretStore: return HTTP 403 (access denied) if consensus is unreachable ([#7656](https://github.com/paritytech/parity/pull/7656))
- Moved StopGaurd to it's own crate ([#7635](https://github.com/paritytech/parity/pull/7635))
## Previous releases

File diff suppressed because it is too large Load Diff

View File

@@ -1,14 +1,14 @@
Note: Parity 1.2 reached End-of-Life on 2016-11-07 (EOL).
## Parity [v1.2.4](https://github.com/openethereum/openethereum/releases/tag/v1.2.4) (2016-08-09)
## Parity [v1.2.4](https://github.com/paritytech/parity/releases/tag/v1.2.4) (2016-08-09)
Parity 1.2.4 Is a maintenance release that fixes a [few](https://github.com/openethereum/openethereum/pull/1888/commits) issues related to mining and peer synchronization.
Parity 1.2.4 Is a maintenance release that fixes a [few](https://github.com/paritytech/parity/pull/1888/commits) issues related to mining and peer synchronization.
This release is marked as stable.
- Backports for beta [#1888](https://github.com/openethereum/openethereum/pull/1888)
- BETA: fixed trace_transaction crash when block contained suicide [#1782](https://github.com/openethereum/openethereum/pull/1782)
- Backports for beta [#1888](https://github.com/paritytech/parity/pull/1888)
- BETA: fixed trace_transaction crash when block contained suicide [#1782](https://github.com/paritytech/parity/pull/1782)
## Parity [v1.2.3](https://github.com/openethereum/openethereum/releases/tag/v1.2.3) (2016-07-31)
## Parity [v1.2.3](https://github.com/paritytech/parity/releases/tag/v1.2.3) (2016-07-31)
Parity 1.2.3 is a patch release that addresses network stability issues for both Ethereum HF and Ethereum classic chains and brings a few changes to the transaction tracing API.
@@ -19,14 +19,14 @@ Parity 1.2.3 is a patch release that addresses network stability issues for both
Note that to continue using tracing features in this version you need to re-sync the blockchain. This can be done by using `parity export $HOME/ethereum-chain-backup.rlp` , deleting the database usually located at `~/.parity/906a34e69aec8c0d` followed by `parity import $HOME/ethereum-chain-backup.rlp`.
- [beta] Updating UI [#1778](https://github.com/openethereum/openethereum/pull/1778)
- tracing backport [#1770](https://github.com/openethereum/openethereum/pull/1770)
- Backport commits to beta [#1763](https://github.com/openethereum/openethereum/pull/1763)
- Deadlock on incoming connection (#1672) [#1675](https://github.com/openethereum/openethereum/pull/1675)
- [BETA] Removed DAO soft fork traces [#1640](https://github.com/openethereum/openethereum/pull/1640)
- [beta] Updating UI [#1778](https://github.com/paritytech/parity/pull/1778)
- tracing backport [#1770](https://github.com/paritytech/parity/pull/1770)
- Backport commits to beta [#1763](https://github.com/paritytech/parity/pull/1763)
- Deadlock on incoming connection (#1672) [#1675](https://github.com/paritytech/parity/pull/1675)
- [BETA] Removed DAO soft fork traces [#1640](https://github.com/paritytech/parity/pull/1640)
## Parity [v1.2.2](https://github.com/openethereum/openethereum/releases/tag/v1.2.2) (2016-07-16)
## Parity [v1.2.2](https://github.com/paritytech/parity/releases/tag/v1.2.2) (2016-07-16)
#### New
- DAO hard-fork.
@@ -47,17 +47,17 @@ DAO hard-fork implementation conforms to the [specification](https://blog.slock.
Full changelog
- DAO hard-fork (#1483) [#1636](https://github.com/openethereum/openethereum/pull/1636)
- Backports for beta [#1628](https://github.com/openethereum/openethereum/pull/1628)
- don't batch best block for branches (#1623) [#1626](https://github.com/openethereum/openethereum/pull/1626)
- Merge bugfixes from master to beta [#1605](https://github.com/openethereum/openethereum/pull/1605)
- (BETA) using block options cache instead of general cache for rocksdb [#1613](https://github.com/openethereum/openethereum/pull/1613)
- Backport sealing fixes to beta [#1583](https://github.com/openethereum/openethereum/pull/1583)
- v1.2.2 in beta [#1581](https://github.com/openethereum/openethereum/pull/1581)
- Skipping transactions with invalid nonces when pushing to block. (#1545) [#1547](https://github.com/openethereum/openethereum/pull/1547)
- DAO hard-fork (#1483) [#1636](https://github.com/paritytech/parity/pull/1636)
- Backports for beta [#1628](https://github.com/paritytech/parity/pull/1628)
- don't batch best block for branches (#1623) [#1626](https://github.com/paritytech/parity/pull/1626)
- Merge bugfixes from master to beta [#1605](https://github.com/paritytech/parity/pull/1605)
- (BETA) using block options cache instead of general cache for rocksdb [#1613](https://github.com/paritytech/parity/pull/1613)
- Backport sealing fixes to beta [#1583](https://github.com/paritytech/parity/pull/1583)
- v1.2.2 in beta [#1581](https://github.com/paritytech/parity/pull/1581)
- Skipping transactions with invalid nonces when pushing to block. (#1545) [#1547](https://github.com/paritytech/parity/pull/1547)
## Parity [v1.2.1](https://github.com/openethereum/openethereum/releases/tag/v1.2.1) (2016-07-01)
## Parity [v1.2.1](https://github.com/paritytech/parity/releases/tag/v1.2.1) (2016-07-01)
#### New
- Options for more precise mining tuning (see below).
@@ -86,10 +86,10 @@ DAO soft-fork control options have been replaced by the single `--fork` option w
#### Changes
- v1.2.1 in beta [#1492](https://github.com/openethereum/openethereum/pull/1492)
- (BETA) add artifacts [#1420](https://github.com/openethereum/openethereum/pull/1420)
- v1.2.1 in beta [#1492](https://github.com/paritytech/parity/pull/1492)
- (BETA) add artifacts [#1420](https://github.com/paritytech/parity/pull/1420)
## Parity [v1.2.0: "Security"](https://github.com/openethereum/openethereum/releases/tag/v1.2.0) (2016-06-24)
## Parity [v1.2.0: "Security"](https://github.com/paritytech/parity/releases/tag/v1.2.0) (2016-06-24)
[Blog post](https://blog.parity.io/announcing-parity-1-2/)
@@ -139,238 +139,238 @@ By default, nodes vote "for" the DAO soft-fork (and try to reduce the gas limit
Full changes:
- Signer enabled by default for UI [#1417](https://github.com/openethereum/openethereum/pull/1417)
- Remove experimental pruning options. [#1415](https://github.com/openethereum/openethereum/pull/1415)
- Fixing interface and port for parity ui [#1414](https://github.com/openethereum/openethereum/pull/1414)
- Configurable gas limit cap. [#1405](https://github.com/openethereum/openethereum/pull/1405)
- Bumping TopBar, Minimal SignerUI and wallet [#1413](https://github.com/openethereum/openethereum/pull/1413)
- Sync: Update highest block for progress reporting [#1411](https://github.com/openethereum/openethereum/pull/1411)
- Tweaked CLI options for the release [#1407](https://github.com/openethereum/openethereum/pull/1407)
- Further rocksdb tuning [#1409](https://github.com/openethereum/openethereum/pull/1409)
- Fixing jit compilation [#1406](https://github.com/openethereum/openethereum/pull/1406)
- Bump clippy [#1403](https://github.com/openethereum/openethereum/pull/1403)
- Shortcut SF condition when canon known [#1401](https://github.com/openethereum/openethereum/pull/1401)
- Additional assertions for internal state of queue [#1402](https://github.com/openethereum/openethereum/pull/1402)
- Replace deprecated hashdb trait names [#1394](https://github.com/openethereum/openethereum/pull/1394)
- rpc api by default for ipc [#1400](https://github.com/openethereum/openethereum/pull/1400)
- Ensure judging the SF trigger by relative branch [#1399](https://github.com/openethereum/openethereum/pull/1399)
- Signer with unlocked account working as expected. [#1398](https://github.com/openethereum/openethereum/pull/1398)
- Make --signer default. [#1392](https://github.com/openethereum/openethereum/pull/1392)
- Presale wallet [#1376](https://github.com/openethereum/openethereum/pull/1376)
- Removing signer connection limit [#1396](https://github.com/openethereum/openethereum/pull/1396)
- Optional gas price in transactions come from statistics [#1388](https://github.com/openethereum/openethereum/pull/1388)
- Update README.md with cargo install [ci-skip] [#1389](https://github.com/openethereum/openethereum/pull/1389)
- Fixing possible overflow during multiplication [#1381](https://github.com/openethereum/openethereum/pull/1381)
- Update SF to latest spec [#1386](https://github.com/openethereum/openethereum/pull/1386)
- Sync optimization [#1385](https://github.com/openethereum/openethereum/pull/1385)
- Fixing order of if statements to avoid overflows. [#1384](https://github.com/openethereum/openethereum/pull/1384)
- New topbar & signer UI [#1383](https://github.com/openethereum/openethereum/pull/1383)
- Install trigger for DAO-rescue soft-fork. [#1329](https://github.com/openethereum/openethereum/pull/1329)
- Rocksdb flush/compact limit [#1375](https://github.com/openethereum/openethereum/pull/1375)
- CentOS Dockerfile [#1377](https://github.com/openethereum/openethereum/pull/1377)
- RPC method to return number of unconfirmed transactions... [#1371](https://github.com/openethereum/openethereum/pull/1371)
- bump jsonrpc-http-server [#1369](https://github.com/openethereum/openethereum/pull/1369)
- Fix lock order when updating sealing [#1364](https://github.com/openethereum/openethereum/pull/1364)
- Update sealing on new transactions [#1365](https://github.com/openethereum/openethereum/pull/1365)
- Fixed panic on aborted connection [#1370](https://github.com/openethereum/openethereum/pull/1370)
- importing presale wallet [#1368](https://github.com/openethereum/openethereum/pull/1368)
- Set default database file size large enough [#1363](https://github.com/openethereum/openethereum/pull/1363)
- Reserved peers rpc API [#1360](https://github.com/openethereum/openethereum/pull/1360)
- Fixing replacing transaction with lower gas_price result. [#1343](https://github.com/openethereum/openethereum/pull/1343)
- fixed migration of empty pruning dir [#1362](https://github.com/openethereum/openethereum/pull/1362)
- Transaction processing queue [#1335](https://github.com/openethereum/openethereum/pull/1335)
- Fixing last nonce values in case transaction is replaced [#1359](https://github.com/openethereum/openethereum/pull/1359)
- docopt is an optional dependency of ethkey and ethstore [#1358](https://github.com/openethereum/openethereum/pull/1358)
- Fixing clippy warnings [#1354](https://github.com/openethereum/openethereum/pull/1354)
- Reduce locking when syncing [#1357](https://github.com/openethereum/openethereum/pull/1357)
- removed unnecessary logs [#1356](https://github.com/openethereum/openethereum/pull/1356)
- Updating parity-dapps [#1353](https://github.com/openethereum/openethereum/pull/1353)
- moved keystore tests files from util to ethstore [#1352](https://github.com/openethereum/openethereum/pull/1352)
- removed redundant bigint deps [#1351](https://github.com/openethereum/openethereum/pull/1351)
- Reopen "reserved peers and reserved-only flag" [#1350](https://github.com/openethereum/openethereum/pull/1350)
- Configurable rocksdb cache size [#1348](https://github.com/openethereum/openethereum/pull/1348)
- Fixing future order and errors when reaching limit. [#1346](https://github.com/openethereum/openethereum/pull/1346)
- Removing priority on local transactions [#1342](https://github.com/openethereum/openethereum/pull/1342)
- Revert "Reserved peers, reserved-only flag" [#1349](https://github.com/openethereum/openethereum/pull/1349)
- Sync attack defense: Deactivate peers on invalid block bodies [#1345](https://github.com/openethereum/openethereum/pull/1345)
- Reserved peers, reserved-only flag [#1347](https://github.com/openethereum/openethereum/pull/1347)
- CI for ethkey and ethstore [#1341](https://github.com/openethereum/openethereum/pull/1341)
- Fixed empty block body composition [#1340](https://github.com/openethereum/openethereum/pull/1340)
- Provide a signer UI token by default. [#1334](https://github.com/openethereum/openethereum/pull/1334)
- docker uses rustup, fixes #1337 [#1344](https://github.com/openethereum/openethereum/pull/1344)
- Fixed network service dispose [#1339](https://github.com/openethereum/openethereum/pull/1339)
- Sync: Cache last sync round block parents [#1331](https://github.com/openethereum/openethereum/pull/1331)
- secret store separated from util [#1304](https://github.com/openethereum/openethereum/pull/1304)
- --geth prevent getTransactionReceipt from using pending. [#1325](https://github.com/openethereum/openethereum/pull/1325)
- Fixing locks order in miner. [#1328](https://github.com/openethereum/openethereum/pull/1328)
- Update default gas limit, rename field [#1324](https://github.com/openethereum/openethereum/pull/1324)
- Use constants for DatabaseConfig [#1318](https://github.com/openethereum/openethereum/pull/1318)
- Fixing clippy warnings [#1321](https://github.com/openethereum/openethereum/pull/1321)
- Bumping topbar. Fixing ws server closing when suspending [#1312](https://github.com/openethereum/openethereum/pull/1312)
- Syncing fix [#1320](https://github.com/openethereum/openethereum/pull/1320)
- Filling-in optional fields of TransactionRequest... [#1305](https://github.com/openethereum/openethereum/pull/1305)
- Removing MakerOTC and DAO dapps [#1319](https://github.com/openethereum/openethereum/pull/1319)
- Disabling ethcore_set* APIs by default (+ Status page update) [#1315](https://github.com/openethereum/openethereum/pull/1315)
- fixed #1180 [#1282](https://github.com/openethereum/openethereum/pull/1282)
- Network start/stop [#1313](https://github.com/openethereum/openethereum/pull/1313)
- Additional logging for own transactions in queue [#1311](https://github.com/openethereum/openethereum/pull/1311)
- DAO Rescue soft fork [#1309](https://github.com/openethereum/openethereum/pull/1309)
- Appveyor config for windows build+installer [#1302](https://github.com/openethereum/openethereum/pull/1302)
- Key load avoid warning [#1303](https://github.com/openethereum/openethereum/pull/1303)
- More meaningful errors when sending transaction [#1290](https://github.com/openethereum/openethereum/pull/1290)
- Gas price statistics. [#1291](https://github.com/openethereum/openethereum/pull/1291)
- Fix read-ahead bug. [#1298](https://github.com/openethereum/openethereum/pull/1298)
- firewall rules for windows installer [#1297](https://github.com/openethereum/openethereum/pull/1297)
- x64 program files path for installer [#1296](https://github.com/openethereum/openethereum/pull/1296)
- Fixed loosing peers on incoming connections. [#1293](https://github.com/openethereum/openethereum/pull/1293)
- fixed #1261, overflow when calculating work [#1283](https://github.com/openethereum/openethereum/pull/1283)
- snappy and minor block compression [#1286](https://github.com/openethereum/openethereum/pull/1286)
- clarify build instructions [#1287](https://github.com/openethereum/openethereum/pull/1287)
- fixed #1255 [#1280](https://github.com/openethereum/openethereum/pull/1280)
- bump rust-crypto [#1289](https://github.com/openethereum/openethereum/pull/1289)
- Security audit issues fixed [#1279](https://github.com/openethereum/openethereum/pull/1279)
- Fixing origin/host validation [#1273](https://github.com/openethereum/openethereum/pull/1273)
- windows installer + parity start ui cli option [#1284](https://github.com/openethereum/openethereum/pull/1284)
- ipc lib version bump [#1285](https://github.com/openethereum/openethereum/pull/1285)
- Syncing improvements [#1274](https://github.com/openethereum/openethereum/pull/1274)
- removed redundant if condition [#1270](https://github.com/openethereum/openethereum/pull/1270)
- Naive chunk creation, snapshotting [#1263](https://github.com/openethereum/openethereum/pull/1263)
- Fixing generating new token while another parity instance is running. [#1272](https://github.com/openethereum/openethereum/pull/1272)
- README: rustup and windows instructions [#1266](https://github.com/openethereum/openethereum/pull/1266)
- Windows build [#1253](https://github.com/openethereum/openethereum/pull/1253)
- removed try_seal from MiningBlockChainClient [#1262](https://github.com/openethereum/openethereum/pull/1262)
- simplified block opening [#1232](https://github.com/openethereum/openethereum/pull/1232)
- Clippy bump [#1259](https://github.com/openethereum/openethereum/pull/1259)
- Fixing uint ASM macros compilation [#1258](https://github.com/openethereum/openethereum/pull/1258)
- Signer port returned from RPC + Topbar showing count of unconfirmed transactions. [#1252](https://github.com/openethereum/openethereum/pull/1252)
- codegen - avoid unwraps leading to compilation crash [#1250](https://github.com/openethereum/openethereum/pull/1250)
- Dapps bump [#1257](https://github.com/openethereum/openethereum/pull/1257)
- Windows named pipes [#1254](https://github.com/openethereum/openethereum/pull/1254)
- remove unsafety from util/hash.rs and util/bigint/uint.rs [#1236](https://github.com/openethereum/openethereum/pull/1236)
- Fixing CORS settings for special values: * & null. [#1247](https://github.com/openethereum/openethereum/pull/1247)
- JSONRPC test strings avoid using \ char [#1246](https://github.com/openethereum/openethereum/pull/1246)
- Tests for JSON serialisation of statediff/vmtrace [#1241](https://github.com/openethereum/openethereum/pull/1241)
- Bumping Dapps & TopBar to newest version. [#1245](https://github.com/openethereum/openethereum/pull/1245)
- keys import [#1240](https://github.com/openethereum/openethereum/pull/1240)
- Splitting RPC Apis into more fine-grained sets [#1234](https://github.com/openethereum/openethereum/pull/1234)
- Refactor triedb constructors to error on invalid state root [#1230](https://github.com/openethereum/openethereum/pull/1230)
- Signer RPC method to check if signer is enabled [#1238](https://github.com/openethereum/openethereum/pull/1238)
- Fixing signer behaviour when confirming transaction with wrong password. [#1237](https://github.com/openethereum/openethereum/pull/1237)
- SystemUIs authorization [#1233](https://github.com/openethereum/openethereum/pull/1233)
- IPC path for tesetnet with --geth compatibility [#1231](https://github.com/openethereum/openethereum/pull/1231)
- Transaction tracing for eth_call [#1210](https://github.com/openethereum/openethereum/pull/1210)
- Removing compilation warnings [#1227](https://github.com/openethereum/openethereum/pull/1227)
- Allowing connections only from chrome-extension and self-hosted client [#1226](https://github.com/openethereum/openethereum/pull/1226)
- Clippy bump & fixing warnings [#1219](https://github.com/openethereum/openethereum/pull/1219)
- Bumping serde & syntex [#1216](https://github.com/openethereum/openethereum/pull/1216)
- Minimal Signer UI (System UI) exposed over websockets. [#1211](https://github.com/openethereum/openethereum/pull/1211)
- Switch RPC namespace form ethcore_ to trace_ [#1208](https://github.com/openethereum/openethereum/pull/1208)
- Verify the state root exists before creating a State [#1217](https://github.com/openethereum/openethereum/pull/1217)
- Integrate state diffing into the ethcore JSONRPC [#1206](https://github.com/openethereum/openethereum/pull/1206)
- Updating topbar to latest version [#1220](https://github.com/openethereum/openethereum/pull/1220)
- Loading local Dapps from FS. [#1214](https://github.com/openethereum/openethereum/pull/1214)
- Ipc serialization & protocol fixes [#1188](https://github.com/openethereum/openethereum/pull/1188)
- Have Ext::ret take self by value [#1187](https://github.com/openethereum/openethereum/pull/1187)
- Simple WebSockets notification about new request [#1202](https://github.com/openethereum/openethereum/pull/1202)
- Removing leftovers of ethminer [#1207](https://github.com/openethereum/openethereum/pull/1207)
- fixed #1204 [#1205](https://github.com/openethereum/openethereum/pull/1205)
- VM tracing and JSON RPC endpoint for it. [#1169](https://github.com/openethereum/openethereum/pull/1169)
- devtools helpers extended [#1186](https://github.com/openethereum/openethereum/pull/1186)
- Networking refactoring [#1172](https://github.com/openethereum/openethereum/pull/1172)
- Client & Miner refactoring [#1195](https://github.com/openethereum/openethereum/pull/1195)
- update readme [#1201](https://github.com/openethereum/openethereum/pull/1201)
- Simple signing queue, confirmation APIs exposed in signer WebSockets. [#1182](https://github.com/openethereum/openethereum/pull/1182)
- Using ordered hashmap to keep the order of dapps on home screen [#1199](https://github.com/openethereum/openethereum/pull/1199)
- Disabling `ethcore` by default, adding x-frame-options header to dapps. [#1197](https://github.com/openethereum/openethereum/pull/1197)
- transaction count verifier tests [#1196](https://github.com/openethereum/openethereum/pull/1196)
- expunge x! and xx! from the codebase [#1192](https://github.com/openethereum/openethereum/pull/1192)
- Database service upgrade (from the ipc branch) [#1185](https://github.com/openethereum/openethereum/pull/1185)
- stop eth_syncing from returning true forever [#1181](https://github.com/openethereum/openethereum/pull/1181)
- Sync fixes and tweaks [#1164](https://github.com/openethereum/openethereum/pull/1164)
- Exposing RPC over Signer WebSockets [#1167](https://github.com/openethereum/openethereum/pull/1167)
- implement missing rpc methods and tests [#1171](https://github.com/openethereum/openethereum/pull/1171)
- json ipc server version bump [#1170](https://github.com/openethereum/openethereum/pull/1170)
- Updated dependencies for windows build [#1173](https://github.com/openethereum/openethereum/pull/1173)
- Framework for improved RPC unit tests [#1141](https://github.com/openethereum/openethereum/pull/1141)
- remove all possible unsafe code in crypto [#1168](https://github.com/openethereum/openethereum/pull/1168)
- Base for Signer Websockets server [#1158](https://github.com/openethereum/openethereum/pull/1158)
- Write queue to speed-up db ipc [#1160](https://github.com/openethereum/openethereum/pull/1160)
- Fixing few clippy warnings [#1163](https://github.com/openethereum/openethereum/pull/1163)
- Change eth_signAndSendTransaction to personal_SignAndSendTransaction [#1154](https://github.com/openethereum/openethereum/pull/1154)
- Support "earliest" and specific block parameters in RPC where possible [#1149](https://github.com/openethereum/openethereum/pull/1149)
- migration fixes [#1155](https://github.com/openethereum/openethereum/pull/1155)
- Empty trusted signer crate with it's general purpose described. [#1150](https://github.com/openethereum/openethereum/pull/1150)
- More bootnodes for morden. [#1153](https://github.com/openethereum/openethereum/pull/1153)
- move existing rpc tests into mocked module [#1151](https://github.com/openethereum/openethereum/pull/1151)
- Bloomchain [#1014](https://github.com/openethereum/openethereum/pull/1014)
- Renaming dapps repos. Updating dapps [#1142](https://github.com/openethereum/openethereum/pull/1142)
- fixed pending transactions [#1147](https://github.com/openethereum/openethereum/pull/1147)
- Basic benches to provide metrics for ipc optimizations [#1145](https://github.com/openethereum/openethereum/pull/1145)
- Fixing clippy warnings [#1148](https://github.com/openethereum/openethereum/pull/1148)
- correct signature of SecTrieDB::raw_mut [#1143](https://github.com/openethereum/openethereum/pull/1143)
- Merge to master and start hypervisor for import/export [#1138](https://github.com/openethereum/openethereum/pull/1138)
- Bumping clippy. Fixing warnings [#1139](https://github.com/openethereum/openethereum/pull/1139)
- Display progress when importing [#1136](https://github.com/openethereum/openethereum/pull/1136)
- foundation of simple db migration [#1128](https://github.com/openethereum/openethereum/pull/1128)
- Fixpending [#1074](https://github.com/openethereum/openethereum/pull/1074)
- Sync: Propagate uncles and fix status reporting [#1134](https://github.com/openethereum/openethereum/pull/1134)
- Coloured, padding logging. [#1133](https://github.com/openethereum/openethereum/pull/1133)
- Importing [#1132](https://github.com/openethereum/openethereum/pull/1132)
- Have `die_with_error` use `fmt::Display` rather than Debug [#1116](https://github.com/openethereum/openethereum/pull/1116)
- Exporting [#1129](https://github.com/openethereum/openethereum/pull/1129)
- Sign and send transaction [#1124](https://github.com/openethereum/openethereum/pull/1124)
- Fixing unused imports warnings [#1125](https://github.com/openethereum/openethereum/pull/1125)
- Adding info messages on mined blocks [#1127](https://github.com/openethereum/openethereum/pull/1127)
- Fix styling - don't mix spaces with tabs!!! [#1123](https://github.com/openethereum/openethereum/pull/1123)
- Fix is_syncing so it's false as long as the update is trivial. [#1122](https://github.com/openethereum/openethereum/pull/1122)
- Relock unlocked accounts after first use [#1120](https://github.com/openethereum/openethereum/pull/1120)
- Avoid importing keys into wrong place. [#1119](https://github.com/openethereum/openethereum/pull/1119)
- Implement receipt's gasUsed field [#1118](https://github.com/openethereum/openethereum/pull/1118)
- New dapps & query parameter handling [#1113](https://github.com/openethereum/openethereum/pull/1113)
- pretty print trace error [#1098](https://github.com/openethereum/openethereum/pull/1098)
- New syncing strategy [#1095](https://github.com/openethereum/openethereum/pull/1095)
- ethcore-db crate [#1097](https://github.com/openethereum/openethereum/pull/1097)
- Fix the default for pruning. [#1107](https://github.com/openethereum/openethereum/pull/1107)
- Make Id/ID and db/Db/DB usage consistent [#1105](https://github.com/openethereum/openethereum/pull/1105)
- Miner holds it's own copy of spec/engine [#1091](https://github.com/openethereum/openethereum/pull/1091)
- Apps listing API & Home webapp. [#1101](https://github.com/openethereum/openethereum/pull/1101)
- CLI option for using JITEVM [#1103](https://github.com/openethereum/openethereum/pull/1103)
- Fix up the seal fields in RPC output [#1096](https://github.com/openethereum/openethereum/pull/1096)
- Fixing some warnings [#1102](https://github.com/openethereum/openethereum/pull/1102)
- fixed incorrect decoding of header seal_fields. added tests. #1090 [#1094](https://github.com/openethereum/openethereum/pull/1094)
- Bumping Clippy [#1093](https://github.com/openethereum/openethereum/pull/1093)
- Injectable topbar support. [#1092](https://github.com/openethereum/openethereum/pull/1092)
- New syncing part 1: Block collection [#1088](https://github.com/openethereum/openethereum/pull/1088)
- Moving all Client public API types to separate mod & binary serialization codegen for that mod [#1051](https://github.com/openethereum/openethereum/pull/1051)
- Subdomains support in content server (webapps server). [#1082](https://github.com/openethereum/openethereum/pull/1082)
- Fix uncle getter [#1087](https://github.com/openethereum/openethereum/pull/1087)
- Provide fallback for usd-per-eth option when offline. [#1085](https://github.com/openethereum/openethereum/pull/1085)
- path centralized [#1083](https://github.com/openethereum/openethereum/pull/1083)
- Limiting result of the execution to execution-specific errors [#1071](https://github.com/openethereum/openethereum/pull/1071)
- Configurable keys security [#1080](https://github.com/openethereum/openethereum/pull/1080)
- comma delimeting multiple cors headers [#1078](https://github.com/openethereum/openethereum/pull/1078)
- Update error message [#1081](https://github.com/openethereum/openethereum/pull/1081)
- Updating dapp-wallet [#1076](https://github.com/openethereum/openethereum/pull/1076)
- Fixed connecting to local nodes on startup [#1070](https://github.com/openethereum/openethereum/pull/1070)
- Validate signature in Tx queue [#1068](https://github.com/openethereum/openethereum/pull/1068)
- moving deps to ethcore/hyper and bumping jsonrpc-http-server version [#1067](https://github.com/openethereum/openethereum/pull/1067)
- Updating status page. Bringing back wallet [#1064](https://github.com/openethereum/openethereum/pull/1064)
- Fix --geth IPC for MacOS. [#1062](https://github.com/openethereum/openethereum/pull/1062)
- Fixing formatter for defaultExtraData [#1060](https://github.com/openethereum/openethereum/pull/1060)
- --geth IPC compatibility [#1059](https://github.com/openethereum/openethereum/pull/1059)
- Moving dependencies to ethcore & uniforming syntax libs through all crates [#1050](https://github.com/openethereum/openethereum/pull/1050)
- update hyper branch mio [#1054](https://github.com/openethereum/openethereum/pull/1054)
- IPC lib update [#1047](https://github.com/openethereum/openethereum/pull/1047)
- Updating hyper-mio revision [#1048](https://github.com/openethereum/openethereum/pull/1048)
- Bump ipc-lib version [#1046](https://github.com/openethereum/openethereum/pull/1046)
- Tidy up CLI options and make JSONRPC & webapps on by default. [#1045](https://github.com/openethereum/openethereum/pull/1045)
- Fixing clippy warnings [#1044](https://github.com/openethereum/openethereum/pull/1044)
- Fixing RPC modules compatibility [#1041](https://github.com/openethereum/openethereum/pull/1041)
- Fixing hyper-mio revision [#1043](https://github.com/openethereum/openethereum/pull/1043)
- Updating locations of webapp stuff [#1040](https://github.com/openethereum/openethereum/pull/1040)
- JSON-RPC over IPC [#1039](https://github.com/openethereum/openethereum/pull/1039)
- Update nix/mio for ARM [#1036](https://github.com/openethereum/openethereum/pull/1036)
- Basic Authority [#991](https://github.com/openethereum/openethereum/pull/991)
- Prioritizing of local transaction [#1023](https://github.com/openethereum/openethereum/pull/1023)
- Version 1.2 [#1030](https://github.com/openethereum/openethereum/pull/1030)
- Bumping status page [#1033](https://github.com/openethereum/openethereum/pull/1033)
- Signer enabled by default for UI [#1417](https://github.com/paritytech/parity/pull/1417)
- Remove experimental pruning options. [#1415](https://github.com/paritytech/parity/pull/1415)
- Fixing interface and port for parity ui [#1414](https://github.com/paritytech/parity/pull/1414)
- Configurable gas limit cap. [#1405](https://github.com/paritytech/parity/pull/1405)
- Bumping TopBar, Minimal SignerUI and wallet [#1413](https://github.com/paritytech/parity/pull/1413)
- Sync: Update highest block for progress reporting [#1411](https://github.com/paritytech/parity/pull/1411)
- Tweaked CLI options for the release [#1407](https://github.com/paritytech/parity/pull/1407)
- Further rocksdb tuning [#1409](https://github.com/paritytech/parity/pull/1409)
- Fixing jit compilation [#1406](https://github.com/paritytech/parity/pull/1406)
- Bump clippy [#1403](https://github.com/paritytech/parity/pull/1403)
- Shortcut SF condition when canon known [#1401](https://github.com/paritytech/parity/pull/1401)
- Additional assertions for internal state of queue [#1402](https://github.com/paritytech/parity/pull/1402)
- Replace deprecated hashdb trait names [#1394](https://github.com/paritytech/parity/pull/1394)
- rpc api by default for ipc [#1400](https://github.com/paritytech/parity/pull/1400)
- Ensure judging the SF trigger by relative branch [#1399](https://github.com/paritytech/parity/pull/1399)
- Signer with unlocked account working as expected. [#1398](https://github.com/paritytech/parity/pull/1398)
- Make --signer default. [#1392](https://github.com/paritytech/parity/pull/1392)
- Presale wallet [#1376](https://github.com/paritytech/parity/pull/1376)
- Removing signer connection limit [#1396](https://github.com/paritytech/parity/pull/1396)
- Optional gas price in transactions come from statistics [#1388](https://github.com/paritytech/parity/pull/1388)
- Update README.md with cargo install [ci-skip] [#1389](https://github.com/paritytech/parity/pull/1389)
- Fixing possible overflow during multiplication [#1381](https://github.com/paritytech/parity/pull/1381)
- Update SF to latest spec [#1386](https://github.com/paritytech/parity/pull/1386)
- Sync optimization [#1385](https://github.com/paritytech/parity/pull/1385)
- Fixing order of if statements to avoid overflows. [#1384](https://github.com/paritytech/parity/pull/1384)
- New topbar & signer UI [#1383](https://github.com/paritytech/parity/pull/1383)
- Install trigger for DAO-rescue soft-fork. [#1329](https://github.com/paritytech/parity/pull/1329)
- Rocksdb flush/compact limit [#1375](https://github.com/paritytech/parity/pull/1375)
- CentOS Dockerfile [#1377](https://github.com/paritytech/parity/pull/1377)
- RPC method to return number of unconfirmed transactions... [#1371](https://github.com/paritytech/parity/pull/1371)
- bump jsonrpc-http-server [#1369](https://github.com/paritytech/parity/pull/1369)
- Fix lock order when updating sealing [#1364](https://github.com/paritytech/parity/pull/1364)
- Update sealing on new transactions [#1365](https://github.com/paritytech/parity/pull/1365)
- Fixed panic on aborted connection [#1370](https://github.com/paritytech/parity/pull/1370)
- importing presale wallet [#1368](https://github.com/paritytech/parity/pull/1368)
- Set default database file size large enough [#1363](https://github.com/paritytech/parity/pull/1363)
- Reserved peers rpc API [#1360](https://github.com/paritytech/parity/pull/1360)
- Fixing replacing transaction with lower gas_price result. [#1343](https://github.com/paritytech/parity/pull/1343)
- fixed migration of empty pruning dir [#1362](https://github.com/paritytech/parity/pull/1362)
- Transaction processing queue [#1335](https://github.com/paritytech/parity/pull/1335)
- Fixing last nonce values in case transaction is replaced [#1359](https://github.com/paritytech/parity/pull/1359)
- docopt is an optional dependency of ethkey and ethstore [#1358](https://github.com/paritytech/parity/pull/1358)
- Fixing clippy warnings [#1354](https://github.com/paritytech/parity/pull/1354)
- Reduce locking when syncing [#1357](https://github.com/paritytech/parity/pull/1357)
- removed unnecessary logs [#1356](https://github.com/paritytech/parity/pull/1356)
- Updating parity-dapps [#1353](https://github.com/paritytech/parity/pull/1353)
- moved keystore tests files from util to ethstore [#1352](https://github.com/paritytech/parity/pull/1352)
- removed redundant bigint deps [#1351](https://github.com/paritytech/parity/pull/1351)
- Reopen "reserved peers and reserved-only flag" [#1350](https://github.com/paritytech/parity/pull/1350)
- Configurable rocksdb cache size [#1348](https://github.com/paritytech/parity/pull/1348)
- Fixing future order and errors when reaching limit. [#1346](https://github.com/paritytech/parity/pull/1346)
- Removing priority on local transactions [#1342](https://github.com/paritytech/parity/pull/1342)
- Revert "Reserved peers, reserved-only flag" [#1349](https://github.com/paritytech/parity/pull/1349)
- Sync attack defense: Deactivate peers on invalid block bodies [#1345](https://github.com/paritytech/parity/pull/1345)
- Reserved peers, reserved-only flag [#1347](https://github.com/paritytech/parity/pull/1347)
- CI for ethkey and ethstore [#1341](https://github.com/paritytech/parity/pull/1341)
- Fixed empty block body composition [#1340](https://github.com/paritytech/parity/pull/1340)
- Provide a signer UI token by default. [#1334](https://github.com/paritytech/parity/pull/1334)
- docker uses rustup, fixes #1337 [#1344](https://github.com/paritytech/parity/pull/1344)
- Fixed network service dispose [#1339](https://github.com/paritytech/parity/pull/1339)
- Sync: Cache last sync round block parents [#1331](https://github.com/paritytech/parity/pull/1331)
- secret store separated from util [#1304](https://github.com/paritytech/parity/pull/1304)
- --geth prevent getTransactionReceipt from using pending. [#1325](https://github.com/paritytech/parity/pull/1325)
- Fixing locks order in miner. [#1328](https://github.com/paritytech/parity/pull/1328)
- Update default gas limit, rename field [#1324](https://github.com/paritytech/parity/pull/1324)
- Use constants for DatabaseConfig [#1318](https://github.com/paritytech/parity/pull/1318)
- Fixing clippy warnings [#1321](https://github.com/paritytech/parity/pull/1321)
- Bumping topbar. Fixing ws server closing when suspending [#1312](https://github.com/paritytech/parity/pull/1312)
- Syncing fix [#1320](https://github.com/paritytech/parity/pull/1320)
- Filling-in optional fields of TransactionRequest... [#1305](https://github.com/paritytech/parity/pull/1305)
- Removing MakerOTC and DAO dapps [#1319](https://github.com/paritytech/parity/pull/1319)
- Disabling ethcore_set* APIs by default (+ Status page update) [#1315](https://github.com/paritytech/parity/pull/1315)
- fixed #1180 [#1282](https://github.com/paritytech/parity/pull/1282)
- Network start/stop [#1313](https://github.com/paritytech/parity/pull/1313)
- Additional logging for own transactions in queue [#1311](https://github.com/paritytech/parity/pull/1311)
- DAO Rescue soft fork [#1309](https://github.com/paritytech/parity/pull/1309)
- Appveyor config for windows build+installer [#1302](https://github.com/paritytech/parity/pull/1302)
- Key load avoid warning [#1303](https://github.com/paritytech/parity/pull/1303)
- More meaningful errors when sending transaction [#1290](https://github.com/paritytech/parity/pull/1290)
- Gas price statistics. [#1291](https://github.com/paritytech/parity/pull/1291)
- Fix read-ahead bug. [#1298](https://github.com/paritytech/parity/pull/1298)
- firewall rules for windows installer [#1297](https://github.com/paritytech/parity/pull/1297)
- x64 program files path for installer [#1296](https://github.com/paritytech/parity/pull/1296)
- Fixed loosing peers on incoming connections. [#1293](https://github.com/paritytech/parity/pull/1293)
- fixed #1261, overflow when calculating work [#1283](https://github.com/paritytech/parity/pull/1283)
- snappy and minor block compression [#1286](https://github.com/paritytech/parity/pull/1286)
- clarify build instructions [#1287](https://github.com/paritytech/parity/pull/1287)
- fixed #1255 [#1280](https://github.com/paritytech/parity/pull/1280)
- bump rust-crypto [#1289](https://github.com/paritytech/parity/pull/1289)
- Security audit issues fixed [#1279](https://github.com/paritytech/parity/pull/1279)
- Fixing origin/host validation [#1273](https://github.com/paritytech/parity/pull/1273)
- windows installer + parity start ui cli option [#1284](https://github.com/paritytech/parity/pull/1284)
- ipc lib version bump [#1285](https://github.com/paritytech/parity/pull/1285)
- Syncing improvements [#1274](https://github.com/paritytech/parity/pull/1274)
- removed redundant if condition [#1270](https://github.com/paritytech/parity/pull/1270)
- Naive chunk creation, snapshotting [#1263](https://github.com/paritytech/parity/pull/1263)
- Fixing generating new token while another parity instance is running. [#1272](https://github.com/paritytech/parity/pull/1272)
- README: rustup and windows instructions [#1266](https://github.com/paritytech/parity/pull/1266)
- Windows build [#1253](https://github.com/paritytech/parity/pull/1253)
- removed try_seal from MiningBlockChainClient [#1262](https://github.com/paritytech/parity/pull/1262)
- simplified block opening [#1232](https://github.com/paritytech/parity/pull/1232)
- Clippy bump [#1259](https://github.com/paritytech/parity/pull/1259)
- Fixing uint ASM macros compilation [#1258](https://github.com/paritytech/parity/pull/1258)
- Signer port returned from RPC + Topbar showing count of unconfirmed transactions. [#1252](https://github.com/paritytech/parity/pull/1252)
- codegen - avoid unwraps leading to compilation crash [#1250](https://github.com/paritytech/parity/pull/1250)
- Dapps bump [#1257](https://github.com/paritytech/parity/pull/1257)
- Windows named pipes [#1254](https://github.com/paritytech/parity/pull/1254)
- remove unsafety from util/hash.rs and util/bigint/uint.rs [#1236](https://github.com/paritytech/parity/pull/1236)
- Fixing CORS settings for special values: * & null. [#1247](https://github.com/paritytech/parity/pull/1247)
- JSONRPC test strings avoid using \ char [#1246](https://github.com/paritytech/parity/pull/1246)
- Tests for JSON serialisation of statediff/vmtrace [#1241](https://github.com/paritytech/parity/pull/1241)
- Bumping Dapps & TopBar to newest version. [#1245](https://github.com/paritytech/parity/pull/1245)
- keys import [#1240](https://github.com/paritytech/parity/pull/1240)
- Splitting RPC Apis into more fine-grained sets [#1234](https://github.com/paritytech/parity/pull/1234)
- Refactor triedb constructors to error on invalid state root [#1230](https://github.com/paritytech/parity/pull/1230)
- Signer RPC method to check if signer is enabled [#1238](https://github.com/paritytech/parity/pull/1238)
- Fixing signer behaviour when confirming transaction with wrong password. [#1237](https://github.com/paritytech/parity/pull/1237)
- SystemUIs authorization [#1233](https://github.com/paritytech/parity/pull/1233)
- IPC path for tesetnet with --geth compatibility [#1231](https://github.com/paritytech/parity/pull/1231)
- Transaction tracing for eth_call [#1210](https://github.com/paritytech/parity/pull/1210)
- Removing compilation warnings [#1227](https://github.com/paritytech/parity/pull/1227)
- Allowing connections only from chrome-extension and self-hosted client [#1226](https://github.com/paritytech/parity/pull/1226)
- Clippy bump & fixing warnings [#1219](https://github.com/paritytech/parity/pull/1219)
- Bumping serde & syntex [#1216](https://github.com/paritytech/parity/pull/1216)
- Minimal Signer UI (System UI) exposed over websockets. [#1211](https://github.com/paritytech/parity/pull/1211)
- Switch RPC namespace form ethcore_ to trace_ [#1208](https://github.com/paritytech/parity/pull/1208)
- Verify the state root exists before creating a State [#1217](https://github.com/paritytech/parity/pull/1217)
- Integrate state diffing into the ethcore JSONRPC [#1206](https://github.com/paritytech/parity/pull/1206)
- Updating topbar to latest version [#1220](https://github.com/paritytech/parity/pull/1220)
- Loading local Dapps from FS. [#1214](https://github.com/paritytech/parity/pull/1214)
- Ipc serialization & protocol fixes [#1188](https://github.com/paritytech/parity/pull/1188)
- Have Ext::ret take self by value [#1187](https://github.com/paritytech/parity/pull/1187)
- Simple WebSockets notification about new request [#1202](https://github.com/paritytech/parity/pull/1202)
- Removing leftovers of ethminer [#1207](https://github.com/paritytech/parity/pull/1207)
- fixed #1204 [#1205](https://github.com/paritytech/parity/pull/1205)
- VM tracing and JSON RPC endpoint for it. [#1169](https://github.com/paritytech/parity/pull/1169)
- devtools helpers extended [#1186](https://github.com/paritytech/parity/pull/1186)
- Networking refactoring [#1172](https://github.com/paritytech/parity/pull/1172)
- Client & Miner refactoring [#1195](https://github.com/paritytech/parity/pull/1195)
- update readme [#1201](https://github.com/paritytech/parity/pull/1201)
- Simple signing queue, confirmation APIs exposed in signer WebSockets. [#1182](https://github.com/paritytech/parity/pull/1182)
- Using ordered hashmap to keep the order of dapps on home screen [#1199](https://github.com/paritytech/parity/pull/1199)
- Disabling `ethcore` by default, adding x-frame-options header to dapps. [#1197](https://github.com/paritytech/parity/pull/1197)
- transaction count verifier tests [#1196](https://github.com/paritytech/parity/pull/1196)
- expunge x! and xx! from the codebase [#1192](https://github.com/paritytech/parity/pull/1192)
- Database service upgrade (from the ipc branch) [#1185](https://github.com/paritytech/parity/pull/1185)
- stop eth_syncing from returning true forever [#1181](https://github.com/paritytech/parity/pull/1181)
- Sync fixes and tweaks [#1164](https://github.com/paritytech/parity/pull/1164)
- Exposing RPC over Signer WebSockets [#1167](https://github.com/paritytech/parity/pull/1167)
- implement missing rpc methods and tests [#1171](https://github.com/paritytech/parity/pull/1171)
- json ipc server version bump [#1170](https://github.com/paritytech/parity/pull/1170)
- Updated dependencies for windows build [#1173](https://github.com/paritytech/parity/pull/1173)
- Framework for improved RPC unit tests [#1141](https://github.com/paritytech/parity/pull/1141)
- remove all possible unsafe code in crypto [#1168](https://github.com/paritytech/parity/pull/1168)
- Base for Signer Websockets server [#1158](https://github.com/paritytech/parity/pull/1158)
- Write queue to speed-up db ipc [#1160](https://github.com/paritytech/parity/pull/1160)
- Fixing few clippy warnings [#1163](https://github.com/paritytech/parity/pull/1163)
- Change eth_signAndSendTransaction to personal_SignAndSendTransaction [#1154](https://github.com/paritytech/parity/pull/1154)
- Support "earliest" and specific block parameters in RPC where possible [#1149](https://github.com/paritytech/parity/pull/1149)
- migration fixes [#1155](https://github.com/paritytech/parity/pull/1155)
- Empty trusted signer crate with it's general purpose described. [#1150](https://github.com/paritytech/parity/pull/1150)
- More bootnodes for morden. [#1153](https://github.com/paritytech/parity/pull/1153)
- move existing rpc tests into mocked module [#1151](https://github.com/paritytech/parity/pull/1151)
- Bloomchain [#1014](https://github.com/paritytech/parity/pull/1014)
- Renaming dapps repos. Updating dapps [#1142](https://github.com/paritytech/parity/pull/1142)
- fixed pending transactions [#1147](https://github.com/paritytech/parity/pull/1147)
- Basic benches to provide metrics for ipc optimizations [#1145](https://github.com/paritytech/parity/pull/1145)
- Fixing clippy warnings [#1148](https://github.com/paritytech/parity/pull/1148)
- correct signature of SecTrieDB::raw_mut [#1143](https://github.com/paritytech/parity/pull/1143)
- Merge to master and start hypervisor for import/export [#1138](https://github.com/paritytech/parity/pull/1138)
- Bumping clippy. Fixing warnings [#1139](https://github.com/paritytech/parity/pull/1139)
- Display progress when importing [#1136](https://github.com/paritytech/parity/pull/1136)
- foundation of simple db migration [#1128](https://github.com/paritytech/parity/pull/1128)
- Fixpending [#1074](https://github.com/paritytech/parity/pull/1074)
- Sync: Propagate uncles and fix status reporting [#1134](https://github.com/paritytech/parity/pull/1134)
- Coloured, padding logging. [#1133](https://github.com/paritytech/parity/pull/1133)
- Importing [#1132](https://github.com/paritytech/parity/pull/1132)
- Have `die_with_error` use `fmt::Display` rather than Debug [#1116](https://github.com/paritytech/parity/pull/1116)
- Exporting [#1129](https://github.com/paritytech/parity/pull/1129)
- Sign and send transaction [#1124](https://github.com/paritytech/parity/pull/1124)
- Fixing unused imports warnings [#1125](https://github.com/paritytech/parity/pull/1125)
- Adding info messages on mined blocks [#1127](https://github.com/paritytech/parity/pull/1127)
- Fix styling - don't mix spaces with tabs!!! [#1123](https://github.com/paritytech/parity/pull/1123)
- Fix is_syncing so it's false as long as the update is trivial. [#1122](https://github.com/paritytech/parity/pull/1122)
- Relock unlocked accounts after first use [#1120](https://github.com/paritytech/parity/pull/1120)
- Avoid importing keys into wrong place. [#1119](https://github.com/paritytech/parity/pull/1119)
- Implement receipt's gasUsed field [#1118](https://github.com/paritytech/parity/pull/1118)
- New dapps & query parameter handling [#1113](https://github.com/paritytech/parity/pull/1113)
- pretty print trace error [#1098](https://github.com/paritytech/parity/pull/1098)
- New syncing strategy [#1095](https://github.com/paritytech/parity/pull/1095)
- ethcore-db crate [#1097](https://github.com/paritytech/parity/pull/1097)
- Fix the default for pruning. [#1107](https://github.com/paritytech/parity/pull/1107)
- Make Id/ID and db/Db/DB usage consistent [#1105](https://github.com/paritytech/parity/pull/1105)
- Miner holds it's own copy of spec/engine [#1091](https://github.com/paritytech/parity/pull/1091)
- Apps listing API & Home webapp. [#1101](https://github.com/paritytech/parity/pull/1101)
- CLI option for using JITEVM [#1103](https://github.com/paritytech/parity/pull/1103)
- Fix up the seal fields in RPC output [#1096](https://github.com/paritytech/parity/pull/1096)
- Fixing some warnings [#1102](https://github.com/paritytech/parity/pull/1102)
- fixed incorrect decoding of header seal_fields. added tests. #1090 [#1094](https://github.com/paritytech/parity/pull/1094)
- Bumping Clippy [#1093](https://github.com/paritytech/parity/pull/1093)
- Injectable topbar support. [#1092](https://github.com/paritytech/parity/pull/1092)
- New syncing part 1: Block collection [#1088](https://github.com/paritytech/parity/pull/1088)
- Moving all Client public API types to separate mod & binary serialization codegen for that mod [#1051](https://github.com/paritytech/parity/pull/1051)
- Subdomains support in content server (webapps server). [#1082](https://github.com/paritytech/parity/pull/1082)
- Fix uncle getter [#1087](https://github.com/paritytech/parity/pull/1087)
- Provide fallback for usd-per-eth option when offline. [#1085](https://github.com/paritytech/parity/pull/1085)
- path centralized [#1083](https://github.com/paritytech/parity/pull/1083)
- Limiting result of the execution to execution-specific errors [#1071](https://github.com/paritytech/parity/pull/1071)
- Configurable keys security [#1080](https://github.com/paritytech/parity/pull/1080)
- comma delimeting multiple cors headers [#1078](https://github.com/paritytech/parity/pull/1078)
- Update error message [#1081](https://github.com/paritytech/parity/pull/1081)
- Updating dapp-wallet [#1076](https://github.com/paritytech/parity/pull/1076)
- Fixed connecting to local nodes on startup [#1070](https://github.com/paritytech/parity/pull/1070)
- Validate signature in Tx queue [#1068](https://github.com/paritytech/parity/pull/1068)
- moving deps to ethcore/hyper and bumping jsonrpc-http-server version [#1067](https://github.com/paritytech/parity/pull/1067)
- Updating status page. Bringing back wallet [#1064](https://github.com/paritytech/parity/pull/1064)
- Fix --geth IPC for MacOS. [#1062](https://github.com/paritytech/parity/pull/1062)
- Fixing formatter for defaultExtraData [#1060](https://github.com/paritytech/parity/pull/1060)
- --geth IPC compatibility [#1059](https://github.com/paritytech/parity/pull/1059)
- Moving dependencies to ethcore & uniforming syntax libs through all crates [#1050](https://github.com/paritytech/parity/pull/1050)
- update hyper branch mio [#1054](https://github.com/paritytech/parity/pull/1054)
- IPC lib update [#1047](https://github.com/paritytech/parity/pull/1047)
- Updating hyper-mio revision [#1048](https://github.com/paritytech/parity/pull/1048)
- Bump ipc-lib version [#1046](https://github.com/paritytech/parity/pull/1046)
- Tidy up CLI options and make JSONRPC & webapps on by default. [#1045](https://github.com/paritytech/parity/pull/1045)
- Fixing clippy warnings [#1044](https://github.com/paritytech/parity/pull/1044)
- Fixing RPC modules compatibility [#1041](https://github.com/paritytech/parity/pull/1041)
- Fixing hyper-mio revision [#1043](https://github.com/paritytech/parity/pull/1043)
- Updating locations of webapp stuff [#1040](https://github.com/paritytech/parity/pull/1040)
- JSON-RPC over IPC [#1039](https://github.com/paritytech/parity/pull/1039)
- Update nix/mio for ARM [#1036](https://github.com/paritytech/parity/pull/1036)
- Basic Authority [#991](https://github.com/paritytech/parity/pull/991)
- Prioritizing of local transaction [#1023](https://github.com/paritytech/parity/pull/1023)
- Version 1.2 [#1030](https://github.com/paritytech/parity/pull/1030)
- Bumping status page [#1033](https://github.com/paritytech/parity/pull/1033)

View File

@@ -1,69 +1,69 @@
Note: Parity 1.3 reached End-of-Life on 2017-01-19 (EOL).
## Parity [v1.3.15](https://github.com/openethereum/openethereum/releases/tag/v1.3.15) (2016-12-10)
## Parity [v1.3.15](https://github.com/paritytech/parity/releases/tag/v1.3.15) (2016-12-10)
This patch release fixes an issue with syncing on the Ropsten test network.
- Backporting to stable [#3793](https://github.com/openethereum/openethereum/pull/3793)
- Backporting to stable [#3793](https://github.com/paritytech/parity/pull/3793)
## Parity [v1.3.14](https://github.com/openethereum/openethereum/releases/tag/v1.3.14) (2016-11-25)
## Parity [v1.3.14](https://github.com/paritytech/parity/releases/tag/v1.3.14) (2016-11-25)
Parity 1.3.14 fixes a few stability issues and adds support for the Ropsten testnet.
- Backporting to stable [#3616](https://github.com/openethereum/openethereum/pull/3616)
- Backporting to stable [#3616](https://github.com/paritytech/parity/pull/3616)
## Parity [v1.3.13](https://github.com/openethereum/openethereum/releases/tag/v1.3.13) (2016-11-18)
## Parity [v1.3.13](https://github.com/paritytech/parity/releases/tag/v1.3.13) (2016-11-18)
This release fixes an issue with EIP-155 transactions being allowed into the transaction pool.
- [stable] Check tx signatures before adding to the queue. [#3521](https://github.com/openethereum/openethereum/pull/3521)
- Fix Stable Docker Build [#3479](https://github.com/openethereum/openethereum/pull/3479)
- [stable] Check tx signatures before adding to the queue. [#3521](https://github.com/paritytech/parity/pull/3521)
- Fix Stable Docker Build [#3479](https://github.com/paritytech/parity/pull/3479)
## Parity [v1.3.12](https://github.com/openethereum/openethereum/releases/tag/v1.3.12) (2016-11-16)
## Parity [v1.3.12](https://github.com/paritytech/parity/releases/tag/v1.3.12) (2016-11-16)
This stable release enables EIP-155/160/161/170 hardfork at block 2675000 (1885000 for test network).
- [stable] EIP-170 [#3462](https://github.com/openethereum/openethereum/pull/3462)
- #3035 Backport to stable [#3441](https://github.com/openethereum/openethereum/pull/3441)
- [stable] EIP-170 [#3462](https://github.com/paritytech/parity/pull/3462)
- #3035 Backport to stable [#3441](https://github.com/paritytech/parity/pull/3441)
## Parity [v1.3.11](https://github.com/openethereum/openethereum/releases/tag/v1.3.11) (2016-11-11)
## Parity [v1.3.11](https://github.com/paritytech/parity/releases/tag/v1.3.11) (2016-11-11)
This is a maintenance release for the stable series to delay the EIP-155/160/161 hard fork transition. **Update from 1.3.10 is mandatory**. It also deprecates and disables the old Parity UI.
- [stable] Disable HF and UI [#3372](https://github.com/openethereum/openethereum/pull/3372)
- [stable] EIP-155 update with Vitalik's new test vectors (#3166) [#3190](https://github.com/openethereum/openethereum/pull/3190)
- Backport EIP-150 to stable [#2672](https://github.com/openethereum/openethereum/pull/2672)
- Create gitlab-ci.yml for stable [#2517](https://github.com/openethereum/openethereum/pull/2517)
- [stable] Disable HF and UI [#3372](https://github.com/paritytech/parity/pull/3372)
- [stable] EIP-155 update with Vitalik's new test vectors (#3166) [#3190](https://github.com/paritytech/parity/pull/3190)
- Backport EIP-150 to stable [#2672](https://github.com/paritytech/parity/pull/2672)
- Create gitlab-ci.yml for stable [#2517](https://github.com/paritytech/parity/pull/2517)
## Parity [v1.3.10](https://github.com/openethereum/openethereum/releases/tag/v1.3.10) (2016-11-04)
## Parity [v1.3.10](https://github.com/paritytech/parity/releases/tag/v1.3.10) (2016-11-04)
The latest 1.3 series release, now considered stable.
This includes several additional optimisations and fixes together with provisional support for the upcoming hard fork for EIP155/160/161.
- Stable branch reset to 1.3.10 [#3156](https://github.com/openethereum/openethereum/pull/3156)
- Backporting to beta [#3149](https://github.com/openethereum/openethereum/pull/3149)
- apply post-consolidation migrations after consolidating (BETA) [#3048](https://github.com/openethereum/openethereum/pull/3048)
- [beta] Fix the brainwallet functionality. (#2994) [#3005](https://github.com/openethereum/openethereum/pull/3005)
- Bumping json-ipc-server [#2989](https://github.com/openethereum/openethereum/pull/2989)
- Backports for 1.3.10 [#2987](https://github.com/openethereum/openethereum/pull/2987)
- Stable branch reset to 1.3.10 [#3156](https://github.com/paritytech/parity/pull/3156)
- Backporting to beta [#3149](https://github.com/paritytech/parity/pull/3149)
- apply post-consolidation migrations after consolidating (BETA) [#3048](https://github.com/paritytech/parity/pull/3048)
- [beta] Fix the brainwallet functionality. (#2994) [#3005](https://github.com/paritytech/parity/pull/3005)
- Bumping json-ipc-server [#2989](https://github.com/paritytech/parity/pull/2989)
- Backports for 1.3.10 [#2987](https://github.com/paritytech/parity/pull/2987)
## Parity [v1.3.9](https://github.com/openethereum/openethereum/releases/tag/v1.3.9) (2016-10-21)
## Parity [v1.3.9](https://github.com/paritytech/parity/releases/tag/v1.3.9) (2016-10-21)
This release enables EIP-150 hard fork for Ethereum Classic chain and resolves a few stability and performance issues, such as:
- Interrupted syncing on the test network.
- Block import delays caused by a large number of incoming transactions. A full re-sync is recommended for performance improvement to take effect.
Full changes:
- [beta] Resolve morden fork [#2776](https://github.com/openethereum/openethereum/pull/2776)
- Fixing botched merge [#2767](https://github.com/openethereum/openethereum/pull/2767)
- Backports for beta [#2764](https://github.com/openethereum/openethereum/pull/2764)
- Introduce EIP150 hardfork block for ETC [#2736](https://github.com/openethereum/openethereum/pull/2736)
- [beta] fix issues with no test dir present (#2659) [#2724](https://github.com/openethereum/openethereum/pull/2724)
- [beta] Bumping jsonrpc-http-server [#2715](https://github.com/openethereum/openethereum/pull/2715)
- [beta] Fix migration system, better errors [#2661](https://github.com/openethereum/openethereum/pull/2661)
- [beta] Resolve morden fork [#2776](https://github.com/paritytech/parity/pull/2776)
- Fixing botched merge [#2767](https://github.com/paritytech/parity/pull/2767)
- Backports for beta [#2764](https://github.com/paritytech/parity/pull/2764)
- Introduce EIP150 hardfork block for ETC [#2736](https://github.com/paritytech/parity/pull/2736)
- [beta] fix issues with no test dir present (#2659) [#2724](https://github.com/paritytech/parity/pull/2724)
- [beta] Bumping jsonrpc-http-server [#2715](https://github.com/paritytech/parity/pull/2715)
- [beta] Fix migration system, better errors [#2661](https://github.com/paritytech/parity/pull/2661)
## Parity [v1.3.8](https://github.com/openethereum/openethereum/releases/tag/v1.3.8) (2016-10-15)
## Parity [v1.3.8](https://github.com/paritytech/parity/releases/tag/v1.3.8) (2016-10-15)
Parity 1.3.8 is our EIP150 hard-fork compliant release.
@@ -83,37 +83,37 @@ The key related to homestead transition has been renamed from `frontierCompatibi
#### Full changes
- [beta] EIP150.1c [#2599](https://github.com/openethereum/openethereum/pull/2599)
- Remove count limit for local transactions [#2634](https://github.com/openethereum/openethereum/pull/2634)
- Tweak DB and mining defaults [#2598](https://github.com/openethereum/openethereum/pull/2598)
- Revert "Bloom upgrade in beta" [#2635](https://github.com/openethereum/openethereum/pull/2635)
- Bloom upgrade in beta [#2609](https://github.com/openethereum/openethereum/pull/2609)
- Backports to beta [#2628](https://github.com/openethereum/openethereum/pull/2628)
- [beta] EIP150.1c [#2599](https://github.com/paritytech/parity/pull/2599)
- Remove count limit for local transactions [#2634](https://github.com/paritytech/parity/pull/2634)
- Tweak DB and mining defaults [#2598](https://github.com/paritytech/parity/pull/2598)
- Revert "Bloom upgrade in beta" [#2635](https://github.com/paritytech/parity/pull/2635)
- Bloom upgrade in beta [#2609](https://github.com/paritytech/parity/pull/2609)
- Backports to beta [#2628](https://github.com/paritytech/parity/pull/2628)
## Parity [v1.3.7](https://github.com/openethereum/openethereum/releases/tag/v1.3.7) (2016-10-12)
## Parity [v1.3.7](https://github.com/paritytech/parity/releases/tag/v1.3.7) (2016-10-12)
This release contains fixes to reduce memory usage under the DoS attack and improve transaction relay.
- Configurable history size in beta [#2587](https://github.com/openethereum/openethereum/pull/2587)
- Backports to beta [#2592](https://github.com/openethereum/openethereum/pull/2592)
- Configurable history size in beta [#2587](https://github.com/paritytech/parity/pull/2587)
- Backports to beta [#2592](https://github.com/paritytech/parity/pull/2592)
## Parity [v1.3.6](https://github.com/openethereum/openethereum/releases/tag/v1.3.6) (2016-10-11)
## Parity [v1.3.6](https://github.com/paritytech/parity/releases/tag/v1.3.6) (2016-10-11)
Parity 1.3.6 is another hotfix release to address transaction spam and deal with stability issues. With this release transaction pool gas limit no longer applies to local transactions. Full list of changes is available here:
- Backports to beta v1.3.6 [#2571](https://github.com/openethereum/openethereum/pull/2571)
- Use global state cache when mining [#2529](https://github.com/openethereum/openethereum/pull/2529)
- Transaction queue limited by gas [#2528](https://github.com/openethereum/openethereum/pull/2528)
- Backports to beta v1.3.6 [#2571](https://github.com/paritytech/parity/pull/2571)
- Use global state cache when mining [#2529](https://github.com/paritytech/parity/pull/2529)
- Transaction queue limited by gas [#2528](https://github.com/paritytech/parity/pull/2528)
## Parity [v1.3.5](https://github.com/openethereum/openethereum/releases/tag/v1.3.5) (2016-10-08)
## Parity [v1.3.5](https://github.com/paritytech/parity/releases/tag/v1.3.5) (2016-10-08)
1.3.5 is a hotfix release for the transaction propagation issue. Transaction pool limit is now calculated based on the block gas limit.
- Update appveyor rustc [beta] [#2521](https://github.com/openethereum/openethereum/pull/2521)
- Increase size of transaction queue by default [#2519](https://github.com/openethereum/openethereum/pull/2519)
- Update appveyor rustc [beta] [#2521](https://github.com/paritytech/parity/pull/2521)
- Increase size of transaction queue by default [#2519](https://github.com/paritytech/parity/pull/2519)
## Parity [v1.3.4](https://github.com/openethereum/openethereum/releases/tag/v1.3.4) (2016-10-07)
## Parity [v1.3.4](https://github.com/paritytech/parity/releases/tag/v1.3.4) (2016-10-07)
Parity 1.3.4 release contains more optimizations to internal caching as well as stability improvements.
@@ -126,59 +126,59 @@ It also introduces an ability for miners to choose a transaction ordering strate
gas_factor - Prioritize txs using gas price
and gas limit ratio [default: gas_factor].
- Backport to beta [#2518](https://github.com/openethereum/openethereum/pull/2518)
- [beta] Fixing RPC Filter conversion to EthFilter [#2501](https://github.com/openethereum/openethereum/pull/2501)
- [beta] Using pending block only if is not old [#2515](https://github.com/openethereum/openethereum/pull/2515)
- Backports into beta [#2512](https://github.com/openethereum/openethereum/pull/2512)
- CLI to specify queue ordering strategy [#2494](https://github.com/openethereum/openethereum/pull/2494)
- Fix ethstore opening all key files in the directory at once (BETA) [#2472](https://github.com/openethereum/openethereum/pull/2472)
- Beta backports [#2465](https://github.com/openethereum/openethereum/pull/2465)
- IPC-library dependency fork & bump for beta [#2455](https://github.com/openethereum/openethereum/pull/2455)
- Backport to beta [#2518](https://github.com/paritytech/parity/pull/2518)
- [beta] Fixing RPC Filter conversion to EthFilter [#2501](https://github.com/paritytech/parity/pull/2501)
- [beta] Using pending block only if is not old [#2515](https://github.com/paritytech/parity/pull/2515)
- Backports into beta [#2512](https://github.com/paritytech/parity/pull/2512)
- CLI to specify queue ordering strategy [#2494](https://github.com/paritytech/parity/pull/2494)
- Fix ethstore opening all key files in the directory at once (BETA) [#2472](https://github.com/paritytech/parity/pull/2472)
- Beta backports [#2465](https://github.com/paritytech/parity/pull/2465)
- IPC-library dependency fork & bump for beta [#2455](https://github.com/paritytech/parity/pull/2455)
## Parity [v1.3.3](https://github.com/openethereum/openethereum/releases/tag/v1.3.3) (2016-10-04)
## Parity [v1.3.3](https://github.com/paritytech/parity/releases/tag/v1.3.3) (2016-10-04)
1.3.3 is another hotfix release for the DoS attack
- Jumptable cache [#2435](https://github.com/openethereum/openethereum/pull/2435)
- fix broken beta compilation (backport to beta) [#2414](https://github.com/openethereum/openethereum/pull/2414)
- Run inplace upgrades after version update [#2411](https://github.com/openethereum/openethereum/pull/2411)
- Jumptable cache [#2435](https://github.com/paritytech/parity/pull/2435)
- fix broken beta compilation (backport to beta) [#2414](https://github.com/paritytech/parity/pull/2414)
- Run inplace upgrades after version update [#2411](https://github.com/paritytech/parity/pull/2411)
## Parity [v1.3.2](https://github.com/openethereum/openethereum/releases/tag/v1.3.2) (2016-09-29)
## Parity [v1.3.2](https://github.com/paritytech/parity/releases/tag/v1.3.2) (2016-09-29)
This is a hotfix release to address stability and performance issues uncovered during the network DoS attack. Full list of changes is available [here](https://github.com/paritytech/parity/compare/v1.3.1...v1.3.2)
- Beta Backports [#2396](https://github.com/openethereum/openethereum/pull/2396)
- Fixing penalization in future [#2493](https://github.com/openethereum/openethereum/pull/2493)
- A quick fix for missing tree route blocks [#2400](https://github.com/openethereum/openethereum/pull/2400)
- Cache the fork block header after snapshot restoration [#2391](https://github.com/openethereum/openethereum/pull/2391)
- correct sync memory usage calculation (BETA) [#2386](https://github.com/openethereum/openethereum/pull/2386)
- Accounts bloom [#2357](https://github.com/openethereum/openethereum/pull/2357)
- Disable colors when generating signer token. [#2379](https://github.com/openethereum/openethereum/pull/2379)
- Fixing jit feature compilation [#2376](https://github.com/openethereum/openethereum/pull/2376)
- Clear state cache on sealed block import [#2377](https://github.com/openethereum/openethereum/pull/2377)
- DIV optimization (beta) [#2353](https://github.com/openethereum/openethereum/pull/2353)
- Canonical state cache [#2308](https://github.com/openethereum/openethereum/pull/2308)
- Reorder transaction_by_hash to favour canon search [#2331](https://github.com/openethereum/openethereum/pull/2331)
- Lenient bytes deserialization [#2340](https://github.com/openethereum/openethereum/pull/2340)
- Penalize transactions with gas above gas limit [#2271](https://github.com/openethereum/openethereum/pull/2271)
- Peek transaction queue via RPC [#2270](https://github.com/openethereum/openethereum/pull/2270)
- Handle RLP to string UTF-8 decoding errors (#2217) [#2226](https://github.com/openethereum/openethereum/pull/2226)
- Fixing compilation without default features [beta] [#2207](https://github.com/openethereum/openethereum/pull/2207)
- Avoid cloning clean stuff [beta backport] [#2173](https://github.com/openethereum/openethereum/pull/2173)
- v1.3.2 in beta [#2200](https://github.com/openethereum/openethereum/pull/2200)
- Beta Backports [#2396](https://github.com/paritytech/parity/pull/2396)
- Fixing penalization in future [#2493](https://github.com/paritytech/parity/pull/2493)
- A quick fix for missing tree route blocks [#2400](https://github.com/paritytech/parity/pull/2400)
- Cache the fork block header after snapshot restoration [#2391](https://github.com/paritytech/parity/pull/2391)
- correct sync memory usage calculation (BETA) [#2386](https://github.com/paritytech/parity/pull/2386)
- Accounts bloom [#2357](https://github.com/paritytech/parity/pull/2357)
- Disable colors when generating signer token. [#2379](https://github.com/paritytech/parity/pull/2379)
- Fixing jit feature compilation [#2376](https://github.com/paritytech/parity/pull/2376)
- Clear state cache on sealed block import [#2377](https://github.com/paritytech/parity/pull/2377)
- DIV optimization (beta) [#2353](https://github.com/paritytech/parity/pull/2353)
- Canonical state cache [#2308](https://github.com/paritytech/parity/pull/2308)
- Reorder transaction_by_hash to favour canon search [#2331](https://github.com/paritytech/parity/pull/2331)
- Lenient bytes deserialization [#2340](https://github.com/paritytech/parity/pull/2340)
- Penalize transactions with gas above gas limit [#2271](https://github.com/paritytech/parity/pull/2271)
- Peek transaction queue via RPC [#2270](https://github.com/paritytech/parity/pull/2270)
- Handle RLP to string UTF-8 decoding errors (#2217) [#2226](https://github.com/paritytech/parity/pull/2226)
- Fixing compilation without default features [beta] [#2207](https://github.com/paritytech/parity/pull/2207)
- Avoid cloning clean stuff [beta backport] [#2173](https://github.com/paritytech/parity/pull/2173)
- v1.3.2 in beta [#2200](https://github.com/paritytech/parity/pull/2200)
## Parity [v1.3.1](https://github.com/openethereum/openethereum/releases/tag/v1.3.1) (2016-09-11)
## Parity [v1.3.1](https://github.com/paritytech/parity/releases/tag/v1.3.1) (2016-09-11)
1.3.1 includes many [bugfixes](https://github.com/paritytech/parity/commit/2a82fa0a47b00bedfec520a2fdd3cc31aa4ccd8c). Critical ones:
- **Chain reorganisation fix** Transaction receipts / traces were sometimes linked with incorrect block hash. Fixed in https://github.com/paritytech/parity/commit/a9587f8965a32c84973c35ce1c8d51d07044143f
- **Trace overflow fix** Overflow which occurred during tracing. Fixed in https://github.com/openethereum/openethereum/pull/1979
- **Trace overflow fix** Overflow which occurred during tracing. Fixed in https://github.com/paritytech/parity/pull/1979
- Backports to beta [#2068](https://github.com/openethereum/openethereum/pull/2068)
- Fixing serde overflow error (#1977) [#2030](https://github.com/openethereum/openethereum/pull/2030)
- Simplified db pruning detection in beta [#1924](https://github.com/openethereum/openethereum/pull/1924)
- Backports to beta [#1919](https://github.com/openethereum/openethereum/pull/1919)
- Backports to beta [#2068](https://github.com/paritytech/parity/pull/2068)
- Fixing serde overflow error (#1977) [#2030](https://github.com/paritytech/parity/pull/2030)
- Simplified db pruning detection in beta [#1924](https://github.com/paritytech/parity/pull/1924)
- Backports to beta [#1919](https://github.com/paritytech/parity/pull/1919)
## Parity [v1.3.0: "Acuity"](https://github.com/openethereum/openethereum/releases/tag/v1.3.0) (2016-08-12)
## Parity [v1.3.0: "Acuity"](https://github.com/paritytech/parity/releases/tag/v1.3.0) (2016-08-12)
As well as many bug fixes, 1.3.0 includes a number of important improvements including:
- **Optimisations** Heavily optimised block/transaction processing core - up to 2x faster than 1.2 series.
@@ -197,306 +197,306 @@ Incremental improvements include:
- Various improvements to the miner including [HTTP push work notification](https://github.com/ethcoreparitytech/parity/wiki/Mining#starting-it).
Full changes:
- Bumping Parity UI [#1920](https://github.com/openethereum/openethereum/pull/1920)
- Adding entrypoints to docker images [#1909](https://github.com/openethereum/openethereum/pull/1909)
- Save nodes removed from backing_overlay until commit [#1917](https://github.com/openethereum/openethereum/pull/1917)
- RPC for importing geth keys [#1916](https://github.com/openethereum/openethereum/pull/1916)
- Peers RPC + UI displaying active/connected/max peers [#1915](https://github.com/openethereum/openethereum/pull/1915)
- RPC for deriving address from phrase. [#1912](https://github.com/openethereum/openethereum/pull/1912)
- adjust polling & connection timeouts for ipc [#1910](https://github.com/openethereum/openethereum/pull/1910)
- Don't return deleted nodes that are not yet flushed [#1908](https://github.com/openethereum/openethereum/pull/1908)
- Wallet rpcs [#1898](https://github.com/openethereum/openethereum/pull/1898)
- Fix binary serialization bug [#1907](https://github.com/openethereum/openethereum/pull/1907)
- fixed #1889, .DS_Store is no longer treated as key file [#1892](https://github.com/openethereum/openethereum/pull/1892)
- Purging .derefs, fixing clippy warnings. [#1890](https://github.com/openethereum/openethereum/pull/1890)
- RocksDB version bump [#1904](https://github.com/openethereum/openethereum/pull/1904)
- Fix ipc compilation and add ipc feature to test targets [#1902](https://github.com/openethereum/openethereum/pull/1902)
- Autocreating geth dir if none and geth mode on [#1896](https://github.com/openethereum/openethereum/pull/1896)
- v1.4.0 in master [#1886](https://github.com/openethereum/openethereum/pull/1886)
- Adding more details to miner log [#1891](https://github.com/openethereum/openethereum/pull/1891)
- moved hash.rs to bigint library [#1827](https://github.com/openethereum/openethereum/pull/1827)
- fixed cache_manager lock order [#1877](https://github.com/openethereum/openethereum/pull/1877)
- Fixing miner deadlock [#1885](https://github.com/openethereum/openethereum/pull/1885)
- Updating WS + Increasing token validity [#1882](https://github.com/openethereum/openethereum/pull/1882)
- take snapshot at specified block and slightly better informants [#1873](https://github.com/openethereum/openethereum/pull/1873)
- RPC errors & logs [#1845](https://github.com/openethereum/openethereum/pull/1845)
- Reduce max open files [#1876](https://github.com/openethereum/openethereum/pull/1876)
- Send new block hashes to all peers [#1875](https://github.com/openethereum/openethereum/pull/1875)
- Use UntrustedRlp for block verification [#1872](https://github.com/openethereum/openethereum/pull/1872)
- Update cache usage on commiting block info [#1871](https://github.com/openethereum/openethereum/pull/1871)
- Validating conversion U256->usize when doing gas calculation (for 32bits) [#1870](https://github.com/openethereum/openethereum/pull/1870)
- Sync to peers with confirmed fork block only [#1863](https://github.com/openethereum/openethereum/pull/1863)
- miner and client take spec reference [#1853](https://github.com/openethereum/openethereum/pull/1853)
- Unlock account with timeout for geth compatibility [#1854](https://github.com/openethereum/openethereum/pull/1854)
- Fixed reported max height and transaction propagation [#1852](https://github.com/openethereum/openethereum/pull/1852)
- Snapshot creation and restoration [#1679](https://github.com/openethereum/openethereum/pull/1679)
- fix deprecated typo [#1850](https://github.com/openethereum/openethereum/pull/1850)
- Split IO and network crates [#1828](https://github.com/openethereum/openethereum/pull/1828)
- updated classic JSON spec with classic bootnodes, fixes #1842 [#1847](https://github.com/openethereum/openethereum/pull/1847)
- protect unsafety in plainhasher; get more unique hashes [#1841](https://github.com/openethereum/openethereum/pull/1841)
- use mutex in dbtransaction [#1843](https://github.com/openethereum/openethereum/pull/1843)
- Fix state not using "account_starting_nonce" [#1830](https://github.com/openethereum/openethereum/pull/1830)
- Supporting blockid in eth_call and trace_call/trace_raw [#1837](https://github.com/openethereum/openethereum/pull/1837)
- eth_checkTransaction renamed to eth_checkRequest [#1817](https://github.com/openethereum/openethereum/pull/1817)
- Bump json-ipc-server again [#1839](https://github.com/openethereum/openethereum/pull/1839)
- Fixing another deadlock in trace db [#1833](https://github.com/openethereum/openethereum/pull/1833)
- Fix up the VM trace. [#1829](https://github.com/openethereum/openethereum/pull/1829)
- fixed parsing export params, fixes #1826 [#1834](https://github.com/openethereum/openethereum/pull/1834)
- More performance optimizations [#1814](https://github.com/openethereum/openethereum/pull/1814)
- Bumping clippy & fixing warnings [#1823](https://github.com/openethereum/openethereum/pull/1823)
- removed unused code from util and unnecessary dependency of FixedHash [#1824](https://github.com/openethereum/openethereum/pull/1824)
- Remove (almost all) panickers from trie module [#1776](https://github.com/openethereum/openethereum/pull/1776)
- Fixing account naming [#1810](https://github.com/openethereum/openethereum/pull/1810)
- JournalDB inject [#1806](https://github.com/openethereum/openethereum/pull/1806)
- No block number in get work while in geth-compat mode. [#1821](https://github.com/openethereum/openethereum/pull/1821)
- Import wallet fix [#1820](https://github.com/openethereum/openethereum/pull/1820)
- Supporting eth_sign in Signer [#1787](https://github.com/openethereum/openethereum/pull/1787)
- Fixing cache update after chain reorg [#1816](https://github.com/openethereum/openethereum/pull/1816)
- Development mode for Signer UI [#1788](https://github.com/openethereum/openethereum/pull/1788)
- Miner tweaks [#1797](https://github.com/openethereum/openethereum/pull/1797)
- Util & ipc clenup [#1807](https://github.com/openethereum/openethereum/pull/1807)
- Fixing unlock parsing [#1802](https://github.com/openethereum/openethereum/pull/1802)
- fixed importing presale wallet with encseed longer than 96 bytes [#1801](https://github.com/openethereum/openethereum/pull/1801)
- DRYing build scripts [#1795](https://github.com/openethereum/openethereum/pull/1795)
- Allow code from spec json [#1790](https://github.com/openethereum/openethereum/pull/1790)
- nano-tests (ipc transport) to the CI [#1793](https://github.com/openethereum/openethereum/pull/1793)
- Commit best block after closing transaction [#1791](https://github.com/openethereum/openethereum/pull/1791)
- Place thread name in the log output [#1792](https://github.com/openethereum/openethereum/pull/1792)
- Fix ipc tests and bring to CI [#1789](https://github.com/openethereum/openethereum/pull/1789)
- dynamic keys pickup [#1779](https://github.com/openethereum/openethereum/pull/1779)
- ipc version bump [#1783](https://github.com/openethereum/openethereum/pull/1783)
- Prevent deadlock on trace GC [#1780](https://github.com/openethereum/openethereum/pull/1780)
- fixed trace_transaction crash when block contained suicide [#1781](https://github.com/openethereum/openethereum/pull/1781)
- Fix block body migration [#1777](https://github.com/openethereum/openethereum/pull/1777)
- cache manager and clearing tracing cache [#1769](https://github.com/openethereum/openethereum/pull/1769)
- Return storage as H256 from RPC. [#1774](https://github.com/openethereum/openethereum/pull/1774)
- Instant sealing engine [#1767](https://github.com/openethereum/openethereum/pull/1767)
- fix state unsafety with a mostly-guaranteed handle [#1755](https://github.com/openethereum/openethereum/pull/1755)
- Gas for mem optimization [#1768](https://github.com/openethereum/openethereum/pull/1768)
- Min and Max peers setting [#1771](https://github.com/openethereum/openethereum/pull/1771)
- Disable WAL [#1765](https://github.com/openethereum/openethereum/pull/1765)
- Add new line when printing start strings [#1766](https://github.com/openethereum/openethereum/pull/1766)
- Log tweak [#1764](https://github.com/openethereum/openethereum/pull/1764)
- Remove update_sealing call on importing own block [#1762](https://github.com/openethereum/openethereum/pull/1762)
- Single DB [#1741](https://github.com/openethereum/openethereum/pull/1741)
- Tweak format of log so it's not so verbose. [#1758](https://github.com/openethereum/openethereum/pull/1758)
- Combine mining queue and enabled into single locked datum [#1749](https://github.com/openethereum/openethereum/pull/1749)
- Collect consensus/null engines into a single module [#1754](https://github.com/openethereum/openethereum/pull/1754)
- Fix failing deserialization test [#1756](https://github.com/openethereum/openethereum/pull/1756)
- Stackoverflow fix [#1742](https://github.com/openethereum/openethereum/pull/1742)
- compaction profile used during migration, fixes #1750 [#1751](https://github.com/openethereum/openethereum/pull/1751)
- Splitting documentation into separate build job [#1752](https://github.com/openethereum/openethereum/pull/1752)
- handle keys deserialization errors, fixes #1592 [#1701](https://github.com/openethereum/openethereum/pull/1701)
- add gitlab-ci yaml [#1753](https://github.com/openethereum/openethereum/pull/1753)
- Better handling of multiple migrations [#1747](https://github.com/openethereum/openethereum/pull/1747)
- Disconnect peers on a fork [#1738](https://github.com/openethereum/openethereum/pull/1738)
- Add RPC & client call to replay a transaction. [#1734](https://github.com/openethereum/openethereum/pull/1734)
- another version bump for jsonrpc-ipc [#1744](https://github.com/openethereum/openethereum/pull/1744)
- Trace other types of calls [#1727](https://github.com/openethereum/openethereum/pull/1727)
- Fixing compilation on latest nightly [#1736](https://github.com/openethereum/openethereum/pull/1736)
- Blocks and snapshot compression [#1687](https://github.com/openethereum/openethereum/pull/1687)
- bump json-ipc-server version [#1739](https://github.com/openethereum/openethereum/pull/1739)
- Use std::sync::Condvar [#1732](https://github.com/openethereum/openethereum/pull/1732)
- Bump json-ipc-server version [#1733](https://github.com/openethereum/openethereum/pull/1733)
- bump json-ipc-server version [#1731](https://github.com/openethereum/openethereum/pull/1731)
- Fixing some clippy warnings [#1728](https://github.com/openethereum/openethereum/pull/1728)
- Bumping Parity UI [#1682](https://github.com/openethereum/openethereum/pull/1682)
- Various improvements to tracing & diagnostics. [#1707](https://github.com/openethereum/openethereum/pull/1707)
- Fixed reading chunked EIP8 handshake [#1712](https://github.com/openethereum/openethereum/pull/1712)
- Fix for importing blocks from a pipe file [#1724](https://github.com/openethereum/openethereum/pull/1724)
- Proper errors for binary serializer [#1714](https://github.com/openethereum/openethereum/pull/1714)
- Use a transaction for writing blocks [#1718](https://github.com/openethereum/openethereum/pull/1718)
- Exclude generated code from coverage [#1720](https://github.com/openethereum/openethereum/pull/1720)
- Use single binary for ipc modules [#1710](https://github.com/openethereum/openethereum/pull/1710)
- Log a chain-reorg. [#1715](https://github.com/openethereum/openethereum/pull/1715)
- Restore new block informant message [#1716](https://github.com/openethereum/openethereum/pull/1716)
- Parallel block body download [#1659](https://github.com/openethereum/openethereum/pull/1659)
- Rotate blockchain cache [#1709](https://github.com/openethereum/openethereum/pull/1709)
- Fix broken internal names. [#1711](https://github.com/openethereum/openethereum/pull/1711)
- cli overhaul [#1600](https://github.com/openethereum/openethereum/pull/1600)
- Key files include timestamp in name. [#1700](https://github.com/openethereum/openethereum/pull/1700)
- Fixing warnings [#1705](https://github.com/openethereum/openethereum/pull/1705)
- Ethereum classic [#1706](https://github.com/openethereum/openethereum/pull/1706)
- Docker Arguments [#1703](https://github.com/openethereum/openethereum/pull/1703)
- Informant tidyup. [#1699](https://github.com/openethereum/openethereum/pull/1699)
- Name and meta in accounts [#1695](https://github.com/openethereum/openethereum/pull/1695)
- Stackoverflow #1686 [#1698](https://github.com/openethereum/openethereum/pull/1698)
- filtering transactions toAddress includes contract creation [#1697](https://github.com/openethereum/openethereum/pull/1697)
- Prevent syncing to ancient blocks [#1693](https://github.com/openethereum/openethereum/pull/1693)
- Enable WAL and disable DB repair [#1696](https://github.com/openethereum/openethereum/pull/1696)
- Returning error when transaction is rejected (for consistency) [#1667](https://github.com/openethereum/openethereum/pull/1667)
- Disabling signer when in geth-compatibility mode [#1676](https://github.com/openethereum/openethereum/pull/1676)
- Suicides tracing [#1688](https://github.com/openethereum/openethereum/pull/1688)
- small cleanup of substate.rs [#1685](https://github.com/openethereum/openethereum/pull/1685)
- resolve #411: remove install scripts [#1684](https://github.com/openethereum/openethereum/pull/1684)
- IPC (feature-gated) [#1654](https://github.com/openethereum/openethereum/pull/1654)
- Bumping JSONRPC-http-server [#1678](https://github.com/openethereum/openethereum/pull/1678)
- Fixing hash deserialisation [#1674](https://github.com/openethereum/openethereum/pull/1674)
- Ping discovery nodes gradually [#1671](https://github.com/openethereum/openethereum/pull/1671)
- Fixing the deadlock on incoming connection [#1672](https://github.com/openethereum/openethereum/pull/1672)
- Fixing errors returned by sendTransaction* method family [#1665](https://github.com/openethereum/openethereum/pull/1665)
- Moved syncing log out of the client [#1670](https://github.com/openethereum/openethereum/pull/1670)
- Host validation (again) [#1666](https://github.com/openethereum/openethereum/pull/1666)
- Update install-deps.sh [ci skip] [#1664](https://github.com/openethereum/openethereum/pull/1664)
- fix typos [#1644](https://github.com/openethereum/openethereum/pull/1644)
- Size for blocks [#1668](https://github.com/openethereum/openethereum/pull/1668)
- Revert "Validating Host headers in RPC requests" [#1663](https://github.com/openethereum/openethereum/pull/1663)
- Validating Host headers in RPC requests [#1658](https://github.com/openethereum/openethereum/pull/1658)
- fixed failing master [#1662](https://github.com/openethereum/openethereum/pull/1662)
- Fixing clippy warnings [#1660](https://github.com/openethereum/openethereum/pull/1660)
- Don't ping all nodes on start [#1656](https://github.com/openethereum/openethereum/pull/1656)
- More performance optimizations [#1649](https://github.com/openethereum/openethereum/pull/1649)
- Removing unused client code [#1645](https://github.com/openethereum/openethereum/pull/1645)
- Asynchronous transactions (polling based for now). [#1652](https://github.com/openethereum/openethereum/pull/1652)
- Sync stand-alone binary and feature-gated dependencies refactoring [#1637](https://github.com/openethereum/openethereum/pull/1637)
- Re-enabling Parity UI [#1627](https://github.com/openethereum/openethereum/pull/1627)
- Blockchain repair on missing state root [#1646](https://github.com/openethereum/openethereum/pull/1646)
- Multi-mode logging. [#1643](https://github.com/openethereum/openethereum/pull/1643)
- Pro paths [#1650](https://github.com/openethereum/openethereum/pull/1650)
- Performance optimizations [#1642](https://github.com/openethereum/openethereum/pull/1642)
- Removed DAO soft fork traces [#1639](https://github.com/openethereum/openethereum/pull/1639)
- Compiler version update for windows [#1638](https://github.com/openethereum/openethereum/pull/1638)
- Delete values immediately from DB overlay [#1631](https://github.com/openethereum/openethereum/pull/1631)
- DAO hard-fork [#1483](https://github.com/openethereum/openethereum/pull/1483)
- fix network_start regression [#1629](https://github.com/openethereum/openethereum/pull/1629)
- Die if the DB is newer than the one supported. [#1630](https://github.com/openethereum/openethereum/pull/1630)
- Cleanup of colour code. Use is_a_tty. [#1621](https://github.com/openethereum/openethereum/pull/1621)
- don't batch best block for branches [#1623](https://github.com/openethereum/openethereum/pull/1623)
- In-memory trie operations [#1408](https://github.com/openethereum/openethereum/pull/1408)
- Fix "pending" parameter on RPC block requests [#1602](https://github.com/openethereum/openethereum/pull/1602)
- Allow RPC to use solc to compile solidity [#1607](https://github.com/openethereum/openethereum/pull/1607)
- IPC RPC deriving for traits [#1599](https://github.com/openethereum/openethereum/pull/1599)
- Utilize cached kcov if exists [#1619](https://github.com/openethereum/openethereum/pull/1619)
- Fixing no-ui feature [#1618](https://github.com/openethereum/openethereum/pull/1618)
- Couple of rocksdb optimizations [#1614](https://github.com/openethereum/openethereum/pull/1614)
- Miner tests [#1597](https://github.com/openethereum/openethereum/pull/1597)
- Sync IPC interface [#1584](https://github.com/openethereum/openethereum/pull/1584)
- Make sure reserved peers are in the node table [#1616](https://github.com/openethereum/openethereum/pull/1616)
- Fix bloomchain on blockchain repair [#1610](https://github.com/openethereum/openethereum/pull/1610)
- fixed broken tracing [#1615](https://github.com/openethereum/openethereum/pull/1615)
- fix benchmark compilation [#1612](https://github.com/openethereum/openethereum/pull/1612)
- Updating jsonrpc-http-server [#1611](https://github.com/openethereum/openethereum/pull/1611)
- replace synchronization primitives with those from parking_lot [#1593](https://github.com/openethereum/openethereum/pull/1593)
- ui compilation feature [#1604](https://github.com/openethereum/openethereum/pull/1604)
- is_zero() and pow() optimisations for uint [#1608](https://github.com/openethereum/openethereum/pull/1608)
- Optimizing & Cleaning the build [#1591](https://github.com/openethereum/openethereum/pull/1591)
- Fix logging [#1590](https://github.com/openethereum/openethereum/pull/1590)
- remove unnecessary mutex in logging [#1601](https://github.com/openethereum/openethereum/pull/1601)
- Using streamlined parity-ui repository [#1566](https://github.com/openethereum/openethereum/pull/1566)
- Optimizing InstructionInfo access. [#1595](https://github.com/openethereum/openethereum/pull/1595)
- V7 Migration progress indicator [#1594](https://github.com/openethereum/openethereum/pull/1594)
- bring snapshotting work into master [#1577](https://github.com/openethereum/openethereum/pull/1577)
- Bump clippy [#1587](https://github.com/openethereum/openethereum/pull/1587)
- refactoring of handshake messages serialization in ipc [#1586](https://github.com/openethereum/openethereum/pull/1586)
- expunge &Vec<T> pattern [#1579](https://github.com/openethereum/openethereum/pull/1579)
- EVM gas for memory tiny optimization [#1578](https://github.com/openethereum/openethereum/pull/1578)
- cleaned up parity/signer [#1551](https://github.com/openethereum/openethereum/pull/1551)
- Major sync <-> client interactions refactoring [#1572](https://github.com/openethereum/openethereum/pull/1572)
- failing test with overlayrecent pruning [#1567](https://github.com/openethereum/openethereum/pull/1567)
- Enable state queries for OverlayRecent DB [#1575](https://github.com/openethereum/openethereum/pull/1575)
- have AccountDB use address hash for uniqueness [#1533](https://github.com/openethereum/openethereum/pull/1533)
- Very basic EVM binary. [#1574](https://github.com/openethereum/openethereum/pull/1574)
- Some obvious evm & uint optimizations [#1576](https://github.com/openethereum/openethereum/pull/1576)
- Fixing clippy warnings [#1568](https://github.com/openethereum/openethereum/pull/1568)
- Miner's gas price gets updated dynamically [#1570](https://github.com/openethereum/openethereum/pull/1570)
- bringing hypervisor as a crate in ipc dir [#1565](https://github.com/openethereum/openethereum/pull/1565)
- Init public interface with IO message [#1573](https://github.com/openethereum/openethereum/pull/1573)
- Uncommenting simple Miner tests [#1571](https://github.com/openethereum/openethereum/pull/1571)
- Kill lock unwraps [#1558](https://github.com/openethereum/openethereum/pull/1558)
- Fixing deadlock in miner [#1569](https://github.com/openethereum/openethereum/pull/1569)
- Idealpeers in log [#1563](https://github.com/openethereum/openethereum/pull/1563)
- Simple style fix. [#1561](https://github.com/openethereum/openethereum/pull/1561)
- Enum variants serialisation test&fix [#1559](https://github.com/openethereum/openethereum/pull/1559)
- Supporting /api/ping for dapps server [#1543](https://github.com/openethereum/openethereum/pull/1543)
- Client IPC Interface [#1493](https://github.com/openethereum/openethereum/pull/1493)
- Kill timers when removing IO handler [#1554](https://github.com/openethereum/openethereum/pull/1554)
- Fix and add info messages [#1552](https://github.com/openethereum/openethereum/pull/1552)
- Fix indent of #1541 [#1555](https://github.com/openethereum/openethereum/pull/1555)
- Update sealing just once when externally importing many blocks [#1541](https://github.com/openethereum/openethereum/pull/1541)
- Remove soft-fork stuff. [#1548](https://github.com/openethereum/openethereum/pull/1548)
- fix codegen warning [#1550](https://github.com/openethereum/openethereum/pull/1550)
- Extend migration framework [#1546](https://github.com/openethereum/openethereum/pull/1546)
- Refactoring dapps to support API endpoints. [#1542](https://github.com/openethereum/openethereum/pull/1542)
- serde is no longer util dependency [#1534](https://github.com/openethereum/openethereum/pull/1534)
- mention wiki in README [#1549](https://github.com/openethereum/openethereum/pull/1549)
- Skipping transactions with invalid nonces when pushing to block. [#1545](https://github.com/openethereum/openethereum/pull/1545)
- Silent running operating modes [#1477](https://github.com/openethereum/openethereum/pull/1477)
- util cleanup [#1474](https://github.com/openethereum/openethereum/pull/1474)
- Calculating gas using usize (if supplied gaslimit fits in usize) [#1518](https://github.com/openethereum/openethereum/pull/1518)
- add owning NibbleVec [#1536](https://github.com/openethereum/openethereum/pull/1536)
- Attempt to fix blochchain/extras DBs sync [#1538](https://github.com/openethereum/openethereum/pull/1538)
- Client API refactoring - limiting errors to crate-level error types [#1525](https://github.com/openethereum/openethereum/pull/1525)
- IPC codegen enhancement - allow void methods [#1540](https://github.com/openethereum/openethereum/pull/1540)
- Fixing serving nested files for dapps. [#1539](https://github.com/openethereum/openethereum/pull/1539)
- Fixed public address config [#1537](https://github.com/openethereum/openethereum/pull/1537)
- Fixing compilation&clippy warnings [#1531](https://github.com/openethereum/openethereum/pull/1531)
- creating ethereum dir while in geth mode [#1530](https://github.com/openethereum/openethereum/pull/1530)
- Bumping clippy [#1532](https://github.com/openethereum/openethereum/pull/1532)
- Make signer default as long as --unlock isn't used. [#1524](https://github.com/openethereum/openethereum/pull/1524)
- add client timeout when requesting usd price for gas [#1526](https://github.com/openethereum/openethereum/pull/1526)
- Fix gitter-url link in README.md [#1528](https://github.com/openethereum/openethereum/pull/1528)
- Fix error message. [#1527](https://github.com/openethereum/openethereum/pull/1527)
- BTreeMap binary serialization [#1489](https://github.com/openethereum/openethereum/pull/1489)
- Save block reference in the queue on notification [#1501](https://github.com/openethereum/openethereum/pull/1501)
- bigint tests to run on CI [#1522](https://github.com/openethereum/openethereum/pull/1522)
- Client api cleaning - uncles are returned as rlp [#1516](https://github.com/openethereum/openethereum/pull/1516)
- Fatdb integration with CLI [#1464](https://github.com/openethereum/openethereum/pull/1464)
- Optimizing/simplifying shr [#1517](https://github.com/openethereum/openethereum/pull/1517)
- change IPC codegen to allow attributes [#1500](https://github.com/openethereum/openethereum/pull/1500)
- Fix warnings [#1514](https://github.com/openethereum/openethereum/pull/1514)
- FatDB [#1452](https://github.com/openethereum/openethereum/pull/1452)
- Fix the reseal mechanism. [#1513](https://github.com/openethereum/openethereum/pull/1513)
- Update Dockerfile ubuntu-aarch64 [#1509](https://github.com/openethereum/openethereum/pull/1509)
- Update Ubuntu-arm Dockerfile [#1510](https://github.com/openethereum/openethereum/pull/1510)
- Update Ubuntu-jit Dockerfile [#1511](https://github.com/openethereum/openethereum/pull/1511)
- Update Ubuntu Dockerfile [#1512](https://github.com/openethereum/openethereum/pull/1512)
- Update CentOS Dockerfile [#1508](https://github.com/openethereum/openethereum/pull/1508)
- bump status page v0.5.1 [#1502](https://github.com/openethereum/openethereum/pull/1502)
- Update CentOS Dockerfile [#1507](https://github.com/openethereum/openethereum/pull/1507)
- Update Dockerfile ubuntu-aarch64 [#1506](https://github.com/openethereum/openethereum/pull/1506)
- Update Ubuntu-arm Dockerfile [#1505](https://github.com/openethereum/openethereum/pull/1505)
- Update Ubuntu-jit Dockerfile [#1504](https://github.com/openethereum/openethereum/pull/1504)
- Update Ubuntu Dockerfile [#1503](https://github.com/openethereum/openethereum/pull/1503)
- Optionally clone block behind work-package [#1497](https://github.com/openethereum/openethereum/pull/1497)
- Fix no colour on windows. [#1498](https://github.com/openethereum/openethereum/pull/1498)
- Workaround for hyper panic [#1495](https://github.com/openethereum/openethereum/pull/1495)
- Colourful notification on mine [#1488](https://github.com/openethereum/openethereum/pull/1488)
- Quick fix for max open files error [#1494](https://github.com/openethereum/openethereum/pull/1494)
- Work notification over HTTP [#1491](https://github.com/openethereum/openethereum/pull/1491)
- Sealed block importing and propagation optimization [#1478](https://github.com/openethereum/openethereum/pull/1478)
- vm factory to mining client [#1487](https://github.com/openethereum/openethereum/pull/1487)
- topbar dialog fix [#1479](https://github.com/openethereum/openethereum/pull/1479)
- Minor additions to allow resetting of code. [#1482](https://github.com/openethereum/openethereum/pull/1482)
- Introduce options for fine-grained management of work queue. [#1484](https://github.com/openethereum/openethereum/pull/1484)
- Snapshot state restoration [#1308](https://github.com/openethereum/openethereum/pull/1308)
- Merge master into pv64 branch [#1486](https://github.com/openethereum/openethereum/pull/1486)
- Ensure we don't reject our own transactions for gasprice. [#1485](https://github.com/openethereum/openethereum/pull/1485)
- Signing parity executable & windows installer in appveyor [#1481](https://github.com/openethereum/openethereum/pull/1481)
- Rearrange fork CLI options. [#1476](https://github.com/openethereum/openethereum/pull/1476)
- give appveyor some breath [#1475](https://github.com/openethereum/openethereum/pull/1475)
- Ensure we always get the latest work when mining on submitted. [#1469](https://github.com/openethereum/openethereum/pull/1469)
- Tests for views [#1471](https://github.com/openethereum/openethereum/pull/1471)
- json ipc version bump [#1470](https://github.com/openethereum/openethereum/pull/1470)
- verifier is no longer a template type of client [#1467](https://github.com/openethereum/openethereum/pull/1467)
- Allow configuration of when to reseal blocks. [#1460](https://github.com/openethereum/openethereum/pull/1460)
- removed unsafe code [#1466](https://github.com/openethereum/openethereum/pull/1466)
- WS bump + Adding default for value [#1465](https://github.com/openethereum/openethereum/pull/1465)
- Attempt DB repair if corrupted [#1461](https://github.com/openethereum/openethereum/pull/1461)
- Database configuration extended [#1454](https://github.com/openethereum/openethereum/pull/1454)
- Updating WS-RS server [#1459](https://github.com/openethereum/openethereum/pull/1459)
- Reduced IO messages; removed panics on IO notifications [#1457](https://github.com/openethereum/openethereum/pull/1457)
- Handle errors when starting parity --signer [#1451](https://github.com/openethereum/openethereum/pull/1451)
- Fixed losing queued blocks on error [#1453](https://github.com/openethereum/openethereum/pull/1453)
- Updated to latest hyper with patched mio [#1450](https://github.com/openethereum/openethereum/pull/1450)
- Retweak BASE and MULTIPLIER in rocksdb config. [#1445](https://github.com/openethereum/openethereum/pull/1445)
- Removing Miner::default. [#1410](https://github.com/openethereum/openethereum/pull/1410)
- Don't mine without --author [#1436](https://github.com/openethereum/openethereum/pull/1436)
- Revert the rescuedao extradata. [#1437](https://github.com/openethereum/openethereum/pull/1437)
- More conservative settings for rocksdb. [#1440](https://github.com/openethereum/openethereum/pull/1440)
- v1.3.0 in master [#1421](https://github.com/openethereum/openethereum/pull/1421)
- Update Ubuntu-arm Dockerfile [#1429](https://github.com/openethereum/openethereum/pull/1429)
- Create Dockerfile ubuntu-aarch64 [#1430](https://github.com/openethereum/openethereum/pull/1430)
- Update CentOS Dockerfile [#1424](https://github.com/openethereum/openethereum/pull/1424)
- Update Ubuntu Dockerfile [#1426](https://github.com/openethereum/openethereum/pull/1426)
- Update Ubuntu-jit Dockerfile [#1427](https://github.com/openethereum/openethereum/pull/1427)
- Update SF blocknumber to 1800000. [#1418](https://github.com/openethereum/openethereum/pull/1418)
- Bumping Parity UI [#1920](https://github.com/paritytech/parity/pull/1920)
- Adding entrypoints to docker images [#1909](https://github.com/paritytech/parity/pull/1909)
- Save nodes removed from backing_overlay until commit [#1917](https://github.com/paritytech/parity/pull/1917)
- RPC for importing geth keys [#1916](https://github.com/paritytech/parity/pull/1916)
- Peers RPC + UI displaying active/connected/max peers [#1915](https://github.com/paritytech/parity/pull/1915)
- RPC for deriving address from phrase. [#1912](https://github.com/paritytech/parity/pull/1912)
- adjust polling & connection timeouts for ipc [#1910](https://github.com/paritytech/parity/pull/1910)
- Don't return deleted nodes that are not yet flushed [#1908](https://github.com/paritytech/parity/pull/1908)
- Wallet rpcs [#1898](https://github.com/paritytech/parity/pull/1898)
- Fix binary serialization bug [#1907](https://github.com/paritytech/parity/pull/1907)
- fixed #1889, .DS_Store is no longer treated as key file [#1892](https://github.com/paritytech/parity/pull/1892)
- Purging .derefs, fixing clippy warnings. [#1890](https://github.com/paritytech/parity/pull/1890)
- RocksDB version bump [#1904](https://github.com/paritytech/parity/pull/1904)
- Fix ipc compilation and add ipc feature to test targets [#1902](https://github.com/paritytech/parity/pull/1902)
- Autocreating geth dir if none and geth mode on [#1896](https://github.com/paritytech/parity/pull/1896)
- v1.4.0 in master [#1886](https://github.com/paritytech/parity/pull/1886)
- Adding more details to miner log [#1891](https://github.com/paritytech/parity/pull/1891)
- moved hash.rs to bigint library [#1827](https://github.com/paritytech/parity/pull/1827)
- fixed cache_manager lock order [#1877](https://github.com/paritytech/parity/pull/1877)
- Fixing miner deadlock [#1885](https://github.com/paritytech/parity/pull/1885)
- Updating WS + Increasing token validity [#1882](https://github.com/paritytech/parity/pull/1882)
- take snapshot at specified block and slightly better informants [#1873](https://github.com/paritytech/parity/pull/1873)
- RPC errors & logs [#1845](https://github.com/paritytech/parity/pull/1845)
- Reduce max open files [#1876](https://github.com/paritytech/parity/pull/1876)
- Send new block hashes to all peers [#1875](https://github.com/paritytech/parity/pull/1875)
- Use UntrustedRlp for block verification [#1872](https://github.com/paritytech/parity/pull/1872)
- Update cache usage on commiting block info [#1871](https://github.com/paritytech/parity/pull/1871)
- Validating conversion U256->usize when doing gas calculation (for 32bits) [#1870](https://github.com/paritytech/parity/pull/1870)
- Sync to peers with confirmed fork block only [#1863](https://github.com/paritytech/parity/pull/1863)
- miner and client take spec reference [#1853](https://github.com/paritytech/parity/pull/1853)
- Unlock account with timeout for geth compatibility [#1854](https://github.com/paritytech/parity/pull/1854)
- Fixed reported max height and transaction propagation [#1852](https://github.com/paritytech/parity/pull/1852)
- Snapshot creation and restoration [#1679](https://github.com/paritytech/parity/pull/1679)
- fix deprecated typo [#1850](https://github.com/paritytech/parity/pull/1850)
- Split IO and network crates [#1828](https://github.com/paritytech/parity/pull/1828)
- updated classic JSON spec with classic bootnodes, fixes #1842 [#1847](https://github.com/paritytech/parity/pull/1847)
- protect unsafety in plainhasher; get more unique hashes [#1841](https://github.com/paritytech/parity/pull/1841)
- use mutex in dbtransaction [#1843](https://github.com/paritytech/parity/pull/1843)
- Fix state not using "account_starting_nonce" [#1830](https://github.com/paritytech/parity/pull/1830)
- Supporting blockid in eth_call and trace_call/trace_raw [#1837](https://github.com/paritytech/parity/pull/1837)
- eth_checkTransaction renamed to eth_checkRequest [#1817](https://github.com/paritytech/parity/pull/1817)
- Bump json-ipc-server again [#1839](https://github.com/paritytech/parity/pull/1839)
- Fixing another deadlock in trace db [#1833](https://github.com/paritytech/parity/pull/1833)
- Fix up the VM trace. [#1829](https://github.com/paritytech/parity/pull/1829)
- fixed parsing export params, fixes #1826 [#1834](https://github.com/paritytech/parity/pull/1834)
- More performance optimizations [#1814](https://github.com/paritytech/parity/pull/1814)
- Bumping clippy & fixing warnings [#1823](https://github.com/paritytech/parity/pull/1823)
- removed unused code from util and unnecessary dependency of FixedHash [#1824](https://github.com/paritytech/parity/pull/1824)
- Remove (almost all) panickers from trie module [#1776](https://github.com/paritytech/parity/pull/1776)
- Fixing account naming [#1810](https://github.com/paritytech/parity/pull/1810)
- JournalDB inject [#1806](https://github.com/paritytech/parity/pull/1806)
- No block number in get work while in geth-compat mode. [#1821](https://github.com/paritytech/parity/pull/1821)
- Import wallet fix [#1820](https://github.com/paritytech/parity/pull/1820)
- Supporting eth_sign in Signer [#1787](https://github.com/paritytech/parity/pull/1787)
- Fixing cache update after chain reorg [#1816](https://github.com/paritytech/parity/pull/1816)
- Development mode for Signer UI [#1788](https://github.com/paritytech/parity/pull/1788)
- Miner tweaks [#1797](https://github.com/paritytech/parity/pull/1797)
- Util & ipc clenup [#1807](https://github.com/paritytech/parity/pull/1807)
- Fixing unlock parsing [#1802](https://github.com/paritytech/parity/pull/1802)
- fixed importing presale wallet with encseed longer than 96 bytes [#1801](https://github.com/paritytech/parity/pull/1801)
- DRYing build scripts [#1795](https://github.com/paritytech/parity/pull/1795)
- Allow code from spec json [#1790](https://github.com/paritytech/parity/pull/1790)
- nano-tests (ipc transport) to the CI [#1793](https://github.com/paritytech/parity/pull/1793)
- Commit best block after closing transaction [#1791](https://github.com/paritytech/parity/pull/1791)
- Place thread name in the log output [#1792](https://github.com/paritytech/parity/pull/1792)
- Fix ipc tests and bring to CI [#1789](https://github.com/paritytech/parity/pull/1789)
- dynamic keys pickup [#1779](https://github.com/paritytech/parity/pull/1779)
- ipc version bump [#1783](https://github.com/paritytech/parity/pull/1783)
- Prevent deadlock on trace GC [#1780](https://github.com/paritytech/parity/pull/1780)
- fixed trace_transaction crash when block contained suicide [#1781](https://github.com/paritytech/parity/pull/1781)
- Fix block body migration [#1777](https://github.com/paritytech/parity/pull/1777)
- cache manager and clearing tracing cache [#1769](https://github.com/paritytech/parity/pull/1769)
- Return storage as H256 from RPC. [#1774](https://github.com/paritytech/parity/pull/1774)
- Instant sealing engine [#1767](https://github.com/paritytech/parity/pull/1767)
- fix state unsafety with a mostly-guaranteed handle [#1755](https://github.com/paritytech/parity/pull/1755)
- Gas for mem optimization [#1768](https://github.com/paritytech/parity/pull/1768)
- Min and Max peers setting [#1771](https://github.com/paritytech/parity/pull/1771)
- Disable WAL [#1765](https://github.com/paritytech/parity/pull/1765)
- Add new line when printing start strings [#1766](https://github.com/paritytech/parity/pull/1766)
- Log tweak [#1764](https://github.com/paritytech/parity/pull/1764)
- Remove update_sealing call on importing own block [#1762](https://github.com/paritytech/parity/pull/1762)
- Single DB [#1741](https://github.com/paritytech/parity/pull/1741)
- Tweak format of log so it's not so verbose. [#1758](https://github.com/paritytech/parity/pull/1758)
- Combine mining queue and enabled into single locked datum [#1749](https://github.com/paritytech/parity/pull/1749)
- Collect consensus/null engines into a single module [#1754](https://github.com/paritytech/parity/pull/1754)
- Fix failing deserialization test [#1756](https://github.com/paritytech/parity/pull/1756)
- Stackoverflow fix [#1742](https://github.com/paritytech/parity/pull/1742)
- compaction profile used during migration, fixes #1750 [#1751](https://github.com/paritytech/parity/pull/1751)
- Splitting documentation into separate build job [#1752](https://github.com/paritytech/parity/pull/1752)
- handle keys deserialization errors, fixes #1592 [#1701](https://github.com/paritytech/parity/pull/1701)
- add gitlab-ci yaml [#1753](https://github.com/paritytech/parity/pull/1753)
- Better handling of multiple migrations [#1747](https://github.com/paritytech/parity/pull/1747)
- Disconnect peers on a fork [#1738](https://github.com/paritytech/parity/pull/1738)
- Add RPC & client call to replay a transaction. [#1734](https://github.com/paritytech/parity/pull/1734)
- another version bump for jsonrpc-ipc [#1744](https://github.com/paritytech/parity/pull/1744)
- Trace other types of calls [#1727](https://github.com/paritytech/parity/pull/1727)
- Fixing compilation on latest nightly [#1736](https://github.com/paritytech/parity/pull/1736)
- Blocks and snapshot compression [#1687](https://github.com/paritytech/parity/pull/1687)
- bump json-ipc-server version [#1739](https://github.com/paritytech/parity/pull/1739)
- Use std::sync::Condvar [#1732](https://github.com/paritytech/parity/pull/1732)
- Bump json-ipc-server version [#1733](https://github.com/paritytech/parity/pull/1733)
- bump json-ipc-server version [#1731](https://github.com/paritytech/parity/pull/1731)
- Fixing some clippy warnings [#1728](https://github.com/paritytech/parity/pull/1728)
- Bumping Parity UI [#1682](https://github.com/paritytech/parity/pull/1682)
- Various improvements to tracing & diagnostics. [#1707](https://github.com/paritytech/parity/pull/1707)
- Fixed reading chunked EIP8 handshake [#1712](https://github.com/paritytech/parity/pull/1712)
- Fix for importing blocks from a pipe file [#1724](https://github.com/paritytech/parity/pull/1724)
- Proper errors for binary serializer [#1714](https://github.com/paritytech/parity/pull/1714)
- Use a transaction for writing blocks [#1718](https://github.com/paritytech/parity/pull/1718)
- Exclude generated code from coverage [#1720](https://github.com/paritytech/parity/pull/1720)
- Use single binary for ipc modules [#1710](https://github.com/paritytech/parity/pull/1710)
- Log a chain-reorg. [#1715](https://github.com/paritytech/parity/pull/1715)
- Restore new block informant message [#1716](https://github.com/paritytech/parity/pull/1716)
- Parallel block body download [#1659](https://github.com/paritytech/parity/pull/1659)
- Rotate blockchain cache [#1709](https://github.com/paritytech/parity/pull/1709)
- Fix broken internal names. [#1711](https://github.com/paritytech/parity/pull/1711)
- cli overhaul [#1600](https://github.com/paritytech/parity/pull/1600)
- Key files include timestamp in name. [#1700](https://github.com/paritytech/parity/pull/1700)
- Fixing warnings [#1705](https://github.com/paritytech/parity/pull/1705)
- Ethereum classic [#1706](https://github.com/paritytech/parity/pull/1706)
- Docker Arguments [#1703](https://github.com/paritytech/parity/pull/1703)
- Informant tidyup. [#1699](https://github.com/paritytech/parity/pull/1699)
- Name and meta in accounts [#1695](https://github.com/paritytech/parity/pull/1695)
- Stackoverflow #1686 [#1698](https://github.com/paritytech/parity/pull/1698)
- filtering transactions toAddress includes contract creation [#1697](https://github.com/paritytech/parity/pull/1697)
- Prevent syncing to ancient blocks [#1693](https://github.com/paritytech/parity/pull/1693)
- Enable WAL and disable DB repair [#1696](https://github.com/paritytech/parity/pull/1696)
- Returning error when transaction is rejected (for consistency) [#1667](https://github.com/paritytech/parity/pull/1667)
- Disabling signer when in geth-compatibility mode [#1676](https://github.com/paritytech/parity/pull/1676)
- Suicides tracing [#1688](https://github.com/paritytech/parity/pull/1688)
- small cleanup of substate.rs [#1685](https://github.com/paritytech/parity/pull/1685)
- resolve #411: remove install scripts [#1684](https://github.com/paritytech/parity/pull/1684)
- IPC (feature-gated) [#1654](https://github.com/paritytech/parity/pull/1654)
- Bumping JSONRPC-http-server [#1678](https://github.com/paritytech/parity/pull/1678)
- Fixing hash deserialisation [#1674](https://github.com/paritytech/parity/pull/1674)
- Ping discovery nodes gradually [#1671](https://github.com/paritytech/parity/pull/1671)
- Fixing the deadlock on incoming connection [#1672](https://github.com/paritytech/parity/pull/1672)
- Fixing errors returned by sendTransaction* method family [#1665](https://github.com/paritytech/parity/pull/1665)
- Moved syncing log out of the client [#1670](https://github.com/paritytech/parity/pull/1670)
- Host validation (again) [#1666](https://github.com/paritytech/parity/pull/1666)
- Update install-deps.sh [ci skip] [#1664](https://github.com/paritytech/parity/pull/1664)
- fix typos [#1644](https://github.com/paritytech/parity/pull/1644)
- Size for blocks [#1668](https://github.com/paritytech/parity/pull/1668)
- Revert "Validating Host headers in RPC requests" [#1663](https://github.com/paritytech/parity/pull/1663)
- Validating Host headers in RPC requests [#1658](https://github.com/paritytech/parity/pull/1658)
- fixed failing master [#1662](https://github.com/paritytech/parity/pull/1662)
- Fixing clippy warnings [#1660](https://github.com/paritytech/parity/pull/1660)
- Don't ping all nodes on start [#1656](https://github.com/paritytech/parity/pull/1656)
- More performance optimizations [#1649](https://github.com/paritytech/parity/pull/1649)
- Removing unused client code [#1645](https://github.com/paritytech/parity/pull/1645)
- Asynchronous transactions (polling based for now). [#1652](https://github.com/paritytech/parity/pull/1652)
- Sync stand-alone binary and feature-gated dependencies refactoring [#1637](https://github.com/paritytech/parity/pull/1637)
- Re-enabling Parity UI [#1627](https://github.com/paritytech/parity/pull/1627)
- Blockchain repair on missing state root [#1646](https://github.com/paritytech/parity/pull/1646)
- Multi-mode logging. [#1643](https://github.com/paritytech/parity/pull/1643)
- Pro paths [#1650](https://github.com/paritytech/parity/pull/1650)
- Performance optimizations [#1642](https://github.com/paritytech/parity/pull/1642)
- Removed DAO soft fork traces [#1639](https://github.com/paritytech/parity/pull/1639)
- Compiler version update for windows [#1638](https://github.com/paritytech/parity/pull/1638)
- Delete values immediately from DB overlay [#1631](https://github.com/paritytech/parity/pull/1631)
- DAO hard-fork [#1483](https://github.com/paritytech/parity/pull/1483)
- fix network_start regression [#1629](https://github.com/paritytech/parity/pull/1629)
- Die if the DB is newer than the one supported. [#1630](https://github.com/paritytech/parity/pull/1630)
- Cleanup of colour code. Use is_a_tty. [#1621](https://github.com/paritytech/parity/pull/1621)
- don't batch best block for branches [#1623](https://github.com/paritytech/parity/pull/1623)
- In-memory trie operations [#1408](https://github.com/paritytech/parity/pull/1408)
- Fix "pending" parameter on RPC block requests [#1602](https://github.com/paritytech/parity/pull/1602)
- Allow RPC to use solc to compile solidity [#1607](https://github.com/paritytech/parity/pull/1607)
- IPC RPC deriving for traits [#1599](https://github.com/paritytech/parity/pull/1599)
- Utilize cached kcov if exists [#1619](https://github.com/paritytech/parity/pull/1619)
- Fixing no-ui feature [#1618](https://github.com/paritytech/parity/pull/1618)
- Couple of rocksdb optimizations [#1614](https://github.com/paritytech/parity/pull/1614)
- Miner tests [#1597](https://github.com/paritytech/parity/pull/1597)
- Sync IPC interface [#1584](https://github.com/paritytech/parity/pull/1584)
- Make sure reserved peers are in the node table [#1616](https://github.com/paritytech/parity/pull/1616)
- Fix bloomchain on blockchain repair [#1610](https://github.com/paritytech/parity/pull/1610)
- fixed broken tracing [#1615](https://github.com/paritytech/parity/pull/1615)
- fix benchmark compilation [#1612](https://github.com/paritytech/parity/pull/1612)
- Updating jsonrpc-http-server [#1611](https://github.com/paritytech/parity/pull/1611)
- replace synchronization primitives with those from parking_lot [#1593](https://github.com/paritytech/parity/pull/1593)
- ui compilation feature [#1604](https://github.com/paritytech/parity/pull/1604)
- is_zero() and pow() optimisations for uint [#1608](https://github.com/paritytech/parity/pull/1608)
- Optimizing & Cleaning the build [#1591](https://github.com/paritytech/parity/pull/1591)
- Fix logging [#1590](https://github.com/paritytech/parity/pull/1590)
- remove unnecessary mutex in logging [#1601](https://github.com/paritytech/parity/pull/1601)
- Using streamlined parity-ui repository [#1566](https://github.com/paritytech/parity/pull/1566)
- Optimizing InstructionInfo access. [#1595](https://github.com/paritytech/parity/pull/1595)
- V7 Migration progress indicator [#1594](https://github.com/paritytech/parity/pull/1594)
- bring snapshotting work into master [#1577](https://github.com/paritytech/parity/pull/1577)
- Bump clippy [#1587](https://github.com/paritytech/parity/pull/1587)
- refactoring of handshake messages serialization in ipc [#1586](https://github.com/paritytech/parity/pull/1586)
- expunge &Vec<T> pattern [#1579](https://github.com/paritytech/parity/pull/1579)
- EVM gas for memory tiny optimization [#1578](https://github.com/paritytech/parity/pull/1578)
- cleaned up parity/signer [#1551](https://github.com/paritytech/parity/pull/1551)
- Major sync <-> client interactions refactoring [#1572](https://github.com/paritytech/parity/pull/1572)
- failing test with overlayrecent pruning [#1567](https://github.com/paritytech/parity/pull/1567)
- Enable state queries for OverlayRecent DB [#1575](https://github.com/paritytech/parity/pull/1575)
- have AccountDB use address hash for uniqueness [#1533](https://github.com/paritytech/parity/pull/1533)
- Very basic EVM binary. [#1574](https://github.com/paritytech/parity/pull/1574)
- Some obvious evm & uint optimizations [#1576](https://github.com/paritytech/parity/pull/1576)
- Fixing clippy warnings [#1568](https://github.com/paritytech/parity/pull/1568)
- Miner's gas price gets updated dynamically [#1570](https://github.com/paritytech/parity/pull/1570)
- bringing hypervisor as a crate in ipc dir [#1565](https://github.com/paritytech/parity/pull/1565)
- Init public interface with IO message [#1573](https://github.com/paritytech/parity/pull/1573)
- Uncommenting simple Miner tests [#1571](https://github.com/paritytech/parity/pull/1571)
- Kill lock unwraps [#1558](https://github.com/paritytech/parity/pull/1558)
- Fixing deadlock in miner [#1569](https://github.com/paritytech/parity/pull/1569)
- Idealpeers in log [#1563](https://github.com/paritytech/parity/pull/1563)
- Simple style fix. [#1561](https://github.com/paritytech/parity/pull/1561)
- Enum variants serialisation test&fix [#1559](https://github.com/paritytech/parity/pull/1559)
- Supporting /api/ping for dapps server [#1543](https://github.com/paritytech/parity/pull/1543)
- Client IPC Interface [#1493](https://github.com/paritytech/parity/pull/1493)
- Kill timers when removing IO handler [#1554](https://github.com/paritytech/parity/pull/1554)
- Fix and add info messages [#1552](https://github.com/paritytech/parity/pull/1552)
- Fix indent of #1541 [#1555](https://github.com/paritytech/parity/pull/1555)
- Update sealing just once when externally importing many blocks [#1541](https://github.com/paritytech/parity/pull/1541)
- Remove soft-fork stuff. [#1548](https://github.com/paritytech/parity/pull/1548)
- fix codegen warning [#1550](https://github.com/paritytech/parity/pull/1550)
- Extend migration framework [#1546](https://github.com/paritytech/parity/pull/1546)
- Refactoring dapps to support API endpoints. [#1542](https://github.com/paritytech/parity/pull/1542)
- serde is no longer util dependency [#1534](https://github.com/paritytech/parity/pull/1534)
- mention wiki in README [#1549](https://github.com/paritytech/parity/pull/1549)
- Skipping transactions with invalid nonces when pushing to block. [#1545](https://github.com/paritytech/parity/pull/1545)
- Silent running operating modes [#1477](https://github.com/paritytech/parity/pull/1477)
- util cleanup [#1474](https://github.com/paritytech/parity/pull/1474)
- Calculating gas using usize (if supplied gaslimit fits in usize) [#1518](https://github.com/paritytech/parity/pull/1518)
- add owning NibbleVec [#1536](https://github.com/paritytech/parity/pull/1536)
- Attempt to fix blochchain/extras DBs sync [#1538](https://github.com/paritytech/parity/pull/1538)
- Client API refactoring - limiting errors to crate-level error types [#1525](https://github.com/paritytech/parity/pull/1525)
- IPC codegen enhancement - allow void methods [#1540](https://github.com/paritytech/parity/pull/1540)
- Fixing serving nested files for dapps. [#1539](https://github.com/paritytech/parity/pull/1539)
- Fixed public address config [#1537](https://github.com/paritytech/parity/pull/1537)
- Fixing compilation&clippy warnings [#1531](https://github.com/paritytech/parity/pull/1531)
- creating ethereum dir while in geth mode [#1530](https://github.com/paritytech/parity/pull/1530)
- Bumping clippy [#1532](https://github.com/paritytech/parity/pull/1532)
- Make signer default as long as --unlock isn't used. [#1524](https://github.com/paritytech/parity/pull/1524)
- add client timeout when requesting usd price for gas [#1526](https://github.com/paritytech/parity/pull/1526)
- Fix gitter-url link in README.md [#1528](https://github.com/paritytech/parity/pull/1528)
- Fix error message. [#1527](https://github.com/paritytech/parity/pull/1527)
- BTreeMap binary serialization [#1489](https://github.com/paritytech/parity/pull/1489)
- Save block reference in the queue on notification [#1501](https://github.com/paritytech/parity/pull/1501)
- bigint tests to run on CI [#1522](https://github.com/paritytech/parity/pull/1522)
- Client api cleaning - uncles are returned as rlp [#1516](https://github.com/paritytech/parity/pull/1516)
- Fatdb integration with CLI [#1464](https://github.com/paritytech/parity/pull/1464)
- Optimizing/simplifying shr [#1517](https://github.com/paritytech/parity/pull/1517)
- change IPC codegen to allow attributes [#1500](https://github.com/paritytech/parity/pull/1500)
- Fix warnings [#1514](https://github.com/paritytech/parity/pull/1514)
- FatDB [#1452](https://github.com/paritytech/parity/pull/1452)
- Fix the reseal mechanism. [#1513](https://github.com/paritytech/parity/pull/1513)
- Update Dockerfile ubuntu-aarch64 [#1509](https://github.com/paritytech/parity/pull/1509)
- Update Ubuntu-arm Dockerfile [#1510](https://github.com/paritytech/parity/pull/1510)
- Update Ubuntu-jit Dockerfile [#1511](https://github.com/paritytech/parity/pull/1511)
- Update Ubuntu Dockerfile [#1512](https://github.com/paritytech/parity/pull/1512)
- Update CentOS Dockerfile [#1508](https://github.com/paritytech/parity/pull/1508)
- bump status page v0.5.1 [#1502](https://github.com/paritytech/parity/pull/1502)
- Update CentOS Dockerfile [#1507](https://github.com/paritytech/parity/pull/1507)
- Update Dockerfile ubuntu-aarch64 [#1506](https://github.com/paritytech/parity/pull/1506)
- Update Ubuntu-arm Dockerfile [#1505](https://github.com/paritytech/parity/pull/1505)
- Update Ubuntu-jit Dockerfile [#1504](https://github.com/paritytech/parity/pull/1504)
- Update Ubuntu Dockerfile [#1503](https://github.com/paritytech/parity/pull/1503)
- Optionally clone block behind work-package [#1497](https://github.com/paritytech/parity/pull/1497)
- Fix no colour on windows. [#1498](https://github.com/paritytech/parity/pull/1498)
- Workaround for hyper panic [#1495](https://github.com/paritytech/parity/pull/1495)
- Colourful notification on mine [#1488](https://github.com/paritytech/parity/pull/1488)
- Quick fix for max open files error [#1494](https://github.com/paritytech/parity/pull/1494)
- Work notification over HTTP [#1491](https://github.com/paritytech/parity/pull/1491)
- Sealed block importing and propagation optimization [#1478](https://github.com/paritytech/parity/pull/1478)
- vm factory to mining client [#1487](https://github.com/paritytech/parity/pull/1487)
- topbar dialog fix [#1479](https://github.com/paritytech/parity/pull/1479)
- Minor additions to allow resetting of code. [#1482](https://github.com/paritytech/parity/pull/1482)
- Introduce options for fine-grained management of work queue. [#1484](https://github.com/paritytech/parity/pull/1484)
- Snapshot state restoration [#1308](https://github.com/paritytech/parity/pull/1308)
- Merge master into pv64 branch [#1486](https://github.com/paritytech/parity/pull/1486)
- Ensure we don't reject our own transactions for gasprice. [#1485](https://github.com/paritytech/parity/pull/1485)
- Signing parity executable & windows installer in appveyor [#1481](https://github.com/paritytech/parity/pull/1481)
- Rearrange fork CLI options. [#1476](https://github.com/paritytech/parity/pull/1476)
- give appveyor some breath [#1475](https://github.com/paritytech/parity/pull/1475)
- Ensure we always get the latest work when mining on submitted. [#1469](https://github.com/paritytech/parity/pull/1469)
- Tests for views [#1471](https://github.com/paritytech/parity/pull/1471)
- json ipc version bump [#1470](https://github.com/paritytech/parity/pull/1470)
- verifier is no longer a template type of client [#1467](https://github.com/paritytech/parity/pull/1467)
- Allow configuration of when to reseal blocks. [#1460](https://github.com/paritytech/parity/pull/1460)
- removed unsafe code [#1466](https://github.com/paritytech/parity/pull/1466)
- WS bump + Adding default for value [#1465](https://github.com/paritytech/parity/pull/1465)
- Attempt DB repair if corrupted [#1461](https://github.com/paritytech/parity/pull/1461)
- Database configuration extended [#1454](https://github.com/paritytech/parity/pull/1454)
- Updating WS-RS server [#1459](https://github.com/paritytech/parity/pull/1459)
- Reduced IO messages; removed panics on IO notifications [#1457](https://github.com/paritytech/parity/pull/1457)
- Handle errors when starting parity --signer [#1451](https://github.com/paritytech/parity/pull/1451)
- Fixed losing queued blocks on error [#1453](https://github.com/paritytech/parity/pull/1453)
- Updated to latest hyper with patched mio [#1450](https://github.com/paritytech/parity/pull/1450)
- Retweak BASE and MULTIPLIER in rocksdb config. [#1445](https://github.com/paritytech/parity/pull/1445)
- Removing Miner::default. [#1410](https://github.com/paritytech/parity/pull/1410)
- Don't mine without --author [#1436](https://github.com/paritytech/parity/pull/1436)
- Revert the rescuedao extradata. [#1437](https://github.com/paritytech/parity/pull/1437)
- More conservative settings for rocksdb. [#1440](https://github.com/paritytech/parity/pull/1440)
- v1.3.0 in master [#1421](https://github.com/paritytech/parity/pull/1421)
- Update Ubuntu-arm Dockerfile [#1429](https://github.com/paritytech/parity/pull/1429)
- Create Dockerfile ubuntu-aarch64 [#1430](https://github.com/paritytech/parity/pull/1430)
- Update CentOS Dockerfile [#1424](https://github.com/paritytech/parity/pull/1424)
- Update Ubuntu Dockerfile [#1426](https://github.com/paritytech/parity/pull/1426)
- Update Ubuntu-jit Dockerfile [#1427](https://github.com/paritytech/parity/pull/1427)
- Update SF blocknumber to 1800000. [#1418](https://github.com/paritytech/parity/pull/1418)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,47 +1,47 @@
Note: Parity 1.6 reached End-of-Life on 2017-10-15 (EOL).
## Parity [v1.6.10](https://github.com/openethereum/openethereum/releases/tag/v1.6.10) (2017-07-25)
## Parity [v1.6.10](https://github.com/paritytech/parity/releases/tag/v1.6.10) (2017-07-25)
This is a hotfix release for the stable channel addressing the recent [multi-signature wallet vulnerability](https://blog.parity.io/security-alert-high-2/). Note, upgrading is not mandatory, and all future multi-sig wallets created by any version of Parity are secure.
All Changes:
- Backports for stable [#6116](https://github.com/openethereum/openethereum/pull/6116)
- Remove chunk to restore from pending set only upon successful import [#6112](https://github.com/openethereum/openethereum/pull/6112)
- Blacklist bad snapshot manifest hashes upon failure [#5874](https://github.com/openethereum/openethereum/pull/5874)
- Bump snap version and tweak importing detection logic [#6079](https://github.com/openethereum/openethereum/pull/6079) (modified to work)
- Fix docker build for stable [#6118](https://github.com/openethereum/openethereum/pull/6118)
- Update wallet library binaries [#6108](https://github.com/openethereum/openethereum/pull/6108)
- Backported wallet fix [#6104](https://github.com/openethereum/openethereum/pull/6104)
- Fix initialisation bug. ([#6102](https://github.com/openethereum/openethereum/pull/6102))
- Update wallet library modifiers ([#6103](https://github.com/openethereum/openethereum/pull/6103))
- Backports for stable [#6116](https://github.com/paritytech/parity/pull/6116)
- Remove chunk to restore from pending set only upon successful import [#6112](https://github.com/paritytech/parity/pull/6112)
- Blacklist bad snapshot manifest hashes upon failure [#5874](https://github.com/paritytech/parity/pull/5874)
- Bump snap version and tweak importing detection logic [#6079](https://github.com/paritytech/parity/pull/6079) (modified to work)
- Fix docker build for stable [#6118](https://github.com/paritytech/parity/pull/6118)
- Update wallet library binaries [#6108](https://github.com/paritytech/parity/pull/6108)
- Backported wallet fix [#6104](https://github.com/paritytech/parity/pull/6104)
- Fix initialisation bug. ([#6102](https://github.com/paritytech/parity/pull/6102))
- Update wallet library modifiers ([#6103](https://github.com/paritytech/parity/pull/6103))
- Bump to v1.6.10
## Parity [v1.6.9](https://github.com/openethereum/openethereum/releases/tag/v1.6.9) (2017-07-16)
## Parity [v1.6.9](https://github.com/paritytech/parity/releases/tag/v1.6.9) (2017-07-16)
This is a first stable release of 1.6 series. It contains a number of minor fixes and introduces the `--reseal-on-uncles` option for miners.
Full list of changes:
- Backports [#6061](https://github.com/openethereum/openethereum/pull/6061)
- Ethereum Classic Monetary Policy [#5741](https://github.com/openethereum/openethereum/pull/5741)
- Backports [#6061](https://github.com/paritytech/parity/pull/6061)
- Ethereum Classic Monetary Policy [#5741](https://github.com/paritytech/parity/pull/5741)
- Update rewards for uncle miners for ECIP1017
- Fix an off-by-one error in ECIP1017 era calculation
- `ecip1017_era_rounds` missing from EthashParams when run in build bot
- strip out ecip1017_eras_block_reward function and add unit test
- JS precompiled set to stable
- Backports [#6060](https://github.com/openethereum/openethereum/pull/6060)
- --reseal-on-uncle [#5940](https://github.com/openethereum/openethereum/pull/5940)
- Backports [#6060](https://github.com/paritytech/parity/pull/6060)
- --reseal-on-uncle [#5940](https://github.com/paritytech/parity/pull/5940)
- Optimized uncle check
- Additional uncle check
- Updated comment
- Bump to v1.6.9
- CLI: Export error message and less verbose peer counter. [#5870](https://github.com/openethereum/openethereum/pull/5870)
- CLI: Export error message and less verbose peer counter. [#5870](https://github.com/paritytech/parity/pull/5870)
- Removed numbed of active connections from informant
- Print error message when fatdb is required
- Remove peers from UI
## Parity [v1.6.8](https://github.com/openethereum/openethereum/releases/tag/v1.6.8) (2017-06-08)
## Parity [v1.6.8](https://github.com/paritytech/parity/releases/tag/v1.6.8) (2017-06-08)
This release addresses:
@@ -53,33 +53,33 @@ This release addresses:
Full changelog:
- Backporting to beta [#5791](https://github.com/openethereum/openethereum/pull/5791)
- Backporting to beta [#5791](https://github.com/paritytech/parity/pull/5791)
- Bump to v1.6.8
- Update expanse json with fork at block 600000 [#5351](https://github.com/openethereum/openethereum/pull/5351)
- Update expanse json with fork at block 600000 [#5351](https://github.com/paritytech/parity/pull/5351)
- Update expanse json with fork at block 600000
- Update exp chainID to 2
- Bumped mio [#5763](https://github.com/openethereum/openethereum/pull/5763)
- Fixed default UI port for mac installer [#5782](https://github.com/openethereum/openethereum/pull/5782)
- Blacklist empty phrase account. [#5730](https://github.com/openethereum/openethereum/pull/5730)
- Update Cid/multihash/ring/tinykeccak [#5785](https://github.com/openethereum/openethereum/pull/5785)
- Bumped mio [#5763](https://github.com/paritytech/parity/pull/5763)
- Fixed default UI port for mac installer [#5782](https://github.com/paritytech/parity/pull/5782)
- Blacklist empty phrase account. [#5730](https://github.com/paritytech/parity/pull/5730)
- Update Cid/multihash/ring/tinykeccak [#5785](https://github.com/paritytech/parity/pull/5785)
- Updating ring,multihash,tiny-keccak
- Updating CID in ipfs.
- Disable compression for RLP strings [#5786](https://github.com/openethereum/openethereum/pull/5786)
- Beta Backports [#5789](https://github.com/openethereum/openethereum/pull/5789)
- Fix local transactions without condition. [#5716](https://github.com/openethereum/openethereum/pull/5716)
- Block invalid account name creation [#5784](https://github.com/openethereum/openethereum/pull/5784)
- Disable compression for RLP strings [#5786](https://github.com/paritytech/parity/pull/5786)
- Beta Backports [#5789](https://github.com/paritytech/parity/pull/5789)
- Fix local transactions without condition. [#5716](https://github.com/paritytech/parity/pull/5716)
- Block invalid account name creation [#5784](https://github.com/paritytech/parity/pull/5784)
- Additional non-empty phrase check (fromNew)
- Explicit canCreate check in create (not only on UI)
- BN instance check (fixes Geth imports)
- Fixup tests after better checks
- Recover from empty phrase in dev mode [#5698](https://github.com/openethereum/openethereum/pull/5698)
- Recover from empty phrase in dev mode [#5698](https://github.com/paritytech/parity/pull/5698)
- Add dev chain to isTest
- Fix signer
- Fix no condition transactions
- Fix case: old parity
- Fix propTypes.
## Parity [v1.6.7](https://github.com/openethereum/openethereum/releases/tag/v1.6.7) (2017-05-18)
## Parity [v1.6.7](https://github.com/paritytech/parity/releases/tag/v1.6.7) (2017-05-18)
This release addresses:
@@ -89,47 +89,47 @@ This release addresses:
Full changelog:
- Backporting to beta [#5657](https://github.com/openethereum/openethereum/pull/5657)
- Add CHANGELOG.md [#5513](https://github.com/openethereum/openethereum/pull/5513)
- Reorg into blocks before minimum history [#5558](https://github.com/openethereum/openethereum/pull/5558)
- Backporting to beta [#5657](https://github.com/paritytech/parity/pull/5657)
- Add CHANGELOG.md [#5513](https://github.com/paritytech/parity/pull/5513)
- Reorg into blocks before minimum history [#5558](https://github.com/paritytech/parity/pull/5558)
- Bump to v1.6.7
- Cancel Transaction [#5656](https://github.com/openethereum/openethereum/pull/5656)
- option to disable persistent txqueue [#5544](https://github.com/openethereum/openethereum/pull/5544)
- Remove transaction RPC [#4949](https://github.com/openethereum/openethereum/pull/4949)
- Cancel tx JS [#4958](https://github.com/openethereum/openethereum/pull/4958)
- Updating documentation for RPCs [#5392](https://github.com/openethereum/openethereum/pull/5392)
- Backport Recover button [#5654](https://github.com/openethereum/openethereum/pull/5654)
- Backport [#5645](https://github.com/openethereum/openethereum/pull/5645)
- Add monotonic step to Kovan [#5630](https://github.com/openethereum/openethereum/pull/5630)
- Add monotonic transition to kovan [#5587](https://github.com/openethereum/openethereum/pull/5587)
- Fix ethsign [#5600](https://github.com/openethereum/openethereum/pull/5600)
- Registry backports [#5445](https://github.com/openethereum/openethereum/pull/5445)
- Fixes to the Registry dapp [#4984](https://github.com/openethereum/openethereum/pull/4984)
- Fix references to api outside of `parity.js` [#4981](https://github.com/openethereum/openethereum/pull/4981)
- Cancel Transaction [#5656](https://github.com/paritytech/parity/pull/5656)
- option to disable persistent txqueue [#5544](https://github.com/paritytech/parity/pull/5544)
- Remove transaction RPC [#4949](https://github.com/paritytech/parity/pull/4949)
- Cancel tx JS [#4958](https://github.com/paritytech/parity/pull/4958)
- Updating documentation for RPCs [#5392](https://github.com/paritytech/parity/pull/5392)
- Backport Recover button [#5654](https://github.com/paritytech/parity/pull/5654)
- Backport [#5645](https://github.com/paritytech/parity/pull/5645)
- Add monotonic step to Kovan [#5630](https://github.com/paritytech/parity/pull/5630)
- Add monotonic transition to kovan [#5587](https://github.com/paritytech/parity/pull/5587)
- Fix ethsign [#5600](https://github.com/paritytech/parity/pull/5600)
- Registry backports [#5445](https://github.com/paritytech/parity/pull/5445)
- Fixes to the Registry dapp [#4984](https://github.com/paritytech/parity/pull/4984)
- Fix references to api outside of `parity.js` [#4981](https://github.com/paritytech/parity/pull/4981)
## Parity [v1.6.6](https://github.com/openethereum/openethereum/releases/tag/v1.6.6) (2017-04-11)
## Parity [v1.6.6](https://github.com/paritytech/parity/releases/tag/v1.6.6) (2017-04-11)
This release brings warp sync support for kovan network.
- Beta Backports [#5434](https://github.com/openethereum/openethereum/pull/5434)
- Beta Backports [#5434](https://github.com/paritytech/parity/pull/5434)
- Bump to v1.6.6
- Strict validation transitions [#4988](https://github.com/openethereum/openethereum/pull/4988)
- Strict validation transitions [#4988](https://github.com/paritytech/parity/pull/4988)
- Ability to make validation stricter
- Fix consensus
- Remove logger
- Fix eth_sign showing as wallet account [#5309](https://github.com/openethereum/openethereum/pull/5309)
- Fix eth_sign showing as wallet account [#5309](https://github.com/paritytech/parity/pull/5309)
- DefaultProps for account
- Pass signing account
- Update tests for Connect(...)
- Add new seed nodes [#5345](https://github.com/openethereum/openethereum/pull/5345)
- Add new seed nodes [#5345](https://github.com/paritytech/parity/pull/5345)
- Kovan warp sync fixed
- Aura eip155 validation transition [#5363](https://github.com/openethereum/openethereum/pull/5363)
- Aura eip155 validation transition [#5363](https://github.com/paritytech/parity/pull/5363)
- Add eip155 validation
- Add transition block
- Default eip155 validation [#5350](https://github.com/openethereum/openethereum/pull/5350)
- Backport syntax libs update [#5316](https://github.com/openethereum/openethereum/pull/5316)
- Default eip155 validation [#5350](https://github.com/paritytech/parity/pull/5350)
- Backport syntax libs update [#5316](https://github.com/paritytech/parity/pull/5316)
## Parity [v1.6.5](https://github.com/openethereum/openethereum/releases/tag/v1.6.5) (2017-03-28)
## Parity [v1.6.5](https://github.com/paritytech/parity/releases/tag/v1.6.5) (2017-03-28)
This release contains the following changes:
@@ -141,21 +141,21 @@ This release contains the following changes:
Full changes:
- Beta Backports [#5299](https://github.com/openethereum/openethereum/pull/5299)
- Fix FireFox overflows [#5000](https://github.com/openethereum/openethereum/pull/5000)
- Beta Backports [#5299](https://github.com/paritytech/parity/pull/5299)
- Fix FireFox overflows [#5000](https://github.com/paritytech/parity/pull/5000)
- Max width for container
- Set min-width
- Switching ValidatorSet [#4961](https://github.com/openethereum/openethereum/pull/4961)
- Switching ValidatorSet [#4961](https://github.com/paritytech/parity/pull/4961)
- Add multi validator set
- Nicer comment
- Validate in constructor
- Reporting
- Avoid clogging up tmp when updater dir has bad permissions. [#5024](https://github.com/openethereum/openethereum/pull/5024)
- Force earliest era set in snapshot restore [#5021](https://github.com/openethereum/openethereum/pull/5021)
- Avoid clogging up tmp when updater dir has bad permissions. [#5024](https://github.com/paritytech/parity/pull/5024)
- Force earliest era set in snapshot restore [#5021](https://github.com/paritytech/parity/pull/5021)
- Bumb to v1.6.5
- Fine grained snapshot chunking
- Ropsten revival
- Fix validator contract syncing [#4789](https://github.com/openethereum/openethereum/pull/4789) [#5011](https://github.com/openethereum/openethereum/pull/5011)
- Fix validator contract syncing [#4789](https://github.com/paritytech/parity/pull/4789) [#5011](https://github.com/paritytech/parity/pull/5011)
- Make validator set aware of various states
- Fix updater build
- Clean up contract call
@@ -164,7 +164,7 @@ Full changes:
- Nicer indent
- Revert bound divisor
## Parity [v1.6.4](https://github.com/openethereum/openethereum/releases/tag/v1.6.4) (2017-03-22)
## Parity [v1.6.4](https://github.com/paritytech/parity/releases/tag/v1.6.4) (2017-03-22)
A number of issues fixed in this release:
@@ -175,36 +175,36 @@ A number of issues fixed in this release:
Full Changes:
- Backporting to beta [#4995](https://github.com/openethereum/openethereum/pull/4995)
- Backporting to beta [#4995](https://github.com/paritytech/parity/pull/4995)
- Bump to v1.6.4
- Ensure sealing work enabled if notifier registed
- Fix condition check
- Always send full chunks [#4960](https://github.com/openethereum/openethereum/pull/4960)
- Bump nanomsg [#4965](https://github.com/openethereum/openethereum/pull/4965)
- Renaming evm binary to avoid conflicts. [#4899](https://github.com/openethereum/openethereum/pull/4899)
- Beta UI backports [#4993](https://github.com/openethereum/openethereum/pull/4993)
- Always send full chunks [#4960](https://github.com/paritytech/parity/pull/4960)
- Bump nanomsg [#4965](https://github.com/paritytech/parity/pull/4965)
- Renaming evm binary to avoid conflicts. [#4899](https://github.com/paritytech/parity/pull/4899)
- Beta UI backports [#4993](https://github.com/paritytech/parity/pull/4993)
- Update js-precompiled 20170314-121823
- Attach hardware wallets already in addressbook [#4912](https://github.com/openethereum/openethereum/pull/4912)
- Attach hardware wallets already in addressbook [#4912](https://github.com/paritytech/parity/pull/4912)
- Attach hardware wallets already in addressbook
- Only set values changed
- Add Vaults logic to First Run [#4894](https://github.com/openethereum/openethereum/issues/4894) [#4914](https://github.com/openethereum/openethereum/pull/4914)
- Add ability to configure Secure API (for [#4885](https://github.com/openethereum/openethereum/issues/4885)) [#4922](https://github.com/openethereum/openethereum/pull/4922)
- Add z-index to small modals as well [#4923](https://github.com/openethereum/openethereum/pull/4923)
- Eth_sign where account === undefined [#4964](https://github.com/openethereum/openethereum/pull/4964)
- Add Vaults logic to First Run [#4894](https://github.com/paritytech/parity/issues/4894) [#4914](https://github.com/paritytech/parity/pull/4914)
- Add ability to configure Secure API (for [#4885](https://github.com/paritytech/parity/issues/4885)) [#4922](https://github.com/paritytech/parity/pull/4922)
- Add z-index to small modals as well [#4923](https://github.com/paritytech/parity/pull/4923)
- Eth_sign where account === undefined [#4964](https://github.com/paritytech/parity/pull/4964)
- Update for case where account === undefined
- Update tests to not mask account === undefined
- Default account = {} where undefined (thanks [@tomusdrw](https://github.com/tomusdrw))
- Fix Password Dialog forms style issue [#4968](https://github.com/openethereum/openethereum/pull/4968)
- Fix Password Dialog forms style issue [#4968](https://github.com/paritytech/parity/pull/4968)
## Parity [v1.6.3](https://github.com/openethereum/openethereum/releases/tag/v1.6.3) (2017-03-14)
## Parity [v1.6.3](https://github.com/paritytech/parity/releases/tag/v1.6.3) (2017-03-14)
This release fixes issue compatibility with Safari on MacOS.
- Safari fixes [#4902](https://github.com/openethereum/openethereum/pull/4902)
- Safari fixes [#4902](https://github.com/paritytech/parity/pull/4902)
- Add intitial max-width to sections
- Move background z-index to -1
## Parity [v1.6.2](https://github.com/openethereum/openethereum/releases/tag/v1.6.2) (2017-03-13)
## Parity [v1.6.2](https://github.com/paritytech/parity/releases/tag/v1.6.2) (2017-03-13)
A major release introducing a few new features:
@@ -220,45 +220,45 @@ See the [blog post](https://blog.parity.io/announcing-parity-1-6/) for more deta
Full Changes:
- Fix auto-updater beta [#4868](https://github.com/openethereum/openethereum/pull/4868)
- Beta UI backports [#4855](https://github.com/openethereum/openethereum/pull/4855)
- Added React Hot Reload to dapps + TokenDeplpoy fix ([#4846](https://github.com/openethereum/openethereum/pull/4846))
- Fix method decoding ([#4845](https://github.com/openethereum/openethereum/pull/4845))
- Fix auto-updater beta [#4868](https://github.com/paritytech/parity/pull/4868)
- Beta UI backports [#4855](https://github.com/paritytech/parity/pull/4855)
- Added React Hot Reload to dapps + TokenDeplpoy fix ([#4846](https://github.com/paritytech/parity/pull/4846))
- Fix method decoding ([#4845](https://github.com/paritytech/parity/pull/4845))
- Fix contract deployment method decoding in Signer
- Linting
- Fix TxViewer when no `to` (contract deployment) ([#4847](https://github.com/openethereum/openethereum/pull/4847))
- Fix TxViewer when no `to` (contract deployment) ([#4847](https://github.com/paritytech/parity/pull/4847))
- Added React Hot Reload to dapps + TokenDeplpoy fix
- Fixes to the LocalTx dapp
- Don't send the nonce for mined transactions
- Don't encode empty to values for options
- Pull steps from actual available steps ([#4848](https://github.com/openethereum/openethereum/pull/4848))
- Wait for the value to have changed in the input ([#4844](https://github.com/openethereum/openethereum/pull/4844))
- Backport Regsirty changes from [#4589](https://github.com/openethereum/openethereum/pull/4589)
- Test fixes for [#4589](https://github.com/openethereum/openethereum/pull/4589)
- Beta Simple score [#4852](https://github.com/openethereum/openethereum/pull/4852)
- Pull steps from actual available steps ([#4848](https://github.com/paritytech/parity/pull/4848))
- Wait for the value to have changed in the input ([#4844](https://github.com/paritytech/parity/pull/4844))
- Backport Regsirty changes from [#4589](https://github.com/paritytech/parity/pull/4589)
- Test fixes for [#4589](https://github.com/paritytech/parity/pull/4589)
- Beta Simple score [#4852](https://github.com/paritytech/parity/pull/4852)
- Simple score
- Ignore part of a test
- Backporting to beta [#4840](https://github.com/openethereum/openethereum/pull/4840)
- Fixes to the Registry dapp ([#4838](https://github.com/openethereum/openethereum/pull/4838))
- Backporting to beta [#4840](https://github.com/paritytech/parity/pull/4840)
- Fixes to the Registry dapp ([#4838](https://github.com/paritytech/parity/pull/4838))
- Fix wrong ABI methods
- Fix comparison
- Bump to v1.6.1
- Show token icons on list summary pages ([#4826](https://github.com/openethereum/openethereum/pull/4826)) [#4827](https://github.com/openethereum/openethereum/pull/4827)
- Show token icons on list summary pages ([#4826](https://github.com/paritytech/parity/pull/4826)) [#4827](https://github.com/paritytech/parity/pull/4827)
- Adjust balance overlay margins (no jumps)
- Img only balances, small verifications
- Invalid tests removed
- Always wrap display (Thanks [@ngotchac](https://github.com/ngotchac))
- Update tests to reflect reality
- Beta Engine backports [#4806](https://github.com/openethereum/openethereum/pull/4806)
- Beta Engine backports [#4806](https://github.com/paritytech/parity/pull/4806)
- Calibrate before rejection
- Change flag name
- Add eip155
- Make network_id default
- Beta UI backports [#4823](https://github.com/openethereum/openethereum/pull/4823)
- Better logic for contract deployments ([#4821](https://github.com/openethereum/openethereum/pull/4821))
- Beta UI backports [#4818](https://github.com/openethereum/openethereum/pull/4818)
- Update the key ([#4817](https://github.com/openethereum/openethereum/pull/4817))
- Adjust selection colours/display ([#4811](https://github.com/openethereum/openethereum/pull/4811))
- Beta UI backports [#4823](https://github.com/paritytech/parity/pull/4823)
- Better logic for contract deployments ([#4821](https://github.com/paritytech/parity/pull/4821))
- Beta UI backports [#4818](https://github.com/paritytech/parity/pull/4818)
- Update the key ([#4817](https://github.com/paritytech/parity/pull/4817))
- Adjust selection colours/display ([#4811](https://github.com/paritytech/parity/pull/4811))
- Adjust selection colours to match with mui
- allow -> disable (simplify selections)
- Only use top-border
@@ -266,8 +266,8 @@ Full Changes:
- Slightly more muted unselected
- Restore address icon
- Fix default values for contract queries
- Beta UI backports [#4809](https://github.com/openethereum/openethereum/pull/4809)
- Update Wallet to new Wallet Code ([#4805](https://github.com/openethereum/openethereum/pull/4805))
- Beta UI backports [#4809](https://github.com/paritytech/parity/pull/4809)
- Update Wallet to new Wallet Code ([#4805](https://github.com/paritytech/parity/pull/4805))
- Update Wallet Version
- Update Wallet Library
- Update Wallets Bytecodes
@@ -290,7 +290,7 @@ Full Changes:
- Fixing Wallet Deployments
- Add Support for older wallets
- Linting
- SMS Faucet ([#4774](https://github.com/openethereum/openethereum/pull/4774))
- SMS Faucet ([#4774](https://github.com/paritytech/parity/pull/4774))
- Faucet
- Remove flakey button-index testing
- Only display faucet when sms verified (mainnet)
@@ -303,314 +303,314 @@ Full Changes:
- Use /api/:address endpoint
- Hash -> data
- Adjust sms-certified message
- Fix SectionList hovering issue ([#4749](https://github.com/openethereum/openethereum/pull/4749))
- Fix SectionList hovering issue ([#4749](https://github.com/paritytech/parity/pull/4749))
- Fix SectionList Items hover when <3 items
- Even easier...
- Lint (new)
- Update ETC bootnodes [#4794](https://github.com/openethereum/openethereum/pull/4794)
- Update comments and reg ABI [#4787](https://github.com/openethereum/openethereum/pull/4787)
- Optimize signature for fallback function. [#4780](https://github.com/openethereum/openethereum/pull/4780)
- Rephrasing token generation screen. [#4777](https://github.com/openethereum/openethereum/pull/4777)
- Etherscan links based on netVersion identifier [#4772](https://github.com/openethereum/openethereum/pull/4772)
- Update README.md [#4762](https://github.com/openethereum/openethereum/pull/4762)
- Fix invalid props to verification code [#4766](https://github.com/openethereum/openethereum/pull/4766)
- Extend authority round consensus test [#4756](https://github.com/openethereum/openethereum/pull/4756)
- Revert last hyper "fix" [#4752](https://github.com/openethereum/openethereum/pull/4752)
- Vault Management UI (round 3) [#4652](https://github.com/openethereum/openethereum/pull/4652)
- Update SelectionList indicators [#4736](https://github.com/openethereum/openethereum/pull/4736)
- Update testnet detection [#4746](https://github.com/openethereum/openethereum/pull/4746)
- Fix Portal in Portal ESC issue [#4745](https://github.com/openethereum/openethereum/pull/4745)
- Update wiki [#4743](https://github.com/openethereum/openethereum/pull/4743)
- Account selector close operations [#4728](https://github.com/openethereum/openethereum/pull/4728)
- Fix Account Selection in Signer [#4744](https://github.com/openethereum/openethereum/pull/4744)
- Support both V1 & V2 DataChanged events in registry [#4734](https://github.com/openethereum/openethereum/pull/4734)
- Add info on forks. [#4733](https://github.com/openethereum/openethereum/pull/4733)
- Add registry addr [#4732](https://github.com/openethereum/openethereum/pull/4732)
- UI support for hardware wallets [#4539](https://github.com/openethereum/openethereum/pull/4539)
- S/delete/forget/ for wallets [#4729](https://github.com/openethereum/openethereum/pull/4729)
- New chains [#4720](https://github.com/openethereum/openethereum/pull/4720)
- Enable --warp by default [#4719](https://github.com/openethereum/openethereum/pull/4719)
- Update Uglify (fix to 2.8.2) to fix binary builds [#4723](https://github.com/openethereum/openethereum/pull/4723)
- Extract i18n strings in modals/* [#4706](https://github.com/openethereum/openethereum/pull/4706)
- Provide uncle size where available in RPC [#4713](https://github.com/openethereum/openethereum/pull/4713)
- EC math functions [#4696](https://github.com/openethereum/openethereum/pull/4696)
- Add registrar fields [#4716](https://github.com/openethereum/openethereum/pull/4716)
- Extract i18n strings in views/* [#4695](https://github.com/openethereum/openethereum/pull/4695)
- Removing network=disable from config files [#4715](https://github.com/openethereum/openethereum/pull/4715)
- Fast in-place migration for adding and removing column families [#4687](https://github.com/openethereum/openethereum/pull/4687)
- Display badges on summary view [#4689](https://github.com/openethereum/openethereum/pull/4689)
- Consistent file uploads [#4699](https://github.com/openethereum/openethereum/pull/4699)
- Rename https://mkr.market -> https://oasisdex.com [#4701](https://github.com/openethereum/openethereum/pull/4701)
- Stop copy & clickthrough from list summaries [#4700](https://github.com/openethereum/openethereum/pull/4700)
- Display ... for address summary overflows [#4691](https://github.com/openethereum/openethereum/pull/4691)
- Less agressive grayscale/opacity in SelectionList [#4688](https://github.com/openethereum/openethereum/pull/4688)
- Propagate trie errors upwards from State [#4655](https://github.com/openethereum/openethereum/pull/4655)
- Generic state backend [#4632](https://github.com/openethereum/openethereum/pull/4632)
- Enhance dialog layouts (round 1) [#4637](https://github.com/openethereum/openethereum/pull/4637)
- Vault Management UI (round 2) [#4631](https://github.com/openethereum/openethereum/pull/4631)
- Fix Portal broad event stopper [#4674](https://github.com/openethereum/openethereum/pull/4674)
- Custom dev chain presets [#4671](https://github.com/openethereum/openethereum/pull/4671)
- Max gas limit and min gas price [#4661](https://github.com/openethereum/openethereum/pull/4661)
- Align list displays with SectionList (UI consistency) [#4621](https://github.com/openethereum/openethereum/pull/4621)
- Add SelectionList component to DRY up [#4639](https://github.com/openethereum/openethereum/pull/4639)
- I18n NL linting updates [#4662](https://github.com/openethereum/openethereum/pull/4662)
- Misc. small UI fixes [#4657](https://github.com/openethereum/openethereum/pull/4657)
- More CLI settings for IPFS API [#4608](https://github.com/openethereum/openethereum/pull/4608)
- Fix Tendermint deadlock [#4654](https://github.com/openethereum/openethereum/pull/4654)
- Nl translations [#4649](https://github.com/openethereum/openethereum/pull/4649)
- Update transaction condition documentation [#4659](https://github.com/openethereum/openethereum/pull/4659)
- Bump hyper versions [#4645](https://github.com/openethereum/openethereum/pull/4645)
- Sane updater [#4658](https://github.com/openethereum/openethereum/pull/4658)
- Remainder of RPC APIs implemented for the light client [#4594](https://github.com/openethereum/openethereum/pull/4594)
- Preserve vault meta when changing pwd [#4650](https://github.com/openethereum/openethereum/pull/4650)
- Fix Geth account import [#4641](https://github.com/openethereum/openethereum/pull/4641)
- Tweak some checks. [#4633](https://github.com/openethereum/openethereum/pull/4633)
- Attempt to fix subscribeToEvents test [#4638](https://github.com/openethereum/openethereum/pull/4638)
- Fix selection value from RadioButtons [#4636](https://github.com/openethereum/openethereum/pull/4636)
- Convert all remaining Modals to use Portal (UI consistency) [#4625](https://github.com/openethereum/openethereum/pull/4625)
- Default account selection update [#4609](https://github.com/openethereum/openethereum/pull/4609)
- Display ETH balance in overlay account selector [#4588](https://github.com/openethereum/openethereum/pull/4588)
- Fixed minor grammar mistake in readme [#4627](https://github.com/openethereum/openethereum/pull/4627)
- Extract newly available i18n strings [#4623](https://github.com/openethereum/openethereum/pull/4623)
- Save pending local transactions in the database [#4566](https://github.com/openethereum/openethereum/pull/4566)
- Bump CID version to allow compilation on all platforms [#4614](https://github.com/openethereum/openethereum/pull/4614)
- Vault Management UI (first round) [#4446](https://github.com/openethereum/openethereum/pull/4446)
- Let Engine decide if it seals internally [#4613](https://github.com/openethereum/openethereum/pull/4613)
- Show only known accounts/wallets/addresses on Home [#4612](https://github.com/openethereum/openethereum/pull/4612)
- Proper default accounts RPCs [#4580](https://github.com/openethereum/openethereum/pull/4580)
- Hash-fetch errors in case upstream returns non-200 [#4599](https://github.com/openethereum/openethereum/pull/4599)
- Added pending transaction info to eth_getTransactionByHash [#4570](https://github.com/openethereum/openethereum/pull/4570)
- Secret store - initial version [#4567](https://github.com/openethereum/openethereum/pull/4567)
- Handle invalid ABI retrieved from address_book gracefully [#4606](https://github.com/openethereum/openethereum/pull/4606)
- Optimize key directory reloads [#4583](https://github.com/openethereum/openethereum/pull/4583)
- Revert Double Click on Accounts to close in Signer Bar [#4590](https://github.com/openethereum/openethereum/pull/4590)
- IPFS MVP [#4545](https://github.com/openethereum/openethereum/pull/4545)
- Networking fixes [#4563](https://github.com/openethereum/openethereum/pull/4563)
- Remove eth_compile* RPCs [#4577](https://github.com/openethereum/openethereum/pull/4577)
- Ledger wallet signing fixed [#4578](https://github.com/openethereum/openethereum/pull/4578)
- Remove vertx from Webpack config [#4576](https://github.com/openethereum/openethereum/pull/4576)
- Better display of tags [#4564](https://github.com/openethereum/openethereum/pull/4564)
- Added vaults support to `ethstore-cli` [#4532](https://github.com/openethereum/openethereum/pull/4532)
- Fixed font URLs [#4579](https://github.com/openethereum/openethereum/pull/4579)
- Explicitly set seconds to 0 from selector [#4559](https://github.com/openethereum/openethereum/pull/4559)
- Fixes evmbin compilation and adding to standard build. [#4561](https://github.com/openethereum/openethereum/pull/4561)
- Alias for personal_sendTransaction [#4554](https://github.com/openethereum/openethereum/pull/4554)
- Key derivation in ethstore & rpc [#4515](https://github.com/openethereum/openethereum/pull/4515)
- Skip OOG check for simple transfers [#4558](https://github.com/openethereum/openethereum/pull/4558)
- Light Client transaction queue, initial LightDispatcher [#4501](https://github.com/openethereum/openethereum/pull/4501)
- Fixes BadgeReg Middleware [#4556](https://github.com/openethereum/openethereum/pull/4556)
- Fix pasting of value in Input fields [#4555](https://github.com/openethereum/openethereum/pull/4555)
- Tooltips with react-intl [#4549](https://github.com/openethereum/openethereum/pull/4549)
- Close on double-click for Signer Account selection [#4540](https://github.com/openethereum/openethereum/pull/4540)
- Signer provenance [#4477](https://github.com/openethereum/openethereum/pull/4477)
- Fix console dapp [#4544](https://github.com/openethereum/openethereum/pull/4544)
- Extract i18n string into i18n/_defaults (base of translations) [#4514](https://github.com/openethereum/openethereum/pull/4514)
- Fix contract queries bug [#4534](https://github.com/openethereum/openethereum/pull/4534)
- Fixing namespace of couple methods in console. [#4538](https://github.com/openethereum/openethereum/pull/4538)
- Home landing page [#4178](https://github.com/openethereum/openethereum/pull/4178)
- Bump JSON RPC crates versions [#4530](https://github.com/openethereum/openethereum/pull/4530)
- Update rust version in README [#4531](https://github.com/openethereum/openethereum/pull/4531)
- Lower default pruning history and memory [#4528](https://github.com/openethereum/openethereum/pull/4528)
- Serde 0.9 [#4508](https://github.com/openethereum/openethereum/pull/4508)
- Fixes to Token Deploy dapp [#4513](https://github.com/openethereum/openethereum/pull/4513)
- Fixed receipt decoding [#4521](https://github.com/openethereum/openethereum/pull/4521)
- Several fixes to the Wallet in general [#4504](https://github.com/openethereum/openethereum/pull/4504)
- Use the current contract name for Solidity compilation [#4510](https://github.com/openethereum/openethereum/pull/4510)
- Preparation for Light client RPC [#4485](https://github.com/openethereum/openethereum/pull/4485)
- Fix Dutch translation [#4509](https://github.com/openethereum/openethereum/pull/4509)
- Fixed a warning and bumped libusb-sys [#4507](https://github.com/openethereum/openethereum/pull/4507)
- Fix TnC overflows on small screens [#4505](https://github.com/openethereum/openethereum/pull/4505)
- Fix no data sent in TxQueue dapp [#4502](https://github.com/openethereum/openethereum/pull/4502)
- Ledger wallet support [#4486](https://github.com/openethereum/openethereum/pull/4486)
- Add new Componennt for Token Images [#4498](https://github.com/openethereum/openethereum/pull/4498)
- Fix address and accounts links [#4491](https://github.com/openethereum/openethereum/pull/4491)
- Fix Token Reg Dapp issues in Firefox [#4489](https://github.com/openethereum/openethereum/pull/4489)
- Parity.js interfaces for vaults [#4497](https://github.com/openethereum/openethereum/pull/4497)
- Initial Dutch translations [#4484](https://github.com/openethereum/openethereum/pull/4484)
- Fix key.meta.vault for root dir keys && read vault.meta without vault key [#4482](https://github.com/openethereum/openethereum/pull/4482)
- Arbitrary labels for extended keys (u32, H256 built-in) [#4438](https://github.com/openethereum/openethereum/pull/4438)
- Fix ethstore build [#4492](https://github.com/openethereum/openethereum/pull/4492)
- Fixed compilation of ethstore-cli [#4493](https://github.com/openethereum/openethereum/pull/4493)
- Build embedded Parity JS properly and separatly [#4426](https://github.com/openethereum/openethereum/pull/4426)
- Static link for snappy [#4487](https://github.com/openethereum/openethereum/pull/4487)
- Work with string numbers in contract (Fixes #4472) [#4478](https://github.com/openethereum/openethereum/pull/4478)
- Metadata support for vaults [#4475](https://github.com/openethereum/openethereum/pull/4475)
- Sort gas price corpus when hitting genesis [#4470](https://github.com/openethereum/openethereum/pull/4470)
- Fixing CORS headers for parity.web3.site [#4461](https://github.com/openethereum/openethereum/pull/4461)
- Make signing compatible with geth. [#4468](https://github.com/openethereum/openethereum/pull/4468)
- Handle registry not found errors [#4465](https://github.com/openethereum/openethereum/pull/4465)
- Fix Portal scrolling getting stuck [#4455](https://github.com/openethereum/openethereum/pull/4455)
- Fix AccountCard stretch to 100% [#4450](https://github.com/openethereum/openethereum/pull/4450)
- Include total difficulty in CHTs and hide implementation details from consumers [#4428](https://github.com/openethereum/openethereum/pull/4428)
- Fix RLP encoding for types recursively calling `RlpStream::append` [#4362](https://github.com/openethereum/openethereum/pull/4362)
- Open popup without attempting inline [#4440](https://github.com/openethereum/openethereum/pull/4440)
- Fixing histogram again ([#4464](https://github.com/openethereum/openethereum/issues/4464)) port from beta [#4467](https://github.com/openethereum/openethereum/pull/4467)
- Vaults RPCs [#4366](https://github.com/openethereum/openethereum/pull/4366)
- Ethkey - extended keys [#4377](https://github.com/openethereum/openethereum/pull/4377)
- Use secure websocket from HTTPS clients [#4436](https://github.com/openethereum/openethereum/pull/4436)
- RPC middleware: Informant & Client.keep_alive [#4384](https://github.com/openethereum/openethereum/pull/4384)
- Fix eth_sign/parity_postSign [#4432](https://github.com/openethereum/openethereum/pull/4432)
- Web view with web3.site support [#4313](https://github.com/openethereum/openethereum/pull/4313)
- Extend Portal component with title, buttons & steps (as per Modal) [#4392](https://github.com/openethereum/openethereum/pull/4392)
- Extension installation overlay [#4423](https://github.com/openethereum/openethereum/pull/4423)
- Add block & timestamp conditions to Signer [#4411](https://github.com/openethereum/openethereum/pull/4411)
- Transaction timestamp condition [#4419](https://github.com/openethereum/openethereum/pull/4419)
- Poll for defaultAccount to update dapp & overlay subscriptions [#4417](https://github.com/openethereum/openethereum/pull/4417)
- Validate dapps accounts with address book [#4407](https://github.com/openethereum/openethereum/pull/4407)
- Dapps use defaultAccount instead of own selectors [#4386](https://github.com/openethereum/openethereum/pull/4386)
- Fix lock and rename tracing [#4403](https://github.com/openethereum/openethereum/pull/4403)
- Restarting fetch client every now and then [#4399](https://github.com/openethereum/openethereum/pull/4399)
- Perform a sync between Rust and JS when generating markdown instead of in spec tests [#4408](https://github.com/openethereum/openethereum/pull/4408)
- Registry dapp: make lookup use lower case [#4409](https://github.com/openethereum/openethereum/pull/4409)
- Available Dapp selection alignment with Permissions (Portal) [#4374](https://github.com/openethereum/openethereum/pull/4374)
- More permissive verification process [#4317](https://github.com/openethereum/openethereum/pull/4317)
- Fix ParityBar account selection overflows [#4405](https://github.com/openethereum/openethereum/pull/4405)
- Mac binaries signing [#4397](https://github.com/openethereum/openethereum/pull/4397)
- Revert "remove [ci skip]" [#4398](https://github.com/openethereum/openethereum/pull/4398)
- Registry, s/a the owner/the owner/ [#4391](https://github.com/openethereum/openethereum/pull/4391)
- Fixing invalid address in docs [#4388](https://github.com/openethereum/openethereum/pull/4388)
- Remove [ci skip] [#4381](https://github.com/openethereum/openethereum/pull/4381)
- Fixing estimate gas in case histogram is not available [#4387](https://github.com/openethereum/openethereum/pull/4387)
- Default Account selector in Signer overlay [#4375](https://github.com/openethereum/openethereum/pull/4375)
- Fixing web3 in console [#4382](https://github.com/openethereum/openethereum/pull/4382)
- Add parity_defaultAccount RPC (with subscription) [#4383](https://github.com/openethereum/openethereum/pull/4383)
- Full JSON-RPC docs + sync tests. [#4335](https://github.com/openethereum/openethereum/pull/4335)
- Expose util as Api.util [#4372](https://github.com/openethereum/openethereum/pull/4372)
- Dapp Account Selection & Defaults [#4355](https://github.com/openethereum/openethereum/pull/4355)
- Publish @parity/jsonrpc [#4365](https://github.com/openethereum/openethereum/pull/4365)
- Fix signing [#4363](https://github.com/openethereum/openethereum/pull/4363)
- Fixing embedded bar not closing in chrome extension [#4367](https://github.com/openethereum/openethereum/pull/4367)
- Update AccountCard for re-use [#4350](https://github.com/openethereum/openethereum/pull/4350)
- Add proper event listener to Portal [#4359](https://github.com/openethereum/openethereum/pull/4359)
- Optional from field in Transaction Requests [#4332](https://github.com/openethereum/openethereum/pull/4332)
- Rust 1.14 in README [ci-skip] [#4361](https://github.com/openethereum/openethereum/pull/4361)
- Fix JournalDB::earliest_era on empty database [#4316](https://github.com/openethereum/openethereum/pull/4316)
- Fixed race condition deadlock on fetching enode URL [#4354](https://github.com/openethereum/openethereum/pull/4354)
- Allow Portal to be used as top-level modal [#4338](https://github.com/openethereum/openethereum/pull/4338)
- Fix postsign [#4347](https://github.com/openethereum/openethereum/pull/4347)
- Renaming signAndSendTransaction to sendTransaction [#4351](https://github.com/openethereum/openethereum/pull/4351)
- Add api.util.encodeMethodCall to parity.js [#4330](https://github.com/openethereum/openethereum/pull/4330)
- Initial commit for vaults [#4312](https://github.com/openethereum/openethereum/pull/4312)
- Returning default account as coinbase + allow altering sender in signer [#4323](https://github.com/openethereum/openethereum/pull/4323)
- Persistent tracking of dapps [#4302](https://github.com/openethereum/openethereum/pull/4302)
- Exposing all RPCs over dapps port as CLI option [#4346](https://github.com/openethereum/openethereum/pull/4346)
- New macOS App [#4345](https://github.com/openethereum/openethereum/pull/4345)
- Display QrCode for accounts, addresses & contracts [#4329](https://github.com/openethereum/openethereum/pull/4329)
- Add QrCode & Copy to ShapeShift [#4322](https://github.com/openethereum/openethereum/pull/4322)
- Parity.js api.parity.chainStatus should handle { blockGap: null } [#4327](https://github.com/openethereum/openethereum/pull/4327)
- DeleteAccount & LoadContract modal updates [#4320](https://github.com/openethereum/openethereum/pull/4320)
- Split Tab from TabBar [#4318](https://github.com/openethereum/openethereum/pull/4318)
- Contracts interface expansion [#4307](https://github.com/openethereum/openethereum/pull/4307)
- HistoryStore for tracking relevant routes [#4305](https://github.com/openethereum/openethereum/pull/4305)
- Split Dapp icon into ui/DappIcon (re-use) [#4308](https://github.com/openethereum/openethereum/pull/4308)
- Add a Playground for the UI Components [#4301](https://github.com/openethereum/openethereum/pull/4301)
- Update CreateWallet with FormattedMessage [#4298](https://github.com/openethereum/openethereum/pull/4298)
- Update dates for new PRs missed [#4306](https://github.com/openethereum/openethereum/pull/4306)
- EIP-98: Optional transaction state root [#4296](https://github.com/openethereum/openethereum/pull/4296)
- Fix whitespace [#4299](https://github.com/openethereum/openethereum/pull/4299)
- Attempt to fix console. [#4294](https://github.com/openethereum/openethereum/pull/4294)
- Ui/SectionList component [#4292](https://github.com/openethereum/openethereum/pull/4292)
- Stratum up [#4233](https://github.com/openethereum/openethereum/pull/4233)
- Logging transaction duration [#4297](https://github.com/openethereum/openethereum/pull/4297)
- Generic engine utilities [#4258](https://github.com/openethereum/openethereum/pull/4258)
- JSON-RPC interfaces with documentation [#4276](https://github.com/openethereum/openethereum/pull/4276)
- Dont decode seal fields [#4263](https://github.com/openethereum/openethereum/pull/4263)
- Skip misbehaving test until properly fixed [#4283](https://github.com/openethereum/openethereum/pull/4283)
- Additional logs for own transactions [#4278](https://github.com/openethereum/openethereum/pull/4278)
- Ensure write lock isn't held when calling handlers [#4285](https://github.com/openethereum/openethereum/pull/4285)
- Feature selector [#4074](https://github.com/openethereum/openethereum/pull/4074)
- AccountCreate updates [#3988](https://github.com/openethereum/openethereum/pull/3988)
- Extended JS interface -> Markdown generator [#4275](https://github.com/openethereum/openethereum/pull/4275)
- Added 3 warpnodes for ropsten [#4289](https://github.com/openethereum/openethereum/pull/4289)
- Ledger Communication JS toolkit [#4268](https://github.com/openethereum/openethereum/pull/4268)
- ValidatorSet reporting [#4208](https://github.com/openethereum/openethereum/pull/4208)
- Add support for api.subscribe('parity_accountsInfo') [#4273](https://github.com/openethereum/openethereum/pull/4273)
- Display AccountCard name via IdentityName [#4235](https://github.com/openethereum/openethereum/pull/4235)
- Dapp visibility save/load tests [#4150](https://github.com/openethereum/openethereum/pull/4150)
- Fix wrong output format of peers [#4270](https://github.com/openethereum/openethereum/pull/4270)
- Chain scoring [#4218](https://github.com/openethereum/openethereum/pull/4218)
- Rust 1.14 for windows builds [#4269](https://github.com/openethereum/openethereum/pull/4269)
- Eslint formatting updates [#4234](https://github.com/openethereum/openethereum/pull/4234)
- Embeddable ParityBar [#4222](https://github.com/openethereum/openethereum/pull/4222)
- Update deb-build.sh to fix libssl dependency [#4260](https://github.com/openethereum/openethereum/pull/4260)
- Integration with zgp whitelist contract [#4215](https://github.com/openethereum/openethereum/pull/4215)
- Adjust the location of the signer snippet [#4155](https://github.com/openethereum/openethereum/pull/4155)
- Fix wrong token handling [#4254](https://github.com/openethereum/openethereum/pull/4254)
- Additional building-block UI components [#4239](https://github.com/openethereum/openethereum/pull/4239)
- Bump package.json to 0.3.0 (1.6 track) [#4244](https://github.com/openethereum/openethereum/pull/4244)
- Disable incoming ETH notifications [#4243](https://github.com/openethereum/openethereum/pull/4243)
- Memory-based pruning history size [#4114](https://github.com/openethereum/openethereum/pull/4114)
- Common EngineSigner [#4189](https://github.com/openethereum/openethereum/pull/4189)
- Verification: don't request a code twice [#4221](https://github.com/openethereum/openethereum/pull/4221)
- S/Delete Contract/Forget Contract/ [#4237](https://github.com/openethereum/openethereum/pull/4237)
- Light protocol syncing improvements [#4212](https://github.com/openethereum/openethereum/pull/4212)
- LES Peer Info [#4195](https://github.com/openethereum/openethereum/pull/4195)
- Don't panic on uknown git commit hash [#4231](https://github.com/openethereum/openethereum/pull/4231)
- Cache registry reverses in local storage [#4182](https://github.com/openethereum/openethereum/pull/4182)
- Update version numbers in README [#4223](https://github.com/openethereum/openethereum/pull/4223)
- CHT calculations for full nodes [#4181](https://github.com/openethereum/openethereum/pull/4181)
- Use single source of info for dapp meta (build & display) [#4217](https://github.com/openethereum/openethereum/pull/4217)
- Non-secure API for DappReg [#4216](https://github.com/openethereum/openethereum/pull/4216)
- Console now has admin [#4220](https://github.com/openethereum/openethereum/pull/4220)
- Verification: add mainnet BadgeReg ids [#4190](https://github.com/openethereum/openethereum/pull/4190)
- Fixing minimal transaction queue price [#4204](https://github.com/openethereum/openethereum/pull/4204)
- Remove unnecessary Engine method [#4184](https://github.com/openethereum/openethereum/pull/4184)
- Fixed --base-path on windows [#4193](https://github.com/openethereum/openethereum/pull/4193)
- Fixing etherscan price parsing [#4202](https://github.com/openethereum/openethereum/pull/4202)
- LES: Better timeouts + Track failed requests [#4093](https://github.com/openethereum/openethereum/pull/4093)
- ESLint additional rules [#4186](https://github.com/openethereum/openethereum/pull/4186)
- JsonRPC bump for IPC fix [#4200](https://github.com/openethereum/openethereum/pull/4200)
- Poll for upgrades as part of global status (long) [#4197](https://github.com/openethereum/openethereum/pull/4197)
- Updater fixes [#4196](https://github.com/openethereum/openethereum/pull/4196)
- Prevent duplicate incoming connections [#4180](https://github.com/openethereum/openethereum/pull/4180)
- Minor typo to ensure it updates only when synced. [#4188](https://github.com/openethereum/openethereum/pull/4188)
- Minor refactor for clarity [#4174](https://github.com/openethereum/openethereum/pull/4174)
- Secret - from hash function, also validate data [#4159](https://github.com/openethereum/openethereum/pull/4159)
- Gas_limit for blocks, mined by Parity will be divisible by 37 [#4154](https://github.com/openethereum/openethereum/pull/4154)
- Support HTML5-routed dapps [#4173](https://github.com/openethereum/openethereum/pull/4173)
- Fix subscribeToEvents test [#4166](https://github.com/openethereum/openethereum/pull/4166)
- Fix dapps not loading [#4170](https://github.com/openethereum/openethereum/pull/4170)
- Fix broken token images [#4169](https://github.com/openethereum/openethereum/pull/4169)
- Bumping hyper [#4167](https://github.com/openethereum/openethereum/pull/4167)
- Icarus -> update, increase web timeout. [#4165](https://github.com/openethereum/openethereum/pull/4165)
- Add a password strength component [#4153](https://github.com/openethereum/openethereum/pull/4153)
- Stop flickering + added loader in AddressSelector [#4149](https://github.com/openethereum/openethereum/pull/4149)
- On demand LES request [#4036](https://github.com/openethereum/openethereum/pull/4036)
- Ropsten fork detection [#4163](https://github.com/openethereum/openethereum/pull/4163)
- Pull in console dapp as builtin [#4145](https://github.com/openethereum/openethereum/pull/4145)
- Optimized hash lookups [#4144](https://github.com/openethereum/openethereum/pull/4144)
- UnverifiedTransaction type [#4134](https://github.com/openethereum/openethereum/pull/4134)
- Verification: check if server is running [#4140](https://github.com/openethereum/openethereum/pull/4140)
- Remove onSubmit of current (no auto-change on password edit) [#4151](https://github.com/openethereum/openethereum/pull/4151)
- Trim spaces from InputAddress [#4126](https://github.com/openethereum/openethereum/pull/4126)
- Don't pop-up notifications after network switch [#4076](https://github.com/openethereum/openethereum/pull/4076)
- Use estimateGas error (as per updated implementation) [#4131](https://github.com/openethereum/openethereum/pull/4131)
- Improvements and optimisations to estimate_gas [#4142](https://github.com/openethereum/openethereum/pull/4142)
- New jsonrpc-core with futures and metadata support [#3859](https://github.com/openethereum/openethereum/pull/3859)
- Reenable mainnet update server. [#4137](https://github.com/openethereum/openethereum/pull/4137)
- Temporarily skip failing test [#4138](https://github.com/openethereum/openethereum/pull/4138)
- Refactor VoteCollector [#4101](https://github.com/openethereum/openethereum/pull/4101)
- Another minor estimation fix [#4133](https://github.com/openethereum/openethereum/pull/4133)
- Add proper label to method decoding inputs [#4136](https://github.com/openethereum/openethereum/pull/4136)
- Remove bindActionCreators({}, dispatch) (empty, unneeded) [#4135](https://github.com/openethereum/openethereum/pull/4135)
- Better contract error log reporting & handling [#4128](https://github.com/openethereum/openethereum/pull/4128)
- Fix broken Transfer : total account balance [#4127](https://github.com/openethereum/openethereum/pull/4127)
- Test harness for lightsync [#4109](https://github.com/openethereum/openethereum/pull/4109)
- Fix call/estimate_gas [#4121](https://github.com/openethereum/openethereum/pull/4121)
- Fixing decoding ABI with signatures in names [#4125](https://github.com/openethereum/openethereum/pull/4125)
- Get rid of unsafe code in ethkey, propagate incorrect Secret errors. [#4119](https://github.com/openethereum/openethereum/pull/4119)
- Basic tests for subscribeToEvents [#4115](https://github.com/openethereum/openethereum/pull/4115)
- Auto-detect hex encoded bytes in sha3 [#4108](https://github.com/openethereum/openethereum/pull/4108)
- Use binary chop to estimate gas accurately [#4100](https://github.com/openethereum/openethereum/pull/4100)
- V1.6 in master [#4113](https://github.com/openethereum/openethereum/pull/4113)
- Ignore get_price_info test by default. [#4112](https://github.com/openethereum/openethereum/pull/4112)
- Fix wrong information logging [#4106](https://github.com/openethereum/openethereum/pull/4106)
- Avoid comms with not-yet-active release update server. [#4111](https://github.com/openethereum/openethereum/pull/4111)
- Update Transfer logic + Better logging [#4098](https://github.com/openethereum/openethereum/pull/4098)
- Fix Signer : wrong account on reload [#4104](https://github.com/openethereum/openethereum/pull/4104)
- Cache registry reverses, completion in address selector [#4066](https://github.com/openethereum/openethereum/pull/4066)
- Validator/authority contract [#3937](https://github.com/openethereum/openethereum/pull/3937)
- No reorg limit for ancient blocks [#4099](https://github.com/openethereum/openethereum/pull/4099)
- Update registration after every write [#4102](https://github.com/openethereum/openethereum/pull/4102)
- Default to no auto-update. [#4092](https://github.com/openethereum/openethereum/pull/4092)
- Don't remove out of date local transactions [#4094](https://github.com/openethereum/openethereum/pull/4094)
- Update ETC bootnodes [#4794](https://github.com/paritytech/parity/pull/4794)
- Update comments and reg ABI [#4787](https://github.com/paritytech/parity/pull/4787)
- Optimize signature for fallback function. [#4780](https://github.com/paritytech/parity/pull/4780)
- Rephrasing token generation screen. [#4777](https://github.com/paritytech/parity/pull/4777)
- Etherscan links based on netVersion identifier [#4772](https://github.com/paritytech/parity/pull/4772)
- Update README.md [#4762](https://github.com/paritytech/parity/pull/4762)
- Fix invalid props to verification code [#4766](https://github.com/paritytech/parity/pull/4766)
- Extend authority round consensus test [#4756](https://github.com/paritytech/parity/pull/4756)
- Revert last hyper "fix" [#4752](https://github.com/paritytech/parity/pull/4752)
- Vault Management UI (round 3) [#4652](https://github.com/paritytech/parity/pull/4652)
- Update SelectionList indicators [#4736](https://github.com/paritytech/parity/pull/4736)
- Update testnet detection [#4746](https://github.com/paritytech/parity/pull/4746)
- Fix Portal in Portal ESC issue [#4745](https://github.com/paritytech/parity/pull/4745)
- Update wiki [#4743](https://github.com/paritytech/parity/pull/4743)
- Account selector close operations [#4728](https://github.com/paritytech/parity/pull/4728)
- Fix Account Selection in Signer [#4744](https://github.com/paritytech/parity/pull/4744)
- Support both V1 & V2 DataChanged events in registry [#4734](https://github.com/paritytech/parity/pull/4734)
- Add info on forks. [#4733](https://github.com/paritytech/parity/pull/4733)
- Add registry addr [#4732](https://github.com/paritytech/parity/pull/4732)
- UI support for hardware wallets [#4539](https://github.com/paritytech/parity/pull/4539)
- S/delete/forget/ for wallets [#4729](https://github.com/paritytech/parity/pull/4729)
- New chains [#4720](https://github.com/paritytech/parity/pull/4720)
- Enable --warp by default [#4719](https://github.com/paritytech/parity/pull/4719)
- Update Uglify (fix to 2.8.2) to fix binary builds [#4723](https://github.com/paritytech/parity/pull/4723)
- Extract i18n strings in modals/* [#4706](https://github.com/paritytech/parity/pull/4706)
- Provide uncle size where available in RPC [#4713](https://github.com/paritytech/parity/pull/4713)
- EC math functions [#4696](https://github.com/paritytech/parity/pull/4696)
- Add registrar fields [#4716](https://github.com/paritytech/parity/pull/4716)
- Extract i18n strings in views/* [#4695](https://github.com/paritytech/parity/pull/4695)
- Removing network=disable from config files [#4715](https://github.com/paritytech/parity/pull/4715)
- Fast in-place migration for adding and removing column families [#4687](https://github.com/paritytech/parity/pull/4687)
- Display badges on summary view [#4689](https://github.com/paritytech/parity/pull/4689)
- Consistent file uploads [#4699](https://github.com/paritytech/parity/pull/4699)
- Rename https://mkr.market -> https://oasisdex.com [#4701](https://github.com/paritytech/parity/pull/4701)
- Stop copy & clickthrough from list summaries [#4700](https://github.com/paritytech/parity/pull/4700)
- Display ... for address summary overflows [#4691](https://github.com/paritytech/parity/pull/4691)
- Less agressive grayscale/opacity in SelectionList [#4688](https://github.com/paritytech/parity/pull/4688)
- Propagate trie errors upwards from State [#4655](https://github.com/paritytech/parity/pull/4655)
- Generic state backend [#4632](https://github.com/paritytech/parity/pull/4632)
- Enhance dialog layouts (round 1) [#4637](https://github.com/paritytech/parity/pull/4637)
- Vault Management UI (round 2) [#4631](https://github.com/paritytech/parity/pull/4631)
- Fix Portal broad event stopper [#4674](https://github.com/paritytech/parity/pull/4674)
- Custom dev chain presets [#4671](https://github.com/paritytech/parity/pull/4671)
- Max gas limit and min gas price [#4661](https://github.com/paritytech/parity/pull/4661)
- Align list displays with SectionList (UI consistency) [#4621](https://github.com/paritytech/parity/pull/4621)
- Add SelectionList component to DRY up [#4639](https://github.com/paritytech/parity/pull/4639)
- I18n NL linting updates [#4662](https://github.com/paritytech/parity/pull/4662)
- Misc. small UI fixes [#4657](https://github.com/paritytech/parity/pull/4657)
- More CLI settings for IPFS API [#4608](https://github.com/paritytech/parity/pull/4608)
- Fix Tendermint deadlock [#4654](https://github.com/paritytech/parity/pull/4654)
- Nl translations [#4649](https://github.com/paritytech/parity/pull/4649)
- Update transaction condition documentation [#4659](https://github.com/paritytech/parity/pull/4659)
- Bump hyper versions [#4645](https://github.com/paritytech/parity/pull/4645)
- Sane updater [#4658](https://github.com/paritytech/parity/pull/4658)
- Remainder of RPC APIs implemented for the light client [#4594](https://github.com/paritytech/parity/pull/4594)
- Preserve vault meta when changing pwd [#4650](https://github.com/paritytech/parity/pull/4650)
- Fix Geth account import [#4641](https://github.com/paritytech/parity/pull/4641)
- Tweak some checks. [#4633](https://github.com/paritytech/parity/pull/4633)
- Attempt to fix subscribeToEvents test [#4638](https://github.com/paritytech/parity/pull/4638)
- Fix selection value from RadioButtons [#4636](https://github.com/paritytech/parity/pull/4636)
- Convert all remaining Modals to use Portal (UI consistency) [#4625](https://github.com/paritytech/parity/pull/4625)
- Default account selection update [#4609](https://github.com/paritytech/parity/pull/4609)
- Display ETH balance in overlay account selector [#4588](https://github.com/paritytech/parity/pull/4588)
- Fixed minor grammar mistake in readme [#4627](https://github.com/paritytech/parity/pull/4627)
- Extract newly available i18n strings [#4623](https://github.com/paritytech/parity/pull/4623)
- Save pending local transactions in the database [#4566](https://github.com/paritytech/parity/pull/4566)
- Bump CID version to allow compilation on all platforms [#4614](https://github.com/paritytech/parity/pull/4614)
- Vault Management UI (first round) [#4446](https://github.com/paritytech/parity/pull/4446)
- Let Engine decide if it seals internally [#4613](https://github.com/paritytech/parity/pull/4613)
- Show only known accounts/wallets/addresses on Home [#4612](https://github.com/paritytech/parity/pull/4612)
- Proper default accounts RPCs [#4580](https://github.com/paritytech/parity/pull/4580)
- Hash-fetch errors in case upstream returns non-200 [#4599](https://github.com/paritytech/parity/pull/4599)
- Added pending transaction info to eth_getTransactionByHash [#4570](https://github.com/paritytech/parity/pull/4570)
- Secret store - initial version [#4567](https://github.com/paritytech/parity/pull/4567)
- Handle invalid ABI retrieved from address_book gracefully [#4606](https://github.com/paritytech/parity/pull/4606)
- Optimize key directory reloads [#4583](https://github.com/paritytech/parity/pull/4583)
- Revert Double Click on Accounts to close in Signer Bar [#4590](https://github.com/paritytech/parity/pull/4590)
- IPFS MVP [#4545](https://github.com/paritytech/parity/pull/4545)
- Networking fixes [#4563](https://github.com/paritytech/parity/pull/4563)
- Remove eth_compile* RPCs [#4577](https://github.com/paritytech/parity/pull/4577)
- Ledger wallet signing fixed [#4578](https://github.com/paritytech/parity/pull/4578)
- Remove vertx from Webpack config [#4576](https://github.com/paritytech/parity/pull/4576)
- Better display of tags [#4564](https://github.com/paritytech/parity/pull/4564)
- Added vaults support to `ethstore-cli` [#4532](https://github.com/paritytech/parity/pull/4532)
- Fixed font URLs [#4579](https://github.com/paritytech/parity/pull/4579)
- Explicitly set seconds to 0 from selector [#4559](https://github.com/paritytech/parity/pull/4559)
- Fixes evmbin compilation and adding to standard build. [#4561](https://github.com/paritytech/parity/pull/4561)
- Alias for personal_sendTransaction [#4554](https://github.com/paritytech/parity/pull/4554)
- Key derivation in ethstore & rpc [#4515](https://github.com/paritytech/parity/pull/4515)
- Skip OOG check for simple transfers [#4558](https://github.com/paritytech/parity/pull/4558)
- Light Client transaction queue, initial LightDispatcher [#4501](https://github.com/paritytech/parity/pull/4501)
- Fixes BadgeReg Middleware [#4556](https://github.com/paritytech/parity/pull/4556)
- Fix pasting of value in Input fields [#4555](https://github.com/paritytech/parity/pull/4555)
- Tooltips with react-intl [#4549](https://github.com/paritytech/parity/pull/4549)
- Close on double-click for Signer Account selection [#4540](https://github.com/paritytech/parity/pull/4540)
- Signer provenance [#4477](https://github.com/paritytech/parity/pull/4477)
- Fix console dapp [#4544](https://github.com/paritytech/parity/pull/4544)
- Extract i18n string into i18n/_defaults (base of translations) [#4514](https://github.com/paritytech/parity/pull/4514)
- Fix contract queries bug [#4534](https://github.com/paritytech/parity/pull/4534)
- Fixing namespace of couple methods in console. [#4538](https://github.com/paritytech/parity/pull/4538)
- Home landing page [#4178](https://github.com/paritytech/parity/pull/4178)
- Bump JSON RPC crates versions [#4530](https://github.com/paritytech/parity/pull/4530)
- Update rust version in README [#4531](https://github.com/paritytech/parity/pull/4531)
- Lower default pruning history and memory [#4528](https://github.com/paritytech/parity/pull/4528)
- Serde 0.9 [#4508](https://github.com/paritytech/parity/pull/4508)
- Fixes to Token Deploy dapp [#4513](https://github.com/paritytech/parity/pull/4513)
- Fixed receipt decoding [#4521](https://github.com/paritytech/parity/pull/4521)
- Several fixes to the Wallet in general [#4504](https://github.com/paritytech/parity/pull/4504)
- Use the current contract name for Solidity compilation [#4510](https://github.com/paritytech/parity/pull/4510)
- Preparation for Light client RPC [#4485](https://github.com/paritytech/parity/pull/4485)
- Fix Dutch translation [#4509](https://github.com/paritytech/parity/pull/4509)
- Fixed a warning and bumped libusb-sys [#4507](https://github.com/paritytech/parity/pull/4507)
- Fix TnC overflows on small screens [#4505](https://github.com/paritytech/parity/pull/4505)
- Fix no data sent in TxQueue dapp [#4502](https://github.com/paritytech/parity/pull/4502)
- Ledger wallet support [#4486](https://github.com/paritytech/parity/pull/4486)
- Add new Componennt for Token Images [#4498](https://github.com/paritytech/parity/pull/4498)
- Fix address and accounts links [#4491](https://github.com/paritytech/parity/pull/4491)
- Fix Token Reg Dapp issues in Firefox [#4489](https://github.com/paritytech/parity/pull/4489)
- Parity.js interfaces for vaults [#4497](https://github.com/paritytech/parity/pull/4497)
- Initial Dutch translations [#4484](https://github.com/paritytech/parity/pull/4484)
- Fix key.meta.vault for root dir keys && read vault.meta without vault key [#4482](https://github.com/paritytech/parity/pull/4482)
- Arbitrary labels for extended keys (u32, H256 built-in) [#4438](https://github.com/paritytech/parity/pull/4438)
- Fix ethstore build [#4492](https://github.com/paritytech/parity/pull/4492)
- Fixed compilation of ethstore-cli [#4493](https://github.com/paritytech/parity/pull/4493)
- Build embedded Parity JS properly and separatly [#4426](https://github.com/paritytech/parity/pull/4426)
- Static link for snappy [#4487](https://github.com/paritytech/parity/pull/4487)
- Work with string numbers in contract (Fixes #4472) [#4478](https://github.com/paritytech/parity/pull/4478)
- Metadata support for vaults [#4475](https://github.com/paritytech/parity/pull/4475)
- Sort gas price corpus when hitting genesis [#4470](https://github.com/paritytech/parity/pull/4470)
- Fixing CORS headers for parity.web3.site [#4461](https://github.com/paritytech/parity/pull/4461)
- Make signing compatible with geth. [#4468](https://github.com/paritytech/parity/pull/4468)
- Handle registry not found errors [#4465](https://github.com/paritytech/parity/pull/4465)
- Fix Portal scrolling getting stuck [#4455](https://github.com/paritytech/parity/pull/4455)
- Fix AccountCard stretch to 100% [#4450](https://github.com/paritytech/parity/pull/4450)
- Include total difficulty in CHTs and hide implementation details from consumers [#4428](https://github.com/paritytech/parity/pull/4428)
- Fix RLP encoding for types recursively calling `RlpStream::append` [#4362](https://github.com/paritytech/parity/pull/4362)
- Open popup without attempting inline [#4440](https://github.com/paritytech/parity/pull/4440)
- Fixing histogram again ([#4464](https://github.com/paritytech/parity/issues/4464)) port from beta [#4467](https://github.com/paritytech/parity/pull/4467)
- Vaults RPCs [#4366](https://github.com/paritytech/parity/pull/4366)
- Ethkey - extended keys [#4377](https://github.com/paritytech/parity/pull/4377)
- Use secure websocket from HTTPS clients [#4436](https://github.com/paritytech/parity/pull/4436)
- RPC middleware: Informant & Client.keep_alive [#4384](https://github.com/paritytech/parity/pull/4384)
- Fix eth_sign/parity_postSign [#4432](https://github.com/paritytech/parity/pull/4432)
- Web view with web3.site support [#4313](https://github.com/paritytech/parity/pull/4313)
- Extend Portal component with title, buttons & steps (as per Modal) [#4392](https://github.com/paritytech/parity/pull/4392)
- Extension installation overlay [#4423](https://github.com/paritytech/parity/pull/4423)
- Add block & timestamp conditions to Signer [#4411](https://github.com/paritytech/parity/pull/4411)
- Transaction timestamp condition [#4419](https://github.com/paritytech/parity/pull/4419)
- Poll for defaultAccount to update dapp & overlay subscriptions [#4417](https://github.com/paritytech/parity/pull/4417)
- Validate dapps accounts with address book [#4407](https://github.com/paritytech/parity/pull/4407)
- Dapps use defaultAccount instead of own selectors [#4386](https://github.com/paritytech/parity/pull/4386)
- Fix lock and rename tracing [#4403](https://github.com/paritytech/parity/pull/4403)
- Restarting fetch client every now and then [#4399](https://github.com/paritytech/parity/pull/4399)
- Perform a sync between Rust and JS when generating markdown instead of in spec tests [#4408](https://github.com/paritytech/parity/pull/4408)
- Registry dapp: make lookup use lower case [#4409](https://github.com/paritytech/parity/pull/4409)
- Available Dapp selection alignment with Permissions (Portal) [#4374](https://github.com/paritytech/parity/pull/4374)
- More permissive verification process [#4317](https://github.com/paritytech/parity/pull/4317)
- Fix ParityBar account selection overflows [#4405](https://github.com/paritytech/parity/pull/4405)
- Mac binaries signing [#4397](https://github.com/paritytech/parity/pull/4397)
- Revert "remove [ci skip]" [#4398](https://github.com/paritytech/parity/pull/4398)
- Registry, s/a the owner/the owner/ [#4391](https://github.com/paritytech/parity/pull/4391)
- Fixing invalid address in docs [#4388](https://github.com/paritytech/parity/pull/4388)
- Remove [ci skip] [#4381](https://github.com/paritytech/parity/pull/4381)
- Fixing estimate gas in case histogram is not available [#4387](https://github.com/paritytech/parity/pull/4387)
- Default Account selector in Signer overlay [#4375](https://github.com/paritytech/parity/pull/4375)
- Fixing web3 in console [#4382](https://github.com/paritytech/parity/pull/4382)
- Add parity_defaultAccount RPC (with subscription) [#4383](https://github.com/paritytech/parity/pull/4383)
- Full JSON-RPC docs + sync tests. [#4335](https://github.com/paritytech/parity/pull/4335)
- Expose util as Api.util [#4372](https://github.com/paritytech/parity/pull/4372)
- Dapp Account Selection & Defaults [#4355](https://github.com/paritytech/parity/pull/4355)
- Publish @parity/jsonrpc [#4365](https://github.com/paritytech/parity/pull/4365)
- Fix signing [#4363](https://github.com/paritytech/parity/pull/4363)
- Fixing embedded bar not closing in chrome extension [#4367](https://github.com/paritytech/parity/pull/4367)
- Update AccountCard for re-use [#4350](https://github.com/paritytech/parity/pull/4350)
- Add proper event listener to Portal [#4359](https://github.com/paritytech/parity/pull/4359)
- Optional from field in Transaction Requests [#4332](https://github.com/paritytech/parity/pull/4332)
- Rust 1.14 in README [ci-skip] [#4361](https://github.com/paritytech/parity/pull/4361)
- Fix JournalDB::earliest_era on empty database [#4316](https://github.com/paritytech/parity/pull/4316)
- Fixed race condition deadlock on fetching enode URL [#4354](https://github.com/paritytech/parity/pull/4354)
- Allow Portal to be used as top-level modal [#4338](https://github.com/paritytech/parity/pull/4338)
- Fix postsign [#4347](https://github.com/paritytech/parity/pull/4347)
- Renaming signAndSendTransaction to sendTransaction [#4351](https://github.com/paritytech/parity/pull/4351)
- Add api.util.encodeMethodCall to parity.js [#4330](https://github.com/paritytech/parity/pull/4330)
- Initial commit for vaults [#4312](https://github.com/paritytech/parity/pull/4312)
- Returning default account as coinbase + allow altering sender in signer [#4323](https://github.com/paritytech/parity/pull/4323)
- Persistent tracking of dapps [#4302](https://github.com/paritytech/parity/pull/4302)
- Exposing all RPCs over dapps port as CLI option [#4346](https://github.com/paritytech/parity/pull/4346)
- New macOS App [#4345](https://github.com/paritytech/parity/pull/4345)
- Display QrCode for accounts, addresses & contracts [#4329](https://github.com/paritytech/parity/pull/4329)
- Add QrCode & Copy to ShapeShift [#4322](https://github.com/paritytech/parity/pull/4322)
- Parity.js api.parity.chainStatus should handle { blockGap: null } [#4327](https://github.com/paritytech/parity/pull/4327)
- DeleteAccount & LoadContract modal updates [#4320](https://github.com/paritytech/parity/pull/4320)
- Split Tab from TabBar [#4318](https://github.com/paritytech/parity/pull/4318)
- Contracts interface expansion [#4307](https://github.com/paritytech/parity/pull/4307)
- HistoryStore for tracking relevant routes [#4305](https://github.com/paritytech/parity/pull/4305)
- Split Dapp icon into ui/DappIcon (re-use) [#4308](https://github.com/paritytech/parity/pull/4308)
- Add a Playground for the UI Components [#4301](https://github.com/paritytech/parity/pull/4301)
- Update CreateWallet with FormattedMessage [#4298](https://github.com/paritytech/parity/pull/4298)
- Update dates for new PRs missed [#4306](https://github.com/paritytech/parity/pull/4306)
- EIP-98: Optional transaction state root [#4296](https://github.com/paritytech/parity/pull/4296)
- Fix whitespace [#4299](https://github.com/paritytech/parity/pull/4299)
- Attempt to fix console. [#4294](https://github.com/paritytech/parity/pull/4294)
- Ui/SectionList component [#4292](https://github.com/paritytech/parity/pull/4292)
- Stratum up [#4233](https://github.com/paritytech/parity/pull/4233)
- Logging transaction duration [#4297](https://github.com/paritytech/parity/pull/4297)
- Generic engine utilities [#4258](https://github.com/paritytech/parity/pull/4258)
- JSON-RPC interfaces with documentation [#4276](https://github.com/paritytech/parity/pull/4276)
- Dont decode seal fields [#4263](https://github.com/paritytech/parity/pull/4263)
- Skip misbehaving test until properly fixed [#4283](https://github.com/paritytech/parity/pull/4283)
- Additional logs for own transactions [#4278](https://github.com/paritytech/parity/pull/4278)
- Ensure write lock isn't held when calling handlers [#4285](https://github.com/paritytech/parity/pull/4285)
- Feature selector [#4074](https://github.com/paritytech/parity/pull/4074)
- AccountCreate updates [#3988](https://github.com/paritytech/parity/pull/3988)
- Extended JS interface -> Markdown generator [#4275](https://github.com/paritytech/parity/pull/4275)
- Added 3 warpnodes for ropsten [#4289](https://github.com/paritytech/parity/pull/4289)
- Ledger Communication JS toolkit [#4268](https://github.com/paritytech/parity/pull/4268)
- ValidatorSet reporting [#4208](https://github.com/paritytech/parity/pull/4208)
- Add support for api.subscribe('parity_accountsInfo') [#4273](https://github.com/paritytech/parity/pull/4273)
- Display AccountCard name via IdentityName [#4235](https://github.com/paritytech/parity/pull/4235)
- Dapp visibility save/load tests [#4150](https://github.com/paritytech/parity/pull/4150)
- Fix wrong output format of peers [#4270](https://github.com/paritytech/parity/pull/4270)
- Chain scoring [#4218](https://github.com/paritytech/parity/pull/4218)
- Rust 1.14 for windows builds [#4269](https://github.com/paritytech/parity/pull/4269)
- Eslint formatting updates [#4234](https://github.com/paritytech/parity/pull/4234)
- Embeddable ParityBar [#4222](https://github.com/paritytech/parity/pull/4222)
- Update deb-build.sh to fix libssl dependency [#4260](https://github.com/paritytech/parity/pull/4260)
- Integration with zgp whitelist contract [#4215](https://github.com/paritytech/parity/pull/4215)
- Adjust the location of the signer snippet [#4155](https://github.com/paritytech/parity/pull/4155)
- Fix wrong token handling [#4254](https://github.com/paritytech/parity/pull/4254)
- Additional building-block UI components [#4239](https://github.com/paritytech/parity/pull/4239)
- Bump package.json to 0.3.0 (1.6 track) [#4244](https://github.com/paritytech/parity/pull/4244)
- Disable incoming ETH notifications [#4243](https://github.com/paritytech/parity/pull/4243)
- Memory-based pruning history size [#4114](https://github.com/paritytech/parity/pull/4114)
- Common EngineSigner [#4189](https://github.com/paritytech/parity/pull/4189)
- Verification: don't request a code twice [#4221](https://github.com/paritytech/parity/pull/4221)
- S/Delete Contract/Forget Contract/ [#4237](https://github.com/paritytech/parity/pull/4237)
- Light protocol syncing improvements [#4212](https://github.com/paritytech/parity/pull/4212)
- LES Peer Info [#4195](https://github.com/paritytech/parity/pull/4195)
- Don't panic on uknown git commit hash [#4231](https://github.com/paritytech/parity/pull/4231)
- Cache registry reverses in local storage [#4182](https://github.com/paritytech/parity/pull/4182)
- Update version numbers in README [#4223](https://github.com/paritytech/parity/pull/4223)
- CHT calculations for full nodes [#4181](https://github.com/paritytech/parity/pull/4181)
- Use single source of info for dapp meta (build & display) [#4217](https://github.com/paritytech/parity/pull/4217)
- Non-secure API for DappReg [#4216](https://github.com/paritytech/parity/pull/4216)
- Console now has admin [#4220](https://github.com/paritytech/parity/pull/4220)
- Verification: add mainnet BadgeReg ids [#4190](https://github.com/paritytech/parity/pull/4190)
- Fixing minimal transaction queue price [#4204](https://github.com/paritytech/parity/pull/4204)
- Remove unnecessary Engine method [#4184](https://github.com/paritytech/parity/pull/4184)
- Fixed --base-path on windows [#4193](https://github.com/paritytech/parity/pull/4193)
- Fixing etherscan price parsing [#4202](https://github.com/paritytech/parity/pull/4202)
- LES: Better timeouts + Track failed requests [#4093](https://github.com/paritytech/parity/pull/4093)
- ESLint additional rules [#4186](https://github.com/paritytech/parity/pull/4186)
- JsonRPC bump for IPC fix [#4200](https://github.com/paritytech/parity/pull/4200)
- Poll for upgrades as part of global status (long) [#4197](https://github.com/paritytech/parity/pull/4197)
- Updater fixes [#4196](https://github.com/paritytech/parity/pull/4196)
- Prevent duplicate incoming connections [#4180](https://github.com/paritytech/parity/pull/4180)
- Minor typo to ensure it updates only when synced. [#4188](https://github.com/paritytech/parity/pull/4188)
- Minor refactor for clarity [#4174](https://github.com/paritytech/parity/pull/4174)
- Secret - from hash function, also validate data [#4159](https://github.com/paritytech/parity/pull/4159)
- Gas_limit for blocks, mined by Parity will be divisible by 37 [#4154](https://github.com/paritytech/parity/pull/4154)
- Support HTML5-routed dapps [#4173](https://github.com/paritytech/parity/pull/4173)
- Fix subscribeToEvents test [#4166](https://github.com/paritytech/parity/pull/4166)
- Fix dapps not loading [#4170](https://github.com/paritytech/parity/pull/4170)
- Fix broken token images [#4169](https://github.com/paritytech/parity/pull/4169)
- Bumping hyper [#4167](https://github.com/paritytech/parity/pull/4167)
- Icarus -> update, increase web timeout. [#4165](https://github.com/paritytech/parity/pull/4165)
- Add a password strength component [#4153](https://github.com/paritytech/parity/pull/4153)
- Stop flickering + added loader in AddressSelector [#4149](https://github.com/paritytech/parity/pull/4149)
- On demand LES request [#4036](https://github.com/paritytech/parity/pull/4036)
- Ropsten fork detection [#4163](https://github.com/paritytech/parity/pull/4163)
- Pull in console dapp as builtin [#4145](https://github.com/paritytech/parity/pull/4145)
- Optimized hash lookups [#4144](https://github.com/paritytech/parity/pull/4144)
- UnverifiedTransaction type [#4134](https://github.com/paritytech/parity/pull/4134)
- Verification: check if server is running [#4140](https://github.com/paritytech/parity/pull/4140)
- Remove onSubmit of current (no auto-change on password edit) [#4151](https://github.com/paritytech/parity/pull/4151)
- Trim spaces from InputAddress [#4126](https://github.com/paritytech/parity/pull/4126)
- Don't pop-up notifications after network switch [#4076](https://github.com/paritytech/parity/pull/4076)
- Use estimateGas error (as per updated implementation) [#4131](https://github.com/paritytech/parity/pull/4131)
- Improvements and optimisations to estimate_gas [#4142](https://github.com/paritytech/parity/pull/4142)
- New jsonrpc-core with futures and metadata support [#3859](https://github.com/paritytech/parity/pull/3859)
- Reenable mainnet update server. [#4137](https://github.com/paritytech/parity/pull/4137)
- Temporarily skip failing test [#4138](https://github.com/paritytech/parity/pull/4138)
- Refactor VoteCollector [#4101](https://github.com/paritytech/parity/pull/4101)
- Another minor estimation fix [#4133](https://github.com/paritytech/parity/pull/4133)
- Add proper label to method decoding inputs [#4136](https://github.com/paritytech/parity/pull/4136)
- Remove bindActionCreators({}, dispatch) (empty, unneeded) [#4135](https://github.com/paritytech/parity/pull/4135)
- Better contract error log reporting & handling [#4128](https://github.com/paritytech/parity/pull/4128)
- Fix broken Transfer : total account balance [#4127](https://github.com/paritytech/parity/pull/4127)
- Test harness for lightsync [#4109](https://github.com/paritytech/parity/pull/4109)
- Fix call/estimate_gas [#4121](https://github.com/paritytech/parity/pull/4121)
- Fixing decoding ABI with signatures in names [#4125](https://github.com/paritytech/parity/pull/4125)
- Get rid of unsafe code in ethkey, propagate incorrect Secret errors. [#4119](https://github.com/paritytech/parity/pull/4119)
- Basic tests for subscribeToEvents [#4115](https://github.com/paritytech/parity/pull/4115)
- Auto-detect hex encoded bytes in sha3 [#4108](https://github.com/paritytech/parity/pull/4108)
- Use binary chop to estimate gas accurately [#4100](https://github.com/paritytech/parity/pull/4100)
- V1.6 in master [#4113](https://github.com/paritytech/parity/pull/4113)
- Ignore get_price_info test by default. [#4112](https://github.com/paritytech/parity/pull/4112)
- Fix wrong information logging [#4106](https://github.com/paritytech/parity/pull/4106)
- Avoid comms with not-yet-active release update server. [#4111](https://github.com/paritytech/parity/pull/4111)
- Update Transfer logic + Better logging [#4098](https://github.com/paritytech/parity/pull/4098)
- Fix Signer : wrong account on reload [#4104](https://github.com/paritytech/parity/pull/4104)
- Cache registry reverses, completion in address selector [#4066](https://github.com/paritytech/parity/pull/4066)
- Validator/authority contract [#3937](https://github.com/paritytech/parity/pull/3937)
- No reorg limit for ancient blocks [#4099](https://github.com/paritytech/parity/pull/4099)
- Update registration after every write [#4102](https://github.com/paritytech/parity/pull/4102)
- Default to no auto-update. [#4092](https://github.com/paritytech/parity/pull/4092)
- Don't remove out of date local transactions [#4094](https://github.com/paritytech/parity/pull/4094)

File diff suppressed because it is too large Load Diff

View File

@@ -1,134 +1,134 @@
Note: Parity 1.8 reached End-of-Life on 2018-03-22 (EOL).
## Parity [v1.8.11](https://github.com/openethereum/openethereum/releases/tag/v1.8.11) (2018-03-01)
## Parity [v1.8.11](https://github.com/paritytech/parity/releases/tag/v1.8.11) (2018-03-01)
Parity 1.8.11 is a bug-fix release to improve performance and stability.
The full list of included changes:
- Bump stable to 1.8.11 ([#8010](https://github.com/openethereum/openethereum/pull/8010))
- Stable Backports ([#8008](https://github.com/openethereum/openethereum/pull/8008))
- Reject too large packets in snapshot sync. ([#7977](https://github.com/openethereum/openethereum/pull/7977))
- Increase max download limit to 128MB ([#7965](https://github.com/openethereum/openethereum/pull/7965))
- Calculate proper keccak256/sha3 using parity. ([#7953](https://github.com/openethereum/openethereum/pull/7953))
- Bump WebSockets ([#7952](https://github.com/openethereum/openethereum/pull/7952))
- Bump stable to 1.8.11 ([#8010](https://github.com/paritytech/parity/pull/8010))
- Stable Backports ([#8008](https://github.com/paritytech/parity/pull/8008))
- Reject too large packets in snapshot sync. ([#7977](https://github.com/paritytech/parity/pull/7977))
- Increase max download limit to 128MB ([#7965](https://github.com/paritytech/parity/pull/7965))
- Calculate proper keccak256/sha3 using parity. ([#7953](https://github.com/paritytech/parity/pull/7953))
- Bump WebSockets ([#7952](https://github.com/paritytech/parity/pull/7952))
## Parity [v1.8.10](https://github.com/openethereum/openethereum/releases/tag/v1.8.10) (2018-02-20)
## Parity [v1.8.10](https://github.com/paritytech/parity/releases/tag/v1.8.10) (2018-02-20)
Parity 1.8.10 is a bug-fix release to improve performance and stability.
The full list of included changes:
- Bump react-qr-reader ([#7941)](https://github.com/openethereum/openethereum/pull/7941))
- Bump react-qr-reader ([#7941)](https://github.com/paritytech/parity/pull/7941))
- Bump react-qr-reader
- Explicit add webrtc-adapter, non-napa qrcode-generator
- Fix feature=final ([#7914)](https://github.com/openethereum/openethereum/pull/7914))
- Fix snap build stable ([#7897)](https://github.com/openethereum/openethereum/pull/7897))
- Backport core PRs to stable ([#7892)](https://github.com/openethereum/openethereum/pull/7892))
- Update back-references more aggressively after answering from cache ([#7578)](https://github.com/openethereum/openethereum/pull/7578))
- Store updater metadata in a single place ([#7832)](https://github.com/openethereum/openethereum/pull/7832))
- Flush keyfiles. Resolves [#7632](https://github.com/openethereum/openethereum/issues/7632) ([#7868)](https://github.com/openethereum/openethereum/pull/7868))
- Fix wallet import ([#7873)](https://github.com/openethereum/openethereum/pull/7873))
- Backport Master CI PRs to Stable ([#7889)](https://github.com/openethereum/openethereum/pull/7889))
- Add binary identifiers and sha256sum to builds ([#7830)](https://github.com/openethereum/openethereum/pull/7830))
- Fix checksums and auto-update push ([#7846)](https://github.com/openethereum/openethereum/pull/7846))
- Update gitlab-build.sh ([#7855)](https://github.com/openethereum/openethereum/pull/7855))
- Fix installer binary names for macos and windows ([#7881)](https://github.com/openethereum/openethereum/pull/7881))
- Update gitlab-test.sh ([#7883)](https://github.com/openethereum/openethereum/pull/7883))
- Fix snapcraft nightly ([#7884)](https://github.com/openethereum/openethereum/pull/7884))
- Fix feature=final ([#7914)](https://github.com/paritytech/parity/pull/7914))
- Fix snap build stable ([#7897)](https://github.com/paritytech/parity/pull/7897))
- Backport core PRs to stable ([#7892)](https://github.com/paritytech/parity/pull/7892))
- Update back-references more aggressively after answering from cache ([#7578)](https://github.com/paritytech/parity/pull/7578))
- Store updater metadata in a single place ([#7832)](https://github.com/paritytech/parity/pull/7832))
- Flush keyfiles. Resolves [#7632](https://github.com/paritytech/parity/issues/7632) ([#7868)](https://github.com/paritytech/parity/pull/7868))
- Fix wallet import ([#7873)](https://github.com/paritytech/parity/pull/7873))
- Backport Master CI PRs to Stable ([#7889)](https://github.com/paritytech/parity/pull/7889))
- Add binary identifiers and sha256sum to builds ([#7830)](https://github.com/paritytech/parity/pull/7830))
- Fix checksums and auto-update push ([#7846)](https://github.com/paritytech/parity/pull/7846))
- Update gitlab-build.sh ([#7855)](https://github.com/paritytech/parity/pull/7855))
- Fix installer binary names for macos and windows ([#7881)](https://github.com/paritytech/parity/pull/7881))
- Update gitlab-test.sh ([#7883)](https://github.com/paritytech/parity/pull/7883))
- Fix snapcraft nightly ([#7884)](https://github.com/paritytech/parity/pull/7884))
- Bump stable to 1.8.10
- Make track stable
## Parity [v1.8.9](https://github.com/openethereum/openethereum/releases/tag/v1.8.9) (2018-02-02)
## Parity [v1.8.9](https://github.com/paritytech/parity/releases/tag/v1.8.9) (2018-02-02)
Parity 1.8.9 is a bug-fix release to improve performance and stability. It restores ERC-20 token balances and adds additional bootnodes for the Ropsten test network.
The full list of included changes:
- Update gitlab-build.sh
- Backports stable ([#7779](https://github.com/openethereum/openethereum/pull/7779))
- Backports stable ([#7779](https://github.com/paritytech/parity/pull/7779))
- Bump stable to 1.8.9
- Update ropsten.json ([#7776](https://github.com/openethereum/openethereum/pull/7776))
- Fix tokenAddress reference ([#7777](https://github.com/openethereum/openethereum/pull/7777))
- Update ropsten.json ([#7776](https://github.com/paritytech/parity/pull/7776))
- Fix tokenAddress reference ([#7777](https://github.com/paritytech/parity/pull/7777))
- Snapcraft push stable
## Parity [v1.8.8](https://github.com/openethereum/openethereum/releases/tag/v1.8.8) (2018-02-01)
## Parity [v1.8.8](https://github.com/paritytech/parity/releases/tag/v1.8.8) (2018-02-01)
Parity 1.8.8 is a bug-fix release to improve performance and stability. It restores ERC-20 token balances, improves networking, fixes database corruptions on client shutdown, and fixes issues with the `--password` command-line flag. Happy syncing!
The full list of included changes:
- Gitlab stable ([#7768](https://github.com/openethereum/openethereum/pull/7768))
- Gitlab stable ([#7768](https://github.com/paritytech/parity/pull/7768))
- Fix snapcraft build for stable
- Initial support push snap packages to snapcraft.io
- Edge-devel
- Snapcraft push ans fix build ([#7767](https://github.com/openethereum/openethereum/pull/7767))
- Snapcraft push ans fix build ([#7767](https://github.com/paritytech/parity/pull/7767))
- Fix snapcraft build for stable
- Initial support push snap packages to snapcraft.io
- Edge-devel
- Remove snapcraft.yml from scripts
- Resolve conflicts
- Token filter balances (throttle) ([#7755](https://github.com/openethereum/openethereum/pull/7755))
- Fix snapcraft build (stable) ([#7763](https://github.com/openethereum/openethereum/pull/7763))
- Token filter balances (throttle) ([#7755](https://github.com/paritytech/parity/pull/7755))
- Fix snapcraft build (stable) ([#7763](https://github.com/paritytech/parity/pull/7763))
- Fix snapcraft build for stable
- Fix snapcraft build (stable)
- [Stable] Backports ([#7758](https://github.com/openethereum/openethereum/pull/7758))
- Filter-out nodes.json ([#7716](https://github.com/openethereum/openethereum/pull/7716))
- [Stable] Backports ([#7758](https://github.com/paritytech/parity/pull/7758))
- Filter-out nodes.json ([#7716](https://github.com/paritytech/parity/pull/7716))
- Filter-out nodes.json
- Network: sort node table nodes by failure ratio
- Network: fix node table tests
- Network: fit node failure percentage into buckets of 5%
- Network: consider number of attempts in sorting of node table
- Network: fix node table grumbles
- Fix client not being dropped on shutdown ([#7695](https://github.com/openethereum/openethereum/pull/7695))
- Fix client not being dropped on shutdown ([#7695](https://github.com/paritytech/parity/pull/7695))
- Parity: wait for client to drop on shutdown
- Parity: fix grumbles in shutdown wait
- Parity: increase shutdown timeouts
- Wrap --help output to 120 characters ([#7626](https://github.com/openethereum/openethereum/pull/7626))
- Wrap --help output to 120 characters ([#7626](https://github.com/paritytech/parity/pull/7626))
- Update Clap dependency and remove workarounds
- WIP
- Remove line breaks in help messages for now
- Multiple values can only be separated by commas (closes [#7428](https://github.com/openethereum/openethereum/issues/7428))
- Multiple values can only be separated by commas (closes [#7428](https://github.com/paritytech/parity/issues/7428))
- Grumbles; refactor repeating code; add constant
- Use a single Wrapper rather than allocate a new one for each call
- Wrap --help to 120 characters rather than 100 characters
- Use explicit branch name in push ([#7757](https://github.com/openethereum/openethereum/pull/7757))
- Bump stable to 1.8.8 ([#7752](https://github.com/openethereum/openethereum/pull/7752))
- Fix js-release in stable ([#7682](https://github.com/openethereum/openethereum/pull/7682))
- Use explicit branch name in push ([#7757](https://github.com/paritytech/parity/pull/7757))
- Bump stable to 1.8.8 ([#7752](https://github.com/paritytech/parity/pull/7752))
- Fix js-release in stable ([#7682](https://github.com/paritytech/parity/pull/7682))
- Update Info.plist
- Fix conditions in gitlab-test ([#7675](https://github.com/openethereum/openethereum/pull/7675))
- Fix conditions in gitlab-test ([#7675](https://github.com/paritytech/parity/pull/7675))
- Remove cargo cache
## Parity [v1.8.7](https://github.com/openethereum/openethereum/releases/tag/v1.8.7) (2018-01-24)
## Parity [v1.8.7](https://github.com/paritytech/parity/releases/tag/v1.8.7) (2018-01-24)
Parity 1.8.7 is the first stable release of the 1.8 channel. It includes various bug and stability fixes. Users on Kovan or other Aura-based networks are advised to upgrade as this release fixes an issue introduced with 1.8.6 and 1.7.12 that causes Proof-of-Authority nodes to stop synchronizing the chain.
The full list of included changes:
- Bump stable version ([#7665](https://github.com/openethereum/openethereum/pull/7665))
- Bump stable version ([#7665](https://github.com/paritytech/parity/pull/7665))
- Bump stable to 1.8.7
- Backports to stable ([#7661](https://github.com/openethereum/openethereum/pull/7661))
- Fixed delegatecall's from/to ([#7568](https://github.com/openethereum/openethereum/pull/7568))
- Fixed delegatecall's from/to, closes [#7166](https://github.com/openethereum/openethereum/issues/7166)
- Added tests for delegatecall traces, [#7167](https://github.com/openethereum/openethereum/issues/7167)
- Fix Temporarily Invalid blocks handling ([#7613](https://github.com/openethereum/openethereum/pull/7613))
- Backports to stable ([#7661](https://github.com/paritytech/parity/pull/7661))
- Fixed delegatecall's from/to ([#7568](https://github.com/paritytech/parity/pull/7568))
- Fixed delegatecall's from/to, closes [#7166](https://github.com/paritytech/parity/issues/7166)
- Added tests for delegatecall traces, [#7167](https://github.com/paritytech/parity/issues/7167)
- Fix Temporarily Invalid blocks handling ([#7613](https://github.com/paritytech/parity/pull/7613))
- Handle temporarily invalid blocks in sync.
- Fix tests.
- Improve handling of RocksDB corruption ([#7630](https://github.com/openethereum/openethereum/pull/7630))
- Improve handling of RocksDB corruption ([#7630](https://github.com/paritytech/parity/pull/7630))
- Kvdb-rocksdb: update rust-rocksdb version
- Kvdb-rocksdb: mark corruptions and attempt repair on db open
- Kvdb-rocksdb: better corruption detection on open
- Kvdb-rocksdb: add corruption_file_name const
- Kvdb-rocksdb: rename mark_corruption to check_for_corruption
- Add docker build for stable and cargo cache ([#7672](https://github.com/openethereum/openethereum/pull/7672))
- Fix snapcraft build for stable ([#7669](https://github.com/openethereum/openethereum/pull/7669))
- Update .gitlab-ci.yml ([#7599](https://github.com/openethereum/openethereum/pull/7599))
- Add docker build for stable and cargo cache ([#7672](https://github.com/paritytech/parity/pull/7672))
- Fix snapcraft build for stable ([#7669](https://github.com/paritytech/parity/pull/7669))
- Update .gitlab-ci.yml ([#7599](https://github.com/paritytech/parity/pull/7599))
- Fix cache:key
- Make 1.8 stable ([#7532](https://github.com/openethereum/openethereum/pull/7532))
- Make 1.8 stable ([#7532](https://github.com/paritytech/parity/pull/7532))
- Bump 1.8 to stable
- Make js-precompiled stable
## Parity [v1.8.6](https://github.com/openethereum/openethereum/releases/tag/v1.8.6) (2018-01-10)
## Parity [v1.8.6](https://github.com/paritytech/parity/releases/tag/v1.8.6) (2018-01-10)
Parity 1.8.6 fixes a critical issue with the database eventually filling up user's disks. Upgrading is highly recommended as it will significantly improve your user experience. As a bonus, this release should enable users with slower hard-disk drives to catch up with the latest block again. Also, warp-sync performance was significantly improved. Please note, that the initial database compaction after upgrading might temporarily reduce the node's performance.
@@ -142,22 +142,22 @@ Last but not least, this release also fixes consensus issues with the Expanse ch
The full list of included changes:
- RocksDB fix ([#7508](https://github.com/openethereum/openethereum/pull/7508))
- RocksDB fix ([#7508](https://github.com/paritytech/parity/pull/7508))
- Kvdb: update rust-rocksdb version
- Backports to beta ([#7434](https://github.com/openethereum/openethereum/pull/7434))
- Wait for future blocks in AuRa ([#7368](https://github.com/openethereum/openethereum/pull/7368))
- Backports to beta ([#7434](https://github.com/paritytech/parity/pull/7434))
- Wait for future blocks in AuRa ([#7368](https://github.com/paritytech/parity/pull/7368))
- Mark future blocks as temporarily invalid.
- Don't check max.
- Fix tracing failed calls. ([#7412](https://github.com/openethereum/openethereum/pull/7412))
- Problem: sending any Whisper message fails ([#7421](https://github.com/openethereum/openethereum/pull/7421))
- Strict config parsing ([#7433](https://github.com/openethereum/openethereum/pull/7433))
- Problem: AuRa's unsafeties around step duration ([#7282](https://github.com/openethereum/openethereum/pull/7282))
- Remove expanse chain ([#7437](https://github.com/openethereum/openethereum/pull/7437))
- Fix tracing failed calls. ([#7412](https://github.com/paritytech/parity/pull/7412))
- Problem: sending any Whisper message fails ([#7421](https://github.com/paritytech/parity/pull/7421))
- Strict config parsing ([#7433](https://github.com/paritytech/parity/pull/7433))
- Problem: AuRa's unsafeties around step duration ([#7282](https://github.com/paritytech/parity/pull/7282))
- Remove expanse chain ([#7437](https://github.com/paritytech/parity/pull/7437))
- Remove expanse from available chains
- Remove all EXP references from old wallet
- Fix tests
- Remove expanse chain ([#7437](https://github.com/openethereum/openethereum/pull/7437))
- Expanse Byzantium update w/ correct metropolis difficulty increment divisor ([#7463](https://github.com/openethereum/openethereum/pull/7463))
- Remove expanse chain ([#7437](https://github.com/paritytech/parity/pull/7437))
- Expanse Byzantium update w/ correct metropolis difficulty increment divisor ([#7463](https://github.com/paritytech/parity/pull/7463))
- Byzantium Update for Expanse
- Expip2 changes - update duration limit
- Fix missing EXPIP-2 fields
@@ -167,40 +167,40 @@ The full list of included changes:
- Set metropolisDifficultyIncrementDivisor for Expanse
- Revert #7437
- Add Expanse block 900_000 hash checkpoint
- Advance AuRa step as far as we can and prevent invalid blocks. ([#7451](https://github.com/openethereum/openethereum/pull/7451))
- Advance AuRa step as far as we can and prevent invalid blocks. ([#7451](https://github.com/paritytech/parity/pull/7451))
- Advance AuRa step as far as we can.
- Wait for future blocks.
- Fixed panic when io is not available for export block, closes [#7486](https://github.com/openethereum/openethereum/issues/7486) ([#7495](https://github.com/openethereum/openethereum/pull/7495))
- Update Parity Mainnet Bootnodes ([#7476](https://github.com/openethereum/openethereum/pull/7476))
- Fixed panic when io is not available for export block, closes [#7486](https://github.com/paritytech/parity/issues/7486) ([#7495](https://github.com/paritytech/parity/pull/7495))
- Update Parity Mainnet Bootnodes ([#7476](https://github.com/paritytech/parity/pull/7476))
- Replace the Azure HDD bootnodes with the new ones :)
- Expose default gas price percentile configuration in CLI ([#7497](https://github.com/openethereum/openethereum/pull/7497))
- Expose default gas price percentile configuration in CLI ([#7497](https://github.com/paritytech/parity/pull/7497))
- Expose gas price percentile.
- Fix light eth_call.
- Fix gas_price in light client
- Backport nonces reservations ([#7439](https://github.com/openethereum/openethereum/pull/7439))
- Reserve nonces for signing ([#6834](https://github.com/openethereum/openethereum/pull/6834))
- Backport nonces reservations ([#7439](https://github.com/paritytech/parity/pull/7439))
- Reserve nonces for signing ([#6834](https://github.com/paritytech/parity/pull/6834))
- Nonce future - reserve and dispatch
- Single thread nonce tests
- Track status of reserved nonces.
- Initialization of nonce reservations.
- Prospective Signer
- Fix cli tests.
- Fix nonce reservation ([#7025](https://github.com/openethereum/openethereum/pull/7025))
- Fix nonce reservation ([#7025](https://github.com/paritytech/parity/pull/7025))
- Use nonce reservation per address
- Create hashmap in RPC Apis
- Garbage collect hashmap entries.
- HashMap::retain
- Bump beta to 1.8.6 ([#7442](https://github.com/openethereum/openethereum/pull/7442))
- KVDB backports ([#7438](https://github.com/openethereum/openethereum/pull/7438))
- Separated kvdb into 3 crates: kvdb, kvdb-memorydb && kvdb-rocksdb ([#6720](https://github.com/openethereum/openethereum/pull/6720))
- Separated kvdb into 3 crates: kvdb, kvdb-memorydb && kvdb-rocksdb, ref [#6693](https://github.com/openethereum/openethereum/issues/6693)
- Bump beta to 1.8.6 ([#7442](https://github.com/paritytech/parity/pull/7442))
- KVDB backports ([#7438](https://github.com/paritytech/parity/pull/7438))
- Separated kvdb into 3 crates: kvdb, kvdb-memorydb && kvdb-rocksdb ([#6720](https://github.com/paritytech/parity/pull/6720))
- Separated kvdb into 3 crates: kvdb, kvdb-memorydb && kvdb-rocksdb, ref [#6693](https://github.com/paritytech/parity/issues/6693)
- Fixed kvdb-memorydb && kvdb-rocksdb authors
- Fixed wrong kvdb import in json_tests
- Util tests use kvdb_memorydb instead of kvdb_rocksdb, closes [#6739](https://github.com/openethereum/openethereum/issues/6739)
- Util tests use kvdb_memorydb instead of kvdb_rocksdb, closes [#6739](https://github.com/paritytech/parity/issues/6739)
- Renamed kvdb_memorydb::in_memory -> kvdb_memorydb::create
- Docs
- Removed redundant mut from kvdb-memorydb
- Upgrade to RocksDB 5.8.8 and tune settings to reduce space amplification ([#7348](https://github.com/openethereum/openethereum/pull/7348))
- Upgrade to RocksDB 5.8.8 and tune settings to reduce space amplification ([#7348](https://github.com/paritytech/parity/pull/7348))
- kvdb-rocksdb: update to RocksDB 5.8.8
- kvdb-rocksdb: tune RocksDB options
- Switch to level-style compaction
@@ -218,7 +218,7 @@ The full list of included changes:
- kvdb-rocksdb: reduce db_write_bufer_size to force earlier flushing
- kvdb-rocksdb: use master branch for rust-rocksdb dependency
## Parity [v1.8.5](https://github.com/openethereum/openethereum/releases/tag/v1.8.5) (2017-12-29)
## Parity [v1.8.5](https://github.com/paritytech/parity/releases/tag/v1.8.5) (2017-12-29)
Parity 1.8.5 changes the default behavior of JSON-RPC CORS setting, detects same-key engine signers in Aura networks, and updates bootnodes for the Kovan and Foundation networks.
@@ -226,24 +226,24 @@ Note: The default value of `--jsonrpc-cors` option has been altered to disallow
The full list of included changes:
- Beta Backports ([#7297](https://github.com/openethereum/openethereum/pull/7297))
- New warp enodes ([#7287](https://github.com/openethereum/openethereum/pull/7287))
- Beta Backports ([#7297](https://github.com/paritytech/parity/pull/7297))
- New warp enodes ([#7287](https://github.com/paritytech/parity/pull/7287))
- New warp enodes
- Added one more warp enode; replaced spaces with tabs
- Bump beta to 1.8.5
- Update kovan boot nodes
- Detect different node, same-key signing in aura ([#7245](https://github.com/openethereum/openethereum/pull/7245))
- Detect different node, same-key signing in aura ([#7245](https://github.com/paritytech/parity/pull/7245))
- Detect different node, same-key signing in aura
- Reduce scope of warning
- Fix Cargo.lock
- Updating mainnet bootnodes.
- Update bootnodes ([#7363](https://github.com/openethereum/openethereum/pull/7363))
- Update bootnodes ([#7363](https://github.com/paritytech/parity/pull/7363))
- Updating mainnet bootnodes.
- Add additional parity-beta bootnodes.
- Restore old parity bootnodes and update foudation bootnodes
- Fix default CORS. ([#7388](https://github.com/openethereum/openethereum/pull/7388))
- Fix default CORS. ([#7388](https://github.com/paritytech/parity/pull/7388))
## Parity [v1.8.4](https://github.com/openethereum/openethereum/releases/tag/v1.8.4) (2017-12-12)
## Parity [v1.8.4](https://github.com/paritytech/parity/releases/tag/v1.8.4) (2017-12-12)
Parity 1.8.4 applies fixes for Proof-of-Authority networks and schedules the Kovan-Byzantium hard-fork.
@@ -258,57 +258,57 @@ Furthermore, this release includes the ECIP-1039 Monetary policy rounding specif
The full list of included changes:
- Beta Backports and HF block update ([#7244](https://github.com/openethereum/openethereum/pull/7244))
- Reduce max block timestamp drift to 15 seconds ([#7240](https://github.com/openethereum/openethereum/pull/7240))
- Beta Backports and HF block update ([#7244](https://github.com/paritytech/parity/pull/7244))
- Reduce max block timestamp drift to 15 seconds ([#7240](https://github.com/paritytech/parity/pull/7240))
- Add test for block timestamp validation within allowed drift
- Update kovan HF block number.
- Beta Kovan HF ([#7234](https://github.com/openethereum/openethereum/pull/7234))
- Beta Kovan HF ([#7234](https://github.com/paritytech/parity/pull/7234))
- Kovan HF.
- Bump version.
- Fix aura difficulty race ([#7198](https://github.com/openethereum/openethereum/pull/7198))
- Fix aura difficulty race ([#7198](https://github.com/paritytech/parity/pull/7198))
- Fix test key
- Extract out score calculation
- Fix build
- Update kovan HF block number.
- Add missing byzantium builtins.
- Bump installers versions.
- Increase allowed time drift to 10s. ([#7238](https://github.com/openethereum/openethereum/pull/7238))
- Beta Backports ([#7197](https://github.com/openethereum/openethereum/pull/7197))
- Maximum uncle count transition ([#7196](https://github.com/openethereum/openethereum/pull/7196))
- Increase allowed time drift to 10s. ([#7238](https://github.com/paritytech/parity/pull/7238))
- Beta Backports ([#7197](https://github.com/paritytech/parity/pull/7197))
- Maximum uncle count transition ([#7196](https://github.com/paritytech/parity/pull/7196))
- Enable delayed maximum_uncle_count activation.
- Fix tests.
- Defer kovan HF.
- Disable uncles by default ([#7006](https://github.com/openethereum/openethereum/pull/7006))
- Escape inifinite loop in estimte_gas ([#7075](https://github.com/openethereum/openethereum/pull/7075))
- ECIP-1039: Monetary policy rounding specification ([#7067](https://github.com/openethereum/openethereum/pull/7067))
- WASM Remove blockhash error ([#7121](https://github.com/openethereum/openethereum/pull/7121))
- Disable uncles by default ([#7006](https://github.com/paritytech/parity/pull/7006))
- Escape inifinite loop in estimte_gas ([#7075](https://github.com/paritytech/parity/pull/7075))
- ECIP-1039: Monetary policy rounding specification ([#7067](https://github.com/paritytech/parity/pull/7067))
- WASM Remove blockhash error ([#7121](https://github.com/paritytech/parity/pull/7121))
- Remove blockhash error
- Update tests.
- WASM storage_read and storage_write don't return anything ([#7110](https://github.com/openethereum/openethereum/pull/7110))
- WASM parse payload from panics ([#7097](https://github.com/openethereum/openethereum/pull/7097))
- Fix no-default-features. ([#7096](https://github.com/openethereum/openethereum/pull/7096))
- WASM storage_read and storage_write don't return anything ([#7110](https://github.com/paritytech/parity/pull/7110))
- WASM parse payload from panics ([#7097](https://github.com/paritytech/parity/pull/7097))
- Fix no-default-features. ([#7096](https://github.com/paritytech/parity/pull/7096))
## Parity [v1.8.3](https://github.com/openethereum/openethereum/releases/tag/v1.8.3) (2017-11-15)
## Parity [v1.8.3](https://github.com/paritytech/parity/releases/tag/v1.8.3) (2017-11-15)
Parity 1.8.3 contains several bug-fixes and removes the ability to deploy built-in multi-signature wallets.
The full list of included changes:
- Backports to beta ([#7043](https://github.com/openethereum/openethereum/pull/7043))
- pwasm-std update ([#7018](https://github.com/openethereum/openethereum/pull/7018))
- Backports to beta ([#7043](https://github.com/paritytech/parity/pull/7043))
- pwasm-std update ([#7018](https://github.com/paritytech/parity/pull/7018))
- Version 1.8.3
- Make CLI arguments parsing more backwards compatible ([#7004](https://github.com/openethereum/openethereum/pull/7004))
- Skip nonce check for gas estimation ([#6997](https://github.com/openethereum/openethereum/pull/6997))
- Events in WASM runtime ([#6967](https://github.com/openethereum/openethereum/pull/6967))
- Return decoded seal fields. ([#6932](https://github.com/openethereum/openethereum/pull/6932))
- Fix serialization of status in transaction receipts. ([#6926](https://github.com/openethereum/openethereum/pull/6926))
- Windows fixes ([#6921](https://github.com/openethereum/openethereum/pull/6921))
- Disallow built-in multi-sig deploy (only watch) ([#7014](https://github.com/openethereum/openethereum/pull/7014))
- Add hint in ActionParams for splitting code/data ([#6968](https://github.com/openethereum/openethereum/pull/6968))
- Make CLI arguments parsing more backwards compatible ([#7004](https://github.com/paritytech/parity/pull/7004))
- Skip nonce check for gas estimation ([#6997](https://github.com/paritytech/parity/pull/6997))
- Events in WASM runtime ([#6967](https://github.com/paritytech/parity/pull/6967))
- Return decoded seal fields. ([#6932](https://github.com/paritytech/parity/pull/6932))
- Fix serialization of status in transaction receipts. ([#6926](https://github.com/paritytech/parity/pull/6926))
- Windows fixes ([#6921](https://github.com/paritytech/parity/pull/6921))
- Disallow built-in multi-sig deploy (only watch) ([#7014](https://github.com/paritytech/parity/pull/7014))
- Add hint in ActionParams for splitting code/data ([#6968](https://github.com/paritytech/parity/pull/6968))
- Action params and embedded params handling
- Fix name-spaces
## Parity [v1.8.2](https://github.com/openethereum/openethereum/releases/tag/v1.8.2) (2017-10-26)
## Parity [v1.8.2](https://github.com/paritytech/parity/releases/tag/v1.8.2) (2017-10-26)
Parity 1.8.2 fixes an important potential consensus issue and a few additional minor issues:
@@ -317,21 +317,21 @@ Parity 1.8.2 fixes an important potential consensus issue and a few additional m
The full list of included changes:
- Beta Backports ([#6891](https://github.com/openethereum/openethereum/pull/6891))
- Beta Backports ([#6891](https://github.com/paritytech/parity/pull/6891))
- Bump to v1.8.2
- Refactor static context check in CREATE. ([#6886](https://github.com/openethereum/openethereum/pull/6886))
- Refactor static context check in CREATE. ([#6886](https://github.com/paritytech/parity/pull/6886))
- Refactor static context check in CREATE.
- Fix wasm.
- Fix serialization of non-localized transactions ([#6868](https://github.com/openethereum/openethereum/pull/6868))
- Fix serialization of non-localized transactions ([#6868](https://github.com/paritytech/parity/pull/6868))
- Fix serialization of non-localized transactions.
- Return proper SignedTransactions representation.
- Allow force sealing and reseal=0 for non-dev chains. ([#6878](https://github.com/openethereum/openethereum/pull/6878))
- Allow force sealing and reseal=0 for non-dev chains. ([#6878](https://github.com/paritytech/parity/pull/6878))
## Parity [v1.8.1](https://github.com/openethereum/openethereum/releases/tag/v1.8.1) (2017-10-20)
## Parity [v1.8.1](https://github.com/paritytech/parity/releases/tag/v1.8.1) (2017-10-20)
Parity 1.8.1 fixes several bugs with token balances, tweaks snapshot-sync, improves the performance of nodes with huge amounts of accounts and changes the Trezor account derivation path.
**Important Note**: The **Trezor** account derivation path was changed in this release ([#6815](https://github.com/openethereum/openethereum/pull/6815)) to always use the first account (`m/44'/60'/0'/0/0` instead of `m/44'/60'/0'/0`). This way we enable compatibility with other Ethereum wallets supporting Trezor hardware-wallets. However, **action is required** before upgrading, if you have funds on your Parity Trezor wallet. If you already upgraded to 1.8.1, please downgrade to 1.8.0 first to recover the funds with the following steps:
**Important Note**: The **Trezor** account derivation path was changed in this release ([#6815](https://github.com/paritytech/parity/pull/6815)) to always use the first account (`m/44'/60'/0'/0/0` instead of `m/44'/60'/0'/0`). This way we enable compatibility with other Ethereum wallets supporting Trezor hardware-wallets. However, **action is required** before upgrading, if you have funds on your Parity Trezor wallet. If you already upgraded to 1.8.1, please downgrade to 1.8.0 first to recover the funds with the following steps:
1. Make sure you have 1.8.0-beta and your Trezor plugged in.
2. Create a new standard Parity account. Make sure you have backups of the recovery phrase and don't forget the password.
@@ -344,17 +344,17 @@ If you don't want to downgrade or move your funds off your Trezor-device, you ca
The full list of included changes:
- Add ECIP1017 to Morden config ([#6845](https://github.com/openethereum/openethereum/pull/6845))
- Ethstore optimizations ([#6844](https://github.com/openethereum/openethereum/pull/6844))
- Bumb to v1.8.1 ([#6843](https://github.com/openethereum/openethereum/pull/6843))
- Backport ([#6837](https://github.com/openethereum/openethereum/pull/6837))
- Tweaked snapshot sync threshold ([#6829](https://github.com/openethereum/openethereum/pull/6829))
- Change keypath derivation logic ([#6815](https://github.com/openethereum/openethereum/pull/6815))
- Refresh cached tokens based on registry info & random balances ([#6824](https://github.com/openethereum/openethereum/pull/6824))
- Refresh cached tokens based on registry info & random balances ([#6818](https://github.com/openethereum/openethereum/pull/6818))
- Add ECIP1017 to Morden config ([#6845](https://github.com/paritytech/parity/pull/6845))
- Ethstore optimizations ([#6844](https://github.com/paritytech/parity/pull/6844))
- Bumb to v1.8.1 ([#6843](https://github.com/paritytech/parity/pull/6843))
- Backport ([#6837](https://github.com/paritytech/parity/pull/6837))
- Tweaked snapshot sync threshold ([#6829](https://github.com/paritytech/parity/pull/6829))
- Change keypath derivation logic ([#6815](https://github.com/paritytech/parity/pull/6815))
- Refresh cached tokens based on registry info & random balances ([#6824](https://github.com/paritytech/parity/pull/6824))
- Refresh cached tokens based on registry info & random balances ([#6818](https://github.com/paritytech/parity/pull/6818))
- Don't display errored token images
## Parity [v1.8.0](https://github.com/openethereum/openethereum/releases/tag/v1.8.0) (2017-10-15)
## Parity [v1.8.0](https://github.com/paritytech/parity/releases/tag/v1.8.0) (2017-10-15)
We are happy to announce our newest Parity 1.8 release. Among others, it enables the following features:
@@ -369,210 +369,210 @@ We are happy to announce our newest Parity 1.8 release. Among others, it enables
Further, users upgrading from 1.7 should acknowledge the following changes:
- The chain-engine was further abstracted and chain-specs need to be upgraded. [#6134](https://github.com/openethereum/openethereum/pull/6134) [#6591](https://github.com/openethereum/openethereum/pull/6591)
- `network_id` was renamed to `chain_id` where applicable. [#6345](https://github.com/openethereum/openethereum/pull/6345)
- `trace_filter` RPC method now comes with pagination. [#6312](https://github.com/openethereum/openethereum/pull/6312)
- Added tracing of rewards on closing blocks. [#6194](https://github.com/openethereum/openethereum/pull/6194)
- The chain-engine was further abstracted and chain-specs need to be upgraded. [#6134](https://github.com/paritytech/parity/pull/6134) [#6591](https://github.com/paritytech/parity/pull/6591)
- `network_id` was renamed to `chain_id` where applicable. [#6345](https://github.com/paritytech/parity/pull/6345)
- `trace_filter` RPC method now comes with pagination. [#6312](https://github.com/paritytech/parity/pull/6312)
- Added tracing of rewards on closing blocks. [#6194](https://github.com/paritytech/parity/pull/6194)
The full list of included changes:
- Updated ethabi to fix auto-update ([#6771](https://github.com/openethereum/openethereum/pull/6771))
- Fixed kovan chain validation ([#6760](https://github.com/openethereum/openethereum/pull/6760))
- Updated ethabi to fix auto-update ([#6771](https://github.com/paritytech/parity/pull/6771))
- Fixed kovan chain validation ([#6760](https://github.com/paritytech/parity/pull/6760))
- Fixed kovan chain validation
- Fork detection
- Fixed typo
- Bumped fork block number for auto-update ([#6755](https://github.com/openethereum/openethereum/pull/6755))
- CLI: Reject invalid argument values rather than ignore them ([#6747](https://github.com/openethereum/openethereum/pull/6747))
- Fixed modexp gas calculation overflow ([#6745](https://github.com/openethereum/openethereum/pull/6745))
- Backport beta - Fixes Badges ([#6732](https://github.com/openethereum/openethereum/pull/6732))
- Fix badges not showing up ([#6730](https://github.com/openethereum/openethereum/pull/6730))
- Bumped fork block number for auto-update ([#6755](https://github.com/paritytech/parity/pull/6755))
- CLI: Reject invalid argument values rather than ignore them ([#6747](https://github.com/paritytech/parity/pull/6747))
- Fixed modexp gas calculation overflow ([#6745](https://github.com/paritytech/parity/pull/6745))
- Backport beta - Fixes Badges ([#6732](https://github.com/paritytech/parity/pull/6732))
- Fix badges not showing up ([#6730](https://github.com/paritytech/parity/pull/6730))
- Always fetch meta data first [badges]
- Bump to v1.8.0 in beta
- Fix tokens and badges ([#6725](https://github.com/openethereum/openethereum/pull/6725))
- Fix tokens and badges ([#6725](https://github.com/paritytech/parity/pull/6725))
- Update new token fetching
- Working Certifications Monitoring
- Update on Certification / Revoke
- Fix none-fetched tokens value display
- Fix tests
- Check vouch status on appId in addition to contentHash ([#6719](https://github.com/openethereum/openethereum/pull/6719))
- Check vouch status on appId in addition to contentHash ([#6719](https://github.com/paritytech/parity/pull/6719))
- Check vouch status on appId in addition to contentHash
- Simplify var expansion
- Prevent going offline when restoring or taking a snapshot [#6694](https://github.com/openethereum/openethereum/pull/6694)
- Graceful exit when invalid CLI flags are passed (#6485) [#6711](https://github.com/openethereum/openethereum/pull/6711)
- Fixed RETURNDATA out of bounds check [#6718](https://github.com/openethereum/openethereum/pull/6718)
- Display vouched overlay on dapps [#6710](https://github.com/openethereum/openethereum/pull/6710)
- Fix gas estimation if `from` is not provided. [#6714](https://github.com/openethereum/openethereum/pull/6714)
- Emulate signer pubsub on public node [#6708](https://github.com/openethereum/openethereum/pull/6708)
- Removes dependency on rustc_serialize (#5988) [#6705](https://github.com/openethereum/openethereum/pull/6705)
- Fixed potential modexp exp len overflow [#6686](https://github.com/openethereum/openethereum/pull/6686)
- Fix asciiToHex for characters < 0x10 [#6702](https://github.com/openethereum/openethereum/pull/6702)
- Fix address input [#6701](https://github.com/openethereum/openethereum/pull/6701)
- Allow signer signing display of markdown [#6707](https://github.com/openethereum/openethereum/pull/6707)
- Fixed build warnings [#6664](https://github.com/openethereum/openethereum/pull/6664)
- Fix warp sync blockers detection [#6691](https://github.com/openethereum/openethereum/pull/6691)
- Difficulty tests [#6687](https://github.com/openethereum/openethereum/pull/6687)
- Separate migrations from util [#6690](https://github.com/openethereum/openethereum/pull/6690)
- Changelog for 1.7.3 [#6678](https://github.com/openethereum/openethereum/pull/6678)
- WASM gas schedule [#6638](https://github.com/openethereum/openethereum/pull/6638)
- Fix wallet view [#6597](https://github.com/openethereum/openethereum/pull/6597)
- Byzantium fork block number [#6660](https://github.com/openethereum/openethereum/pull/6660)
- Fixed RETURNDATA size for built-ins [#6652](https://github.com/openethereum/openethereum/pull/6652)
- Light Client: fetch transactions/receipts by transaction hash [#6641](https://github.com/openethereum/openethereum/pull/6641)
- Add Musicoin and MCIP-3 UBI hardfork. [#6621](https://github.com/openethereum/openethereum/pull/6621)
- fix 1.8 backcompat: revert to manual encoding/decoding of transition proofs [#6665](https://github.com/openethereum/openethereum/pull/6665)
- Tweaked block download timeouts (#6595) [#6655](https://github.com/openethereum/openethereum/pull/6655)
- Renamed RPC receipt statusCode field to status [#6650](https://github.com/openethereum/openethereum/pull/6650)
- SecretStore: session level timeout [#6631](https://github.com/openethereum/openethereum/pull/6631)
- SecretStore: ShareRemove of 'isolated' nodes [#6630](https://github.com/openethereum/openethereum/pull/6630)
- SecretStore: exclusive sessions [#6624](https://github.com/openethereum/openethereum/pull/6624)
- Fixed network protocol version negotiation [#6649](https://github.com/openethereum/openethereum/pull/6649)
- Updated systemd files for linux (Resolves #6592) [#6598](https://github.com/openethereum/openethereum/pull/6598)
- move additional_params to machine, fixes registry on non-ethash chains [#6646](https://github.com/openethereum/openethereum/pull/6646)
- Fix Token Transfer in transaction list [#6589](https://github.com/openethereum/openethereum/pull/6589)
- Update jsonrpc dependencies and rewrite dapps to futures. [#6522](https://github.com/openethereum/openethereum/pull/6522)
- Balance queries implemented in WASM runtime [#6639](https://github.com/openethereum/openethereum/pull/6639)
- Don't expose port 80 for parity anymore [#6633](https://github.com/openethereum/openethereum/pull/6633)
- WASM Runtime refactoring [#6596](https://github.com/openethereum/openethereum/pull/6596)
- Fix compilation [#6625](https://github.com/openethereum/openethereum/pull/6625)
- Downgrade futures to suppress warnings. [#6620](https://github.com/openethereum/openethereum/pull/6620)
- Add pagination for trace_filter rpc method [#6312](https://github.com/openethereum/openethereum/pull/6312)
- Disallow pasting recovery phrases on first run [#6602](https://github.com/openethereum/openethereum/pull/6602)
- fix typo: Unkown => Unknown [#6559](https://github.com/openethereum/openethereum/pull/6559)
- SecretStore: administrative sessions prototypes [#6605](https://github.com/openethereum/openethereum/pull/6605)
- fix parity.io link 404 [#6617](https://github.com/openethereum/openethereum/pull/6617)
- SecretStore: add node to existing session poc + discussion [#6480](https://github.com/openethereum/openethereum/pull/6480)
- Generalize engine trait [#6591](https://github.com/openethereum/openethereum/pull/6591)
- Add RPC eth_chainId for querying the current blockchain chain ID [#6329](https://github.com/openethereum/openethereum/pull/6329)
- Debounce sync status. [#6572](https://github.com/openethereum/openethereum/pull/6572)
- [Public Node] Disable tx scheduling and hardware wallets [#6588](https://github.com/openethereum/openethereum/pull/6588)
- Use memmap for dag cache [#6193](https://github.com/openethereum/openethereum/pull/6193)
- Rename Requests to Batch [#6582](https://github.com/openethereum/openethereum/pull/6582)
- Use host as ws/dapps url if present. [#6566](https://github.com/openethereum/openethereum/pull/6566)
- Sync progress and error handling fixes [#6560](https://github.com/openethereum/openethereum/pull/6560)
- Fixed receipt serialization and RPC [#6555](https://github.com/openethereum/openethereum/pull/6555)
- Fix number of confirmations for transaction [#6552](https://github.com/openethereum/openethereum/pull/6552)
- Fix #6540 [#6556](https://github.com/openethereum/openethereum/pull/6556)
- Fix failing hardware tests [#6553](https://github.com/openethereum/openethereum/pull/6553)
- Required validators >= num owners in Wallet Creation [#6551](https://github.com/openethereum/openethereum/pull/6551)
- Random cleanups / improvements to a state [#6472](https://github.com/openethereum/openethereum/pull/6472)
- Changelog for 1.7.2 [#6363](https://github.com/openethereum/openethereum/pull/6363)
- Ropsten fork [#6533](https://github.com/openethereum/openethereum/pull/6533)
- Byzantium updates [#5855](https://github.com/openethereum/openethereum/pull/5855)
- Fix extension detection [#6452](https://github.com/openethereum/openethereum/pull/6452)
- Downgrade futures to supress warnings [#6521](https://github.com/openethereum/openethereum/pull/6521)
- separate trie from util and make its dependencies into libs [#6478](https://github.com/openethereum/openethereum/pull/6478)
- WASM sha3 test [#6512](https://github.com/openethereum/openethereum/pull/6512)
- Fix broken JavaScript tests [#6498](https://github.com/openethereum/openethereum/pull/6498)
- SecretStore: use random key to encrypt channel + session-level nonce [#6470](https://github.com/openethereum/openethereum/pull/6470)
- Trezor Support [#6403](https://github.com/openethereum/openethereum/pull/6403)
- Fix compiler warning [#6491](https://github.com/openethereum/openethereum/pull/6491)
- Fix typo [#6505](https://github.com/openethereum/openethereum/pull/6505)
- WASM: added math overflow test [#6474](https://github.com/openethereum/openethereum/pull/6474)
- Fix slow balances [#6471](https://github.com/openethereum/openethereum/pull/6471)
- WASM runtime update [#6467](https://github.com/openethereum/openethereum/pull/6467)
- Compatibility with whisper v6 [#6179](https://github.com/openethereum/openethereum/pull/6179)
- light-poa round 2: allow optional casting of engine client to full client [#6468](https://github.com/openethereum/openethereum/pull/6468)
- Moved attributes under docs [#6475](https://github.com/openethereum/openethereum/pull/6475)
- cleanup util dependencies [#6464](https://github.com/openethereum/openethereum/pull/6464)
- removed redundant earlymergedb trace guards [#6463](https://github.com/openethereum/openethereum/pull/6463)
- UtilError utilizes error_chain! [#6461](https://github.com/openethereum/openethereum/pull/6461)
- fixed master [#6465](https://github.com/openethereum/openethereum/pull/6465)
- Refactor and port CLI from Docopt to Clap (#2066) [#6356](https://github.com/openethereum/openethereum/pull/6356)
- Add language selector in production [#6317](https://github.com/openethereum/openethereum/pull/6317)
- eth_call returns output of contract creations [#6420](https://github.com/openethereum/openethereum/pull/6420)
- Refactor: Don't reexport bigint from util [#6459](https://github.com/openethereum/openethereum/pull/6459)
- Transaction permissioning [#6441](https://github.com/openethereum/openethereum/pull/6441)
- Added missing SecretStore tests - signing session [#6411](https://github.com/openethereum/openethereum/pull/6411)
- Light-client sync for contract-based PoA [#6370](https://github.com/openethereum/openethereum/pull/6370)
- triehash is separated from util [#6428](https://github.com/openethereum/openethereum/pull/6428)
- remove re-export of parking_lot in util [#6435](https://github.com/openethereum/openethereum/pull/6435)
- fix modexp bug: return 0 if base is zero [#6424](https://github.com/openethereum/openethereum/pull/6424)
- separate semantic_version from util [#6438](https://github.com/openethereum/openethereum/pull/6438)
- move timer.rs to ethcore [#6437](https://github.com/openethereum/openethereum/pull/6437)
- remove re-export of ansi_term in util [#6433](https://github.com/openethereum/openethereum/pull/6433)
- Pub sub blocks [#6139](https://github.com/openethereum/openethereum/pull/6139)
- replace trait Hashable with fn keccak [#6423](https://github.com/openethereum/openethereum/pull/6423)
- add more hash backward compatibility test for bloom [#6425](https://github.com/openethereum/openethereum/pull/6425)
- remove the redundant hasher in Bloom [#6404](https://github.com/openethereum/openethereum/pull/6404)
- Remove re-export of HeapSizeOf in util (part of #6418) [#6419](https://github.com/openethereum/openethereum/pull/6419)
- Rewards on closing blocks [#6194](https://github.com/openethereum/openethereum/pull/6194)
- ensure balances of constructor accounts are kept [#6413](https://github.com/openethereum/openethereum/pull/6413)
- removed recursion from triedbmut::lookup [#6394](https://github.com/openethereum/openethereum/pull/6394)
- do not activate genesis epoch in immediate transition validator contract [#6349](https://github.com/openethereum/openethereum/pull/6349)
- Use git for the snap version [#6271](https://github.com/openethereum/openethereum/pull/6271)
- Permissioned p2p connections [#6359](https://github.com/openethereum/openethereum/pull/6359)
- Don't accept transactions above block gas limit. [#6408](https://github.com/openethereum/openethereum/pull/6408)
- Fix memory tracing. [#6399](https://github.com/openethereum/openethereum/pull/6399)
- earlydb optimizations [#6393](https://github.com/openethereum/openethereum/pull/6393)
- Optimized PlainHasher hashing. Trie insertions are >15 faster [#6321](https://github.com/openethereum/openethereum/pull/6321)
- Trie optimizations [#6389](https://github.com/openethereum/openethereum/pull/6389)
- small optimizations for triehash [#6392](https://github.com/openethereum/openethereum/pull/6392)
- Bring back IPFS tests. [#6398](https://github.com/openethereum/openethereum/pull/6398)
- Running state test using parity-evm [#6355](https://github.com/openethereum/openethereum/pull/6355)
- Wasm math tests extended [#6354](https://github.com/openethereum/openethereum/pull/6354)
- Expose health status over RPC [#6274](https://github.com/openethereum/openethereum/pull/6274)
- fix bloom bitvecjournal storage allocation [#6390](https://github.com/openethereum/openethereum/pull/6390)
- fixed pending block panic [#6391](https://github.com/openethereum/openethereum/pull/6391)
- Infoline less opaque for UI/visibility [#6364](https://github.com/openethereum/openethereum/pull/6364)
- Fix eth_call. [#6365](https://github.com/openethereum/openethereum/pull/6365)
- updated bigint [#6341](https://github.com/openethereum/openethereum/pull/6341)
- Optimize trie iter by avoiding redundant copying [#6347](https://github.com/openethereum/openethereum/pull/6347)
- Only keep a single rocksdb debug log file [#6346](https://github.com/openethereum/openethereum/pull/6346)
- Tweaked snapshot params [#6344](https://github.com/openethereum/openethereum/pull/6344)
- Rename network_id to chain_id where applicable. [#6345](https://github.com/openethereum/openethereum/pull/6345)
- Itertools are no longer reexported from util, optimized triedb iter [#6322](https://github.com/openethereum/openethereum/pull/6322)
- Better check the created accounts before showing Startup Wizard [#6331](https://github.com/openethereum/openethereum/pull/6331)
- Better error messages for invalid types in RPC [#6311](https://github.com/openethereum/openethereum/pull/6311)
- fix panic in parity-evm json tracer [#6338](https://github.com/openethereum/openethereum/pull/6338)
- WASM math test [#6305](https://github.com/openethereum/openethereum/pull/6305)
- rlp_derive [#6125](https://github.com/openethereum/openethereum/pull/6125)
- Fix --chain parsing in parity-evm. [#6314](https://github.com/openethereum/openethereum/pull/6314)
- Unexpose RPC methods on :8180 [#6295](https://github.com/openethereum/openethereum/pull/6295)
- Ignore errors from dappsUrl when starting UI. [#6296](https://github.com/openethereum/openethereum/pull/6296)
- updated bigint with optimized mul and from_big_indian [#6323](https://github.com/openethereum/openethereum/pull/6323)
- SecretStore: bunch of fixes and improvements [#6168](https://github.com/openethereum/openethereum/pull/6168)
- Master requires rust 1.19 [#6308](https://github.com/openethereum/openethereum/pull/6308)
- Add more descriptive error when signing/decrypting using hw wallet. [#6302](https://github.com/openethereum/openethereum/pull/6302)
- Increase default gas limit for eth_call. [#6299](https://github.com/openethereum/openethereum/pull/6299)
- rust-toolchain file on master [#6266](https://github.com/openethereum/openethereum/pull/6266)
- Migrate wasm-tests to updated runtime [#6278](https://github.com/openethereum/openethereum/pull/6278)
- Extension fixes [#6284](https://github.com/openethereum/openethereum/pull/6284)
- Fix a hash displayed in tooltip when signing arbitrary data [#6283](https://github.com/openethereum/openethereum/pull/6283)
- Time should not contribue to overall status. [#6276](https://github.com/openethereum/openethereum/pull/6276)
- Add --to and --gas-price to evmbin [#6277](https://github.com/openethereum/openethereum/pull/6277)
- Fix dapps CSP when UI is exposed externally [#6178](https://github.com/openethereum/openethereum/pull/6178)
- Add warning to web browser and fix links. [#6232](https://github.com/openethereum/openethereum/pull/6232)
- Update Settings/Proxy view to match entries in proxy.pac [#4771](https://github.com/openethereum/openethereum/pull/4771)
- Dapp refresh [#5752](https://github.com/openethereum/openethereum/pull/5752)
- Add support for ConsenSys multisig wallet [#6153](https://github.com/openethereum/openethereum/pull/6153)
- updated jsonrpc [#6264](https://github.com/openethereum/openethereum/pull/6264)
- SecretStore: encrypt messages using private key from key store [#6146](https://github.com/openethereum/openethereum/pull/6146)
- Wasm storage read test [#6255](https://github.com/openethereum/openethereum/pull/6255)
- propagate stratum submit share error upstream [#6260](https://github.com/openethereum/openethereum/pull/6260)
- Using multiple NTP servers [#6173](https://github.com/openethereum/openethereum/pull/6173)
- Add GitHub issue templates. [#6259](https://github.com/openethereum/openethereum/pull/6259)
- format instant change proofs correctly [#6241](https://github.com/openethereum/openethereum/pull/6241)
- price-info does not depend on util [#6231](https://github.com/openethereum/openethereum/pull/6231)
- native-contracts crate does not depend on util any more [#6233](https://github.com/openethereum/openethereum/pull/6233)
- Bump master to 1.8.0 [#6256](https://github.com/openethereum/openethereum/pull/6256)
- SecretStore: do not cache ACL contract + on-chain key servers configuration [#6107](https://github.com/openethereum/openethereum/pull/6107)
- Fix the README badges [#6229](https://github.com/openethereum/openethereum/pull/6229)
- updated tiny-keccak to 1.3 [#6248](https://github.com/openethereum/openethereum/pull/6248)
- Small grammatical error [#6244](https://github.com/openethereum/openethereum/pull/6244)
- Multi-call RPC [#6195](https://github.com/openethereum/openethereum/pull/6195)
- InstantSeal fix [#6223](https://github.com/openethereum/openethereum/pull/6223)
- Untrusted RLP length overflow check [#6227](https://github.com/openethereum/openethereum/pull/6227)
- Chainspec validation [#6197](https://github.com/openethereum/openethereum/pull/6197)
- Fix cache path when using --base-path [#6212](https://github.com/openethereum/openethereum/pull/6212)
- removed std reexports from util && fixed broken tests [#6187](https://github.com/openethereum/openethereum/pull/6187)
- WASM MVP continued [#6132](https://github.com/openethereum/openethereum/pull/6132)
- Decouple virtual machines [#6184](https://github.com/openethereum/openethereum/pull/6184)
- Realloc test added [#6177](https://github.com/openethereum/openethereum/pull/6177)
- Re-enable wallets, fixed forgetting accounts [#6196](https://github.com/openethereum/openethereum/pull/6196)
- Move more params to the common section. [#6134](https://github.com/openethereum/openethereum/pull/6134)
- Whisper js [#6161](https://github.com/openethereum/openethereum/pull/6161)
- typo in uninstaller [#6185](https://github.com/openethereum/openethereum/pull/6185)
- fix #6052. honor --no-color for signer command [#6100](https://github.com/openethereum/openethereum/pull/6100)
- Refactor --allow-ips to handle custom ip-ranges [#6144](https://github.com/openethereum/openethereum/pull/6144)
- Update Changelog for 1.6.10 and 1.7.0 [#6183](https://github.com/openethereum/openethereum/pull/6183)
- Fix unsoundness in ethash's unsafe code [#6140](https://github.com/openethereum/openethereum/pull/6140)
- Prevent going offline when restoring or taking a snapshot [#6694](https://github.com/paritytech/parity/pull/6694)
- Graceful exit when invalid CLI flags are passed (#6485) [#6711](https://github.com/paritytech/parity/pull/6711)
- Fixed RETURNDATA out of bounds check [#6718](https://github.com/paritytech/parity/pull/6718)
- Display vouched overlay on dapps [#6710](https://github.com/paritytech/parity/pull/6710)
- Fix gas estimation if `from` is not provided. [#6714](https://github.com/paritytech/parity/pull/6714)
- Emulate signer pubsub on public node [#6708](https://github.com/paritytech/parity/pull/6708)
- Removes dependency on rustc_serialize (#5988) [#6705](https://github.com/paritytech/parity/pull/6705)
- Fixed potential modexp exp len overflow [#6686](https://github.com/paritytech/parity/pull/6686)
- Fix asciiToHex for characters < 0x10 [#6702](https://github.com/paritytech/parity/pull/6702)
- Fix address input [#6701](https://github.com/paritytech/parity/pull/6701)
- Allow signer signing display of markdown [#6707](https://github.com/paritytech/parity/pull/6707)
- Fixed build warnings [#6664](https://github.com/paritytech/parity/pull/6664)
- Fix warp sync blockers detection [#6691](https://github.com/paritytech/parity/pull/6691)
- Difficulty tests [#6687](https://github.com/paritytech/parity/pull/6687)
- Separate migrations from util [#6690](https://github.com/paritytech/parity/pull/6690)
- Changelog for 1.7.3 [#6678](https://github.com/paritytech/parity/pull/6678)
- WASM gas schedule [#6638](https://github.com/paritytech/parity/pull/6638)
- Fix wallet view [#6597](https://github.com/paritytech/parity/pull/6597)
- Byzantium fork block number [#6660](https://github.com/paritytech/parity/pull/6660)
- Fixed RETURNDATA size for built-ins [#6652](https://github.com/paritytech/parity/pull/6652)
- Light Client: fetch transactions/receipts by transaction hash [#6641](https://github.com/paritytech/parity/pull/6641)
- Add Musicoin and MCIP-3 UBI hardfork. [#6621](https://github.com/paritytech/parity/pull/6621)
- fix 1.8 backcompat: revert to manual encoding/decoding of transition proofs [#6665](https://github.com/paritytech/parity/pull/6665)
- Tweaked block download timeouts (#6595) [#6655](https://github.com/paritytech/parity/pull/6655)
- Renamed RPC receipt statusCode field to status [#6650](https://github.com/paritytech/parity/pull/6650)
- SecretStore: session level timeout [#6631](https://github.com/paritytech/parity/pull/6631)
- SecretStore: ShareRemove of 'isolated' nodes [#6630](https://github.com/paritytech/parity/pull/6630)
- SecretStore: exclusive sessions [#6624](https://github.com/paritytech/parity/pull/6624)
- Fixed network protocol version negotiation [#6649](https://github.com/paritytech/parity/pull/6649)
- Updated systemd files for linux (Resolves #6592) [#6598](https://github.com/paritytech/parity/pull/6598)
- move additional_params to machine, fixes registry on non-ethash chains [#6646](https://github.com/paritytech/parity/pull/6646)
- Fix Token Transfer in transaction list [#6589](https://github.com/paritytech/parity/pull/6589)
- Update jsonrpc dependencies and rewrite dapps to futures. [#6522](https://github.com/paritytech/parity/pull/6522)
- Balance queries implemented in WASM runtime [#6639](https://github.com/paritytech/parity/pull/6639)
- Don't expose port 80 for parity anymore [#6633](https://github.com/paritytech/parity/pull/6633)
- WASM Runtime refactoring [#6596](https://github.com/paritytech/parity/pull/6596)
- Fix compilation [#6625](https://github.com/paritytech/parity/pull/6625)
- Downgrade futures to suppress warnings. [#6620](https://github.com/paritytech/parity/pull/6620)
- Add pagination for trace_filter rpc method [#6312](https://github.com/paritytech/parity/pull/6312)
- Disallow pasting recovery phrases on first run [#6602](https://github.com/paritytech/parity/pull/6602)
- fix typo: Unkown => Unknown [#6559](https://github.com/paritytech/parity/pull/6559)
- SecretStore: administrative sessions prototypes [#6605](https://github.com/paritytech/parity/pull/6605)
- fix parity.io link 404 [#6617](https://github.com/paritytech/parity/pull/6617)
- SecretStore: add node to existing session poc + discussion [#6480](https://github.com/paritytech/parity/pull/6480)
- Generalize engine trait [#6591](https://github.com/paritytech/parity/pull/6591)
- Add RPC eth_chainId for querying the current blockchain chain ID [#6329](https://github.com/paritytech/parity/pull/6329)
- Debounce sync status. [#6572](https://github.com/paritytech/parity/pull/6572)
- [Public Node] Disable tx scheduling and hardware wallets [#6588](https://github.com/paritytech/parity/pull/6588)
- Use memmap for dag cache [#6193](https://github.com/paritytech/parity/pull/6193)
- Rename Requests to Batch [#6582](https://github.com/paritytech/parity/pull/6582)
- Use host as ws/dapps url if present. [#6566](https://github.com/paritytech/parity/pull/6566)
- Sync progress and error handling fixes [#6560](https://github.com/paritytech/parity/pull/6560)
- Fixed receipt serialization and RPC [#6555](https://github.com/paritytech/parity/pull/6555)
- Fix number of confirmations for transaction [#6552](https://github.com/paritytech/parity/pull/6552)
- Fix #6540 [#6556](https://github.com/paritytech/parity/pull/6556)
- Fix failing hardware tests [#6553](https://github.com/paritytech/parity/pull/6553)
- Required validators >= num owners in Wallet Creation [#6551](https://github.com/paritytech/parity/pull/6551)
- Random cleanups / improvements to a state [#6472](https://github.com/paritytech/parity/pull/6472)
- Changelog for 1.7.2 [#6363](https://github.com/paritytech/parity/pull/6363)
- Ropsten fork [#6533](https://github.com/paritytech/parity/pull/6533)
- Byzantium updates [#5855](https://github.com/paritytech/parity/pull/5855)
- Fix extension detection [#6452](https://github.com/paritytech/parity/pull/6452)
- Downgrade futures to supress warnings [#6521](https://github.com/paritytech/parity/pull/6521)
- separate trie from util and make its dependencies into libs [#6478](https://github.com/paritytech/parity/pull/6478)
- WASM sha3 test [#6512](https://github.com/paritytech/parity/pull/6512)
- Fix broken JavaScript tests [#6498](https://github.com/paritytech/parity/pull/6498)
- SecretStore: use random key to encrypt channel + session-level nonce [#6470](https://github.com/paritytech/parity/pull/6470)
- Trezor Support [#6403](https://github.com/paritytech/parity/pull/6403)
- Fix compiler warning [#6491](https://github.com/paritytech/parity/pull/6491)
- Fix typo [#6505](https://github.com/paritytech/parity/pull/6505)
- WASM: added math overflow test [#6474](https://github.com/paritytech/parity/pull/6474)
- Fix slow balances [#6471](https://github.com/paritytech/parity/pull/6471)
- WASM runtime update [#6467](https://github.com/paritytech/parity/pull/6467)
- Compatibility with whisper v6 [#6179](https://github.com/paritytech/parity/pull/6179)
- light-poa round 2: allow optional casting of engine client to full client [#6468](https://github.com/paritytech/parity/pull/6468)
- Moved attributes under docs [#6475](https://github.com/paritytech/parity/pull/6475)
- cleanup util dependencies [#6464](https://github.com/paritytech/parity/pull/6464)
- removed redundant earlymergedb trace guards [#6463](https://github.com/paritytech/parity/pull/6463)
- UtilError utilizes error_chain! [#6461](https://github.com/paritytech/parity/pull/6461)
- fixed master [#6465](https://github.com/paritytech/parity/pull/6465)
- Refactor and port CLI from Docopt to Clap (#2066) [#6356](https://github.com/paritytech/parity/pull/6356)
- Add language selector in production [#6317](https://github.com/paritytech/parity/pull/6317)
- eth_call returns output of contract creations [#6420](https://github.com/paritytech/parity/pull/6420)
- Refactor: Don't reexport bigint from util [#6459](https://github.com/paritytech/parity/pull/6459)
- Transaction permissioning [#6441](https://github.com/paritytech/parity/pull/6441)
- Added missing SecretStore tests - signing session [#6411](https://github.com/paritytech/parity/pull/6411)
- Light-client sync for contract-based PoA [#6370](https://github.com/paritytech/parity/pull/6370)
- triehash is separated from util [#6428](https://github.com/paritytech/parity/pull/6428)
- remove re-export of parking_lot in util [#6435](https://github.com/paritytech/parity/pull/6435)
- fix modexp bug: return 0 if base is zero [#6424](https://github.com/paritytech/parity/pull/6424)
- separate semantic_version from util [#6438](https://github.com/paritytech/parity/pull/6438)
- move timer.rs to ethcore [#6437](https://github.com/paritytech/parity/pull/6437)
- remove re-export of ansi_term in util [#6433](https://github.com/paritytech/parity/pull/6433)
- Pub sub blocks [#6139](https://github.com/paritytech/parity/pull/6139)
- replace trait Hashable with fn keccak [#6423](https://github.com/paritytech/parity/pull/6423)
- add more hash backward compatibility test for bloom [#6425](https://github.com/paritytech/parity/pull/6425)
- remove the redundant hasher in Bloom [#6404](https://github.com/paritytech/parity/pull/6404)
- Remove re-export of HeapSizeOf in util (part of #6418) [#6419](https://github.com/paritytech/parity/pull/6419)
- Rewards on closing blocks [#6194](https://github.com/paritytech/parity/pull/6194)
- ensure balances of constructor accounts are kept [#6413](https://github.com/paritytech/parity/pull/6413)
- removed recursion from triedbmut::lookup [#6394](https://github.com/paritytech/parity/pull/6394)
- do not activate genesis epoch in immediate transition validator contract [#6349](https://github.com/paritytech/parity/pull/6349)
- Use git for the snap version [#6271](https://github.com/paritytech/parity/pull/6271)
- Permissioned p2p connections [#6359](https://github.com/paritytech/parity/pull/6359)
- Don't accept transactions above block gas limit. [#6408](https://github.com/paritytech/parity/pull/6408)
- Fix memory tracing. [#6399](https://github.com/paritytech/parity/pull/6399)
- earlydb optimizations [#6393](https://github.com/paritytech/parity/pull/6393)
- Optimized PlainHasher hashing. Trie insertions are >15 faster [#6321](https://github.com/paritytech/parity/pull/6321)
- Trie optimizations [#6389](https://github.com/paritytech/parity/pull/6389)
- small optimizations for triehash [#6392](https://github.com/paritytech/parity/pull/6392)
- Bring back IPFS tests. [#6398](https://github.com/paritytech/parity/pull/6398)
- Running state test using parity-evm [#6355](https://github.com/paritytech/parity/pull/6355)
- Wasm math tests extended [#6354](https://github.com/paritytech/parity/pull/6354)
- Expose health status over RPC [#6274](https://github.com/paritytech/parity/pull/6274)
- fix bloom bitvecjournal storage allocation [#6390](https://github.com/paritytech/parity/pull/6390)
- fixed pending block panic [#6391](https://github.com/paritytech/parity/pull/6391)
- Infoline less opaque for UI/visibility [#6364](https://github.com/paritytech/parity/pull/6364)
- Fix eth_call. [#6365](https://github.com/paritytech/parity/pull/6365)
- updated bigint [#6341](https://github.com/paritytech/parity/pull/6341)
- Optimize trie iter by avoiding redundant copying [#6347](https://github.com/paritytech/parity/pull/6347)
- Only keep a single rocksdb debug log file [#6346](https://github.com/paritytech/parity/pull/6346)
- Tweaked snapshot params [#6344](https://github.com/paritytech/parity/pull/6344)
- Rename network_id to chain_id where applicable. [#6345](https://github.com/paritytech/parity/pull/6345)
- Itertools are no longer reexported from util, optimized triedb iter [#6322](https://github.com/paritytech/parity/pull/6322)
- Better check the created accounts before showing Startup Wizard [#6331](https://github.com/paritytech/parity/pull/6331)
- Better error messages for invalid types in RPC [#6311](https://github.com/paritytech/parity/pull/6311)
- fix panic in parity-evm json tracer [#6338](https://github.com/paritytech/parity/pull/6338)
- WASM math test [#6305](https://github.com/paritytech/parity/pull/6305)
- rlp_derive [#6125](https://github.com/paritytech/parity/pull/6125)
- Fix --chain parsing in parity-evm. [#6314](https://github.com/paritytech/parity/pull/6314)
- Unexpose RPC methods on :8180 [#6295](https://github.com/paritytech/parity/pull/6295)
- Ignore errors from dappsUrl when starting UI. [#6296](https://github.com/paritytech/parity/pull/6296)
- updated bigint with optimized mul and from_big_indian [#6323](https://github.com/paritytech/parity/pull/6323)
- SecretStore: bunch of fixes and improvements [#6168](https://github.com/paritytech/parity/pull/6168)
- Master requires rust 1.19 [#6308](https://github.com/paritytech/parity/pull/6308)
- Add more descriptive error when signing/decrypting using hw wallet. [#6302](https://github.com/paritytech/parity/pull/6302)
- Increase default gas limit for eth_call. [#6299](https://github.com/paritytech/parity/pull/6299)
- rust-toolchain file on master [#6266](https://github.com/paritytech/parity/pull/6266)
- Migrate wasm-tests to updated runtime [#6278](https://github.com/paritytech/parity/pull/6278)
- Extension fixes [#6284](https://github.com/paritytech/parity/pull/6284)
- Fix a hash displayed in tooltip when signing arbitrary data [#6283](https://github.com/paritytech/parity/pull/6283)
- Time should not contribue to overall status. [#6276](https://github.com/paritytech/parity/pull/6276)
- Add --to and --gas-price to evmbin [#6277](https://github.com/paritytech/parity/pull/6277)
- Fix dapps CSP when UI is exposed externally [#6178](https://github.com/paritytech/parity/pull/6178)
- Add warning to web browser and fix links. [#6232](https://github.com/paritytech/parity/pull/6232)
- Update Settings/Proxy view to match entries in proxy.pac [#4771](https://github.com/paritytech/parity/pull/4771)
- Dapp refresh [#5752](https://github.com/paritytech/parity/pull/5752)
- Add support for ConsenSys multisig wallet [#6153](https://github.com/paritytech/parity/pull/6153)
- updated jsonrpc [#6264](https://github.com/paritytech/parity/pull/6264)
- SecretStore: encrypt messages using private key from key store [#6146](https://github.com/paritytech/parity/pull/6146)
- Wasm storage read test [#6255](https://github.com/paritytech/parity/pull/6255)
- propagate stratum submit share error upstream [#6260](https://github.com/paritytech/parity/pull/6260)
- Using multiple NTP servers [#6173](https://github.com/paritytech/parity/pull/6173)
- Add GitHub issue templates. [#6259](https://github.com/paritytech/parity/pull/6259)
- format instant change proofs correctly [#6241](https://github.com/paritytech/parity/pull/6241)
- price-info does not depend on util [#6231](https://github.com/paritytech/parity/pull/6231)
- native-contracts crate does not depend on util any more [#6233](https://github.com/paritytech/parity/pull/6233)
- Bump master to 1.8.0 [#6256](https://github.com/paritytech/parity/pull/6256)
- SecretStore: do not cache ACL contract + on-chain key servers configuration [#6107](https://github.com/paritytech/parity/pull/6107)
- Fix the README badges [#6229](https://github.com/paritytech/parity/pull/6229)
- updated tiny-keccak to 1.3 [#6248](https://github.com/paritytech/parity/pull/6248)
- Small grammatical error [#6244](https://github.com/paritytech/parity/pull/6244)
- Multi-call RPC [#6195](https://github.com/paritytech/parity/pull/6195)
- InstantSeal fix [#6223](https://github.com/paritytech/parity/pull/6223)
- Untrusted RLP length overflow check [#6227](https://github.com/paritytech/parity/pull/6227)
- Chainspec validation [#6197](https://github.com/paritytech/parity/pull/6197)
- Fix cache path when using --base-path [#6212](https://github.com/paritytech/parity/pull/6212)
- removed std reexports from util && fixed broken tests [#6187](https://github.com/paritytech/parity/pull/6187)
- WASM MVP continued [#6132](https://github.com/paritytech/parity/pull/6132)
- Decouple virtual machines [#6184](https://github.com/paritytech/parity/pull/6184)
- Realloc test added [#6177](https://github.com/paritytech/parity/pull/6177)
- Re-enable wallets, fixed forgetting accounts [#6196](https://github.com/paritytech/parity/pull/6196)
- Move more params to the common section. [#6134](https://github.com/paritytech/parity/pull/6134)
- Whisper js [#6161](https://github.com/paritytech/parity/pull/6161)
- typo in uninstaller [#6185](https://github.com/paritytech/parity/pull/6185)
- fix #6052. honor --no-color for signer command [#6100](https://github.com/paritytech/parity/pull/6100)
- Refactor --allow-ips to handle custom ip-ranges [#6144](https://github.com/paritytech/parity/pull/6144)
- Update Changelog for 1.6.10 and 1.7.0 [#6183](https://github.com/paritytech/parity/pull/6183)
- Fix unsoundness in ethash's unsafe code [#6140](https://github.com/paritytech/parity/pull/6140)

View File

@@ -1,59 +1,59 @@
Note: Parity 1.9 reached End-of-Life on 2018-05-09 (EOL).
## Parity [v1.9.7](https://github.com/openethereum/openethereum/releases/tag/v1.9.7) (2018-04-23)
## Parity [v1.9.7](https://github.com/paritytech/parity/releases/tag/v1.9.7) (2018-04-23)
Parity 1.9.7 is a bug-fix release to improve performance and stability.
The full list of included changes:
- Update Parity stable to 1.9.7 + Backports ([#8456](https://github.com/openethereum/openethereum/pull/8456))
- Update Parity stable to 1.9.7 + Backports ([#8456](https://github.com/paritytech/parity/pull/8456))
- Update Parity stable to 1.9.7
- Allow 32-bit pipelines to fail ([#8454](https://github.com/openethereum/openethereum/pull/8454))
- Allow 32-bit pipelines to fail ([#8454](https://github.com/paritytech/parity/pull/8454))
- Disable 32-bit targets for Gitlab
- Rename Linux pipelines
- Update wasmi ([#8452](https://github.com/openethereum/openethereum/pull/8452))
- Update wasmi ([#8452](https://github.com/paritytech/parity/pull/8452))
- Revert Cargo lock update from master
- Fix Cargo.lock
- Backports ([#8449](https://github.com/openethereum/openethereum/pull/8449))
- Use forked app_dirs crate for reverted Windows dir behavior ([#8438](https://github.com/openethereum/openethereum/pull/8438))
- Backports ([#8449](https://github.com/paritytech/parity/pull/8449))
- Use forked app_dirs crate for reverted Windows dir behavior ([#8438](https://github.com/paritytech/parity/pull/8438))
- Remove unused app_dirs dependency in CLI
- Use forked app_dirs crate for reverted Windows dir behavior
- Remove Tendermint extra_info due to seal inconsistencies ([#8367](https://github.com/openethereum/openethereum/pull/8367))
- Improve VM executor stack size estimation rules ([#8439](https://github.com/openethereum/openethereum/pull/8439))
- Remove Tendermint extra_info due to seal inconsistencies ([#8367](https://github.com/paritytech/parity/pull/8367))
- Improve VM executor stack size estimation rules ([#8439](https://github.com/paritytech/parity/pull/8439))
- Improve VM executor stack size estimation rules
- Typo: docs add "(Debug build)" comment
- Fix an off by one typo and set minimal stack size
- Use saturating_sub to avoid potential overflow
- Upgrade crossbeam to 0.3
## Parity [v1.9.6](https://github.com/openethereum/openethereum/releases/tag/v1.9.6) (2018-04-16)
## Parity [v1.9.6](https://github.com/paritytech/parity/releases/tag/v1.9.6) (2018-04-16)
Parity 1.9.6 is a bug-fix release to improve performance and stability.
The full list of included changes:
- Bump app_dirs, fixes [#8315](https://github.com/openethereum/openethereum/issues/8315) ([#8355](https://github.com/openethereum/openethereum/pull/8355))
- Bump app_dirs, fixes [#8315](https://github.com/paritytech/parity/issues/8315) ([#8355](https://github.com/paritytech/parity/pull/8355))
- Fix Cargo lock
- Backports ([#8352](https://github.com/openethereum/openethereum/pull/8352))
- Update musicoin spec in line with gmc v2.6.2 ([#8242](https://github.com/openethereum/openethereum/pull/8242))
- Supress TemporaryInvalid verification failures. ([#8256](https://github.com/openethereum/openethereum/pull/8256))
- Include suicided accounts in state diff ([#8297](https://github.com/openethereum/openethereum/pull/8297))
- Backports ([#8352](https://github.com/paritytech/parity/pull/8352))
- Update musicoin spec in line with gmc v2.6.2 ([#8242](https://github.com/paritytech/parity/pull/8242))
- Supress TemporaryInvalid verification failures. ([#8256](https://github.com/paritytech/parity/pull/8256))
- Include suicided accounts in state diff ([#8297](https://github.com/paritytech/parity/pull/8297))
- Include suicided accounts in state diff
- Shorten form match -> if let
- Test suicide trace diff in State
- Replace_home for password_files, reserved_peers and log_file ([#8324](https://github.com/openethereum/openethereum/pull/8324))
- Replace_home for password_files, reserved_peers and log_file ([#8324](https://github.com/paritytech/parity/pull/8324))
- Replace_home for password_files, reserved_peers and log_file
- Typo: arg_log_file is Option
- Bump version in util/version
- Bump stable to 1.9.6 ([#8348](https://github.com/openethereum/openethereum/pull/8348))
- WASM libraries bump ([#8219](https://github.com/openethereum/openethereum/pull/8219))
- Bump wasm libs ([#8171](https://github.com/openethereum/openethereum/pull/8171))
- Bump wasmi version ([#8209](https://github.com/openethereum/openethereum/pull/8209))
- Updated jsonrpc to include latest backports (1.9) ([#8182](https://github.com/openethereum/openethereum/pull/8182))
- Bump stable to 1.9.6 ([#8348](https://github.com/paritytech/parity/pull/8348))
- WASM libraries bump ([#8219](https://github.com/paritytech/parity/pull/8219))
- Bump wasm libs ([#8171](https://github.com/paritytech/parity/pull/8171))
- Bump wasmi version ([#8209](https://github.com/paritytech/parity/pull/8209))
- Updated jsonrpc to include latest backports (1.9) ([#8182](https://github.com/paritytech/parity/pull/8182))
- Updated jsonrpc to include latest backports (1.9)
- Update dependencies.
## Parity [v1.9.5](https://github.com/openethereum/openethereum/releases/tag/v1.9.5) (2018-03-21)
## Parity [v1.9.5](https://github.com/paritytech/parity/releases/tag/v1.9.5) (2018-03-21)
Parity 1.9.5 is a bug-fix release to improve performance and stability. This release marks the 1.9 track _stable_.
@@ -63,38 +63,38 @@ The full list of included changes:
- Do a meaningful commit that does not contain the words "ci" or "skip"
- Triggering build for stable.
- Postpone Kovan hard fork ([#8137](https://github.com/openethereum/openethereum/pull/8137)) ([#8152](https://github.com/openethereum/openethereum/pull/8152))
- Postpone Kovan hard fork ([#8137](https://github.com/openethereum/openethereum/pull/8137))
- Postpone Kovan hard fork ([#8137](https://github.com/paritytech/parity/pull/8137)) ([#8152](https://github.com/paritytech/parity/pull/8152))
- Postpone Kovan hard fork ([#8137](https://github.com/paritytech/parity/pull/8137))
- ethcore: postpone Kovan hard fork
- util: update version fork metadata
- WASM libraries bump ([#7970](https://github.com/openethereum/openethereum/pull/7970))
- WASM libraries bump ([#7970](https://github.com/paritytech/parity/pull/7970))
- update wasmi, parity-wasm, wasm-utils to latest version
- Update to new wasmi & error handling
- also utilize new stack limiter
- fix typo
- replace dependency url
- Cargo.lock update
- Fix scripts. Force JS rebuild. ([#8144](https://github.com/openethereum/openethereum/pull/8144))
- Stable Backports ([#8133](https://github.com/openethereum/openethereum/pull/8133))
- updater: apply exponential backoff after download failure ([#8059](https://github.com/openethereum/openethereum/pull/8059))
- Fix scripts. Force JS rebuild. ([#8144](https://github.com/paritytech/parity/pull/8144))
- Stable Backports ([#8133](https://github.com/paritytech/parity/pull/8133))
- updater: apply exponential backoff after download failure ([#8059](https://github.com/paritytech/parity/pull/8059))
- updater: apply exponential backoff after download failure
- updater: reset backoff on new release
- Limit incoming connections. ([#8060](https://github.com/openethereum/openethereum/pull/8060))
- Limit incoming connections. ([#8060](https://github.com/paritytech/parity/pull/8060))
- Limit ingress connections
- Optimized handshakes logging
- Max code size on Kovan ([#8067](https://github.com/openethereum/openethereum/pull/8067))
- Max code size on Kovan ([#8067](https://github.com/paritytech/parity/pull/8067))
- Enable code size limit on kovan
- Fix formatting.
- add some dos protection ([#8084](https://github.com/openethereum/openethereum/pull/8084))
- more dos protection ([#8104](https://github.com/openethereum/openethereum/pull/8104))
- Const time comparison ([#8113](https://github.com/openethereum/openethereum/pull/8113))
- add some dos protection ([#8084](https://github.com/paritytech/parity/pull/8084))
- more dos protection ([#8104](https://github.com/paritytech/parity/pull/8104))
- Const time comparison ([#8113](https://github.com/paritytech/parity/pull/8113))
- Use `subtle::slices_equal` for constant time comparison.
- Also update the existing version of subtle in `ethcrypto` from
- 0.1 to 0.5
- Test specifically for InvalidPassword error.
- revert removing blooms ([#8066](https://github.com/openethereum/openethereum/pull/8066))
- Revert "fix traces, removed bloomchain crate, closes [#7228](https://github.com/openethereum/openethereum/pull/7228), closes [#7167](https://github.com/openethereum/openethereum/pull/7167)"
- Revert "fixed broken logs ([#7934](https://github.com/openethereum/openethereum/pull/7934))"
- revert removing blooms ([#8066](https://github.com/paritytech/parity/pull/8066))
- Revert "fix traces, removed bloomchain crate, closes [#7228](https://github.com/paritytech/parity/pull/7228), closes [#7167](https://github.com/paritytech/parity/pull/7167)"
- Revert "fixed broken logs ([#7934](https://github.com/paritytech/parity/pull/7934))"
- fixed broken logs
- bring back old lock order
- remove migration v13
@@ -105,16 +105,16 @@ The full list of included changes:
- Fix blooms?
- Fix tests compiilation.
- Fix size.
- Check one step deeper if we're on release track branches ([#8134](https://github.com/openethereum/openethereum/pull/8134)) ([#8140](https://github.com/openethereum/openethereum/pull/8140))
- Trigger js build. ([#8121](https://github.com/openethereum/openethereum/pull/8121))
- Stable backports ([#8055](https://github.com/openethereum/openethereum/pull/8055))
- CI: Fix cargo cache ([#7968](https://github.com/openethereum/openethereum/pull/7968))
- Check one step deeper if we're on release track branches ([#8134](https://github.com/paritytech/parity/pull/8134)) ([#8140](https://github.com/paritytech/parity/pull/8140))
- Trigger js build. ([#8121](https://github.com/paritytech/parity/pull/8121))
- Stable backports ([#8055](https://github.com/paritytech/parity/pull/8055))
- CI: Fix cargo cache ([#7968](https://github.com/paritytech/parity/pull/7968))
- Fix cache
Blocking waiting for file lock on the registry index
- Only clean locked cargo cache on windows
- fixed ethstore sign ([#8026](https://github.com/openethereum/openethereum/pull/8026))
- fix cache & snapcraft CI build ([#8052](https://github.com/openethereum/openethereum/pull/8052))
- Add MCIP-6 Byzyantium transition to Musicoin spec ([#7841](https://github.com/openethereum/openethereum/pull/7841))
- fixed ethstore sign ([#8026](https://github.com/paritytech/parity/pull/8026))
- fix cache & snapcraft CI build ([#8052](https://github.com/paritytech/parity/pull/8052))
- Add MCIP-6 Byzyantium transition to Musicoin spec ([#7841](https://github.com/paritytech/parity/pull/7841))
- Add test chain spec for musicoin byzantium testnet
- Add MCIP-6 Byzyantium transition to Musicoin spec
- Update mcip6_byz.json
@@ -122,93 +122,93 @@ Blocking waiting for file lock on the registry index
- ethcore: update musicoin bootnodes
- Update musicoin.json
- More bootnodes.
- Optimize JS build ([#8093](https://github.com/openethereum/openethereum/pull/8093))
- Optimize JS build ([#8093](https://github.com/paritytech/parity/pull/8093))
- Extract common chunks plugin.
- Fix common CSS.
- Fix js push for stable.
- Remove arguments to getPlugins.
- Stable Backports ([#8058](https://github.com/openethereum/openethereum/pull/8058))
- fixed parsing ethash seals and verify_block_undordered ([#8031](https://github.com/openethereum/openethereum/pull/8031))
- fix for verify_block_basic crashing on invalid transaction rlp ([#8032](https://github.com/openethereum/openethereum/pull/8032))
- Make 1.9 stable ([#8023](https://github.com/openethereum/openethereum/pull/8023))
- Stable Backports ([#8058](https://github.com/paritytech/parity/pull/8058))
- fixed parsing ethash seals and verify_block_undordered ([#8031](https://github.com/paritytech/parity/pull/8031))
- fix for verify_block_basic crashing on invalid transaction rlp ([#8032](https://github.com/paritytech/parity/pull/8032))
- Make 1.9 stable ([#8023](https://github.com/paritytech/parity/pull/8023))
- Make 1.9 stable
- Bump stable to 1.9.5
- Fix gitlab builds
## Parity [v1.9.4](https://github.com/openethereum/openethereum/releases/tag/v1.9.4) (2018-03-01)
## Parity [v1.9.4](https://github.com/paritytech/parity/releases/tag/v1.9.4) (2018-03-01)
Parity 1.9.4 is a bug-fix release to improve performance and stability.
The full list of included changes:
- Bump beta to 1.9.4 ([#8016](https://github.com/openethereum/openethereum/pull/8016))
- Beta Backports ([#8011](https://github.com/openethereum/openethereum/pull/8011))
- Fix traces, removed bloomchain crate ([#7979](https://github.com/openethereum/openethereum/pull/7979))
- Reject too large packets in snapshot sync. ([#7977](https://github.com/openethereum/openethereum/pull/7977))
- Fixed broken logs ([#7934](https://github.com/openethereum/openethereum/pull/7934))
- Increase max download limit to 128MB ([#7965](https://github.com/openethereum/openethereum/pull/7965))
- Calculate proper keccak256/sha3 using parity. ([#7953](https://github.com/openethereum/openethereum/pull/7953))
- Bump WebSockets ([#7952](https://github.com/openethereum/openethereum/pull/7952))
- Hardware-wallet/usb-subscribe-refactor ([#7860](https://github.com/openethereum/openethereum/pull/7860))
- Make block generator easier to use ([#7888](https://github.com/openethereum/openethereum/pull/7888))
- Bump beta to 1.9.4 ([#8016](https://github.com/paritytech/parity/pull/8016))
- Beta Backports ([#8011](https://github.com/paritytech/parity/pull/8011))
- Fix traces, removed bloomchain crate ([#7979](https://github.com/paritytech/parity/pull/7979))
- Reject too large packets in snapshot sync. ([#7977](https://github.com/paritytech/parity/pull/7977))
- Fixed broken logs ([#7934](https://github.com/paritytech/parity/pull/7934))
- Increase max download limit to 128MB ([#7965](https://github.com/paritytech/parity/pull/7965))
- Calculate proper keccak256/sha3 using parity. ([#7953](https://github.com/paritytech/parity/pull/7953))
- Bump WebSockets ([#7952](https://github.com/paritytech/parity/pull/7952))
- Hardware-wallet/usb-subscribe-refactor ([#7860](https://github.com/paritytech/parity/pull/7860))
- Make block generator easier to use ([#7888](https://github.com/paritytech/parity/pull/7888))
## Parity [v1.9.3](https://github.com/openethereum/openethereum/releases/tag/v1.9.3) (2018-02-20)
## Parity [v1.9.3](https://github.com/paritytech/parity/releases/tag/v1.9.3) (2018-02-20)
Parity 1.9.3 is a bug-fix release to improve performance and stability.
The full list of included changes:
- Backports ([#7945](https://github.com/openethereum/openethereum/pull/7945))
- ECIP 1041 - Remove Difficulty Bomb ([#7905](https://github.com/openethereum/openethereum/pull/7905))
- spec: Validate required divisor fields are not 0 ([#7933](https://github.com/openethereum/openethereum/pull/7933))
- Kovan WASM fork code ([#7849](https://github.com/openethereum/openethereum/pull/7849))
- Gitlab Cargo Cache ([#7944](https://github.com/openethereum/openethereum/pull/7944))
- Bump react-qr-reader ([#7943](https://github.com/openethereum/openethereum/pull/7943))
- Backports ([#7945](https://github.com/paritytech/parity/pull/7945))
- ECIP 1041 - Remove Difficulty Bomb ([#7905](https://github.com/paritytech/parity/pull/7905))
- spec: Validate required divisor fields are not 0 ([#7933](https://github.com/paritytech/parity/pull/7933))
- Kovan WASM fork code ([#7849](https://github.com/paritytech/parity/pull/7849))
- Gitlab Cargo Cache ([#7944](https://github.com/paritytech/parity/pull/7944))
- Bump react-qr-reader ([#7943](https://github.com/paritytech/parity/pull/7943))
- Update react-qr-reader
- Explicit webrtc-adapter dependency (package-lock workaround)
- Iframe with allow (QR, new Chrome policy)
- Backport of [#7844](https://github.com/openethereum/openethereum/pull/7844) and [#7917](https://github.com/openethereum/openethereum/pull/7917) to beta ([#7940](https://github.com/openethereum/openethereum/pull/7940))
- Backport of [#7844](https://github.com/paritytech/parity/pull/7844) and [#7917](https://github.com/paritytech/parity/pull/7917) to beta ([#7940](https://github.com/paritytech/parity/pull/7940))
- Randomize the peer we dispatch to
- Fix a division by zero in light client RPC handler
- Wallet allowJsEval: true ([#7913](https://github.com/openethereum/openethereum/pull/7913))
- Wallet allowJsEval: true ([#7913](https://github.com/paritytech/parity/pull/7913))
- Wallet allowJsEval: true
- Fix unsafe wallet.
- Enable unsafe-eval for all dapps.
- Fix CSP for dapps that require eval. ([#7867](https://github.com/openethereum/openethereum/pull/7867)) ([#7903](https://github.com/openethereum/openethereum/pull/7903))
- Fix CSP for dapps that require eval. ([#7867](https://github.com/paritytech/parity/pull/7867)) ([#7903](https://github.com/paritytech/parity/pull/7903))
- Add allowJsEval to manifest.
- Enable 'unsafe-eval' if requested in manifest.
- Fix snap build beta ([#7895](https://github.com/openethereum/openethereum/pull/7895))
- Fix snapcraft grade to stable ([#7894](https://github.com/openethereum/openethereum/pull/7894))
- Backport Master CI PRs to Beta ([#7890](https://github.com/openethereum/openethereum/pull/7890))
- Add binary identifiers and sha256sum to builds ([#7830](https://github.com/openethereum/openethereum/pull/7830))
- Fix checksums and auto-update push ([#7846](https://github.com/openethereum/openethereum/pull/7846))
- Update gitlab-build.sh ([#7855](https://github.com/openethereum/openethereum/pull/7855))
- Fix installer binary names for macos and windows ([#7881](https://github.com/openethereum/openethereum/pull/7881))
- Update gitlab-test.sh ([#7883](https://github.com/openethereum/openethereum/pull/7883))
- Fix snapcraft nightly ([#7884](https://github.com/openethereum/openethereum/pull/7884))
- Backport Core PRs to beta ([#7891](https://github.com/openethereum/openethereum/pull/7891))
- Update back-references more aggressively after answering from cache ([#7578](https://github.com/openethereum/openethereum/pull/7578))
- Updated WASM Runtime & new interpreter (wasmi) ([#7796](https://github.com/openethereum/openethereum/pull/7796))
- Adjust storage update evm-style ([#7812](https://github.com/openethereum/openethereum/pull/7812))
- Add new EF ropstens nodes ([#7824](https://github.com/openethereum/openethereum/pull/7824))
- Store updater metadata in a single place ([#7832](https://github.com/openethereum/openethereum/pull/7832))
- WASM: Disable internal memory ([#7842](https://github.com/openethereum/openethereum/pull/7842))
- Add a timeout for light client sync requests ([#7848](https://github.com/openethereum/openethereum/pull/7848))
- Flush keyfiles. Resolves [#7632](https://github.com/openethereum/openethereum/issues/7632) ([#7868](https://github.com/openethereum/openethereum/pull/7868))
- Fix wallet import ([#7873](https://github.com/openethereum/openethereum/pull/7873))
- Fix snap build beta ([#7895](https://github.com/paritytech/parity/pull/7895))
- Fix snapcraft grade to stable ([#7894](https://github.com/paritytech/parity/pull/7894))
- Backport Master CI PRs to Beta ([#7890](https://github.com/paritytech/parity/pull/7890))
- Add binary identifiers and sha256sum to builds ([#7830](https://github.com/paritytech/parity/pull/7830))
- Fix checksums and auto-update push ([#7846](https://github.com/paritytech/parity/pull/7846))
- Update gitlab-build.sh ([#7855](https://github.com/paritytech/parity/pull/7855))
- Fix installer binary names for macos and windows ([#7881](https://github.com/paritytech/parity/pull/7881))
- Update gitlab-test.sh ([#7883](https://github.com/paritytech/parity/pull/7883))
- Fix snapcraft nightly ([#7884](https://github.com/paritytech/parity/pull/7884))
- Backport Core PRs to beta ([#7891](https://github.com/paritytech/parity/pull/7891))
- Update back-references more aggressively after answering from cache ([#7578](https://github.com/paritytech/parity/pull/7578))
- Updated WASM Runtime & new interpreter (wasmi) ([#7796](https://github.com/paritytech/parity/pull/7796))
- Adjust storage update evm-style ([#7812](https://github.com/paritytech/parity/pull/7812))
- Add new EF ropstens nodes ([#7824](https://github.com/paritytech/parity/pull/7824))
- Store updater metadata in a single place ([#7832](https://github.com/paritytech/parity/pull/7832))
- WASM: Disable internal memory ([#7842](https://github.com/paritytech/parity/pull/7842))
- Add a timeout for light client sync requests ([#7848](https://github.com/paritytech/parity/pull/7848))
- Flush keyfiles. Resolves [#7632](https://github.com/paritytech/parity/issues/7632) ([#7868](https://github.com/paritytech/parity/pull/7868))
- Fix wallet import ([#7873](https://github.com/paritytech/parity/pull/7873))
## Parity [v1.9.2](https://github.com/openethereum/openethereum/releases/tag/v1.9.2) (2018-02-02)
## Parity [v1.9.2](https://github.com/paritytech/parity/releases/tag/v1.9.2) (2018-02-02)
Parity 1.9.2 is a bug-fix release to improve performance and stability. It adds additional bootnodes for the Ropsten test network.
The full list of included changes:
- Backports beta ([#7780](https://github.com/openethereum/openethereum/pull/7780))
- Backports beta ([#7780](https://github.com/paritytech/parity/pull/7780))
- Bump beta to 1.9.2
- Update ropsten.json ([#7776](https://github.com/openethereum/openethereum/pull/7776))
- Update ropsten.json ([#7776](https://github.com/paritytech/parity/pull/7776))
- Snapcraft push beta
## Parity [v1.9.1](https://github.com/openethereum/openethereum/releases/tag/v1.9.1) (2018-02-01)
## Parity [v1.9.1](https://github.com/paritytech/parity/releases/tag/v1.9.1) (2018-02-01)
Parity 1.9.1 is a bug-fix release to improve performance and stability. It restores ERC-20 token balances, improves networking, fixes database corruptions on client shutdown, and fixes issues with the `--password` command-line flag. Happy syncing, fellow Ethereans!
@@ -216,60 +216,60 @@ In addition, this stabilizes Kovan and other Proof-of-Authority networks. If you
The full list of included changes:
- Beta Backports ([#7756](https://github.com/openethereum/openethereum/pull/7756))
- Filter-out nodes.json ([#7716](https://github.com/openethereum/openethereum/pull/7716))
- Beta Backports ([#7756](https://github.com/paritytech/parity/pull/7756))
- Filter-out nodes.json ([#7716](https://github.com/paritytech/parity/pull/7716))
- Filter-out nodes.json
- network: sort node table nodes by failure ratio
- network: fix node table tests
- network: fit node failure percentage into buckets of 5%
- network: consider number of attempts in sorting of node table
- network: fix node table grumbles
- Fix client not being dropped on shutdown ([#7695](https://github.com/openethereum/openethereum/pull/7695))
- Fix client not being dropped on shutdown ([#7695](https://github.com/paritytech/parity/pull/7695))
- parity: wait for client to drop on shutdown
- parity: fix grumbles in shutdown wait
- parity: increase shutdown timeouts
- Wrap --help output to 120 characters ([#7626](https://github.com/openethereum/openethereum/pull/7626))
- Wrap --help output to 120 characters ([#7626](https://github.com/paritytech/parity/pull/7626))
- Update Clap dependency and remove workarounds
- WIP
- Remove line breaks in help messages for now
- Multiple values can only be separated by commas (closes [#7428](https://github.com/openethereum/openethereum/issues/7428))
- Multiple values can only be separated by commas (closes [#7428](https://github.com/paritytech/parity/issues/7428))
- Grumbles; refactor repeating code; add constant
- Use a single Wrapper rather than allocate a new one for each call
- Wrap --help to 120 characters rather than 100 characte
- Token filter balances (throttle) ([#7742](https://github.com/openethereum/openethereum/pull/7742))
- Token filter balances (throttle) ([#7742](https://github.com/paritytech/parity/pull/7742))
- Token filter balances (throttle)
- Cleanups
- Remove unused uniq
- Update @parity/shared to 2.2.23
- Remove unused code paths
- Bump beta to 1.9.1 ([#7751](https://github.com/openethereum/openethereum/pull/7751))
- Explicitly add branch name ([#7754](https://github.com/openethereum/openethereum/pull/7754))
- Bump beta to 1.9.1 ([#7751](https://github.com/paritytech/parity/pull/7751))
- Explicitly add branch name ([#7754](https://github.com/paritytech/parity/pull/7754))
- Explicitly add branch name
- Fix cargo update branch to beta
- Revert revert revert ([#7715](https://github.com/openethereum/openethereum/pull/7715))
- Revert revert revert ([#7715](https://github.com/paritytech/parity/pull/7715))
- This reverts commit 568dc33.
## Parity [v1.9.0](https://github.com/openethereum/openethereum/releases/tag/v1.9.0) "Velocity" (2018-01-25)
## Parity [v1.9.0](https://github.com/paritytech/parity/releases/tag/v1.9.0) "Velocity" (2018-01-25)
We are happy to announce our newest Parity 1.9 release. Among others, it enables the following features:
- It integrates the fully reworked Parity Wallet and DApps browser (a.k.a. "UI 2.0", [#6819](https://github.com/openethereum/openethereum/pull/6819)).
- It enables devp2p snappy compression ([#6683](https://github.com/openethereum/openethereum/pull/6683)).
- AuRa Proof-of-Authority chains now disable uncles by default ([#7006](https://github.com/openethereum/openethereum/pull/7006)). Existing PoA chains can go through a "maximum uncle count transition" to achieve more stability ([#7196](https://github.com/openethereum/openethereum/pull/7196)).
- Added Expanse's Byzantium hard-fork ([#7463](https://github.com/openethereum/openethereum/pull/7463)).
- Added support for Ellaism chain ([#7222](https://github.com/openethereum/openethereum/pull/7222)).
- It integrates the fully reworked Parity Wallet and DApps browser (a.k.a. "UI 2.0", [#6819](https://github.com/paritytech/parity/pull/6819)).
- It enables devp2p snappy compression ([#6683](https://github.com/paritytech/parity/pull/6683)).
- AuRa Proof-of-Authority chains now disable uncles by default ([#7006](https://github.com/paritytech/parity/pull/7006)). Existing PoA chains can go through a "maximum uncle count transition" to achieve more stability ([#7196](https://github.com/paritytech/parity/pull/7196)).
- Added Expanse's Byzantium hard-fork ([#7463](https://github.com/paritytech/parity/pull/7463)).
- Added support for Ellaism chain ([#7222](https://github.com/paritytech/parity/pull/7222)).
Further, users upgrading from 1.8 should acknowledge the following changes:
- Fixed DELEGATECALL's from/to field ([#7568](https://github.com/openethereum/openethereum/pull/7568)).
- Set zero nonce and gas price for calls by default ([#6954](https://github.com/openethereum/openethereum/pull/6954)).
- Create pending blocks with all transactions from the queue ([#6942](https://github.com/openethereum/openethereum/pull/6942)).
- Remove RPC parameter leniency now that Mist formats correctly ([#6651](https://github.com/openethereum/openethereum/pull/6651)). Parity stops accepting decimal-formatted block numbers and stops parsing the empty string as empty bytes.
- Fixed DELEGATECALL's from/to field ([#7568](https://github.com/paritytech/parity/pull/7568)).
- Set zero nonce and gas price for calls by default ([#6954](https://github.com/paritytech/parity/pull/6954)).
- Create pending blocks with all transactions from the queue ([#6942](https://github.com/paritytech/parity/pull/6942)).
- Remove RPC parameter leniency now that Mist formats correctly ([#6651](https://github.com/paritytech/parity/pull/6651)). Parity stops accepting decimal-formatted block numbers and stops parsing the empty string as empty bytes.
- Public nodes do not support the user interface anymore. If you are running a public node, please stay on the 1.8 branch of the stable releases.
Additional noteworthy changes:
- `ethstore` and `ethkey` have been significantly improved ([#6961](https://github.com/openethereum/openethereum/pull/6961)):
- `ethstore` and `ethkey` have been significantly improved ([#6961](https://github.com/paritytech/parity/pull/6961)):
- `ethstore` now supports brute forcing pre-sale wallets given a password list for recovery.
- `ethkey` now supports multi-threaded generation of prefix-matching addresses.
- `ethkey` now supports prefix-matching brain wallets.
@@ -279,255 +279,255 @@ Read more about Parity 1.9 in our [blog post](http://paritytech.io/velocity-the-
The full list of included changes:
- Add scroll when when too many accounts ([#7677](https://github.com/openethereum/openethereum/pull/7677)) ([#7679](https://github.com/openethereum/openethereum/pull/7679))
- Add scroll when when too many accounts ([#7677](https://github.com/paritytech/parity/pull/7677)) ([#7679](https://github.com/paritytech/parity/pull/7679))
- Update installer.nsi
- Fix conditions in gitlab-test ([#7676](https://github.com/openethereum/openethereum/pull/7676))
- Fix conditions in gitlab-test ([#7676](https://github.com/paritytech/parity/pull/7676))
- Fix conditions in gitlab-test
- Update gitlab-test.sh
- Remove cargo cache
- Backports to beta ([#7660](https://github.com/openethereum/openethereum/pull/7660))
- Improve handling of RocksDB corruption ([#7630](https://github.com/openethereum/openethereum/pull/7630))
- Backports to beta ([#7660](https://github.com/paritytech/parity/pull/7660))
- Improve handling of RocksDB corruption ([#7630](https://github.com/paritytech/parity/pull/7630))
- Kvdb-rocksdb: update rust-rocksdb version
- Kvdb-rocksdb: mark corruptions and attempt repair on db open
- Kvdb-rocksdb: better corruption detection on open
- Kvdb-rocksdb: add corruption_file_name const
- Kvdb-rocksdb: rename mark_corruption to check_for_corruption
- Hardening of CSP ([#7621](https://github.com/openethereum/openethereum/pull/7621))
- Fixed delegatecall's from/to ([#7568](https://github.com/openethereum/openethereum/pull/7568))
- Fixed delegatecall's from/to, closes [#7166](https://github.com/openethereum/openethereum/issues/7166)
- Added tests for delegatecall traces, [#7167](https://github.com/openethereum/openethereum/issues/7167)
- Light client RPCs ([#7603](https://github.com/openethereum/openethereum/pull/7603))
- Hardening of CSP ([#7621](https://github.com/paritytech/parity/pull/7621))
- Fixed delegatecall's from/to ([#7568](https://github.com/paritytech/parity/pull/7568))
- Fixed delegatecall's from/to, closes [#7166](https://github.com/paritytech/parity/issues/7166)
- Added tests for delegatecall traces, [#7167](https://github.com/paritytech/parity/issues/7167)
- Light client RPCs ([#7603](https://github.com/paritytech/parity/pull/7603))
- Implement registrar.
- Implement eth_getCode
- Don't wait for providers.
- Don't wait for providers.
- Fix linting and wasm tests.
- Problem: AttachedProtocols don't get registered ([#7610](https://github.com/openethereum/openethereum/pull/7610))
- Fix Temporarily Invalid blocks handling ([#7613](https://github.com/openethereum/openethereum/pull/7613))
- Problem: AttachedProtocols don't get registered ([#7610](https://github.com/paritytech/parity/pull/7610))
- Fix Temporarily Invalid blocks handling ([#7613](https://github.com/paritytech/parity/pull/7613))
- Handle temporarily invalid blocks in sync.
- Fix tests.
- Add docker build for beta ([#7671](https://github.com/openethereum/openethereum/pull/7671))
- Add docker build for beta ([#7671](https://github.com/paritytech/parity/pull/7671))
- Add docker build for beta
- Add cargo cache
- Fix snapcraft build for beta ([#7670](https://github.com/openethereum/openethereum/pull/7670))
- Fix snapcraft build for beta ([#7670](https://github.com/paritytech/parity/pull/7670))
- Update Parity.pkgproj
- update gitlab build from master
- Update references to dapp sources ([#7634](https://github.com/openethereum/openethereum/pull/7634)) ([#7636](https://github.com/openethereum/openethereum/pull/7636))
- Update tokenreg ([#7618](https://github.com/openethereum/openethereum/pull/7618)) ([#7619](https://github.com/openethereum/openethereum/pull/7619))
- Fix cache:key ([#7598](https://github.com/openethereum/openethereum/pull/7598))
- Make 1.9 beta ([#7533](https://github.com/openethereum/openethereum/pull/7533))
- Trigger js-precompiled ([#7535](https://github.com/openethereum/openethereum/pull/7535))
- RocksDB fix ([#7512](https://github.com/openethereum/openethereum/pull/7512))
- Update js-api ([#7510](https://github.com/openethereum/openethereum/pull/7510))
- Expose default gas price percentile configuration in CLI ([#7497](https://github.com/openethereum/openethereum/pull/7497))
- Use https connection ([#7503](https://github.com/openethereum/openethereum/pull/7503))
- More thorough changes detection ([#7472](https://github.com/openethereum/openethereum/pull/7472))
- Fix small layout issues ([#7500](https://github.com/openethereum/openethereum/pull/7500))
- Show all accounts on Topbar ([#7498](https://github.com/openethereum/openethereum/pull/7498))
- Update Parity Mainnet Bootnodes ([#7476](https://github.com/openethereum/openethereum/pull/7476))
- Fixed panic when io is not available for export block ([#7495](https://github.com/openethereum/openethereum/pull/7495))
- Advance AuRa step as far as we can and prevent invalid blocks. ([#7451](https://github.com/openethereum/openethereum/pull/7451))
- Update package-lock in js-old ([#7494](https://github.com/openethereum/openethereum/pull/7494))
- Update issue template and readme ([#7450](https://github.com/openethereum/openethereum/pull/7450))
- Update package-lock.json pinned versions ([#7492](https://github.com/openethereum/openethereum/pull/7492))
- Explicit pre-precompiled push checkout ([#7474](https://github.com/openethereum/openethereum/pull/7474))
- Trigger js-precompiled ([#7473](https://github.com/openethereum/openethereum/pull/7473))
- Expanse Byzantium update w/ correct metropolis difficulty increment divisor ([#7463](https://github.com/openethereum/openethereum/pull/7463))
- Updated icons ([#7469](https://github.com/openethereum/openethereum/pull/7469))
- Cleanup certifications ([#7454](https://github.com/openethereum/openethereum/pull/7454))
- Fix css lint (updated stylelint) ([#7471](https://github.com/openethereum/openethereum/pull/7471))
- Upgrade markdown-loader & marked ([#7467](https://github.com/openethereum/openethereum/pull/7467))
- Remove JS test for removed code ([#7461](https://github.com/openethereum/openethereum/pull/7461))
- Pull in dapp-status ([#7457](https://github.com/openethereum/openethereum/pull/7457))
- Bump openssl crate ([#7455](https://github.com/openethereum/openethereum/pull/7455))
- Signer updates from global Redux state ([#7452](https://github.com/openethereum/openethereum/pull/7452))
- Remove expanse chain ([#7437](https://github.com/openethereum/openethereum/pull/7437))
- Store tokens with repeatable id ([#7435](https://github.com/openethereum/openethereum/pull/7435))
- Strict config parsing ([#7433](https://github.com/openethereum/openethereum/pull/7433))
- Upgrade to RocksDB 5.8.8 and tune settings to reduce space amplification ([#7348](https://github.com/openethereum/openethereum/pull/7348))
- Fix status layout ([#7432](https://github.com/openethereum/openethereum/pull/7432))
- Fix tracing failed calls. ([#7412](https://github.com/openethereum/openethereum/pull/7412))
- Problem: sending any Whisper message fails ([#7421](https://github.com/openethereum/openethereum/pull/7421))
- Wait for future blocks in AuRa ([#7368](https://github.com/openethereum/openethereum/pull/7368))
- Fix final feature. ([#7426](https://github.com/openethereum/openethereum/pull/7426))
- Use RwLock for state DB ([#7425](https://github.com/openethereum/openethereum/pull/7425))
- Update branding on UI ([#7370](https://github.com/openethereum/openethereum/pull/7370))
- Changelog for 1.8.5 and 1.7.11 ([#7401](https://github.com/openethereum/openethereum/pull/7401))
- Added checking tx-type using transactions permission contract for miners ([#7359](https://github.com/openethereum/openethereum/pull/7359))
- Standalone dir crate, replaces [#7383](https://github.com/openethereum/openethereum/issues/7383) ([#7409](https://github.com/openethereum/openethereum/pull/7409))
- SecretStore: secretstore_signRawHash method ([#7336](https://github.com/openethereum/openethereum/pull/7336))
- SecretStore: return error 404 when there's no key shares for given key on all nodes ([#7331](https://github.com/openethereum/openethereum/pull/7331))
- SecretStore: PoA integration initial version ([#7101](https://github.com/openethereum/openethereum/pull/7101))
- Update bootnodes ([#7363](https://github.com/openethereum/openethereum/pull/7363))
- Fix default CORS settings. ([#7387](https://github.com/openethereum/openethereum/pull/7387))
- Fix version ([#7390](https://github.com/openethereum/openethereum/pull/7390))
- Wasm runtime update ([#7356](https://github.com/openethereum/openethereum/pull/7356))
- Parity-version pr reopen ([#7136](https://github.com/openethereum/openethereum/pull/7136))
- Get rid of clippy remainings. ([#7355](https://github.com/openethereum/openethereum/pull/7355))
- Avoid using ok_or with allocated argument ([#7357](https://github.com/openethereum/openethereum/pull/7357))
- Make accounts refresh time configurable. ([#7345](https://github.com/openethereum/openethereum/pull/7345))
- Enable traces for DEV chain ([#7327](https://github.com/openethereum/openethereum/pull/7327))
- Problem: AuRa's unsafeties around step duration ([#7282](https://github.com/openethereum/openethereum/pull/7282))
- Problem: Cargo.toml file contains [project] key ([#7346](https://github.com/openethereum/openethereum/pull/7346))
- Fix broken flex modal layouts ([#7343](https://github.com/openethereum/openethereum/pull/7343))
- Fix dappIcon & Fix Signer Pending ([#7338](https://github.com/openethereum/openethereum/pull/7338))
- Fix wallet token/badge icons not showing up ([#7333](https://github.com/openethereum/openethereum/pull/7333))
- Add Ellaism coin in chain config ([#7222](https://github.com/openethereum/openethereum/pull/7222))
- Update bootnodes ([#7296](https://github.com/openethereum/openethereum/pull/7296))
- Adds `personal_signTransaction` RPC method ([#6991](https://github.com/openethereum/openethereum/pull/6991))
- Fix double initialization of embeded providers. ([#7326](https://github.com/openethereum/openethereum/pull/7326))
- Transaction Pool re-implementation ([#6994](https://github.com/openethereum/openethereum/pull/6994))
- UI package bump ([#7318](https://github.com/openethereum/openethereum/pull/7318))
- Test framework and basic test for whisper ([#7011](https://github.com/openethereum/openethereum/pull/7011))
- CI js-precompiled trigger ([#7316](https://github.com/openethereum/openethereum/pull/7316))
- Fix inject.js & Signer store duplication ([#7299](https://github.com/openethereum/openethereum/pull/7299))
- Detect different node, same-key signing in aura ([#7245](https://github.com/openethereum/openethereum/pull/7245))
- New warp enodes ([#7287](https://github.com/openethereum/openethereum/pull/7287))
- CSS fixes for v1 ([#7285](https://github.com/openethereum/openethereum/pull/7285))
- Wallet subscriptions & refresh ([#7283](https://github.com/openethereum/openethereum/pull/7283))
- Update inject web3 dependencies ([#7286](https://github.com/openethereum/openethereum/pull/7286))
- Some padding around dapp image ([#7276](https://github.com/openethereum/openethereum/pull/7276))
- Expand available middleware methods ([#7275](https://github.com/openethereum/openethereum/pull/7275))
- Inject parity script to all dapps // Expand dapps to any ZIP file ([#7260](https://github.com/openethereum/openethereum/pull/7260))
- New Homepage ([#7266](https://github.com/openethereum/openethereum/pull/7266))
- Update kovan HF block number. ([#7259](https://github.com/openethereum/openethereum/pull/7259))
- CHANGELOG for 1.7.10 and 1.8.4 ([#7265](https://github.com/openethereum/openethereum/pull/7265))
- Remove extraneous id hashing ([#7269](https://github.com/openethereum/openethereum/pull/7269))
- Simplify status + content display overlaps/page fixing ([#7264](https://github.com/openethereum/openethereum/pull/7264))
- UI redirect to 127.0.0.1 when localhost requested ([#7236](https://github.com/openethereum/openethereum/pull/7236))
- Usability improvements to security token Dialog [#7112](https://github.com/openethereum/openethereum/issues/7112) ([#7134](https://github.com/openethereum/openethereum/pull/7134))
- Don't display unneeded notifications ([#7237](https://github.com/openethereum/openethereum/pull/7237))
- Reduce max block timestamp drift to 15 seconds ([#7240](https://github.com/openethereum/openethereum/pull/7240))
- Increase allowed time drift to 10s. ([#7238](https://github.com/openethereum/openethereum/pull/7238))
- Improve building from source ([#7239](https://github.com/openethereum/openethereum/pull/7239))
- Fix/Update method permissions ([#7233](https://github.com/openethereum/openethereum/pull/7233))
- Fix aura difficulty race ([#7198](https://github.com/openethereum/openethereum/pull/7198))
- Dependency updates ([#7226](https://github.com/openethereum/openethereum/pull/7226))
- Display all dapps (shell) & wallet tabs (v1) by default ([#7213](https://github.com/openethereum/openethereum/pull/7213))
- Rework dapps list ([#7206](https://github.com/openethereum/openethereum/pull/7206))
- Add contributing guidelines and code of conduct. ([#7157](https://github.com/openethereum/openethereum/pull/7157))
- Make Signing Requests more visible ([#7204](https://github.com/openethereum/openethereum/pull/7204))
- Send each log as a separate notification ([#7175](https://github.com/openethereum/openethereum/pull/7175))
- Deleting a mistake comment in calc difficulty ([#7154](https://github.com/openethereum/openethereum/pull/7154))
- Maximum uncle count transition ([#7196](https://github.com/openethereum/openethereum/pull/7196))
- Update FirstRun for UI-2 ([#7195](https://github.com/openethereum/openethereum/pull/7195))
- Update mocha import stubs ([#7191](https://github.com/openethereum/openethereum/pull/7191))
- Escape inifinite loop in estimte_gas ([#7075](https://github.com/openethereum/openethereum/pull/7075))
- New account selector UI in top bar ([#7179](https://github.com/openethereum/openethereum/pull/7179))
- Removed ethcore-util dependency from ethcore-network ([#7180](https://github.com/openethereum/openethereum/pull/7180))
- WASM test runner utility upgrade ([#7147](https://github.com/openethereum/openethereum/pull/7147))
- React 16 ([#7174](https://github.com/openethereum/openethereum/pull/7174))
- Assorted improvements for ethstore and ethkey ([#6961](https://github.com/openethereum/openethereum/pull/6961))
- Delete unused package.json (dist bundles) ([#7173](https://github.com/openethereum/openethereum/pull/7173))
- Remove *.css.map & *.js.map ([#7168](https://github.com/openethereum/openethereum/pull/7168))
- Use git flag to remove old js artifacts ([#7165](https://github.com/openethereum/openethereum/pull/7165))
- Cleanup JS build artifacts ([#7164](https://github.com/openethereum/openethereum/pull/7164))
- Fixes typo in user config path ([#7159](https://github.com/openethereum/openethereum/pull/7159))
- Pull in new dapp-{methods,visible} dapps ([#7150](https://github.com/openethereum/openethereum/pull/7150))
- WASM test runner utility ([#7142](https://github.com/openethereum/openethereum/pull/7142))
- WASM Remove blockhash error ([#7121](https://github.com/openethereum/openethereum/pull/7121))
- ECIP-1039: Monetary policy rounding specification ([#7067](https://github.com/openethereum/openethereum/pull/7067))
- Fixed `RotatingLogger` after migrating to new arrayvec ([#7129](https://github.com/openethereum/openethereum/pull/7129))
- Push to correct shell branch ([#7135](https://github.com/openethereum/openethereum/pull/7135))
- Update js-precompiled ref, trigger JS build ([#7132](https://github.com/openethereum/openethereum/pull/7132))
- Fixed build && test ([#7128](https://github.com/openethereum/openethereum/pull/7128))
- Update packages, pull in compiled-only repos ([#7125](https://github.com/openethereum/openethereum/pull/7125))
- Cleanup top bar, add Home icon for navigation ([#7118](https://github.com/openethereum/openethereum/pull/7118))
- WASM storage_read and storage_write don't return anything ([#7110](https://github.com/openethereum/openethereum/pull/7110))
- Local dapp development URL ([#7100](https://github.com/openethereum/openethereum/pull/7100))
- Remove unused and duplicated files in js-old ([#7082](https://github.com/openethereum/openethereum/pull/7082))
- Optimize & group dapp requests ([#7083](https://github.com/openethereum/openethereum/pull/7083))
- WASM parse payload from panics ([#7097](https://github.com/openethereum/openethereum/pull/7097))
- Fix no-default-features. ([#7096](https://github.com/openethereum/openethereum/pull/7096))
- Updated eth-secp256k1 ([#7090](https://github.com/openethereum/openethereum/pull/7090))
- Improve Github Issue Template ([#7099](https://github.com/openethereum/openethereum/pull/7099))
- Changes necessary to upload crates to crates.io ([#7020](https://github.com/openethereum/openethereum/pull/7020))
- Reopened 6860 - iterate over both buffered and unbuffered database entries ([#7048](https://github.com/openethereum/openethereum/pull/7048))
- SecretStore: servers set change session api ([#6925](https://github.com/openethereum/openethereum/pull/6925))
- Disable uncles by default ([#7006](https://github.com/openethereum/openethereum/pull/7006))
- Squashed ethcore-network changes which introduce error-chain ([#7040](https://github.com/openethereum/openethereum/pull/7040))
- Removed redundant imports ([#7057](https://github.com/openethereum/openethereum/pull/7057))
- CHANGELOG for 1.7.8, 1.7.9, 1.8.2, and 1.8.3 ([#7055](https://github.com/openethereum/openethereum/pull/7055))
- Properly display Signer errors (Snackbar display popup) ([#7053](https://github.com/openethereum/openethereum/pull/7053))
- Add the desktop file for the snap ([#7059](https://github.com/openethereum/openethereum/pull/7059))
- Small performance gain in allocations ([#7054](https://github.com/openethereum/openethereum/pull/7054))
- Bump JSON-RPC version ([#7051](https://github.com/openethereum/openethereum/pull/7051))
- Fix nonce reservation ([#7025](https://github.com/openethereum/openethereum/pull/7025))
- Fixed ethstore-cli output ([#7052](https://github.com/openethereum/openethereum/pull/7052))
- Add mui for embed compilation ([#7049](https://github.com/openethereum/openethereum/pull/7049))
- Update the snap metadata to keep working strictly confined ([#6993](https://github.com/openethereum/openethereum/pull/6993))
- Remove unused js packages (dapp cleanups) ([#7046](https://github.com/openethereum/openethereum/pull/7046))
- Gitlog location update ([#7042](https://github.com/openethereum/openethereum/pull/7042))
- Move git logging to .git-release.log ([#7041](https://github.com/openethereum/openethereum/pull/7041))
- Start from rust root in release update step ([#7039](https://github.com/openethereum/openethereum/pull/7039))
- Complete token merge, remove unused files ([#7037](https://github.com/openethereum/openethereum/pull/7037))
- Add missing cargo-push.sh shell variable ([#7036](https://github.com/openethereum/openethereum/pull/7036))
- Fix npm start script ([#7034](https://github.com/openethereum/openethereum/pull/7034))
- Update executable flags on release scripts ([#7035](https://github.com/openethereum/openethereum/pull/7035))
- Fix v1 precompiled ([#7033](https://github.com/openethereum/openethereum/pull/7033))
- Push precompiled to correct branch (v1) ([#7031](https://github.com/openethereum/openethereum/pull/7031))
- Update v1 Wallet Dapp ([#6935](https://github.com/openethereum/openethereum/pull/6935))
- WASM tests update ([#7018](https://github.com/openethereum/openethereum/pull/7018))
- Events in WASM runtime ([#6967](https://github.com/openethereum/openethereum/pull/6967))
- Adds validate_node_url() and refactors boot node check ([#6907](https://github.com/openethereum/openethereum/pull/6907)) ([#6970](https://github.com/openethereum/openethereum/pull/6970))
- Fix windows build (with ui rebuild) ([#7016](https://github.com/openethereum/openethereum/pull/7016))
- Make CLI arguments parsing more backwards compatible ([#7004](https://github.com/openethereum/openethereum/pull/7004))
- Fixes for parity-extension ([#6990](https://github.com/openethereum/openethereum/pull/6990))
- Update ethcore-bigint ([#6992](https://github.com/openethereum/openethereum/pull/6992))
- Get local transactions by hash in the light client ([#6874](https://github.com/openethereum/openethereum/pull/6874))
- Warn when blacklisted account present in store ([#6875](https://github.com/openethereum/openethereum/pull/6875))
- Skip nonce check for gas estimation ([#6997](https://github.com/openethereum/openethereum/pull/6997))
- Creating pending block with all transactions from the queue ([#6942](https://github.com/openethereum/openethereum/pull/6942))
- Removes `MAX_TX_TO_IMPORT` from `ChainSync` ([#6976](https://github.com/openethereum/openethereum/pull/6976))
- SecretStore: versioned keys ([#6910](https://github.com/openethereum/openethereum/pull/6910))
- Removes `FUTURE_QUEUE_LIMITS_SHIFT` ([#6962](https://github.com/openethereum/openethereum/pull/6962))
- Set zero nonce and gas price for calls by default ([#6954](https://github.com/openethereum/openethereum/pull/6954))
- Add hint in ActionParams for splitting code/data ([#6957](https://github.com/openethereum/openethereum/pull/6957))
- Return decoded seal fields. ([#6932](https://github.com/openethereum/openethereum/pull/6932))
- Fix serialization of status in transaction receipts. ([#6926](https://github.com/openethereum/openethereum/pull/6926))
- Reserve nonces for signing ([#6834](https://github.com/openethereum/openethereum/pull/6834))
- Windows fixes ([#6921](https://github.com/openethereum/openethereum/pull/6921))
- Don't add {css,js}.map from dapps ([#6931](https://github.com/openethereum/openethereum/pull/6931))
- Fix JSON tracing for sub-calls. ([#6842](https://github.com/openethereum/openethereum/pull/6842))
- Shell updates (bonds, updated Dapps) ([#6897](https://github.com/openethereum/openethereum/pull/6897))
- Fix [#6228](https://github.com/openethereum/openethereum/issues/6228): do not display eth price in cli for etc ([#6877](https://github.com/openethereum/openethereum/pull/6877))
- Fix mining help ([#6885](https://github.com/openethereum/openethereum/pull/6885))
- Refactor static context check in CREATE. ([#6886](https://github.com/openethereum/openethereum/pull/6886))
- Cleanup some configuration options ([#6878](https://github.com/openethereum/openethereum/pull/6878))
- Fix serialization of non-localized transactions ([#6868](https://github.com/openethereum/openethereum/pull/6868))
- Updated ntp to version 0.3 ([#6854](https://github.com/openethereum/openethereum/pull/6854))
- Align README with 1.8 and prepare CHANGELOG with 1.8.1 ([#6833](https://github.com/openethereum/openethereum/pull/6833))
- Return error on timed unlock ([#6777](https://github.com/openethereum/openethereum/pull/6777))
- Fix dapps tests in master ([#6866](https://github.com/openethereum/openethereum/pull/6866))
- Ethstore optimizations ([#6827](https://github.com/openethereum/openethereum/pull/6827))
- Add ECIP1017 to Morden config ([#6810](https://github.com/openethereum/openethereum/pull/6810))
- Remove all package publishing to npm ([#6838](https://github.com/openethereum/openethereum/pull/6838))
- Util crates use tempdir crate instead of devtools to create temp path ([#6807](https://github.com/openethereum/openethereum/pull/6807))
- Trigger js build ([#6836](https://github.com/openethereum/openethereum/pull/6836))
- Clean-up scripts. ([#6832](https://github.com/openethereum/openethereum/pull/6832))
- Tweaked snapshot sync threshold ([#6829](https://github.com/openethereum/openethereum/pull/6829))
- Integrate UI 2 ([#6819](https://github.com/openethereum/openethereum/pull/6819))
- Refresh cached tokens based on registry info & random balances ([#6818](https://github.com/openethereum/openethereum/pull/6818))
- Change keypath derivation logic ([#6815](https://github.com/openethereum/openethereum/pull/6815))
- Refactors journaldb as a separate crate ([#6801](https://github.com/openethereum/openethereum/pull/6801))
- Trigger UI build. ([#6817](https://github.com/openethereum/openethereum/pull/6817))
- Bumped more crate versions ([#6809](https://github.com/openethereum/openethereum/pull/6809))
- Fix RPC compilation warnings. ([#6808](https://github.com/openethereum/openethereum/pull/6808))
- Remove internal ipc ([#6795](https://github.com/openethereum/openethereum/pull/6795))
- Consistent KeyValueDB errors ([#6792](https://github.com/openethereum/openethereum/pull/6792))
- Squash remaining warnings ([#6789](https://github.com/openethereum/openethereum/pull/6789))
- Forward-port [#6754](https://github.com/openethereum/openethereum/issues/6754) [#6755](https://github.com/openethereum/openethereum/issues/6755) ([#6785](https://github.com/openethereum/openethereum/pull/6785))
- Removed duplicated versions of clippy ([#6776](https://github.com/openethereum/openethereum/pull/6776))
- Updated ethabi to version 4.0 ([#6742](https://github.com/openethereum/openethereum/pull/6742))
- Updated rpc_cli and parity to rpassword 1.0 ([#6774](https://github.com/openethereum/openethereum/pull/6774))
- Fix sign data typo ([#6750](https://github.com/openethereum/openethereum/pull/6750))
- Refactoring/cache 6693 ([#6772](https://github.com/openethereum/openethereum/pull/6772))
- Fix CHANGLOG for 1.8.0 ([#6751](https://github.com/openethereum/openethereum/pull/6751))
- Removes redundant `mut` in service.rs.in ([#6775](https://github.com/openethereum/openethereum/pull/6775))
- Remove redundant `mut` ([#6773](https://github.com/openethereum/openethereum/pull/6773))
- Fixed kovan chain validation ([#6758](https://github.com/openethereum/openethereum/pull/6758))
- Removed redundant evm deps ([#6757](https://github.com/openethereum/openethereum/pull/6757))
- Fixed modexp gas calculation overflow ([#6741](https://github.com/openethereum/openethereum/pull/6741))
- Use cc 1.0 instead of gcc ([#6733](https://github.com/openethereum/openethereum/pull/6733))
- Version bump to 1.9.0 ([#6727](https://github.com/openethereum/openethereum/pull/6727))
- Fix badges not showing up ([#6730](https://github.com/openethereum/openethereum/pull/6730))
- Update references to dapp sources ([#7634](https://github.com/paritytech/parity/pull/7634)) ([#7636](https://github.com/paritytech/parity/pull/7636))
- Update tokenreg ([#7618](https://github.com/paritytech/parity/pull/7618)) ([#7619](https://github.com/paritytech/parity/pull/7619))
- Fix cache:key ([#7598](https://github.com/paritytech/parity/pull/7598))
- Make 1.9 beta ([#7533](https://github.com/paritytech/parity/pull/7533))
- Trigger js-precompiled ([#7535](https://github.com/paritytech/parity/pull/7535))
- RocksDB fix ([#7512](https://github.com/paritytech/parity/pull/7512))
- Update js-api ([#7510](https://github.com/paritytech/parity/pull/7510))
- Expose default gas price percentile configuration in CLI ([#7497](https://github.com/paritytech/parity/pull/7497))
- Use https connection ([#7503](https://github.com/paritytech/parity/pull/7503))
- More thorough changes detection ([#7472](https://github.com/paritytech/parity/pull/7472))
- Fix small layout issues ([#7500](https://github.com/paritytech/parity/pull/7500))
- Show all accounts on Topbar ([#7498](https://github.com/paritytech/parity/pull/7498))
- Update Parity Mainnet Bootnodes ([#7476](https://github.com/paritytech/parity/pull/7476))
- Fixed panic when io is not available for export block ([#7495](https://github.com/paritytech/parity/pull/7495))
- Advance AuRa step as far as we can and prevent invalid blocks. ([#7451](https://github.com/paritytech/parity/pull/7451))
- Update package-lock in js-old ([#7494](https://github.com/paritytech/parity/pull/7494))
- Update issue template and readme ([#7450](https://github.com/paritytech/parity/pull/7450))
- Update package-lock.json pinned versions ([#7492](https://github.com/paritytech/parity/pull/7492))
- Explicit pre-precompiled push checkout ([#7474](https://github.com/paritytech/parity/pull/7474))
- Trigger js-precompiled ([#7473](https://github.com/paritytech/parity/pull/7473))
- Expanse Byzantium update w/ correct metropolis difficulty increment divisor ([#7463](https://github.com/paritytech/parity/pull/7463))
- Updated icons ([#7469](https://github.com/paritytech/parity/pull/7469))
- Cleanup certifications ([#7454](https://github.com/paritytech/parity/pull/7454))
- Fix css lint (updated stylelint) ([#7471](https://github.com/paritytech/parity/pull/7471))
- Upgrade markdown-loader & marked ([#7467](https://github.com/paritytech/parity/pull/7467))
- Remove JS test for removed code ([#7461](https://github.com/paritytech/parity/pull/7461))
- Pull in dapp-status ([#7457](https://github.com/paritytech/parity/pull/7457))
- Bump openssl crate ([#7455](https://github.com/paritytech/parity/pull/7455))
- Signer updates from global Redux state ([#7452](https://github.com/paritytech/parity/pull/7452))
- Remove expanse chain ([#7437](https://github.com/paritytech/parity/pull/7437))
- Store tokens with repeatable id ([#7435](https://github.com/paritytech/parity/pull/7435))
- Strict config parsing ([#7433](https://github.com/paritytech/parity/pull/7433))
- Upgrade to RocksDB 5.8.8 and tune settings to reduce space amplification ([#7348](https://github.com/paritytech/parity/pull/7348))
- Fix status layout ([#7432](https://github.com/paritytech/parity/pull/7432))
- Fix tracing failed calls. ([#7412](https://github.com/paritytech/parity/pull/7412))
- Problem: sending any Whisper message fails ([#7421](https://github.com/paritytech/parity/pull/7421))
- Wait for future blocks in AuRa ([#7368](https://github.com/paritytech/parity/pull/7368))
- Fix final feature. ([#7426](https://github.com/paritytech/parity/pull/7426))
- Use RwLock for state DB ([#7425](https://github.com/paritytech/parity/pull/7425))
- Update branding on UI ([#7370](https://github.com/paritytech/parity/pull/7370))
- Changelog for 1.8.5 and 1.7.11 ([#7401](https://github.com/paritytech/parity/pull/7401))
- Added checking tx-type using transactions permission contract for miners ([#7359](https://github.com/paritytech/parity/pull/7359))
- Standalone dir crate, replaces [#7383](https://github.com/paritytech/parity/issues/7383) ([#7409](https://github.com/paritytech/parity/pull/7409))
- SecretStore: secretstore_signRawHash method ([#7336](https://github.com/paritytech/parity/pull/7336))
- SecretStore: return error 404 when there's no key shares for given key on all nodes ([#7331](https://github.com/paritytech/parity/pull/7331))
- SecretStore: PoA integration initial version ([#7101](https://github.com/paritytech/parity/pull/7101))
- Update bootnodes ([#7363](https://github.com/paritytech/parity/pull/7363))
- Fix default CORS settings. ([#7387](https://github.com/paritytech/parity/pull/7387))
- Fix version ([#7390](https://github.com/paritytech/parity/pull/7390))
- Wasm runtime update ([#7356](https://github.com/paritytech/parity/pull/7356))
- Parity-version pr reopen ([#7136](https://github.com/paritytech/parity/pull/7136))
- Get rid of clippy remainings. ([#7355](https://github.com/paritytech/parity/pull/7355))
- Avoid using ok_or with allocated argument ([#7357](https://github.com/paritytech/parity/pull/7357))
- Make accounts refresh time configurable. ([#7345](https://github.com/paritytech/parity/pull/7345))
- Enable traces for DEV chain ([#7327](https://github.com/paritytech/parity/pull/7327))
- Problem: AuRa's unsafeties around step duration ([#7282](https://github.com/paritytech/parity/pull/7282))
- Problem: Cargo.toml file contains [project] key ([#7346](https://github.com/paritytech/parity/pull/7346))
- Fix broken flex modal layouts ([#7343](https://github.com/paritytech/parity/pull/7343))
- Fix dappIcon & Fix Signer Pending ([#7338](https://github.com/paritytech/parity/pull/7338))
- Fix wallet token/badge icons not showing up ([#7333](https://github.com/paritytech/parity/pull/7333))
- Add Ellaism coin in chain config ([#7222](https://github.com/paritytech/parity/pull/7222))
- Update bootnodes ([#7296](https://github.com/paritytech/parity/pull/7296))
- Adds `personal_signTransaction` RPC method ([#6991](https://github.com/paritytech/parity/pull/6991))
- Fix double initialization of embeded providers. ([#7326](https://github.com/paritytech/parity/pull/7326))
- Transaction Pool re-implementation ([#6994](https://github.com/paritytech/parity/pull/6994))
- UI package bump ([#7318](https://github.com/paritytech/parity/pull/7318))
- Test framework and basic test for whisper ([#7011](https://github.com/paritytech/parity/pull/7011))
- CI js-precompiled trigger ([#7316](https://github.com/paritytech/parity/pull/7316))
- Fix inject.js & Signer store duplication ([#7299](https://github.com/paritytech/parity/pull/7299))
- Detect different node, same-key signing in aura ([#7245](https://github.com/paritytech/parity/pull/7245))
- New warp enodes ([#7287](https://github.com/paritytech/parity/pull/7287))
- CSS fixes for v1 ([#7285](https://github.com/paritytech/parity/pull/7285))
- Wallet subscriptions & refresh ([#7283](https://github.com/paritytech/parity/pull/7283))
- Update inject web3 dependencies ([#7286](https://github.com/paritytech/parity/pull/7286))
- Some padding around dapp image ([#7276](https://github.com/paritytech/parity/pull/7276))
- Expand available middleware methods ([#7275](https://github.com/paritytech/parity/pull/7275))
- Inject parity script to all dapps // Expand dapps to any ZIP file ([#7260](https://github.com/paritytech/parity/pull/7260))
- New Homepage ([#7266](https://github.com/paritytech/parity/pull/7266))
- Update kovan HF block number. ([#7259](https://github.com/paritytech/parity/pull/7259))
- CHANGELOG for 1.7.10 and 1.8.4 ([#7265](https://github.com/paritytech/parity/pull/7265))
- Remove extraneous id hashing ([#7269](https://github.com/paritytech/parity/pull/7269))
- Simplify status + content display overlaps/page fixing ([#7264](https://github.com/paritytech/parity/pull/7264))
- UI redirect to 127.0.0.1 when localhost requested ([#7236](https://github.com/paritytech/parity/pull/7236))
- Usability improvements to security token Dialog [#7112](https://github.com/paritytech/parity/issues/7112) ([#7134](https://github.com/paritytech/parity/pull/7134))
- Don't display unneeded notifications ([#7237](https://github.com/paritytech/parity/pull/7237))
- Reduce max block timestamp drift to 15 seconds ([#7240](https://github.com/paritytech/parity/pull/7240))
- Increase allowed time drift to 10s. ([#7238](https://github.com/paritytech/parity/pull/7238))
- Improve building from source ([#7239](https://github.com/paritytech/parity/pull/7239))
- Fix/Update method permissions ([#7233](https://github.com/paritytech/parity/pull/7233))
- Fix aura difficulty race ([#7198](https://github.com/paritytech/parity/pull/7198))
- Dependency updates ([#7226](https://github.com/paritytech/parity/pull/7226))
- Display all dapps (shell) & wallet tabs (v1) by default ([#7213](https://github.com/paritytech/parity/pull/7213))
- Rework dapps list ([#7206](https://github.com/paritytech/parity/pull/7206))
- Add contributing guidelines and code of conduct. ([#7157](https://github.com/paritytech/parity/pull/7157))
- Make Signing Requests more visible ([#7204](https://github.com/paritytech/parity/pull/7204))
- Send each log as a separate notification ([#7175](https://github.com/paritytech/parity/pull/7175))
- Deleting a mistake comment in calc difficulty ([#7154](https://github.com/paritytech/parity/pull/7154))
- Maximum uncle count transition ([#7196](https://github.com/paritytech/parity/pull/7196))
- Update FirstRun for UI-2 ([#7195](https://github.com/paritytech/parity/pull/7195))
- Update mocha import stubs ([#7191](https://github.com/paritytech/parity/pull/7191))
- Escape inifinite loop in estimte_gas ([#7075](https://github.com/paritytech/parity/pull/7075))
- New account selector UI in top bar ([#7179](https://github.com/paritytech/parity/pull/7179))
- Removed ethcore-util dependency from ethcore-network ([#7180](https://github.com/paritytech/parity/pull/7180))
- WASM test runner utility upgrade ([#7147](https://github.com/paritytech/parity/pull/7147))
- React 16 ([#7174](https://github.com/paritytech/parity/pull/7174))
- Assorted improvements for ethstore and ethkey ([#6961](https://github.com/paritytech/parity/pull/6961))
- Delete unused package.json (dist bundles) ([#7173](https://github.com/paritytech/parity/pull/7173))
- Remove *.css.map & *.js.map ([#7168](https://github.com/paritytech/parity/pull/7168))
- Use git flag to remove old js artifacts ([#7165](https://github.com/paritytech/parity/pull/7165))
- Cleanup JS build artifacts ([#7164](https://github.com/paritytech/parity/pull/7164))
- Fixes typo in user config path ([#7159](https://github.com/paritytech/parity/pull/7159))
- Pull in new dapp-{methods,visible} dapps ([#7150](https://github.com/paritytech/parity/pull/7150))
- WASM test runner utility ([#7142](https://github.com/paritytech/parity/pull/7142))
- WASM Remove blockhash error ([#7121](https://github.com/paritytech/parity/pull/7121))
- ECIP-1039: Monetary policy rounding specification ([#7067](https://github.com/paritytech/parity/pull/7067))
- Fixed `RotatingLogger` after migrating to new arrayvec ([#7129](https://github.com/paritytech/parity/pull/7129))
- Push to correct shell branch ([#7135](https://github.com/paritytech/parity/pull/7135))
- Update js-precompiled ref, trigger JS build ([#7132](https://github.com/paritytech/parity/pull/7132))
- Fixed build && test ([#7128](https://github.com/paritytech/parity/pull/7128))
- Update packages, pull in compiled-only repos ([#7125](https://github.com/paritytech/parity/pull/7125))
- Cleanup top bar, add Home icon for navigation ([#7118](https://github.com/paritytech/parity/pull/7118))
- WASM storage_read and storage_write don't return anything ([#7110](https://github.com/paritytech/parity/pull/7110))
- Local dapp development URL ([#7100](https://github.com/paritytech/parity/pull/7100))
- Remove unused and duplicated files in js-old ([#7082](https://github.com/paritytech/parity/pull/7082))
- Optimize & group dapp requests ([#7083](https://github.com/paritytech/parity/pull/7083))
- WASM parse payload from panics ([#7097](https://github.com/paritytech/parity/pull/7097))
- Fix no-default-features. ([#7096](https://github.com/paritytech/parity/pull/7096))
- Updated eth-secp256k1 ([#7090](https://github.com/paritytech/parity/pull/7090))
- Improve Github Issue Template ([#7099](https://github.com/paritytech/parity/pull/7099))
- Changes necessary to upload crates to crates.io ([#7020](https://github.com/paritytech/parity/pull/7020))
- Reopened 6860 - iterate over both buffered and unbuffered database entries ([#7048](https://github.com/paritytech/parity/pull/7048))
- SecretStore: servers set change session api ([#6925](https://github.com/paritytech/parity/pull/6925))
- Disable uncles by default ([#7006](https://github.com/paritytech/parity/pull/7006))
- Squashed ethcore-network changes which introduce error-chain ([#7040](https://github.com/paritytech/parity/pull/7040))
- Removed redundant imports ([#7057](https://github.com/paritytech/parity/pull/7057))
- CHANGELOG for 1.7.8, 1.7.9, 1.8.2, and 1.8.3 ([#7055](https://github.com/paritytech/parity/pull/7055))
- Properly display Signer errors (Snackbar display popup) ([#7053](https://github.com/paritytech/parity/pull/7053))
- Add the desktop file for the snap ([#7059](https://github.com/paritytech/parity/pull/7059))
- Small performance gain in allocations ([#7054](https://github.com/paritytech/parity/pull/7054))
- Bump JSON-RPC version ([#7051](https://github.com/paritytech/parity/pull/7051))
- Fix nonce reservation ([#7025](https://github.com/paritytech/parity/pull/7025))
- Fixed ethstore-cli output ([#7052](https://github.com/paritytech/parity/pull/7052))
- Add mui for embed compilation ([#7049](https://github.com/paritytech/parity/pull/7049))
- Update the snap metadata to keep working strictly confined ([#6993](https://github.com/paritytech/parity/pull/6993))
- Remove unused js packages (dapp cleanups) ([#7046](https://github.com/paritytech/parity/pull/7046))
- Gitlog location update ([#7042](https://github.com/paritytech/parity/pull/7042))
- Move git logging to .git-release.log ([#7041](https://github.com/paritytech/parity/pull/7041))
- Start from rust root in release update step ([#7039](https://github.com/paritytech/parity/pull/7039))
- Complete token merge, remove unused files ([#7037](https://github.com/paritytech/parity/pull/7037))
- Add missing cargo-push.sh shell variable ([#7036](https://github.com/paritytech/parity/pull/7036))
- Fix npm start script ([#7034](https://github.com/paritytech/parity/pull/7034))
- Update executable flags on release scripts ([#7035](https://github.com/paritytech/parity/pull/7035))
- Fix v1 precompiled ([#7033](https://github.com/paritytech/parity/pull/7033))
- Push precompiled to correct branch (v1) ([#7031](https://github.com/paritytech/parity/pull/7031))
- Update v1 Wallet Dapp ([#6935](https://github.com/paritytech/parity/pull/6935))
- WASM tests update ([#7018](https://github.com/paritytech/parity/pull/7018))
- Events in WASM runtime ([#6967](https://github.com/paritytech/parity/pull/6967))
- Adds validate_node_url() and refactors boot node check ([#6907](https://github.com/paritytech/parity/pull/6907)) ([#6970](https://github.com/paritytech/parity/pull/6970))
- Fix windows build (with ui rebuild) ([#7016](https://github.com/paritytech/parity/pull/7016))
- Make CLI arguments parsing more backwards compatible ([#7004](https://github.com/paritytech/parity/pull/7004))
- Fixes for parity-extension ([#6990](https://github.com/paritytech/parity/pull/6990))
- Update ethcore-bigint ([#6992](https://github.com/paritytech/parity/pull/6992))
- Get local transactions by hash in the light client ([#6874](https://github.com/paritytech/parity/pull/6874))
- Warn when blacklisted account present in store ([#6875](https://github.com/paritytech/parity/pull/6875))
- Skip nonce check for gas estimation ([#6997](https://github.com/paritytech/parity/pull/6997))
- Creating pending block with all transactions from the queue ([#6942](https://github.com/paritytech/parity/pull/6942))
- Removes `MAX_TX_TO_IMPORT` from `ChainSync` ([#6976](https://github.com/paritytech/parity/pull/6976))
- SecretStore: versioned keys ([#6910](https://github.com/paritytech/parity/pull/6910))
- Removes `FUTURE_QUEUE_LIMITS_SHIFT` ([#6962](https://github.com/paritytech/parity/pull/6962))
- Set zero nonce and gas price for calls by default ([#6954](https://github.com/paritytech/parity/pull/6954))
- Add hint in ActionParams for splitting code/data ([#6957](https://github.com/paritytech/parity/pull/6957))
- Return decoded seal fields. ([#6932](https://github.com/paritytech/parity/pull/6932))
- Fix serialization of status in transaction receipts. ([#6926](https://github.com/paritytech/parity/pull/6926))
- Reserve nonces for signing ([#6834](https://github.com/paritytech/parity/pull/6834))
- Windows fixes ([#6921](https://github.com/paritytech/parity/pull/6921))
- Don't add {css,js}.map from dapps ([#6931](https://github.com/paritytech/parity/pull/6931))
- Fix JSON tracing for sub-calls. ([#6842](https://github.com/paritytech/parity/pull/6842))
- Shell updates (bonds, updated Dapps) ([#6897](https://github.com/paritytech/parity/pull/6897))
- Fix [#6228](https://github.com/paritytech/parity/issues/6228): do not display eth price in cli for etc ([#6877](https://github.com/paritytech/parity/pull/6877))
- Fix mining help ([#6885](https://github.com/paritytech/parity/pull/6885))
- Refactor static context check in CREATE. ([#6886](https://github.com/paritytech/parity/pull/6886))
- Cleanup some configuration options ([#6878](https://github.com/paritytech/parity/pull/6878))
- Fix serialization of non-localized transactions ([#6868](https://github.com/paritytech/parity/pull/6868))
- Updated ntp to version 0.3 ([#6854](https://github.com/paritytech/parity/pull/6854))
- Align README with 1.8 and prepare CHANGELOG with 1.8.1 ([#6833](https://github.com/paritytech/parity/pull/6833))
- Return error on timed unlock ([#6777](https://github.com/paritytech/parity/pull/6777))
- Fix dapps tests in master ([#6866](https://github.com/paritytech/parity/pull/6866))
- Ethstore optimizations ([#6827](https://github.com/paritytech/parity/pull/6827))
- Add ECIP1017 to Morden config ([#6810](https://github.com/paritytech/parity/pull/6810))
- Remove all package publishing to npm ([#6838](https://github.com/paritytech/parity/pull/6838))
- Util crates use tempdir crate instead of devtools to create temp path ([#6807](https://github.com/paritytech/parity/pull/6807))
- Trigger js build ([#6836](https://github.com/paritytech/parity/pull/6836))
- Clean-up scripts. ([#6832](https://github.com/paritytech/parity/pull/6832))
- Tweaked snapshot sync threshold ([#6829](https://github.com/paritytech/parity/pull/6829))
- Integrate UI 2 ([#6819](https://github.com/paritytech/parity/pull/6819))
- Refresh cached tokens based on registry info & random balances ([#6818](https://github.com/paritytech/parity/pull/6818))
- Change keypath derivation logic ([#6815](https://github.com/paritytech/parity/pull/6815))
- Refactors journaldb as a separate crate ([#6801](https://github.com/paritytech/parity/pull/6801))
- Trigger UI build. ([#6817](https://github.com/paritytech/parity/pull/6817))
- Bumped more crate versions ([#6809](https://github.com/paritytech/parity/pull/6809))
- Fix RPC compilation warnings. ([#6808](https://github.com/paritytech/parity/pull/6808))
- Remove internal ipc ([#6795](https://github.com/paritytech/parity/pull/6795))
- Consistent KeyValueDB errors ([#6792](https://github.com/paritytech/parity/pull/6792))
- Squash remaining warnings ([#6789](https://github.com/paritytech/parity/pull/6789))
- Forward-port [#6754](https://github.com/paritytech/parity/issues/6754) [#6755](https://github.com/paritytech/parity/issues/6755) ([#6785](https://github.com/paritytech/parity/pull/6785))
- Removed duplicated versions of clippy ([#6776](https://github.com/paritytech/parity/pull/6776))
- Updated ethabi to version 4.0 ([#6742](https://github.com/paritytech/parity/pull/6742))
- Updated rpc_cli and parity to rpassword 1.0 ([#6774](https://github.com/paritytech/parity/pull/6774))
- Fix sign data typo ([#6750](https://github.com/paritytech/parity/pull/6750))
- Refactoring/cache 6693 ([#6772](https://github.com/paritytech/parity/pull/6772))
- Fix CHANGLOG for 1.8.0 ([#6751](https://github.com/paritytech/parity/pull/6751))
- Removes redundant `mut` in service.rs.in ([#6775](https://github.com/paritytech/parity/pull/6775))
- Remove redundant `mut` ([#6773](https://github.com/paritytech/parity/pull/6773))
- Fixed kovan chain validation ([#6758](https://github.com/paritytech/parity/pull/6758))
- Removed redundant evm deps ([#6757](https://github.com/paritytech/parity/pull/6757))
- Fixed modexp gas calculation overflow ([#6741](https://github.com/paritytech/parity/pull/6741))
- Use cc 1.0 instead of gcc ([#6733](https://github.com/paritytech/parity/pull/6733))
- Version bump to 1.9.0 ([#6727](https://github.com/paritytech/parity/pull/6727))
- Fix badges not showing up ([#6730](https://github.com/paritytech/parity/pull/6730))

View File

@@ -1,41 +1,18 @@
Note: Parity Ethereum 2.0 reached End-of-Life on 2018-11-15 (EOL).
## Parity-Ethereum [v2.0.9](https://github.com/openethereum/openethereum/releases/tag/v2.0.9) (2018-10-29)
Parity-Ethereum 2.0.9-stable is a bug-fix release to improve performance and stability.
The full list of included changes:
- Backports: parity stable 2.0.9 ([#9786](https://github.com/openethereum/openethereum/pull/9786))
- Version: bump parity stable to 2.0.9
- Ethcore: bump ropsten forkblock checkpoint ([#9775](https://github.com/openethereum/openethereum/pull/9775))
- Ethcore: handle vm exception when estimating gas ([#9615](https://github.com/openethereum/openethereum/pull/9615))
- Update jsonrpc-core to a1b2bb742ce16d1168669ffb13ffe856e8131228 ([#9780](https://github.com/openethereum/openethereum/pull/9780))
- Removed "rustup" & added new runner tag ([#9731](https://github.com/openethereum/openethereum/pull/9731))
- Removed "rustup" & added new runner tag
- Exchanged tag "rust-windows" with "windows"
- Revert windows tag change
- Allow zero chain id in EIP155 signing process ([#9792](https://github.com/openethereum/openethereum/pull/9792))
- Allow zero chain id in EIP155 signing process
- Rename test
- Fix test failure
- Insert dev account before unlocking ([#9813](https://github.com/openethereum/openethereum/pull/9813))
## Parity-Ethereum [v2.0.8](https://github.com/openethereum/openethereum/releases/tag/v2.0.8) (2018-10-16)
## Parity-Ethereum [v2.0.8](https://github.com/paritytech/parity-ethereum/releases/tag/v2.0.8) (2018-10-16)
Parity-Ethereum 2.0.8-stable is a release that fixes a consensus issue with the recent Constantinople release. Upgrading is mandatory whatever network you are connected to that plans enabling EIP-1283, e.g., Ropsten, Kovan, Ethereum.
The full list of included changes:
- Stable release 2.0.8 backports ([#9748](https://github.com/openethereum/openethereum/pull/9748))
- Stable release 2.0.8 backports ([#9748](https://github.com/paritytech/parity-ethereum/pull/9748))
- Parity-version: mark 2.0.8 stable as critical
- Use signed 256-bit integer for sstore gas refund substate ([#9746](https://github.com/openethereum/openethereum/pull/9746))
- Add --force to cargo audit install script ([#9735](https://github.com/openethereum/openethereum/pull/9735))
- Heads ref not present for branches beta and stable ([#9741](https://github.com/openethereum/openethereum/pull/9741))
- Aura: fix panic on extra_info with unsealed block ([#9755](https://github.com/openethereum/openethereum/pull/9755))
- Use signed 256-bit integer for sstore gas refund substate ([#9746](https://github.com/paritytech/parity-ethereum/pull/9746))
- Add --force to cargo audit install script ([#9735](https://github.com/paritytech/parity-ethereum/pull/9735))
- Heads ref not present for branches beta and stable ([#9741](https://github.com/paritytech/parity-ethereum/pull/9741))
- Aura: fix panic on extra_info with unsealed block ([#9755](https://github.com/paritytech/parity-ethereum/pull/9755))
## Parity-Ethereum [v2.0.7](https://github.com/openethereum/openethereum/releases/tag/v2.0.7) (2018-10-11)
## Parity-Ethereum [v2.0.7](https://github.com/paritytech/parity-ethereum/releases/tag/v2.0.7) (2018-10-11)
Parity-Ethereum 2.0.7-stable is a release that introduces **Constantinople** to the Ethereum client. Upgrading is strongly recommended.
@@ -55,72 +32,72 @@ Please note, the following deprecations in our distribution of binaries:
The full list of included changes:
- Stable Constantinople changes ([#9723](https://github.com/openethereum/openethereum/pull/9723))
- Ethash: implement EIP-1234 ([#9187](https://github.com/openethereum/openethereum/pull/9187))
- Implement EIP-1052 (EXTCODEHASH) and fix several issues in state account cache ([#9234](https://github.com/openethereum/openethereum/pull/9234))
- Comply EIP-86 with the new definition ([#9140](https://github.com/openethereum/openethereum/pull/9140))
- Implement KIP4: create2 for wasm ([#9277](https://github.com/openethereum/openethereum/pull/9277))
- `gasleft` extern implemented for WASM runtime (kip-6) ([#9357](https://github.com/openethereum/openethereum/pull/9357))
- Add EIP-1014 transition config flag ([#9268](https://github.com/openethereum/openethereum/pull/9268))
- Eip 1283: Net gas metering for SSTORE without dirty maps ([#9319](https://github.com/openethereum/openethereum/pull/9319))
- Update state tests execution model ([#9440](https://github.com/openethereum/openethereum/pull/9440))
- Fix checkpointing when creating contract failed ([#9514](https://github.com/openethereum/openethereum/pull/9514))
- In create memory calculation is the same for create2 because the additional parameter was popped before. ([#9522](https://github.com/openethereum/openethereum/pull/9522))
- Enable all Constantinople hard fork changes in constantinople_test.json ([#9505](https://github.com/openethereum/openethereum/pull/9505))
- Add constantinople conf to EvmTestClient. ([#9570](https://github.com/openethereum/openethereum/pull/9570))
- Hardfork the testnets ([#9562](https://github.com/openethereum/openethereum/pull/9562))
- Don't hash the init_code of CREATE. ([#9688](https://github.com/openethereum/openethereum/pull/9688))
- Implement CREATE2 gas changes and fix some potential overflowing ([#9694](https://github.com/openethereum/openethereum/pull/9694))
- Ethcore: delay ropsten hardfork ([#9704](https://github.com/openethereum/openethereum/pull/9704))
- Add hardcoded headers ([#9730](https://github.com/openethereum/openethereum/pull/9730))
- Gitlab ci: releasable_branches: change variables condition to schedule ([#9729](https://github.com/openethereum/openethereum/pull/9729))
- Hf in POA Core (2018-10-22) ([#9724](https://github.com/openethereum/openethereum/pull/9724))
- Backports for stable 2.0.7 ([#9648](https://github.com/openethereum/openethereum/pull/9648))
- Stable Constantinople changes ([#9723](https://github.com/paritytech/parity-ethereum/pull/9723))
- Ethash: implement EIP-1234 ([#9187](https://github.com/paritytech/parity-ethereum/pull/9187))
- Implement EIP-1052 (EXTCODEHASH) and fix several issues in state account cache ([#9234](https://github.com/paritytech/parity-ethereum/pull/9234))
- Comply EIP-86 with the new definition ([#9140](https://github.com/paritytech/parity-ethereum/pull/9140))
- Implement KIP4: create2 for wasm ([#9277](https://github.com/paritytech/parity-ethereum/pull/9277))
- `gasleft` extern implemented for WASM runtime (kip-6) ([#9357](https://github.com/paritytech/parity-ethereum/pull/9357))
- Add EIP-1014 transition config flag ([#9268](https://github.com/paritytech/parity-ethereum/pull/9268))
- Eip 1283: Net gas metering for SSTORE without dirty maps ([#9319](https://github.com/paritytech/parity-ethereum/pull/9319))
- Update state tests execution model ([#9440](https://github.com/paritytech/parity-ethereum/pull/9440))
- Fix checkpointing when creating contract failed ([#9514](https://github.com/paritytech/parity-ethereum/pull/9514))
- In create memory calculation is the same for create2 because the additional parameter was popped before. ([#9522](https://github.com/paritytech/parity-ethereum/pull/9522))
- Enable all Constantinople hard fork changes in constantinople_test.json ([#9505](https://github.com/paritytech/parity-ethereum/pull/9505))
- Add constantinople conf to EvmTestClient. ([#9570](https://github.com/paritytech/parity-ethereum/pull/9570))
- Hardfork the testnets ([#9562](https://github.com/paritytech/parity-ethereum/pull/9562))
- Don't hash the init_code of CREATE. ([#9688](https://github.com/paritytech/parity-ethereum/pull/9688))
- Implement CREATE2 gas changes and fix some potential overflowing ([#9694](https://github.com/paritytech/parity-ethereum/pull/9694))
- Ethcore: delay ropsten hardfork ([#9704](https://github.com/paritytech/parity-ethereum/pull/9704))
- Add hardcoded headers ([#9730](https://github.com/paritytech/parity-ethereum/pull/9730))
- Gitlab ci: releasable_branches: change variables condition to schedule ([#9729](https://github.com/paritytech/parity-ethereum/pull/9729))
- Hf in POA Core (2018-10-22) ([#9724](https://github.com/paritytech/parity-ethereum/pull/9724))
- Backports for stable 2.0.7 ([#9648](https://github.com/paritytech/parity-ethereum/pull/9648))
- Parity-version: bump stable to 2.0.7
- Fix path to parity.h ([#9274](https://github.com/openethereum/openethereum/pull/9274))
- Ethcore: fix detection of major import ([#9552](https://github.com/openethereum/openethereum/pull/9552))
- Fix (light/provider) : Make `read_only executions` only read-only ([#9591](https://github.com/openethereum/openethereum/pull/9591))
- Hf in POA Sokol (2018-09-19) ([#9607](https://github.com/openethereum/openethereum/pull/9607))
- Fix failing node-table tests on mac os ([#9633](https://github.com/openethereum/openethereum/pull/9633))
- Fix(light_fetch): avoid race with BlockNumber::Latest ([#9665](https://github.com/openethereum/openethereum/pull/9665))
- Ci: Remove unnecessary pipes ([#9681](https://github.com/openethereum/openethereum/pull/9681))
- Docker: run parity as normal user ([#9689](https://github.com/openethereum/openethereum/pull/9689))
- Ci: Skip docs job for master and nightly ([#9693](https://github.com/openethereum/openethereum/pull/9693))
- Ethcore-io retries failed work steal ([#9651](https://github.com/openethereum/openethereum/pull/9651))
- Fix path to parity.h ([#9274](https://github.com/paritytech/parity-ethereum/pull/9274))
- Ethcore: fix detection of major import ([#9552](https://github.com/paritytech/parity-ethereum/pull/9552))
- Fix (light/provider) : Make `read_only executions` only read-only ([#9591](https://github.com/paritytech/parity-ethereum/pull/9591))
- Hf in POA Sokol (2018-09-19) ([#9607](https://github.com/paritytech/parity-ethereum/pull/9607))
- Fix failing node-table tests on mac os ([#9633](https://github.com/paritytech/parity-ethereum/pull/9633))
- Fix(light_fetch): avoid race with BlockNumber::Latest ([#9665](https://github.com/paritytech/parity-ethereum/pull/9665))
- Ci: Remove unnecessary pipes ([#9681](https://github.com/paritytech/parity-ethereum/pull/9681))
- Docker: run parity as normal user ([#9689](https://github.com/paritytech/parity-ethereum/pull/9689))
- Ci: Skip docs job for master and nightly ([#9693](https://github.com/paritytech/parity-ethereum/pull/9693))
- Ethcore-io retries failed work steal ([#9651](https://github.com/paritytech/parity-ethereum/pull/9651))
## Parity-Ethereum [v2.0.6](https://github.com/openethereum/openethereum/releases/tag/v2.0.6) (2018-09-20)
## Parity-Ethereum [v2.0.6](https://github.com/paritytech/parity-ethereum/releases/tag/v2.0.6) (2018-09-20)
Parity-Ethereum 2.0.6-stable is a release that does not improve performance and stability; no changes were made.
The full list of included changes:
- Backports to 2.0.6 stable ([#9600](https://github.com/openethereum/openethereum/pull/9600))
- Ci: disable build cache for json-rpc-docs ([#9587](https://github.com/openethereum/openethereum/pull/9587))
- Backports to 2.0.6 stable ([#9600](https://github.com/paritytech/parity-ethereum/pull/9600))
- Ci: disable build cache for json-rpc-docs ([#9587](https://github.com/paritytech/parity-ethereum/pull/9587))
## Parity-Ethereum [v2.0.5](https://github.com/openethereum/openethereum/releases/tag/v2.0.5) (2018-09-18)
## Parity-Ethereum [v2.0.5](https://github.com/paritytech/parity-ethereum/releases/tag/v2.0.5) (2018-09-18)
Parity-Ethereum 2.0.5-stable is a bug-fix release to improve performance and stability.
Please, note:
- This release marks the 2.0 track of Parity-Ethereum as stable.
- This release contains a low-severity issue with the web-sockets ports. [#9545](https://github.com/openethereum/openethereum/pull/9545)
- This release resolves a potential network fragmentation issue. [#9526](https://github.com/openethereum/openethereum/pull/9526)
- This release contains a low-severity issue with the web-sockets ports. [#9545](https://github.com/paritytech/parity-ethereum/pull/9545)
- This release resolves a potential network fragmentation issue. [#9526](https://github.com/paritytech/parity-ethereum/pull/9526)
- The default `gas_floor_target` was increased to `8_000_000`, the default `gas_cap` to `10_000_000`.
- With this release, all versions of Parity Ethereum 1.x prior to 2.0 reached end of life.
- Users are urged to upgrade to 2.0.5-stable or 2.1.0-beta.
The full list of included changes:
- Backports for 2.0.5 stable ([#9519](https://github.com/openethereum/openethereum/pull/9519))
- Backports for 2.0.5 stable ([#9519](https://github.com/paritytech/parity-ethereum/pull/9519))
- Parity-version: mark 2.0.5 track stable
- Deps: bump fs-swap to 0.2.4
- Remove initial token for WS. ([#9545](https://github.com/openethereum/openethereum/pull/9545))
- Remove initial token for WS. ([#9545](https://github.com/paritytech/parity-ethereum/pull/9545))
- Version: mark release critical
- Increase Gas-floor-target and Gas Cap ([#9564](https://github.com/openethereum/openethereum/pull/9564))
- Increase Gas-floor-target and Gas Cap ([#9564](https://github.com/paritytech/parity-ethereum/pull/9564))
- Gas-floor-target increased to 8M by default
- Gas-cap increased to 10M by default
- Improve P2P discovery ([#9526](https://github.com/openethereum/openethereum/pull/9526))
- Improve P2P discovery ([#9526](https://github.com/paritytech/parity-ethereum/pull/9526))
- Add `target` to Rust traces
- Network-devp2p: Don't remove discovery peer in main sync
- Network-p2p: Refresh discovery more often
@@ -136,14 +113,14 @@ The full list of included changes:
- Check in flight FindNode before pings
- Add `deprecated` to deprecated_echo_hash
- Refactor `discovery_round` branching
- Net_version caches network_id to avoid redundant acquire of sync read lock ([#9544](https://github.com/openethereum/openethereum/pull/9544))
- Net_version caches network_id to avoid redundant acquire of sync read lock, [#8746](https://github.com/openethereum/openethereum/issues/8746)
- Net_version caches network_id to avoid redundant acquire of sync read lock ([#9544](https://github.com/paritytech/parity-ethereum/pull/9544))
- Net_version caches network_id to avoid redundant acquire of sync read lock, [#8746](https://github.com/paritytech/parity-ethereum/issues/8746)
- Use lower_hex display formatting for `net_peerCount` RPC method
- Update snapcraft.yaml ([#9530](https://github.com/openethereum/openethereum/pull/9530))
- Update snapcraft.yaml ([#9530](https://github.com/paritytech/parity-ethereum/pull/9530))
- Fix DEPRECATED `prepare`
- Fix TODO https://bugs.launchpad.net/snapcraft/+bug/1778530
## Parity-Ethereum [v2.0.4](https://github.com/openethereum/openethereum/releases/tag/v2.0.4) (2018-09-11)
## Parity-Ethereum [v2.0.4](https://github.com/paritytech/parity-ethereum/releases/tag/v2.0.4) (2018-09-11)
Parity-Ethereum 2.0.4-beta is a bug-fix release to improve performance and stability:
@@ -154,9 +131,9 @@ Parity-Ethereum 2.0.4-beta is a bug-fix release to improve performance and stabi
The full list of included changes:
- Beta backports to 2.0.4 ([#9452](https://github.com/openethereum/openethereum/pull/9452))
- Beta backports to 2.0.4 ([#9452](https://github.com/paritytech/parity-ethereum/pull/9452))
- Parity-version: bump beta to 2.0.4
- [Light/jsonrpc] Provide the actual account for `eth_coinbase` RPC and unify error handeling for light and full client ([#9383](https://github.com/openethereum/openethereum/pull/9383))
- [Light/jsonrpc] Provide the actual account for `eth_coinbase` RPC and unify error handeling for light and full client ([#9383](https://github.com/paritytech/parity-ethereum/pull/9383))
- Provide the actual `account` for eth_coinbase
- The previous implementation always provided the `zero address` on `eth_coinbase` RPC. Now, instead the actual address is returned on success or an error when no account(s) is found!
- Full client `eth_coinbase` return err
@@ -164,27 +141,27 @@ The full list of included changes:
- Remove needless blocks on single import
- Remove needless `static` lifetime on const
- Fix `rpc_eth_author` test
- Parity: print correct keys path on startup ([#9501](https://github.com/openethereum/openethereum/pull/9501))
- Aura: don't report skipped primaries when empty steps are enabled ([#9435](https://github.com/openethereum/openethereum/pull/9435))
- Only check warp syncing for eth_getWorks ([#9484](https://github.com/openethereum/openethereum/pull/9484))
- Parity: print correct keys path on startup ([#9501](https://github.com/paritytech/parity-ethereum/pull/9501))
- Aura: don't report skipped primaries when empty steps are enabled ([#9435](https://github.com/paritytech/parity-ethereum/pull/9435))
- Only check warp syncing for eth_getWorks ([#9484](https://github.com/paritytech/parity-ethereum/pull/9484))
- Only check warp syncing for eth_getWorks
- Use SyncStatus::is_snapshot_syncing
- Fix Snapshot restoration failure on Windows ([#9491](https://github.com/openethereum/openethereum/pull/9491))
- Fix Snapshot restoration failure on Windows ([#9491](https://github.com/paritytech/parity-ethereum/pull/9491))
- Close Blooms DB files before DB restoration
- Address Grumbles
## Parity-Ethereum [v2.0.3](https://github.com/openethereum/openethereum/releases/tag/v2.0.3) (2018-09-01)
## Parity-Ethereum [v2.0.3](https://github.com/paritytech/parity-ethereum/releases/tag/v2.0.3) (2018-09-01)
Parity-Ethereum 2.0.3-beta is a bug-fix release to improve performance and stability. Hopefully. ;)
The full list of included changes:
- Beta backports for 2.0.3 ([#9229](https://github.com/openethereum/openethereum/pull/9229))
- Beta backports for 2.0.3 ([#9229](https://github.com/paritytech/parity-ethereum/pull/9229))
- parity-version: bump beta to 2.0.2
- remove ssl from dockerfiles, closes [#8880](https://github.com/openethereum/openethereum/issues/8880) ([#9195](https://github.com/openethereum/openethereum/pull/9195))
- snap: remove ssl dependencies from snapcraft definition ([#9222](https://github.com/openethereum/openethereum/pull/9222))
- remove ssl from dockerfiles, closes [#8880](https://github.com/paritytech/parity-ethereum/issues/8880) ([#9195](https://github.com/paritytech/parity-ethereum/pull/9195))
- snap: remove ssl dependencies from snapcraft definition ([#9222](https://github.com/paritytech/parity-ethereum/pull/9222))
- parity-version: bump beta to 2.0.3
- Remove all dapp permissions related settings ([#9120](https://github.com/openethereum/openethereum/pull/9120))
- Remove all dapp permissions related settings ([#9120](https://github.com/paritytech/parity-ethereum/pull/9120))
- Completely remove all dapps struct from rpc
- Remove unused pub use
- Remove dapp policy/permission func in ethcore
@@ -194,31 +171,31 @@ The full list of included changes:
- Address grumbles
- Address grumbles
- Fix tests
- Check if synced when using eth_getWork ([#9193](https://github.com/openethereum/openethereum/issues/9193)) ([#9210](https://github.com/openethereum/openethereum/pull/9210))
- Check if synced when using eth_getWork ([#9193](https://github.com/openethereum/openethereum/issues/9193))
- Check if synced when using eth_getWork ([#9193](https://github.com/paritytech/parity-ethereum/issues/9193)) ([#9210](https://github.com/paritytech/parity-ethereum/pull/9210))
- Check if synced when using eth_getWork ([#9193](https://github.com/paritytech/parity-ethereum/issues/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](https://github.com/openethereum/openethereum/pull/9221))
- Allow old blocks from peers with lower difficulty ([#9226](https://github.com/openethereum/openethereum/pull/9226))
- Fix potential as_usize overflow when casting from U256 in miner ([#9221](https://github.com/paritytech/parity-ethereum/pull/9221))
- Allow old blocks from peers with lower difficulty ([#9226](https://github.com/paritytech/parity-ethereum/pull/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](https://github.com/openethereum/openethereum/pull/9242))
- Update Dockerfile ([#9242](https://github.com/paritytech/parity-ethereum/pull/9242))
- Update Dockerfile
- fix Docker build
- fix dockerfile paths: parity -> parity-ethereum ([#9248](https://github.com/openethereum/openethereum/pull/9248))
- Propagate transactions for next 4 blocks. ([#9265](https://github.com/openethereum/openethereum/pull/9265))
- Closes [#9255](https://github.com/openethereum/openethereum/issues/9255)
- fix dockerfile paths: parity -> parity-ethereum ([#9248](https://github.com/paritytech/parity-ethereum/pull/9248))
- Propagate transactions for next 4 blocks. ([#9265](https://github.com/paritytech/parity-ethereum/pull/9265))
- Closes [#9255](https://github.com/paritytech/parity-ethereum/issues/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.
- Update tobalaba.json ([#9313](https://github.com/openethereum/openethereum/pull/9313))
- Fix load share ([#9321](https://github.com/openethereum/openethereum/pull/9321))
- Update tobalaba.json ([#9313](https://github.com/paritytech/parity-ethereum/pull/9313))
- Fix load share ([#9321](https://github.com/paritytech/parity-ethereum/pull/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](https://github.com/openethereum/openethereum/pull/9328))
- ethcore: fix pow difficulty validation ([#9328](https://github.com/paritytech/parity-ethereum/pull/9328))
- ethcore: fix pow difficulty validation
- ethcore: validate difficulty is not zero
- ethcore: add issue link to regression test
@@ -226,14 +203,14 @@ The full list of included changes:
- 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](https://github.com/openethereum/openethereum/pull/9370))
- Light client `Provide default nonce in transactions when it´s missing` ([#9370](https://github.com/paritytech/parity-ethereum/pull/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](https://github.com/openethereum/openethereum/pull/9369))
- Changed http:// to https:// on Yasm link ([#9369](https://github.com/paritytech/parity-ethereum/pull/9369))
- Changed http:// to https:// on Yasm link in README.md
- Address grumbles
- ethcore: kovan: delay activation of strict score validation ([#9406](https://github.com/openethereum/openethereum/pull/9406))
- Better support for eth_getLogs in light mode ([#9186](https://github.com/openethereum/openethereum/pull/9186))
- ethcore: kovan: delay activation of strict score validation ([#9406](https://github.com/paritytech/parity-ethereum/pull/9406))
- Better support for eth_getLogs in light mode ([#9186](https://github.com/paritytech/parity-ethereum/pull/9186))
- Light client on-demand request for headers range.
- Cache headers in HeaderWithAncestors response.
- Also fulfills request locally if all headers are in cache.
@@ -243,7 +220,7 @@ The full list of included changes:
- 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](https://github.com/openethereum/openethereum/pull/9219))
- Add update docs script to CI ([#9219](https://github.com/paritytech/parity-ethereum/pull/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
@@ -254,11 +231,11 @@ The full list of included changes:
- 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](https://github.com/openethereum/openethereum/pull/9310))
- Prevent blockchain & miner racing when accessing pending block. ([#9310](https://github.com/paritytech/parity-ethereum/pull/9310))
- Prevent blockchain & miner racing when accessing pending block.
- Fix unavailability of pending block during reseal.
- Prevent sync restart if import queue full ([#9381](https://github.com/openethereum/openethereum/pull/9381))
- Add POA Networks: Core and Sokol ([#9413](https://github.com/openethereum/openethereum/pull/9413))
- Prevent sync restart if import queue full ([#9381](https://github.com/paritytech/parity-ethereum/pull/9381))
- Add POA Networks: Core and Sokol ([#9413](https://github.com/paritytech/parity-ethereum/pull/9413))
- ethcore: add poa network and sokol chainspecs
- rpc: simplify chain spec docs
- cli: rearrange networks by main/test and size/range
@@ -270,13 +247,13 @@ The full list of included changes:
- parity: fix configuration tests
- parity: fix parameter tests
- ethcore: rename POA Core and POA Sokol
- Update tobalaba.json ([#9419](https://github.com/openethereum/openethereum/pull/9419))
- Update hardcoded sync ([#9421](https://github.com/openethereum/openethereum/pull/9421))
- Update tobalaba.json ([#9419](https://github.com/paritytech/parity-ethereum/pull/9419))
- Update hardcoded sync ([#9421](https://github.com/paritytech/parity-ethereum/pull/9421))
- Update foundation hardcoded header to block 6219777
- Update ropsten hardcoded header to block 3917825
- Update kovan hardcoded header to block 8511489
## Parity-Ethereum [v2.0.1](https://github.com/openethereum/openethereum/releases/tag/v2.0.1) (2018-07-27)
## Parity-Ethereum [v2.0.1](https://github.com/paritytech/parity-ethereum/releases/tag/v2.0.1) (2018-07-27)
Parity-Ethereum 2.0.1-beta is a bug-fix release to improve performance and stability.
@@ -284,42 +261,42 @@ Note, authorities in PoA networks based on the Aura engine, should upgrade their
The full list of included changes:
- Backports to 2.0.1-beta ([#9145](https://github.com/openethereum/openethereum/pull/9145))
- Backports to 2.0.1-beta ([#9145](https://github.com/paritytech/parity-ethereum/pull/9145))
- Parity-version: bump beta to 2.0.1
- Ci: update version strings for snaps ([#9160](https://github.com/openethereum/openethereum/pull/9160))
- Be more graceful on Aura difficulty validation ([#9164](https://github.com/openethereum/openethereum/pull/9164))
- Ci: update version strings for snaps ([#9160](https://github.com/paritytech/parity-ethereum/pull/9160))
- Be more graceful on Aura difficulty validation ([#9164](https://github.com/paritytech/parity-ethereum/pull/9164))
- Be more graceful on Aura difficulty validation
- Test: rejects_step_backwards
- Test: proposer_switching
- Test: rejects_future_block
- Test: reports_skipped
- Test: verify_empty_seal_steps
- Remove node-health ([#9119](https://github.com/openethereum/openethereum/pull/9119))
- Remove node-health ([#9119](https://github.com/paritytech/parity-ethereum/pull/9119))
- Remove node-health
- Remove ntp_servers
- Add --ntp-servers as legacy instead of removing it
- Add --ntp-servers to deprecated args
- Remove unused stuff
- Remove _legacy_ntp_servers
- Parity: fix UserDefaults json parser ([#9189](https://github.com/openethereum/openethereum/pull/9189))
- Parity: fix UserDefaults json parser ([#9189](https://github.com/paritytech/parity-ethereum/pull/9189))
- Parity: fix UserDefaults json parser
- Parity: use serde_derive for UserDefaults
- Parity: support deserialization of old UserDefault json format
- Parity: make UserDefaults serde backwards compatible
- Parity: tabify indentation in UserDefaults
- Fix bugfix hard fork logic ([#9138](https://github.com/openethereum/openethereum/pull/9138))
- Fix bugfix hard fork logic ([#9138](https://github.com/paritytech/parity-ethereum/pull/9138))
- Fix bugfix hard fork logic
- Remove dustProtectionTransition from bugfix category
- Eip-168 is not enabled by default
- Remove unnecessary 'static
- Disable per-sender limit for local transactions. ([#9148](https://github.com/openethereum/openethereum/pull/9148))
- Disable per-sender limit for local transactions. ([#9148](https://github.com/paritytech/parity-ethereum/pull/9148))
- Disable per-sender limit for local transactions.
- Add a missing new line.
- Rpc: fix is_major_importing sync state condition ([#9112](https://github.com/openethereum/openethereum/pull/9112))
- Rpc: fix is_major_importing sync state condition ([#9112](https://github.com/paritytech/parity-ethereum/pull/9112))
- Rpc: fix is_major_importing sync state condition
- Rpc: fix informant printout when waiting for peers
- Fix verification in ethcore-sync collect_blocks ([#9135](https://github.com/openethereum/openethereum/pull/9135))
- Docker: update hub dockerfile ([#9173](https://github.com/openethereum/openethereum/pull/9173))
- Fix verification in ethcore-sync collect_blocks ([#9135](https://github.com/paritytech/parity-ethereum/pull/9135))
- Docker: update hub dockerfile ([#9173](https://github.com/paritytech/parity-ethereum/pull/9173))
- Update Dockerfile for hub
- Update to Ubuntu Xenial 16.04
- Fix cmake version
@@ -328,36 +305,36 @@ The full list of included changes:
- Rpc: remove node_health leftover from merge
- Rpc: remove dapps leftover from merge
## Parity-Ethereum [v2.0.0](https://github.com/openethereum/openethereum/releases/tag/v2.0.0) "Ethereum" (2018-07-18)
## Parity-Ethereum [v2.0.0](https://github.com/paritytech/parity-ethereum/releases/tag/v2.0.0) "Ethereum" (2018-07-18)
This is the Parity-Ethereum//v2.0.0-beta release, code-named "Ethereum", **YOLO!**
Please note, Parity-Ethereum//v2.0.0 comes with some breaking changes that might be interrupting your usual workflows. Please mind them before upgrading:
- The Parity client is now called _Parity-Ethereum_ to distinguish it from other software we provide, such as [_Parity-Bitcoin_](https://github.com/paritytech/parity-bitcoin/) and [_Parity-Polkadot_](https://github.com/paritytech/polkadot) ([#9052](https://github.com/openethereum/openethereum/pull/9052)).
- The public node and the user interface (a.k.a. _"Parity Wallet"_) are completely removed from the Parity-Ethereum//v2.0.0 client ([#8758](https://github.com/openethereum/openethereum/pull/8758), [#8783](https://github.com/openethereum/openethereum/pull/8783), [#8641](https://github.com/openethereum/openethereum/pull/8641)). Users interested running a Parity Wallet, check out [the stand-alone UI application](https://github.com/Parity-JS/shell/releases).
- The DApps subsystem was completely removed from the client ([#9017](https://github.com/openethereum/openethereum/pull/9017), [#9107](https://github.com/openethereum/openethereum/pull/9107)). Again, use the standalone wallet if you wish to continue working with them.
- Windows and MacOS versions are not available as installer anymore and the system trays were removed ([#8778](https://github.com/openethereum/openethereum/pull/8778)). If you desire to run Parity-Ethereum on Windows or MacOS, you still can get the binaries from our mirrors. Furthermore, MacOS users are encouraged [to use our homebrew tap](https://github.com/paritytech/homebrew-paritytech/).
- Linux versions are not available as deb-/rpm-packages anymore ([#8887](https://github.com/openethereum/openethereum/pull/8887)). Communities are encouraged to provide their own packages or maintain their own repositories, such as [Arch Linux does](https://www.archlinux.org/packages/community/x86_64/parity/) for instance.
- MD5-checksums are completely replaced by SHA256-checksums ([#8884](https://github.com/openethereum/openethereum/pull/8884)). This is also reflected on our homepage by now.
- Deprecated, removed, or replaced CLI-options are hidden from client `--help` to further discourage their usage ([#8967](https://github.com/openethereum/openethereum/pull/8967)).
- The Parity client is now called _Parity-Ethereum_ to distinguish it from other software we provide, such as [_Parity-Bitcoin_](https://github.com/paritytech/parity-bitcoin/) and [_Parity-Polkadot_](https://github.com/paritytech/polkadot) ([#9052](https://github.com/paritytech/parity-ethereum/pull/9052)).
- The public node and the user interface (a.k.a. _"Parity Wallet"_) are completely removed from the Parity-Ethereum//v2.0.0 client ([#8758](https://github.com/paritytech/parity-ethereum/pull/8758), [#8783](https://github.com/paritytech/parity-ethereum/pull/8783), [#8641](https://github.com/paritytech/parity-ethereum/pull/8641)). Users interested running a Parity Wallet, check out [the stand-alone UI application](https://github.com/Parity-JS/shell/releases).
- The DApps subsystem was completely removed from the client ([#9017](https://github.com/paritytech/parity-ethereum/pull/9017), [#9107](https://github.com/paritytech/parity-ethereum/pull/9107)). Again, use the standalone wallet if you wish to continue working with them.
- Windows and MacOS versions are not available as installer anymore and the system trays were removed ([#8778](https://github.com/paritytech/parity-ethereum/pull/8778)). If you desire to run Parity-Ethereum on Windows or MacOS, you still can get the binaries from our mirrors. Furthermore, MacOS users are encouraged [to use our homebrew tap](https://github.com/paritytech/homebrew-paritytech/).
- Linux versions are not available as deb-/rpm-packages anymore ([#8887](https://github.com/paritytech/parity-ethereum/pull/8887)). Communities are encouraged to provide their own packages or maintain their own repositories, such as [Arch Linux does](https://www.archlinux.org/packages/community/x86_64/parity/) for instance.
- MD5-checksums are completely replaced by SHA256-checksums ([#8884](https://github.com/paritytech/parity-ethereum/pull/8884)). This is also reflected on our homepage by now.
- Deprecated, removed, or replaced CLI-options are hidden from client `--help` to further discourage their usage ([#8967](https://github.com/paritytech/parity-ethereum/pull/8967)).
Additional noteworthy changes to the client:
- Tracing of precompiled contracts when the transfer value is not zero ([#8486](https://github.com/openethereum/openethereum/pull/8486))
- _Parity-Ethereum_ as a library now provides APIs for running full and light nodes and a C interface ([#8412](https://github.com/openethereum/openethereum/pull/8412)). Shared crates are now available in [_Parity-Common_](https://github.com/paritytech/parity-common) ([#9083](https://github.com/openethereum/openethereum/pull/9083)).
- The Morden database and keys are now moved to a `./Morden` subdirectory instead of `./test` which is by default used by Ropsten ([#8621](https://github.com/openethereum/openethereum/pull/8621)).
- Adding support for having an on-chain contract calculating the block rewards ([#8419](https://github.com/openethereum/openethereum/pull/8419)).
- Enforcing warp-only synchronization with `--warp-barrier [blocknumber]` flag ([#8228](https://github.com/openethereum/openethereum/pull/8228)).
- Adding a fork-choice and meta-data framework suitable for implementing Casper ([#8401](https://github.com/openethereum/openethereum/pull/8401)).
- Returning an error if RLP-size of a transaction exceeds a 300kB limit ([#8473](https://github.com/openethereum/openethereum/pull/8473)).
- Warp-sync is now resumable by keeping the downloaded chunks between client restarts. Also, it seeds downloaded snapshots for other nodes ([#8544](https://github.com/openethereum/openethereum/pull/8544)).
- The developer chain `--chain dev` now contains Byzantium features, this breaks existing developer chains ([#8717](https://github.com/openethereum/openethereum/pull/8717)).
- The EIP150, EIP160 and EIP161 forks are now to be specified in common params section of a chain-spec file instead of the Ethash params to enable these features on non-proof-of-work chains ([#8614](https://github.com/openethereum/openethereum/pull/8614)). Please update your chain specs.
- Allowing to disable local-by-default for transactions with new configurations ([#8882](https://github.com/openethereum/openethereum/pull/8882)).
- Never drop local transactions from different senders ([#9002](https://github.com/openethereum/openethereum/pull/9002)).
- Optimize pending transactions filter and fix ethstats reporting of pending transactions ([#9026](https://github.com/openethereum/openethereum/pull/9026)).
- Add separate database directory for light client allowing to run full and light nodes at the same time ([#9064](https://github.com/openethereum/openethereum/pull/9064)).
- Tracing of precompiled contracts when the transfer value is not zero ([#8486](https://github.com/paritytech/parity-ethereum/pull/8486))
- _Parity-Ethereum_ as a library now provides APIs for running full and light nodes and a C interface ([#8412](https://github.com/paritytech/parity-ethereum/pull/8412)). Shared crates are now available in [_Parity-Common_](https://github.com/paritytech/parity-common) ([#9083](https://github.com/paritytech/parity-ethereum/pull/9083)).
- The Morden database and keys are now moved to a `./Morden` subdirectory instead of `./test` which is by default used by Ropsten ([#8621](https://github.com/paritytech/parity-ethereum/pull/8621)).
- Adding support for having an on-chain contract calculating the block rewards ([#8419](https://github.com/paritytech/parity-ethereum/pull/8419)).
- Enforcing warp-only synchronization with `--warp-barrier [blocknumber]` flag ([#8228](https://github.com/paritytech/parity-ethereum/pull/8228)).
- Adding a fork-choice and meta-data framework suitable for implementing Casper ([#8401](https://github.com/paritytech/parity-ethereum/pull/8401)).
- Returning an error if RLP-size of a transaction exceeds a 300kB limit ([#8473](https://github.com/paritytech/parity-ethereum/pull/8473)).
- Warp-sync is now resumable by keeping the downloaded chunks between client restarts. Also, it seeds downloaded snapshots for other nodes ([#8544](https://github.com/paritytech/parity-ethereum/pull/8544)).
- The developer chain `--chain dev` now contains Byzantium features, this breaks existing developer chains ([#8717](https://github.com/paritytech/parity-ethereum/pull/8717)).
- The EIP150, EIP160 and EIP161 forks are now to be specified in common params section of a chain-spec file instead of the Ethash params to enable these features on non-proof-of-work chains ([#8614](https://github.com/paritytech/parity-ethereum/pull/8614)). Please update your chain specs.
- Allowing to disable local-by-default for transactions with new configurations ([#8882](https://github.com/paritytech/parity-ethereum/pull/8882)).
- Never drop local transactions from different senders ([#9002](https://github.com/paritytech/parity-ethereum/pull/9002)).
- Optimize pending transactions filter and fix ethstats reporting of pending transactions ([#9026](https://github.com/paritytech/parity-ethereum/pull/9026)).
- Add separate database directory for light client allowing to run full and light nodes at the same time ([#9064](https://github.com/paritytech/parity-ethereum/pull/9064)).
If you are upgrading directly from versions 1.10.9 or earlier, please note important changes to our transaction-queue implementation, namely:
@@ -366,9 +343,9 @@ If you are upgrading directly from versions 1.10.9 or earlier, please note impor
The full list of included changes:
- Backports to 2.0.0-beta ([#9094](https://github.com/openethereum/openethereum/pull/9094))
- Backports to 2.0.0-beta ([#9094](https://github.com/paritytech/parity-ethereum/pull/9094))
- Parity-version: betalize 2.0
- Multiple improvements to discovery ping handling ([#8771](https://github.com/openethereum/openethereum/pull/8771))
- Multiple improvements to discovery ping handling ([#8771](https://github.com/paritytech/parity-ethereum/pull/8771))
- Discovery: Only add nodes to routing table after receiving pong.
- Discovery: Refactor packet creation into its own function.
- Discovery: Additional testing for new add_node behavior.
@@ -377,265 +354,265 @@ The full list of included changes:
- Discovery: Track timeouts on FIND_NODE requests.
- Discovery: Retry failed pings with exponential backoff.
- !fixup Use slice instead of Vec for request_backoff.
- Add separate database directory for light client ([#9064](https://github.com/openethereum/openethereum/pull/9064))
- Add separate default DB path for light client ([#8927](https://github.com/openethereum/openethereum/pull/8927))
- Add separate database directory for light client ([#9064](https://github.com/paritytech/parity-ethereum/pull/9064))
- Add separate default DB path for light client ([#8927](https://github.com/paritytech/parity-ethereum/pull/8927))
- Improve readability
- Revert "Replace `std::env::home_dir` with `dirs::home_dir` ([#9077](https://github.com/openethereum/openethereum/pull/9077))" ([#9097](https://github.com/openethereum/openethereum/pull/9097))
- Revert "Replace `std::env::home_dir` with `dirs::home_dir` ([#9077](https://github.com/openethereum/openethereum/pull/9077))"
- Revert "Replace `std::env::home_dir` with `dirs::home_dir` ([#9077](https://github.com/paritytech/parity-ethereum/pull/9077))" ([#9097](https://github.com/paritytech/parity-ethereum/pull/9097))
- Revert "Replace `std::env::home_dir` with `dirs::home_dir` ([#9077](https://github.com/paritytech/parity-ethereum/pull/9077))"
- This reverts commit 7e77932.
- Restore some of the changes
- Update parity-common
- Offload cull to IoWorker. ([#9099](https://github.com/openethereum/openethereum/pull/9099))
- Fix work-notify. ([#9104](https://github.com/openethereum/openethereum/pull/9104))
- Update hidapi, fixes [#7542](https://github.com/openethereum/openethereum/issues/7542) ([#9108](https://github.com/openethereum/openethereum/pull/9108))
- Docker: add cmake dependency ([#9111](https://github.com/openethereum/openethereum/pull/9111))
- Update light client hardcoded headers ([#9098](https://github.com/openethereum/openethereum/pull/9098))
- Offload cull to IoWorker. ([#9099](https://github.com/paritytech/parity-ethereum/pull/9099))
- Fix work-notify. ([#9104](https://github.com/paritytech/parity-ethereum/pull/9104))
- Update hidapi, fixes [#7542](https://github.com/paritytech/parity-ethereum/issues/7542) ([#9108](https://github.com/paritytech/parity-ethereum/pull/9108))
- Docker: add cmake dependency ([#9111](https://github.com/paritytech/parity-ethereum/pull/9111))
- Update light client hardcoded headers ([#9098](https://github.com/paritytech/parity-ethereum/pull/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](https://github.com/openethereum/openethereum/pull/9115))
- Insert ETC (classic) hardcoded headers until block 6170625 ([#9121](https://github.com/openethereum/openethereum/pull/9121))
- Fix verification in ethcore-sync collect_blocks ([#9135](https://github.com/openethereum/openethereum/pull/9135))
- Completely remove all dapps struct from rpc ([#9107](https://github.com/openethereum/openethereum/pull/9107))
- Make sure to produce full blocks. ([#9115](https://github.com/paritytech/parity-ethereum/pull/9115))
- Insert ETC (classic) hardcoded headers until block 6170625 ([#9121](https://github.com/paritytech/parity-ethereum/pull/9121))
- Fix verification in ethcore-sync collect_blocks ([#9135](https://github.com/paritytech/parity-ethereum/pull/9135))
- Completely remove all dapps struct from rpc ([#9107](https://github.com/paritytech/parity-ethereum/pull/9107))
- Completely remove all dapps struct from rpc
- Remove unused pub use
- `evm bench` fix broken dependencies ([#9134](https://github.com/openethereum/openethereum/pull/9134))
- `evm bench` fix broken dependencies ([#9134](https://github.com/paritytech/parity-ethereum/pull/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](https://github.com/openethereum/openethereum/pull/9132))
- Parity Ethereum 2.0.0 ([#9052](https://github.com/openethereum/openethereum/pull/9052))
- Don't fetch snapshot chunks at random ([#9088](https://github.com/openethereum/openethereum/pull/9088))
- Remove the dapps system ([#9017](https://github.com/openethereum/openethereum/pull/9017))
- Fix nightly warnings ([#9080](https://github.com/openethereum/openethereum/pull/9080))
- Db: remove wal disabling / fast-and-loose option. ([#8963](https://github.com/openethereum/openethereum/pull/8963))
- Transactions hashes missing in trace_replayBlockTransactions method result [#8725](https://github.com/openethereum/openethereum/issues/8725) ([#8883](https://github.com/openethereum/openethereum/pull/8883))
- Delete crates from parity-ethereum and fetch them from parity-common instead ([#9083](https://github.com/openethereum/openethereum/pull/9083))
- Updater verification ([#8787](https://github.com/openethereum/openethereum/pull/8787))
- Phrasing, precisions and typos in CLI help ([#9060](https://github.com/openethereum/openethereum/pull/9060))
- Some work towards iOS build ([#9045](https://github.com/openethereum/openethereum/pull/9045))
- Clean up deprecated options and add CHECK macro ([#9036](https://github.com/openethereum/openethereum/pull/9036))
- Replace `std::env::home_dir` with `dirs::home_dir` ([#9077](https://github.com/openethereum/openethereum/pull/9077))
- Fix warning in secret-store test ([#9074](https://github.com/openethereum/openethereum/pull/9074))
- Seedhashcompute remove needless `new` impl ([#9063](https://github.com/openethereum/openethereum/pull/9063))
- Remove trait bounds from several structs ([#9055](https://github.com/openethereum/openethereum/pull/9055))
- Docs: add changelog for 1.10.9 stable and 1.11.6 beta ([#9069](https://github.com/openethereum/openethereum/pull/9069))
- Enable test in `miner/pool/test` ([#9072](https://github.com/openethereum/openethereum/pull/9072))
- Fetch: replace futures-timer with tokio-timer ([#9066](https://github.com/openethereum/openethereum/pull/9066))
- Remove util-error ([#9054](https://github.com/openethereum/openethereum/pull/9054))
- Fixes for misbehavior reporting in AuthorityRound ([#8998](https://github.com/openethereum/openethereum/pull/8998))
- A last bunch of txqueue performance optimizations ([#9024](https://github.com/openethereum/openethereum/pull/9024))
- Reduce number of constraints for triedb types ([#9043](https://github.com/openethereum/openethereum/pull/9043))
- Bump fs-swap to 0.2.3 so it is compatible with osx 10.11 again ([#9050](https://github.com/openethereum/openethereum/pull/9050))
- Recursive test ([#9042](https://github.com/openethereum/openethereum/pull/9042))
- Introduce more optional features in ethcore ([#9020](https://github.com/openethereum/openethereum/pull/9020))
- Update ETSC bootnodes ([#9038](https://github.com/openethereum/openethereum/pull/9038))
- Optimize pending transactions filter ([#9026](https://github.com/openethereum/openethereum/pull/9026))
- Eip160/eip161 spec: u64 -> BlockNumber ([#9044](https://github.com/openethereum/openethereum/pull/9044))
- Move the C/C++ example to another directory ([#9032](https://github.com/openethereum/openethereum/pull/9032))
- Bump parking_lot to 0.6 ([#9013](https://github.com/openethereum/openethereum/pull/9013))
- Never drop local transactions from different senders. ([#9002](https://github.com/openethereum/openethereum/pull/9002))
- Precise HTTP or WebSockets for JSON-RPC options ([#9027](https://github.com/openethereum/openethereum/pull/9027))
- Recently rejected cache for transaction queue ([#9005](https://github.com/openethereum/openethereum/pull/9005))
- Make HashDB generic ([#8739](https://github.com/openethereum/openethereum/pull/8739))
- Only return error log for rustls ([#9025](https://github.com/openethereum/openethereum/pull/9025))
- Update Changelogs for 1.10.8 and 1.11.5 ([#9012](https://github.com/openethereum/openethereum/pull/9012))
- Attempt to graceful shutdown in case of panics ([#8999](https://github.com/openethereum/openethereum/pull/8999))
- Simplify kvdb error types ([#8924](https://github.com/openethereum/openethereum/pull/8924))
- Add option for user to set max size limit for RPC requests ([#9010](https://github.com/openethereum/openethereum/pull/9010))
- Bump ntp to 0.5.0 ([#9009](https://github.com/openethereum/openethereum/pull/9009))
- Removed duplicate dependency ([#9021](https://github.com/openethereum/openethereum/pull/9021))
- Minimal effective gas price in the queue ([#8934](https://github.com/openethereum/openethereum/pull/8934))
- Parity: fix db path when migrating to blooms db ([#8975](https://github.com/openethereum/openethereum/pull/8975))
- Preserve the current abort behavior ([#8995](https://github.com/openethereum/openethereum/pull/8995))
- Improve should_replace on NonceAndGasPrice ([#8980](https://github.com/openethereum/openethereum/pull/8980))
- Tentative fix for missing dependency error ([#8973](https://github.com/openethereum/openethereum/pull/8973))
- Refactor evm Instruction to be a c-like enum ([#8914](https://github.com/openethereum/openethereum/pull/8914))
- Fix deadlock in blockchain. ([#8977](https://github.com/openethereum/openethereum/pull/8977))
- Snap: downgrade rust to revision 1.26.2, ref snapcraft/+bug/1778530 ([#8984](https://github.com/openethereum/openethereum/pull/8984))
- Use local parity-dapps-glue instead of crate published at crates.io ([#8983](https://github.com/openethereum/openethereum/pull/8983))
- Parity: omit redundant last imported block number in light sync informant ([#8962](https://github.com/openethereum/openethereum/pull/8962))
- Disable hardware-wallets on platforms that don't support `libusb` ([#8464](https://github.com/openethereum/openethereum/pull/8464))
- Bump error-chain and quick_error versions ([#8972](https://github.com/openethereum/openethereum/pull/8972))
- Evm benchmark utilities ([#8944](https://github.com/openethereum/openethereum/pull/8944))
- Parity: hide legacy options from cli --help ([#8967](https://github.com/openethereum/openethereum/pull/8967))
- Scripts: fix docker build tag on latest using master ([#8952](https://github.com/openethereum/openethereum/pull/8952))
- Add type for passwords. ([#8920](https://github.com/openethereum/openethereum/pull/8920))
- Deps: bump fs-swap ([#8953](https://github.com/openethereum/openethereum/pull/8953))
- Eliminate some more `transmute()` ([#8879](https://github.com/openethereum/openethereum/pull/8879))
- Restrict vault.json permssion to owner and using random suffix for temp vault.json file ([#8932](https://github.com/openethereum/openethereum/pull/8932))
- Print SS.self_public when starting SS node ([#8949](https://github.com/openethereum/openethereum/pull/8949))
- Scripts: minor improvements ([#8930](https://github.com/openethereum/openethereum/pull/8930))
- Rpc: cap gas limit of local calls ([#8943](https://github.com/openethereum/openethereum/pull/8943))
- Docs: update changelogs ([#8931](https://github.com/openethereum/openethereum/pull/8931))
- Ethcore: fix compilation when using slow-blocks or evm-debug features ([#8936](https://github.com/openethereum/openethereum/pull/8936))
- Fixed blooms dir creation ([#8941](https://github.com/openethereum/openethereum/pull/8941))
- Update hardcoded headers ([#8925](https://github.com/openethereum/openethereum/pull/8925))
- New blooms database ([#8712](https://github.com/openethereum/openethereum/pull/8712))
- Ethstore: retry deduplication of wallet file names until success ([#8910](https://github.com/openethereum/openethereum/pull/8910))
- Update ropsten.json ([#8926](https://github.com/openethereum/openethereum/pull/8926))
- Include node identity in the P2P advertised client version. ([#8830](https://github.com/openethereum/openethereum/pull/8830))
- Allow disabling local-by-default for transactions with new config entry ([#8882](https://github.com/openethereum/openethereum/pull/8882))
- Allow Poll Lifetime to be configured via CLI ([#8885](https://github.com/openethereum/openethereum/pull/8885))
- Cleanup nibbleslice ([#8915](https://github.com/openethereum/openethereum/pull/8915))
- Hardware-wallets `Clean up things I missed in the latest PR` ([#8890](https://github.com/openethereum/openethereum/pull/8890))
- Remove debian/.deb and centos/.rpm packaging scripts ([#8887](https://github.com/openethereum/openethereum/pull/8887))
- Remove a weird emoji in new_social docs ([#8913](https://github.com/openethereum/openethereum/pull/8913))
- Minor fix in chain supplier and light provider ([#8906](https://github.com/openethereum/openethereum/pull/8906))
- Block 0 is valid in queries ([#8891](https://github.com/openethereum/openethereum/pull/8891))
- Fixed osx permissions ([#8901](https://github.com/openethereum/openethereum/pull/8901))
- Atomic create new files with permissions to owner in ethstore ([#8896](https://github.com/openethereum/openethereum/pull/8896))
- Add ETC Cooperative-run load balanced parity node ([#8892](https://github.com/openethereum/openethereum/pull/8892))
- Add support for --chain tobalaba ([#8870](https://github.com/openethereum/openethereum/pull/8870))
- Fix some warns on nightly ([#8889](https://github.com/openethereum/openethereum/pull/8889))
- Add new ovh bootnodes and fix port for foundation bootnode 3.2 ([#8886](https://github.com/openethereum/openethereum/pull/8886))
- Secretstore: service pack 1 ([#8435](https://github.com/openethereum/openethereum/pull/8435))
- Handle removed logs in filter changes and add geth compatibility field ([#8796](https://github.com/openethereum/openethereum/pull/8796))
- Fixed ipc leak, closes [#8774](https://github.com/openethereum/openethereum/issues/8774) ([#8876](https://github.com/openethereum/openethereum/pull/8876))
- Scripts: remove md5 checksums ([#8884](https://github.com/openethereum/openethereum/pull/8884))
- Hardware_wallet/Ledger `Sign messages` + some refactoring ([#8868](https://github.com/openethereum/openethereum/pull/8868))
- Check whether we need resealing in miner and unwrap has_account in account_provider ([#8853](https://github.com/openethereum/openethereum/pull/8853))
- Docker: Fix alpine build ([#8878](https://github.com/openethereum/openethereum/pull/8878))
- Remove mac os installers etc ([#8875](https://github.com/openethereum/openethereum/pull/8875))
- Readme.md: update the list of dependencies ([#8864](https://github.com/openethereum/openethereum/pull/8864))
- Fix concurrent access to signer queue ([#8854](https://github.com/openethereum/openethereum/pull/8854))
- Tx permission contract improvement ([#8400](https://github.com/openethereum/openethereum/pull/8400))
- Limit the number of transactions in pending set ([#8777](https://github.com/openethereum/openethereum/pull/8777))
- Use sealing.enabled to emit eth_mining information ([#8844](https://github.com/openethereum/openethereum/pull/8844))
- Don't allocate in expect_valid_rlp unless necessary ([#8867](https://github.com/openethereum/openethereum/pull/8867))
- Fix Cli Return Code on --help for ethkey, ethstore & whisper ([#8863](https://github.com/openethereum/openethereum/pull/8863))
- Fix subcrate test compile ([#8862](https://github.com/openethereum/openethereum/pull/8862))
- Network-devp2p: downgrade logging to debug, add target ([#8784](https://github.com/openethereum/openethereum/pull/8784))
- Clearing up a comment about the prefix for signing ([#8828](https://github.com/openethereum/openethereum/pull/8828))
- Disable parallel verification and skip verifiying already imported txs. ([#8834](https://github.com/openethereum/openethereum/pull/8834))
- Devp2p: Move UDP socket handling from Discovery to Host. ([#8790](https://github.com/openethereum/openethereum/pull/8790))
- Fixed AuthorityRound deadlock on shutdown, closes [#8088](https://github.com/openethereum/openethereum/issues/8088) ([#8803](https://github.com/openethereum/openethereum/pull/8803))
- Specify critical release flag per network ([#8821](https://github.com/openethereum/openethereum/pull/8821))
- Fix `deadlock_detection` feature branch compilation ([#8824](https://github.com/openethereum/openethereum/pull/8824))
- Use system allocator when profiling memory ([#8831](https://github.com/openethereum/openethereum/pull/8831))
- Added from and to to Receipt ([#8756](https://github.com/openethereum/openethereum/pull/8756))
- Ethcore: fix ancient block error msg handling ([#8832](https://github.com/openethereum/openethereum/pull/8832))
- Ci: Fix docker tags ([#8822](https://github.com/openethereum/openethereum/pull/8822))
- Parity: fix indentation in sync logging ([#8794](https://github.com/openethereum/openethereum/pull/8794))
- Removed obsolete IpcMode enum ([#8819](https://github.com/openethereum/openethereum/pull/8819))
- Remove UI related settings from CLI ([#8783](https://github.com/openethereum/openethereum/pull/8783))
- Remove windows tray and installer ([#8778](https://github.com/openethereum/openethereum/pull/8778))
- Docs: add changelogs for 1.10.6 and 1.11.3 ([#8810](https://github.com/openethereum/openethereum/pull/8810))
- Fix ancient blocks queue deadlock ([#8751](https://github.com/openethereum/openethereum/pull/8751))
- Disallow unsigned transactions in case EIP-86 is disabled ([#8802](https://github.com/openethereum/openethereum/pull/8802))
- Fix evmbin compilation ([#8795](https://github.com/openethereum/openethereum/pull/8795))
- Have space between feature cfg flag ([#8791](https://github.com/openethereum/openethereum/pull/8791))
- Rpc: fix address formatting in TransactionRequest Display ([#8786](https://github.com/openethereum/openethereum/pull/8786))
- Conditionally compile ethcore public test helpers ([#8743](https://github.com/openethereum/openethereum/pull/8743))
- Remove Result wrapper from AccountProvider in RPC impls ([#8763](https://github.com/openethereum/openethereum/pull/8763))
- Update `license header` and `scripts` ([#8666](https://github.com/openethereum/openethereum/pull/8666))
- Remove HostTrait altogether ([#8681](https://github.com/openethereum/openethereum/pull/8681))
- Ethcore-sync: fix connection to peers behind chain fork block ([#8710](https://github.com/openethereum/openethereum/pull/8710))
- Remove public node settings from cli ([#8758](https://github.com/openethereum/openethereum/pull/8758))
- Custom Error Messages on ENFILE and EMFILE IO Errors ([#8744](https://github.com/openethereum/openethereum/pull/8744))
- Ci: Fixes for Android Pipeline ([#8745](https://github.com/openethereum/openethereum/pull/8745))
- Remove NetworkService::config() ([#8653](https://github.com/openethereum/openethereum/pull/8653))
- Fix XOR distance calculation in discovery Kademlia impl ([#8589](https://github.com/openethereum/openethereum/pull/8589))
- Print warnings when fetching pending blocks ([#8711](https://github.com/openethereum/openethereum/pull/8711))
- Fix PoW blockchains sealing notifications in chain_new_blocks ([#8656](https://github.com/openethereum/openethereum/pull/8656))
- Remove -k/--insecure option from curl installer ([#8719](https://github.com/openethereum/openethereum/pull/8719))
- Ease tiny-keccak version requirements (1.4.1 -> 1.4) ([#8726](https://github.com/openethereum/openethereum/pull/8726))
- Bump tinykeccak to 1.4 ([#8728](https://github.com/openethereum/openethereum/pull/8728))
- Remove a couple of unnecessary `transmute()` ([#8736](https://github.com/openethereum/openethereum/pull/8736))
- Fix some nits using clippy ([#8731](https://github.com/openethereum/openethereum/pull/8731))
- Add 'interface' option to cli ([#8699](https://github.com/openethereum/openethereum/pull/8699))
- Remove unused function new_pow_test_spec ([#8735](https://github.com/openethereum/openethereum/pull/8735))
- Add a deadlock detection thread ([#8727](https://github.com/openethereum/openethereum/pull/8727))
- Fix local transactions policy. ([#8691](https://github.com/openethereum/openethereum/pull/8691))
- Shutdown the Snapshot Service early ([#8658](https://github.com/openethereum/openethereum/pull/8658))
- Network-devp2p: handle UselessPeer disconnect ([#8686](https://github.com/openethereum/openethereum/pull/8686))
- Fix compilation error on nightly rust ([#8707](https://github.com/openethereum/openethereum/pull/8707))
- Add a test for decoding corrupt data ([#8713](https://github.com/openethereum/openethereum/pull/8713))
- Update dev chain ([#8717](https://github.com/openethereum/openethereum/pull/8717))
- Remove unused imports ([#8722](https://github.com/openethereum/openethereum/pull/8722))
- Implement recursive Debug for Nodes in patrica_trie::TrieDB ([#8697](https://github.com/openethereum/openethereum/pull/8697))
- Parity: trim whitespace when parsing duration strings ([#8692](https://github.com/openethereum/openethereum/pull/8692))
- Set the request index to that of the current request ([#8683](https://github.com/openethereum/openethereum/pull/8683))
- Remove empty file ([#8705](https://github.com/openethereum/openethereum/pull/8705))
- Update mod.rs ([#8695](https://github.com/openethereum/openethereum/pull/8695))
- Use impl Future in the light client RPC helpers ([#8628](https://github.com/openethereum/openethereum/pull/8628))
- Fix cli signer ([#8682](https://github.com/openethereum/openethereum/pull/8682))
- Allow making direct RPC queries from the C API ([#8588](https://github.com/openethereum/openethereum/pull/8588))
- Remove the error when stopping the network ([#8671](https://github.com/openethereum/openethereum/pull/8671))
- Move connection_filter to the network crate ([#8674](https://github.com/openethereum/openethereum/pull/8674))
- Remove HostInfo::client_version() and secret() ([#8677](https://github.com/openethereum/openethereum/pull/8677))
- Refactor EIP150, EIP160 and EIP161 forks to be specified in CommonParams ([#8614](https://github.com/openethereum/openethereum/pull/8614))
- Parity: improve cli help and logging ([#8665](https://github.com/openethereum/openethereum/pull/8665))
- Updated tiny-keccak to 1.4.2 ([#8669](https://github.com/openethereum/openethereum/pull/8669))
- Remove the Keccak C library and use the pure Rust impl ([#8657](https://github.com/openethereum/openethereum/pull/8657))
- Remove HostInfo::next_nonce ([#8644](https://github.com/openethereum/openethereum/pull/8644))
- Fix not downloading old blocks ([#8642](https://github.com/openethereum/openethereum/pull/8642))
- Resumable warp-sync / Seed downloaded snapshots ([#8544](https://github.com/openethereum/openethereum/pull/8544))
- Don't open Browser post-install on Mac ([#8641](https://github.com/openethereum/openethereum/pull/8641))
- Changelog for 1.10.4-stable and 1.11.1-beta ([#8637](https://github.com/openethereum/openethereum/pull/8637))
- Typo ([#8640](https://github.com/openethereum/openethereum/pull/8640))
- Fork choice and metadata framework for Engine ([#8401](https://github.com/openethereum/openethereum/pull/8401))
- Check that the Android build doesn't dep on c++_shared ([#8538](https://github.com/openethereum/openethereum/pull/8538))
- Remove NetworkContext::io_channel() ([#8625](https://github.com/openethereum/openethereum/pull/8625))
- Fix light sync with initial validator-set contract ([#8528](https://github.com/openethereum/openethereum/pull/8528))
- Store morden db and keys in "path/to/parity/data/Morden" (ropsten uses "test", like before) ([#8621](https://github.com/openethereum/openethereum/pull/8621))
- ´main.rs´ typo ([#8629](https://github.com/openethereum/openethereum/pull/8629))
- Fix BlockReward contract "arithmetic operation overflow" ([#8611](https://github.com/openethereum/openethereum/pull/8611))
- Gitlab test script fixes ([#8573](https://github.com/openethereum/openethereum/pull/8573))
- Remove manually added text to the errors ([#8595](https://github.com/openethereum/openethereum/pull/8595))
- Fix account list double 0x display ([#8596](https://github.com/openethereum/openethereum/pull/8596))
- Typo: wrong indentation in kovan config ([#8610](https://github.com/openethereum/openethereum/pull/8610))
- Fix packet count when talking with PAR2 peers ([#8555](https://github.com/openethereum/openethereum/pull/8555))
- Use full qualified syntax for itertools::Itertools::flatten ([#8606](https://github.com/openethereum/openethereum/pull/8606))
- 2 tiny modification on snapshot ([#8601](https://github.com/openethereum/openethereum/pull/8601))
- Fix the mio test again ([#8602](https://github.com/openethereum/openethereum/pull/8602))
- Remove inject.js server-side injection for dapps ([#8539](https://github.com/openethereum/openethereum/pull/8539))
- Block_header can fail so return Result ([#8581](https://github.com/openethereum/openethereum/pull/8581))
- Block::decode() returns Result ([#8586](https://github.com/openethereum/openethereum/pull/8586))
- Fix compiler warning ([#8590](https://github.com/openethereum/openethereum/pull/8590))
- Fix Parity UI link ([#8600](https://github.com/openethereum/openethereum/pull/8600))
- Make mio optional in ethcore-io ([#8537](https://github.com/openethereum/openethereum/pull/8537))
- Attempt to fix intermittent test failures ([#8584](https://github.com/openethereum/openethereum/pull/8584))
- Changelog and Readme ([#8591](https://github.com/openethereum/openethereum/pull/8591))
- Added Dockerfile for alpine linux by @andresilva, closes [#3565](https://github.com/openethereum/openethereum/issues/3565) ([#8587](https://github.com/openethereum/openethereum/pull/8587))
- Add whisper CLI to the pipelines ([#8578](https://github.com/openethereum/openethereum/pull/8578))
- Rename `whisper-cli binary` to `whisper` ([#8579](https://github.com/openethereum/openethereum/pull/8579))
- Changelog nit ([#8585](https://github.com/openethereum/openethereum/pull/8585))
- Remove unnecessary cloning in overwrite_with ([#8580](https://github.com/openethereum/openethereum/pull/8580))
- Handle socket address parsing errors ([#8545](https://github.com/openethereum/openethereum/pull/8545))
- Update CHANGELOG for 1.9, 1.10, and 1.11 ([#8556](https://github.com/openethereum/openethereum/pull/8556))
- Decoding headers can fail ([#8570](https://github.com/openethereum/openethereum/pull/8570))
- Refactoring `ethcore-sync` - Fixing warp-sync barrier ([#8543](https://github.com/openethereum/openethereum/pull/8543))
- Remove State::replace_backend ([#8569](https://github.com/openethereum/openethereum/pull/8569))
- Make trace-time publishable. ([#8568](https://github.com/openethereum/openethereum/pull/8568))
- Don't block sync when importing old blocks ([#8530](https://github.com/openethereum/openethereum/pull/8530))
- Trace precompiled contracts when the transfer value is not zero ([#8486](https://github.com/openethereum/openethereum/pull/8486))
- Parity as a library ([#8412](https://github.com/openethereum/openethereum/pull/8412))
- Rlp decode returns Result ([#8527](https://github.com/openethereum/openethereum/pull/8527))
- Node table sorting according to last contact data ([#8541](https://github.com/openethereum/openethereum/pull/8541))
- Keep all enacted blocks notify in order ([#8524](https://github.com/openethereum/openethereum/pull/8524))
- Ethcore, rpc, machine: refactor block reward application and tracing ([#8490](https://github.com/openethereum/openethereum/pull/8490))
- Consolidate crypto functionality in `ethcore-crypto`. ([#8432](https://github.com/openethereum/openethereum/pull/8432))
- Eip 145: Bitwise shifting instructions in EVM ([#8451](https://github.com/openethereum/openethereum/pull/8451))
- Remove expect ([#8536](https://github.com/openethereum/openethereum/pull/8536))
- Don't panic in import_block if invalid rlp ([#8522](https://github.com/openethereum/openethereum/pull/8522))
- Pass on storage keys tracing to handle the case when it is not modified ([#8491](https://github.com/openethereum/openethereum/pull/8491))
- Fetching logs by hash in blockchain database ([#8463](https://github.com/openethereum/openethereum/pull/8463))
- Transaction Pool improvements ([#8470](https://github.com/openethereum/openethereum/pull/8470))
- More changes for Android ([#8421](https://github.com/openethereum/openethereum/pull/8421))
- Enable WebAssembly and Byzantium for Ellaism ([#8520](https://github.com/openethereum/openethereum/pull/8520))
- Secretstore: merge two types of errors into single one + Error::is_non_fatal ([#8357](https://github.com/openethereum/openethereum/pull/8357))
- Hardware Wallet trait ([#8071](https://github.com/openethereum/openethereum/pull/8071))
- Directly return None if tracing is disabled ([#8504](https://github.com/openethereum/openethereum/pull/8504))
- Show imported messages for light client ([#8517](https://github.com/openethereum/openethereum/pull/8517))
- Remove unused dependency `bigint` ([#8505](https://github.com/openethereum/openethereum/pull/8505))
- `duration_ns: u64 -> duration: Duration` ([#8457](https://github.com/openethereum/openethereum/pull/8457))
- Return error if RLP size of transaction exceeds the limit ([#8473](https://github.com/openethereum/openethereum/pull/8473))
- Remove three old warp boot nodes. ([#8497](https://github.com/openethereum/openethereum/pull/8497))
- Update wasmi and pwasm-utils ([#8493](https://github.com/openethereum/openethereum/pull/8493))
- Update hardcodedSync for Ethereum, Kovan, and Ropsten ([#8489](https://github.com/openethereum/openethereum/pull/8489))
- Fix snap builds ([#8483](https://github.com/openethereum/openethereum/pull/8483))
- Bump master to 1.12 ([#8477](https://github.com/openethereum/openethereum/pull/8477))
- Don't require write lock when fetching status. ([#8481](https://github.com/openethereum/openethereum/pull/8481))
- Use rename_all for RichBlock and RichHeader serialization ([#8471](https://github.com/openethereum/openethereum/pull/8471))
- Update snapcraft.yaml ([#9132](https://github.com/paritytech/parity-ethereum/pull/9132))
- Parity Ethereum 2.0.0 ([#9052](https://github.com/paritytech/parity-ethereum/pull/9052))
- Don't fetch snapshot chunks at random ([#9088](https://github.com/paritytech/parity-ethereum/pull/9088))
- Remove the dapps system ([#9017](https://github.com/paritytech/parity-ethereum/pull/9017))
- Fix nightly warnings ([#9080](https://github.com/paritytech/parity-ethereum/pull/9080))
- Db: remove wal disabling / fast-and-loose option. ([#8963](https://github.com/paritytech/parity-ethereum/pull/8963))
- Transactions hashes missing in trace_replayBlockTransactions method result [#8725](https://github.com/paritytech/parity-ethereum/issues/8725) ([#8883](https://github.com/paritytech/parity-ethereum/pull/8883))
- Delete crates from parity-ethereum and fetch them from parity-common instead ([#9083](https://github.com/paritytech/parity-ethereum/pull/9083))
- Updater verification ([#8787](https://github.com/paritytech/parity-ethereum/pull/8787))
- Phrasing, precisions and typos in CLI help ([#9060](https://github.com/paritytech/parity-ethereum/pull/9060))
- Some work towards iOS build ([#9045](https://github.com/paritytech/parity-ethereum/pull/9045))
- Clean up deprecated options and add CHECK macro ([#9036](https://github.com/paritytech/parity-ethereum/pull/9036))
- Replace `std::env::home_dir` with `dirs::home_dir` ([#9077](https://github.com/paritytech/parity-ethereum/pull/9077))
- Fix warning in secret-store test ([#9074](https://github.com/paritytech/parity-ethereum/pull/9074))
- Seedhashcompute remove needless `new` impl ([#9063](https://github.com/paritytech/parity-ethereum/pull/9063))
- Remove trait bounds from several structs ([#9055](https://github.com/paritytech/parity-ethereum/pull/9055))
- Docs: add changelog for 1.10.9 stable and 1.11.6 beta ([#9069](https://github.com/paritytech/parity-ethereum/pull/9069))
- Enable test in `miner/pool/test` ([#9072](https://github.com/paritytech/parity-ethereum/pull/9072))
- Fetch: replace futures-timer with tokio-timer ([#9066](https://github.com/paritytech/parity-ethereum/pull/9066))
- Remove util-error ([#9054](https://github.com/paritytech/parity-ethereum/pull/9054))
- Fixes for misbehavior reporting in AuthorityRound ([#8998](https://github.com/paritytech/parity-ethereum/pull/8998))
- A last bunch of txqueue performance optimizations ([#9024](https://github.com/paritytech/parity-ethereum/pull/9024))
- Reduce number of constraints for triedb types ([#9043](https://github.com/paritytech/parity-ethereum/pull/9043))
- Bump fs-swap to 0.2.3 so it is compatible with osx 10.11 again ([#9050](https://github.com/paritytech/parity-ethereum/pull/9050))
- Recursive test ([#9042](https://github.com/paritytech/parity-ethereum/pull/9042))
- Introduce more optional features in ethcore ([#9020](https://github.com/paritytech/parity-ethereum/pull/9020))
- Update ETSC bootnodes ([#9038](https://github.com/paritytech/parity-ethereum/pull/9038))
- Optimize pending transactions filter ([#9026](https://github.com/paritytech/parity-ethereum/pull/9026))
- Eip160/eip161 spec: u64 -> BlockNumber ([#9044](https://github.com/paritytech/parity-ethereum/pull/9044))
- Move the C/C++ example to another directory ([#9032](https://github.com/paritytech/parity-ethereum/pull/9032))
- Bump parking_lot to 0.6 ([#9013](https://github.com/paritytech/parity-ethereum/pull/9013))
- Never drop local transactions from different senders. ([#9002](https://github.com/paritytech/parity-ethereum/pull/9002))
- Precise HTTP or WebSockets for JSON-RPC options ([#9027](https://github.com/paritytech/parity-ethereum/pull/9027))
- Recently rejected cache for transaction queue ([#9005](https://github.com/paritytech/parity-ethereum/pull/9005))
- Make HashDB generic ([#8739](https://github.com/paritytech/parity-ethereum/pull/8739))
- Only return error log for rustls ([#9025](https://github.com/paritytech/parity-ethereum/pull/9025))
- Update Changelogs for 1.10.8 and 1.11.5 ([#9012](https://github.com/paritytech/parity-ethereum/pull/9012))
- Attempt to graceful shutdown in case of panics ([#8999](https://github.com/paritytech/parity-ethereum/pull/8999))
- Simplify kvdb error types ([#8924](https://github.com/paritytech/parity-ethereum/pull/8924))
- Add option for user to set max size limit for RPC requests ([#9010](https://github.com/paritytech/parity-ethereum/pull/9010))
- Bump ntp to 0.5.0 ([#9009](https://github.com/paritytech/parity-ethereum/pull/9009))
- Removed duplicate dependency ([#9021](https://github.com/paritytech/parity-ethereum/pull/9021))
- Minimal effective gas price in the queue ([#8934](https://github.com/paritytech/parity-ethereum/pull/8934))
- Parity: fix db path when migrating to blooms db ([#8975](https://github.com/paritytech/parity-ethereum/pull/8975))
- Preserve the current abort behavior ([#8995](https://github.com/paritytech/parity-ethereum/pull/8995))
- Improve should_replace on NonceAndGasPrice ([#8980](https://github.com/paritytech/parity-ethereum/pull/8980))
- Tentative fix for missing dependency error ([#8973](https://github.com/paritytech/parity-ethereum/pull/8973))
- Refactor evm Instruction to be a c-like enum ([#8914](https://github.com/paritytech/parity-ethereum/pull/8914))
- Fix deadlock in blockchain. ([#8977](https://github.com/paritytech/parity-ethereum/pull/8977))
- Snap: downgrade rust to revision 1.26.2, ref snapcraft/+bug/1778530 ([#8984](https://github.com/paritytech/parity-ethereum/pull/8984))
- Use local parity-dapps-glue instead of crate published at crates.io ([#8983](https://github.com/paritytech/parity-ethereum/pull/8983))
- Parity: omit redundant last imported block number in light sync informant ([#8962](https://github.com/paritytech/parity-ethereum/pull/8962))
- Disable hardware-wallets on platforms that don't support `libusb` ([#8464](https://github.com/paritytech/parity-ethereum/pull/8464))
- Bump error-chain and quick_error versions ([#8972](https://github.com/paritytech/parity-ethereum/pull/8972))
- Evm benchmark utilities ([#8944](https://github.com/paritytech/parity-ethereum/pull/8944))
- Parity: hide legacy options from cli --help ([#8967](https://github.com/paritytech/parity-ethereum/pull/8967))
- Scripts: fix docker build tag on latest using master ([#8952](https://github.com/paritytech/parity-ethereum/pull/8952))
- Add type for passwords. ([#8920](https://github.com/paritytech/parity-ethereum/pull/8920))
- Deps: bump fs-swap ([#8953](https://github.com/paritytech/parity-ethereum/pull/8953))
- Eliminate some more `transmute()` ([#8879](https://github.com/paritytech/parity-ethereum/pull/8879))
- Restrict vault.json permssion to owner and using random suffix for temp vault.json file ([#8932](https://github.com/paritytech/parity-ethereum/pull/8932))
- Print SS.self_public when starting SS node ([#8949](https://github.com/paritytech/parity-ethereum/pull/8949))
- Scripts: minor improvements ([#8930](https://github.com/paritytech/parity-ethereum/pull/8930))
- Rpc: cap gas limit of local calls ([#8943](https://github.com/paritytech/parity-ethereum/pull/8943))
- Docs: update changelogs ([#8931](https://github.com/paritytech/parity-ethereum/pull/8931))
- Ethcore: fix compilation when using slow-blocks or evm-debug features ([#8936](https://github.com/paritytech/parity-ethereum/pull/8936))
- Fixed blooms dir creation ([#8941](https://github.com/paritytech/parity-ethereum/pull/8941))
- Update hardcoded headers ([#8925](https://github.com/paritytech/parity-ethereum/pull/8925))
- New blooms database ([#8712](https://github.com/paritytech/parity-ethereum/pull/8712))
- Ethstore: retry deduplication of wallet file names until success ([#8910](https://github.com/paritytech/parity-ethereum/pull/8910))
- Update ropsten.json ([#8926](https://github.com/paritytech/parity-ethereum/pull/8926))
- Include node identity in the P2P advertised client version. ([#8830](https://github.com/paritytech/parity-ethereum/pull/8830))
- Allow disabling local-by-default for transactions with new config entry ([#8882](https://github.com/paritytech/parity-ethereum/pull/8882))
- Allow Poll Lifetime to be configured via CLI ([#8885](https://github.com/paritytech/parity-ethereum/pull/8885))
- Cleanup nibbleslice ([#8915](https://github.com/paritytech/parity-ethereum/pull/8915))
- Hardware-wallets `Clean up things I missed in the latest PR` ([#8890](https://github.com/paritytech/parity-ethereum/pull/8890))
- Remove debian/.deb and centos/.rpm packaging scripts ([#8887](https://github.com/paritytech/parity-ethereum/pull/8887))
- Remove a weird emoji in new_social docs ([#8913](https://github.com/paritytech/parity-ethereum/pull/8913))
- Minor fix in chain supplier and light provider ([#8906](https://github.com/paritytech/parity-ethereum/pull/8906))
- Block 0 is valid in queries ([#8891](https://github.com/paritytech/parity-ethereum/pull/8891))
- Fixed osx permissions ([#8901](https://github.com/paritytech/parity-ethereum/pull/8901))
- Atomic create new files with permissions to owner in ethstore ([#8896](https://github.com/paritytech/parity-ethereum/pull/8896))
- Add ETC Cooperative-run load balanced parity node ([#8892](https://github.com/paritytech/parity-ethereum/pull/8892))
- Add support for --chain tobalaba ([#8870](https://github.com/paritytech/parity-ethereum/pull/8870))
- Fix some warns on nightly ([#8889](https://github.com/paritytech/parity-ethereum/pull/8889))
- Add new ovh bootnodes and fix port for foundation bootnode 3.2 ([#8886](https://github.com/paritytech/parity-ethereum/pull/8886))
- Secretstore: service pack 1 ([#8435](https://github.com/paritytech/parity-ethereum/pull/8435))
- Handle removed logs in filter changes and add geth compatibility field ([#8796](https://github.com/paritytech/parity-ethereum/pull/8796))
- Fixed ipc leak, closes [#8774](https://github.com/paritytech/parity-ethereum/issues/8774) ([#8876](https://github.com/paritytech/parity-ethereum/pull/8876))
- Scripts: remove md5 checksums ([#8884](https://github.com/paritytech/parity-ethereum/pull/8884))
- Hardware_wallet/Ledger `Sign messages` + some refactoring ([#8868](https://github.com/paritytech/parity-ethereum/pull/8868))
- Check whether we need resealing in miner and unwrap has_account in account_provider ([#8853](https://github.com/paritytech/parity-ethereum/pull/8853))
- Docker: Fix alpine build ([#8878](https://github.com/paritytech/parity-ethereum/pull/8878))
- Remove mac os installers etc ([#8875](https://github.com/paritytech/parity-ethereum/pull/8875))
- Readme.md: update the list of dependencies ([#8864](https://github.com/paritytech/parity-ethereum/pull/8864))
- Fix concurrent access to signer queue ([#8854](https://github.com/paritytech/parity-ethereum/pull/8854))
- Tx permission contract improvement ([#8400](https://github.com/paritytech/parity-ethereum/pull/8400))
- Limit the number of transactions in pending set ([#8777](https://github.com/paritytech/parity-ethereum/pull/8777))
- Use sealing.enabled to emit eth_mining information ([#8844](https://github.com/paritytech/parity-ethereum/pull/8844))
- Don't allocate in expect_valid_rlp unless necessary ([#8867](https://github.com/paritytech/parity-ethereum/pull/8867))
- Fix Cli Return Code on --help for ethkey, ethstore & whisper ([#8863](https://github.com/paritytech/parity-ethereum/pull/8863))
- Fix subcrate test compile ([#8862](https://github.com/paritytech/parity-ethereum/pull/8862))
- Network-devp2p: downgrade logging to debug, add target ([#8784](https://github.com/paritytech/parity-ethereum/pull/8784))
- Clearing up a comment about the prefix for signing ([#8828](https://github.com/paritytech/parity-ethereum/pull/8828))
- Disable parallel verification and skip verifiying already imported txs. ([#8834](https://github.com/paritytech/parity-ethereum/pull/8834))
- Devp2p: Move UDP socket handling from Discovery to Host. ([#8790](https://github.com/paritytech/parity-ethereum/pull/8790))
- Fixed AuthorityRound deadlock on shutdown, closes [#8088](https://github.com/paritytech/parity-ethereum/issues/8088) ([#8803](https://github.com/paritytech/parity-ethereum/pull/8803))
- Specify critical release flag per network ([#8821](https://github.com/paritytech/parity-ethereum/pull/8821))
- Fix `deadlock_detection` feature branch compilation ([#8824](https://github.com/paritytech/parity-ethereum/pull/8824))
- Use system allocator when profiling memory ([#8831](https://github.com/paritytech/parity-ethereum/pull/8831))
- Added from and to to Receipt ([#8756](https://github.com/paritytech/parity-ethereum/pull/8756))
- Ethcore: fix ancient block error msg handling ([#8832](https://github.com/paritytech/parity-ethereum/pull/8832))
- Ci: Fix docker tags ([#8822](https://github.com/paritytech/parity-ethereum/pull/8822))
- Parity: fix indentation in sync logging ([#8794](https://github.com/paritytech/parity-ethereum/pull/8794))
- Removed obsolete IpcMode enum ([#8819](https://github.com/paritytech/parity-ethereum/pull/8819))
- Remove UI related settings from CLI ([#8783](https://github.com/paritytech/parity-ethereum/pull/8783))
- Remove windows tray and installer ([#8778](https://github.com/paritytech/parity-ethereum/pull/8778))
- Docs: add changelogs for 1.10.6 and 1.11.3 ([#8810](https://github.com/paritytech/parity-ethereum/pull/8810))
- Fix ancient blocks queue deadlock ([#8751](https://github.com/paritytech/parity-ethereum/pull/8751))
- Disallow unsigned transactions in case EIP-86 is disabled ([#8802](https://github.com/paritytech/parity-ethereum/pull/8802))
- Fix evmbin compilation ([#8795](https://github.com/paritytech/parity-ethereum/pull/8795))
- Have space between feature cfg flag ([#8791](https://github.com/paritytech/parity-ethereum/pull/8791))
- Rpc: fix address formatting in TransactionRequest Display ([#8786](https://github.com/paritytech/parity-ethereum/pull/8786))
- Conditionally compile ethcore public test helpers ([#8743](https://github.com/paritytech/parity-ethereum/pull/8743))
- Remove Result wrapper from AccountProvider in RPC impls ([#8763](https://github.com/paritytech/parity-ethereum/pull/8763))
- Update `license header` and `scripts` ([#8666](https://github.com/paritytech/parity-ethereum/pull/8666))
- Remove HostTrait altogether ([#8681](https://github.com/paritytech/parity-ethereum/pull/8681))
- Ethcore-sync: fix connection to peers behind chain fork block ([#8710](https://github.com/paritytech/parity-ethereum/pull/8710))
- Remove public node settings from cli ([#8758](https://github.com/paritytech/parity-ethereum/pull/8758))
- Custom Error Messages on ENFILE and EMFILE IO Errors ([#8744](https://github.com/paritytech/parity-ethereum/pull/8744))
- Ci: Fixes for Android Pipeline ([#8745](https://github.com/paritytech/parity-ethereum/pull/8745))
- Remove NetworkService::config() ([#8653](https://github.com/paritytech/parity-ethereum/pull/8653))
- Fix XOR distance calculation in discovery Kademlia impl ([#8589](https://github.com/paritytech/parity-ethereum/pull/8589))
- Print warnings when fetching pending blocks ([#8711](https://github.com/paritytech/parity-ethereum/pull/8711))
- Fix PoW blockchains sealing notifications in chain_new_blocks ([#8656](https://github.com/paritytech/parity-ethereum/pull/8656))
- Remove -k/--insecure option from curl installer ([#8719](https://github.com/paritytech/parity-ethereum/pull/8719))
- Ease tiny-keccak version requirements (1.4.1 -> 1.4) ([#8726](https://github.com/paritytech/parity-ethereum/pull/8726))
- Bump tinykeccak to 1.4 ([#8728](https://github.com/paritytech/parity-ethereum/pull/8728))
- Remove a couple of unnecessary `transmute()` ([#8736](https://github.com/paritytech/parity-ethereum/pull/8736))
- Fix some nits using clippy ([#8731](https://github.com/paritytech/parity-ethereum/pull/8731))
- Add 'interface' option to cli ([#8699](https://github.com/paritytech/parity-ethereum/pull/8699))
- Remove unused function new_pow_test_spec ([#8735](https://github.com/paritytech/parity-ethereum/pull/8735))
- Add a deadlock detection thread ([#8727](https://github.com/paritytech/parity-ethereum/pull/8727))
- Fix local transactions policy. ([#8691](https://github.com/paritytech/parity-ethereum/pull/8691))
- Shutdown the Snapshot Service early ([#8658](https://github.com/paritytech/parity-ethereum/pull/8658))
- Network-devp2p: handle UselessPeer disconnect ([#8686](https://github.com/paritytech/parity-ethereum/pull/8686))
- Fix compilation error on nightly rust ([#8707](https://github.com/paritytech/parity-ethereum/pull/8707))
- Add a test for decoding corrupt data ([#8713](https://github.com/paritytech/parity-ethereum/pull/8713))
- Update dev chain ([#8717](https://github.com/paritytech/parity-ethereum/pull/8717))
- Remove unused imports ([#8722](https://github.com/paritytech/parity-ethereum/pull/8722))
- Implement recursive Debug for Nodes in patrica_trie::TrieDB ([#8697](https://github.com/paritytech/parity-ethereum/pull/8697))
- Parity: trim whitespace when parsing duration strings ([#8692](https://github.com/paritytech/parity-ethereum/pull/8692))
- Set the request index to that of the current request ([#8683](https://github.com/paritytech/parity-ethereum/pull/8683))
- Remove empty file ([#8705](https://github.com/paritytech/parity-ethereum/pull/8705))
- Update mod.rs ([#8695](https://github.com/paritytech/parity-ethereum/pull/8695))
- Use impl Future in the light client RPC helpers ([#8628](https://github.com/paritytech/parity-ethereum/pull/8628))
- Fix cli signer ([#8682](https://github.com/paritytech/parity-ethereum/pull/8682))
- Allow making direct RPC queries from the C API ([#8588](https://github.com/paritytech/parity-ethereum/pull/8588))
- Remove the error when stopping the network ([#8671](https://github.com/paritytech/parity-ethereum/pull/8671))
- Move connection_filter to the network crate ([#8674](https://github.com/paritytech/parity-ethereum/pull/8674))
- Remove HostInfo::client_version() and secret() ([#8677](https://github.com/paritytech/parity-ethereum/pull/8677))
- Refactor EIP150, EIP160 and EIP161 forks to be specified in CommonParams ([#8614](https://github.com/paritytech/parity-ethereum/pull/8614))
- Parity: improve cli help and logging ([#8665](https://github.com/paritytech/parity-ethereum/pull/8665))
- Updated tiny-keccak to 1.4.2 ([#8669](https://github.com/paritytech/parity-ethereum/pull/8669))
- Remove the Keccak C library and use the pure Rust impl ([#8657](https://github.com/paritytech/parity-ethereum/pull/8657))
- Remove HostInfo::next_nonce ([#8644](https://github.com/paritytech/parity-ethereum/pull/8644))
- Fix not downloading old blocks ([#8642](https://github.com/paritytech/parity-ethereum/pull/8642))
- Resumable warp-sync / Seed downloaded snapshots ([#8544](https://github.com/paritytech/parity-ethereum/pull/8544))
- Don't open Browser post-install on Mac ([#8641](https://github.com/paritytech/parity-ethereum/pull/8641))
- Changelog for 1.10.4-stable and 1.11.1-beta ([#8637](https://github.com/paritytech/parity-ethereum/pull/8637))
- Typo ([#8640](https://github.com/paritytech/parity-ethereum/pull/8640))
- Fork choice and metadata framework for Engine ([#8401](https://github.com/paritytech/parity-ethereum/pull/8401))
- Check that the Android build doesn't dep on c++_shared ([#8538](https://github.com/paritytech/parity-ethereum/pull/8538))
- Remove NetworkContext::io_channel() ([#8625](https://github.com/paritytech/parity-ethereum/pull/8625))
- Fix light sync with initial validator-set contract ([#8528](https://github.com/paritytech/parity-ethereum/pull/8528))
- Store morden db and keys in "path/to/parity/data/Morden" (ropsten uses "test", like before) ([#8621](https://github.com/paritytech/parity-ethereum/pull/8621))
- ´main.rs´ typo ([#8629](https://github.com/paritytech/parity-ethereum/pull/8629))
- Fix BlockReward contract "arithmetic operation overflow" ([#8611](https://github.com/paritytech/parity-ethereum/pull/8611))
- Gitlab test script fixes ([#8573](https://github.com/paritytech/parity-ethereum/pull/8573))
- Remove manually added text to the errors ([#8595](https://github.com/paritytech/parity-ethereum/pull/8595))
- Fix account list double 0x display ([#8596](https://github.com/paritytech/parity-ethereum/pull/8596))
- Typo: wrong indentation in kovan config ([#8610](https://github.com/paritytech/parity-ethereum/pull/8610))
- Fix packet count when talking with PAR2 peers ([#8555](https://github.com/paritytech/parity-ethereum/pull/8555))
- Use full qualified syntax for itertools::Itertools::flatten ([#8606](https://github.com/paritytech/parity-ethereum/pull/8606))
- 2 tiny modification on snapshot ([#8601](https://github.com/paritytech/parity-ethereum/pull/8601))
- Fix the mio test again ([#8602](https://github.com/paritytech/parity-ethereum/pull/8602))
- Remove inject.js server-side injection for dapps ([#8539](https://github.com/paritytech/parity-ethereum/pull/8539))
- Block_header can fail so return Result ([#8581](https://github.com/paritytech/parity-ethereum/pull/8581))
- Block::decode() returns Result ([#8586](https://github.com/paritytech/parity-ethereum/pull/8586))
- Fix compiler warning ([#8590](https://github.com/paritytech/parity-ethereum/pull/8590))
- Fix Parity UI link ([#8600](https://github.com/paritytech/parity-ethereum/pull/8600))
- Make mio optional in ethcore-io ([#8537](https://github.com/paritytech/parity-ethereum/pull/8537))
- Attempt to fix intermittent test failures ([#8584](https://github.com/paritytech/parity-ethereum/pull/8584))
- Changelog and Readme ([#8591](https://github.com/paritytech/parity-ethereum/pull/8591))
- Added Dockerfile for alpine linux by @andresilva, closes [#3565](https://github.com/paritytech/parity-ethereum/issues/3565) ([#8587](https://github.com/paritytech/parity-ethereum/pull/8587))
- Add whisper CLI to the pipelines ([#8578](https://github.com/paritytech/parity-ethereum/pull/8578))
- Rename `whisper-cli binary` to `whisper` ([#8579](https://github.com/paritytech/parity-ethereum/pull/8579))
- Changelog nit ([#8585](https://github.com/paritytech/parity-ethereum/pull/8585))
- Remove unnecessary cloning in overwrite_with ([#8580](https://github.com/paritytech/parity-ethereum/pull/8580))
- Handle socket address parsing errors ([#8545](https://github.com/paritytech/parity-ethereum/pull/8545))
- Update CHANGELOG for 1.9, 1.10, and 1.11 ([#8556](https://github.com/paritytech/parity-ethereum/pull/8556))
- Decoding headers can fail ([#8570](https://github.com/paritytech/parity-ethereum/pull/8570))
- Refactoring `ethcore-sync` - Fixing warp-sync barrier ([#8543](https://github.com/paritytech/parity-ethereum/pull/8543))
- Remove State::replace_backend ([#8569](https://github.com/paritytech/parity-ethereum/pull/8569))
- Make trace-time publishable. ([#8568](https://github.com/paritytech/parity-ethereum/pull/8568))
- Don't block sync when importing old blocks ([#8530](https://github.com/paritytech/parity-ethereum/pull/8530))
- Trace precompiled contracts when the transfer value is not zero ([#8486](https://github.com/paritytech/parity-ethereum/pull/8486))
- Parity as a library ([#8412](https://github.com/paritytech/parity-ethereum/pull/8412))
- Rlp decode returns Result ([#8527](https://github.com/paritytech/parity-ethereum/pull/8527))
- Node table sorting according to last contact data ([#8541](https://github.com/paritytech/parity-ethereum/pull/8541))
- Keep all enacted blocks notify in order ([#8524](https://github.com/paritytech/parity-ethereum/pull/8524))
- Ethcore, rpc, machine: refactor block reward application and tracing ([#8490](https://github.com/paritytech/parity-ethereum/pull/8490))
- Consolidate crypto functionality in `ethcore-crypto`. ([#8432](https://github.com/paritytech/parity-ethereum/pull/8432))
- Eip 145: Bitwise shifting instructions in EVM ([#8451](https://github.com/paritytech/parity-ethereum/pull/8451))
- Remove expect ([#8536](https://github.com/paritytech/parity-ethereum/pull/8536))
- Don't panic in import_block if invalid rlp ([#8522](https://github.com/paritytech/parity-ethereum/pull/8522))
- Pass on storage keys tracing to handle the case when it is not modified ([#8491](https://github.com/paritytech/parity-ethereum/pull/8491))
- Fetching logs by hash in blockchain database ([#8463](https://github.com/paritytech/parity-ethereum/pull/8463))
- Transaction Pool improvements ([#8470](https://github.com/paritytech/parity-ethereum/pull/8470))
- More changes for Android ([#8421](https://github.com/paritytech/parity-ethereum/pull/8421))
- Enable WebAssembly and Byzantium for Ellaism ([#8520](https://github.com/paritytech/parity-ethereum/pull/8520))
- Secretstore: merge two types of errors into single one + Error::is_non_fatal ([#8357](https://github.com/paritytech/parity-ethereum/pull/8357))
- Hardware Wallet trait ([#8071](https://github.com/paritytech/parity-ethereum/pull/8071))
- Directly return None if tracing is disabled ([#8504](https://github.com/paritytech/parity-ethereum/pull/8504))
- Show imported messages for light client ([#8517](https://github.com/paritytech/parity-ethereum/pull/8517))
- Remove unused dependency `bigint` ([#8505](https://github.com/paritytech/parity-ethereum/pull/8505))
- `duration_ns: u64 -> duration: Duration` ([#8457](https://github.com/paritytech/parity-ethereum/pull/8457))
- Return error if RLP size of transaction exceeds the limit ([#8473](https://github.com/paritytech/parity-ethereum/pull/8473))
- Remove three old warp boot nodes. ([#8497](https://github.com/paritytech/parity-ethereum/pull/8497))
- Update wasmi and pwasm-utils ([#8493](https://github.com/paritytech/parity-ethereum/pull/8493))
- Update hardcodedSync for Ethereum, Kovan, and Ropsten ([#8489](https://github.com/paritytech/parity-ethereum/pull/8489))
- Fix snap builds ([#8483](https://github.com/paritytech/parity-ethereum/pull/8483))
- Bump master to 1.12 ([#8477](https://github.com/paritytech/parity-ethereum/pull/8477))
- Don't require write lock when fetching status. ([#8481](https://github.com/paritytech/parity-ethereum/pull/8481))
- Use rename_all for RichBlock and RichHeader serialization ([#8471](https://github.com/paritytech/parity-ethereum/pull/8471))

File diff suppressed because it is too large Load Diff

View File

@@ -1,392 +0,0 @@
Note: Parity Ethereum 2.2 reached End-of-Life on 2019-02-25 (EOL).
## Parity-Ethereum [v2.2.11](https://github.com/openethereum/openethereum/releases/tag/v2.2.11) (2019-02-21)
Parity-Ethereum 2.2.11-stable is a maintenance release that fixes snap and docker installations.
The full list of included changes:
- Stable: snap: release untagged versions from branches to the candidate ([#10357](https://github.com/openethereum/openethereum/pull/10357)) ([#10372](https://github.com/openethereum/openethereum/pull/10372))
- Snap: release untagged versions from branches to the candidate snap channel ([#10357](https://github.com/openethereum/openethereum/pull/10357))
- Snap: add the removable-media plug ([#10377](https://github.com/openethereum/openethereum/pull/10377))
- Exchanged old(azure) bootnodes with new(ovh) ones ([#10309](https://github.com/openethereum/openethereum/pull/10309))
- Stable Backports ([#10353](https://github.com/openethereum/openethereum/pull/10353))
- Version: bump stable to 2.2.11
- Snap: prefix version and populate candidate channel ([#10343](https://github.com/openethereum/openethereum/pull/10343))
- Snap: populate candidate releases with beta snaps to avoid stale channel
- Snap: prefix version with v*
- No volumes are needed, just run -v volume:/path/in/the/container ([#10345](https://github.com/openethereum/openethereum/pull/10345))
## Parity-Ethereum [v2.2.10](https://github.com/openethereum/openethereum/releases/tag/v2.2.10) (2019-02-13)
Parity-Ethereum 2.2.10-stable is a security-relevant release. A bug in the JSONRPC-deserialization module can cause crashes of all versions of Parity Ethereum nodes if an attacker is able to submit a specially-crafted RPC to certain publicly available endpoints.
- https://www.parity.io/new-parity-ethereum-update-fixes-several-rpc-vulnerabilities/
The full list of included changes:
- Additional error for invalid gas ([#10327](https://github.com/openethereum/openethereum/pull/10327)) ([#10329](https://github.com/openethereum/openethereum/pull/10329))
- Backports for Stable 2.2.10 ([#10332](https://github.com/openethereum/openethereum/pull/10332))
- fix(docker-aarch64) : cross-compile config ([#9798](https://github.com/openethereum/openethereum/pull/9798))
- import rpc transactions sequentially ([#10051](https://github.com/openethereum/openethereum/pull/10051))
- fix(docker): fix not receives SIGINT ([#10059](https://github.com/openethereum/openethereum/pull/10059))
- snap: official image / test ([#10168](https://github.com/openethereum/openethereum/pull/10168))
- perform stripping during build ([#10208](https://github.com/openethereum/openethereum/pull/10208))
- Additional tests for uint/hash/bytes deserialization. ([#10279](https://github.com/openethereum/openethereum/pull/10279))
- Don't run the CPP example on CI ([#10285](https://github.com/openethereum/openethereum/pull/10285))
- CI optimizations ([#10297](https://github.com/openethereum/openethereum/pull/10297))
- fix publish job ([#10317](https://github.com/openethereum/openethereum/pull/10317))
- Add Statetest support for Constantinople Fix ([#10323](https://github.com/openethereum/openethereum/pull/10323))
- Add helper for Timestamp overflows ([#10330](https://github.com/openethereum/openethereum/pull/10330))
- Don't add discovery initiators to the node table ([#10305](https://github.com/openethereum/openethereum/pull/10305))
- change docker image based on debian instead of ubuntu due to the chan ([#10336](https://github.com/openethereum/openethereum/pull/10336))
- role back docker build image and docker deploy image to ubuntu:xenial based ([#10338](https://github.com/openethereum/openethereum/pull/10338))
## Parity-Ethereum [v2.2.9](https://github.com/openethereum/openethereum/releases/tag/v2.2.9) (2019-02-03)
Parity-Ethereum 2.2.9-stable is a security-relevant release. A bug in the JSONRPC-deserialization module can cause crashes of all versions of Parity Ethereum nodes if an attacker is able to submit a specially-crafted RPC to certain publicly available endpoints.
- https://www.parity.io/security-alert-parity-ethereum-03-02/
The full list of included changes:
- Additional tests for uint deserialization. ([#10279](https://github.com/openethereum/openethereum/pull/10279)) ([#10281](https://github.com/openethereum/openethereum/pull/10281))
- Version: bump stable to 2.2.9 ([#10282](https://github.com/openethereum/openethereum/pull/10282))
## Parity-Ethereum [v2.2.8](https://github.com/openethereum/openethereum/releases/tag/v2.2.8) (2019-02-01)
Parity-Ethereum 2.2.8-stable is a consensus-relevant release that enables _St. Petersfork_ on:
- Ethereum Block `7280000` (along with Constantinople)
- Kovan Block `10255201`
- Ropsten Block `4939394`
- POA Sokol Block `7026400`
In addition to this, Constantinople is cancelled for the POA Core network. Upgrading is mandatory for clients on any of these chains.
The full list of included changes:
- Backports for stable 2.2.8 ([#10224](https://github.com/openethereum/openethereum/pull/10224))
- Update for Android cross-compilation. ([#10180](https://github.com/openethereum/openethereum/pull/10180))
- Cancel Constantinople HF on POA Core ([#10198](https://github.com/openethereum/openethereum/pull/10198))
- Add EIP-1283 disable transition ([#10214](https://github.com/openethereum/openethereum/pull/10214))
- Enable St-Peters-Fork ("Constantinople Fix") ([#10223](https://github.com/openethereum/openethereum/pull/10223))
- Stable: Macos heapsize force jemalloc ([#10234](https://github.com/openethereum/openethereum/pull/10234)) ([#10258](https://github.com/openethereum/openethereum/pull/10258))
## Parity-Ethereum [v2.2.7](https://github.com/openethereum/openethereum/releases/tag/v2.2.7) (2019-01-15)
Parity-Ethereum 2.2.7-stable is a consensus-relevant security release that reverts Constantinople on the Ethereum network. Upgrading is mandatory for Ethereum, and strongly recommended for other networks.
- **Consensus** - Ethereum Network: Pull Constantinople protocol upgrade on Ethereum ([#10189](https://github.com/openethereum/openethereum/pull/10189))
- Read more: [Security Alert: Ethereum Constantinople Postponement](https://blog.ethereum.org/2019/01/15/security-alert-ethereum-constantinople-postponement/)
- **Networking** - All networks: Ping nodes from discovery ([#10167](https://github.com/openethereum/openethereum/pull/10167))
- **Wasm** - Kovan Network: Update pwasm-utils to 0.6.1 ([#10134](https://github.com/openethereum/openethereum/pull/10134))
_Note:_ This release marks Parity 2.2 as _stable_. All versions of Parity 2.1 now reached _end of life_.
The full list of included changes:
- Backports for stable 2.2.7 ([#10163](https://github.com/openethereum/openethereum/pull/10163))
- Version: bump stable to 2.2.7
- Version: mark 2.2 track stable
- Version: mark update critical on all networks
- Handle the case for contract creation on an empty but exist account with storage items ([#10065](https://github.com/openethereum/openethereum/pull/10065))
- Fix _cannot recursively call into `Core`_ issue ([#10144](https://github.com/openethereum/openethereum/pull/10144))
- Snap: fix path in script ([#10157](https://github.com/openethereum/openethereum/pull/10157))
- Ping nodes from discovery ([#10167](https://github.com/openethereum/openethereum/pull/10167))
- Version: bump fork blocks for kovan and foundation, mark releases non critical
- Pull constantinople on ethereum network ([#10189](https://github.com/openethereum/openethereum/pull/10189))
## Parity-Ethereum [v2.2.6](https://github.com/openethereum/openethereum/releases/tag/v2.2.6) (2019-01-10)
Parity-Ethereum 2.2.6-beta is a bugfix release that improves performance and stability.
The full list of included changes:
- Beta backports v2.2.6 ([#10113](https://github.com/openethereum/openethereum/pull/10113))
- Version: bump beta to v2.2.6
- Fill transaction hash on ethGetLog of light client. ([#9938](https://github.com/openethereum/openethereum/pull/9938))
- Fix pubsub new_blocks notifications to include all blocks ([#9987](https://github.com/openethereum/openethereum/pull/9987))
- Finality: dont require chain head to be in the chain ([#10054](https://github.com/openethereum/openethereum/pull/10054))
- Handle the case for contract creation on an empty but exist account with storage items ([#10065](https://github.com/openethereum/openethereum/pull/10065))
- Autogen docs for the "Configuring Parity Ethereum" wiki page. ([#10067](https://github.com/openethereum/openethereum/pull/10067))
- HF in POA Sokol (2019-01-04) ([#10077](https://github.com/openethereum/openethereum/pull/10077))
- Add --locked when running cargo ([#10107](https://github.com/openethereum/openethereum/pull/10107))
- Ethcore: update hardcoded headers ([#10123](https://github.com/openethereum/openethereum/pull/10123))
- Identity fix ([#10128](https://github.com/openethereum/openethereum/pull/10128))
- Update pwasm-utils to 0.6.1 ([#10134](https://github.com/openethereum/openethereum/pull/10134))
- Make sure parent block is not in importing queue when importing ancient blocks ([#10138](https://github.com/openethereum/openethereum/pull/10138))
- CI: re-enable snap publishing ([#10142](https://github.com/openethereum/openethereum/pull/10142))
- HF in POA Core (2019-01-18) - Constantinople ([#10155](https://github.com/openethereum/openethereum/pull/10155))
- Version: mark upgrade critical on kovan
## Parity-Ethereum [v2.2.5](https://github.com/openethereum/openethereum/releases/tag/v2.2.5) (2018-12-14)
Parity-Ethereum 2.2.5-beta is an important release that introduces Constantinople fork at block 7080000 on Mainnet.
This release also contains a fix for chains using AuRa + EmptySteps. Read carefully if this applies to you.
If you have a chain with`empty_steps` already running, some blocks most likely contain non-strict entries (unordered or duplicated empty steps). In this release`strict_empty_steps_transition` **is enabled by default at block 0** for any chain with `empty_steps`.
If your network uses `empty_steps` you **must**:
- plan a hard fork and change `strict_empty_steps_transition` to the desire fork block
- update the clients of the whole network to 2.2.5-beta / 2.1.10-stable.
If for some reason you don't want to do this please set`strict_empty_steps_transition` to `0xfffffffff` to disable it.
The full list of included changes:
- Backports for beta 2.2.5 ([#10047](https://github.com/openethereum/openethereum/pull/10047))
- Bump beta to 2.2.5 ([#10047](https://github.com/openethereum/openethereum/pull/10047))
- Fix empty steps ([#9939](https://github.com/openethereum/openethereum/pull/9939))
- Prevent sending empty step message twice
- Prevent sending empty step and then block in the same step
- Don't accept double empty steps
- Do basic validation of self-sealed blocks
- Strict empty steps validation ([#10041](https://github.com/openethereum/openethereum/pull/10041))
- Enables strict verification of empty steps - there can be no duplicates and empty steps should be ordered inside the seal.
- Note that authorities won't produce invalid seals after [#9939](https://github.com/openethereum/openethereum/pull/9939), this PR just adds verification to the seal to prevent forging incorrect blocks and potentially causing consensus issues.
- This features is enabled by default so any AuRa + EmptySteps chain should set strict_empty_steps_transition fork block number in their spec and upgrade to v2.2.5-beta or v2.1.10-stable.
- ethcore: enable constantinople on ethereum ([#10031](https://github.com/openethereum/openethereum/pull/10031))
- ethcore: change blockreward to 2e18 for foundation after constantinople
- ethcore: delay diff bomb by 2e6 blocks for foundation after constantinople
- ethcore: enable eip-{145,1014,1052,1283} for foundation after constantinople
- Change test miner max memory to malloc reports. ([#10024](https://github.com/openethereum/openethereum/pull/10024))
- Fix: test corpus_inaccessible panic ([#10019](https://github.com/openethereum/openethereum/pull/10019))
## Parity-Ethereum [v2.2.2](https://github.com/openethereum/openethereum/releases/tag/v2.2.2) (2018-11-29)
Parity-Ethereum 2.2.2-beta is an exciting release. Among others, it improves sync performance, peering stability, block propagation, and transaction propagation times. Also, a warp-sync no longer removes existing blocks from the database, but rather reuses locally available information to decrease sync times and reduces required bandwidth.
Before upgrading to 2.2.2, please also verify the validity of your chain specs. Parity Ethereum now denies unknown fields in the specification. To do this, use the chainspec tool:
```
cargo build --release -p chainspec
./target/release/chainspec /path/to/spec.json
```
Last but not least, JSONRPC APIs which are not yet accepted as an EIP in the `eth`, `personal`, or `web3` namespace, are now considere experimental as their final specification might change in future. These APIs have to be manually enabled by explicitly running `--jsonrpc-experimental`.
The full list of included changes:
- Backports For beta 2.2.2 ([#9976](https://github.com/openethereum/openethereum/pull/9976))
- Version: bump beta to 2.2.2
- Add experimental RPCs flag ([#9928](https://github.com/openethereum/openethereum/pull/9928))
- Keep existing blocks when restoring a Snapshot ([#8643](https://github.com/openethereum/openethereum/pull/8643))
- Rename db_restore => client
- First step: make it compile!
- Second step: working implementation!
- Refactoring
- Fix tests
- Migrate ancient blocks interacting backward
- Early return in block migration if snapshot is aborted
- Remove RwLock getter (PR Grumble I)
- Remove dependency on `Client`: only used Traits
- Add test for recovering aborted snapshot recovery
- Add test for migrating old blocks
- Release RwLock earlier
- Revert Cargo.lock
- Update _update ancient block_ logic: set local in `commit`
- Update typo in ethcore/src/snapshot/service.rs
- Adjust requests costs for light client ([#9925](https://github.com/openethereum/openethereum/pull/9925))
- Pip Table Cost relative to average peers instead of max peers
- Add tracing in PIP new_cost_table
- Update stat peer_count
- Use number of leeching peers for Light serve costs
- Fix test::light_params_load_share_depends_on_max_peers (wrong type)
- Remove (now) useless test
- Remove `load_share` from LightParams.Config
- Add LEECHER_COUNT_FACTOR
- Pr Grumble: u64 to u32 for f64 casting
- Prevent u32 overflow for avg_peer_count
- Add tests for LightSync::Statistics
- Fix empty steps ([#9939](https://github.com/openethereum/openethereum/pull/9939))
- Don't send empty step twice or empty step then block.
- Perform basic validation of locally sealed blocks.
- Don't include empty step twice.
- Prevent silent errors in daemon mode, closes [#9367](https://github.com/openethereum/openethereum/issues/9367) ([#9946](https://github.com/openethereum/openethereum/pull/9946))
- Fix a deadlock ([#9952](https://github.com/openethereum/openethereum/pull/9952))
- Update informant:
- Decimal in Mgas/s
- Print every 5s (not randomly between 5s and 10s)
- Fix dead-lock in `blockchain.rs`
- Update locks ordering
- Fix light client informant while syncing ([#9932](https://github.com/openethereum/openethereum/pull/9932))
- Add `is_idle` to LightSync to check importing status
- Use SyncStateWrapper to make sure is_idle gets updates
- Update is_major_import to use verified queue size as well
- Add comment for `is_idle`
- Add Debug to `SyncStateWrapper`
- `fn get` -> `fn into_inner`
- Ci: rearrange pipeline by logic ([#9970](https://github.com/openethereum/openethereum/pull/9970))
- Ci: rearrange pipeline by logic
- Ci: rename docs script
- Fix docker build ([#9971](https://github.com/openethereum/openethereum/pull/9971))
- Deny unknown fields for chainspec ([#9972](https://github.com/openethereum/openethereum/pull/9972))
- Add deny_unknown_fields to chainspec
- Add tests and fix existing one
- Remove serde_ignored dependency for chainspec
- Fix rpc test eth chain spec
- Fix starting_nonce_test spec
- Improve block and transaction propagation ([#9954](https://github.com/openethereum/openethereum/pull/9954))
- Refactor sync to add priority tasks.
- Send priority tasks notifications.
- Propagate blocks, optimize transactions.
- Implement transaction propagation. Use sync_channel.
- Tone down info.
- Prevent deadlock by not waiting forever for sync lock.
- Fix lock order.
- Don't use sync_channel to prevent deadlocks.
- Fix tests.
- Fix unstable peers and slowness in sync ([#9967](https://github.com/openethereum/openethereum/pull/9967))
- Don't sync all peers after each response
- Update formating
- Fix tests: add `continue_sync` to `Sync_step`
- Update ethcore/sync/src/chain/mod.rs
- Fix rpc middlewares
- Fix Cargo.lock
- Json: resolve merge in spec
- Rpc: fix starting_nonce_test
- Ci: allow nightl job to fail
## Parity-Ethereum [v2.2.1](https://github.com/openethereum/openethereum/releases/tag/v2.2.1) (2018-11-15)
Parity-Ethereum 2.2.1-beta is the first v2.2 release, and might introduce features that break previous work flows, among others:
- Prevent zero network ID ([#9763](https://github.com/openethereum/openethereum/pull/9763)) and drop support for Olympic testnet ([#9801](https://github.com/openethereum/openethereum/pull/9801)): The Olympic test net is dead for years and never used a chain ID but network ID zero. Parity Ethereum is now preventing the network ID to be zero, thus Olympic support is dropped. Make sure to chose positive non-zero network IDs in future.
- Multithreaded snapshot creation ([#9239](https://github.com/openethereum/openethereum/pull/9239)): adds a CLI argument `--snapshot-threads` which specifies the number of threads. This helps improving the performance of full nodes that wish to provide warp-snapshots for the network. The gain in performance comes with a slight drawback in increased snapshot size.
- Expose config max-round-blocks-to-import ([#9439](https://github.com/openethereum/openethereum/pull/9439)): Parity Ethereum imports blocks in rounds. If at the end of any round, the queue is not empty, we consider it to be _importing_ and won't notify pubsub. On large re-orgs (10+ blocks), this is possible. The default `max_round_blocks_to_import` is increased to 12 and configurable via the `--max-round-blocks-to-import` CLI flag. With unstable network conditions, it is advised to increase the number. This shouldn't have any noticeable performance impact unless the number is set to really large.
- Increase Gas-floor-target and Gas Cap ([#9564](https://github.com/openethereum/openethereum/pull/9564)): the default values for gas floor target are `8_000_000` and gas cap `10_000_000`, similar to Geth 1.8.15+.
- Produce portable binaries ([#9725](https://github.com/openethereum/openethereum/pull/9725)): we now produce portable binaries, but it may incur some performance degradation. For ultimate performance it's now better to compile Parity Ethereum from source with `PORTABLE=OFF` environment variable.
- RPC: `parity_allTransactionHashes` ([#9745](https://github.com/openethereum/openethereum/pull/9745)): Get all pending transactions from the queue with the high performant `parity_allTransactionHashes` RPC method.
- Support `eth_chainId` RPC method ([#9783](https://github.com/openethereum/openethereum/pull/9783)): implements EIP-695 to get the chainID via RPC.
- AuRa: finalize blocks ([#9692](https://github.com/openethereum/openethereum/pull/9692)): The AuRa engine was updated to emit ancestry actions to finalize blocks. The full client stores block finality in the database, the engine builds finality from an ancestry of `ExtendedHeader`; `is_epoch_end` was updated to take a vec of recently finalized headers; `is_epoch_end_light` was added which maintains the previous interface and is used by the light client since the client itself doesn't track finality.
The full list of included changes:
- Backport to parity 2.2.1 beta ([#9905](https://github.com/openethereum/openethereum/pull/9905))
- Bump version to 2.2.1
- Fix: Intermittent failing CI due to addr in use ([#9885](https://github.com/openethereum/openethereum/pull/9885))
- Fix Parity not closing on Ctrl-C ([#9886](https://github.com/openethereum/openethereum/pull/9886))
- Fix json tracer overflow ([#9873](https://github.com/openethereum/openethereum/pull/9873))
- Fix docker script ([#9854](https://github.com/openethereum/openethereum/pull/9854))
- Add hardcoded headers for light client ([#9907](https://github.com/openethereum/openethereum/pull/9907))
- Gitlab-ci: make android release build succeed ([#9743](https://github.com/openethereum/openethereum/pull/9743))
- Allow to seal work on latest block ([#9876](https://github.com/openethereum/openethereum/pull/9876))
- Remove rust-toolchain file ([#9906](https://github.com/openethereum/openethereum/pull/9906))
- Light-fetch: Differentiate between out-of-gas/manual throw and use required gas from response on failure ([#9824](https://github.com/openethereum/openethereum/pull/9824))
- Eip-712 implementation ([#9631](https://github.com/openethereum/openethereum/pull/9631))
- Eip-191 implementation ([#9701](https://github.com/openethereum/openethereum/pull/9701))
- Simplify cargo audit ([#9918](https://github.com/openethereum/openethereum/pull/9918))
- Fix performance issue importing Kovan blocks ([#9914](https://github.com/openethereum/openethereum/pull/9914))
- Ci: nuke the gitlab caches ([#9855](https://github.com/openethereum/openethereum/pull/9855))
- Backports to parity beta 2.2.0 ([#9820](https://github.com/openethereum/openethereum/pull/9820))
- Ci: remove failing tests for android, windows, and macos ([#9788](https://github.com/openethereum/openethereum/pull/9788))
- Implement NoProof for json tests and update tests reference ([#9814](https://github.com/openethereum/openethereum/pull/9814))
- Move state root verification before gas used ([#9841](https://github.com/openethereum/openethereum/pull/9841))
- Classic.json Bootnode Update ([#9828](https://github.com/openethereum/openethereum/pull/9828))
- Rpc: parity_allTransactionHashes ([#9745](https://github.com/openethereum/openethereum/pull/9745))
- Revert "prevent zero networkID ([#9763](https://github.com/openethereum/openethereum/pull/9763))" ([#9815](https://github.com/openethereum/openethereum/pull/9815))
- Allow zero chain id in EIP155 signing process ([#9792](https://github.com/openethereum/openethereum/pull/9792))
- Add readiness check for docker container ([#9804](https://github.com/openethereum/openethereum/pull/9804))
- Insert dev account before unlocking ([#9813](https://github.com/openethereum/openethereum/pull/9813))
- Removed "rustup" & added new runner tag ([#9731](https://github.com/openethereum/openethereum/pull/9731))
- Expose config max-round-blocks-to-import ([#9439](https://github.com/openethereum/openethereum/pull/9439))
- Aura: finalize blocks ([#9692](https://github.com/openethereum/openethereum/pull/9692))
- Sync: retry different peer after empty subchain heads response ([#9753](https://github.com/openethereum/openethereum/pull/9753))
- Fix(light-rpc/parity) : Remove unused client ([#9802](https://github.com/openethereum/openethereum/pull/9802))
- Drops support for olympic testnet, closes [#9800](https://github.com/openethereum/openethereum/issues/9800) ([#9801](https://github.com/openethereum/openethereum/pull/9801))
- Replace `tokio_core` with `tokio` (`ring` -> 0.13) ([#9657](https://github.com/openethereum/openethereum/pull/9657))
- Support eth_chainId RPC method ([#9783](https://github.com/openethereum/openethereum/pull/9783))
- Ethcore: bump ropsten forkblock checkpoint ([#9775](https://github.com/openethereum/openethereum/pull/9775))
- Docs: changelogs for 2.0.8 and 2.1.3 ([#9758](https://github.com/openethereum/openethereum/pull/9758))
- Prevent zero networkID ([#9763](https://github.com/openethereum/openethereum/pull/9763))
- Skip seal fields count check when --no-seal-check is used ([#9757](https://github.com/openethereum/openethereum/pull/9757))
- Aura: fix panic on extra_info with unsealed block ([#9755](https://github.com/openethereum/openethereum/pull/9755))
- Docs: update changelogs ([#9742](https://github.com/openethereum/openethereum/pull/9742))
- Removed extra assert in generation_session_is_removed_when_succeeded ([#9738](https://github.com/openethereum/openethereum/pull/9738))
- Make checkpoint_storage_at use plain loop instead of recursion ([#9734](https://github.com/openethereum/openethereum/pull/9734))
- Use signed 256-bit integer for sstore gas refund substate ([#9746](https://github.com/openethereum/openethereum/pull/9746))
- Heads ref not present for branches beta and stable ([#9741](https://github.com/openethereum/openethereum/pull/9741))
- Add Callisto support ([#9534](https://github.com/openethereum/openethereum/pull/9534))
- Add --force to cargo audit install script ([#9735](https://github.com/openethereum/openethereum/pull/9735))
- Remove unused expired value from Handshake ([#9732](https://github.com/openethereum/openethereum/pull/9732))
- Add hardcoded headers ([#9730](https://github.com/openethereum/openethereum/pull/9730))
- Produce portable binaries ([#9725](https://github.com/openethereum/openethereum/pull/9725))
- Gitlab ci: releasable_branches: change variables condition to schedule ([#9729](https://github.com/openethereum/openethereum/pull/9729))
- Update a few parity-common dependencies ([#9663](https://github.com/openethereum/openethereum/pull/9663))
- Hf in POA Core (2018-10-22) ([#9724](https://github.com/openethereum/openethereum/pull/9724))
- Schedule nightly builds ([#9717](https://github.com/openethereum/openethereum/pull/9717))
- Fix ancient blocks sync ([#9531](https://github.com/openethereum/openethereum/pull/9531))
- Ci: Skip docs job for nightly ([#9693](https://github.com/openethereum/openethereum/pull/9693))
- Fix (light/provider) : Make `read_only executions` read-only ([#9591](https://github.com/openethereum/openethereum/pull/9591))
- Ethcore: fix detection of major import ([#9552](https://github.com/openethereum/openethereum/pull/9552))
- Return 0 on error ([#9705](https://github.com/openethereum/openethereum/pull/9705))
- Ethcore: delay ropsten hardfork ([#9704](https://github.com/openethereum/openethereum/pull/9704))
- Make instantSeal engine backwards compatible, closes [#9696](https://github.com/openethereum/openethereum/issues/9696) ([#9700](https://github.com/openethereum/openethereum/pull/9700))
- Implement CREATE2 gas changes and fix some potential overflowing ([#9694](https://github.com/openethereum/openethereum/pull/9694))
- Don't hash the init_code of CREATE. ([#9688](https://github.com/openethereum/openethereum/pull/9688))
- Ethcore: minor optimization of modexp by using LR exponentiation ([#9697](https://github.com/openethereum/openethereum/pull/9697))
- Removed redundant clone before each block import ([#9683](https://github.com/openethereum/openethereum/pull/9683))
- Add Foundation Bootnodes ([#9666](https://github.com/openethereum/openethereum/pull/9666))
- Docker: run as parity user ([#9689](https://github.com/openethereum/openethereum/pull/9689))
- Ethcore: mcip3 block reward contract ([#9605](https://github.com/openethereum/openethereum/pull/9605))
- Verify block syncing responses against requests ([#9670](https://github.com/openethereum/openethereum/pull/9670))
- Add a new RPC `parity_submitWorkDetail` similar `eth_submitWork` but return block hash ([#9404](https://github.com/openethereum/openethereum/pull/9404))
- Resumable EVM and heap-allocated callstack ([#9360](https://github.com/openethereum/openethereum/pull/9360))
- Update parity-wordlist library ([#9682](https://github.com/openethereum/openethereum/pull/9682))
- Ci: Remove unnecessary pipes ([#9681](https://github.com/openethereum/openethereum/pull/9681))
- Test.sh: use cargo --target for platforms other than linux, win or mac ([#9650](https://github.com/openethereum/openethereum/pull/9650))
- Ci: fix push script ([#9679](https://github.com/openethereum/openethereum/pull/9679))
- Hardfork the testnets ([#9562](https://github.com/openethereum/openethereum/pull/9562))
- Calculate sha3 instead of sha256 for push-release. ([#9673](https://github.com/openethereum/openethereum/pull/9673))
- Ethcore-io retries failed work steal ([#9651](https://github.com/openethereum/openethereum/pull/9651))
- Fix(light_fetch): avoid race with BlockNumber::Latest ([#9665](https://github.com/openethereum/openethereum/pull/9665))
- Test fix for windows cache name... ([#9658](https://github.com/openethereum/openethereum/pull/9658))
- Refactor(fetch) : light use only one `DNS` thread ([#9647](https://github.com/openethereum/openethereum/pull/9647))
- Ethereum libfuzzer integration small change ([#9547](https://github.com/openethereum/openethereum/pull/9547))
- Cli: remove reference to --no-ui in --unlock flag help ([#9616](https://github.com/openethereum/openethereum/pull/9616))
- Remove master from releasable branches ([#9655](https://github.com/openethereum/openethereum/pull/9655))
- Ethcore/VerificationQueue don't spawn up extra `worker-threads` when explictly specified not to ([#9620](https://github.com/openethereum/openethereum/pull/9620))
- Rpc: parity_getBlockReceipts ([#9527](https://github.com/openethereum/openethereum/pull/9527))
- Remove unused dependencies ([#9589](https://github.com/openethereum/openethereum/pull/9589))
- Ignore key_server_cluster randomly failing tests ([#9639](https://github.com/openethereum/openethereum/pull/9639))
- Ethcore: handle vm exception when estimating gas ([#9615](https://github.com/openethereum/openethereum/pull/9615))
- Fix bad-block reporting no reason ([#9638](https://github.com/openethereum/openethereum/pull/9638))
- Use static call and apparent value transfer for block reward contract code ([#9603](https://github.com/openethereum/openethereum/pull/9603))
- Hf in POA Sokol (2018-09-19) ([#9607](https://github.com/openethereum/openethereum/pull/9607))
- Bump smallvec to 0.6 in ethcore-light, ethstore and whisper ([#9588](https://github.com/openethereum/openethereum/pull/9588))
- Add constantinople conf to EvmTestClient. ([#9570](https://github.com/openethereum/openethereum/pull/9570))
- Fix(network): don't disconnect reserved peers ([#9608](https://github.com/openethereum/openethereum/pull/9608))
- Fix failing node-table tests on mac os, closes [#9632](https://github.com/openethereum/openethereum/issues/9632) ([#9633](https://github.com/openethereum/openethereum/pull/9633))
- Update ropsten.json ([#9602](https://github.com/openethereum/openethereum/pull/9602))
- Simplify ethcore errors by removing BlockImportError ([#9593](https://github.com/openethereum/openethereum/pull/9593))
- Fix windows compilation, replaces [#9561](https://github.com/openethereum/openethereum/issues/9561) ([#9621](https://github.com/openethereum/openethereum/pull/9621))
- Master: rpc-docs set github token ([#9610](https://github.com/openethereum/openethereum/pull/9610))
- Docs: add changelogs for 1.11.10, 1.11.11, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.1.0, and 2.1.1 ([#9554](https://github.com/openethereum/openethereum/pull/9554))
- Docs(rpc): annotate tag with the provided message ([#9601](https://github.com/openethereum/openethereum/pull/9601))
- Ci: fix regex roll_eyes ([#9597](https://github.com/openethereum/openethereum/pull/9597))
- Remove snapcraft clean ([#9585](https://github.com/openethereum/openethereum/pull/9585))
- Add snapcraft package image (master) ([#9584](https://github.com/openethereum/openethereum/pull/9584))
- Docs(rpc): push the branch along with tags ([#9578](https://github.com/openethereum/openethereum/pull/9578))
- Fix typo for jsonrpc-threads flag ([#9574](https://github.com/openethereum/openethereum/pull/9574))
- Fix informant compile ([#9571](https://github.com/openethereum/openethereum/pull/9571))
- Added ropsten bootnodes ([#9569](https://github.com/openethereum/openethereum/pull/9569))
- Increase Gas-floor-target and Gas Cap ([#9564](https://github.com/openethereum/openethereum/pull/9564))
- While working on the platform tests make them non-breaking ([#9563](https://github.com/openethereum/openethereum/pull/9563))
- Improve P2P discovery ([#9526](https://github.com/openethereum/openethereum/pull/9526))
- Move dockerfile for android build container to scripts repo ([#9560](https://github.com/openethereum/openethereum/pull/9560))
- Simultaneous platform tests WIP ([#9557](https://github.com/openethereum/openethereum/pull/9557))
- Update ethabi-derive, serde, serde_json, serde_derive, syn && quote ([#9553](https://github.com/openethereum/openethereum/pull/9553))
- Ci: fix rpc docs generation 2 ([#9550](https://github.com/openethereum/openethereum/pull/9550))
- Ci: always run build pipelines for win, mac, linux, and android ([#9537](https://github.com/openethereum/openethereum/pull/9537))
- Multithreaded snapshot creation ([#9239](https://github.com/openethereum/openethereum/pull/9239))
- New ethabi ([#9511](https://github.com/openethereum/openethereum/pull/9511))
- Remove initial token for WS. ([#9545](https://github.com/openethereum/openethereum/pull/9545))
- Net_version caches network_id to avoid redundant aquire of sync readlock ([#9544](https://github.com/openethereum/openethereum/pull/9544))
- Correct before_script for nightly build versions ([#9543](https://github.com/openethereum/openethereum/pull/9543))
- Deps: bump kvdb-rocksdb to 0.1.4 ([#9539](https://github.com/openethereum/openethereum/pull/9539))
- State: test when contract creation fails, old storage values should re-appear ([#9532](https://github.com/openethereum/openethereum/pull/9532))
- Allow dropping light client RPC query with no results ([#9318](https://github.com/openethereum/openethereum/pull/9318))
- Bump master to 2.2.0 ([#9517](https://github.com/openethereum/openethereum/pull/9517))
- Enable all Constantinople hard fork changes in constantinople_test.json ([#9505](https://github.com/openethereum/openethereum/pull/9505))
- [Light] Validate `account balance` before importing transactions ([#9417](https://github.com/openethereum/openethereum/pull/9417))
- In create memory calculation is the same for create2 because the additional parameter was popped before. ([#9522](https://github.com/openethereum/openethereum/pull/9522))
- Update patricia trie to 0.2.2 ([#9525](https://github.com/openethereum/openethereum/pull/9525))
- Replace hardcoded JSON with serde json! macro ([#9489](https://github.com/openethereum/openethereum/pull/9489))
- Fix typo in version string ([#9516](https://github.com/openethereum/openethereum/pull/9516))

View File

@@ -1,288 +0,0 @@
## Parity-Ethereum [v2.3.8](https://github.com/openethereum/openethereum/releases/tag/v2.3.8) (2019-03-22)
Parity-Ethereum 2.3.8-stable is a bugfix release that improves performance and stability. This patch release contains a critical bug fix where serving light clients previously led to client crashes. Upgrading is highly recommended.
The full list of included changes:
- 2.3.8 stable backports ([#10507](https://github.com/openethereum/openethereum/pull/10507))
- Version: bump stable
- Add additional request tests ([#10503](https://github.com/openethereum/openethereum/pull/10503))
## Parity-Ethereum [v2.3.7](https://github.com/openethereum/openethereum/releases/tag/v2.3.7) (2019-03-20)
Parity-Ethereum 2.3.7-stable is a bugfix release that improves performance and stability.
The full list of included changes:
- 2.3.7 stable backports ([#10487](https://github.com/openethereum/openethereum/pull/10487))
- Version: bump stable
- Сaching through docker volume ([#10477](https://github.com/openethereum/openethereum/pull/10477))
- fix win&mac build ([#10486](https://github.com/openethereum/openethereum/pull/10486))
- fix(extract `timestamp_checked_add` as lib) ([#10383](https://github.com/openethereum/openethereum/pull/10383))
## Parity-Ethereum [v2.3.6](https://github.com/openethereum/openethereum/releases/tag/v2.3.6) (2019-03-19)
Parity-Ethereum 2.3.6-stable is a bugfix release that improves performance and stability.
The full list of included changes:
- 2.3.6 stable backports ([#10470](https://github.com/openethereum/openethereum/pull/10470))
- Version: bump stable
- CI publish to aws ([#10446](https://github.com/openethereum/openethereum/pull/10446))
- Ensure static validator set changes are recognized ([#10467](https://github.com/openethereum/openethereum/pull/10467))
- CI aws git checkout ([#10451](https://github.com/openethereum/openethereum/pull/10451))
- Revert "CI aws git checkout ([#10451](https://github.com/openethereum/openethereum/pull/10451))" ([#10456](https://github.com/openethereum/openethereum/pull/10456))
- Tests parallelized ([#10452](https://github.com/openethereum/openethereum/pull/10452))
## Parity-Ethereum [v2.3.5](https://github.com/openethereum/openethereum/releases/tag/v2.3.5) (2019-02-25)
Parity-Ethereum 2.3.5-stable is a bugfix release that improves performance and stability.
Note, all 2.2 releases and older are now unsupported and upgrading is recommended.
The full list of included changes:
- More Backports for Stable 2.3.5 ([#10430](https://github.com/openethereum/openethereum/pull/10430))
- Revert some changes, could be buggy ([#10399](https://github.com/openethereum/openethereum/pull/10399))
- Ci: clean up gitlab-ci.yml leftovers from previous merge ([#10429](https://github.com/openethereum/openethereum/pull/10429))
- 10000 > 5000 ([#10422](https://github.com/openethereum/openethereum/pull/10422))
- Fix underflow in pip, closes [#10419](https://github.com/openethereum/openethereum/pull/10419) ([#10423](https://github.com/openethereum/openethereum/pull/10423))
- Fix panic when logging directory does not exist, closes [#10420](https://github.com/openethereum/openethereum/pull/10420) ([#10424](https://github.com/openethereum/openethereum/pull/10424))
- Update hardcoded headers for Foundation, Ropsten, Kovan and Classic ([#10417](https://github.com/openethereum/openethereum/pull/10417))
- Backports for Stable 2.3.5 ([#10414](https://github.com/openethereum/openethereum/pull/10414))
- No-git for publish jobs, empty artifacts dir ([#10393](https://github.com/openethereum/openethereum/pull/10393))
- Snap: reenable i386, arm64, armhf architecture publishing ([#10386](https://github.com/openethereum/openethereum/pull/10386))
- Tx pool: always accept local transactions ([#10375](https://github.com/openethereum/openethereum/pull/10375))
- Fix to_pod storage trie value decoding ([#10368)](https://github.com/openethereum/openethereum/pull/10368))
- Version: mark 2.3.5 as stable
## Parity-Ethereum [v2.3.4](https://github.com/openethereum/openethereum/releases/tag/v2.3.4) (2019-02-21)
Parity-Ethereum 2.3.4-beta is a maintenance release that fixes snap and docker installations.
The full list of included changes:
- Beta: snap: release untagged versions from branches to the candidate ([#10357](https://github.com/openethereum/openethereum/pull/10357)) ([#10373](https://github.com/openethereum/openethereum/pull/10373))
- Snap: release untagged versions from branches to the candidate snap channel ([#10357](https://github.com/openethereum/openethereum/pull/10357))
- Snap: add the removable-media plug ([#10377](https://github.com/openethereum/openethereum/pull/10377))
- Exchanged old(azure) bootnodes with new(ovh) ones ([#10309](https://github.com/openethereum/openethereum/pull/10309))
- Beta Backports ([#10354](https://github.com/openethereum/openethereum/pull/10354))
- Version: bump beta to 2.3.4
- Snap: prefix version and populate candidate channel ([#10343](https://github.com/openethereum/openethereum/pull/10343))
- Snap: populate candidate releases with beta snaps to avoid stale channel
- Snap: prefix version with v*
- No volumes are needed, just run -v volume:/path/in/the/container ([#10345](https://github.com/openethereum/openethereum/pull/10345))
## Parity-Ethereum [v2.3.3](https://github.com/openethereum/openethereum/releases/tag/v2.3.3) (2019-02-13)
Parity-Ethereum 2.3.3-beta is a security-relevant release. A bug in the JSONRPC-deserialization module can cause crashes of all versions of Parity Ethereum nodes if an attacker is able to submit a specially-crafted RPC to certain publicly available endpoints.
- https://www.parity.io/new-parity-ethereum-update-fixes-several-rpc-vulnerabilities/
The full list of included changes:
- Additional error for invalid gas ([#10327](https://github.com/openethereum/openethereum/pull/10327)) ([#10328](https://github.com/openethereum/openethereum/pull/10328))
- Backports for Beta 2.3.3 ([#10333](https://github.com/openethereum/openethereum/pull/10333))
- Properly handle check_epoch_end_signal errors ([#10015](https://github.com/openethereum/openethereum/pull/10015))
- import rpc transactions sequentially ([#10051](https://github.com/openethereum/openethereum/pull/10051))
- fix(docker): fix not receives SIGINT ([#10059](https://github.com/openethereum/openethereum/pull/10059))
- snap: official image / test ([#10168](https://github.com/openethereum/openethereum/pull/10168))
- Extract CallContract and RegistryInfo traits into their own crate ([#10178](https://github.com/openethereum/openethereum/pull/10178))
- perform stripping during build ([#10208](https://github.com/openethereum/openethereum/pull/10208))
- Remove CallContract and RegistryInfo re-exports from `ethcore/client` ([#10205](https://github.com/openethereum/openethereum/pull/10205))
- fixed: types::transaction::SignedTransaction; ([#10229](https://github.com/openethereum/openethereum/pull/10229))
- Additional tests for uint/hash/bytes deserialization. ([#10279](https://github.com/openethereum/openethereum/pull/10279))
- Fix Windows build ([#10284](https://github.com/openethereum/openethereum/pull/10284))
- Don't run the CPP example on CI ([#10285](https://github.com/openethereum/openethereum/pull/10285))
- CI optimizations ([#10297](https://github.com/openethereum/openethereum/pull/10297))
- fix publish job ([#10317](https://github.com/openethereum/openethereum/pull/10317))
- Add Statetest support for Constantinople Fix ([#10323](https://github.com/openethereum/openethereum/pull/10323))
- Add helper for Timestamp overflows ([#10330](https://github.com/openethereum/openethereum/pull/10330))
- Don't add discovery initiators to the node table ([#10305](https://github.com/openethereum/openethereum/pull/10305))
- change docker image based on debian instead of ubuntu due to the chan ([#10336](https://github.com/openethereum/openethereum/pull/10336))
- role back docker build image and docker deploy image to ubuntu:xenial based ([#10338](https://github.com/openethereum/openethereum/pull/10338))
## Parity-Ethereum [v2.3.2](https://github.com/openethereum/openethereum/releases/tag/v2.3.2) (2019-02-03)
Parity-Ethereum 2.3.2-stable is a security-relevant release. A bug in the JSONRPC-deserialization module can cause crashes of all versions of Parity Ethereum nodes if an attacker is able to submit a specially-crafted RPC to certain publicly available endpoints.
- https://www.parity.io/security-alert-parity-ethereum-03-02/
The full list of included changes:
- Version: bump beta to 2.3.2 ([#10283](https://github.com/openethereum/openethereum/pull/10283))
- Additional tests for uint deserialization. ([#10279](https://github.com/openethereum/openethereum/pull/10279)) ([#10280](https://github.com/openethereum/openethereum/pull/10280))
- Backport [#10285](https://github.com/openethereum/openethereum/pull/10285) to beta ([#10286](https://github.com/openethereum/openethereum/pull/10286))
## Parity-Ethereum [v2.3.1](https://github.com/openethereum/openethereum/releases/tag/v2.3.1) (2019-02-01)
Parity-Ethereum 2.3.1-beta is a consensus-relevant release that enables _St. Petersfork_ on:
- Ethereum Block `7280000` (along with Constantinople)
- Kovan Block `10255201`
- Ropsten Block `4939394`
- POA Sokol Block `7026400`
In addition to this, Constantinople is cancelled for the POA Core network. Upgrading is mandatory for clients on any of these chains.
The full list of included changes:
- Backports for beta 2.3.1 ([#10225](https://github.com/openethereum/openethereum/pull/10225))
- Fix _cannot recursively call into `Core`_ issue ([#10144](https://github.com/openethereum/openethereum/pull/10144))
- Update for Android cross-compilation. ([#10180](https://github.com/openethereum/openethereum/pull/10180))
- Fix _cannot recursively call into `Core`_ - Part 2 ([#10195](https://github.com/openethereum/openethereum/pull/10195))
- Cancel Constantinople HF on POA Core ([#10198](https://github.com/openethereum/openethereum/pull/10198))
- Add EIP-1283 disable transition ([#10214](https://github.com/openethereum/openethereum/pull/10214))
- Enable St-Peters-Fork ("Constantinople Fix") ([#10223](https://github.com/openethereum/openethereum/pull/10223))
- Beta: Macos heapsize force jemalloc ([#10234](https://github.com/openethereum/openethereum/pull/10234)) ([#10259](https://github.com/openethereum/openethereum/pull/10259))
## Parity-Ethereum [v2.3.0](https://github.com/openethereum/openethereum/releases/tag/v2.3.0) (2019-01-16)
Parity-Ethereum 2.3.0-beta is a consensus-relevant security release that reverts Constantinople on the Ethereum network. Upgrading is mandatory for Ethereum, and strongly recommended for other networks.
- **Consensus** - Ethereum Network: Pull Constantinople protocol upgrade on Ethereum ([#10189](https://github.com/openethereum/openethereum/pull/10189))
- Read more: [Security Alert: Ethereum Constantinople Postponement](https://blog.ethereum.org/2019/01/15/security-alert-ethereum-constantinople-postponement/)
- **Networking** - All networks: Ping nodes from discovery ([#10167](https://github.com/openethereum/openethereum/pull/10167))
- **Wasm** - Kovan Network: Update pwasm-utils to 0.6.1 ([#10134](https://github.com/openethereum/openethereum/pull/10134))
Other notable changes:
- Existing blocks in the database are now kept when restoring a Snapshot. ([#8643](https://github.com/openethereum/openethereum/pull/8643))
- Block and transaction propagation is improved significantly. ([#9954](https://github.com/openethereum/openethereum/pull/9954))
- The ERC-191 Signed Data Standard is now supported by `personal_sign191`. ([#9701](https://github.com/openethereum/openethereum/pull/9701))
- Add support for ERC-191/712 `eth_signTypedData` as a standard for machine-verifiable and human-readable typed data signing with Ethereum keys. ([#9631](https://github.com/openethereum/openethereum/pull/9631))
- Add support for ERC-1186 `eth_getProof` ([#9001](https://github.com/openethereum/openethereum/pull/9001))
- Add experimental RPCs flag to enable ERC-191, ERC-712, and ERC-1186 APIs via `--jsonrpc-experimental` ([#9928](https://github.com/openethereum/openethereum/pull/9928))
- Make `CALLCODE` to trace value to be the code address. ([#9881](https://github.com/openethereum/openethereum/pull/9881))
Configuration changes:
- The EIP-98 transition is now disabled by default. If you previously had no `eip98transition` specified in your chain specification, you would enable this now manually on block `0x0`. ([#9955](https://github.com/openethereum/openethereum/pull/9955))
- Also, unknown fields in chain specs are now rejected. ([#9972](https://github.com/openethereum/openethereum/pull/9972))
- The Tendermint engine was removed from Parity Ethereum and is no longer available and maintained. ([#9980](https://github.com/openethereum/openethereum/pull/9980))
- Ropsten testnet data and keys moved from `test/` to `ropsten/` subdir. To reuse your old keys and data either copy or symlink them to the new location. ([#10123](https://github.com/openethereum/openethereum/pull/10123))
- Strict empty steps validation ([#10041](https://github.com/openethereum/openethereum/pull/10041))
- If you have a chain with`empty_steps` already running, some blocks most likely contain non-strict entries (unordered or duplicated empty steps). In this release `strict_empty_steps_transition` is enabled by default at block `0x0` for any chain with `empty_steps`.
- If your network uses `empty_steps` you **must** (A) plan a hard fork and change `strict_empty_steps_transition` to the desired fork block and (B) update the clients of the whole network to 2.2.7-stable / 2.3.0-beta. If for some reason you don't want to do this please set`strict_empty_steps_transition` to `0xfffffffff` to disable it.
_Note:_ This release marks Parity 2.3 as _beta_. All versions of Parity 2.2 are now considered _stable_.
The full list of included changes:
- Backports for 2.3.0 beta ([#10164](https://github.com/openethereum/openethereum/pull/10164))
- Snap: fix path in script ([#10157](https://github.com/openethereum/openethereum/pull/10157))
- Make sure parent block is not in importing queue when importing ancient blocks ([#10138](https://github.com/openethereum/openethereum/pull/10138))
- Ci: re-enable snap publishing ([#10142](https://github.com/openethereum/openethereum/pull/10142))
- Hf in POA Core (2019-01-18) - Constantinople ([#10155](https://github.com/openethereum/openethereum/pull/10155))
- Update EWF's tobalaba chainspec ([#10152](https://github.com/openethereum/openethereum/pull/10152))
- Replace ethcore-logger with env-logger. ([#10102](https://github.com/openethereum/openethereum/pull/10102))
- Finality: dont require chain head to be in the chain ([#10054](https://github.com/openethereum/openethereum/pull/10054))
- Remove caching for node connections ([#10143](https://github.com/openethereum/openethereum/pull/10143))
- Blooms file iterator empty on out of range position. ([#10145](https://github.com/openethereum/openethereum/pull/10145))
- Autogen docs for the "Configuring Parity Ethereum" wiki page. ([#10067](https://github.com/openethereum/openethereum/pull/10067))
- Misc: bump license header to 2019 ([#10135](https://github.com/openethereum/openethereum/pull/10135))
- Hide most of the logs from cpp example. ([#10139](https://github.com/openethereum/openethereum/pull/10139))
- Don't try to send oversized packets ([#10042](https://github.com/openethereum/openethereum/pull/10042))
- Private tx enabled flag added into STATUS packet ([#9999](https://github.com/openethereum/openethereum/pull/9999))
- Update pwasm-utils to 0.6.1 ([#10134](https://github.com/openethereum/openethereum/pull/10134))
- Extract blockchain from ethcore ([#10114](https://github.com/openethereum/openethereum/pull/10114))
- Ethcore: update hardcoded headers ([#10123](https://github.com/openethereum/openethereum/pull/10123))
- Identity fix ([#10128](https://github.com/openethereum/openethereum/pull/10128))
- Use LenCachingMutex to optimize verification. ([#10117](https://github.com/openethereum/openethereum/pull/10117))
- Pyethereum keystore support ([#9710](https://github.com/openethereum/openethereum/pull/9710))
- Bump rocksdb-sys to 0.5.5 ([#10124](https://github.com/openethereum/openethereum/pull/10124))
- Parity-clib: `async C bindings to RPC requests` + `subscribe/unsubscribe to websocket events` ([#9920](https://github.com/openethereum/openethereum/pull/9920))
- Refactor (hardware wallet) : reduce the number of threads ([#9644](https://github.com/openethereum/openethereum/pull/9644))
- Hf in POA Sokol (2019-01-04) ([#10077](https://github.com/openethereum/openethereum/pull/10077))
- Fix broken links ([#10119](https://github.com/openethereum/openethereum/pull/10119))
- Follow-up to [#10105](https://github.com/openethereum/openethereum/issues/10105) ([#10107](https://github.com/openethereum/openethereum/pull/10107))
- Move EIP-712 crate back to parity-ethereum ([#10106](https://github.com/openethereum/openethereum/pull/10106))
- Move a bunch of stuff around ([#10101](https://github.com/openethereum/openethereum/pull/10101))
- Revert "Add --frozen when running cargo ([#10081](https://github.com/openethereum/openethereum/pull/10081))" ([#10105](https://github.com/openethereum/openethereum/pull/10105))
- Fix left over small grumbles on whitespaces ([#10084](https://github.com/openethereum/openethereum/pull/10084))
- Add --frozen when running cargo ([#10081](https://github.com/openethereum/openethereum/pull/10081))
- Fix pubsub new_blocks notifications to include all blocks ([#9987](https://github.com/openethereum/openethereum/pull/9987))
- Update some dependencies for compilation with pc-windows-gnu ([#10082](https://github.com/openethereum/openethereum/pull/10082))
- Fill transaction hash on ethGetLog of light client. ([#9938](https://github.com/openethereum/openethereum/pull/9938))
- Update changelog update for 2.2.5-beta and 2.1.10-stable ([#10064](https://github.com/openethereum/openethereum/pull/10064))
- Implement len caching for parking_lot RwLock ([#10032](https://github.com/openethereum/openethereum/pull/10032))
- Update parking_lot to 0.7 ([#10050](https://github.com/openethereum/openethereum/pull/10050))
- Bump crossbeam. ([#10048](https://github.com/openethereum/openethereum/pull/10048))
- Ethcore: enable constantinople on ethereum ([#10031](https://github.com/openethereum/openethereum/pull/10031))
- Strict empty steps validation ([#10041](https://github.com/openethereum/openethereum/pull/10041))
- Center the Subtitle, use some CAPS ([#10034](https://github.com/openethereum/openethereum/pull/10034))
- Change test miner max memory to malloc reports. ([#10024](https://github.com/openethereum/openethereum/pull/10024))
- Sort the storage for private state ([#10018](https://github.com/openethereum/openethereum/pull/10018))
- Fix: test corpus_inaccessible panic ([#10019](https://github.com/openethereum/openethereum/pull/10019))
- Ci: move future releases to ethereum subdir on s3 ([#10017](https://github.com/openethereum/openethereum/pull/10017))
- Light(on_demand): decrease default time window to 10 secs ([#10016](https://github.com/openethereum/openethereum/pull/10016))
- Light client : failsafe crate (circuit breaker) ([#9790](https://github.com/openethereum/openethereum/pull/9790))
- Lencachingmutex ([#9988](https://github.com/openethereum/openethereum/pull/9988))
- Version and notification for private contract wrapper added ([#9761](https://github.com/openethereum/openethereum/pull/9761))
- Handle failing case for update account cache in require ([#9989](https://github.com/openethereum/openethereum/pull/9989))
- Add tokio runtime to ethcore io worker ([#9979](https://github.com/openethereum/openethereum/pull/9979))
- Move daemonize before creating account provider ([#10003](https://github.com/openethereum/openethereum/pull/10003))
- Docs: update changelogs ([#9990](https://github.com/openethereum/openethereum/pull/9990))
- Fix daemonize ([#10000](https://github.com/openethereum/openethereum/pull/10000))
- Fix Bloom migration ([#9992](https://github.com/openethereum/openethereum/pull/9992))
- Remove tendermint engine support ([#9980](https://github.com/openethereum/openethereum/pull/9980))
- Calculate gas for deployment transaction ([#9840](https://github.com/openethereum/openethereum/pull/9840))
- Fix unstable peers and slowness in sync ([#9967](https://github.com/openethereum/openethereum/pull/9967))
- Adds parity_verifySignature RPC method ([#9507](https://github.com/openethereum/openethereum/pull/9507))
- Improve block and transaction propagation ([#9954](https://github.com/openethereum/openethereum/pull/9954))
- Deny unknown fields for chainspec ([#9972](https://github.com/openethereum/openethereum/pull/9972))
- Fix docker build ([#9971](https://github.com/openethereum/openethereum/pull/9971))
- Ci: rearrange pipeline by logic ([#9970](https://github.com/openethereum/openethereum/pull/9970))
- Add changelogs for 2.0.9, 2.1.4, 2.1.6, and 2.2.1 ([#9963](https://github.com/openethereum/openethereum/pull/9963))
- Add Error message when sync is still in progress. ([#9475](https://github.com/openethereum/openethereum/pull/9475))
- Make CALLCODE to trace value to be the code address ([#9881](https://github.com/openethereum/openethereum/pull/9881))
- Fix light client informant while syncing ([#9932](https://github.com/openethereum/openethereum/pull/9932))
- Add a optional json dump state to evm-bin ([#9706](https://github.com/openethereum/openethereum/pull/9706))
- Disable EIP-98 transition by default ([#9955](https://github.com/openethereum/openethereum/pull/9955))
- Remove secret_store runtimes. ([#9888](https://github.com/openethereum/openethereum/pull/9888))
- Fix a deadlock ([#9952](https://github.com/openethereum/openethereum/pull/9952))
- Chore(eip712): remove unused `failure-derive` ([#9958](https://github.com/openethereum/openethereum/pull/9958))
- Do not use the home directory as the working dir in docker ([#9834](https://github.com/openethereum/openethereum/pull/9834))
- Prevent silent errors in daemon mode, closes [#9367](https://github.com/openethereum/openethereum/issues/9367) ([#9946](https://github.com/openethereum/openethereum/pull/9946))
- Fix empty steps ([#9939](https://github.com/openethereum/openethereum/pull/9939))
- Adjust requests costs for light client ([#9925](https://github.com/openethereum/openethereum/pull/9925))
- Eip-1186: add `eth_getProof` RPC-Method ([#9001](https://github.com/openethereum/openethereum/pull/9001))
- Missing blocks in filter_changes RPC ([#9947](https://github.com/openethereum/openethereum/pull/9947))
- Allow rust-nightly builds fail in nightly builds ([#9944](https://github.com/openethereum/openethereum/pull/9944))
- Update eth-secp256k1 to include fix for BSDs ([#9935](https://github.com/openethereum/openethereum/pull/9935))
- Unbreak build on rust -stable ([#9934](https://github.com/openethereum/openethereum/pull/9934))
- Keep existing blocks when restoring a Snapshot ([#8643](https://github.com/openethereum/openethereum/pull/8643))
- Add experimental RPCs flag ([#9928](https://github.com/openethereum/openethereum/pull/9928))
- Clarify poll lifetime ([#9922](https://github.com/openethereum/openethereum/pull/9922))
- Docs(require rust 1.30) ([#9923](https://github.com/openethereum/openethereum/pull/9923))
- Use block header for building finality ([#9914](https://github.com/openethereum/openethereum/pull/9914))
- Simplify cargo audit ([#9918](https://github.com/openethereum/openethereum/pull/9918))
- Light-fetch: Differentiate between out-of-gas/manual throw and use required gas from response on failure ([#9824](https://github.com/openethereum/openethereum/pull/9824))
- Eip 191 ([#9701](https://github.com/openethereum/openethereum/pull/9701))
- Fix(logger): `reqwest` no longer a dependency ([#9908](https://github.com/openethereum/openethereum/pull/9908))
- Remove rust-toolchain file ([#9906](https://github.com/openethereum/openethereum/pull/9906))
- Foundation: 6692865, ropsten: 4417537, kovan: 9363457 ([#9907](https://github.com/openethereum/openethereum/pull/9907))
- Ethcore: use Machine::verify_transaction on parent block ([#9900](https://github.com/openethereum/openethereum/pull/9900))
- Chore(rpc-tests): remove unused rand ([#9896](https://github.com/openethereum/openethereum/pull/9896))
- Fix: Intermittent failing CI due to addr in use ([#9885](https://github.com/openethereum/openethereum/pull/9885))
- Chore(bump docopt): 0.8 -> 1.0 ([#9889](https://github.com/openethereum/openethereum/pull/9889))
- Use expect ([#9883](https://github.com/openethereum/openethereum/pull/9883))
- Use Weak reference in PubSubClient ([#9886](https://github.com/openethereum/openethereum/pull/9886))
- Ci: nuke the gitlab caches ([#9855](https://github.com/openethereum/openethereum/pull/9855))
- Remove unused code ([#9884](https://github.com/openethereum/openethereum/pull/9884))
- Fix json tracer overflow ([#9873](https://github.com/openethereum/openethereum/pull/9873))
- Allow to seal work on latest block ([#9876](https://github.com/openethereum/openethereum/pull/9876))
- Fix docker script ([#9854](https://github.com/openethereum/openethereum/pull/9854))
- Health endpoint ([#9847](https://github.com/openethereum/openethereum/pull/9847))
- Gitlab-ci: make android release build succeed ([#9743](https://github.com/openethereum/openethereum/pull/9743))
- Clean up existing benchmarks ([#9839](https://github.com/openethereum/openethereum/pull/9839))
- Update Callisto block reward code to support HF1 ([#9811](https://github.com/openethereum/openethereum/pull/9811))
- Option to disable keep alive for JSON-RPC http transport ([#9848](https://github.com/openethereum/openethereum/pull/9848))
- Classic.json Bootnode Update ([#9828](https://github.com/openethereum/openethereum/pull/9828))
- Support MIX. ([#9767](https://github.com/openethereum/openethereum/pull/9767))
- Ci: remove failing tests for android, windows, and macos ([#9788](https://github.com/openethereum/openethereum/pull/9788))
- Implement NoProof for json tests and update tests reference (replaces [#9744](https://github.com/openethereum/openethereum/issues/9744)) ([#9814](https://github.com/openethereum/openethereum/pull/9814))
- Chore(bump regex) ([#9842](https://github.com/openethereum/openethereum/pull/9842))
- Ignore global cache for patched accounts ([#9752](https://github.com/openethereum/openethereum/pull/9752))
- Move state root verification before gas used ([#9841](https://github.com/openethereum/openethereum/pull/9841))
- Fix(docker-aarch64) : cross-compile config ([#9798](https://github.com/openethereum/openethereum/pull/9798))
- Version: bump nightly to 2.3.0 ([#9819](https://github.com/openethereum/openethereum/pull/9819))
- Tests modification for windows CI ([#9671](https://github.com/openethereum/openethereum/pull/9671))
- Eip-712 implementation ([#9631](https://github.com/openethereum/openethereum/pull/9631))
- Fix typo ([#9826](https://github.com/openethereum/openethereum/pull/9826))
- Clean up serde rename and use rename_all = camelCase when possible ([#9823](https://github.com/openethereum/openethereum/pull/9823))

View File

@@ -1,128 +0,0 @@
## Parity-Ethereum [v2.4.9](https://github.com/openethereum/openethereum/releases/tag/v2.4.9)
Parity Ethereum v2.4.9-stable is a security update which addresses servo/rust-smallvec#148
The full list of included changes:
* cargo update -p smallvec ([#10822](https://github.com/openethereum/openethereum/pull/10822))
## Parity-Ethereum [v2.4.8](https://github.com/openethereum/openethereum/releases/tag/v2.4.8)
Parity-Ethereum 2.4.8-stable is a bugfix release that improves performance and stability.
* Blockchain: fix reset chain
* State tests: treat empty accounts the same as non-existant accounts (EIP 1052)
* Aura: fix Timestamp Overflow
* Networking: support discovery-only peers (geth bootnodes)
* Snapshotting: fix unclean shutdown while snappshotting is under way
The full list of included changes:
* ethcore/res: activate atlantis classic hf on block 8772000 ([#10766](https://github.com/openethereum/openethereum/pull/10766))
* fix docker tags for publishing ([#10741](https://github.com/openethereum/openethereum/pull/10741))
* Reset blockchain properly ([#10669](https://github.com/openethereum/openethereum/pull/10669))
* adds rpc error message for --no-ancient-blocks ([#10608](https://github.com/openethereum/openethereum/pull/10608))
* Treat empty account the same as non-exist accounts in EIP-1052 ([#10775](https://github.com/openethereum/openethereum/pull/10775))
* fix: aura don't add `SystemTime::now()` ([#10720](https://github.com/openethereum/openethereum/pull/10720))
* DevP2p: Get node IP address and udp port from Socket, if not included in PING packet ([#10705](https://github.com/openethereum/openethereum/pull/10705))
* Revert "fix: aura don't add `SystemTime::now()` ([#10720](https://github.com/openethereum/openethereum/pull/10720))"
* Add a way to signal shutdown to snapshotting threads ([#10744](https://github.com/openethereum/openethereum/pull/10744))
## Parity-Ethereum [v2.4.7](https://github.com/openethereum/openethereum/releases/tag/v2.4.7)
Parity-Ethereum 2.4.7-stable is a bugfix release that improves performance and stability.
Among others, it enables the _Atlantis_ hardfork on **Morden** and **Kotti** Classic networks.
The full list of included changes:
* [CI] allow cargo audit to fail ([#10676](https://github.com/openethereum/openethereum/pull/10676))
* new image ([#10673](https://github.com/openethereum/openethereum/pull/10673))
* Update publishing ([#10644](https://github.com/openethereum/openethereum/pull/10644))
* enable lto for release builds ([#10717](https://github.com/openethereum/openethereum/pull/10717))
* Use RUSTFLAGS to set the optimization level ([#10719](https://github.com/openethereum/openethereum/pull/10719))
* ethcore: enable ECIP-1054 for classic ([#10731](https://github.com/openethereum/openethereum/pull/10731))
## Parity-Ethereum [v2.4.6](https://github.com/openethereum/openethereum/releases/tag/v2.4.6)
Parity-Ethereum 2.4.6-stable is a bugfix release that improves performance and stability.
Among others, it enables the Petersburg hardfork on **Rinkeby** and **POA-Core** Network, as well as the **Kovan** Network community hardfork.
The full list of included changes:
* ci: publish docs debug ([#10638](https://github.com/openethereum/openethereum/pull/10638))
## Parity-Ethereum [v2.4.5](https://github.com/openethereum/openethereum/releases/tag/v2.4.5)
Parity-Ethereum 2.4.5-stable is a bugfix release that improves performance and stability. This release improves memory optimizations around timestamp handling and stabilizes the 2.4 release branch.
As of today, Parity-Ethereum 2.3 reaches end of life and everyone is encouraged to upgrade.
## Parity-Ethereum [v2.4.4](https://github.com/openethereum/openethereum/releases/tag/v2.4.4)
Parity-Ethereum 2.4.4-beta is a bugfix release that improves performance and stability. This patch release removes the dead chain configs for Easthub and Ethereum Social.
The full list of included changes:
* fix(rpc-types): replace uint and hash with `ethereum_types v0.4` ([#10217](https://github.com/openethereum/openethereum/pull/10217))
* chore(bump ethereum-types) ([#10396](https://github.com/openethereum/openethereum/pull/10396))
* fix(light eth_gasPrice): ask network if not in cache ([#10535](https://github.com/openethereum/openethereum/pull/10535))
* fix(light account response): update `tx_queue` ([#10545](https://github.com/openethereum/openethereum/pull/10545))
* fix(bump dependencies) ([#10540](https://github.com/openethereum/openethereum/pull/10540))
* tx-pool: check transaction readiness before replacing ([#10526](https://github.com/openethereum/openethereum/pull/10526))
* fix #10390 ([#10391](https://github.com/openethereum/openethereum/pull/10391))
* private-tx: replace error_chain ([#10510](https://github.com/openethereum/openethereum/pull/10510))
## Parity-Ethereum [v2.4.3](https://github.com/openethereum/openethereum/releases/tag/v2.4.3)
Parity-Ethereum 2.4.3-beta is a bugfix release that improves performance and stability. This patch release contains a critical bug fix where serving light clients previously led to client crashes. Upgrading is highly recommended.
The full list of included changes:
* Add additional request tests ([#10503](https://github.com/openethereum/openethereum/pull/10503))
## Parity-Ethereum [v2.4.2](https://github.com/openethereum/openethereum/releases/tag/v2.4.2)
Parity-Ethereum 2.4.2-beta is a bugfix release that improves performance and stability.
The full list of included changes:
* Сaching through docker volume ([#10477](https://github.com/openethereum/openethereum/pull/10477))
* fix win&mac build ([#10486](https://github.com/openethereum/openethereum/pull/10486))
* fix(extract `timestamp_checked_add` as lib) ([#10383](https://github.com/openethereum/openethereum/pull/10383))
## Parity-Ethereum [v2.4.1](https://github.com/openethereum/openethereum/releases/tag/v2.4.1)
Parity-Ethereum 2.4.1-beta is a bugfix release that improves performance and stability.
The full list of included changes:
* Implement parity_versionInfo & parity_setChain on LC; fix parity_setChain ([#10312](https://github.com/openethereum/openethereum/pull/10312))
* CI publish to aws ([#10446](https://github.com/openethereum/openethereum/pull/10446))
* CI aws git checkout ([#10451](https://github.com/openethereum/openethereum/pull/10451))
* Revert "CI aws git checkout ([#10451](https://github.com/openethereum/openethereum/pull/10451))" (#10456)
* Revert "CI aws git checkout ([#10451](https://github.com/openethereum/openethereum/pull/10451))"
* Tests parallelized ([#10452](https://github.com/openethereum/openethereum/pull/10452))
* Ensure static validator set changes are recognized ([#10467](https://github.com/openethereum/openethereum/pull/10467))
## Parity-Ethereum [v2.4.0](https://github.com/openethereum/openethereum/releases/tag/v2.4.0)
Parity-Ethereum 2.4.0-beta is our trifortnightly minor version release coming with a lot of new features as well as bugfixes and performance improvements.
Notable changes:
- Account management is now deprecated ([#10213](https://github.com/openethereum/openethereum/pull/10213))
- Local accounts can now be specified via CLI ([#9960](https://github.com/openethereum/openethereum/pull/9960))
- Chains can now be reset to a particular block via CLI ([#9782](https://github.com/openethereum/openethereum/pull/9782))
- Ethash now additionally implements ProgPoW ([#9762](https://github.com/openethereum/openethereum/pull/9762))
- The `eip1283DisableTransition` flag was added to revert EIP-1283 ([#10214](https://github.com/openethereum/openethereum/pull/10214))
The full list of included changes:
* revert some changes, could be buggy ([#10399](https://github.com/openethereum/openethereum/pull/10399))
* 10000 > 5000 ([#10422](https://github.com/openethereum/openethereum/pull/10422))
* fix panic when logging directory does not exist, closes #10420 ([#10424](https://github.com/openethereum/openethereum/pull/10424))
* fix underflow in pip, closes #10419 ([#10423](https://github.com/openethereum/openethereum/pull/10423))
* ci: clean up gitlab-ci.yml leftovers from previous merge ([#10429](https://github.com/openethereum/openethereum/pull/10429))
* Update hardcoded headers for Foundation, Ropsten, Kovan and Classic ([#10417](https://github.com/openethereum/openethereum/pull/10417))

View File

@@ -1,220 +0,0 @@
## Parity-Ethereum [v2.5.13](https://github.com/openethereum/openethereum/releases/tag/v2.5.13)
Parity Ethereum v2.5.13-stable is a security release. Valid blocks with manipulated transactions (added/replaced) cause the client to stall.
The full list of included changes:
* Make sure to not mark block header hash as invalid if only the body is wrong (#11356)
## Parity-Ethereum [v2.5.12](https://github.com/openethereum/openethereum/releases/tag/v2.5.12)
Parity Ethereum v2.5.12-stable is a patch release that adds Istanbul hardfork
block numbers for POA and xDai networks, implements ECIP-1056 and implements
EIP-2384/2387 - Muir Glacier.
The full list of included changes:
* Enable EIP-2384 for ice age hard fork (#11281)
* ethcore/res: activate agharta on classic 9573000 (#11331)
* Istanbul HF in xDai (2019-12-12) (#11299)
* Istanbul HF in POA Core (2019-12-19) (#11298)
* Istanbul HF in POA Sokol (2019-12-05) (#11282)
* Activate ecip-1061 on kotti and mordor (#11338)
* Enable basic verification of local transactions (#11332)
* Disallow EIP-86 style null signatures for transactions outside tests (#11335)
## Parity-Ethereum [v2.5.11](https://github.com/openethereum/openethereum/releases/tag/v2.5.11)
Parity Ethereum v2.5.11-stable is an emergency patch release that adds the missing
eip1344_transition for mainnet - Users are advised to update as soon as possible
to prevent any issues with the imminent Istanbul hardfork
The full list of included changes:
- [chainspec]: add `eip1344_transition` for istanbul (#11301)
## Parity-Ethereum [v2.5.10](https://github.com/openethereum/openethereum/releases/tag/2.5.10)
Parity Ethereum v2.5.10-stable is a patch release that adds block numbers for
activating the Istanbul hardfork on mainnet, as well as a large number of
various bugfixes, QoL changes, some code cleanup/refactoring and other
miscellaneous changes.
This release removes legacy aliases for the mainnet. If you specify `--chain homestead`, `--chain frontier` or `--chain byzantium`, this will need to be changed to one of: `--chain eth`, `--chain ethereum`, `--chain foundation` or `--chain mainnet`.
The full list of included changes:
* ropsten #6631425 foundation #8798209 (#11201)
* [stable] builtin, istanbul and mordor testnet backports (#11234)
* ethcore-builtin (#10850)
* [builtin]: support `multiple prices and activations` in chain spec (#11039)
* [chain specs]: activate `Istanbul` on mainnet (#11228)
* ethcore/res: add mordor testnet configuration (#11200)
* Update list of bootnodes for xDai chain (#11236)
* ethcore: remove `test-helper feat` from build (#11047)
* Secret store: fix Instant::now() related race in net_keep_alive (#11155) (#11159)
* [stable]: backport #10691 and #10683 (#11143)
* Fix compiler warning (that will become an error) (#10683)
* Refactor Clique stepping (#10691)
* Add Constantinople eips to the dev (instant_seal) config (#10809)
* Add cargo-remote dir to .gitignore (?)
* Insert explicit warning into the panic hook (#11225)
* Fix docker centos build (#11226)
* Update MIX bootnodes. (#11203)
* Use provided usd-per-eth value if an endpoint is specified (#11209)
* Add new line after writing block to hex file. (#10984)
* Type annotation for next_key() matching of json filter options (#11192) (but no `FilterOption` in 2.5 so…)
* Upgrade jsonrpc to latest (#11206)
* [CI] check evmbin build (#11096)
* Correct EIP-712 encoding (#11092)
* [client]: Fix for incorrectly dropped consensus messages (#11086)
* Fix block detail updating (#11015)
* Switching sccache from local to Redis (#10971)
* Made ecrecover implementation trait public (#11188)
* [dependencies]: jsonrpc `14.0.1` (#11183)
* [receipt]: add `sender` & `receiver` to `RichReceipts` (#11179)
* [ethcore/builtin]: do not panic in blake2pricer on short input (#11180)
* util Host: fix a double Read Lock bug in fn Host::session_readable() (#11175)
* ethcore client: fix a double Read Lock bug in fn Client::logs() (#11172)
* Change how RPCs eth_call and eth_estimateGas handle "Pending" (#11127)
* Cleanup stratum a bit (#11161)
* Upgrade to jsonrpc v14 (#11151)
* SecretStore: expose restore_key_public in HTTP API (#10241)
## Parity-Ethereum [v2.5.9](https://github.com/openethereum/openethereum/releases/tag/v2.5.9)
Parity Ethereum v2.5.9-stable is a patch release that adds the block numbers for activating the Istanbul hardfork on test networks: Ropsten, Görli, Rinkeby and Kovan.
The full list of included changes:
* ethcore/res: activate Istanbul on Ropsten, Görli, Rinkeby, Kovan (#11068)
* [json-spec] make blake2 pricing spec more readable (#11034)
## Parity-Ethereum [v2.5.8](https://github.com/openethereum/openethereum/releases/tag/v2.5.8)
Parity Ethereum v2.5.8-stable is a patch release that improves security, stability and performance.
* The most noteworthy improvement in this release is incorporating all the EIPs required for the Istanbul hard fork.
* This release also fixes certain security and performance issues, one of which was suspected to be consensus-threatening but turned out to be benign. Thanks to Martin Holst Swende and Felix Lange from the Ethereum Foundation for bringing the suspicious issue to our attention.
The full list of included changes:
* add more tx tests (#11038)
* Fix parallel transactions race-condition (#10995)
* Add blake2_f precompile (#11017)
* [trace] introduce trace failed to Ext (#11019)
* Edit publish-onchain.sh to use https (#11016)
* Fix deadlock in network-devp2p (#11013)
* EIP 1108: Reduce alt_bn128 precompile gas costs (#11008)
* xDai chain support and nodes list update (#10989)
* EIP 2028: transaction gas lowered from 68 to 16 (#10987)
* EIP-1344 Add CHAINID op-code (#10983)
* manual publish jobs for releases, no changes for nightlies (#10977)
* [blooms-db] Fix benchmarks (#10974)
* Verify transaction against its block during import (#10954)
* Better error message for rpc gas price errors (#10931)
* tx-pool: accept local tx with higher gas price when pool full (#10901)
* Fix fork choice (#10837)
* Cleanup unused vm dependencies (#10787)
* Fix compilation on recent nightlies (#10991)
* Don't build rpc with ethcore test-helpers (#11048)
* EIP 1884 Re-pricing of trie-size dependent operations (#10992)
* Implement EIP-1283 reenable transition, EIP-1706 and EIP-2200 (#10191)
## Parity-Ethereum [v2.5.7](https://github.com/openethereum/openethereum/releases/tag/v2.5.7)
Parity Ethereum v2.5.7-stable is a bugfix release that fixes a potential DoS attack in the trace_call RPC method. This is a critical upgrade for anyone running Parity nodes with RPC exposed to the public internet (and highly recommended for anyone else). For details see this blog post.
## Parity-Ethereum [v2.5.6](https://github.com/openethereum/openethereum/releases/tag/v2.5.6)
Parity-Ethereum v2.5.6-stable is a bugfix release that improves stability.
* Allow specifying hostnames for node URLs
* Fix a bug where archive nodes were losing peers
The full list of included changes:
* Kaspersky AV whitelisting (#10919)
* Avast whitelist script (#10900)
* Docker images renaming (#10863)
* Remove excessive warning (#10831)
* Allow --nat extip:your.host.here.org (#10830)
* When updating the client or when called from RPC, sleep should mean sleep (#10814)
* added new ropsten-bootnode and removed old one (#10794)
* ethkey no longer uses byteorder (#10786)
* Do not drop the peer with None difficulty (#10772)
* docs: Update Readme with TOC, Contributor Guideline. Update Cargo package descriptions (#10652)
## Parity-Ethereum [v2.5.5](https://github.com/openethereum/openethereum/releases/tag/v2.5.5)
Parity-Ethereum v2.5.5-stable is a minor release that improves performance and stability.
This release stabilises the 2.5 branch.
As of today, Parity-Ethereum 2.4 reaches end of life and everyone is
encouraged to upgrade.
## Parity-Ethereum [v2.5.4](https://github.com/openethereum/openethereum/releases/tag/v2.5.4)
Parity Ethereum v2.5.4-beta is a security update that addresses servo/rust-smallvec#148
The full list of included changes:
* cargo update -p smallvec ([#10822](https://github.com/openethereum/openethereum/pull/10822))
## Parity-Ethereum [v2.5.3](https://github.com/openethereum/openethereum/releases/tag/v2.5.3)
Parity-Ethereum 2.5.3-beta is a bugfix release that improves performance and stability.
* EthereumClassic: activate the Atlantis Hardfork
* Clique: fix time overflow
* State tests: treat empty accounts the same as non-existant accounts (EIP 1052)
* Networking: support discovery-only peers (geth bootnodes)
* Snapshotting: fix unclean shutdown while snappshotting is under way
The full list of included changes:
* ethcore/res: activate atlantis classic hf on block 8772000 ([#10766](https://github.com/openethereum/openethereum/pull/10766))
* fix docker tags for publishing ([#10741](https://github.com/openethereum/openethereum/pull/10741))
* fix: aura don't add `SystemTime::now()` ([#10720](https://github.com/openethereum/openethereum/pull/10720))
* Treat empty account the same as non-exist accounts in EIP-1052 ([#10775](https://github.com/openethereum/openethereum/pull/10775))
* DevP2p: Get node IP address and udp port from Socket, if not included in PING packet ([#10705](https://github.com/openethereum/openethereum/pull/10705))
* Add a way to signal shutdown to snapshotting threads ([#10744](https://github.com/openethereum/openethereum/pull/10744))
## Parity-Ethereum [v2.5.2](https://github.com/openethereum/openethereum/releases/tag/v2.5.2)
Parity-Ethereum 2.5.2-beta is a bugfix release that improves performance and stability.
Among others, it enables the _Atlantis_ hardfork on **Morden** and **Kotti** Classic networks.
The full list of included changes:
* [CI] allow cargo audit to fail ([#10676](https://github.com/openethereum/openethereum/pull/10676))
* Reset blockchain properly ([#10669](https://github.com/openethereum/openethereum/pull/10669))
* new image ([#10673](https://github.com/openethereum/openethereum/pull/10673))
* Update publishing ([#10644](https://github.com/openethereum/openethereum/pull/10644))
* enable lto for release builds ([#10717](https://github.com/openethereum/openethereum/pull/10717))
* Use RUSTFLAGS to set the optimization level ([#10719](https://github.com/openethereum/openethereum/pull/10719))
* ethcore: enable ECIP-1054 for classic ([#10731](https://github.com/openethereum/openethereum/pull/10731))
## Parity-Ethereum [v2.5.1](https://github.com/openethereum/openethereum/releases/tag/v2.5.1)
Parity-Ethereum 2.5.1-beta is a bugfix release that improves performance and stability.
Among others, it enables the Petersburg hardfork on **Rinkeby** and **POA-Core** Network, as well as the **Kovan** Network community hardfork.
The full list of included changes:
* ci: publish docs debug ([#10638](https://github.com/openethereum/openethereum/pull/10638))
## Parity-Ethereum [v2.5.0](https://github.com/openethereum/openethereum/releases/tag/v2.5.0)
Parity-Ethereum 2.5.0-beta is a minor release that improves performance and stabilizes the 2.5 branch by marking it as beta release.
- This release adds support for the Clique consensus engine ([#9981](https://github.com/openethereum/openethereum/pull/9981))
- This enables Parity-Ethereum users to use the Görli, the Kotti Classic, and the legacy Rinkeby testnet. To get started try `parity --chain goerli`; note that light client support is currently not yet fully functional.
- This release removes the dead chain configs for Easthub and Ethereum Social ([#10531](https://github.com/openethereum/openethereum/pull/10531))
As of today, Parity-Ethereum 2.3 reaches end of life and everyone is encouraged to upgrade.
The full list of included changes:
* fix(light cull): poll light cull instead of timer ([#10559](https://github.com/openethereum/openethereum/pull/10559))

View File

@@ -1,307 +0,0 @@
## Parity-Ethereum [v2.6.8](https://github.com/openethereum/openethereum/releases/tag/v2.6.8)
Parity Ethereum v2.6.8-beta is a security release. Valid blocks with manipulated transactions (added/replaced) cause the client to stall.
The full list of included changes:
* Make sure to not mark block header hash as invalid if only the body is wrong (#11356)
## Parity-Ethereum [v2.6.7](https://github.com/openethereum/openethereum/releases/tag/v2.6.7)
Parity Ethereum v2.6.7-beta is a patch release that adds Istanbul hardfork
block numbers for POA and xDai networks, implements ECIP-1056 and implements
EIP-2384/2387 - Muir Glacier.
The full list of included changes:
* Enable EIP-2384 for ice age hard fork (#11281)
* ethcore/res: activate agharta on classic 9573000 (#11331)
* Istanbul HF in xDai (2019-12-12) (#11299)
* Istanbul HF in POA Core (2019-12-19) (#11298)
* Istanbul HF in POA Sokol (2019-12-05) (#11282)
* Activate ecip-1061 on kotti and mordor (#11338)
* Enable basic verification of local transactions (#11332)
* Disallow EIP-86 style null signatures for transactions outside tests (#11335)
* SecretStore database migration to v4 (#11322)
## Parity-Ethereum [v2.6.6](https://github.com/openethereum/openethereum/releases/tag/v2.6.6)
Parity Ethereum v2.6.6-beta is an emergency patch release that adds the missing
eip1344_transition for mainnet - Users are advised to update as soon as possible
to prevent any issues with the imminent Istanbul hardfork
The full list of included changes:
* [chainspec]: add `eip1344_transition` for istanbul (#11301)
## Parity-Ethereum [v2.6.5](https://github.com/openethereum/openethereum/releases/tag/v2.6.5)
Parity Ethereum v2.6.5-beta is a patch release that adds block numbers for activating the Istanbul hardfork on mainnet, as well as a large number of various bugfixes, QoL changes, some code cleanup/refactoring and other miscellaneous changes.
This release removes legacy aliases for the mainnet. If you specify `--chain homestead`, `--chain frontier` or `--chain byzantium`, this will need to be changed to one of: `--chain eth`, `--chain ethereum`, `--chain foundation` or `--chain mainnet`.
This release includes important changes to how snapshots are produced. The size of the Ethereum account state means that producing a snapshot takes a long while; most nodes today are not able to finish before the relevant state is pruned. Starting with v2.6.5, pruning is paused while a snapshot is underway, hopefully fixing the current dearth of recent snapshots. The downside to this is that memory usage goes up while a snapshot is produced.
The full list of included changes:
* [CI] check evmbin build (#11096)
* Correct EIP-712 encoding (#11092)
* [client]: Fix for incorrectly dropped consensus messages (#11082) (#11086)
* Update hardcoded headers (foundation, classic, kovan, xdai, ewc, ...) (#11053)
* Add cargo-remote dir to .gitignore (?)
* Update light client headers: ropsten 6631425 foundation 8798209 (#11201)
* Update list of bootnodes for xDai chain (#11236)
* ethcore/res: add mordor testnet configuration (#11200)
* [chain specs]: activate Istanbul on mainnet (#11228)
* [builtin]: support multiple prices and activations in chain spec (#11039)
* [receipt]: add sender & receiver to RichReceipts (#11179)
* [ethcore/builtin]: do not panic in blake2pricer on short input (#11180)
* Made ecrecover implementation trait public (#11188)
* Fix docker centos build (#11226)
* Update MIX bootnodes. (#11203)
* Insert explicit warning into the panic hook (#11225)
* Use provided usd-per-eth value if an endpoint is specified (#11209)
* Cleanup stratum a bit (#11161)
* Add Constantinople EIPs to the dev (instant_seal) config (#10809) (already backported)
* util Host: fix a double Read Lock bug in fn Host::session_readable() (#11175)
* ethcore client: fix a double Read Lock bug in fn Client::logs() (#11172)
* Type annotation for next_key() matching of json filter options (#11192)
* Upgrade jsonrpc to latest (#11206)
* [dependencies]: jsonrpc 14.0.1 (#11183)
* Upgrade to jsonrpc v14 (#11151)
* Switching sccache from local to Redis (#10971)
* Snapshot restoration overhaul (#11219)
* Add new line after writing block to hex file. (#10984)
* Pause pruning while snapshotting (#11178)
* Change how RPCs eth_call and eth_estimateGas handle "Pending" (#11127)
* Fix block detail updating (#11015)
* Make InstantSeal Instant again #11186
* Filter out some bad ropsten warp snapshots (#11247)
* Allow default block parameter to be blockHash (#10932)
## Parity-Ethereum [v2.6.4](https://github.com/openethereum/openethereum/releases/tag/v2.6.4)
Parity Ethereum v2.6.4-stable is a patch release that adds the block numbers for activating the Istanbul hardfork on test networks: Ropsten, Görli, Rinkeby and Kovan.
A full list of included changes:
* ethcore/res: activate Istanbul on Ropsten, Görli, Rinkeby, Kovan (#11068)
* cleanup json crate (#11027)
* [json-spec] make blake2 pricing spec more readable (#11034)
* Update JSON tests to d4f86ecf4aa7c (#11054)
## Parity-Ethereum [v2.6.3](https://github.com/openethereum/openethereum/releases/tag/v2.6.3)
Parity Ethereum v2.6.3-stable is a patch release that improves security, stability and performance.
* The most noteworthy improvement in this release is incorporating all the EIPs required for the Istanbul hard fork.
* This release also fixes certain security and performance issues, one of which was suspected to be consensus-threatening but turned out to be benign. Thanks to Martin Holst Swende and Felix Lange from the Ethereum Foundation for bringing the suspicious issue to our attention.
The full list of included changes:
* add more tx tests (#11038)
* Fix parallel transactions race-condition (#10995)
* Add blake2_f precompile (#11017)
* [trace] introduce trace failed to Ext (#11019)
* Edit publish-onchain.sh to use https (#11016)
* Fix deadlock in network-devp2p (#11013)
* EIP 1108: Reduce alt_bn128 precompile gas costs (#11008)
* xDai chain support and nodes list update (#10989)
* EIP 2028: transaction gas lowered from 68 to 16 (#10987)
* EIP-1344 Add CHAINID op-code (#10983)
* manual publish jobs for releases, no changes for nightlies (#10977)
* [blooms-db] Fix benchmarks (#10974)
* Verify transaction against its block during import (#10954)
* Better error message for rpc gas price errors (#10931)
* Fix fork choice (#10837)
* Fix compilation on recent nightlies (#10991)
* Don't build rpc with ethcore test-helpers (#11048)
* EIP 1884 Re-pricing of trie-size dependent operations (#10992)
* Implement EIP-1283 reenable transition, EIP-1706 and EIP-2200 (#10191)
## Parity-Ethereum [v2.6.2](https://github.com/openethereum/openethereum/releases/tag/v2.6.2)
Parity Ethereum v2.6.2-stable is a bugfix release that fixes a potential DoS attack in the trace_call RPC method. This is a critical upgrade for anyone running Parity nodes with RPC exposed to the public internet (and highly recommended for anyone else). For details see this blog post.
## Parity-Ethereum [v2.6.1](https://github.com/openethereum/openethereum/releases/tag/v2.6.1)
Parity-Ethereum 2.6.1-beta is a patch release that improves stability.
This release includes:
* Allow specifying hostnames for node URLs
* Fix a bug where archive nodes were losing peers
* Add support for Energy Web Foundations new chains 'Volta' and 'EWC', and remove their deprecated 'Tobalaba' chain.
The full list of included changes:
* Add support for Energy Web Foundation's new chains (#10957)
* Kaspersky AV whitelisting (#10919)
* Avast whitelist script (#10900)
* Docker images renaming (#10863)
* Remove excessive warning (#10831)
* Allow --nat extip:your.host.here.org (#10830)
* When updating the client or when called from RPC, sleep should mean sleep (#10814)
* added new ropsten-bootnode and removed old one (#10794)
* ethkey no longer uses byteorder (#10786)
* docs: Update Readme with TOC, Contributor Guideline. Update Cargo package descriptions (#10652)
## Parity-Ethereum [v2.6.0](https://github.com/openethereum/openethereum/releases/tag/v2.6.0)
Parity-Ethereum 2.6.0-beta is a minor release that stabilizes the 2.6 branch by
marking it as a beta release.
This release includes:
* Major refactoring of the codebase
* Many bugfixes
* Significant improvements to logging, error and warning message clarity.
* SecretStore: remove support of old database formats (#10757)
* This is a potentially breaking change if you have not upgraded for
quite some time.
As of today, Parity-Ethereum 2.4 reaches end of life, and everyone is
encouraged to upgrade.
The full list of included changes:
* update jsonrpc to 12.0 ([#10841](https://github.com/openethereum/openethereum/pull/10841))
* Move more code into state-account ([#10840](https://github.com/openethereum/openethereum/pull/10840))
* Extract AccountDB to account-db ([#10839](https://github.com/openethereum/openethereum/pull/10839))
* Extricate PodAccount and state Account to own crates ([#10838](https://github.com/openethereum/openethereum/pull/10838))
* Fix fork choice ([#10837](https://github.com/openethereum/openethereum/pull/10837))
* tests: Relates to #10655: Test instructions for Readme ([#10835](https://github.com/openethereum/openethereum/pull/10835))
* idiomatic changes to PodState ([#10834](https://github.com/openethereum/openethereum/pull/10834))
* Break circular dependency between Client and Engine (part 1) ([#10833](https://github.com/openethereum/openethereum/pull/10833))
* Remove excessive warning ([#10831](https://github.com/openethereum/openethereum/pull/10831))
* Allow --nat extip:your.host.here.org ([#10830](https://github.com/openethereum/openethereum/pull/10830))
* ethcore does not use byteorder ([#10829](https://github.com/openethereum/openethereum/pull/10829))
* Fix typo in README.md ([#10828](https://github.com/openethereum/openethereum/pull/10828))
* Update wordlist to v1.3 ([#10823](https://github.com/openethereum/openethereum/pull/10823))
* bump `smallvec 0.6.10` to fix vulnerability ([#10822](https://github.com/openethereum/openethereum/pull/10822))
* removed additional_params method ([#10818](https://github.com/openethereum/openethereum/pull/10818))
* Improve logging when remote peer is unknown ([#10817](https://github.com/openethereum/openethereum/pull/10817))
* replace memzero with zeroize crate ([#10816](https://github.com/openethereum/openethereum/pull/10816))
* When updating the client or when called from RPC, sleep should mean sleep ([#10814](https://github.com/openethereum/openethereum/pull/10814))
* Don't reimplement the logic from the Default impl ([#10813](https://github.com/openethereum/openethereum/pull/10813))
* refactor: whisper: Add type aliases and update rustdocs in message.rs ([#10812](https://github.com/openethereum/openethereum/pull/10812))
* test: whisper/cli `add invalid pool size test depending on processor` ([#10811](https://github.com/openethereum/openethereum/pull/10811))
* Add Constantinople EIPs to the dev (instant_seal) config ([#10809](https://github.com/openethereum/openethereum/pull/10809))
* fix spurious test failure ([#10808](https://github.com/openethereum/openethereum/pull/10808))
* revert temp changes to .gitlab-ci.yml ([#10807](https://github.com/openethereum/openethereum/pull/10807))
* removed redundant fmt::Display implementations ([#10806](https://github.com/openethereum/openethereum/pull/10806))
* removed EthEngine alias ([#10805](https://github.com/openethereum/openethereum/pull/10805))
* ethcore-bloom-journal updated to 2018 ([#10804](https://github.com/openethereum/openethereum/pull/10804))
* Fix a few typos and unused warnings. ([#10803](https://github.com/openethereum/openethereum/pull/10803))
* updated price-info to edition 2018 ([#10801](https://github.com/openethereum/openethereum/pull/10801))
* updated parity-local-store to edition 2018 ([#10800](https://github.com/openethereum/openethereum/pull/10800))
* updated project to ansi_term 0.11 ([#10799](https://github.com/openethereum/openethereum/pull/10799))
* ethcore-light uses bincode 1.1 ([#10798](https://github.com/openethereum/openethereum/pull/10798))
* ethcore-network-devp2p uses igd 0.9 ([#10797](https://github.com/openethereum/openethereum/pull/10797))
* Better logging when backfilling ancient blocks fail ([#10796](https://github.com/openethereum/openethereum/pull/10796))
* added new ropsten-bootnode and removed old one ([#10794](https://github.com/openethereum/openethereum/pull/10794))
* Removed machine abstraction from ethcore ([#10791](https://github.com/openethereum/openethereum/pull/10791))
* Removed redundant ethcore-service error type ([#10788](https://github.com/openethereum/openethereum/pull/10788))
* Cleanup unused vm dependencies ([#10787](https://github.com/openethereum/openethereum/pull/10787))
* ethkey no longer uses byteorder ([#10786](https://github.com/openethereum/openethereum/pull/10786))
* Updated blooms-db to rust 2018 and removed redundant deps ([#10785](https://github.com/openethereum/openethereum/pull/10785))
* Treat empty account the same as non-exist accounts in EIP-1052 ([#10775](https://github.com/openethereum/openethereum/pull/10775))
* Do not drop the peer with None difficulty ([#10772](https://github.com/openethereum/openethereum/pull/10772))
* EIP-1702: Generalized Account Versioning Scheme ([#10771](https://github.com/openethereum/openethereum/pull/10771))
* Move Engine::register_client to be before other I/O handler registration ([#10767](https://github.com/openethereum/openethereum/pull/10767))
* ethcore/res: activate atlantis classic hf on block 8772000 ([#10766](https://github.com/openethereum/openethereum/pull/10766))
* Updated Bn128PairingImpl to use optimized batch pairing ([#10765](https://github.com/openethereum/openethereum/pull/10765))
* Remove unused code ([#10762](https://github.com/openethereum/openethereum/pull/10762))
* Initialize private tx logger only if private tx functionality is enabled ([#10758](https://github.com/openethereum/openethereum/pull/10758))
* SecretStore: remove support of old database formats ([#10757](https://github.com/openethereum/openethereum/pull/10757))
* Enable aesni ([#10756](https://github.com/openethereum/openethereum/pull/10756))
* updater: fix static id hashes initialization ([#10755](https://github.com/openethereum/openethereum/pull/10755))
* Use fewer threads for snapshotting ([#10752](https://github.com/openethereum/openethereum/pull/10752))
* Die error_chain, die ([#10747](https://github.com/openethereum/openethereum/pull/10747))
* Fix deprectation warnings on nightly ([#10746](https://github.com/openethereum/openethereum/pull/10746))
* Improve logging and cleanup in miner around block sealing ([#10745](https://github.com/openethereum/openethereum/pull/10745))
* Add a way to signal shutdown to snapshotting threads ([#10744](https://github.com/openethereum/openethereum/pull/10744))
* fix docker tags for publishing ([#10741](https://github.com/openethereum/openethereum/pull/10741))
* refactor: Fix indentation in ethjson ([#10740](https://github.com/openethereum/openethereum/pull/10740))
* Log validator set changes in EpochManager ([#10734](https://github.com/openethereum/openethereum/pull/10734))
* Print warnings when using dangerous settings for ValidatorSet ([#10733](https://github.com/openethereum/openethereum/pull/10733))
* ethcore: enable ECIP-1054 for classic ([#10731](https://github.com/openethereum/openethereum/pull/10731))
* Stop breaking out of loop if a non-canonical hash is found ([#10729](https://github.com/openethereum/openethereum/pull/10729))
* Removed secret_store folder ([#10722](https://github.com/openethereum/openethereum/pull/10722))
* Revert "enable lto for release builds (#10717)" ([#10721](https://github.com/openethereum/openethereum/pull/10721))
* fix: aura don't add `SystemTime::now()` ([#10720](https://github.com/openethereum/openethereum/pull/10720))
* Use RUSTFLAGS to set the optimization level ([#10719](https://github.com/openethereum/openethereum/pull/10719))
* enable lto for release builds ([#10717](https://github.com/openethereum/openethereum/pull/10717))
* [devp2p] Update to 2018 edition ([#10716](https://github.com/openethereum/openethereum/pull/10716))
* [devp2p] Don't use `rust-crypto` ([#10714](https://github.com/openethereum/openethereum/pull/10714))
* [devp2p] Fix warnings and re-org imports ([#10710](https://github.com/openethereum/openethereum/pull/10710))
* DevP2p: Get node IP address and udp port from Socket, if not included in PING packet ([#10705](https://github.com/openethereum/openethereum/pull/10705))
* introduce MissingParent Error, fixes #10699 ([#10700](https://github.com/openethereum/openethereum/pull/10700))
* Refactor Clique stepping ([#10691](https://github.com/openethereum/openethereum/pull/10691))
* add_sync_notifier in EthPubSubClient holds on to a Client for too long ([#10689](https://github.com/openethereum/openethereum/pull/10689))
* Fix compiler warning (that will become an error) ([#10683](https://github.com/openethereum/openethereum/pull/10683))
* Don't panic if extra_data is longer than VANITY_LENGTH ([#10682](https://github.com/openethereum/openethereum/pull/10682))
* Remove annoying compiler warnings ([#10679](https://github.com/openethereum/openethereum/pull/10679))
* Remove support for hardware wallets ([#10678](https://github.com/openethereum/openethereum/pull/10678))
* [CI] allow cargo audit to fail ([#10676](https://github.com/openethereum/openethereum/pull/10676))
* new image ([#10673](https://github.com/openethereum/openethereum/pull/10673))
* Upgrade ethereum types ([#10670](https://github.com/openethereum/openethereum/pull/10670))
* Reset blockchain properly ([#10669](https://github.com/openethereum/openethereum/pull/10669))
* fix: Move PR template into .github/ folder ([#10663](https://github.com/openethereum/openethereum/pull/10663))
* docs: evmbin - Update Rust docs ([#10658](https://github.com/openethereum/openethereum/pull/10658))
* refactor: Related #9459 - evmbin: replace untyped json! macro with fully typed serde serialization using Rust structs ([#10657](https://github.com/openethereum/openethereum/pull/10657))
* docs: Add PR template ([#10654](https://github.com/openethereum/openethereum/pull/10654))
* docs: Add ProgPoW Rust docs to ethash module ([#10653](https://github.com/openethereum/openethereum/pull/10653))
* docs: Update Readme with TOC, Contributor Guideline. Update Cargo package descriptions ([#10652](https://github.com/openethereum/openethereum/pull/10652))
* Upgrade to parity-crypto 0.4 ([#10650](https://github.com/openethereum/openethereum/pull/10650))
* fix(compilation warnings) ([#10649](https://github.com/openethereum/openethereum/pull/10649))
* [whisper] Move needed aes_gcm crypto in-crate ([#10647](https://github.com/openethereum/openethereum/pull/10647))
* Update publishing ([#10644](https://github.com/openethereum/openethereum/pull/10644))
* ci: publish docs debug ([#10638](https://github.com/openethereum/openethereum/pull/10638))
* Fix publish docs ([#10635](https://github.com/openethereum/openethereum/pull/10635))
* Fix rinkeby petersburg fork ([#10632](https://github.com/openethereum/openethereum/pull/10632))
* Update kovan.json to switch Kovan validator set to POA Consensus Contracts ([#10628](https://github.com/openethereum/openethereum/pull/10628))
* [ethcore] remove error_chain ([#10616](https://github.com/openethereum/openethereum/pull/10616))
* Remove unused import ([#10615](https://github.com/openethereum/openethereum/pull/10615))
* Adds parity_getRawBlockByNumber, parity_submitRawBlock ([#10609](https://github.com/openethereum/openethereum/pull/10609))
* adds rpc error message for --no-ancient-blocks ([#10608](https://github.com/openethereum/openethereum/pull/10608))
* Constantinople HF on POA Core ([#10606](https://github.com/openethereum/openethereum/pull/10606))
* Clique: zero-fill extradata when the supplied value is less than 32 bytes in length ([#10605](https://github.com/openethereum/openethereum/pull/10605))
* evm: add some mulmod benches ([#10600](https://github.com/openethereum/openethereum/pull/10600))
* sccache logs to stdout ([#10596](https://github.com/openethereum/openethereum/pull/10596))
* update bootnodes ([#10595](https://github.com/openethereum/openethereum/pull/10595))
* Merge `Notifier` and `TransactionsPoolNotifier` ([#10591](https://github.com/openethereum/openethereum/pull/10591))
* fix(whisper): change expiry `unix_time + ttl + work` ([#10587](https://github.com/openethereum/openethereum/pull/10587))
* fix(evmbin): make benches compile again ([#10586](https://github.com/openethereum/openethereum/pull/10586))
* fix issue with compilation when 'slow-blocks' feature enabled ([#10585](https://github.com/openethereum/openethereum/pull/10585))
* Allow CORS requests in Secret Store API ([#10584](https://github.com/openethereum/openethereum/pull/10584))
* CI improvements ([#10579](https://github.com/openethereum/openethereum/pull/10579))
* ethcore: improve timestamp handling ([#10574](https://github.com/openethereum/openethereum/pull/10574))
* Update Issue Template to direct security issue to email ([#10562](https://github.com/openethereum/openethereum/pull/10562))
* version: bump master to 2.6 ([#10560](https://github.com/openethereum/openethereum/pull/10560))
* fix(light cull): poll light cull instead of timer ([#10559](https://github.com/openethereum/openethereum/pull/10559))
* Watch transactions pool ([#10558](https://github.com/openethereum/openethereum/pull/10558))
* Add SealingState; don't prepare block when not ready. ([#10529](https://github.com/openethereum/openethereum/pull/10529))
* Explicitly enable or disable Stratum in config file (Issue 9785) ([#10521](https://github.com/openethereum/openethereum/pull/10521))
* Add filtering capability to `parity_pendingTransactions` (issue 8269) ([#10506](https://github.com/openethereum/openethereum/pull/10506))
* Remove calls to heapsize ([#10432](https://github.com/openethereum/openethereum/pull/10432))
* RPC: Implements eth_subscribe("syncing") ([#10311](https://github.com/openethereum/openethereum/pull/10311))
* SecretStore: non-blocking wait of session completion ([#10303](https://github.com/openethereum/openethereum/pull/10303))
* Node table limiting and cache for node filter ([#10288](https://github.com/openethereum/openethereum/pull/10288))
* SecretStore: expose restore_key_public in HTTP API ([#10241](https://github.com/openethereum/openethereum/pull/10241))
* Trivial journal for private transactions ([#10056](https://github.com/openethereum/openethereum/pull/10056))
## Previous releases
- [CHANGELOG-2.5](docs/CHANGELOG-2.5.md) (_stable_)
- [CHANGELOG-2.4](docs/CHANGELOG-2.4.md) (EOL: 2019-07-08)
- [CHANGELOG-2.3](docs/CHANGELOG-2.3.md) (EOL: 2019-04-09)
- [CHANGELOG-2.2](docs/CHANGELOG-2.2.md) (EOL: 2019-02-25)
- [CHANGELOG-2.1](docs/CHANGELOG-2.1.md) (EOL: 2019-01-16)
- [CHANGELOG-2.0](docs/CHANGELOG-2.0.md) (EOL: 2018-11-15)
- [CHANGELOG-1.11](docs/CHANGELOG-1.11.md) (EOL: 2018-09-19)
- [CHANGELOG-1.10](docs/CHANGELOG-1.10.md) (EOL: 2018-07-18)
- [CHANGELOG-1.9](docs/CHANGELOG-1.9.md) (EOL: 2018-05-09)
- [CHANGELOG-1.8](docs/CHANGELOG-1.8.md) (EOL: 2018-03-22)
- [CHANGELOG-1.7](docs/CHANGELOG-1.7.md) (EOL: 2018-01-25)
- [CHANGELOG-1.6](docs/CHANGELOG-1.6.md) (EOL: 2017-10-15)
- [CHANGELOG-1.5](docs/CHANGELOG-1.5.md) (EOL: 2017-07-28)
- [CHANGELOG-1.4](docs/CHANGELOG-1.4.md) (EOL: 2017-03-13)
- [CHANGELOG-1.3](docs/CHANGELOG-1.3.md) (EOL: 2017-01-19)
- [CHANGELOG-1.2](docs/CHANGELOG-1.2.md) (EOL: 2016-11-07)
- [CHANGELOG-1.1](docs/CHANGELOG-1.1.md) (EOL: 2016-08-12)
- [CHANGELOG-1.0](docs/CHANGELOG-1.0.md) (EOL: 2016-06-24)
- [CHANGELOG-0.9](docs/CHANGELOG-0.9.md) (EOL: 2016-05-02)

View File

@@ -1,383 +0,0 @@
## Parity-Ethereum [v2.7.2](https://github.com/openethereum/openethereum/releases/tag/v2.7.2)
Parity Ethereum v2.7.2-stable is a patch version release of parity-ethereum.
Starting in the 2.7.x series of releases, parity-ethereum is switching to a single stable release
track. As a result, any clients that currently receive updates from the beta
track should switch to the stable track.
Due to database format changes, upgrading from 2.5.x or 2.6.x is one-way only.
The full list of included changes:
* [eth classic chainspec]: remove balance = 1 (#11458)
* backwards compatible call_type creation_method (#11450 + #11455)
* chore: remove unused dependencies (#11432)
* Cargo.lock: new lockfile format (#11448)
* rlp_derive: cleanup (#11446)
* Avoid long state queries when serving GetNodeData requests (#11444)
* update kvdb-rocksdb to 0.4 (#11442)
* Remove dead bootnodes, add new geth bootnodes (#11441)
* goerli: replace foundation bootnode (#11433)
* fix: export hardcoded sync format (#11416)
* verification: fix race same block + misc (#11400)
* update classic testnet bootnodes (#11398)
* gcc to clang (#11453)
## Parity-Ethereum [v2.7.1](https://github.com/openethereum/openethereum/releases/tag/v2.7.1)
* Revert #11311 (#11427)
## Parity-Ethereum [v2.7.0](https://github.com/openethereum/openethereum/releases/tag/v2.7.0)
Parity Ethereum v2.7.0-stable is a minor version release of parity-ethereum. As
of this release, parity-ethereum is switching to a single `stable` release
track. As a result, any clients that currently receive updates from the `beta`
track should switch to the `stable` track.
The full list of included changes from `v2.5-stable` to `v2.7-stable` (the
`v2.6-beta` branch will already include some of these changes):
* miner: fix deprecation warning Error::description (#11380)
* Fix Aztlan hard fork issues (#11347)
* authority_round: Fix next_step_time_duration. (#11379)
* Set the block gas limit to the value returned by a contract call (#10928)
* [Trace] Distinguish between `create` and `create2` (#11311)
* fix cargo audit (#11378)
* Fix esoteric test config variable (#11292)
* Rip out the C and Java bindings (#11346)
* Encapsulate access to the client for secret store (#11232)
* Forward-port #11356 (#11359)
* Fix error message typo (#11363)
* [util/migration]: remove needless `static` bounds (#11348)
* Replace stale boot nodes with latest list (#11351)
* Update to latest `kvdb-*`: no default column, DBValue is Vec (#11312)
* we do not profit from incremental now (#11302)
* update autoupdate fork blocks for nightly (#11308)
* Add Nat PMP method to P2P module (#11210)
* Add randomness contract support to AuthorityRound. (#10946)
* ethcore/res: activate ecip-1061 on kotti and mordor (#11338)
* tx-q: enable basic verification of local transactions (#11332)
* remove null signatures (#11335)
* ethcore/res: activate agharta on classic 9573000 (#11331)
* [secretstore] migrate to version 4 (#11322)
* Enable EIP-2384 for ice age hard fork (#11281)
* Fix atomicity violation in network-devp2p (#11277)
* Istanbul activation on xDai (#11299)
* Istanbul activation on POA Core (#11298)
* Adds support for ipc socket permissions (#11273)
* Add check for deserialising hex values over U256 limit (#11309)
* validate-chainspecs: check istanbul eips are in the foundation spec (#11305)
* [chainspec]: add `eip1344_transition` for istanbul (#11301)
* only add transactions to signing-queue if it is enabled (#11272)
* Use upstream rocksdb (#11248)
* Treat only blocks in queue as synced (#11264)
* add support for evan.network chains (#11289)
* Add benchmarks and tests for RlpNodeCodec decoding (#11287)
* upgrade vergen to 3.0 (#11293)
* interruptible test and build jobs (#11294)
* Istanbul HF on POA Sokol (#11282)
* [ethcore]: apply filter when `PendingSet::AlwaysQueue` in `ready_transactions_filtered` (#11227)
* Update lib.rs (#11286)
* Don't prune ancient state when instantiating a Client (#11270)
* fixed verify_uncles error type (#11276)
* ethcore: fix rlp deprecation warnings (#11280)
* Upgrade trie-db to 0.16.0. (#11274)
* Clarify what first_block `None` means (#11269)
* removed redundant VMType enum with one variant (#11266)
* Ensure jsonrpc threading settings are sane (#11267)
* Return Ok(None) when the registrar contract returns empty slice (#11257)
* Add a benchmark for snapshot::account::to_fat_rlps() (#11185)
* Fix misc compile warnings (#11258)
* simplify verification (#11249)
* update ropsten forkCanonHash, forkBlock (#11247)
* Make InstantSeal Instant again (#11186)
* ropsten #6631425 foundation #8798209 (#11201)
* Update list of bootnodes for xDai chain (#11236)
* ethcore/res: add mordor testnet configuration (#11200)
* [chain specs]: activate `Istanbul` on mainnet (#11228)
* [builtin]: support `multiple prices and activations` in chain spec (#11039)
* Insert explicit warning into the panic hook (#11225)
* Snapshot restoration overhaul (#11219)
* Fix docker centos build (#11226)
* retry on gitlab system failures (#11222)
* Update bootnodes. (#11203)
* Use provided usd-per-eth value if an endpoint is specified (#11209)
* Use a lock instead of atomics for snapshot Progress (#11197)
* [informant]: `MillisecondDuration` -> `as_millis()` (#11211)
* Step duration map configuration parameter ported from the POA Network fork (#10902)
* Upgrade jsonrpc to latest (#11206)
* [export hardcoded sync]: use debug for `H256` (#11204)
* Pause pruning while snapshotting (#11178)
* Type annotation for next_key() matching of json filter options (#11192)
* Crypto primitives removed from ethkey (#11174)
* Made ecrecover implementation trait public (#11188)
* Remove unused macro_use. (#11191)
* [dependencies]: jsonrpc `14.0.1` (#11183)
* [receipt]: add `sender` & `receiver` to `RichReceipts` (#11179)
* [dependencies] bump rand 0.7 (#11022)
* [ethcore/builtin]: do not panic in blake2pricer on short input (#11180)
* TxPermissions ver 3: gas price & data (#11170)
* [ethash] chainspec validate `ecip1017EraRounds` non-zero (#11123)
* util Host: fix a double Read Lock bug in fn Host::session_readable() (#11175)
* ethcore client: fix a double Read Lock bug in fn Client::logs() (#11172)
* Aura: Report malice on sibling blocks from the same validator (#11160)
* Change how RPCs eth_call and eth_estimateGas handle "Pending" (#11127)
* Cleanup stratum a bit (#11161)
* [keccak-hasher]: rust2018 (#11163)
* Upgrade to jsonrpc v14 (#11151)
* Secret store: fix Instant::now() related race in net_keep_alive (#11155)
* RPC method for clearing the engine signer (#10920)
* Use TryFrom instead of From+panic for Builtin (#11140)
* Fix sccache statistics (#11145)
* Update ethereum types to 0.8.0 version (#11139)
* [json]: add docs to `hardfork specification` (#11138)
* ServiceTransactionChecker::refresh_cache: allow registrar unavailable (#11126)
* Fix some random typos, formatting/whitespace (#11128)
* Refactor parity_listStorageKeys with count parameter optional (#11124)
* Make EIP712Domain Fields Optional (#11103)
* EIP-712: bump version in prep for publishing (#11106)
* move StateResult to `common-types` (#11121)
* Deduplicate registrar contract & calling logic (#11110)
* Refactor return type of `BlockChainClient::code` #7098 (#11102)
* Switching sccache from local to Redis (#10971)
* SIMD Implementation for EIP-152 (#11056)
* Fix deprecated trait objects without an explicit `dyn` (#11112)
* [spec] fix rinkeby spec (#11108)
* Update to latest jsonrpc (#11111)
* use images from our registry (#11105)
* Correct EIP-712 encoding (#11092)
* [CI] check evmbin build (#11096)
* Update `kvdb`, `kvdb-rocksdb` and `h2` (#11091)
* [client]: Fix for incorrectly dropped consensus messages (#11082) (#11086)
* Update JSON tests to d4f86ecf4aa7c (#11054)
* fix(network): typo (#11088)
* [ethash] remove manual unrolling (#11069)
* ethcore/res: activate Istanbul on Ropsten, Görli, Rinkeby, Kovan (#11068)
* [sync]: rust 2018 (#11067)
* [ethcore]: move client test types to test-helpers (#11062)
* [sync]: remove unused dependencies or make dev (#11061)
* [ethcore]: reduce re-exports (#11059)
* [evmbin] fix time formatting (#11060)
* Update hardcoded headers (foundation, classic, kovan, xdai, ewc, ...) (#11053)
* cargo update -p eth-secp256k1 (#11052)
* ethcore: remove `test-helper feat` from build (#11047)
* Include test-helpers from ethjson (#11045)
* [ethcore]: cleanup dependencies (#11043)
* add more tx tests (#11038)
* Fix parallel transactions race-condition (#10995)
* [ethcore]: make it compile without `test-helpers` feature (#11036)
* Benchmarks for block verification (#11035)
* Move snapshot related traits to their proper place (#11012)
* cleanup json crate (#11027)
* [spec] add istanbul test spec (#11033)
* [json-spec] make blake2 pricing spec more readable (#11034)
* Add blake2_f precompile (#11017)
* Add new line after writing block to hex file. (#10984)
* fix: remove unused error-chain (#11028)
* fix: remove needless use of itertools (#11029)
* Convert `std::test` benchmarks to use Criterion (#10999)
* Fix block detail updating (#11015)
* [trace] introduce trace failed to Ext (#11019)
* cli: update usage and version headers (#10924)
* [private-tx] remove unused rand (#11024)
* Extract snapshot to own crate (#11010)
* Edit publish-onchain.sh to use https (#11016)
* EIP 1108: Reduce alt_bn128 precompile gas costs (#11008)
* Fix deadlock in `network-devp2p` (#11013)
* Implement EIP-1283 reenable transition, EIP-1706 and EIP-2200 (#10191)
* EIP 1884 Re-pricing of trie-size dependent operations (#10992)
* xDai chain support and nodes list update (#10989)
* [trace] check mem diff within range (#11002)
* EIP-1344 Add CHAINID op-code (#10983)
* Make ClientIoMessage generic over the Client (#10981)
* bump spin to 0.5.2 (#10996)
* fix compile warnings (#10993)
* Fix compilation on recent nightlies (#10991)
* [ipfs] Convert to edition 2018 (#10979)
* Extract spec to own crate (#10978)
* EIP 2028: transaction gas lowered from 68 to 16 (#10987)
* Extract engines to own crates (#10966)
* Configuration map of block reward contract addresses (#10875)
* Add a 2/3 quorum option to Authority Round. (#10909)
* Fix rlp decode for inline trie nodes. (#10980)
* Private contract migration and offchain state sync (#10748)
* manual publish jobs for releases, no changes for nightlies (#10977)
* Extract the Engine trait (#10958)
* Better error message for rpc gas price errors (#10931)
* [.gitlab.yml] cargo check ethcore benches (#10965)
* Verify transaction against its block during import (#10954)
* [evmbin] fix compilation (#10976)
* Update to latest trie version. (#10972)
* [blooms-db] Fix benchmarks (#10974)
* Fix ethcore/benches build. (#10964)
* tx-pool: accept local tx with higher gas price when pool full (#10901)
* Disable unsyncable expanse chain (#10926)
* Extract Machine from ethcore (#10949)
* removed redundant state_root function from spec, improve spec error types (#10955)
* Add support for Energy Web Foundation's new chains (#10957)
* [evmbin] add more tests to main.rs (#10956)
* Fix compiler warnings in util/io and upgrade to edition 2018 Upgrade mio to latest (#10953)
* unify loading spec && further spec cleanups (#10948)
* refactor: Refactor evmbin CLI (#10742)
* journaldb changes (#10929)
* Allow default block parameter to be blockHash (#10932)
* Enable sealing when engine is ready (#10938)
* Fix some warnings and typos. (#10941)
* Updated security@parity.io key (#10939)
* Change the return type of step_inner function. (#10940)
* get rid of hidden mutability of Spec (#10904)
* simplify BlockReward::reward implementation (#10906)
* Kaspersky AV whitelisting (#10919)
* additional arithmetic EVM opcode benchmarks (#10916)
* [Cargo.lock] cargo update -p crossbeam-epoch (#10921)
* Fixes incorrect comment. (#10913)
* Add file path to disk map write/read warnings (#10911)
* remove verify_transaction_unordered from engine (#10891)
* Avast whitelist script (#10900)
* cleanup ethcore ethereum module (#10899)
* Move more types out of ethcore (#10880)
* return block nonce when engine is clique (#10892)
* TransactionQueue::import accepts iterator (#10889)
* rename is_pruned to is_prunable (#10888)
* simplify create_address_scheme (#10890)
* Move DatabaseExtras back to trace (#10868)
* Update README.md and Changelogs (#10866)
* whisper is no longer a part of parity-ethereum repo (#10855)
* [ethash] remove mem::uninitialized (#10861)
* Docker images renaming (#10863)
* Move the substate module into ethcore/executive (#10867)
* Run cargo fix on a few of the worst offenders (#10854)
* removed redundant fork choice abstraction (#10849)
* Extract state-db from ethcore (#10858)
* Fix fork choice (#10837)
* Move more code into state-account (#10840)
* Remove compiler warning (#10865)
* [ethash] use static_assertions crate (#10860)
* EIP-1702: Generalized Account Versioning Scheme (#10771)
* ethcore-builtin (#10850)
* removed QueueError type (#10852)
* removed unused macros (#10851)
* bump crossbeam (#10848)
* removed unused trait PrivateNotify and unused Error types (#10847)
* make fn submit_seal more idiomatic (#10843)
* update parking-lot to 0.8 (#10845)
* Update version to 2.7.0 (#10846)
* update jsonrpc to 12.0 (#10841)
* Improve logging and cleanup in miner around block sealing (#10745)
* Extract AccountDB to account-db (#10839)
* test: Update Whisper test for invalid pool size (#10811)
* Extricate PodAccount and state Account to own crates (#10838)
* logs (#10817)
* refactor: whisper: Add type aliases and update rustdocs in message.rs (#10812)
* Break circular dependency between Client and Engine (part 1) (#10833)
* tests: Relates to #10655: Test instructions for Readme (#10835)
* refactor: Related #9459 - evmbin: replace untyped json! macro with fully typed serde serialization using Rust structs (#10657)
* idiomatic changes to PodState (#10834)
* Allow --nat extip:your.host.here.org (#10830)
* When updating the client or when called from RPC, sleep should mean sleep (#10814)
* Remove excessive warning (#10831)
* Fix typo in README.md (#10828)
* ethcore does not use byteorder (#10829)
* Better logging when backfilling ancient blocks fail (#10796)
* depends: Update wordlist to v1.3 (#10823)
* cargo update -p smallvec (#10822)
* replace memzero with zeroize crate (#10816)
* Don't repeat the logic from Default impl (#10813)
* removed additional_params method (#10818)
* Add Constantinople eips to the dev (instant_seal) config (#10809)
* removed redundant fmt::Display implementations (#10806)
* revert changes to .gitlab-ci.yml (#10807)
* Add filtering capability to `parity_pendingTransactions` (issue 8269) (#10506)
* removed EthEngine alias (#10805)
* wait a bit longer in should_check_status_of_request_when_its_resolved (#10808)
* Do not drop the peer with None difficulty (#10772)
* ethcore-bloom-journal updated to 2018 (#10804)
* ethcore-light uses bincode 1.1 (#10798)
* Fix a few typos and unused warnings. (#10803)
* updated project to ansi_term 0.11 (#10799)
* added new ropsten-bootnode and removed old one (#10794)
* updated price-info to edition 2018 (#10801)
* ethcore-network-devp2p uses igd 0.9 (#10797)
* updated parity-local-store to edition 2018 and removed redundant Error type (#10800)
* Cleanup unused vm dependencies (#10787)
* Removed redundant ethcore-service error type (#10788)
* Removed machine abstraction from ethcore (#10791)
* Updated blooms-db to rust 2018 and removed redundant deps (#10785)
* ethkey no longer uses byteorder (#10786)
* Log validator set changes in EpochManager (#10734)
* Treat empty account the same as non-exist accounts in EIP-1052 (#10775)
* docs: Update Readme with TOC, Contributor Guideline. Update Cargo package descriptions (#10652)
* Move Engine::register_client to be before other I/O handler registration (#10767)
* Print warnings when using dangerous settings for ValidatorSet (#10733)
* ethcore/res: activate atlantis classic hf on block 8772000 (#10766)
* refactor: Fix indentation (#10740)
* Updated Bn128PairingImpl to use optimized batch pairing (#10765)
* fix: aura don't add `SystemTime::now()` (#10720)
* Initialize private tx logger only if private tx functionality is enabled (#10758)
* Remove unused code (#10762)
* Remove calls to heapsize (#10432)
* [devp2p] Update to 2018 edition (#10716)
* Add a way to signal shutdown to snapshotting threads (#10744)
* Enable aesni (#10756)
* remove support of old SS db formats (#10757)
* [devp2p] Don't use `rust-crypto` (#10714)
* updater: fix static id hashes initialization (#10755)
* Use fewer threads for snapshotting (#10752)
* Die error_chain, die (#10747)
* Fix deprectation warnings on nightly (#10746)
* fix docker tags for publishing (#10741)
* DevP2p: Get node IP address and udp port from Socket, if not included in PING packet (#10705)
* ethcore: enable ECIP-1054 for classic (#10731)
* Stop breaking out of loop if a non-canonical hash is found (#10729)
* Refactor Clique stepping (#10691)
* Use RUSTFLAGS to set the optimization level (#10719)
* SecretStore: non-blocking wait of session completion (#10303)
* removed secret_store folder (#10722)
* SecretStore: expose restore_key_public in HTTP API (#10241)
* Revert "enable lto for release builds (#10717)" (#10721)
* enable lto for release builds (#10717)
* Merge `Notifier` and `TransactionsPoolNotifier` (#10591)
* [devp2p] Fix warnings and re-org imports (#10710)
* Upgrade ethereum types (#10670)
* introduce MissingParent Error, fixes #10699 (#10700)
* Update publishing (#10644)
* Upgrade to parity-crypto 0.4 (#10650)
* new image (#10673)
* Add SealingState; don't prepare block when not ready. (#10529)
* Fix compiler warning (that will become an error) (#10683)
* add_sync_notifier in EthPubSubClient holds on to a Client for too long (#10689)
* Don't panic if extra_data is longer than VANITY_LENGTH (#10682)
* docs: evmbin - Update Rust docs (#10658)
* Remove annoying compiler warnings (#10679)
* Reset blockchain properly (#10669)
* Remove support for hardware wallets (#10678)
* [CI] allow cargo audit to fail (#10676)
* docs: Add ProgPoW Rust docs to ethash module (#10653)
* fix: Move PR template into .github/ folder (#10663)
* docs: Add PR template (#10654)
* Trivial journal for private transactions (#10056)
* fix(compilation warnings) (#10649)
* [whisper] Move needed aes_gcm crypto in-crate (#10647)
* Adds parity_getRawBlockByNumber, parity_submitRawBlock (#10609)
* Fix rinkeby petersburg fork (#10632)
* ci: publish docs debug (#10638)
* Fix publish docs (#10635)
* Update kovan.json to switch validator set to POA Consensus Contracts (#10628)
* [ethcore] remove error_chain (#10616)
* Remove unused import (#10615)
* evm: add some mulmod benches (#10600)
* Clique: zero-fill extradata when the supplied value is less than 32 bytes in length (#10605)
* Constantinople HF on POA Core (#10606)
* adds rpc error message for --no-ancient-blocks (#10608)
* Allow CORS requests in Secret Store API (#10584)
* update bootnodes (#10595)
* sccache logs to stdout (#10596)
* fix(whisper expiry): current time + work + ttl (#10587)
* CI improvements (#10579)
* Watch transactions pool (#10558)
* fix(evmbin): make benches compile again (#10586)
* fix issue with compilation when 'slow-blocks' feature enabled (#10585)
* Reject crazy timestamps instead of truncating. (#10574)
* Node table limiting and cache for node filter (#10288)
* fix(light cull): poll light cull instead of timer (#10559)
* Update Issue Template to direct security issue to email (#10562)
* RPC: Implements eth_subscribe("syncing") (#10311)
* Explicitly enable or disable Stratum in config file (Issue 9785) (#10521)
* version: bump master to 2.6 (#10560)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

View File

@@ -1,37 +1,20 @@
[package]
description = "OpenEthereum Ethash & ProgPoW Implementations"
name = "ethash"
version = "1.12.0"
authors = ["Parity Technologies <admin@parity.io>"]
[dependencies]
common-types = { path = "../ethcore/types" }
crunchy = "0.1.0"
either = "1.0.0"
ethereum-types = "0.9.0"
keccak-hash = "0.5.0"
ethereum-types = "0.4"
keccak-hash = "0.1"
log = "0.4"
memmap = "0.6"
parking_lot = "0.10.0"
parking_lot = "0.6"
primal = "0.2.3"
static_assertions = "1.1.0"
[dev-dependencies]
criterion = "0.3"
hex-literal = "0.2.1"
rustc-hex = "2.1.0"
serde_json = "1.0"
tempfile = "3.1"
tempdir = "0.3"
[features]
default = []
bench = []
[[bench]]
name = "basic"
harness = false
required-features = ['bench']
[[bench]]
name = "progpow"
harness = false
required-features = ['bench']
benches = []

View File

@@ -1,152 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
#[macro_use]
extern crate criterion;
extern crate ethash;
extern crate common_types;
use criterion::Criterion;
use ethash::{NodeCacheBuilder, keccak};
use common_types::engines::OptimizeFor;
const HASH: [u8; 32] = [
0xf5, 0x7e, 0x6f, 0x3a, 0xcf, 0xc0, 0xdd, 0x4b,
0x5b, 0xf2, 0xbe, 0xe4, 0x0a, 0xb3, 0x35, 0x8a,
0xa6, 0x87, 0x73, 0xa8, 0xd0, 0x9f, 0x5e, 0x59,
0x5e, 0xab, 0x55, 0x94, 0x05, 0x52, 0x7d, 0x72,
];
const MIX_HASH: [u8; 32] = [
0x1f, 0xff, 0x04, 0xce, 0xc9, 0x41, 0x73, 0xfd,
0x59, 0x1e, 0x3d, 0x89, 0x60, 0xce, 0x6b, 0xdf,
0x8b, 0x19, 0x71, 0x04, 0x8c, 0x71, 0xff, 0x93,
0x7b, 0xb2, 0xd3, 0x2a, 0x64, 0x31, 0xab, 0x6d,
];
const NONCE: u64 = 0xd7b3ac70a301a249;
criterion_group! {
name = basic;
config = dont_take_an_eternity_to_run();
targets = bench_keccak_512_inplace,
bench_light_compute_memmap,
bench_light_compute_memory,
bench_light_new_round_trip_memmap,
bench_light_new_round_trip_memory,
bench_light_from_file_round_trip_memory,
bench_light_from_file_round_trip_memmap,
bench_quick_get_difficulty,
}
criterion_main!(basic);
fn dont_take_an_eternity_to_run() -> Criterion {
Criterion::default().nresamples(1_000)
.without_plots()
.sample_size(10)
}
fn bench_keccak_512_inplace(b: &mut Criterion) {
b.bench_function("bench_keccak_512_inplace", move |b| b.iter(|| {
let mut data = [4u8; 64];
keccak::keccak_512::inplace(&mut data);
}));
}
fn bench_light_compute_memmap(b: &mut Criterion) {
use std::env;
let builder = NodeCacheBuilder::new(OptimizeFor::Memory, u64::max_value());
let light = builder.light(&env::temp_dir(), 486382);
b.bench_function("bench_light_compute_memmap", move |b| b.iter(|| light.compute(&HASH, NONCE, u64::max_value())));
}
fn bench_light_compute_memory(b: &mut Criterion) {
use std::env;
let builder = NodeCacheBuilder::new(OptimizeFor::Cpu, u64::max_value());
let light = builder.light(&env::temp_dir(), 486382);
b.bench_function("bench_light_compute_memory", move |b| b.iter(|| light.compute(&HASH, NONCE, u64::max_value())));
}
fn bench_light_new_round_trip_memmap(b: &mut Criterion) {
use std::env;
b.bench_function("bench_light_new_round_trip_memmap", move |b| b.iter(|| {
let builder = NodeCacheBuilder::new(OptimizeFor::Memory, u64::max_value());
let light = builder.light(&env::temp_dir(), 486382);
light.compute(&HASH, NONCE, u64::max_value());
}));
}
fn bench_light_new_round_trip_memory(b: &mut Criterion) {
use std::env;
b.bench_function("bench_light_new_round_trip_memory", move |b| b.iter(|| {
let builder = NodeCacheBuilder::new(OptimizeFor::Cpu, u64::max_value());
let light = builder.light(&env::temp_dir(), 486382);
light.compute(&HASH, NONCE, u64::max_value());
}));
}
fn bench_light_from_file_round_trip_memory(b: &mut Criterion) {
use std::env;
let dir = env::temp_dir();
let height = 486382;
{
let builder = NodeCacheBuilder::new(OptimizeFor::Cpu, u64::max_value());
let mut dummy = builder.light(&dir, height);
dummy.to_file().unwrap();
}
b.bench_function("bench_light_from_file_round_trip_memory", move |b| b.iter(|| {
let builder = NodeCacheBuilder::new(OptimizeFor::Cpu, u64::max_value());
let light = builder.light_from_file(&dir, 486382).unwrap();
light.compute(&HASH, NONCE, u64::max_value());
}));
}
fn bench_light_from_file_round_trip_memmap(b: &mut Criterion) {
use std::env;
let dir = env::temp_dir();
let height = 486382;
{
let builder = NodeCacheBuilder::new(OptimizeFor::Memory, u64::max_value());
let mut dummy = builder.light(&dir, height);
dummy.to_file().unwrap();
}
b.bench_function("bench_light_from_file_round_trip_memmap", move |b| b.iter(|| {
let builder = NodeCacheBuilder::new(OptimizeFor::Memory, u64::max_value());
let light = builder.light_from_file(&dir, 486382).unwrap();
light.compute(&HASH, NONCE, u64::max_value());
}));
}
fn bench_quick_get_difficulty(b: &mut Criterion) {
b.bench_function("bench_quick_get_difficulty", move |b| b.iter(|| {
let d = ethash::quick_get_difficulty(&HASH, NONCE, &MIX_HASH, false);
let boundary_good = [
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3e, 0x9b, 0x6c, 0x69, 0xbc, 0x2c, 0xe2, 0xa2,
0x4a, 0x8e, 0x95, 0x69, 0xef, 0xc7, 0xd7, 0x1b, 0x33, 0x35, 0xdf, 0x36, 0x8c, 0x9a,
0xe9, 0x7e, 0x53, 0x84,
];
assert_eq!(d[..], boundary_good[..]);
}));
}

View File

@@ -1,106 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
#[macro_use]
extern crate criterion;
#[macro_use]
extern crate hex_literal;
extern crate common_types;
extern crate ethash;
extern crate tempfile;
use criterion::Criterion;
use ethash::progpow;
use tempfile::TempDir;
use ethash::NodeCacheBuilder;
use ethash::compute::light_compute;
use common_types::engines::OptimizeFor;
fn bench_hashimoto_light(c: &mut Criterion) {
let builder = NodeCacheBuilder::new(OptimizeFor::Memory, u64::max_value());
let tempdir = TempDir::new().unwrap();
let light = builder.light(&tempdir.path(), 1);
let h = hex!("c9149cc0386e689d789a1c2f3d5d169a61a6218ed30e74414dc736e442ef3d1f");
let mut hash = [0; 32];
hash.copy_from_slice(&h);
c.bench_function("hashimoto_light", move |b| {
b.iter(|| light_compute(&light, &hash, 0))
});
}
fn bench_progpow_light(c: &mut Criterion) {
let builder = NodeCacheBuilder::new(OptimizeFor::Memory, u64::max_value());
let tempdir = TempDir::new().unwrap();
let cache = builder.new_cache(tempdir.into_path(), 0);
let h = hex!("c9149cc0386e689d789a1c2f3d5d169a61a6218ed30e74414dc736e442ef3d1f");
let mut hash = [0; 32];
hash.copy_from_slice(&h);
c.bench_function("progpow_light", move |b| {
b.iter(|| {
let c_dag = progpow::generate_cdag(cache.as_ref());
progpow::progpow(
hash,
0,
0,
cache.as_ref(),
&c_dag,
);
})
});
}
fn bench_progpow_optimal_light(c: &mut Criterion) {
let builder = NodeCacheBuilder::new(OptimizeFor::Memory, u64::max_value());
let tempdir = TempDir::new().unwrap();
let cache = builder.new_cache(tempdir.into_path(), 0);
let c_dag = progpow::generate_cdag(cache.as_ref());
let h = hex!("c9149cc0386e689d789a1c2f3d5d169a61a6218ed30e74414dc736e442ef3d1f");
let mut hash = [0; 32];
hash.copy_from_slice(&h);
c.bench_function("progpow_optimal_light", move |b| {
b.iter(|| {
progpow::progpow(
hash,
0,
0,
cache.as_ref(),
&c_dag,
);
})
});
}
fn bench_keccak_f800_long(c: &mut Criterion) {
c.bench_function("keccak_f800_long(0, 0, 0)", |b| {
b.iter(|| progpow::keccak_f800_long([0; 32], 0, [0; 8]))
});
}
criterion_group!(benches,
bench_hashimoto_light,
bench_progpow_light,
bench_progpow_optimal_light,
bench_keccak_f800_long,
);
criterion_main!(benches);

View File

@@ -1,86 +0,0 @@
[
[
0,
"0000000000000000000000000000000000000000000000000000000000000000",
"0000000000000000",
"f4ac202715ded4136e72887c39e63a4738331c57fd9eb79f6ec421c281aa8743",
"b3bad9ca6f7c566cf0377d1f8cce29d6516a96562c122d924626281ec948ef02"
],
[
49,
"b3bad9ca6f7c566cf0377d1f8cce29d6516a96562c122d924626281ec948ef02",
"0000000006ff2c47",
"7730596f128f675ef9a6bb7281f268e4077d302f2b9078da1ece4349248561dd",
"0b9ed0c11157f1365143e329a6e1cea4248d9d6cb44b9c6daf492c7a076654a4"
],
[
50,
"0b9ed0c11157f1365143e329a6e1cea4248d9d6cb44b9c6daf492c7a076654a4",
"00000000076e482e",
"829136d4a704eb8d06da773f1a90466e7b5ed12119c44526f045bbff4475d891",
"e2e881c5b893c2f1ef06b96a10cfcbcf7255b307f0818e7d30eb12b2edfc237b"
],
[
99,
"e2e881c5b893c2f1ef06b96a10cfcbcf7255b307f0818e7d30eb12b2edfc237b",
"000000003917afab",
"deb3d8b45bdc596c56aa37a5eba456f478c82e60e5c028ce95f2e654e4bb7b57",
"9bdc2ad2286eaa051d6ca1f5196d2dd1c9a039f1d7ce3e1c856b793deed01778"
],
[
29950,
"9bdc2ad2286eaa051d6ca1f5196d2dd1c9a039f1d7ce3e1c856b793deed01778",
"005d409dbc23a62a",
"c01e6d339cc687c77f653b81c74cb9de8b595554f2c5db671a7dde3846d2fa01",
"de0d693e597cf2fd70a4cfaa73f6baafc29e1eee695a81295b278c1116580b72"
],
[
29999,
"de0d693e597cf2fd70a4cfaa73f6baafc29e1eee695a81295b278c1116580b72",
"005db5fa4c2a3d03",
"8b664cdbf396a7a185446c93dddd6611f5a736b11097381ae6bea45e802cec16",
"21ec5d1984a4fd4394b042aa96365085225d964727a45def245ceab326e28128"
],
[
30000,
"21ec5d1984a4fd4394b042aa96365085225d964727a45def245ceab326e28128",
"005db8607994ff30",
"276951d89c1ed262bcac00df4fb9bf7af36991532744a2e287b0b758a56e15aa",
"dc070b76cc311cd82267f98936acbbbd3ec1c1ab25b55e2c885af6474e1e6841"
],
[
30049,
"dc070b76cc311cd82267f98936acbbbd3ec1c1ab25b55e2c885af6474e1e6841",
"005e2e215a8ca2e7",
"6248ba0157d0f0592dacfe2963337948fffb37f67e7451a6862c1321d894cebe",
"6fdecf719e2547f585a6ee807d8237db8e9489f63d3f259ab5236451eaded433"
],
[
30050,
"6fdecf719e2547f585a6ee807d8237db8e9489f63d3f259ab5236451eaded433",
"005e30899481055e",
"512d8f2bb0441fcfa1764c67e8dbed2afcbe9141de4bbebc5b51e0661dede550",
"cb1587a1c372642cbd9ce4c1ba2f433985d44c571a676a032bc1e8c1ad066e24"
],
[
30099,
"cb1587a1c372642cbd9ce4c1ba2f433985d44c571a676a032bc1e8c1ad066e24",
"005ea6aef136f88b",
"be0e7d6afa6edd483ccc304afa9bf0abaca5e0f037a4f05bf5550b9309d1d12c",
"78be18f20569a834d839dad48e0e51d6df6b6537575f0ad29898c7cf357f12cb"
],
[
59950,
"78be18f20569a834d839dad48e0e51d6df6b6537575f0ad29898c7cf357f12cb",
"02ebe0503bd7b1da",
"b85be51fce670aa437f28c02ea4fd7995fa8b6ac224e959b8dbfb5bdbc6f77ce",
"a68a620ba17e0cf2817bc4397cf4b85f5770983aa7b7931319a7f61bd6f905b1"
],
[
59999,
"a68a620ba17e0cf2817bc4397cf4b85f5770983aa7b7931319a7f61bd6f905b1",
"02edb6275bd221e3",
"ffe745a932c21c0704291bb416fe8bffec76621cd3434861885beab42cec1734",
"9e6667a151ac6f5186a05cb20877a2b3df02317046256a762cb8ec2d96aa34f0"
]
]

View File

@@ -1,18 +1,18 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Open Ethereum is free software: you can redistribute it and/or modify
// Parity is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// Parity is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
use compute::Light;
use either::Either;
@@ -21,7 +21,7 @@ use memmap::MmapMut;
use parking_lot::Mutex;
use seed_compute::SeedHashCompute;
use shared::{ETHASH_CACHE_ROUNDS, NODE_BYTES, Node, epoch, get_cache_size, to_hex};
use shared::{ETHASH_CACHE_ROUNDS, NODE_BYTES, NODE_DWORDS, Node, epoch, get_cache_size, to_hex};
use std::borrow::Cow;
use std::fs;
@@ -30,10 +30,20 @@ use std::path::{Path, PathBuf};
use std::slice;
use std::sync::Arc;
use common_types::engines::OptimizeFor;
type Cache = Either<Vec<Node>, MmapMut>;
#[derive(PartialEq, Eq, Debug, Clone, Copy)]
pub enum OptimizeFor {
Cpu,
Memory,
}
impl Default for OptimizeFor {
fn default() -> Self {
OptimizeFor::Cpu
}
}
fn byte_size(cache: &Cache) -> usize {
use self::Either::{Left, Right};
@@ -59,7 +69,6 @@ pub struct NodeCacheBuilder {
// TODO: Remove this locking and just use an `Rc`?
seedhash: Arc<Mutex<SeedHashCompute>>,
optimize_for: OptimizeFor,
progpow_transition: u64,
}
// TODO: Abstract the "optimize for" logic
@@ -73,18 +82,17 @@ pub struct NodeCache {
impl NodeCacheBuilder {
pub fn light(&self, cache_dir: &Path, block_number: u64) -> Light {
Light::new_with_builder(self, cache_dir, block_number, self.progpow_transition)
Light::new_with_builder(self, cache_dir, block_number)
}
pub fn light_from_file(&self, cache_dir: &Path, block_number: u64) -> io::Result<Light> {
Light::from_file_with_builder(self, cache_dir, block_number, self.progpow_transition)
Light::from_file_with_builder(self, cache_dir, block_number)
}
pub fn new<T: Into<Option<OptimizeFor>>>(optimize_for: T, progpow_transition: u64) -> Self {
pub fn new<T: Into<Option<OptimizeFor>>>(optimize_for: T) -> Self {
NodeCacheBuilder {
seedhash: Arc::new(Mutex::new(SeedHashCompute::default())),
optimize_for: optimize_for.into().unwrap_or_default(),
progpow_transition
}
}
@@ -301,28 +309,27 @@ impl AsRef<[Node]> for NodeCache {
// out. It counts as a read and causes all writes afterwards to be elided. Yes, really. I know, I
// want to refactor this to use less `unsafe` as much as the next rustacean.
unsafe fn initialize_memory(memory: *mut Node, num_nodes: usize, ident: &H256) {
// We use raw pointers here, see above
let dst = slice::from_raw_parts_mut(memory as *mut u8, NODE_BYTES);
let dst = memory as *mut u8;
debug_assert_eq!(ident.len(), 32);
keccak_512::write(&ident[..], dst);
keccak_512::unchecked(dst, NODE_BYTES, ident.as_ptr(), ident.len());
for i in 1..num_nodes {
// We use raw pointers here, see above
let dst = slice::from_raw_parts_mut(
memory.offset(i as _) as *mut u8,
NODE_BYTES,
);
let src = slice::from_raw_parts(
memory.offset(i as isize - 1) as *mut u8,
NODE_BYTES,
);
keccak_512::write(src, dst);
let dst = memory.offset(i as _) as *mut u8;
let src = memory.offset(i as isize - 1) as *mut u8;
keccak_512::unchecked(dst, NODE_BYTES, src, NODE_BYTES);
}
// Now this is initialized, we can treat it as a slice.
let nodes: &mut [Node] = slice::from_raw_parts_mut(memory, num_nodes);
// For `unroll!`, see below. If the literal in `unroll!` is not the same as the RHS here then
// these have got out of sync! Don't let this happen!
debug_assert_eq!(NODE_DWORDS, 8);
// This _should_ get unrolled by the compiler, since it's not using the loop variable.
for _ in 0..ETHASH_CACHE_ROUNDS {
for i in 0..num_nodes {
let data_idx = (num_nodes - 1 + i) % num_nodes;
@@ -332,8 +339,11 @@ unsafe fn initialize_memory(memory: *mut Node, num_nodes: usize, ident: &H256) {
let mut data: Node = nodes.get_unchecked(data_idx).clone();
let rhs: &Node = nodes.get_unchecked(idx);
for (a, b) in data.as_dwords_mut().iter_mut().zip(rhs.as_dwords()) {
*a ^= *b;
unroll! {
for w in 0..8 {
*data.as_dwords_mut().get_unchecked_mut(w) ^=
*rhs.as_dwords().get_unchecked(w);
}
}
data

View File

@@ -1,18 +1,18 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Open Ethereum is free software: you can redistribute it and/or modify
// Parity is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// Parity is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
//! Ethash implementation
//! See https://github.com/ethereum/wiki/wiki/Ethash
@@ -21,17 +21,16 @@
use keccak::{keccak_512, keccak_256, H256};
use cache::{NodeCache, NodeCacheBuilder};
use progpow::{CDag, generate_cdag, progpow, keccak_f800_short, keccak_f800_long};
use seed_compute::SeedHashCompute;
use shared::*;
use std::io;
use std::mem;
use std::{mem, ptr};
use std::path::Path;
const MIX_WORDS: usize = ETHASH_MIX_BYTES / 4;
const MIX_NODES: usize = MIX_WORDS / NODE_WORDS;
pub const FNV_PRIME: u32 = 0x01000193;
const FNV_PRIME: u32 = 0x01000193;
/// Computation result
pub struct ProofOfWork {
@@ -41,15 +40,9 @@ pub struct ProofOfWork {
pub mix_hash: H256,
}
enum Algorithm {
Hashimoto,
Progpow(Box<CDag>),
}
pub struct Light {
block_number: u64,
cache: NodeCache,
algorithm: Algorithm,
}
/// Light cache structure
@@ -58,55 +51,32 @@ impl Light {
builder: &NodeCacheBuilder,
cache_dir: &Path,
block_number: u64,
progpow_transition: u64,
) -> Self {
let cache = builder.new_cache(cache_dir.to_path_buf(), block_number);
let algorithm = if block_number >= progpow_transition {
Algorithm::Progpow(Box::new(generate_cdag(cache.as_ref())))
} else {
Algorithm::Hashimoto
};
Light { block_number, cache, algorithm }
Light {
block_number: block_number,
cache: cache,
}
}
/// Calculate the light boundary data
/// `header_hash` - The header hash to pack into the mix
/// `nonce` - The nonce to pack into the mix
pub fn compute(&self, header_hash: &H256, nonce: u64, block_number: u64) -> ProofOfWork {
match self.algorithm {
Algorithm::Progpow(ref c_dag) => {
let (value, mix_hash) = progpow(
*header_hash,
nonce,
block_number,
self.cache.as_ref(),
c_dag,
);
ProofOfWork { value, mix_hash }
},
Algorithm::Hashimoto => light_compute(self, header_hash, nonce),
}
pub fn compute(&self, header_hash: &H256, nonce: u64) -> ProofOfWork {
light_compute(self, header_hash, nonce)
}
pub fn from_file_with_builder(
builder: &NodeCacheBuilder,
cache_dir: &Path,
block_number: u64,
progpow_transition: u64,
) -> io::Result<Self> {
let cache = builder.from_file(cache_dir.to_path_buf(), block_number)?;
let algorithm = if block_number >= progpow_transition {
Algorithm::Progpow(Box::new(generate_cdag(cache.as_ref())))
} else {
Algorithm::Hashimoto
};
Ok(Light { block_number, cache, algorithm })
Ok(Light {
block_number: block_number,
cache: cache,
})
}
pub fn to_file(&mut self) -> io::Result<&Path> {
@@ -129,27 +99,27 @@ fn fnv_hash(x: u32, y: u32) -> u32 {
/// `nonce` The block's nonce
/// `mix_hash` The mix digest hash
/// Boundary recovered from mix hash
pub fn quick_get_difficulty(header_hash: &H256, nonce: u64, mix_hash: &H256, progpow: bool) -> H256 {
pub fn quick_get_difficulty(header_hash: &H256, nonce: u64, mix_hash: &H256) -> H256 {
unsafe {
if progpow {
let seed = keccak_f800_short(*header_hash, nonce, [0u32; 8]);
keccak_f800_long(*header_hash, seed, mem::transmute(*mix_hash))
} else {
let mut buf = [0u8; 64 + 32];
// This is safe - the `keccak_512` call below reads the first 40 bytes (which we explicitly set
// with two `copy_nonoverlapping` calls) but writes the first 64, and then we explicitly write
// the next 32 bytes before we read the whole thing with `keccak_256`.
//
// This cannot be elided by the compiler as it doesn't know the implementation of
// `keccak_512`.
let mut buf: [u8; 64 + 32] = mem::uninitialized();
let hash_len = header_hash.len();
buf[..hash_len].copy_from_slice(header_hash);
let end = hash_len + mem::size_of::<u64>();
buf[hash_len..end].copy_from_slice(&nonce.to_ne_bytes());
ptr::copy_nonoverlapping(header_hash.as_ptr(), buf.as_mut_ptr(), 32);
ptr::copy_nonoverlapping(&nonce as *const u64 as *const u8, buf[32..].as_mut_ptr(), 8);
keccak_512::inplace_range(&mut buf, 0..end);
buf[64..].copy_from_slice(mix_hash);
keccak_512::unchecked(buf.as_mut_ptr(), 64, buf.as_ptr(), 40);
ptr::copy_nonoverlapping(mix_hash.as_ptr(), buf[64..].as_mut_ptr(), 32);
let mut hash = [0u8; 32];
keccak_256::write(&buf, &mut hash);
// This is initialized in `keccak_256`
let mut hash: [u8; 32] = mem::uninitialized();
keccak_256::unchecked(hash.as_mut_ptr(), hash.len(), buf.as_ptr(), buf.len());
hash
}
hash
}
}
@@ -198,21 +168,32 @@ fn hash_compute(light: &Light, full_size: usize, header_hash: &H256, nonce: u64)
// improvements, since I can't imagine that 3-5% of our runtime is taken up by catting two
// arrays together.
let mut buf: MixBuf = MixBuf {
half_mix: {
half_mix: unsafe {
// Pack `header_hash` and `nonce` together
let mut out = [0u8; NODE_BYTES];
// We explicitly write the first 40 bytes, leaving the last 24 as uninitialized. Then
// `keccak_512` reads the first 40 bytes (4th parameter) and overwrites the entire array,
// leaving it fully initialized.
let mut out: [u8; NODE_BYTES] = mem::uninitialized();
let hash_len = header_hash.len();
out[..hash_len].copy_from_slice(header_hash);
let end = hash_len + mem::size_of::<u64>();
out[hash_len..end].copy_from_slice(&nonce.to_ne_bytes());
ptr::copy_nonoverlapping(header_hash.as_ptr(), out.as_mut_ptr(), header_hash.len());
ptr::copy_nonoverlapping(
&nonce as *const u64 as *const u8,
out[header_hash.len()..].as_mut_ptr(),
mem::size_of::<u64>(),
);
// compute keccak-512 hash and replicate across mix
keccak_512::inplace_range(&mut out, 0..end);
keccak_512::unchecked(
out.as_mut_ptr(),
NODE_BYTES,
out.as_ptr(),
header_hash.len() + mem::size_of::<u64>(),
);
Node { bytes: out }
},
compress_bytes: [0u8; MIX_WORDS],
// This is fully initialized before being read, see `let mut compress = ...` below
compress_bytes: unsafe { mem::uninitialized() },
};
let mut mix: [_; MIX_NODES] = [buf.half_mix.clone(), buf.half_mix.clone()];
@@ -236,16 +217,24 @@ fn hash_compute(light: &Light, full_size: usize, header_hash: &H256, nonce: u64)
fnv_hash(first_val ^ i, mix_words[i as usize % MIX_WORDS]) % num_full_pages
};
// MIX_NODES
for n in 0..2 {
let tmp_node = calculate_dag_item(
index * MIX_NODES as u32 + n as u32,
cache,
);
unroll! {
// MIX_NODES
for n in 0..2 {
let tmp_node = calculate_dag_item(
index * MIX_NODES as u32 + n as u32,
cache,
);
// NODE_WORDS
for (a, b) in mix[n].as_words_mut().iter_mut().zip(tmp_node.as_words()) {
*a = fnv_hash(*a, *b);
unroll! {
// NODE_WORDS
for w in 0..16 {
mix[n].as_words_mut()[w] =
fnv_hash(
mix[n].as_words()[w],
tmp_node.as_words()[w],
);
}
}
}
}
}
@@ -253,27 +242,25 @@ fn hash_compute(light: &Light, full_size: usize, header_hash: &H256, nonce: u64)
let mix_words: [u32; MIX_WORDS] = unsafe { mem::transmute(mix) };
{
// We iterate precisely `compress.len()` times and set each index,
// leaving the array fully initialized. THIS ONLY WORKS ON LITTLE-ENDIAN MACHINES.
// See a future PR to make this and the rest of the code work correctly on
// This is an uninitialized buffer to begin with, but we iterate precisely `compress.len()`
// times and set each index, leaving the array fully initialized. THIS ONLY WORKS ON LITTLE-
// ENDIAN MACHINES. See a future PR to make this and the rest of the code work correctly on
// big-endian arches like mips.
let compress: &mut [u32; MIX_WORDS / 4] =
unsafe { make_const_array!(MIX_WORDS / 4, &mut buf.compress_bytes) };
#[cfg(target_endian = "big")]
{
compile_error!("OpenEthereum currently only supports little-endian targets");
}
// Compress mix
debug_assert_eq!(MIX_WORDS / 4, 8);
for i in 0..8 {
let w = i * 4;
unroll! {
for i in 0..8 {
let w = i * 4;
let mut reduction = mix_words[w + 0];
reduction = reduction.wrapping_mul(FNV_PRIME) ^ mix_words[w + 1];
reduction = reduction.wrapping_mul(FNV_PRIME) ^ mix_words[w + 2];
reduction = reduction.wrapping_mul(FNV_PRIME) ^ mix_words[w + 3];
compress[i] = reduction;
let mut reduction = mix_words[w + 0];
reduction = reduction.wrapping_mul(FNV_PRIME) ^ mix_words[w + 1];
reduction = reduction.wrapping_mul(FNV_PRIME) ^ mix_words[w + 2];
reduction = reduction.wrapping_mul(FNV_PRIME) ^ mix_words[w + 3];
compress[i] = reduction;
}
}
}
@@ -282,23 +269,25 @@ fn hash_compute(light: &Light, full_size: usize, header_hash: &H256, nonce: u64)
let value: H256 = {
// We can interpret the buffer as an array of `u8`s, since it's `repr(C)`.
let read_ptr: *const u8 = &buf as *const MixBuf as *const u8;
let buffer = unsafe {
core::slice::from_raw_parts(
// We overwrite the second half since `keccak_256` has an internal buffer and so allows
// overlapping arrays as input.
let write_ptr: *mut u8 = &mut buf.compress_bytes as *mut [u8; 32] as *mut u8;
unsafe {
keccak_256::unchecked(
write_ptr,
buf.compress_bytes.len(),
read_ptr,
buf.half_mix.bytes.len() + buf.compress_bytes.len(),
)
};
// We overwrite the buf.compress_bytes since `keccak_256` has an internal buffer and so allows
// overlapping arrays as input.
keccak_256::write(buffer, &mut buf.compress_bytes);
);
}
buf.compress_bytes
};
ProofOfWork { mix_hash, value }
ProofOfWork { mix_hash: mix_hash, value: value }
}
pub fn calculate_dag_item(node_index: u32, cache: &[Node]) -> Node {
// TODO: Use the `simd` crate
fn calculate_dag_item(node_index: u32, cache: &[Node]) -> Node {
let num_parent_nodes = cache.len();
let mut ret = cache[node_index as usize % num_parent_nodes].clone();
ret.as_words_mut()[0] ^= node_index;
@@ -311,8 +300,10 @@ pub fn calculate_dag_item(node_index: u32, cache: &[Node]) -> Node {
num_parent_nodes as u32;
let parent = &cache[parent_index as usize];
for (a, b) in ret.as_words_mut().iter_mut().zip(parent.as_words()) {
*a = fnv_hash(*a, *b);
unroll! {
for w in 0..16 {
ret.as_words_mut()[w] = fnv_hash(ret.as_words()[w], parent.as_words()[w]);
}
}
}
@@ -325,7 +316,7 @@ pub fn calculate_dag_item(node_index: u32, cache: &[Node]) -> Node {
mod test {
use super::*;
use std::fs;
use tempfile::TempDir;
use tempdir::TempDir;
#[test]
fn test_get_cache_size() {
@@ -370,13 +361,13 @@ mod test {
0x4a, 0x8e, 0x95, 0x69, 0xef, 0xc7, 0xd7, 0x1b, 0x33, 0x35, 0xdf, 0x36, 0x8c, 0x9a,
0xe9, 0x7e, 0x53, 0x84,
];
assert_eq!(quick_get_difficulty(&hash, nonce, &mix_hash, false)[..], boundary_good[..]);
assert_eq!(quick_get_difficulty(&hash, nonce, &mix_hash)[..], boundary_good[..]);
let boundary_bad = [
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x3a, 0x9b, 0x6c, 0x69, 0xbc, 0x2c, 0xe2, 0xa2,
0x4a, 0x8e, 0x95, 0x69, 0xef, 0xc7, 0xd7, 0x1b, 0x33, 0x35, 0xdf, 0x36, 0x8c, 0x9a,
0xe9, 0x7e, 0x53, 0x84,
];
assert!(quick_get_difficulty(&hash, nonce, &mix_hash, false)[..] != boundary_bad[..]);
assert!(quick_get_difficulty(&hash, nonce, &mix_hash)[..] != boundary_bad[..]);
}
#[test]
@@ -398,9 +389,9 @@ mod test {
];
let nonce = 0xd7b3ac70a301a249;
let tempdir = TempDir::new().unwrap();
let tempdir = TempDir::new("").unwrap();
// difficulty = 0x085657254bd9u64;
let light = NodeCacheBuilder::new(None, u64::max_value()).light(tempdir.path(), 486382);
let light = NodeCacheBuilder::new(None).light(tempdir.path(), 486382);
let result = light_compute(&light, &hash, nonce);
assert_eq!(result.mix_hash[..], mix_hash[..]);
assert_eq!(result.value[..], boundary[..]);
@@ -408,8 +399,8 @@ mod test {
#[test]
fn test_drop_old_data() {
let tempdir = TempDir::new().unwrap();
let builder = NodeCacheBuilder::new(None, u64::max_value());
let tempdir = TempDir::new("").unwrap();
let builder = NodeCacheBuilder::new(None);
let first = builder.light(tempdir.path(), 0).to_file().unwrap().to_owned();
let second = builder.light(tempdir.path(), ETHASH_EPOCH_LENGTH).to_file().unwrap().to_owned();

View File

@@ -1,18 +1,18 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Open Ethereum is free software: you can redistribute it and/or modify
// Parity is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// Parity is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
extern crate keccak_hash as hash;
@@ -21,11 +21,36 @@ pub type H256 = [u8; 32];
pub mod keccak_512 {
use super::hash;
pub use self::hash::{keccak_512 as write, keccak512 as inplace, keccak512_range as inplace_range};
pub use self::hash::keccak_512_unchecked as unchecked;
pub fn write(input: &[u8], output: &mut [u8]) {
hash::keccak_512(input, output);
}
pub fn inplace(input: &mut [u8]) {
// This is safe since `keccak_*` uses an internal buffer and copies the result to the output. This
// means that we can reuse the input buffer for both input and output.
unsafe {
hash::keccak_512_unchecked(input.as_mut_ptr(), input.len(), input.as_ptr(), input.len());
}
}
}
pub mod keccak_256 {
use super::hash;
pub use self::hash::{keccak_256 as write, keccak256 as inplace, keccak256_range as inplace_range};
pub use self::hash::keccak_256_unchecked as unchecked;
#[allow(dead_code)]
pub fn write(input: &[u8], output: &mut [u8]) {
hash::keccak_256(input, output);
}
pub fn inplace(input: &mut [u8]) {
// This is safe since `keccak_*` uses an internal buffer and copies the result to the output. This
// means that we can reuse the input buffer for both input and output.
unsafe {
hash::keccak_256_unchecked(input.as_mut_ptr(), input.len(), input.as_ptr(), input.len());
}
}
}

View File

@@ -1,77 +1,52 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Open Ethereum is free software: you can redistribute it and/or modify
// Parity is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// Parity is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
#![cfg_attr(feature = "benches", feature(test))]
extern crate common_types;
extern crate either;
extern crate ethereum_types;
extern crate memmap;
extern crate parking_lot;
extern crate primal;
#[macro_use]
extern crate crunchy;
#[macro_use]
extern crate log;
#[macro_use]
extern crate static_assertions;
#[cfg(test)]
#[macro_use]
extern crate hex_literal;
extern crate tempdir;
#[cfg(test)]
extern crate rustc_hex;
#[cfg(test)]
extern crate serde_json;
#[cfg(test)]
extern crate tempfile;
#[cfg(feature = "bench")]
pub mod compute;
#[cfg(not(feature = "bench"))]
mod compute;
mod seed_compute;
mod cache;
#[cfg(feature = "bench")]
pub mod keccak;
#[cfg(not(feature = "bench"))]
mod keccak;
mod shared;
#[cfg(feature = "bench")]
pub mod progpow;
#[cfg(not(feature = "bench"))]
mod progpow;
pub use cache::NodeCacheBuilder;
pub use cache::{NodeCacheBuilder, OptimizeFor};
pub use compute::{ProofOfWork, quick_get_difficulty, slow_hash_block_number};
pub use seed_compute::SeedHashCompute;
pub use shared::ETHASH_EPOCH_LENGTH;
use common_types::engines::OptimizeFor;
use compute::Light;
use ethereum_types::{BigEndianHash, U256, U512};
use ethereum_types::{U256, U512};
use keccak::H256;
use parking_lot::Mutex;
pub use seed_compute::SeedHashCompute;
pub use shared::ETHASH_EPOCH_LENGTH;
use std::mem;
use std::path::{Path, PathBuf};
use std::convert::TryFrom;
use std::sync::Arc;
struct LightCache {
@@ -86,16 +61,14 @@ pub struct EthashManager {
nodecache_builder: NodeCacheBuilder,
cache: Mutex<LightCache>,
cache_dir: PathBuf,
progpow_transition: u64,
}
impl EthashManager {
/// Create a new new instance of ethash manager
pub fn new<T: Into<Option<OptimizeFor>>>(cache_dir: &Path, optimize_for: T, progpow_transition: u64) -> EthashManager {
pub fn new<T: Into<Option<OptimizeFor>>>(cache_dir: &Path, optimize_for: T) -> EthashManager {
EthashManager {
cache_dir: cache_dir.to_path_buf(),
nodecache_builder: NodeCacheBuilder::new(optimize_for.into().unwrap_or_default(), progpow_transition),
progpow_transition,
nodecache_builder: NodeCacheBuilder::new(optimize_for.into().unwrap_or_default()),
cache: Mutex::new(LightCache {
recent_epoch: None,
recent: None,
@@ -114,33 +87,27 @@ impl EthashManager {
let epoch = block_number / ETHASH_EPOCH_LENGTH;
let light = {
let mut lights = self.cache.lock();
let light = if block_number == self.progpow_transition {
// we need to regenerate the cache to trigger algorithm change to progpow inside `Light`
None
} else {
match lights.recent_epoch.clone() {
Some(ref e) if *e == epoch => lights.recent.clone(),
_ => match lights.prev_epoch.clone() {
Some(e) if e == epoch => {
// don't swap if recent is newer.
if lights.recent_epoch > lights.prev_epoch {
None
} else {
// swap
let t = lights.prev_epoch;
lights.prev_epoch = lights.recent_epoch;
lights.recent_epoch = t;
let t = lights.prev.clone();
lights.prev = lights.recent.clone();
lights.recent = t;
lights.recent.clone()
}
let light = match lights.recent_epoch.clone() {
Some(ref e) if *e == epoch => lights.recent.clone(),
_ => match lights.prev_epoch.clone() {
Some(e) if e == epoch => {
// don't swap if recent is newer.
if lights.recent_epoch > lights.prev_epoch {
None
} else {
// swap
let t = lights.prev_epoch;
lights.prev_epoch = lights.recent_epoch;
lights.recent_epoch = t;
let t = lights.prev.clone();
lights.prev = lights.recent.clone();
lights.recent = t;
lights.recent.clone()
}
_ => None,
},
}
}
_ => None,
},
};
match light {
None => {
let light = match self.nodecache_builder.light_from_file(
@@ -167,18 +134,18 @@ impl EthashManager {
Some(light) => light,
}
};
light.compute(header_hash, nonce, block_number)
light.compute(header_hash, nonce)
}
}
/// Convert an Ethash boundary to its original difficulty. Basically just `f(x) = 2^256 / x`.
pub fn boundary_to_difficulty(boundary: &ethereum_types::H256) -> U256 {
difficulty_to_boundary_aux(&boundary.into_uint())
difficulty_to_boundary_aux(&**boundary)
}
/// Convert an Ethash difficulty to the target boundary. Basically just `f(x) = 2^256 / x`.
pub fn difficulty_to_boundary(difficulty: &U256) -> ethereum_types::H256 {
BigEndianHash::from_uint(&difficulty_to_boundary_aux(difficulty))
difficulty_to_boundary_aux(difficulty).into()
}
fn difficulty_to_boundary_aux<T: Into<U512>>(difficulty: T) -> ethereum_types::U256 {
@@ -189,17 +156,17 @@ fn difficulty_to_boundary_aux<T: Into<U512>>(difficulty: T) -> ethereum_types::U
if difficulty == U512::one() {
U256::max_value()
} else {
const PROOF: &str = "difficulty > 1, so result never overflows 256 bits; qed";
U256::try_from((U512::one() << 256) / difficulty).expect(PROOF)
// difficulty > 1, so result should never overflow 256 bits
U256::from((U512::one() << 256) / difficulty)
}
}
#[test]
fn test_lru() {
use tempfile::TempDir;
use tempdir::TempDir;
let tempdir = TempDir::new().unwrap();
let ethash = EthashManager::new(tempdir.path(), None, u64::max_value());
let tempdir = TempDir::new("").unwrap();
let ethash = EthashManager::new(tempdir.path(), None);
let hash = [0u8; 32];
ethash.compute_light(1, &hash, 1);
ethash.compute_light(50000, &hash, 1);
@@ -215,10 +182,10 @@ fn test_lru() {
#[test]
fn test_difficulty_to_boundary() {
use ethereum_types::{H256, BigEndianHash};
use ethereum_types::H256;
use std::str::FromStr;
assert_eq!(difficulty_to_boundary(&U256::from(1)), BigEndianHash::from_uint(&U256::max_value()));
assert_eq!(difficulty_to_boundary(&U256::from(1)), H256::from(U256::max_value()));
assert_eq!(difficulty_to_boundary(&U256::from(2)), H256::from_str("8000000000000000000000000000000000000000000000000000000000000000").unwrap());
assert_eq!(difficulty_to_boundary(&U256::from(4)), H256::from_str("4000000000000000000000000000000000000000000000000000000000000000").unwrap());
assert_eq!(difficulty_to_boundary(&U256::from(32)), H256::from_str("0800000000000000000000000000000000000000000000000000000000000000").unwrap());
@@ -229,21 +196,12 @@ fn test_difficulty_to_boundary_regression() {
use ethereum_types::H256;
// the last bit was originally being truncated when performing the conversion
// https://github.com/openethereum/openethereum/issues/8397
// https://github.com/paritytech/parity-ethereum/issues/8397
for difficulty in 1..9 {
assert_eq!(U256::from(difficulty), boundary_to_difficulty(&difficulty_to_boundary(&difficulty.into())));
assert_eq!(
H256::from_low_u64_be(difficulty),
difficulty_to_boundary(&boundary_to_difficulty(&H256::from_low_u64_be(difficulty))),
);
assert_eq!(
U256::from(difficulty),
boundary_to_difficulty(&BigEndianHash::from_uint(&boundary_to_difficulty(&H256::from_low_u64_be(difficulty)))),
);
assert_eq!(
H256::from_low_u64_be(difficulty),
difficulty_to_boundary(&difficulty_to_boundary(&difficulty.into()).into_uint()),
);
assert_eq!(H256::from(difficulty), difficulty_to_boundary(&boundary_to_difficulty(&difficulty.into())));
assert_eq!(U256::from(difficulty), boundary_to_difficulty(&boundary_to_difficulty(&difficulty.into()).into()));
assert_eq!(H256::from(difficulty), difficulty_to_boundary(&difficulty_to_boundary(&difficulty.into()).into()));
}
}
@@ -256,5 +214,102 @@ fn test_difficulty_to_boundary_panics_on_zero() {
#[test]
#[should_panic]
fn test_boundary_to_difficulty_panics_on_zero() {
boundary_to_difficulty(&ethereum_types::H256::zero());
boundary_to_difficulty(&ethereum_types::H256::from(0));
}
#[cfg(feature = "benches")]
mod benchmarks {
extern crate test;
use self::test::Bencher;
use cache::{NodeCacheBuilder, OptimizeFor};
use compute::{Light, light_compute};
const HASH: [u8; 32] = [0xf5, 0x7e, 0x6f, 0x3a, 0xcf, 0xc0, 0xdd, 0x4b, 0x5b, 0xf2, 0xbe,
0xe4, 0x0a, 0xb3, 0x35, 0x8a, 0xa6, 0x87, 0x73, 0xa8, 0xd0, 0x9f,
0x5e, 0x59, 0x5e, 0xab, 0x55, 0x94, 0x05, 0x52, 0x7d, 0x72];
const NONCE: u64 = 0xd7b3ac70a301a249;
#[bench]
fn bench_light_compute_memmap(b: &mut Bencher) {
use std::env;
let builder = NodeCacheBuilder::new(OptimizeFor::Memory);
let light = builder.light(&env::temp_dir(), 486382);
b.iter(|| light_compute(&light, &HASH, NONCE));
}
#[bench]
fn bench_light_compute_memory(b: &mut Bencher) {
use std::env;
let builder = NodeCacheBuilder::new(OptimizeFor::Cpu);
let light = builder.light(&env::temp_dir(), 486382);
b.iter(|| light_compute(&light, &HASH, NONCE));
}
#[bench]
#[ignore]
fn bench_light_new_round_trip_memmap(b: &mut Bencher) {
use std::env;
b.iter(|| {
let builder = NodeCacheBuilder::new(OptimizeFor::Memory);
let light = builder.light(&env::temp_dir(), 486382);
light_compute(&light, &HASH, NONCE);
});
}
#[bench]
#[ignore]
fn bench_light_new_round_trip_memory(b: &mut Bencher) {
use std::env;
b.iter(|| {
let builder = NodeCacheBuilder::new(OptimizeFor::Cpu);
let light = builder.light(&env::temp_dir(), 486382);
light_compute(&light, &HASH, NONCE);
});
}
#[bench]
fn bench_light_from_file_round_trip_memory(b: &mut Bencher) {
use std::env;
let dir = env::temp_dir();
let height = 486382;
{
let builder = NodeCacheBuilder::new(OptimizeFor::Cpu);
let mut dummy = builder.light(&dir, height);
dummy.to_file().unwrap();
}
b.iter(|| {
let builder = NodeCacheBuilder::new(OptimizeFor::Cpu);
let light = builder.light_from_file(&dir, 486382).unwrap();
light_compute(&light, &HASH, NONCE);
});
}
#[bench]
fn bench_light_from_file_round_trip_memmap(b: &mut Bencher) {
use std::env;
let dir = env::temp_dir();
let height = 486382;
{
let builder = NodeCacheBuilder::new(OptimizeFor::Memory);
let mut dummy = builder.light(&dir, height);
dummy.to_file().unwrap();
}
b.iter(|| {
let builder = NodeCacheBuilder::new(OptimizeFor::Memory);
let light = builder.light_from_file(&dir, 486382).unwrap();
light_compute(&light, &HASH, NONCE);
});
}
}

View File

@@ -1,615 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
//! ProgPoW (Programmatic Proof-of-Work) is the Ethereum network's proposed new Application-Specific Integrated
//! Circuit (ASIC) resistant Proof-of-Work mining algorithm.
//!
//! ProgPoW's aim is to reduce the efficiencies of specialized mining devices known as ASIC chips
//! (and accelerated GPU-based setups), and to maximize the performance of General Purpose Hardware (GPUs) to enable
//! more users to compete for new cryptocurrency awarded by the protocol.
//!
//! ASIC chips are those that are tailored to efficiently mining cryptocurrency based on a specific hashing algorithm.
//!
//! GPU mining setups are less specialised are struggle to compete for mining rewards.
//!
//! It would be a change from Ethereum's current PoW mining algorithm known as Ethash.
//!
//! ProgPoW audits have been proposed to analyse the efficiency of a ProgPoW ASICs over
//! GPUs and analysis of the economic impact on the Ethereum protocol.
//!
//! We use ProgPoW 0.9.3 version as suggested on Specification
//! https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1057.md#specification
use compute::{FNV_PRIME, calculate_dag_item};
use keccak::H256;
use shared::{ETHASH_ACCESSES, ETHASH_MIX_BYTES, Node, get_data_size};
const PROGPOW_CACHE_BYTES: usize = 16 * 1024;
const PROGPOW_CACHE_WORDS: usize = PROGPOW_CACHE_BYTES / 4;
const PROGPOW_CNT_CACHE: usize = 11;
const PROGPOW_CNT_MATH: usize = 18;
const PROGPOW_CNT_DAG: usize = ETHASH_ACCESSES;
const PROGPOW_DAG_LOADS: usize = 4;
const PROGPOW_MIX_BYTES: usize = 2 * ETHASH_MIX_BYTES;
const PROGPOW_PERIOD_LENGTH: usize = 10; // blocks per progpow epoch (N)
const PROGPOW_LANES: usize = 16;
const PROGPOW_REGS: usize = 32;
const FNV_HASH: u32 = 0x811c9dc5;
const KECCAKF_RNDC: [u32; 24] = [
0x00000001, 0x00008082, 0x0000808a, 0x80008000, 0x0000808b, 0x80000001,
0x80008081, 0x00008009, 0x0000008a, 0x00000088, 0x80008009, 0x8000000a,
0x8000808b, 0x0000008b, 0x00008089, 0x00008003, 0x00008002, 0x00000080,
0x0000800a, 0x8000000a, 0x80008081, 0x00008080, 0x80000001, 0x80008008
];
const KECCAKF_ROTC: [u32; 24] = [
1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 2, 14,
27, 41, 56, 8, 25, 43, 62, 18, 39, 61, 20, 44
];
const KECCAKF_PILN: [usize; 24] = [
10, 7, 11, 17, 18, 3, 5, 16, 8, 21, 24, 4,
15, 23, 19, 13, 12, 2, 20, 14, 22, 9, 6, 1
];
fn keccak_f800_round(st: &mut [u32; 25], r: usize) {
// Theta
let mut bc = [0u32; 5];
for i in 0..bc.len() {
bc[i] = st[i] ^ st[i + 5] ^ st[i + 10] ^ st[i + 15] ^ st[i + 20];
}
for i in 0..bc.len() {
let t = bc[(i + 4) % 5] ^ bc[(i + 1) % 5].rotate_left(1);
for j in (0..st.len()).step_by(5) {
st[j + i] ^= t;
}
}
// Rho Pi
let mut t = st[1];
debug_assert_eq!(KECCAKF_ROTC.len(), 24);
for i in 0..24 {
let j = KECCAKF_PILN[i];
bc[0] = st[j];
st[j] = t.rotate_left(KECCAKF_ROTC[i]);
t = bc[0];
}
// Chi
for j in (0..st.len()).step_by(5) {
for i in 0..bc.len() {
bc[i] = st[j + i];
}
for i in 0..bc.len() {
st[j + i] ^= (!bc[(i + 1) % 5]) & bc[(i + 2) % 5];
}
}
// Iota
debug_assert!(r < KECCAKF_RNDC.len());
st[0] ^= KECCAKF_RNDC[r];
}
fn keccak_f800(header_hash: H256, nonce: u64, result: [u32; 8], st: &mut [u32; 25]) {
for i in 0..8 {
st[i] = (header_hash[4 * i] as u32) +
((header_hash[4 * i + 1] as u32) << 8) +
((header_hash[4 * i + 2] as u32) << 16) +
((header_hash[4 * i + 3] as u32) << 24);
}
st[8] = nonce as u32;
st[9] = (nonce >> 32) as u32;
for i in 0..8 {
st[10 + i] = result[i];
}
for r in 0..22 {
keccak_f800_round(st, r);
}
}
pub fn keccak_f800_short(header_hash: H256, nonce: u64, result: [u32; 8]) -> u64 {
let mut st = [0u32; 25];
keccak_f800(header_hash, nonce, result, &mut st);
(st[0].swap_bytes() as u64) << 32 | st[1].swap_bytes() as u64
}
pub fn keccak_f800_long(header_hash: H256, nonce: u64, result: [u32; 8]) -> H256 {
let mut st = [0u32; 25];
keccak_f800(header_hash, nonce, result, &mut st);
// NOTE: transmute from `[u32; 8]` to `[u8; 32]`
unsafe {
std::mem::transmute(
[st[0], st[1], st[2], st[3], st[4], st[5], st[6], st[7]]
)
}
}
#[inline]
fn fnv1a_hash(h: u32, d: u32) -> u32 {
(h ^ d).wrapping_mul(FNV_PRIME)
}
#[derive(Clone)]
struct Kiss99 {
z: u32,
w: u32,
jsr: u32,
jcong: u32,
}
impl Kiss99 {
fn new(z: u32, w: u32, jsr: u32, jcong: u32) -> Kiss99 {
Kiss99 { z, w, jsr, jcong }
}
#[inline]
fn next_u32(&mut self) -> u32 {
self.z = 36969u32.wrapping_mul(self.z & 65535).wrapping_add(self.z >> 16);
self.w = 18000u32.wrapping_mul(self.w & 65535).wrapping_add(self.w >> 16);
let mwc = (self.z << 16).wrapping_add(self.w);
self.jsr ^= self.jsr << 17;
self.jsr ^= self.jsr >> 13;
self.jsr ^= self.jsr << 5;
self.jcong = 69069u32.wrapping_mul(self.jcong).wrapping_add(1234567);
(mwc ^ self.jcong).wrapping_add(self.jsr)
}
}
fn fill_mix(seed: u64, lane_id: u32) -> [u32; PROGPOW_REGS] {
// Use FNV to expand the per-warp seed to per-lane
// Use KISS to expand the per-lane seed to fill mix
let z = fnv1a_hash(FNV_HASH, seed as u32);
let w = fnv1a_hash(z, (seed >> 32) as u32);
let jsr = fnv1a_hash(w, lane_id);
let jcong = fnv1a_hash(jsr, lane_id);
let mut rnd = Kiss99::new(z, w, jsr, jcong);
let mut mix = [0; PROGPOW_REGS];
debug_assert_eq!(PROGPOW_REGS, 32);
for i in 0..32 {
mix[i] = rnd.next_u32();
}
mix
}
// Merge new data from b into the value in a. Assuming A has high entropy only
// do ops that retain entropy even if B is low entropy (IE don't do A&B)
fn merge(a: u32, b: u32, r: u32) -> u32 {
match r % 4 {
0 => a.wrapping_mul(33).wrapping_add(b),
1 => (a ^ b).wrapping_mul(33),
2 => a.rotate_left(((r >> 16) % 31) + 1) ^ b,
_ => a.rotate_right(((r >> 16) % 31) + 1) ^ b,
}
}
fn math(a: u32, b: u32, r: u32) -> u32 {
match r % 11 {
0 => a.wrapping_add(b),
1 => a.wrapping_mul(b),
2 => ((a as u64).wrapping_mul(b as u64) >> 32) as u32,
3 => a.min(b),
4 => a.rotate_left(b),
5 => a.rotate_right(b),
6 => a & b,
7 => a | b,
8 => a ^ b,
9 => a.leading_zeros() + b.leading_zeros(),
_ => a.count_ones() + b.count_ones(),
}
}
fn progpow_init(seed: u64) -> (Kiss99, [u32; PROGPOW_REGS], [u32; PROGPOW_REGS]) {
let z = fnv1a_hash(FNV_HASH, seed as u32);
let w = fnv1a_hash(z, (seed >> 32) as u32);
let jsr = fnv1a_hash(w, seed as u32);
let jcong = fnv1a_hash(jsr, (seed >> 32) as u32);
let mut rnd = Kiss99::new(z, w, jsr, jcong);
// Create a random sequence of mix destinations for merge() and mix sources
// for cache reads guarantees every destination merged once and guarantees
// no duplicate cache reads, which could be optimized away. Uses
// Fisher-Yates shuffle.
let mut mix_seq_dst = [0u32; PROGPOW_REGS];
let mut mix_seq_cache = [0u32; PROGPOW_REGS];
for i in 0..mix_seq_dst.len() {
mix_seq_dst[i] = i as u32;
mix_seq_cache[i] = i as u32;
}
for i in (1..mix_seq_dst.len()).rev() {
let j = rnd.next_u32() as usize % (i + 1);
mix_seq_dst.swap(i, j);
let j = rnd.next_u32() as usize % (i + 1);
mix_seq_cache.swap(i, j);
}
(rnd, mix_seq_dst, mix_seq_cache)
}
pub type CDag = [u32; PROGPOW_CACHE_WORDS];
fn progpow_loop(
seed: u64,
loop_: usize,
mix: &mut [[u32; PROGPOW_REGS]; PROGPOW_LANES],
cache: &[Node],
c_dag: &CDag,
data_size: usize,
) {
// All lanes share a base address for the global load. Global offset uses
// mix[0] to guarantee it depends on the load result.
let g_offset = mix[loop_ % PROGPOW_LANES][0] as usize %
(64 * data_size / (PROGPOW_LANES * PROGPOW_DAG_LOADS));
// 256 bytes of dag data
let mut dag_item = [0u32; 64];
// Fetch DAG nodes (64 bytes each)
for l in 0..PROGPOW_DAG_LOADS {
let index = g_offset * PROGPOW_LANES * PROGPOW_DAG_LOADS + l * 16;
let node = calculate_dag_item(index as u32 / 16, cache);
dag_item[l * 16..(l + 1) * 16].clone_from_slice(node.as_words());
}
let (rnd, mix_seq_dst, mix_seq_cache) = progpow_init(seed);
// Lanes can execute in parallel and will be convergent
for l in 0..mix.len() {
let mut rnd = rnd.clone();
// Initialize the seed and mix destination sequence
let mut mix_seq_dst_cnt = 0;
let mut mix_seq_cache_cnt = 0;
let mut mix_dst = || {
let res = mix_seq_dst[mix_seq_dst_cnt % PROGPOW_REGS] as usize;
mix_seq_dst_cnt += 1;
res
};
let mut mix_cache = || {
let res = mix_seq_cache[mix_seq_cache_cnt % PROGPOW_REGS] as usize;
mix_seq_cache_cnt += 1;
res
};
for i in 0..PROGPOW_CNT_CACHE.max(PROGPOW_CNT_MATH) {
if i < PROGPOW_CNT_CACHE {
// Cached memory access, lanes access random 32-bit locations
// within the first portion of the DAG
let offset = mix[l][mix_cache()] as usize % PROGPOW_CACHE_WORDS;
let data = c_dag[offset];
let dst = mix_dst();
mix[l][dst] = merge(mix[l][dst], data, rnd.next_u32());
}
if i < PROGPOW_CNT_MATH {
// Random math
// Generate 2 unique sources
let src_rnd = rnd.next_u32() % (PROGPOW_REGS * (PROGPOW_REGS - 1)) as u32;
let src1 = src_rnd % PROGPOW_REGS as u32; // 0 <= src1 < PROGPOW_REGS
let mut src2 = src_rnd / PROGPOW_REGS as u32; // 0 <= src2 < PROGPOW_REGS - 1
if src2 >= src1 {
src2 += 1; // src2 is now any reg other than src1
}
let data = math(mix[l][src1 as usize], mix[l][src2 as usize], rnd.next_u32());
let dst = mix_dst();
mix[l][dst] = merge(mix[l][dst], data, rnd.next_u32());
}
}
// Global load to sequential locations
let mut data_g = [0u32; PROGPOW_DAG_LOADS];
let index = ((l ^ loop_) % PROGPOW_LANES) * PROGPOW_DAG_LOADS;
for i in 0..PROGPOW_DAG_LOADS {
data_g[i] = dag_item[index + i];
}
// Consume the global load data at the very end of the loop to allow
// full latency hiding. Always merge into `mix[0]` to feed the offset
// calculation.
mix[l][0] = merge(mix[l][0], data_g[0], rnd.next_u32());
for i in 1..PROGPOW_DAG_LOADS {
let dst = mix_dst();
mix[l][dst] = merge(mix[l][dst], data_g[i], rnd.next_u32());
}
}
}
pub fn progpow(
header_hash: H256,
nonce: u64,
block_number: u64,
cache: &[Node],
c_dag: &CDag,
) -> (H256, H256) {
let mut mix = [[0u32; PROGPOW_REGS]; PROGPOW_LANES];
let mut lane_results = [0u32; PROGPOW_LANES];
let mut result = [0u32; 8];
let data_size = get_data_size(block_number) / PROGPOW_MIX_BYTES;
// NOTE: This assert is required to aid the optimizer elide the non-zero
// remainder check in `progpow_loop`.
assert!(data_size > 0);
// Initialize mix for all lanes
let seed = keccak_f800_short(header_hash, nonce, result);
for l in 0..mix.len() {
mix[l] = fill_mix(seed, l as u32);
}
// Execute the randomly generated inner loop
let period = block_number / PROGPOW_PERIOD_LENGTH as u64;
for i in 0..PROGPOW_CNT_DAG {
progpow_loop(
period,
i,
&mut mix,
cache,
c_dag,
data_size,
);
}
// Reduce mix data to a single per-lane result
for l in 0..lane_results.len() {
lane_results[l] = FNV_HASH;
for i in 0..PROGPOW_REGS {
lane_results[l] = fnv1a_hash(lane_results[l], mix[l][i]);
}
}
// Reduce all lanes to a single 128-bit result
result = [FNV_HASH; 8];
for l in 0..PROGPOW_LANES {
result[l % 8] = fnv1a_hash(result[l % 8], lane_results[l]);
}
let digest = keccak_f800_long(header_hash, seed, result);
// NOTE: transmute from `[u32; 8]` to `[u8; 32]`
let result = unsafe { ::std::mem::transmute(result) };
(digest, result)
}
pub fn generate_cdag(cache: &[Node]) -> CDag {
let mut c_dag = [0u32; PROGPOW_CACHE_WORDS];
for i in 0..PROGPOW_CACHE_WORDS / 16 {
let node = calculate_dag_item(i as u32, cache);
for j in 0..16 {
c_dag[i * 16 + j] = node.as_words()[j];
}
}
c_dag
}
#[cfg(test)]
mod test {
use tempfile::TempDir;
use common_types::engines::OptimizeFor;
use cache::NodeCacheBuilder;
use keccak::H256;
use rustc_hex::FromHex;
use serde_json::{self, Value};
use std::collections::VecDeque;
use super::*;
fn h256(hex: &str) -> H256 {
let bytes: Vec<u8> = FromHex::from_hex(hex).unwrap();
let mut res = [0; 32];
res.copy_from_slice(&bytes);
res
}
#[test]
fn test_cdag() {
let builder = NodeCacheBuilder::new(OptimizeFor::Memory, u64::max_value());
let tempdir = TempDir::new().unwrap();
let cache = builder.new_cache(tempdir.into_path(), 0);
let c_dag = generate_cdag(cache.as_ref());
let expected = vec![
690150178u32, 1181503948, 2248155602, 2118233073, 2193871115,
1791778428, 1067701239, 724807309, 530799275, 3480325829, 3899029234,
1998124059, 2541974622, 1100859971, 1297211151, 3268320000, 2217813733,
2690422980, 3172863319, 2651064309
];
assert_eq!(
c_dag.iter().take(20).cloned().collect::<Vec<_>>(),
expected,
);
}
#[test]
fn test_random_merge() {
let tests = [
(1000000u32, 101u32, 33000101u32),
(2000000, 102, 66003366),
(3000000, 103, 6000103),
(4000000, 104, 2000104),
(1000000, 0, 33000000),
(2000000, 0, 66000000),
(3000000, 0, 6000000),
(4000000, 0, 2000000),
];
for (i, &(a, b, expected)) in tests.iter().enumerate() {
assert_eq!(
merge(a, b, i as u32),
expected,
);
}
}
#[test]
fn test_random_math() {
let tests = [
(20u32, 22u32, 42u32),
(70000, 80000, 1305032704),
(70000, 80000, 1),
(1, 2, 1),
(3, 10000, 196608),
(3, 0, 3),
(3, 6, 2),
(3, 6, 7),
(3, 6, 5),
(0, 0xffffffff, 32),
(3 << 13, 1 << 5, 3),
(22, 20, 42),
(80000, 70000, 1305032704),
(80000, 70000, 1),
(2, 1, 1),
(10000, 3, 80000),
(0, 3, 0),
(6, 3, 2),
(6, 3, 7),
(6, 3, 5),
(0, 0xffffffff, 32),
(3 << 13, 1 << 5, 3),
];
for (i, &(a, b, expected)) in tests.iter().enumerate() {
assert_eq!(
math(a, b, i as u32),
expected,
);
}
}
#[test]
fn test_keccak_256() {
let expected = "5dd431e5fbc604f499bfa0232f45f8f142d0ff5178f539e5a7800bf0643697af";
assert_eq!(
keccak_f800_long([0; 32], 0, [0; 8]),
h256(expected),
);
}
#[test]
fn test_keccak_64() {
let expected: u64 = 0x5dd431e5fbc604f4;
assert_eq!(
keccak_f800_short([0; 32], 0, [0; 8]),
expected,
);
}
#[test]
fn test_progpow_hash() {
let builder = NodeCacheBuilder::new(OptimizeFor::Memory, u64::max_value());
let tempdir = TempDir::new().unwrap();
let cache = builder.new_cache(tempdir.into_path(), 0);
let c_dag = generate_cdag(cache.as_ref());
let header_hash = [0; 32];
let (digest, result) = progpow(
header_hash,
0,
0,
cache.as_ref(),
&c_dag,
);
let expected_digest = hex!("b3bad9ca6f7c566cf0377d1f8cce29d6516a96562c122d924626281ec948ef02");
let expected_result = hex!("f4ac202715ded4136e72887c39e63a4738331c57fd9eb79f6ec421c281aa8743");
assert_eq!(
digest.to_vec(),
expected_digest,
);
assert_eq!(
result.to_vec(),
expected_result,
);
}
#[test]
fn test_progpow_testvectors() {
struct ProgpowTest {
block_number: u64,
header_hash: H256,
nonce: u64,
mix_hash: H256,
final_hash: H256,
}
let tests: Vec<VecDeque<Value>> =
serde_json::from_slice(include_bytes!("../res/progpow_testvectors.json")).unwrap();
let tests: Vec<ProgpowTest> = tests.into_iter().map(|mut test: VecDeque<Value>| {
assert!(test.len() == 5);
let block_number: u64 = serde_json::from_value(test.pop_front().unwrap()).unwrap();
let header_hash: String = serde_json::from_value(test.pop_front().unwrap()).unwrap();
let nonce: String = serde_json::from_value(test.pop_front().unwrap()).unwrap();
let mix_hash: String = serde_json::from_value(test.pop_front().unwrap()).unwrap();
let final_hash: String = serde_json::from_value(test.pop_front().unwrap()).unwrap();
ProgpowTest {
block_number,
header_hash: h256(&header_hash),
nonce: u64::from_str_radix(&nonce, 16).unwrap(),
mix_hash: h256(&mix_hash),
final_hash: h256(&final_hash),
}
}).collect();
for test in tests {
let builder = NodeCacheBuilder::new(OptimizeFor::Memory, u64::max_value());
let tempdir = TempDir::new().unwrap();
let cache = builder.new_cache(tempdir.path().to_owned(), test.block_number);
let c_dag = generate_cdag(cache.as_ref());
let (digest, result) = progpow(
test.header_hash,
test.nonce,
test.block_number,
cache.as_ref(),
&c_dag,
);
assert_eq!(digest, test.final_hash);
assert_eq!(result, test.mix_hash);
}
}
}

View File

@@ -1,18 +1,18 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Open Ethereum is free software: you can redistribute it and/or modify
// Parity is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// Parity is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
use shared;
use keccak::{keccak_256, H256};

View File

@@ -1,18 +1,18 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Open Ethereum is free software: you can redistribute it and/or modify
// Parity is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// Parity is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
use primal::is_prime;
@@ -69,7 +69,34 @@ pub type NodeBytes = [u8; NODE_BYTES];
pub type NodeWords = [u32; NODE_WORDS];
pub type NodeDwords = [u64; NODE_DWORDS];
assert_eq_size!(Node, NodeBytes, NodeWords, NodeDwords);
macro_rules! static_assert_size_eq {
(@inner $a:ty, $b:ty, $($rest:ty),*) => {
fn first() {
static_assert_size_eq!($a, $b);
}
fn second() {
static_assert_size_eq!($b, $($rest),*);
}
};
(@inner $a:ty, $b:ty) => {
unsafe {
let val: $b = ::std::mem::uninitialized();
let _: $a = ::std::mem::transmute(val);
}
};
($($rest:ty),*) => {
static_assert_size_eq!(size_eq: $($rest),*);
};
($name:ident : $($rest:ty),*) => {
#[allow(dead_code)]
fn $name() {
static_assert_size_eq!(@inner $($rest),*);
}
};
}
static_assert_size_eq!(Node, NodeBytes, NodeWords, NodeDwords);
#[repr(C)]
pub union Node {

View File

@@ -1,92 +1,84 @@
[package]
description = "OpenEthereum (EthCore) Library"
repository = "https://github.com/openethereum/openethereum"
description = "Ethcore library"
homepage = "http://parity.io"
license = "GPL-3.0"
name = "ethcore"
version = "1.12.0"
authors = ["Parity Technologies <admin@parity.io>"]
[dependencies]
account-state = { path = "account-state" }
ansi_term = "0.11"
basic-authority = { path = "./engines/basic-authority", optional = true} # used by test-helpers feature
blooms-db = { path = "../util/blooms-db", optional = true }
client-traits = { path = "./client-traits" }
common-types = { path = "./types" }
engine = { path = "./engine" }
env_logger = { version = "0.5", optional = true }
ethash = { path = "../ethash", optional = true }
ethjson = { path = "../json", optional = true }
ethcore-blockchain = { path = "./blockchain" }
ethcore-call-contract = { path = "./call-contract" }
ethcore-db = { path = "./db" }
ethcore-io = { path = "../util/io" }
ethcore-miner = { path = "../miner" }
ethcore-stratum = { path = "../miner/stratum", optional = true }
ethereum-types = "0.9.0"
evm = { path = "evm" }
executive-state = { path = "executive-state" }
futures = "0.1"
hash-db = "0.15.0"
itertools = "0.8.2"
journaldb = { path = "../util/journaldb" }
keccak-hash = "0.5.0"
kvdb = "0.5.0"
kvdb-memorydb = { version = "0.5.0", optional = true }
kvdb-rocksdb = { version = "0.7.0", optional = true }
lazy_static = { version = "1.3", optional = true }
log = "0.4"
machine = { path = "./machine" }
memory-cache = { path = "../util/memory-cache" }
ansi_term = "0.10"
blooms-db = { path = "../util/blooms-db" }
bn = { git = "https://github.com/paritytech/bn", default-features = false }
byteorder = "1.0"
common-types = { path = "types" }
crossbeam = "0.3"
ethash = { path = "../ethash" }
ethcore-bloom-journal = { path = "../util/bloom" }
parity-bytes = "0.1"
parking_lot = "0.10.0"
pod = { path = "pod", optional = true }
trie-db = "0.20.0"
parity-crypto = { version = "0.6.1", features = ["publickey"], optional = true }
hashdb = "0.3.0"
memorydb = "0.3.0"
patricia-trie = "0.3.0"
patricia-trie-ethereum = { path = "../util/patricia-trie-ethereum" }
rand = "0.7.3"
rand_xorshift = "0.2.0"
rayon = "1.1"
registrar = { path = "../util/registrar" }
rlp = "0.4.5"
rustc-hex = "2.1.0"
scopeguard = "1.1.0"
serde = "1.0"
serde_derive = "1.0"
snapshot = { path = "snapshot" }
spec = { path = "spec" }
state-db = { path = "state-db" }
tempfile = { version = "3.1", optional = true }
trace = { path = "trace" }
parity-crypto = "0.2"
error-chain = { version = "0.12", default-features = false }
ethcore-io = { path = "../util/io" }
ethcore-logger = { path = "../logger" }
ethcore-miner = { path = "../miner" }
ethcore-stratum = { path = "./stratum", optional = true }
ethcore-transaction = { path = "./transaction" }
ethereum-types = "0.4"
memory-cache = { path = "../util/memory_cache" }
ethabi = "6.0"
ethabi-derive = "6.0"
ethabi-contract = "6.0"
ethjson = { path = "../json" }
ethkey = { path = "../ethkey" }
ethstore = { path = "../ethstore" }
evm = { path = "evm" }
heapsize = "0.4"
itertools = "0.5"
lazy_static = "1.0"
log = "0.4"
lru-cache = "0.1"
num = { version = "0.1", default-features = false, features = ["bigint"] }
num_cpus = "1.2"
parity-machine = { path = "../machine" }
parking_lot = "0.6"
rayon = "1.0"
rand = "0.4"
rlp = { version = "0.3.0", features = ["ethereum"] }
rlp_compress = { path = "../util/rlp_compress" }
rlp_derive = { path = "../util/rlp_derive" }
kvdb = "0.1"
kvdb-memorydb = "0.1"
parity-snappy = "0.1"
stop-guard = { path = "../util/stop-guard" }
macros = { path = "../util/macros" }
rustc-hex = "1.0"
stats = { path = "../util/stats" }
trace-time = "0.1"
trie-vm-factories = { path = "trie-vm-factories" }
using_queue = { path = "../util/using_queue" }
vm = { path = "vm" }
wasm = { path = "wasm" }
keccak-hash = "0.1"
triehash-ethereum = { version = "0.2", path = "../util/triehash-ethereum" }
unexpected = { path = "../util/unexpected" }
using_queue = { path = "../miner/using-queue" }
verification = { path = "./verification" }
vm = { path = "vm" }
journaldb = { path = "../util/journaldb" }
keccak-hasher = { path = "../util/keccak-hasher" }
kvdb-rocksdb = "0.1.3"
tempdir = {version="0.3", optional = true}
[target.'cfg(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "android"))'.dependencies]
hardware-wallet = { path = "../hw" }
[target.'cfg(not(any(target_os = "linux", target_os = "macos", target_os = "windows", target_os = "android")))'.dependencies]
fake-hardware-wallet = { path = "../util/fake-hardware-wallet" }
[dev-dependencies]
account-db = { path = "account-db" }
blooms-db = { path = "../util/blooms-db" }
criterion = "0.3"
engine = { path = "./engine", features = ["test-helpers"] }
env_logger = "0.5"
ethcore-accounts = { path = "../accounts" }
ethcore-builtin = { path = "./builtin" }
ethjson = { path = "../json", features = ["test-helpers"] }
parity-crypto = { version = "0.6.1", features = ["publickey"] }
fetch = { path = "../util/fetch" }
kvdb-memorydb = "0.5.0"
kvdb-rocksdb = "0.7.0"
lazy_static = "1.3"
machine = { path = "./machine", features = ["test-helpers"] }
parity-runtime = "0.1.1"
serde_json = "1.0"
stats = { path = "../util/stats" }
pod = { path = "pod" }
tempfile = "3.1"
trie-standardmap = "0.15.0"
env_logger = "0.4"
tempdir = "0.3"
trie-standardmap = "0.1"
[features]
parity = ["work-notify", "price-info", "stratum"]
@@ -94,11 +86,7 @@ parity = ["work-notify", "price-info", "stratum"]
# but might be omitted for other dependent crates.
work-notify = ["ethcore-miner/work-notify"]
price-info = ["ethcore-miner/price-info"]
stratum = [
"ethash",
"ethcore-stratum"
]
stratum = ["ethcore-stratum"]
# Disables seal verification for mined blocks.
# This allows you to submit any seal via RPC to test and benchmark
@@ -114,22 +102,12 @@ evm-debug-tests = ["evm-debug", "evm/evm-debug-tests"]
# EVM debug traces are printed.
slow-blocks = []
# Run JSON consensus tests.
json-tests = ["env_logger", "test-helpers", "lazy_static", "machine/test-helpers", "common-types/test-helpers"]
json-tests = ["ethcore-transaction/json-tests", "test-helpers", "tempdir"]
# Skip JSON consensus tests with pending issues.
ci-skip-issue = []
# Run memory/cpu heavy tests.
test-heavy = []
# Compile benches
benches = []
# Compile test helpers
# note[dvdplm]: "basic-authority/test-helpers" is needed so that `generate_dummy_client_with_spec` works
test-helpers = [
"blooms-db",
"ethjson/test-helpers",
"parity-crypto",
"kvdb-memorydb",
"kvdb-rocksdb",
"pod",
"tempfile",
"basic-authority/test-helpers"
]
[[bench]]
name = "builtin"
harness = false
test-helpers = ["tempdir"]

View File

@@ -1,15 +0,0 @@
[package]
name = "account-db"
description = "DB backend wrapper for Account trie"
authors = ["Parity Technologies <admin@parity.io>"]
license = "GPL-3.0"
version = "0.1.0"
edition = "2018"
[dependencies]
ethereum-types = "0.9.0"
hash-db = "0.15.0"
keccak-hash = "0.5.0"
keccak-hasher = { path = "../../util/keccak-hasher" }
kvdb = "0.5.0"
rlp = "0.4.5"

View File

@@ -1,262 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
//! DB backend wrapper for Account trie
use ethereum_types::H256;
use keccak_hash::{KECCAK_NULL_RLP, keccak};
use hash_db::{HashDB, AsHashDB, Prefix};
use keccak_hasher::KeccakHasher;
use kvdb::DBValue;
use rlp::NULL_RLP;
// Combines a key with an address hash to ensure uniqueness.
// leaves the first 96 bits untouched in order to support partial key lookup.
#[inline]
fn combine_key<'a>(address_hash: &'a H256, key: &'a H256) -> H256 {
let mut dst = key.clone();
{
let last_src: &[u8] = address_hash.as_bytes();
let last_dst: &mut [u8] = dst.as_bytes_mut();
for (k, a) in last_dst[12..].iter_mut().zip(&last_src[12..]) {
*k ^= *a
}
}
dst
}
/// A factory for different kinds of account dbs.
#[derive(Debug, Clone)]
pub enum Factory {
/// Mangle hashes based on address. This is the default.
Mangled,
/// Don't mangle hashes.
Plain,
}
impl Default for Factory {
fn default() -> Self { Factory::Mangled }
}
impl Factory {
/// Create a read-only accountdb.
/// This will panic when write operations are called.
pub fn readonly<'db>(&self, db: &'db dyn HashDB<KeccakHasher, DBValue>, address_hash: H256) -> Box<dyn HashDB<KeccakHasher, DBValue> + 'db> {
match *self {
Factory::Mangled => Box::new(AccountDB::from_hash(db, address_hash)),
Factory::Plain => Box::new(Wrapping(db)),
}
}
/// Create a new mutable hashdb.
pub fn create<'db>(&self, db: &'db mut dyn HashDB<KeccakHasher, DBValue>, address_hash: H256) -> Box<dyn HashDB<KeccakHasher, DBValue> + 'db> {
match *self {
Factory::Mangled => Box::new(AccountDBMut::from_hash(db, address_hash)),
Factory::Plain => Box::new(WrappingMut(db)),
}
}
}
// TODO: introduce HashDBMut?
/// DB backend wrapper for Account trie
/// Transforms trie node keys for the database
pub struct AccountDB<'db> {
db: &'db dyn HashDB<KeccakHasher, DBValue>,
address_hash: H256,
}
impl<'db> AccountDB<'db> {
/// Create a new AccountDB from an address' hash.
pub fn from_hash(db: &'db dyn HashDB<KeccakHasher, DBValue>, address_hash: H256) -> Self {
AccountDB { db, address_hash }
}
}
impl<'db> AsHashDB<KeccakHasher, DBValue> for AccountDB<'db> {
fn as_hash_db(&self) -> &dyn HashDB<KeccakHasher, DBValue> { self }
fn as_hash_db_mut(&mut self) -> &mut dyn HashDB<KeccakHasher, DBValue> { self }
}
impl<'db> HashDB<KeccakHasher, DBValue> for AccountDB<'db> {
fn get(&self, key: &H256, prefix: Prefix) -> Option<DBValue> {
if key == &KECCAK_NULL_RLP {
return Some(NULL_RLP.to_vec());
}
self.db.get(&combine_key(&self.address_hash, key), prefix)
}
fn contains(&self, key: &H256, prefix: Prefix) -> bool {
if key == &KECCAK_NULL_RLP {
return true;
}
self.db.contains(&combine_key(&self.address_hash, key), prefix)
}
fn insert(&mut self, _prefix: Prefix, _value: &[u8]) -> H256 {
unimplemented!()
}
fn emplace(&mut self, _key: H256, _prefix: Prefix, _value: DBValue) {
unimplemented!()
}
fn remove(&mut self, _key: &H256, _prefix: Prefix) {
unimplemented!()
}
}
/// DB backend wrapper for Account trie
pub struct AccountDBMut<'db> {
db: &'db mut dyn HashDB<KeccakHasher, DBValue>,
address_hash: H256,
}
impl<'db> AccountDBMut<'db> {
/// Create a new `AccountDBMut` from an address' hash.
pub fn from_hash(db: &'db mut dyn HashDB<KeccakHasher, DBValue>, address_hash: H256) -> Self {
AccountDBMut { db, address_hash }
}
/// Create an `AccountDB` from an `AccountDBMut` (used in tests).
pub fn immutable(&'db self) -> AccountDB<'db> {
AccountDB { db: self.db, address_hash: self.address_hash.clone() }
}
}
impl<'db> HashDB<KeccakHasher, DBValue> for AccountDBMut<'db>{
fn get(&self, key: &H256, prefix: Prefix) -> Option<DBValue> {
if key == &KECCAK_NULL_RLP {
return Some(NULL_RLP.to_vec());
}
self.db.get(&combine_key(&self.address_hash, key), prefix)
}
fn contains(&self, key: &H256, prefix: Prefix) -> bool {
if key == &KECCAK_NULL_RLP {
return true;
}
self.db.contains(&combine_key(&self.address_hash, key), prefix)
}
fn insert(&mut self, prefix: Prefix, value: &[u8]) -> H256 {
if value == &NULL_RLP {
return KECCAK_NULL_RLP.clone();
}
let k = keccak(value);
let ak = combine_key(&self.address_hash, &k);
self.db.emplace(ak, prefix, value.to_vec());
k
}
fn emplace(&mut self, key: H256, prefix: Prefix, value: DBValue) {
if key == KECCAK_NULL_RLP {
return;
}
let key = combine_key(&self.address_hash, &key);
self.db.emplace(key, prefix, value)
}
fn remove(&mut self, key: &H256, prefix: Prefix) {
if key == &KECCAK_NULL_RLP {
return;
}
let key = combine_key(&self.address_hash, key);
self.db.remove(&key, prefix)
}
}
impl<'db> AsHashDB<KeccakHasher, DBValue> for AccountDBMut<'db> {
fn as_hash_db(&self) -> &dyn HashDB<KeccakHasher, DBValue> { self }
fn as_hash_db_mut(&mut self) -> &mut dyn HashDB<KeccakHasher, DBValue> { self }
}
struct Wrapping<'db>(&'db dyn HashDB<KeccakHasher, DBValue>);
impl<'db> AsHashDB<KeccakHasher, DBValue> for Wrapping<'db> {
fn as_hash_db(&self) -> &dyn HashDB<KeccakHasher, DBValue> { self }
fn as_hash_db_mut(&mut self) -> &mut dyn HashDB<KeccakHasher, DBValue> { self }
}
impl<'db> HashDB<KeccakHasher, DBValue> for Wrapping<'db> {
fn get(&self, key: &H256, prefix: Prefix) -> Option<DBValue> {
if key == &KECCAK_NULL_RLP {
return Some(NULL_RLP.to_vec());
}
self.0.get(key, prefix)
}
fn contains(&self, key: &H256, prefix: Prefix) -> bool {
if key == &KECCAK_NULL_RLP {
return true;
}
self.0.contains(key, prefix)
}
fn insert(&mut self, _prefix: Prefix, _value: &[u8]) -> H256 {
unimplemented!()
}
fn emplace(&mut self, _key: H256, _prefix: Prefix, _value: DBValue) {
unimplemented!()
}
fn remove(&mut self, _key: &H256, _prefix: Prefix) {
unimplemented!()
}
}
struct WrappingMut<'db>(&'db mut dyn HashDB<KeccakHasher, DBValue>);
impl<'db> AsHashDB<KeccakHasher, DBValue> for WrappingMut<'db> {
fn as_hash_db(&self) -> &dyn HashDB<KeccakHasher, DBValue> { self }
fn as_hash_db_mut(&mut self) -> &mut dyn HashDB<KeccakHasher, DBValue> { self }
}
impl<'db> HashDB<KeccakHasher, DBValue> for WrappingMut<'db>{
fn get(&self, key: &H256, prefix: Prefix) -> Option<DBValue> {
if key == &KECCAK_NULL_RLP {
return Some(NULL_RLP.to_vec());
}
self.0.get(key, prefix)
}
fn contains(&self, key: &H256, prefix: Prefix) -> bool {
if key == &KECCAK_NULL_RLP {
return true;
}
self.0.contains(key, prefix)
}
fn insert(&mut self, prefix: Prefix, value: &[u8]) -> H256 {
if value == &NULL_RLP {
return KECCAK_NULL_RLP.clone();
}
self.0.insert(prefix, value)
}
fn emplace(&mut self, key: H256, prefix: Prefix, value: DBValue) {
if key == KECCAK_NULL_RLP {
return;
}
self.0.emplace(key, prefix, value)
}
fn remove(&mut self, key: &H256, prefix: Prefix) {
if key == &KECCAK_NULL_RLP {
return;
}
self.0.remove(key, prefix)
}
}

View File

@@ -1,35 +0,0 @@
[package]
name = "account-state"
description = "Ethereum accounts, keeps track of changes to the code and storage"
authors = ["Parity Technologies <admin@parity.io>"]
license = "GPL-3.0"
version = "0.1.0"
edition = "2018"
[dependencies]
common-types = { path = "../types"}
derive_more = "0.99"
ethereum-types = "0.9.0"
ethtrie = { package = "patricia-trie-ethereum", path = "../../util/patricia-trie-ethereum" }
trie-vm-factories = { path = "../trie-vm-factories" }
hash-db = "0.15.0"
journaldb = { path = "../../util/journaldb" }
keccak-hash = "0.5.0"
keccak-hasher = { path = "../../util/keccak-hasher" }
kvdb = "0.5.0"
log = "0.4"
lru-cache = "0.1.2"
memory-db = "0.20.0"
parity-bytes = "0.1.0"
parity-util-mem = "0.6.0"
parking_lot = "0.10.0"
pod = { path = "../pod" }
rlp = "0.4.5"
serde = { version = "1.0", features = ["derive"] }
trie-db = "0.20.0"
[dev-dependencies]
account-db = { path = "../account-db" }
journaldb = { path = "../../util/journaldb" }
parity-bytes = "0.1.0"
rlp_compress = { path = "../../util/rlp-compress" }

View File

@@ -1,33 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
//! Account state
//! This crate contains code used to create, convert, and update Accounts and the code and storage
//! associated with it. It also defines the trait used to construct a backend to build a complete
//! caching state database.
//! Note: the code that needs access to `ethcore` types such as `Machine` and `Executive` is found in
//! the `executive_state` module in `ethcore`. Most tests for the `State` module in this crate are
//! also found in `executive_state` (for the same reason).
pub mod account;
pub mod backend;
pub mod state;
pub use {
account::Account,
backend::Backend,
state::{State, CleanupMode},
};

File diff suppressed because it is too large Load Diff

View File

@@ -1,42 +1,40 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Open Ethereum is free software: you can redistribute it and/or modify
// Parity is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// Parity is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
#[macro_use]
extern crate criterion;
#![feature(test)]
extern crate test;
#[macro_use]
extern crate lazy_static;
extern crate machine;
extern crate ethcore;
extern crate ethcore_builtin;
extern crate ethereum_types;
extern crate parity_bytes as bytes;
extern crate rustc_hex;
use criterion::{Criterion, Bencher};
use bytes::BytesRef;
use ethcore_builtin::Builtin;
use ethereum_types::H160;
use machine::Machine;
use machine::test_helpers::new_byzantium_test_machine;
use ethcore::builtin::Builtin;
use ethcore::machine::EthereumMachine;
use ethereum_types::U256;
use ethcore::ethereum::new_byzantium_test_machine;
use rustc_hex::FromHex;
use self::test::Bencher;
lazy_static! {
static ref BYZANTIUM_MACHINE: Machine = new_byzantium_test_machine();
static ref BYZANTIUM_MACHINE: EthereumMachine = new_byzantium_test_machine();
}
struct BuiltinBenchmark<'a> {
@@ -48,9 +46,8 @@ struct BuiltinBenchmark<'a> {
impl<'a> BuiltinBenchmark<'a> {
fn new(builtin_address: &'static str, input: &str, expected: &str) -> BuiltinBenchmark<'a> {
let builtins = BYZANTIUM_MACHINE.builtins();
use std::str::FromStr;
let addr = H160::from_str(builtin_address).unwrap();
let builtin = builtins.get(&addr).unwrap().clone();
let builtin = builtins.get(&builtin_address.into()).unwrap().clone();
let input = FromHex::from_hex(input).unwrap();
let expected = FromHex::from_hex(expected).unwrap();
@@ -59,6 +56,10 @@ impl<'a> BuiltinBenchmark<'a> {
}
}
fn gas_cost(&self) -> U256 {
self.builtin.cost(&self.input)
}
fn run(&self, b: &mut Bencher) {
let mut output = vec![0; self.expected.len()];
@@ -71,81 +72,20 @@ impl<'a> BuiltinBenchmark<'a> {
}
fn bench(
id: &str,
builtin_address: &'static str,
input: &str,
expected: &str,
b: &mut Criterion,
b: &mut Bencher,
) {
let bench = BuiltinBenchmark::new(builtin_address, input, expected);
b.bench_function(id, move |b| bench.run(b));
println!("gas cost: {}", bench.gas_cost());
bench.run(b);
}
criterion_group!(
builtin,
ecrecover,
sha256,
ripemd,
identity,
modexp_eip_example1,
modexp_eip_example2,
modexp_nagydani_1_square,
modexp_nagydani_1_qube,
modexp_nagydani_1_pow0x10001,
modexp_nagydani_2_square,
modexp_nagydani_2_qube,
modexp_nagydani_2_pow0x10001,
modexp_nagydani_3_square,
modexp_nagydani_3_qube,
modexp_nagydani_3_pow0x10001,
modexp_nagydani_4_square,
modexp_nagydani_4_qube,
modexp_nagydani_4_pow0x10001,
modexp_nagydani_5_square,
modexp_nagydani_5_qube,
modexp_nagydani_5_pow0x10001,
alt_bn128_add_chfast1,
alt_bn128_add_chfast2,
alt_bn128_add_cdetrio1,
alt_bn128_add_cdetrio2,
alt_bn128_add_cdetrio3,
alt_bn128_add_cdetrio4,
alt_bn128_add_cdetrio5,
alt_bn128_add_cdetrio6,
alt_bn128_add_cdetrio7,
alt_bn128_add_cdetrio8,
alt_bn128_add_cdetrio9,
alt_bn128_add_cdetrio10,
alt_bn128_add_cdetrio11,
alt_bn128_add_cdetrio12,
alt_bn128_add_cdetrio13,
alt_bn128_add_cdetrio14,
alt_bn128_mul_chfast1,
alt_bn128_mul_chfast2,
alt_bn128_mul_chfast3,
alt_bn128_mul_cdetrio1,
alt_bn128_mul_cdetrio6,
alt_bn128_mul_cdetrio11,
alt_bn128_pairing_jeff1,
alt_bn128_pairing_jeff2,
alt_bn128_pairing_jeff3,
alt_bn128_pairing_jeff4,
alt_bn128_pairing_jeff5,
alt_bn128_pairing_jeff6,
alt_bn128_pairing_empty_data,
alt_bn128_pairing_one_point,
alt_bn128_pairing_two_point_match_2,
alt_bn128_pairing_two_point_match_3,
alt_bn128_pairing_two_point_match_4,
alt_bn128_pairing_ten_point_match_1,
alt_bn128_pairing_ten_point_match_2,
alt_bn128_pairing_ten_point_match_3
);
criterion_main!(builtin);
fn ecrecover(b: &mut Criterion) {
#[bench]
fn ecrecover(b: &mut Bencher) {
bench(
"ecrecover",
"0000000000000000000000000000000000000001", // ecrecover
"38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e000000000000000000000000000000000000000000000000000000000000001b38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e789d1dd423d25f0772d2748d60f7e4b81bb14d086eba8e8e8efb6dcff8a4ae02",
"000000000000000000000000ceaccac640adf55b2028469bd36ba501f28b699d",
@@ -153,9 +93,9 @@ fn ecrecover(b: &mut Criterion) {
);
}
fn sha256(b: &mut Criterion) {
#[bench]
fn sha256(b: &mut Bencher) {
bench(
"sha256",
"0000000000000000000000000000000000000002", // sha256
"38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e000000000000000000000000000000000000000000000000000000000000001b38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e789d1dd423d25f0772d2748d60f7e4b81bb14d086eba8e8e8efb6dcff8a4ae02",
"811c7003375852fabd0d362e40e68607a12bdabae61a7d068fe5fdd1dbbf2a5d",
@@ -163,9 +103,9 @@ fn sha256(b: &mut Criterion) {
);
}
fn ripemd(b: &mut Criterion) {
#[bench]
fn ripemd(b: &mut Bencher) {
bench(
"ripemd",
"0000000000000000000000000000000000000003", // ripemd
"38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e000000000000000000000000000000000000000000000000000000000000001b38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e789d1dd423d25f0772d2748d60f7e4b81bb14d086eba8e8e8efb6dcff8a4ae02",
"0000000000000000000000009215b8d9882ff46f0dfde6684d78e831467f65e6",
@@ -173,9 +113,9 @@ fn ripemd(b: &mut Criterion) {
);
}
fn identity(b: &mut Criterion) {
#[bench]
fn identity(b: &mut Bencher) {
bench(
"identity",
"0000000000000000000000000000000000000004", // identity
"38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e000000000000000000000000000000000000000000000000000000000000001b38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e789d1dd423d25f0772d2748d60f7e4b81bb14d086eba8e8e8efb6dcff8a4ae02",
"38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e000000000000000000000000000000000000000000000000000000000000001b38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e789d1dd423d25f0772d2748d60f7e4b81bb14d086eba8e8e8efb6dcff8a4ae02",
@@ -183,9 +123,9 @@ fn identity(b: &mut Criterion) {
);
}
fn modexp_eip_example1(b: &mut Criterion) {
#[bench]
fn modexp_eip_example1(b: &mut Bencher) {
bench(
"modexp_eip_example1",
"0000000000000000000000000000000000000005", // modexp
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002003fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
"0000000000000000000000000000000000000000000000000000000000000001",
@@ -193,9 +133,9 @@ fn modexp_eip_example1(b: &mut Criterion) {
);
}
fn modexp_eip_example2(b: &mut Criterion) {
#[bench]
fn modexp_eip_example2(b: &mut Bencher) {
bench(
"modexp_eip_example2",
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
"0000000000000000000000000000000000000000000000000000000000000000",
@@ -203,9 +143,9 @@ fn modexp_eip_example2(b: &mut Criterion) {
);
}
fn modexp_nagydani_1_square(b: &mut Criterion) {
#[bench]
fn modexp_nagydani_1_square(b: &mut Bencher) {
bench(
"modexp_nagydani_1_square",
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040e09ad9675465c53a109fac66a445c91b292d2bb2c5268addb30cd82f80fcb0033ff97c80a5fc6f39193ae969c6ede6710a6b7ac27078a06d90ef1c72e5c85fb502fc9e1f6beb81516545975218075ec2af118cd8798df6e08a147c60fd6095ac2bb02c2908cf4dd7c81f11c289e4bce98f3553768f392a80ce22bf5c4f4a248c6b",
"60008f1614cc01dcfb6bfb09c625cf90b47d4468db81b5f8b7a39d42f332eab9b2da8f2d95311648a8f243f4bb13cfb3d8f7f2a3c014122ebb3ed41b02783adc",
@@ -213,9 +153,9 @@ fn modexp_nagydani_1_square(b: &mut Criterion) {
);
}
fn modexp_nagydani_1_qube(b: &mut Criterion) {
#[bench]
fn modexp_nagydani_1_qube(b: &mut Bencher) {
bench(
"modexp_nagydani_1_qube",
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040e09ad9675465c53a109fac66a445c91b292d2bb2c5268addb30cd82f80fcb0033ff97c80a5fc6f39193ae969c6ede6710a6b7ac27078a06d90ef1c72e5c85fb503fc9e1f6beb81516545975218075ec2af118cd8798df6e08a147c60fd6095ac2bb02c2908cf4dd7c81f11c289e4bce98f3553768f392a80ce22bf5c4f4a248c6b",
"4834a46ba565db27903b1c720c9d593e84e4cbd6ad2e64b31885d944f68cd801f92225a8961c952ddf2797fa4701b330c85c4b363798100b921a1a22a46a7fec",
@@ -223,9 +163,9 @@ fn modexp_nagydani_1_qube(b: &mut Criterion) {
);
}
fn modexp_nagydani_1_pow0x10001(b: &mut Criterion) {
#[bench]
fn modexp_nagydani_1_pow0x10001(b: &mut Bencher) {
bench(
"modexp_nagydani_1_pow0x10001",
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000040e09ad9675465c53a109fac66a445c91b292d2bb2c5268addb30cd82f80fcb0033ff97c80a5fc6f39193ae969c6ede6710a6b7ac27078a06d90ef1c72e5c85fb5010001fc9e1f6beb81516545975218075ec2af118cd8798df6e08a147c60fd6095ac2bb02c2908cf4dd7c81f11c289e4bce98f3553768f392a80ce22bf5c4f4a248c6b",
"c36d804180c35d4426b57b50c5bfcca5c01856d104564cd513b461d3c8b8409128a5573e416d0ebe38f5f736766d9dc27143e4da981dfa4d67f7dc474cbee6d2",
@@ -233,9 +173,9 @@ fn modexp_nagydani_1_pow0x10001(b: &mut Criterion) {
);
}
fn modexp_nagydani_2_square(b: &mut Criterion) {
#[bench]
fn modexp_nagydani_2_square(b: &mut Bencher) {
bench(
"modexp_nagydani_2_square",
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080cad7d991a00047dd54d3399b6b0b937c718abddef7917c75b6681f40cc15e2be0003657d8d4c34167b2f0bbbca0ccaa407c2a6a07d50f1517a8f22979ce12a81dcaf707cc0cebfc0ce2ee84ee7f77c38b9281b9822a8d3de62784c089c9b18dcb9a2a5eecbede90ea788a862a9ddd9d609c2c52972d63e289e28f6a590ffbf5102e6d893b80aeed5e6e9ce9afa8a5d5675c93a32ac05554cb20e9951b2c140e3ef4e433068cf0fb73bc9f33af1853f64aa27a0028cbf570d7ac9048eae5dc7b28c87c31e5810f1e7fa2cda6adf9f1076dbc1ec1238560071e7efc4e9565c49be9e7656951985860a558a754594115830bcdb421f741408346dd5997bb01c287087",
"981dd99c3b113fae3e3eaa9435c0dc96779a23c12a53d1084b4f67b0b053a27560f627b873e3f16ad78f28c94f14b6392def26e4d8896c5e3c984e50fa0b3aa44f1da78b913187c6128baa9340b1e9c9a0fd02cb78885e72576da4a8f7e5a113e173a7a2889fde9d407bd9f06eb05bc8fc7b4229377a32941a02bf4edcc06d70",
@@ -243,9 +183,10 @@ fn modexp_nagydani_2_square(b: &mut Criterion) {
);
}
fn modexp_nagydani_2_qube(b: &mut Criterion) {
#[bench]
fn modexp_nagydani_2_qube(b: &mut Bencher) {
bench(
"modexp_nagydani_2_qube",
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080cad7d991a00047dd54d3399b6b0b937c718abddef7917c75b6681f40cc15e2be0003657d8d4c34167b2f0bbbca0ccaa407c2a6a07d50f1517a8f22979ce12a81dcaf707cc0cebfc0ce2ee84ee7f77c38b9281b9822a8d3de62784c089c9b18dcb9a2a5eecbede90ea788a862a9ddd9d609c2c52972d63e289e28f6a590ffbf5103e6d893b80aeed5e6e9ce9afa8a5d5675c93a32ac05554cb20e9951b2c140e3ef4e433068cf0fb73bc9f33af1853f64aa27a0028cbf570d7ac9048eae5dc7b28c87c31e5810f1e7fa2cda6adf9f1076dbc1ec1238560071e7efc4e9565c49be9e7656951985860a558a754594115830bcdb421f741408346dd5997bb01c287087",
"d89ceb68c32da4f6364978d62aaa40d7b09b59ec61eb3c0159c87ec3a91037f7dc6967594e530a69d049b64adfa39c8fa208ea970cfe4b7bcd359d345744405afe1cbf761647e32b3184c7fbe87cee8c6c7ff3b378faba6c68b83b6889cb40f1603ee68c56b4c03d48c595c826c041112dc941878f8c5be828154afd4a16311f",
@@ -253,9 +194,9 @@ fn modexp_nagydani_2_qube(b: &mut Criterion) {
);
}
fn modexp_nagydani_2_pow0x10001(b: &mut Criterion) {
#[bench]
fn modexp_nagydani_2_pow0x10001(b: &mut Bencher) {
bench(
"modexp_nagydani_2_pow0x10001",
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000080cad7d991a00047dd54d3399b6b0b937c718abddef7917c75b6681f40cc15e2be0003657d8d4c34167b2f0bbbca0ccaa407c2a6a07d50f1517a8f22979ce12a81dcaf707cc0cebfc0ce2ee84ee7f77c38b9281b9822a8d3de62784c089c9b18dcb9a2a5eecbede90ea788a862a9ddd9d609c2c52972d63e289e28f6a590ffbf51010001e6d893b80aeed5e6e9ce9afa8a5d5675c93a32ac05554cb20e9951b2c140e3ef4e433068cf0fb73bc9f33af1853f64aa27a0028cbf570d7ac9048eae5dc7b28c87c31e5810f1e7fa2cda6adf9f1076dbc1ec1238560071e7efc4e9565c49be9e7656951985860a558a754594115830bcdb421f741408346dd5997bb01c287087",
"ad85e8ef13fd1dd46eae44af8b91ad1ccae5b7a1c92944f92a19f21b0b658139e0cabe9c1f679507c2de354bf2c91ebd965d1e633978a830d517d2f6f8dd5fd58065d58559de7e2334a878f8ec6992d9b9e77430d4764e863d77c0f87beede8f2f7f2ab2e7222f85cc9d98b8467f4bb72e87ef2882423ebdb6daf02dddac6db2",
@@ -263,9 +204,9 @@ fn modexp_nagydani_2_pow0x10001(b: &mut Criterion) {
);
}
fn modexp_nagydani_3_square(b: &mut Criterion) {
#[bench]
fn modexp_nagydani_3_square(b: &mut Bencher) {
bench(
"modexp_nagydani_3_square",
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000100c9130579f243e12451760976261416413742bd7c91d39ae087f46794062b8c239f2a74abf3918605a0e046a7890e049475ba7fbb78f5de6490bd22a710cc04d30088179a919d86c2da62cf37f59d8f258d2310d94c24891be2d7eeafaa32a8cb4b0cfe5f475ed778f45907dc8916a73f03635f233f7a77a00a3ec9ca6761a5bbd558a2318ecd0caa1c5016691523e7e1fa267dd35e70c66e84380bdcf7c0582f540174e572c41f81e93da0b757dff0b0fe23eb03aa19af0bdec3afb474216febaacb8d0381e631802683182b0fe72c28392539850650b70509f54980241dc175191a35d967288b532a7a8223ce2440d010615f70df269501944d4ec16fe4a3cb02d7a85909174757835187cb52e71934e6c07ef43b4c46fc30bbcd0bc72913068267c54a4aabebb493922492820babdeb7dc9b1558fcf7bd82c37c82d3147e455b623ab0efa752fe0b3a67ca6e4d126639e645a0bf417568adbb2a6a4eef62fa1fa29b2a5a43bebea1f82193a7dd98eb483d09bb595af1fa9c97c7f41f5649d976aee3e5e59e2329b43b13bea228d4a93f16ba139ccb511de521ffe747aa2eca664f7c9e33da59075cc335afcd2bf3ae09765f01ab5a7c3e3938ec168b74724b5074247d200d9970382f683d6059b94dbc336603d1dfee714e4b447ac2fa1d99ecb4961da2854e03795ed758220312d101e1e3d87d5313a6d052aebde75110363d",
"affc7507ea6d84751ec6b3f0d7b99dbcc263f33330e450d1b3ff0bc3d0874320bf4edd57debd587306988157958cb3cfd369cc0c9c198706f635c9e0f15d047df5cb44d03e2727f26b083c4ad8485080e1293f171c1ed52aef5993a5815c35108e848c951cf1e334490b4a539a139e57b68f44fee583306f5b85ffa57206b3ee5660458858534e5386b9584af3c7f67806e84c189d695e5eb96e1272d06ec2df5dc5fabc6e94b793718c60c36be0a4d031fc84cd658aa72294b2e16fc240aef70cb9e591248e38bd49c5a554d1afa01f38dab72733092f7555334bbef6c8c430119840492380aa95fa025dcf699f0a39669d812b0c6946b6091e6e235337b6f8",
@@ -273,9 +214,9 @@ fn modexp_nagydani_3_square(b: &mut Criterion) {
);
}
fn modexp_nagydani_3_qube(b: &mut Criterion) {
#[bench]
fn modexp_nagydani_3_qube(b: &mut Bencher) {
bench(
"modexp_nagydani_3_qube",
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000100c9130579f243e12451760976261416413742bd7c91d39ae087f46794062b8c239f2a74abf3918605a0e046a7890e049475ba7fbb78f5de6490bd22a710cc04d30088179a919d86c2da62cf37f59d8f258d2310d94c24891be2d7eeafaa32a8cb4b0cfe5f475ed778f45907dc8916a73f03635f233f7a77a00a3ec9ca6761a5bbd558a2318ecd0caa1c5016691523e7e1fa267dd35e70c66e84380bdcf7c0582f540174e572c41f81e93da0b757dff0b0fe23eb03aa19af0bdec3afb474216febaacb8d0381e631802683182b0fe72c28392539850650b70509f54980241dc175191a35d967288b532a7a8223ce2440d010615f70df269501944d4ec16fe4a3cb03d7a85909174757835187cb52e71934e6c07ef43b4c46fc30bbcd0bc72913068267c54a4aabebb493922492820babdeb7dc9b1558fcf7bd82c37c82d3147e455b623ab0efa752fe0b3a67ca6e4d126639e645a0bf417568adbb2a6a4eef62fa1fa29b2a5a43bebea1f82193a7dd98eb483d09bb595af1fa9c97c7f41f5649d976aee3e5e59e2329b43b13bea228d4a93f16ba139ccb511de521ffe747aa2eca664f7c9e33da59075cc335afcd2bf3ae09765f01ab5a7c3e3938ec168b74724b5074247d200d9970382f683d6059b94dbc336603d1dfee714e4b447ac2fa1d99ecb4961da2854e03795ed758220312d101e1e3d87d5313a6d052aebde75110363d",
"1b280ecd6a6bf906b806d527c2a831e23b238f89da48449003a88ac3ac7150d6a5e9e6b3be4054c7da11dd1e470ec29a606f5115801b5bf53bc1900271d7c3ff3cd5ed790d1c219a9800437a689f2388ba1a11d68f6a8e5b74e9a3b1fac6ee85fc6afbac599f93c391f5dc82a759e3c6c0ab45ce3f5d25d9b0c1bf94cf701ea6466fc9a478dacc5754e593172b5111eeba88557048bceae401337cd4c1182ad9f700852bc8c99933a193f0b94cf1aedbefc48be3bc93ef5cb276d7c2d5462ac8bb0c8fe8923a1db2afe1c6b90d59c534994a6a633f0ead1d638fdc293486bb634ff2c8ec9e7297c04241a61c37e3ae95b11d53343d4ba2b4cc33d2cfa7eb705e",
@@ -283,9 +224,9 @@ fn modexp_nagydani_3_qube(b: &mut Criterion) {
);
}
fn modexp_nagydani_3_pow0x10001(b: &mut Criterion) {
#[bench]
fn modexp_nagydani_3_pow0x10001(b: &mut Bencher) {
bench(
"modexp_nagydani_3_pow0x10001",
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000100c9130579f243e12451760976261416413742bd7c91d39ae087f46794062b8c239f2a74abf3918605a0e046a7890e049475ba7fbb78f5de6490bd22a710cc04d30088179a919d86c2da62cf37f59d8f258d2310d94c24891be2d7eeafaa32a8cb4b0cfe5f475ed778f45907dc8916a73f03635f233f7a77a00a3ec9ca6761a5bbd558a2318ecd0caa1c5016691523e7e1fa267dd35e70c66e84380bdcf7c0582f540174e572c41f81e93da0b757dff0b0fe23eb03aa19af0bdec3afb474216febaacb8d0381e631802683182b0fe72c28392539850650b70509f54980241dc175191a35d967288b532a7a8223ce2440d010615f70df269501944d4ec16fe4a3cb010001d7a85909174757835187cb52e71934e6c07ef43b4c46fc30bbcd0bc72913068267c54a4aabebb493922492820babdeb7dc9b1558fcf7bd82c37c82d3147e455b623ab0efa752fe0b3a67ca6e4d126639e645a0bf417568adbb2a6a4eef62fa1fa29b2a5a43bebea1f82193a7dd98eb483d09bb595af1fa9c97c7f41f5649d976aee3e5e59e2329b43b13bea228d4a93f16ba139ccb511de521ffe747aa2eca664f7c9e33da59075cc335afcd2bf3ae09765f01ab5a7c3e3938ec168b74724b5074247d200d9970382f683d6059b94dbc336603d1dfee714e4b447ac2fa1d99ecb4961da2854e03795ed758220312d101e1e3d87d5313a6d052aebde75110363d",
"37843d7c67920b5f177372fa56e2a09117df585f81df8b300fba245b1175f488c99476019857198ed459ed8d9799c377330e49f4180c4bf8e8f66240c64f65ede93d601f957b95b83efdee1e1bfde74169ff77002eaf078c71815a9220c80b2e3b3ff22c2f358111d816ebf83c2999026b6de50bfc711ff68705d2f40b753424aefc9f70f08d908b5a20276ad613b4ab4309a3ea72f0c17ea9df6b3367d44fb3acab11c333909e02e81ea2ed404a712d3ea96bba87461720e2d98723e7acd0520ac1a5212dbedcd8dc0c1abf61d4719e319ff4758a774790b8d463cdfe131d1b2dcfee52d002694e98e720cb6ae7ccea353bc503269ba35f0f63bf8d7b672a76",
@@ -293,9 +234,9 @@ fn modexp_nagydani_3_pow0x10001(b: &mut Criterion) {
);
}
fn modexp_nagydani_4_square(b: &mut Criterion) {
#[bench]
fn modexp_nagydani_4_square(b: &mut Bencher) {
bench(
"modexp_nagydani_4_square",
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000200db34d0e438249c0ed685c949cc28776a05094e1c48691dc3f2dca5fc3356d2a0663bd376e4712839917eb9a19c670407e2c377a2de385a3ff3b52104f7f1f4e0c7bf7717fb913896693dc5edbb65b760ef1b00e42e9d8f9af17352385e1cd742c9b006c0f669995cb0bb21d28c0aced2892267637b6470d8cee0ab27fc5d42658f6e88240c31d6774aa60a7ebd25cd48b56d0da11209f1928e61005c6eb709f3e8e0aaf8d9b10f7d7e296d772264dc76897ccdddadc91efa91c1903b7232a9e4c3b941917b99a3bc0c26497dedc897c25750af60237aa67934a26a2bc491db3dcc677491944bc1f51d3e5d76b8d846a62db03dedd61ff508f91a56d71028125035c3a44cbb041497c83bf3e4ae2a9613a401cc721c547a2afa3b16a2969933d3626ed6d8a7428648f74122fd3f2a02a20758f7f693892c8fd798b39abac01d18506c45e71432639e9f9505719ee822f62ccbf47f6850f096ff77b5afaf4be7d772025791717dbe5abf9b3f40cff7d7aab6f67e38f62faf510747276e20a42127e7500c444f9ed92baf65ade9e836845e39c4316d9dce5f8e2c8083e2c0acbb95296e05e51aab13b6b8f53f06c9c4276e12b0671133218cc3ea907da3bd9a367096d9202128d14846cc2e20d56fc8473ecb07cecbfb8086919f3971926e7045b853d85a69d026195c70f9f7a823536e2a8f4b3e12e94d9b53a934353451094b8102df3143a0057457d75e8c708b6337a6f5a4fd1a06727acf9fb93e2993c62f3378b37d56c85e7b1e00f0145ebf8e4095bd723166293c60b6ac1252291ef65823c9e040ddad14969b3b340a4ef714db093a587c37766d68b8d6b5016e741587e7e6bf7e763b44f0247e64bae30f994d248bfd20541a333e5b225ef6a61199e301738b1e688f70ec1d7fb892c183c95dc543c3e12adf8a5e8b9ca9d04f9445cced3ab256f29e998e69efaa633a7b60e1db5a867924ccab0a171d9d6e1098dfa15acde9553de599eaa56490c8f411e4985111f3d40bddfc5e301edb01547b01a886550a61158f7e2033c59707789bf7c854181d0c2e2a42a93cf09209747d7082e147eb8544de25c3eb14f2e35559ea0c0f5877f2f3fc92132c0ae9da4e45b2f6c866a224ea6d1f28c05320e287750fbc647368d41116e528014cc1852e5531d53e4af938374daba6cee4baa821ed07117253bb3601ddd00d59a3d7fb2ef1f5a2fbba7c429f0cf9a5b3462410fd833a69118f8be9c559b1000cc608fd877fb43f8e65c2d1302622b944462579056874b387208d90623fcdaf93920ca7a9e4ba64ea208758222ad868501cc2c345e2d3a5ea2a17e5069248138c8a79c0251185d29ee73e5afab5354769142d2bf0cb6712727aa6bf84a6245fcdae66e4938d84d1b9dd09a884818622080ff5f98942fb20acd7e0c916c2d5ea7ce6f7e173315384518f",
"8a5aea5f50dcc03dc7a7a272b5aeebc040554dbc1ffe36753c4fc75f7ed5f6c2cc0de3a922bf96c78bf0643a73025ad21f45a4a5cadd717612c511ab2bff1190fe5f1ae05ba9f8fe3624de1de2a817da6072ddcdb933b50216811dbe6a9ca79d3a3c6b3a476b079fd0d05f04fb154e2dd3e5cb83b148a006f2bcbf0042efb2ae7b916ea81b27aac25c3bf9a8b6d35440062ad8eae34a83f3ffa2cc7b40346b62174a4422584f72f95316f6b2bee9ff232ba9739301c97c99a9ded26c45d72676eb856ad6ecc81d36a6de36d7f9dafafee11baa43a4b0d5e4ecffa7b9b7dcefd58c397dd373e6db4acd2b2c02717712e6289bed7c813b670c4a0c6735aa7f3b0f1ce556eae9fcc94b501b2c8781ba50a8c6220e8246371c3c7359fe4ef9da786ca7d98256754ca4e496be0a9174bedbecb384bdf470779186d6a833f068d2838a88d90ef3ad48ff963b67c39cc5a3ee123baf7bf3125f64e77af7f30e105d72c4b9b5b237ed251e4c122c6d8c1405e736299c3afd6db16a28c6a9cfa68241e53de4cd388271fe534a6a9b0dbea6171d170db1b89858468885d08fecbd54c8e471c3e25d48e97ba450b96d0d87e00ac732aaa0d3ce4309c1064bd8a4c0808a97e0143e43a24cfa847635125cd41c13e0574487963e9d725c01375db99c31da67b4cf65eff555f0c0ac416c727ff8d438ad7c42030551d68c2e7adda0abb1ca7c10",
@@ -303,9 +244,9 @@ fn modexp_nagydani_4_square(b: &mut Criterion) {
);
}
fn modexp_nagydani_4_qube(b: &mut Criterion) {
#[bench]
fn modexp_nagydani_4_qube(b: &mut Bencher) {
bench(
"modexp_nagydani_4_qube",
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000200db34d0e438249c0ed685c949cc28776a05094e1c48691dc3f2dca5fc3356d2a0663bd376e4712839917eb9a19c670407e2c377a2de385a3ff3b52104f7f1f4e0c7bf7717fb913896693dc5edbb65b760ef1b00e42e9d8f9af17352385e1cd742c9b006c0f669995cb0bb21d28c0aced2892267637b6470d8cee0ab27fc5d42658f6e88240c31d6774aa60a7ebd25cd48b56d0da11209f1928e61005c6eb709f3e8e0aaf8d9b10f7d7e296d772264dc76897ccdddadc91efa91c1903b7232a9e4c3b941917b99a3bc0c26497dedc897c25750af60237aa67934a26a2bc491db3dcc677491944bc1f51d3e5d76b8d846a62db03dedd61ff508f91a56d71028125035c3a44cbb041497c83bf3e4ae2a9613a401cc721c547a2afa3b16a2969933d3626ed6d8a7428648f74122fd3f2a02a20758f7f693892c8fd798b39abac01d18506c45e71432639e9f9505719ee822f62ccbf47f6850f096ff77b5afaf4be7d772025791717dbe5abf9b3f40cff7d7aab6f67e38f62faf510747276e20a42127e7500c444f9ed92baf65ade9e836845e39c4316d9dce5f8e2c8083e2c0acbb95296e05e51aab13b6b8f53f06c9c4276e12b0671133218cc3ea907da3bd9a367096d9202128d14846cc2e20d56fc8473ecb07cecbfb8086919f3971926e7045b853d85a69d026195c70f9f7a823536e2a8f4b3e12e94d9b53a934353451094b8103df3143a0057457d75e8c708b6337a6f5a4fd1a06727acf9fb93e2993c62f3378b37d56c85e7b1e00f0145ebf8e4095bd723166293c60b6ac1252291ef65823c9e040ddad14969b3b340a4ef714db093a587c37766d68b8d6b5016e741587e7e6bf7e763b44f0247e64bae30f994d248bfd20541a333e5b225ef6a61199e301738b1e688f70ec1d7fb892c183c95dc543c3e12adf8a5e8b9ca9d04f9445cced3ab256f29e998e69efaa633a7b60e1db5a867924ccab0a171d9d6e1098dfa15acde9553de599eaa56490c8f411e4985111f3d40bddfc5e301edb01547b01a886550a61158f7e2033c59707789bf7c854181d0c2e2a42a93cf09209747d7082e147eb8544de25c3eb14f2e35559ea0c0f5877f2f3fc92132c0ae9da4e45b2f6c866a224ea6d1f28c05320e287750fbc647368d41116e528014cc1852e5531d53e4af938374daba6cee4baa821ed07117253bb3601ddd00d59a3d7fb2ef1f5a2fbba7c429f0cf9a5b3462410fd833a69118f8be9c559b1000cc608fd877fb43f8e65c2d1302622b944462579056874b387208d90623fcdaf93920ca7a9e4ba64ea208758222ad868501cc2c345e2d3a5ea2a17e5069248138c8a79c0251185d29ee73e5afab5354769142d2bf0cb6712727aa6bf84a6245fcdae66e4938d84d1b9dd09a884818622080ff5f98942fb20acd7e0c916c2d5ea7ce6f7e173315384518f",
"5a2664252aba2d6e19d9600da582cdd1f09d7a890ac48e6b8da15ae7c6ff1856fc67a841ac2314d283ffa3ca81a0ecf7c27d89ef91a5a893297928f5da0245c99645676b481b7e20a566ee6a4f2481942bee191deec5544600bb2441fd0fb19e2ee7d801ad8911c6b7750affec367a4b29a22942c0f5f4744a4e77a8b654da2a82571037099e9c6d930794efe5cdca73c7b6c0844e386bdca8ea01b3d7807146bb81365e2cdc6475f8c23e0ff84463126189dc9789f72bbce2e3d2d114d728a272f1345122de23df54c922ec7a16e5c2a8f84da8871482bd258c20a7c09bbcd64c7a96a51029bbfe848736a6ba7bf9d931a9b7de0bcaf3635034d4958b20ae9ab3a95a147b0421dd5f7ebff46c971010ebfc4adbbe0ad94d5498c853e7142c450d8c71de4b2f84edbf8acd2e16d00c8115b150b1c30e553dbb82635e781379fe2a56360420ff7e9f70cc64c00aba7e26ed13c7c19622865ae07248daced36416080f35f8cc157a857ed70ea4f347f17d1bee80fa038abd6e39b1ba06b97264388b21364f7c56e192d4b62d9b161405f32ab1e2594e86243e56fcf2cb30d21adef15b9940f91af681da24328c883d892670c6aa47940867a81830a82b82716895db810df1b834640abefb7db2092dd92912cb9a735175bc447be40a503cf22dfe565b4ed7a3293ca0dfd63a507430b323ee248ec82e843b673c97ad730728cebc",
@@ -313,9 +254,9 @@ fn modexp_nagydani_4_qube(b: &mut Criterion) {
);
}
fn modexp_nagydani_4_pow0x10001(b: &mut Criterion) {
#[bench]
fn modexp_nagydani_4_pow0x10001(b: &mut Bencher) {
bench(
"modexp_nagydani_4_pow0x10001",
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000200db34d0e438249c0ed685c949cc28776a05094e1c48691dc3f2dca5fc3356d2a0663bd376e4712839917eb9a19c670407e2c377a2de385a3ff3b52104f7f1f4e0c7bf7717fb913896693dc5edbb65b760ef1b00e42e9d8f9af17352385e1cd742c9b006c0f669995cb0bb21d28c0aced2892267637b6470d8cee0ab27fc5d42658f6e88240c31d6774aa60a7ebd25cd48b56d0da11209f1928e61005c6eb709f3e8e0aaf8d9b10f7d7e296d772264dc76897ccdddadc91efa91c1903b7232a9e4c3b941917b99a3bc0c26497dedc897c25750af60237aa67934a26a2bc491db3dcc677491944bc1f51d3e5d76b8d846a62db03dedd61ff508f91a56d71028125035c3a44cbb041497c83bf3e4ae2a9613a401cc721c547a2afa3b16a2969933d3626ed6d8a7428648f74122fd3f2a02a20758f7f693892c8fd798b39abac01d18506c45e71432639e9f9505719ee822f62ccbf47f6850f096ff77b5afaf4be7d772025791717dbe5abf9b3f40cff7d7aab6f67e38f62faf510747276e20a42127e7500c444f9ed92baf65ade9e836845e39c4316d9dce5f8e2c8083e2c0acbb95296e05e51aab13b6b8f53f06c9c4276e12b0671133218cc3ea907da3bd9a367096d9202128d14846cc2e20d56fc8473ecb07cecbfb8086919f3971926e7045b853d85a69d026195c70f9f7a823536e2a8f4b3e12e94d9b53a934353451094b81010001df3143a0057457d75e8c708b6337a6f5a4fd1a06727acf9fb93e2993c62f3378b37d56c85e7b1e00f0145ebf8e4095bd723166293c60b6ac1252291ef65823c9e040ddad14969b3b340a4ef714db093a587c37766d68b8d6b5016e741587e7e6bf7e763b44f0247e64bae30f994d248bfd20541a333e5b225ef6a61199e301738b1e688f70ec1d7fb892c183c95dc543c3e12adf8a5e8b9ca9d04f9445cced3ab256f29e998e69efaa633a7b60e1db5a867924ccab0a171d9d6e1098dfa15acde9553de599eaa56490c8f411e4985111f3d40bddfc5e301edb01547b01a886550a61158f7e2033c59707789bf7c854181d0c2e2a42a93cf09209747d7082e147eb8544de25c3eb14f2e35559ea0c0f5877f2f3fc92132c0ae9da4e45b2f6c866a224ea6d1f28c05320e287750fbc647368d41116e528014cc1852e5531d53e4af938374daba6cee4baa821ed07117253bb3601ddd00d59a3d7fb2ef1f5a2fbba7c429f0cf9a5b3462410fd833a69118f8be9c559b1000cc608fd877fb43f8e65c2d1302622b944462579056874b387208d90623fcdaf93920ca7a9e4ba64ea208758222ad868501cc2c345e2d3a5ea2a17e5069248138c8a79c0251185d29ee73e5afab5354769142d2bf0cb6712727aa6bf84a6245fcdae66e4938d84d1b9dd09a884818622080ff5f98942fb20acd7e0c916c2d5ea7ce6f7e173315384518f",
"bed8b970c4a34849fc6926b08e40e20b21c15ed68d18f228904878d4370b56322d0da5789da0318768a374758e6375bfe4641fca5285ec7171828922160f48f5ca7efbfee4d5148612c38ad683ae4e3c3a053d2b7c098cf2b34f2cb19146eadd53c86b2d7ccf3d83b2c370bfb840913ee3879b1057a6b4e07e110b6bcd5e958bc71a14798c91d518cc70abee264b0d25a4110962a764b364ac0b0dd1ee8abc8426d775ec0f22b7e47b32576afaf1b5a48f64573ed1c5c29f50ab412188d9685307323d990802b81dacc06c6e05a1e901830ba9fcc67688dc29c5e27bde0a6e845ca925f5454b6fb3747edfaa2a5820838fb759eadf57f7cb5cec57fc213ddd8a4298fa079c3c0f472b07fb15aa6a7f0a3780bd296ff6a62e58ef443870b02260bd4fd2bbc98255674b8e1f1f9f8d33c7170b0ebbea4523b695911abbf26e41885344823bd0587115fdd83b721a4e8457a31c9a84b3d3520a07e0e35df7f48e5a9d534d0ec7feef1ff74de6a11e7f93eab95175b6ce22c68d78a642ad642837897ec11349205d8593ac19300207572c38d29ca5dfa03bc14cdbc32153c80e5cc3e739403d34c75915e49beb43094cc6dcafb3665b305ddec9286934ae66ec6b777ca528728c851318eb0f207b39f1caaf96db6eeead6b55ed08f451939314577d42bcc9f97c0b52d0234f88fd07e4c1d7780fdebc025cfffcb572cb27a8c33963",
@@ -323,9 +264,9 @@ fn modexp_nagydani_4_pow0x10001(b: &mut Criterion) {
);
}
fn modexp_nagydani_5_square(b: &mut Criterion) {
#[bench]
fn modexp_nagydani_5_square(b: &mut Bencher) {
bench(
"modexp_nagydani_5_square",
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000400c5a1611f8be90071a43db23cc2fe01871cc4c0e8ab5743f6378e4fef77f7f6db0095c0727e20225beb665645403453e325ad5f9aeb9ba99bf3c148f63f9c07cf4fe8847ad5242d6b7d4499f93bd47056ddab8f7dee878fc2314f344dbee2a7c41a5d3db91eff372c730c2fdd3a141a4b61999e36d549b9870cf2f4e632c4d5df5f024f81c028000073a0ed8847cfb0593d36a47142f578f05ccbe28c0c06aeb1b1da027794c48db880278f79ba78ae64eedfea3c07d10e0562668d839749dc95f40467d15cf65b9cfc52c7c4bcef1cda3596dd52631aac942f146c7cebd46065131699ce8385b0db1874336747ee020a5698a3d1a1082665721e769567f579830f9d259cec1a836845109c21cf6b25da572512bf3c42fd4b96e43895589042ab60dd41f497db96aec102087fe784165bb45f942859268fd2ff6c012d9d00c02ba83eace047cc5f7b2c392c2955c58a49f0338d6fc58749c9db2155522ac17914ec216ad87f12e0ee95574613942fa615898c4d9e8a3be68cd6afa4e7a003dedbdf8edfee31162b174f965b20ae752ad89c967b3068b6f722c16b354456ba8e280f987c08e0a52d40a2e8f3a59b94d590aeef01879eb7a90b3ee7d772c839c85519cbeaddc0c193ec4874a463b53fcaea3271d80ebfb39b33489365fc039ae549a17a9ff898eea2f4cb27b8dbee4c17b998438575b2b8d107e4a0d66ba7fca85b41a58a8d51f191a35c856dfbe8aef2b00048a694bbccff832d23c8ca7a7ff0b6c0b3011d00b97c86c0628444d267c951d9e4fb8f83e154b8f74fb51aa16535e498235c5597dac9606ed0be3173a3836baa4e7d756ffe1e2879b415d3846bccd538c05b847785699aefde3e305decb600cd8fb0e7d8de5efc26971a6ad4e6d7a2d91474f1023a0ac4b78dc937da0ce607a45974d2cac1c33a2631ff7fe6144a3b2e5cf98b531a9627dea92c1dc82204d09db0439b6a11dd64b484e1263aa45fd9539b6020b55e3baece3986a8bffc1003406348f5c61265099ed43a766ee4f93f5f9c5abbc32a0fd3ac2b35b87f9ec26037d88275bd7dd0a54474995ee34ed3727f3f97c48db544b1980193a4b76a8a3ddab3591ce527f16d91882e67f0103b5cda53f7da54d489fc4ac08b6ab358a5a04aa9daa16219d50bd672a7cb804ed769d218807544e5993f1c27427104b349906a0b654df0bf69328afd3013fbe430155339c39f236df5557bf92f1ded7ff609a8502f49064ec3d1dbfb6c15d3a4c11a4f8acd12278cbf68acd5709463d12e3338a6eddb8c112f199645e23154a8e60879d2a654e3ed9296aa28f134168619691cd2c6b9e2eba4438381676173fc63c2588a3c5910dc149cf3760f0aa9fa9c3f5faa9162b0bf1aac9dd32b706a60ef53cbdb394b6b40222b5bc80eea82ba8958386672564cae3794f977871ab62337cf02e30049201ec12937e7ce79d0f55d9c810e20acf52212aca1d3888949e0e4830aad88d804161230eb89d4d329cc83570fe257217d2119134048dd2ed167646975fc7d77136919a049ea74cf08ddd2b896890bb24a0ba18094a22baa351bf29ad96c66bbb1a598f2ca391749620e62d61c3561a7d3653ccc8892c7b99baaf76bf836e2991cb06d6bc0514568ff0d1ec8bb4b3d6984f5eaefb17d3ea2893722375d3ddb8e389a8eef7d7d198f8e687d6a513983df906099f9a2d23f4f9dec6f8ef2f11fc0a21fac45353b94e00486f5e17d386af42502d09db33cf0cf28310e049c07e88682aeeb00cb833c5174266e62407a57583f1f88b304b7c6e0c84bbe1c0fd423072d37a5bd0aacf764229e5c7cd02473460ba3645cd8e8ae144065bf02d0dd238593d8e230354f67e0b2f23012c23274f80e3ee31e35e2606a4a3f31d94ab755e6d163cff52cbb36b6d0cc67ffc512aeed1dce4d7a0d70ce82f2baba12e8d514dc92a056f994adfb17b5b9712bd5186f27a2fda1f7039c5df2c8587fdc62f5627580c13234b55be4df3056050e2d1ef3218f0dd66cb05265fe1acfb0989d8213f2c19d1735a7cf3fa65d88dad5af52dc2bba22b7abf46c3bc77b5091baab9e8f0ddc4d5e581037de91a9f8dcbc69309be29cc815cf19a20a7585b8b3073edf51fc9baeb3e509b97fa4ecfd621e0fd57bd61cac1b895c03248ff12bdbc57509250df3517e8a3fe1d776836b34ab352b973d932ef708b14f7418f9eceb1d87667e61e3e758649cb083f01b133d37ab2f5afa96d6c84bcacf4efc3851ad308c1e7d9113624fce29fab460ab9d2a48d92cdb281103a5250ad44cb2ff6e67ac670c02fdafb3e0f1353953d6d7d5646ca1568dea55275a050ec501b7c6250444f7219f1ba7521ba3b93d089727ca5f3bbe0d6c1300b423377004954c5628fdb65770b18ced5c9b23a4a5a6d6ef25fe01b4ce278de0bcc4ed86e28a0a68818ffa40970128cf2c38740e80037984428c1bd5113f40ff47512ee6f4e4d8f9b8e8e1b3040d2928d003bd1c1329dc885302fbce9fa81c23b4dc49c7c82d29b52957847898676c89aa5d32b5b0e1c0d5a2b79a19d67562f407f19425687971a957375879d90c5f57c857136c17106c9ab1b99d80e69c8c954ed386493368884b55c939b8d64d26f643e800c56f90c01079d7c534e3b2b7ae352cefd3016da55f6a85eb803b85e2304915fd2001f77c74e28746293c46e4f5f0fd49cf988aafd0026b8e7a3bab2da5cdce1ea26c2e29ec03f4807fac432662b2d6c060be1c7be0e5489de69d0a6e03a4b9117f9244b34a0f1ecba89884f781c6320412413a00c4980287409a2a78c2cd7e65cecebbe4ec1c28cac4dd95f6998e78fc6f1392384331c9436aa10e10e2bf8ad2c4eafbcf276aa7bae64b74428911b3269c749338b0fc5075ad",
"d61fe4e3f32ac260915b5b03b78a86d11bfc41d973fce5b0cc59035cf8289a8a2e3878ea15fa46565b0d806e2f85b53873ea20ed653869b688adf83f3ef444535bf91598ff7e80f334fb782539b92f39f55310cc4b35349ab7b278346eda9bc37c0d8acd3557fae38197f412f8d9e57ce6a76b7205c23564cab06e5615be7c6f05c3d05ec690cba91da5e89d55b152ff8dd2157dc5458190025cf94b1ad98f7cbe64e9482faba95e6b33844afc640892872b44a9932096508f4a782a4805323808f23e54b6ff9b841dbfa87db3505ae4f687972c18ea0f0d0af89d36c1c2a5b14560c153c3fee406f5cf15cfd1c0bb45d767426d465f2f14c158495069d0c5955a00150707862ecaae30624ebacdd8ac33e4e6aab3ff90b6ba445a84689386b9e945d01823a65874444316e83767290fcff630d2477f49d5d8ffdd200e08ee1274270f86ed14c687895f6caf5ce528bd970c20d2408a9ba66216324c6a011ac4999098362dbd98a038129a2d40c8da6ab88318aa3046cb660327cc44236d9e5d2163bd0959062195c51ed93d0088b6f92051fc99050ece2538749165976233697ab4b610385366e5ce0b02ad6b61c168ecfbedcdf74278a38de340fd7a5fead8e588e294795f9b011e2e60377a89e25c90e145397cdeabc60fd32444a6b7642a611a83c464d8b8976666351b4865c37b02e6dc21dbcdf5f930341707b618cc0f03c3122646b3385c9df9f2ec730eec9d49e7dfc9153b6e6289da8c4f0ebea9ccc1b751948e3bb7171c9e4d57423b0eeeb79095c030cb52677b3f7e0b45c30f645391f3f9c957afa549c4e0b2465b03c67993cd200b1af01035962edbc4c9e89b31c82ac121987d6529dafdeef67a132dc04b6dc68e77f22862040b75e2ceb9ff16da0fca534e6db7bd12fa7b7f51b6c08c1e23dfcdb7acbd2da0b51c87ffbced065a612e9b1c8bba9b7e2d8d7a2f04fcc4aaf355b60d764879a76b5e16762d5f2f55d585d0c8e82df6940960cddfb72c91dfa71f6b4e1c6ca25dfc39a878e998a663c04fe29d5e83b9586d047b4d7ff70a9f0d44f127e7d741685ca75f11629128d916a0ffef4be586a30c4b70389cc746e84ebf177c01ee8a4511cfbb9d1ecf7f7b33c7dd8177896e10bbc82f838dcd6db7ac67de62bf46b6a640fb580c5d1d2708f3862e3d2b645d0d18e49ef088053e3a220adc0e033c2afcfe61c90e32151152eb3caaf746c5e377d541cafc6cbb0cc0fa48b5caf1728f2e1957f5addfc234f1a9d89e40d49356c9172d0561a695fce6dab1d412321bbf407f63766ffd7b6b3d79bcfa07991c5a9709849c1008689e3b47c50d613980bec239fb64185249d055b30375ccb4354d71fe4d05648fbf6c80634dfc3575f2f24abb714c1e4c95e8896763bf4316e954c7ad19e5780ab7a040ca6fb9271f90a8b22ae738daf6cb",
@@ -333,9 +274,9 @@ fn modexp_nagydani_5_square(b: &mut Criterion) {
);
}
fn modexp_nagydani_5_qube(b: &mut Criterion) {
#[bench]
fn modexp_nagydani_5_qube(b: &mut Bencher) {
bench(
"modexp_nagydani_5_qube",
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000400c5a1611f8be90071a43db23cc2fe01871cc4c0e8ab5743f6378e4fef77f7f6db0095c0727e20225beb665645403453e325ad5f9aeb9ba99bf3c148f63f9c07cf4fe8847ad5242d6b7d4499f93bd47056ddab8f7dee878fc2314f344dbee2a7c41a5d3db91eff372c730c2fdd3a141a4b61999e36d549b9870cf2f4e632c4d5df5f024f81c028000073a0ed8847cfb0593d36a47142f578f05ccbe28c0c06aeb1b1da027794c48db880278f79ba78ae64eedfea3c07d10e0562668d839749dc95f40467d15cf65b9cfc52c7c4bcef1cda3596dd52631aac942f146c7cebd46065131699ce8385b0db1874336747ee020a5698a3d1a1082665721e769567f579830f9d259cec1a836845109c21cf6b25da572512bf3c42fd4b96e43895589042ab60dd41f497db96aec102087fe784165bb45f942859268fd2ff6c012d9d00c02ba83eace047cc5f7b2c392c2955c58a49f0338d6fc58749c9db2155522ac17914ec216ad87f12e0ee95574613942fa615898c4d9e8a3be68cd6afa4e7a003dedbdf8edfee31162b174f965b20ae752ad89c967b3068b6f722c16b354456ba8e280f987c08e0a52d40a2e8f3a59b94d590aeef01879eb7a90b3ee7d772c839c85519cbeaddc0c193ec4874a463b53fcaea3271d80ebfb39b33489365fc039ae549a17a9ff898eea2f4cb27b8dbee4c17b998438575b2b8d107e4a0d66ba7fca85b41a58a8d51f191a35c856dfbe8aef2b00048a694bbccff832d23c8ca7a7ff0b6c0b3011d00b97c86c0628444d267c951d9e4fb8f83e154b8f74fb51aa16535e498235c5597dac9606ed0be3173a3836baa4e7d756ffe1e2879b415d3846bccd538c05b847785699aefde3e305decb600cd8fb0e7d8de5efc26971a6ad4e6d7a2d91474f1023a0ac4b78dc937da0ce607a45974d2cac1c33a2631ff7fe6144a3b2e5cf98b531a9627dea92c1dc82204d09db0439b6a11dd64b484e1263aa45fd9539b6020b55e3baece3986a8bffc1003406348f5c61265099ed43a766ee4f93f5f9c5abbc32a0fd3ac2b35b87f9ec26037d88275bd7dd0a54474995ee34ed3727f3f97c48db544b1980193a4b76a8a3ddab3591ce527f16d91882e67f0103b5cda53f7da54d489fc4ac08b6ab358a5a04aa9daa16219d50bd672a7cb804ed769d218807544e5993f1c27427104b349906a0b654df0bf69328afd3013fbe430155339c39f236df5557bf92f1ded7ff609a8502f49064ec3d1dbfb6c15d3a4c11a4f8acd12278cbf68acd5709463d12e3338a6eddb8c112f199645e23154a8e60879d2a654e3ed9296aa28f134168619691cd2c6b9e2eba4438381676173fc63c2588a3c5910dc149cf3760f0aa9fa9c3f5faa9162b0bf1aac9dd32b706a60ef53cbdb394b6b40222b5bc80eea82ba8958386672564cae3794f977871ab62337cf03e30049201ec12937e7ce79d0f55d9c810e20acf52212aca1d3888949e0e4830aad88d804161230eb89d4d329cc83570fe257217d2119134048dd2ed167646975fc7d77136919a049ea74cf08ddd2b896890bb24a0ba18094a22baa351bf29ad96c66bbb1a598f2ca391749620e62d61c3561a7d3653ccc8892c7b99baaf76bf836e2991cb06d6bc0514568ff0d1ec8bb4b3d6984f5eaefb17d3ea2893722375d3ddb8e389a8eef7d7d198f8e687d6a513983df906099f9a2d23f4f9dec6f8ef2f11fc0a21fac45353b94e00486f5e17d386af42502d09db33cf0cf28310e049c07e88682aeeb00cb833c5174266e62407a57583f1f88b304b7c6e0c84bbe1c0fd423072d37a5bd0aacf764229e5c7cd02473460ba3645cd8e8ae144065bf02d0dd238593d8e230354f67e0b2f23012c23274f80e3ee31e35e2606a4a3f31d94ab755e6d163cff52cbb36b6d0cc67ffc512aeed1dce4d7a0d70ce82f2baba12e8d514dc92a056f994adfb17b5b9712bd5186f27a2fda1f7039c5df2c8587fdc62f5627580c13234b55be4df3056050e2d1ef3218f0dd66cb05265fe1acfb0989d8213f2c19d1735a7cf3fa65d88dad5af52dc2bba22b7abf46c3bc77b5091baab9e8f0ddc4d5e581037de91a9f8dcbc69309be29cc815cf19a20a7585b8b3073edf51fc9baeb3e509b97fa4ecfd621e0fd57bd61cac1b895c03248ff12bdbc57509250df3517e8a3fe1d776836b34ab352b973d932ef708b14f7418f9eceb1d87667e61e3e758649cb083f01b133d37ab2f5afa96d6c84bcacf4efc3851ad308c1e7d9113624fce29fab460ab9d2a48d92cdb281103a5250ad44cb2ff6e67ac670c02fdafb3e0f1353953d6d7d5646ca1568dea55275a050ec501b7c6250444f7219f1ba7521ba3b93d089727ca5f3bbe0d6c1300b423377004954c5628fdb65770b18ced5c9b23a4a5a6d6ef25fe01b4ce278de0bcc4ed86e28a0a68818ffa40970128cf2c38740e80037984428c1bd5113f40ff47512ee6f4e4d8f9b8e8e1b3040d2928d003bd1c1329dc885302fbce9fa81c23b4dc49c7c82d29b52957847898676c89aa5d32b5b0e1c0d5a2b79a19d67562f407f19425687971a957375879d90c5f57c857136c17106c9ab1b99d80e69c8c954ed386493368884b55c939b8d64d26f643e800c56f90c01079d7c534e3b2b7ae352cefd3016da55f6a85eb803b85e2304915fd2001f77c74e28746293c46e4f5f0fd49cf988aafd0026b8e7a3bab2da5cdce1ea26c2e29ec03f4807fac432662b2d6c060be1c7be0e5489de69d0a6e03a4b9117f9244b34a0f1ecba89884f781c6320412413a00c4980287409a2a78c2cd7e65cecebbe4ec1c28cac4dd95f6998e78fc6f1392384331c9436aa10e10e2bf8ad2c4eafbcf276aa7bae64b74428911b3269c749338b0fc5075ad",
"5f9c70ec884926a89461056ad20ac4c30155e817f807e4d3f5bb743d789c83386762435c3627773fa77da5144451f2a8aad8adba88e0b669f5377c5e9bad70e45c86fe952b613f015a9953b8a5de5eaee4566acf98d41e327d93a35bd5cef4607d025e58951167957df4ff9b1627649d3943805472e5e293d3efb687cfd1e503faafeb2840a3e3b3f85d016051a58e1c9498aab72e63b748d834b31eb05d85dcde65e27834e266b85c75cc4ec0135135e0601cb93eeeb6e0010c8ceb65c4c319623c5e573a2c8c9fbbf7df68a930beb412d3f4dfd146175484f45d7afaa0d2e60684af9b34730f7c8438465ad3e1d0c3237336722f2aa51095bd5759f4b8ab4dda111b684aa3dac62a761722e7ae43495b7709933512c81c4e3c9133a51f7ce9f2b51fcec064f65779666960b4e45df3900f54311f5613e8012dd1b8efd359eda31a778264c72aa8bb419d862734d769076bce2810011989a45374e5c5d8729fec21427f0bf397eacbb4220f603cf463a4b0c94efd858ffd9768cd60d6ce68d755e0fbad007ce5c2223d70c7018345a102e4ab3c60a13a9e7794303156d4c2063e919f2153c13961fb324c80b240742f47773a7a8e25b3e3fb19b00ce839346c6eb3c732fbc6b888df0b1fe0a3d07b053a2e9402c267b2d62f794d8a2840526e3ade15ce2264496ccd7519571dfde47f7a4bb16292241c20b2be59f3f8fb4f6383f232d838c5a22d8c95b6834d9d2ca493f5a505ebe8899503b0e8f9b19e6e2dd81c1628b80016d02097e0134de51054c4e7674824d4d758760fc52377d2cad145e259aa2ffaf54139e1a66b1e0c1c191e32ac59474c6b526f5b3ba07d3e5ec286eddf531fcd5292869be58c9f22ef91026159f7cf9d05ef66b4299f4da48cc1635bf2243051d342d378a22c83390553e873713c0454ce5f3234397111ac3fe3207b86f0ed9fc025c81903e1748103692074f83824fda6341be4f95ff00b0a9a208c267e12fa01825054cc0513629bf3dbb56dc5b90d4316f87654a8be18227978ea0a8a522760cad620d0d14fd38920fb7321314062914275a5f99f677145a6979b156bd82ecd36f23f8e1273cc2759ecc0b2c69d94dad5211d1bed939dd87ed9e07b91d49713a6e16ade0a98aea789f04994e318e4ff2c8a188cd8d43aeb52c6daa3bc29b4af50ea82a247c5cd67b573b34cbadcc0a376d3bbd530d50367b42705d870f2e27a8197ef46070528bfe408360faa2ebb8bf76e9f388572842bcb119f4d84ee34ae31f5cc594f23705a49197b181fb78ed1ec99499c690f843a4d0cf2e226d118e9372271054fbabdcc5c92ae9fefaef0589cd0e722eaf30c1703ec4289c7fd81beaa8a455ccee5298e31e2080c10c366a6fcf56f7d13582ad0bcad037c612b710fc595b70fbefaaca23623b60c6c39b11beb8e5843b6b3dac60f",
@@ -343,9 +284,10 @@ fn modexp_nagydani_5_qube(b: &mut Criterion) {
);
}
fn modexp_nagydani_5_pow0x10001(b: &mut Criterion) {
#[bench]
fn modexp_nagydani_5_pow0x10001(b: &mut Bencher) {
bench(
"modexp_nagydani_5_pow0x10001",
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000400c5a1611f8be90071a43db23cc2fe01871cc4c0e8ab5743f6378e4fef77f7f6db0095c0727e20225beb665645403453e325ad5f9aeb9ba99bf3c148f63f9c07cf4fe8847ad5242d6b7d4499f93bd47056ddab8f7dee878fc2314f344dbee2a7c41a5d3db91eff372c730c2fdd3a141a4b61999e36d549b9870cf2f4e632c4d5df5f024f81c028000073a0ed8847cfb0593d36a47142f578f05ccbe28c0c06aeb1b1da027794c48db880278f79ba78ae64eedfea3c07d10e0562668d839749dc95f40467d15cf65b9cfc52c7c4bcef1cda3596dd52631aac942f146c7cebd46065131699ce8385b0db1874336747ee020a5698a3d1a1082665721e769567f579830f9d259cec1a836845109c21cf6b25da572512bf3c42fd4b96e43895589042ab60dd41f497db96aec102087fe784165bb45f942859268fd2ff6c012d9d00c02ba83eace047cc5f7b2c392c2955c58a49f0338d6fc58749c9db2155522ac17914ec216ad87f12e0ee95574613942fa615898c4d9e8a3be68cd6afa4e7a003dedbdf8edfee31162b174f965b20ae752ad89c967b3068b6f722c16b354456ba8e280f987c08e0a52d40a2e8f3a59b94d590aeef01879eb7a90b3ee7d772c839c85519cbeaddc0c193ec4874a463b53fcaea3271d80ebfb39b33489365fc039ae549a17a9ff898eea2f4cb27b8dbee4c17b998438575b2b8d107e4a0d66ba7fca85b41a58a8d51f191a35c856dfbe8aef2b00048a694bbccff832d23c8ca7a7ff0b6c0b3011d00b97c86c0628444d267c951d9e4fb8f83e154b8f74fb51aa16535e498235c5597dac9606ed0be3173a3836baa4e7d756ffe1e2879b415d3846bccd538c05b847785699aefde3e305decb600cd8fb0e7d8de5efc26971a6ad4e6d7a2d91474f1023a0ac4b78dc937da0ce607a45974d2cac1c33a2631ff7fe6144a3b2e5cf98b531a9627dea92c1dc82204d09db0439b6a11dd64b484e1263aa45fd9539b6020b55e3baece3986a8bffc1003406348f5c61265099ed43a766ee4f93f5f9c5abbc32a0fd3ac2b35b87f9ec26037d88275bd7dd0a54474995ee34ed3727f3f97c48db544b1980193a4b76a8a3ddab3591ce527f16d91882e67f0103b5cda53f7da54d489fc4ac08b6ab358a5a04aa9daa16219d50bd672a7cb804ed769d218807544e5993f1c27427104b349906a0b654df0bf69328afd3013fbe430155339c39f236df5557bf92f1ded7ff609a8502f49064ec3d1dbfb6c15d3a4c11a4f8acd12278cbf68acd5709463d12e3338a6eddb8c112f199645e23154a8e60879d2a654e3ed9296aa28f134168619691cd2c6b9e2eba4438381676173fc63c2588a3c5910dc149cf3760f0aa9fa9c3f5faa9162b0bf1aac9dd32b706a60ef53cbdb394b6b40222b5bc80eea82ba8958386672564cae3794f977871ab62337cf010001e30049201ec12937e7ce79d0f55d9c810e20acf52212aca1d3888949e0e4830aad88d804161230eb89d4d329cc83570fe257217d2119134048dd2ed167646975fc7d77136919a049ea74cf08ddd2b896890bb24a0ba18094a22baa351bf29ad96c66bbb1a598f2ca391749620e62d61c3561a7d3653ccc8892c7b99baaf76bf836e2991cb06d6bc0514568ff0d1ec8bb4b3d6984f5eaefb17d3ea2893722375d3ddb8e389a8eef7d7d198f8e687d6a513983df906099f9a2d23f4f9dec6f8ef2f11fc0a21fac45353b94e00486f5e17d386af42502d09db33cf0cf28310e049c07e88682aeeb00cb833c5174266e62407a57583f1f88b304b7c6e0c84bbe1c0fd423072d37a5bd0aacf764229e5c7cd02473460ba3645cd8e8ae144065bf02d0dd238593d8e230354f67e0b2f23012c23274f80e3ee31e35e2606a4a3f31d94ab755e6d163cff52cbb36b6d0cc67ffc512aeed1dce4d7a0d70ce82f2baba12e8d514dc92a056f994adfb17b5b9712bd5186f27a2fda1f7039c5df2c8587fdc62f5627580c13234b55be4df3056050e2d1ef3218f0dd66cb05265fe1acfb0989d8213f2c19d1735a7cf3fa65d88dad5af52dc2bba22b7abf46c3bc77b5091baab9e8f0ddc4d5e581037de91a9f8dcbc69309be29cc815cf19a20a7585b8b3073edf51fc9baeb3e509b97fa4ecfd621e0fd57bd61cac1b895c03248ff12bdbc57509250df3517e8a3fe1d776836b34ab352b973d932ef708b14f7418f9eceb1d87667e61e3e758649cb083f01b133d37ab2f5afa96d6c84bcacf4efc3851ad308c1e7d9113624fce29fab460ab9d2a48d92cdb281103a5250ad44cb2ff6e67ac670c02fdafb3e0f1353953d6d7d5646ca1568dea55275a050ec501b7c6250444f7219f1ba7521ba3b93d089727ca5f3bbe0d6c1300b423377004954c5628fdb65770b18ced5c9b23a4a5a6d6ef25fe01b4ce278de0bcc4ed86e28a0a68818ffa40970128cf2c38740e80037984428c1bd5113f40ff47512ee6f4e4d8f9b8e8e1b3040d2928d003bd1c1329dc885302fbce9fa81c23b4dc49c7c82d29b52957847898676c89aa5d32b5b0e1c0d5a2b79a19d67562f407f19425687971a957375879d90c5f57c857136c17106c9ab1b99d80e69c8c954ed386493368884b55c939b8d64d26f643e800c56f90c01079d7c534e3b2b7ae352cefd3016da55f6a85eb803b85e2304915fd2001f77c74e28746293c46e4f5f0fd49cf988aafd0026b8e7a3bab2da5cdce1ea26c2e29ec03f4807fac432662b2d6c060be1c7be0e5489de69d0a6e03a4b9117f9244b34a0f1ecba89884f781c6320412413a00c4980287409a2a78c2cd7e65cecebbe4ec1c28cac4dd95f6998e78fc6f1392384331c9436aa10e10e2bf8ad2c4eafbcf276aa7bae64b74428911b3269c749338b0fc5075ad",
"5a0eb2bdf0ac1cae8e586689fa16cd4b07dfdedaec8a110ea1fdb059dd5253231b6132987598dfc6e11f86780428982d50cf68f67ae452622c3b336b537ef3298ca645e8f89ee39a26758206a5a3f6409afc709582f95274b57b71fae5c6b74619ae6f089a5393c5b79235d9caf699d23d88fb873f78379690ad8405e34c19f5257d596580c7a6a7206a3712825afe630c76b31cdb4a23e7f0632e10f14f4e282c81a66451a26f8df2a352b5b9f607a7198449d1b926e27036810368e691a74b91c61afa73d9d3b99453e7c8b50fd4f09c039a2f2feb5c419206694c31b92df1d9586140cb3417b38d0c503c7b508cc2ed12e813a1c795e9829eb39ee78eeaf360a169b491a1d4e419574e712402de9d48d54c1ae5e03739b7156615e8267e1fb0a897f067afd11fb33f6e24182d7aaaaa18fe5bc1982f20d6b871e5a398f0f6f718181d31ec225cfa9a0a70124ed9a70031bdf0c1c7829f708b6e17d50419ef361cf77d99c85f44607186c8d683106b8bd38a49b5d0fb503b397a83388c5678dcfcc737499d84512690701ed621a6f0172aecf037184ddf0f2453e4053024018e5ab2e30d6d5363b56e8b41509317c99042f517247474ab3abc848e00a07f69c254f46f2a05cf6ed84e5cc906a518fdcfdf2c61ce731f24c5264f1a25fc04934dc28aec112134dd523f70115074ca34e3807aa4cb925147f3a0ce152d323bd8c675ace446d0fd1ae30c4b57f0eb2c23884bc18f0964c0114796c5b6d080c3d89175665fbf63a6381a6a9da39ad070b645c8bb1779506da14439a9f5b5d481954764ea114fac688930bc68534d403cff4210673b6a6ff7ae416b7cd41404c3d3f282fcd193b86d0f54d0006c2a503b40d5c3930da980565b8f9630e9493a79d1c03e74e5f93ac8e4dc1a901ec5e3b3e57049124c7b72ea345aa359e782285d9e6a5c144a378111dd02c40855ff9c2be9b48425cb0b2fd62dc8678fd151121cf26a65e917d65d8e0dacfae108eb5508b601fb8ffa370be1f9a8b749a2d12eeab81f41079de87e2d777994fa4d28188c579ad327f9957fb7bdecec5c680844dd43cb57cf87aeb763c003e65011f73f8c63442df39a92b946a6bd968a1c1e4d5fa7d88476a68bd8e20e5b70a99259c7d3f85fb1b65cd2e93972e6264e74ebf289b8b6979b9b68a85cd5b360c1987f87235c3c845d62489e33acf85d53fa3561fe3a3aee18924588d9c6eba4edb7a4d106b31173e42929f6f0c48c80ce6a72d54eca7c0fe870068b7a7c89c63cdda593f5b32d3cb4ea8a32c39f00ab449155757172d66763ed9527019d6de6c9f2416aa6203f4d11c9ebee1e1d3845099e55504446448027212616167eb36035726daa7698b075286f5379cd3e93cb3e0cf4f9cb8d017facbb5550ed32d5ec5400ae57e47e2bf78d1eaeff9480cc765ceff39db500",
@@ -353,9 +295,9 @@ fn modexp_nagydani_5_pow0x10001(b: &mut Criterion) {
);
}
fn alt_bn128_add_chfast1(b: &mut Criterion) {
#[bench]
fn alt_bn128_add_chfast1(b: &mut Bencher) {
bench(
"alt_bn128_add_chfast1",
"0000000000000000000000000000000000000006", // alt_bn128_add
"18b18acfb4c2c30276db5411368e7185b311dd124691610c5d3b74034e093dc9063c909c4720840cb5134cb9f59fa749755796819658d32efc0d288198f3726607c2b7f58a84bd6145f00c9c2bc0bb1a187f20ff2c92963a88019e7c6a014eed06614e20c147e940f2d70da3f74c9a17df361706a4485c742bd6788478fa17d7",
"2243525c5efd4b9c3d3c45ac0ca3fe4dd85e830a4ce6b65fa1eeaee202839703301d1d33be6da8e509df21cc35964723180eed7532537db9ae5e7d48f195c915",
@@ -363,9 +305,9 @@ fn alt_bn128_add_chfast1(b: &mut Criterion) {
);
}
fn alt_bn128_add_chfast2(b: &mut Criterion) {
#[bench]
fn alt_bn128_add_chfast2(b: &mut Bencher) {
bench(
"alt_bn128_add_chfast2",
"0000000000000000000000000000000000000006", // alt_bn128_add
"2243525c5efd4b9c3d3c45ac0ca3fe4dd85e830a4ce6b65fa1eeaee202839703301d1d33be6da8e509df21cc35964723180eed7532537db9ae5e7d48f195c91518b18acfb4c2c30276db5411368e7185b311dd124691610c5d3b74034e093dc9063c909c4720840cb5134cb9f59fa749755796819658d32efc0d288198f37266",
"2bd3e6d0f3b142924f5ca7b49ce5b9d54c4703d7ae5648e61d02268b1a0a9fb721611ce0a6af85915e2f1d70300909ce2e49dfad4a4619c8390cae66cefdb204",
@@ -373,9 +315,9 @@ fn alt_bn128_add_chfast2(b: &mut Criterion) {
);
}
fn alt_bn128_add_cdetrio1(b: &mut Criterion) {
#[bench]
fn alt_bn128_add_cdetrio1(b: &mut Bencher) {
bench(
"alt_bn128_add_cdetrio1",
"0000000000000000000000000000000000000006", // alt_bn128_add
"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
@@ -383,9 +325,9 @@ fn alt_bn128_add_cdetrio1(b: &mut Criterion) {
);
}
fn alt_bn128_add_cdetrio2(b: &mut Criterion) {
#[bench]
fn alt_bn128_add_cdetrio2(b: &mut Bencher) {
bench(
"alt_bn128_add_cdetrio2",
"0000000000000000000000000000000000000006", // alt_bn128_add
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
@@ -393,9 +335,9 @@ fn alt_bn128_add_cdetrio2(b: &mut Criterion) {
);
}
fn alt_bn128_add_cdetrio3(b: &mut Criterion) {
#[bench]
fn alt_bn128_add_cdetrio3(b: &mut Bencher) {
bench(
"alt_bn128_add_cdetrio3",
"0000000000000000000000000000000000000006", // alt_bn128_add
"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
@@ -403,9 +345,9 @@ fn alt_bn128_add_cdetrio3(b: &mut Criterion) {
);
}
fn alt_bn128_add_cdetrio4(b: &mut Criterion) {
#[bench]
fn alt_bn128_add_cdetrio4(b: &mut Bencher) {
bench(
"alt_bn128_add_cdetrio4",
"0000000000000000000000000000000000000006", // alt_bn128_add
"",
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
@@ -413,9 +355,9 @@ fn alt_bn128_add_cdetrio4(b: &mut Criterion) {
);
}
fn alt_bn128_add_cdetrio5(b: &mut Criterion) {
#[bench]
fn alt_bn128_add_cdetrio5(b: &mut Bencher) {
bench(
"alt_bn128_add_cdetrio5",
"0000000000000000000000000000000000000006", // alt_bn128_add
"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
@@ -423,9 +365,9 @@ fn alt_bn128_add_cdetrio5(b: &mut Criterion) {
);
}
fn alt_bn128_add_cdetrio6(b: &mut Criterion) {
#[bench]
fn alt_bn128_add_cdetrio6(b: &mut Bencher) {
bench(
"alt_bn128_add_cdetrio6",
"0000000000000000000000000000000000000006", // alt_bn128_add
"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
@@ -433,9 +375,9 @@ fn alt_bn128_add_cdetrio6(b: &mut Criterion) {
);
}
fn alt_bn128_add_cdetrio7(b: &mut Criterion) {
#[bench]
fn alt_bn128_add_cdetrio7(b: &mut Bencher) {
bench(
"alt_bn128_add_cdetrio7",
"0000000000000000000000000000000000000006", // alt_bn128_add
"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
@@ -443,9 +385,9 @@ fn alt_bn128_add_cdetrio7(b: &mut Criterion) {
);
}
fn alt_bn128_add_cdetrio8(b: &mut Criterion) {
#[bench]
fn alt_bn128_add_cdetrio8(b: &mut Bencher) {
bench(
"alt_bn128_add_cdetrio8",
"0000000000000000000000000000000000000006", // alt_bn128_add
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
@@ -453,9 +395,9 @@ fn alt_bn128_add_cdetrio8(b: &mut Criterion) {
);
}
fn alt_bn128_add_cdetrio9(b: &mut Criterion) {
#[bench]
fn alt_bn128_add_cdetrio9(b: &mut Bencher) {
bench(
"alt_bn128_add_cdetrio9",
"0000000000000000000000000000000000000006", // alt_bn128_add
"0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
@@ -463,9 +405,9 @@ fn alt_bn128_add_cdetrio9(b: &mut Criterion) {
);
}
fn alt_bn128_add_cdetrio10(b: &mut Criterion) {
#[bench]
fn alt_bn128_add_cdetrio10(b: &mut Bencher) {
bench(
"alt_bn128_add_cdetrio10",
"0000000000000000000000000000000000000006", // alt_bn128_add
"000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
@@ -473,9 +415,9 @@ fn alt_bn128_add_cdetrio10(b: &mut Criterion) {
);
}
fn alt_bn128_add_cdetrio11(b: &mut Criterion) {
#[bench]
fn alt_bn128_add_cdetrio11(b: &mut Bencher) {
bench(
"alt_bn128_add_cdetrio11",
"0000000000000000000000000000000000000006", // alt_bn128_add
"0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
"030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd315ed738c0e0a7c92e7845f96b2ae9c0a68a6a449e3538fc7ff3ebf7a5a18a2c4",
@@ -483,9 +425,9 @@ fn alt_bn128_add_cdetrio11(b: &mut Criterion) {
);
}
fn alt_bn128_add_cdetrio12(b: &mut Criterion) {
#[bench]
fn alt_bn128_add_cdetrio12(b: &mut Bencher) {
bench(
"alt_bn128_add_cdetrio12",
"0000000000000000000000000000000000000006", // alt_bn128_add
"000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd315ed738c0e0a7c92e7845f96b2ae9c0a68a6a449e3538fc7ff3ebf7a5a18a2c4",
@@ -493,9 +435,9 @@ fn alt_bn128_add_cdetrio12(b: &mut Criterion) {
);
}
fn alt_bn128_add_cdetrio13(b: &mut Criterion) {
#[bench]
fn alt_bn128_add_cdetrio13(b: &mut Bencher) {
bench(
"alt_bn128_add_cdetrio13",
"0000000000000000000000000000000000000006", // alt_bn128_add
"17c139df0efee0f766bc0204762b774362e4ded88953a39ce849a8a7fa163fa901e0559bacb160664764a357af8a9fe70baa9258e0b959273ffc5718c6d4cc7c039730ea8dff1254c0fee9c0ea777d29a9c710b7e616683f194f18c43b43b869073a5ffcc6fc7a28c30723d6e58ce577356982d65b833a5a5c15bf9024b43d98",
"15bf2bb17880144b5d1cd2b1f46eff9d617bffd1ca57c37fb5a49bd84e53cf66049c797f9ce0d17083deb32b5e36f2ea2a212ee036598dd7624c168993d1355f",
@@ -503,9 +445,9 @@ fn alt_bn128_add_cdetrio13(b: &mut Criterion) {
);
}
fn alt_bn128_add_cdetrio14(b: &mut Criterion) {
#[bench]
fn alt_bn128_add_cdetrio14(b: &mut Bencher) {
bench(
"alt_bn128_add_cdetrio14",
"0000000000000000000000000000000000000006", // alt_bn128_add
"17c139df0efee0f766bc0204762b774362e4ded88953a39ce849a8a7fa163fa901e0559bacb160664764a357af8a9fe70baa9258e0b959273ffc5718c6d4cc7c17c139df0efee0f766bc0204762b774362e4ded88953a39ce849a8a7fa163fa92e83f8d734803fc370eba25ed1f6b8768bd6d83887b87165fc2434fe11a830cb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
@@ -513,9 +455,9 @@ fn alt_bn128_add_cdetrio14(b: &mut Criterion) {
);
}
fn alt_bn128_mul_chfast1(b: &mut Criterion) {
#[bench]
fn alt_bn128_mul_chfast1(b: &mut Bencher) {
bench(
"alt_bn128_mul_chfast1",
"0000000000000000000000000000000000000007", // alt_bn128_mul
"2bd3e6d0f3b142924f5ca7b49ce5b9d54c4703d7ae5648e61d02268b1a0a9fb721611ce0a6af85915e2f1d70300909ce2e49dfad4a4619c8390cae66cefdb20400000000000000000000000000000000000000000000000011138ce750fa15c2",
"070a8d6a982153cae4be29d434e8faef8a47b274a053f5a4ee2a6c9c13c31e5c031b8ce914eba3a9ffb989f9cdd5b0f01943074bf4f0f315690ec3cec6981afc",
@@ -523,9 +465,9 @@ fn alt_bn128_mul_chfast1(b: &mut Criterion) {
);
}
fn alt_bn128_mul_chfast2(b: &mut Criterion) {
#[bench]
fn alt_bn128_mul_chfast2(b: &mut Bencher) {
bench(
"alt_bn128_mul_chfast2",
"0000000000000000000000000000000000000007", // alt_bn128_mul
"070a8d6a982153cae4be29d434e8faef8a47b274a053f5a4ee2a6c9c13c31e5c031b8ce914eba3a9ffb989f9cdd5b0f01943074bf4f0f315690ec3cec6981afc30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd46",
"025a6f4181d2b4ea8b724290ffb40156eb0adb514c688556eb79cdea0752c2bb2eff3f31dea215f1eb86023a133a996eb6300b44da664d64251d05381bb8a02e",
@@ -533,9 +475,9 @@ fn alt_bn128_mul_chfast2(b: &mut Criterion) {
);
}
fn alt_bn128_mul_chfast3(b: &mut Criterion) {
#[bench]
fn alt_bn128_mul_chfast3(b: &mut Bencher) {
bench(
"alt_bn128_mul_chfast3",
"0000000000000000000000000000000000000007", // alt_bn128_mul
"025a6f4181d2b4ea8b724290ffb40156eb0adb514c688556eb79cdea0752c2bb2eff3f31dea215f1eb86023a133a996eb6300b44da664d64251d05381bb8a02e183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea3",
"14789d0d4a730b354403b5fac948113739e276c23e0258d8596ee72f9cd9d3230af18a63153e0ec25ff9f2951dd3fa90ed0197bfef6e2a1a62b5095b9d2b4a27",
@@ -543,9 +485,9 @@ fn alt_bn128_mul_chfast3(b: &mut Criterion) {
);
}
fn alt_bn128_mul_cdetrio1(b: &mut Criterion) {
#[bench]
fn alt_bn128_mul_cdetrio1(b: &mut Bencher) {
bench(
"alt_bn128_mul_cdetrio1",
"0000000000000000000000000000000000000007", // alt_bn128_mul
"1a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"2cde5879ba6f13c0b5aa4ef627f159a3347df9722efce88a9afbb20b763b4c411aa7e43076f6aee272755a7f9b84832e71559ba0d2e0b17d5f9f01755e5b0d11",
@@ -553,9 +495,9 @@ fn alt_bn128_mul_cdetrio1(b: &mut Criterion) {
);
}
fn alt_bn128_mul_cdetrio6(b: &mut Criterion) {
#[bench]
fn alt_bn128_mul_cdetrio6(b: &mut Bencher) {
bench(
"alt_bn128_mul_cdetrio6",
"0000000000000000000000000000000000000007", // alt_bn128_mul
"17c139df0efee0f766bc0204762b774362e4ded88953a39ce849a8a7fa163fa901e0559bacb160664764a357af8a9fe70baa9258e0b959273ffc5718c6d4cc7cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"29e587aadd7c06722aabba753017c093f70ba7eb1f1c0104ec0564e7e3e21f6022b1143f6a41008e7755c71c3d00b6b915d386de21783ef590486d8afa8453b1",
@@ -563,9 +505,9 @@ fn alt_bn128_mul_cdetrio6(b: &mut Criterion) {
);
}
fn alt_bn128_mul_cdetrio11(b: &mut Criterion) {
#[bench]
fn alt_bn128_mul_cdetrio11(b: &mut Bencher) {
bench(
"alt_bn128_mul_cdetrio11",
"0000000000000000000000000000000000000007", // alt_bn128_mul
"039730ea8dff1254c0fee9c0ea777d29a9c710b7e616683f194f18c43b43b869073a5ffcc6fc7a28c30723d6e58ce577356982d65b833a5a5c15bf9024b43d98ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"00a1a234d08efaa2616607e31eca1980128b00b415c845ff25bba3afcb81dc00242077290ed33906aeb8e42fd98c41bcb9057ba03421af3f2d08cfc441186024",
@@ -573,9 +515,9 @@ fn alt_bn128_mul_cdetrio11(b: &mut Criterion) {
);
}
fn alt_bn128_pairing_jeff1(b: &mut Criterion) {
#[bench]
fn alt_bn128_pairing_jeff1(b: &mut Bencher) {
bench(
"alt_bn128_pairing_jeff1",
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"1c76476f4def4bb94541d57ebba1193381ffa7aa76ada664dd31c16024c43f593034dd2920f673e204fee2811c678745fc819b55d3e9d294e45c9b03a76aef41209dd15ebff5d46c4bd888e51a93cf99a7329636c63514396b4a452003a35bf704bf11ca01483bfa8b34b43561848d28905960114c8ac04049af4b6315a416782bb8324af6cfc93537a2ad1a445cfd0ca2a71acd7ac41fadbf933c2a51be344d120a2a4cf30c1bf9845f20c6fe39e07ea2cce61f0c9bb048165fe5e4de877550111e129f1cf1097710d41c4ac70fcdfa5ba2023c6ff1cbeac322de49d1b6df7c2032c61a830e3c17286de9462bf242fca2883585b93870a73853face6a6bf411198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa",
"0000000000000000000000000000000000000000000000000000000000000001",
@@ -583,9 +525,9 @@ fn alt_bn128_pairing_jeff1(b: &mut Criterion) {
);
}
fn alt_bn128_pairing_jeff2(b: &mut Criterion) {
#[bench]
fn alt_bn128_pairing_jeff2(b: &mut Bencher) {
bench(
"alt_bn128_pairing_jeff2",
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"2eca0c7238bf16e83e7a1e6c5d49540685ff51380f309842a98561558019fc0203d3260361bb8451de5ff5ecd17f010ff22f5c31cdf184e9020b06fa5997db841213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f06967a1237ebfeca9aaae0d6d0bab8e28c198c5a339ef8a2407e31cdac516db922160fa257a5fd5b280642ff47b65eca77e626cb685c84fa6d3b6882a283ddd1198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa",
"0000000000000000000000000000000000000000000000000000000000000001",
@@ -593,9 +535,9 @@ fn alt_bn128_pairing_jeff2(b: &mut Criterion) {
);
}
fn alt_bn128_pairing_jeff3(b: &mut Criterion) {
#[bench]
fn alt_bn128_pairing_jeff3(b: &mut Bencher) {
bench(
"alt_bn128_pairing_jeff3",
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba2e89718ad33c8bed92e210e81d1853435399a271913a6520736a4729cf0d51eb01a9e2ffa2e92599b68e44de5bcf354fa2642bd4f26b259daa6f7ce3ed57aeb314a9a87b789a58af499b314e13c3d65bede56c07ea2d418d6874857b70763713178fb49a2d6cd347dc58973ff49613a20757d0fcc22079f9abd10c3baee245901b9e027bd5cfc2cb5db82d4dc9677ac795ec500ecd47deee3b5da006d6d049b811d7511c78158de484232fc68daf8a45cf217d1c2fae693ff5871e8752d73b21198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa",
"0000000000000000000000000000000000000000000000000000000000000001",
@@ -603,9 +545,9 @@ fn alt_bn128_pairing_jeff3(b: &mut Criterion) {
);
}
fn alt_bn128_pairing_jeff4(b: &mut Criterion) {
#[bench]
fn alt_bn128_pairing_jeff4(b: &mut Bencher) {
bench(
"alt_bn128_pairing_jeff4",
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"2f2ea0b3da1e8ef11914acf8b2e1b32d99df51f5f4f206fc6b947eae860eddb6068134ddb33dc888ef446b648d72338684d678d2eb2371c61a50734d78da4b7225f83c8b6ab9de74e7da488ef02645c5a16a6652c3c71a15dc37fe3a5dcb7cb122acdedd6308e3bb230d226d16a105295f523a8a02bfc5e8bd2da135ac4c245d065bbad92e7c4e31bf3757f1fe7362a63fbfee50e7dc68da116e67d600d9bf6806d302580dc0661002994e7cd3a7f224e7ddc27802777486bf80f40e4ca3cfdb186bac5188a98c45e6016873d107f5cd131f3a3e339d0375e58bd6219347b008122ae2b09e539e152ec5364e7e2204b03d11d3caa038bfc7cd499f8176aacbee1f39e4e4afc4bc74790a4a028aff2c3d2538731fb755edefd8cb48d6ea589b5e283f150794b6736f670d6a1033f9b46c6f5204f50813eb85c8dc4b59db1c5d39140d97ee4d2b36d99bc49974d18ecca3e7ad51011956051b464d9e27d46cc25e0764bb98575bd466d32db7b15f582b2d5c452b36aa394b789366e5e3ca5aabd415794ab061441e51d01e94640b7e3084a07e02c78cf3103c542bc5b298669f211b88da1679b0b64a63b7e0e7bfe52aae524f73a55be7fe70c7e9bfc94b4cf0da1213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f",
"0000000000000000000000000000000000000000000000000000000000000001",
@@ -613,9 +555,9 @@ fn alt_bn128_pairing_jeff4(b: &mut Criterion) {
);
}
fn alt_bn128_pairing_jeff5(b: &mut Criterion) {
#[bench]
fn alt_bn128_pairing_jeff5(b: &mut Bencher) {
bench(
"alt_bn128_pairing_jeff5",
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"20a754d2071d4d53903e3b31a7e98ad6882d58aec240ef981fdf0a9d22c5926a29c853fcea789887315916bbeb89ca37edb355b4f980c9a12a94f30deeed30211213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f1abb4a25eb9379ae96c84fff9f0540abcfc0a0d11aeda02d4f37e4baf74cb0c11073b3ff2cdbb38755f8691ea59e9606696b3ff278acfc098fa8226470d03869217cee0a9ad79a4493b5253e2e4e3a39fc2df38419f230d341f60cb064a0ac290a3d76f140db8418ba512272381446eb73958670f00cf46f1d9e64cba057b53c26f64a8ec70387a13e41430ed3ee4a7db2059cc5fc13c067194bcc0cb49a98552fd72bd9edb657346127da132e5b82ab908f5816c826acb499e22f2412d1a2d70f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd2198a1f162a73261f112401aa2db79c7dab1533c9935c77290a6ce3b191f2318d198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa",
"0000000000000000000000000000000000000000000000000000000000000001",
@@ -623,9 +565,9 @@ fn alt_bn128_pairing_jeff5(b: &mut Criterion) {
);
}
fn alt_bn128_pairing_jeff6(b: &mut Criterion) {
#[bench]
fn alt_bn128_pairing_jeff6(b: &mut Bencher) {
bench(
"alt_bn128_pairing_jeff6",
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"1c76476f4def4bb94541d57ebba1193381ffa7aa76ada664dd31c16024c43f593034dd2920f673e204fee2811c678745fc819b55d3e9d294e45c9b03a76aef41209dd15ebff5d46c4bd888e51a93cf99a7329636c63514396b4a452003a35bf704bf11ca01483bfa8b34b43561848d28905960114c8ac04049af4b6315a416782bb8324af6cfc93537a2ad1a445cfd0ca2a71acd7ac41fadbf933c2a51be344d120a2a4cf30c1bf9845f20c6fe39e07ea2cce61f0c9bb048165fe5e4de877550111e129f1cf1097710d41c4ac70fcdfa5ba2023c6ff1cbeac322de49d1b6df7c103188585e2364128fe25c70558f1560f4f9350baf3959e603cc91486e110936198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa",
"0000000000000000000000000000000000000000000000000000000000000000",
@@ -633,9 +575,9 @@ fn alt_bn128_pairing_jeff6(b: &mut Criterion) {
);
}
fn alt_bn128_pairing_empty_data(b: &mut Criterion) {
#[bench]
fn alt_bn128_pairing_empty_data(b: &mut Bencher) {
bench(
"alt_bn128_pairing_empty_data",
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"",
"0000000000000000000000000000000000000000000000000000000000000001",
@@ -643,9 +585,9 @@ fn alt_bn128_pairing_empty_data(b: &mut Criterion) {
);
}
fn alt_bn128_pairing_one_point(b: &mut Criterion) {
#[bench]
fn alt_bn128_pairing_one_point(b: &mut Bencher) {
bench(
"alt_bn128_pairing_one_point",
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa",
"0000000000000000000000000000000000000000000000000000000000000000",
@@ -653,9 +595,9 @@ fn alt_bn128_pairing_one_point(b: &mut Criterion) {
);
}
fn alt_bn128_pairing_two_point_match_2(b: &mut Criterion) {
#[bench]
fn alt_bn128_pairing_two_point_match_2(b: &mut Bencher) {
bench(
"alt_bn128_pairing_two_point_match_2",
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d",
"0000000000000000000000000000000000000000000000000000000000000001",
@@ -663,9 +605,9 @@ fn alt_bn128_pairing_two_point_match_2(b: &mut Criterion) {
);
}
fn alt_bn128_pairing_two_point_match_3(b: &mut Criterion) {
#[bench]
fn alt_bn128_pairing_two_point_match_3(b: &mut Bencher) {
bench(
"alt_bn128_pairing_two_point_match_3",
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002203e205db4f19b37b60121b83a7333706db86431c6d835849957ed8c3928ad7927dc7234fd11d3e8c36c59277c3e6f149d5cd3cfa9a62aee49f8130962b4b3b9195e8aa5b7827463722b8c153931579d3505566b4edf48d498e185f0509de15204bb53b8977e5f92a0bc372742c4830944a59b4fe6b1c0466e2a6dad122b5d2e030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd31a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa",
"0000000000000000000000000000000000000000000000000000000000000001",
@@ -673,9 +615,9 @@ fn alt_bn128_pairing_two_point_match_3(b: &mut Criterion) {
);
}
fn alt_bn128_pairing_two_point_match_4(b: &mut Criterion) {
#[bench]
fn alt_bn128_pairing_two_point_match_4(b: &mut Bencher) {
bench(
"alt_bn128_pairing_two_point_match_4",
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"105456a333e6d636854f987ea7bb713dfd0ae8371a72aea313ae0c32c0bf10160cf031d41b41557f3e7e3ba0c51bebe5da8e6ecd855ec50fc87efcdeac168bcc0476be093a6d2b4bbf907172049874af11e1b6267606e00804d3ff0037ec57fd3010c68cb50161b7d1d96bb71edfec9880171954e56871abf3d93cc94d745fa114c059d74e5b6c4ec14ae5864ebe23a71781d86c29fb8fb6cce94f70d3de7a2101b33461f39d9e887dbb100f170a2345dde3c07e256d1dfa2b657ba5cd030427000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000021a2c3013d2ea92e13c800cde68ef56a294b883f6ac35d25f587c09b1b3c635f7290158a80cd3d66530f74dc94c94adb88f5cdb481acca997b6e60071f08a115f2f997f3dbd66a7afe07fe7862ce239edba9e05c5afff7f8a1259c9733b2dfbb929d1691530ca701b4a106054688728c9972c8512e9789e9567aae23e302ccd75",
"0000000000000000000000000000000000000000000000000000000000000001",
@@ -683,9 +625,9 @@ fn alt_bn128_pairing_two_point_match_4(b: &mut Criterion) {
);
}
fn alt_bn128_pairing_ten_point_match_1(b: &mut Criterion) {
#[bench]
fn alt_bn128_pairing_ten_point_match_1(b: &mut Bencher) {
bench(
"alt_bn128_pairing_ten_point_match_1",
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d",
"0000000000000000000000000000000000000000000000000000000000000001",
@@ -693,9 +635,9 @@ fn alt_bn128_pairing_ten_point_match_1(b: &mut Criterion) {
);
}
fn alt_bn128_pairing_ten_point_match_2(b: &mut Criterion) {
#[bench]
fn alt_bn128_pairing_ten_point_match_2(b: &mut Bencher) {
bench(
"alt_bn128_pairing_ten_point_match_2",
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002203e205db4f19b37b60121b83a7333706db86431c6d835849957ed8c3928ad7927dc7234fd11d3e8c36c59277c3e6f149d5cd3cfa9a62aee49f8130962b4b3b9195e8aa5b7827463722b8c153931579d3505566b4edf48d498e185f0509de15204bb53b8977e5f92a0bc372742c4830944a59b4fe6b1c0466e2a6dad122b5d2e030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd31a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002203e205db4f19b37b60121b83a7333706db86431c6d835849957ed8c3928ad7927dc7234fd11d3e8c36c59277c3e6f149d5cd3cfa9a62aee49f8130962b4b3b9195e8aa5b7827463722b8c153931579d3505566b4edf48d498e185f0509de15204bb53b8977e5f92a0bc372742c4830944a59b4fe6b1c0466e2a6dad122b5d2e030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd31a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002203e205db4f19b37b60121b83a7333706db86431c6d835849957ed8c3928ad7927dc7234fd11d3e8c36c59277c3e6f149d5cd3cfa9a62aee49f8130962b4b3b9195e8aa5b7827463722b8c153931579d3505566b4edf48d498e185f0509de15204bb53b8977e5f92a0bc372742c4830944a59b4fe6b1c0466e2a6dad122b5d2e030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd31a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002203e205db4f19b37b60121b83a7333706db86431c6d835849957ed8c3928ad7927dc7234fd11d3e8c36c59277c3e6f149d5cd3cfa9a62aee49f8130962b4b3b9195e8aa5b7827463722b8c153931579d3505566b4edf48d498e185f0509de15204bb53b8977e5f92a0bc372742c4830944a59b4fe6b1c0466e2a6dad122b5d2e030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd31a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002203e205db4f19b37b60121b83a7333706db86431c6d835849957ed8c3928ad7927dc7234fd11d3e8c36c59277c3e6f149d5cd3cfa9a62aee49f8130962b4b3b9195e8aa5b7827463722b8c153931579d3505566b4edf48d498e185f0509de15204bb53b8977e5f92a0bc372742c4830944a59b4fe6b1c0466e2a6dad122b5d2e030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd31a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa",
"0000000000000000000000000000000000000000000000000000000000000001",
@@ -703,9 +645,9 @@ fn alt_bn128_pairing_ten_point_match_2(b: &mut Criterion) {
);
}
fn alt_bn128_pairing_ten_point_match_3(b: &mut Criterion) {
#[bench]
fn alt_bn128_pairing_ten_point_match_3(b: &mut Bencher) {
bench(
"alt_bn128_pairing_ten_point_match_3",
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"105456a333e6d636854f987ea7bb713dfd0ae8371a72aea313ae0c32c0bf10160cf031d41b41557f3e7e3ba0c51bebe5da8e6ecd855ec50fc87efcdeac168bcc0476be093a6d2b4bbf907172049874af11e1b6267606e00804d3ff0037ec57fd3010c68cb50161b7d1d96bb71edfec9880171954e56871abf3d93cc94d745fa114c059d74e5b6c4ec14ae5864ebe23a71781d86c29fb8fb6cce94f70d3de7a2101b33461f39d9e887dbb100f170a2345dde3c07e256d1dfa2b657ba5cd030427000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000021a2c3013d2ea92e13c800cde68ef56a294b883f6ac35d25f587c09b1b3c635f7290158a80cd3d66530f74dc94c94adb88f5cdb481acca997b6e60071f08a115f2f997f3dbd66a7afe07fe7862ce239edba9e05c5afff7f8a1259c9733b2dfbb929d1691530ca701b4a106054688728c9972c8512e9789e9567aae23e302ccd75",
"0000000000000000000000000000000000000000000000000000000000000001",

View File

@@ -1,20 +0,0 @@
[package]
description = "A crate to interact with the block gas limit contract"
name = "block-gas-limit"
version = "0.1.0"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
license = "GPL-3.0"
[dependencies]
client-traits = { path = "../client-traits" }
common-types = { path = "../types" }
ethabi = "12.0"
ethabi-derive = "12.0"
ethabi-contract = "11.0"
ethereum-types = "0.9.0"
log = "0.4"
[dev-dependencies]
ethcore = { path = "..", features = ["test-helpers"] }
spec = { path = "../spec" }

View File

@@ -1,16 +0,0 @@
[
{
"constant": true,
"inputs": [],
"name": "blockGasLimit",
"outputs": [
{
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
}
]

View File

@@ -1,39 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
//! A client interface for interacting with the block gas limit contract.
use client_traits::BlockChainClient;
use common_types::{header::Header, ids::BlockId};
use ethabi::FunctionOutputDecoder;
use ethabi_contract::use_contract;
use ethereum_types::{Address, U256};
use log::{debug, error};
use_contract!(contract, "res/block_gas_limit.json");
pub fn block_gas_limit(full_client: &dyn BlockChainClient, header: &Header, address: Address) -> Option<U256> {
let (data, decoder) = contract::functions::block_gas_limit::call();
let value = full_client.call_contract(BlockId::Hash(*header.parent_hash()), address, data).map_err(|err| {
error!(target: "block_gas_limit", "Contract call failed. Not changing the block gas limit. {:?}", err);
}).ok()?;
if value.is_empty() {
debug!(target: "block_gas_limit", "Contract call returned nothing. Not changing the block gas limit.");
None
} else {
decoder.decode(&value).ok()
}
}

View File

@@ -1,22 +0,0 @@
[package]
description = "A crate to interact with the block rewards contract."
name = "block-reward"
version = "0.1.0"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
license = "GPL-3.0"
[dependencies]
common-types = { path = "../types" }
engine = { path = "../engine" }
ethabi = "12.0"
ethabi-derive = "12.0"
ethabi-contract = "11.0"
ethereum-types = "0.9.0"
keccak-hash = "0.5.0"
machine = { path = "../machine" }
trace = { path = "../trace" }
[dev-dependencies]
ethcore = { path = "..", features = ["test-helpers"] }
spec = { path = "../spec" }

View File

@@ -1,35 +0,0 @@
[package]
description = "OpenEthereum Blockchain Database, Test Generator, Configuration, Caching, Importing Blocks, and Block Information"
repository = "https://github.com/openethereum/openethereum"
license = "GPL-3.0"
name = "ethcore-blockchain"
version = "0.1.0"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
[dependencies]
ansi_term = "0.11"
blooms-db = { path = "../../util/blooms-db" }
common-types = { path = "../types" }
ethcore-db = { path = "../db" }
ethereum-types = "0.9.0"
keccak-hash = "0.5.0"
parity-util-mem = "0.6.0"
itertools = "0.8.2"
kvdb = "0.5.0"
log = "0.4"
parity-bytes = "0.1"
rand = "0.7.3"
parking_lot = "0.10.0"
rayon = "1.0"
rlp = "0.4.5"
rlp_compress = { path = "../../util/rlp-compress" }
rlp-derive = "0.1"
triehash-ethereum = { version = "0.2", path = "../../util/triehash-ethereum" }
[dev-dependencies]
env_logger = "0.5"
parity-crypto = { version = "0.6.1", features = ["publickey"] }
rustc-hex = "2.1.0"
tempfile = "3.1"
kvdb-memorydb = "0.5.0"

View File

@@ -1,39 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
//! Blockchain database.
#![warn(missing_docs)]
extern crate parity_util_mem as util_mem;
extern crate parity_util_mem as malloc_size_of;
mod best_block;
mod blockchain;
mod cache;
mod config;
mod update;
pub mod generator;
pub use crate::{
blockchain::{BlockProvider, BlockChain, BlockChainDB, BlockChainDBHandler},
cache::CacheSize,
config::Config,
update::ExtrasInsert,
};
pub use ethcore_db::keys::{BlockReceipts, BlockDetails, TransactionAddress, BlockNumberKey};
pub use common_types::tree_route::TreeRoute;

View File

@@ -1,23 +0,0 @@
[package]
description = "ethereum vm builtin"
name = "ethcore-builtin"
version = "0.1.0"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
[dependencies]
bn = { git = "https://github.com/paritytech/bn", default-features = false }
byteorder = "1.3.2"
common-types = { path = "../types" }
eip-152 = { path = "../../util/EIP-152" }
ethereum-types = "0.9.0"
ethjson = { path = "../../json" }
keccak-hash = "0.5.0"
log = "0.4"
num = { version = "0.1", default-features = false, features = ["bigint"] }
parity-bytes = "0.1"
parity-crypto = { version = "0.6.1", features = ["publickey"] }
[dev-dependencies]
hex-literal = "0.2.1"
maplit = "1.0.2"

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +0,0 @@
[package]
description = "OpenEthereum (EthCore) Contract Calls and Blockchain Service & Registry Information"
name = "ethcore-call-contract"
version = "0.1.0"
license = "GPL-3.0"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
[dependencies]
types = { path = "../types", package = "common-types" }
ethereum-types = "0.9.0"
bytes = { version = "0.1", package = "parity-bytes" }

View File

@@ -1,32 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
//! Provides CallContract trait
use bytes::Bytes;
use ethereum_types::Address;
use types::ids::BlockId;
/// Provides `call_contract` method
pub trait CallContract {
/// Like `call`, but with various defaults. Designed to be used for calling contracts.
fn call_contract(
&self,
block_id: BlockId,
address: Address,
data: Bytes
) -> Result<Bytes, String>;
}

View File

@@ -1,27 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
#![warn(missing_docs)]
//! Call Contract module
//!
//! This crate exposes traits required to call contracts at particular block.
//! All utilities that depend on on-chain data should use those traits to access it.
pub mod call_contract;
// Re-export
pub use self::call_contract::*;

View File

@@ -1,22 +0,0 @@
[package]
description = "Trait definitions relative the ethereum client"
name = "client-traits"
version = "0.1.0"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
license = "GPL-3.0"
[dependencies]
account-state = { path = "../account-state" }
blockchain = { package = "ethcore-blockchain", path = "../blockchain" }
bytes = { package = "parity-bytes", version = "0.1.0" }
call-contract = { package = "ethcore-call-contract", path = "../call-contract" }
common-types = { path = "../types" }
ethcore-db = { path = "../db" }
ethcore-miner = { path = "../../miner" }
ethereum-types = "0.9.0"
kvdb = "0.5.0"
registrar = { path = "../../util/registrar" }
stats = { path = "../../util/stats" }
trace = { path = "../trace" }
vm = { path = "../vm" }

View File

@@ -1,578 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
use std::{
collections::BTreeMap,
sync::Arc,
};
use account_state::state::StateInfo;
use blockchain::BlockProvider;
use bytes::Bytes;
use call_contract::CallContract;
use registrar::RegistrarClient;
use common_types::{
basic_account::BasicAccount,
block_status::BlockStatus,
blockchain_info::BlockChainInfo,
BlockNumber,
call_analytics::CallAnalytics,
chain_notify::{NewBlocks, ChainMessageType},
client_types::Mode,
encoded,
engines::{epoch::Transition as EpochTransition, machine::Executed},
errors::{EthcoreError, EthcoreResult},
filter::Filter,
header::Header,
ids::{BlockId, TransactionId, TraceId, UncleId},
log_entry::LocalizedLogEntry,
pruning_info::PruningInfo,
receipt::LocalizedReceipt,
trace_filter::Filter as TraceFilter,
transaction::{self, Action, LocalizedTransaction, CallError, SignedTransaction, UnverifiedTransaction},
tree_route::TreeRoute,
verification::{VerificationQueueInfo, Unverified},
};
use ethereum_types::{Address, H256, U256};
use ethcore_db::keys::BlockReceipts;
use ethcore_miner::pool::VerifiedTransaction;
use kvdb::DBValue;
use stats;
use trace::{
FlatTrace,
localized::LocalizedTrace,
VMTrace,
};
use common_types::{
data_format::DataFormat,
client_types::StateResult
};
use vm::{LastHashes, Schedule};
/// State information to be used during client query
pub enum StateOrBlock {
/// State to be used, may be pending
State(Box<dyn StateInfo>),
/// Id of an existing block from a chain to get state from
Block(BlockId)
}
impl From<Box<dyn StateInfo>> for StateOrBlock {
fn from(info: Box<dyn StateInfo>) -> StateOrBlock {
StateOrBlock::State(info)
}
}
impl From<BlockId> for StateOrBlock {
fn from(id: BlockId) -> StateOrBlock {
StateOrBlock::Block(id)
}
}
/// Provides `nonce` and `latest_nonce` methods
pub trait Nonce {
/// Attempt to get address nonce at given block.
/// May not fail on BlockId::Latest.
fn nonce(&self, address: &Address, id: BlockId) -> Option<U256>;
/// Get address nonce at the latest block's state.
fn latest_nonce(&self, address: &Address) -> U256 {
self.nonce(address, BlockId::Latest)
.expect("nonce will return Some when given BlockId::Latest. nonce was given BlockId::Latest. \
Therefore nonce has returned Some; qed")
}
}
/// Provides `balance` and `latest_balance` methods
pub trait Balance {
/// Get address balance at the given block's state.
///
/// May not return None if given BlockId::Latest.
/// Returns None if and only if the block's root hash has been pruned from the DB.
fn balance(&self, address: &Address, state: StateOrBlock) -> Option<U256>;
/// Get address balance at the latest block's state.
fn latest_balance(&self, address: &Address) -> U256 {
self.balance(address, BlockId::Latest.into())
.expect("balance will return Some if given BlockId::Latest. balance was given BlockId::Latest \
Therefore balance has returned Some; qed")
}
}
/// Provides methods to access account info
pub trait AccountData: Nonce + Balance {}
/// Provides `chain_info` method
pub trait ChainInfo {
/// Get blockchain information.
fn chain_info(&self) -> BlockChainInfo;
}
/// Provides various information on a block by it's ID
pub trait BlockInfo: Send + Sync {
/// Get raw block header data by block id.
fn block_header(&self, id: BlockId) -> Option<encoded::Header>;
/// Get the best block header.
fn best_block_header(&self) -> Header;
/// Get raw block data by block header hash.
fn block(&self, id: BlockId) -> Option<encoded::Block>;
/// Get address code hash at given block's state.
fn code_hash(&self, address: &Address, id: BlockId) -> Option<H256>;
}
/// Provides various information on a transaction by it's ID
pub trait TransactionInfo {
/// Get the hash of block that contains the transaction, if any.
fn transaction_block(&self, id: TransactionId) -> Option<H256>;
}
/// Provides various blockchain information, like block header, chain state etc.
pub trait BlockChain: ChainInfo + BlockInfo + TransactionInfo {}
/// Do we want to force update sealing?
#[derive(Debug, Copy, Clone, PartialEq)]
pub enum ForceUpdateSealing {
/// Ideally you want to use `No` at all times as `Yes` skips `reseal_required` checks.
Yes,
/// Don't skip `reseal_required` checks
No
}
/// Client facilities used by internally sealing Engines.
pub trait EngineClient: Sync + Send + ChainInfo {
/// Make a new block and seal it.
fn update_sealing(&self, force: ForceUpdateSealing);
/// Submit a seal for a block in the mining queue.
fn submit_seal(&self, block_hash: H256, seal: Vec<Bytes>);
/// Broadcast a consensus message to the network.
fn broadcast_consensus_message(&self, message: Bytes);
/// Get the transition to the epoch the given parent hash is part of
/// or transitions to.
/// This will give the epoch that any children of this parent belong to.
///
/// The block corresponding the the parent hash must be stored already.
fn epoch_transition_for(&self, parent_hash: H256) -> Option<EpochTransition>;
/// Attempt to cast the engine client to a full client.
fn as_full_client(&self) -> Option<&dyn BlockChainClient>;
/// Get a block number by ID.
fn block_number(&self, id: BlockId) -> Option<BlockNumber>;
/// Get raw block header data by block id.
fn block_header(&self, id: BlockId) -> Option<encoded::Header>;
}
/// Provides methods to import block into blockchain
pub trait ImportBlock {
/// Import a block into the blockchain.
fn import_block(&self, block: Unverified) -> EthcoreResult<H256>;
/// Triggered by a message from a block queue when the block is ready for insertion.
/// Returns the number of blocks imported.
fn import_verified_blocks(&self) -> usize;
}
/// IO operations that should off-load heavy work to another thread.
pub trait IoClient: Sync + Send {
/// Queue transactions for importing.
fn queue_transactions(&self, transactions: Vec<Bytes>, peer_id: usize);
/// Queue block import with transaction receipts. Does no sealing or transaction validation.
fn queue_ancient_block(&self, unverified: Unverified, receipts_bytes: Bytes) -> EthcoreResult<H256>;
/// Queue consensus engine message.
fn queue_consensus_message(&self, message: Bytes);
}
/// Implement this for clients that need logic to decide when/how to advance.
pub trait Tick {
/// Tick the client
fn tick(&self, _prevent_sleep: bool) {}
}
impl Tick for () {}
/// Provides recently seen bad blocks.
pub trait BadBlocks {
/// Returns a list of blocks that were recently not imported because they were invalid.
fn bad_blocks(&self) -> Vec<(Unverified, String)>;
}
/// Blockchain database client. Owns and manages a blockchain and a block queue.
pub trait BlockChainClient:
Sync + Send + AccountData + BlockChain + CallContract + RegistrarClient
+ ImportBlock + IoClient + BadBlocks
{
/// Look up the block number for the given block ID.
fn block_number(&self, id: BlockId) -> Option<BlockNumber>;
/// Get raw block body data by block id.
/// Block body is an RLP list of two items: uncles and transactions.
fn block_body(&self, id: BlockId) -> Option<encoded::Body>;
/// Get block status by block header hash.
fn block_status(&self, id: BlockId) -> BlockStatus;
/// Get block total difficulty.
fn block_total_difficulty(&self, id: BlockId) -> Option<U256>;
/// Attempt to get address storage root at given block.
/// May not fail on BlockId::Latest.
fn storage_root(&self, address: &Address, id: BlockId) -> Option<H256>;
/// Get block hash.
fn block_hash(&self, id: BlockId) -> Option<H256>;
/// Get address code at given block's state.
fn code(&self, address: &Address, state: StateOrBlock) -> StateResult<Option<Bytes>>;
/// Get address code at the latest block's state.
fn latest_code(&self, address: &Address) -> Option<Bytes> {
match self.code(address, BlockId::Latest.into()) {
StateResult::Missing => panic!("code will return Some if given BlockId::Latest; qed"),
StateResult::Some(t) => t,
}
}
/// Get a reference to the `BlockProvider`.
fn chain(&self) -> Arc<dyn BlockProvider>;
/// Get block queue information.
fn queue_info(&self) -> VerificationQueueInfo;
/// Get address code hash at given block's state.
/// Get value of the storage at given position at the given block's state.
///
/// May not return None if given BlockId::Latest.
/// Returns None if and only if the block's root hash has been pruned from the DB.
fn storage_at(&self, address: &Address, position: &H256, state: StateOrBlock) -> Option<H256>;
/// Get value of the storage at given position at the latest block's state.
fn latest_storage_at(&self, address: &Address, position: &H256) -> H256 {
self.storage_at(address, position, BlockId::Latest.into())
.expect("storage_at will return Some if given BlockId::Latest. storage_at was given BlockId::Latest. \
Therefore storage_at has returned Some; qed")
}
/// Get a list of all accounts in the block `id`, if fat DB is in operation, otherwise `None`.
/// If `after` is set the list starts with the following item.
fn list_accounts(&self, id: BlockId, after: Option<&Address>, count: u64) -> Option<Vec<Address>>;
/// Get a list of all storage keys in the block `id`, if fat DB is in operation, otherwise `None`.
/// If `after` is set the list starts with the following item.
fn list_storage(&self, id: BlockId, account: &Address, after: Option<&H256>, count: Option<u64>) -> Option<Vec<H256>>;
/// Get transaction with given hash.
fn transaction(&self, id: TransactionId) -> Option<LocalizedTransaction>;
/// Get uncle with given id.
fn uncle(&self, id: UncleId) -> Option<encoded::Header>;
/// Get transaction receipt with given hash.
fn transaction_receipt(&self, id: TransactionId) -> Option<LocalizedReceipt>;
/// Get localized receipts for all transaction in given block.
fn localized_block_receipts(&self, id: BlockId) -> Option<Vec<LocalizedReceipt>>;
/// Get a tree route between `from` and `to`.
/// See `BlockChain::tree_route`.
fn tree_route(&self, from: &H256, to: &H256) -> Option<TreeRoute>;
/// Get all possible uncle hashes for a block.
fn find_uncles(&self, hash: &H256) -> Option<Vec<H256>>;
/// Get latest state node
fn state_data(&self, hash: &H256) -> Option<Bytes>;
/// Get block receipts data by block header hash.
fn block_receipts(&self, hash: &H256) -> Option<BlockReceipts>;
/// Returns true if block queue is empty.
fn is_queue_empty(&self) -> bool {
self.queue_info().is_empty()
}
/// Clear block queue and abort all import activity.
fn clear_queue(&self);
/// Returns logs matching given filter. If one of the filtering block cannot be found, returns the block id that caused the error.
fn logs(&self, filter: Filter) -> Result<Vec<LocalizedLogEntry>, BlockId>;
/// Replays a given transaction for inspection.
fn replay(&self, t: TransactionId, analytics: CallAnalytics) -> Result<Executed<FlatTrace, VMTrace>, CallError>;
/// Replays all the transactions in a given block for inspection.
fn replay_block_transactions(&self, block: BlockId, analytics: CallAnalytics) -> Result<Box<dyn Iterator<Item = (H256, Executed<FlatTrace, VMTrace>)>>, CallError>;
/// Returns traces matching given filter.
fn filter_traces(&self, filter: TraceFilter) -> Option<Vec<LocalizedTrace>>;
/// Returns trace with given id.
fn trace(&self, trace: TraceId) -> Option<LocalizedTrace>;
/// Returns traces created by transaction.
fn transaction_traces(&self, trace: TransactionId) -> Option<Vec<LocalizedTrace>>;
/// Returns traces created by transaction from block.
fn block_traces(&self, trace: BlockId) -> Option<Vec<LocalizedTrace>>;
/// Get last hashes starting from best block.
fn last_hashes(&self) -> LastHashes;
/// List all ready transactions that should be propagated to other peers.
fn transactions_to_propagate(&self) -> Vec<Arc<VerifiedTransaction>>;
/// Sorted list of transaction gas prices from at least last sample_size blocks.
fn gas_price_corpus(&self, sample_size: usize) -> stats::Corpus<U256> {
let mut h = self.chain_info().best_block_hash;
let mut corpus = Vec::new();
while corpus.is_empty() {
for _ in 0..sample_size {
let block = match self.block(BlockId::Hash(h)) {
Some(block) => block,
None => return corpus.into(),
};
if block.number() == 0 {
return corpus.into();
}
for t in block.transaction_views().iter() {
corpus.push( t.gas_price() )
}
h = block.parent_hash().clone();
}
}
corpus.into()
}
/// Get the preferred chain ID to sign on
fn signing_chain_id(&self) -> Option<u64>;
/// Get the mode.
fn mode(&self) -> Mode;
/// Set the mode.
fn set_mode(&self, mode: Mode);
/// Get the chain spec name.
fn spec_name(&self) -> String;
/// Set the chain via a spec name.
fn set_spec_name(&self, spec_name: String) -> Result<(), ()>;
/// Disable the client from importing blocks. This cannot be undone in this session and indicates
/// that a subsystem has reason to believe this executable incapable of syncing the chain.
fn disable(&self);
/// Returns engine-related extra info for `BlockId`.
fn block_extra_info(&self, id: BlockId) -> Option<BTreeMap<String, String>>;
/// Returns engine-related extra info for `UncleId`.
fn uncle_extra_info(&self, id: UncleId) -> Option<BTreeMap<String, String>>;
/// Returns information about pruning/data availability.
fn pruning_info(&self) -> PruningInfo;
/// Returns a transaction signed with the key configured in the engine signer.
fn create_transaction(&self, tx_request: TransactionRequest) -> Result<SignedTransaction, transaction::Error>;
/// Schedule state-altering transaction to be executed on the next pending
/// block with the given gas and nonce parameters.
fn transact(&self, tx_request: TransactionRequest) -> Result<(), transaction::Error>;
}
/// The data required for a `Client` to create a transaction.
///
/// Gas limit, gas price, or nonce can be set explicitly, e.g. to create service
/// transactions with zero gas price, or sequences of transactions with consecutive nonces.
pub struct TransactionRequest {
pub action: Action,
pub data: Bytes,
pub gas: Option<U256>,
pub gas_price: Option<U256>,
pub nonce: Option<U256>,
}
impl TransactionRequest {
/// Creates a request to call a contract at `address` with the specified call data.
pub fn call(address: Address, data: Bytes) -> TransactionRequest {
TransactionRequest {
action: Action::Call(address),
data,
gas: None,
gas_price: None,
nonce: None,
}
}
/// Creates a request to create a new contract, with the specified bytecode.
pub fn create(data: Bytes) -> TransactionRequest {
TransactionRequest {
action: Action::Create,
data,
gas: None,
gas_price: None,
nonce: None,
}
}
/// Sets a gas limit. If this is not specified, a sensible default is used.
pub fn gas(mut self, gas: U256) -> TransactionRequest {
self.gas = Some(gas);
self
}
/// Sets a gas price. If this is not specified or `None`, a sensible default is used.
pub fn gas_price<T: Into<Option<U256>>>(mut self, gas_price: T) -> TransactionRequest {
self.gas_price = gas_price.into();
self
}
/// Sets a nonce. If this is not specified, the appropriate latest nonce for the author is used.
pub fn nonce(mut self, nonce: U256) -> TransactionRequest {
self.nonce = Some(nonce);
self
}
}
/// resets the blockchain
pub trait BlockChainReset {
/// reset to best_block - n
fn reset(&self, num: u32) -> Result<(), String>;
/// Number of eras kept in a journal before they are pruned
fn pruning_history(&self) -> u64;
}
/// Provides `latest_schedule` method
pub trait ScheduleInfo {
/// Returns latest schedule.
fn latest_schedule(&self) -> Schedule;
}
/// Provides methods to access chain state
pub trait StateClient {
/// Type representing chain state
type State: StateInfo;
/// Get a copy of the best block's state and header.
fn latest_state_and_header(&self) -> (Self::State, Header);
/// Attempt to get a copy of a specific block's final state.
///
/// This will not fail if given BlockId::Latest.
/// Otherwise, this can fail (but may not) if the DB prunes state or the block
/// is unknown.
fn state_at(&self, id: BlockId) -> Option<Self::State>;
}
/// Extended client interface for providing proofs of the state.
pub trait ProvingBlockChainClient: BlockChainClient {
/// Prove account storage at a specific block id.
///
/// Both provided keys assume a secure trie.
/// Returns a vector of raw trie nodes (in order from the root) proving the storage query.
fn prove_storage(&self, key1: H256, key2: H256, id: BlockId) -> Option<(Vec<Bytes>, H256)>;
/// Prove account existence at a specific block id.
/// The key is the keccak hash of the account's address.
/// Returns a vector of raw trie nodes (in order from the root) proving the query.
fn prove_account(&self, key1: H256, id: BlockId) -> Option<(Vec<Bytes>, BasicAccount)>;
/// Prove execution of a transaction at the given block.
/// Returns the output of the call and a vector of database items necessary
/// to reproduce it.
fn prove_transaction(&self, transaction: SignedTransaction, id: BlockId) -> Option<(Bytes, Vec<DBValue>)>;
/// Get an epoch change signal by block hash.
fn epoch_signal(&self, hash: H256) -> Option<Vec<u8>>;
}
/// External database restoration handler
pub trait DatabaseRestore: Send + Sync {
/// Restart with a new backend. Takes ownership of passed database and moves it to a new location.
fn restore_db(&self, new_db: &str) -> Result<(), EthcoreError>;
}
/// Represents what has to be handled by actor listening to chain events
pub trait ChainNotify: Send + Sync {
/// fires when chain has new blocks.
fn new_blocks(&self, _new_blocks: NewBlocks) {
// does nothing by default
}
/// fires when chain achieves active mode
fn start(&self) {
// does nothing by default
}
/// fires when chain achieves passive mode
fn stop(&self) {
// does nothing by default
}
/// fires when chain broadcasts a message
fn broadcast(&self, _message_type: ChainMessageType) {
// does nothing by default
}
/// fires when new block is about to be imported
/// implementations should be light
fn block_pre_import(&self, _bytes: &Bytes, _hash: &H256, _difficulty: &U256) {
// does nothing by default
}
/// fires when new transactions are received from a peer
fn transactions_received(&self, _txs: &[UnverifiedTransaction], _peer_id: usize) {
// does nothing by default
}
}
/// Provides a method for importing/exporting blocks
pub trait ImportExportBlocks {
/// Export blocks to destination, with the given from, to and format argument.
/// destination could be a file or stdout.
/// If the format is hex, each block is written on a new line.
/// For binary exports, all block data is written to the same line.
fn export_blocks<'a>(
&self,
destination: Box<dyn std::io::Write + 'a>,
from: BlockId,
to: BlockId,
format: Option<DataFormat>
) -> Result<(), String>;
/// Import blocks from destination, with the given format argument
/// Source could be a file or stdout.
/// For hex format imports, it attempts to read the blocks on a line by line basis.
/// For binary format imports, reads the 8 byte RLP header in order to decode the block
/// length to be read.
fn import_blocks<'a>(
&self,
source: Box<dyn std::io::Read + 'a>,
format: Option<DataFormat>
) -> Result<(), String>;
}

View File

@@ -1,17 +0,0 @@
[package]
description = "Ethcore DB access utilities"
repository = "https://github.com/openethereum/openethereum"
license = "GPL-3.0"
name = "ethcore-db"
version = "0.1.0"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
[dependencies]
common-types = { path = "../types" }
ethereum-types = "0.9.0"
kvdb = "0.5.0"
parity-util-mem = "0.6.0"
parking_lot = "0.10.0"
rlp = "0.4.5"
rlp-derive = "0.1"

View File

@@ -1,29 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
//! OpenEthereum database access utilities.
#![warn(missing_docs)]
extern crate parity_util_mem as mem;
extern crate parity_util_mem as malloc_size_of;
mod db;
pub mod keys;
pub mod cache_manager;
pub use self::db::*;

View File

@@ -1,31 +0,0 @@
[package]
description = "Ethereum engine trait definition"
name = "engine"
version = "0.1.0"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
license = "GPL-3.0"
[dependencies]
blockchain = { package = "ethcore-blockchain", path = "../blockchain" }
builtin = { path = "../builtin", package = "ethcore-builtin" }
bytes = { package = "parity-bytes", version = "0.1.0" }
client-traits = { path = "../client-traits" }
common-types = { path = "../types" }
ethereum-types = "0.9.0"
parity-crypto = { version = "0.6.1", features = ["publickey"] }
machine = { path = "../machine" }
vm = { path = "../vm" }
# used from test-helpers
accounts = { package = "ethcore-accounts", path = "../../accounts", optional = true }
log = { version = "0.4.8", optional = true }
ethkey = { path = "../../accounts/ethkey", optional = true }
[dev-dependencies]
accounts = { package = "ethcore-accounts", path = "../../accounts" }
ethkey = { path = "../../accounts/ethkey" }
log = "0.4.8"
[features]
test-helpers = ["accounts", "log", "ethkey"]

View File

@@ -1,437 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
//! Consensus engine specification and basic implementations.
use std::sync::{Weak, Arc};
use std::collections::BTreeMap;
use builtin::Builtin;
use common_types::{
BlockNumber,
ancestry_action::AncestryAction,
header::{Header, ExtendedHeader},
engines::{
Seal, SealingState, Headers, PendingTransitionStore,
params::CommonParams,
machine as machine_types,
},
errors::{EthcoreError as Error, EngineError},
receipt::Receipt,
snapshot::Snapshotting,
transaction::{self, SignedTransaction, UnverifiedTransaction},
};
use client_traits::EngineClient;
use ethereum_types::{H256, U256, Address};
use parity_crypto::publickey::Signature;
use machine::{
Machine,
executed_block::ExecutedBlock,
};
use vm::{EnvInfo, Schedule, ActionType, ActionValue};
use crate::signer::EngineSigner;
/// A system-calling closure. Enacts calls on a block's state from the system address.
pub type SystemCall<'a> = dyn FnMut(Address, Vec<u8>) -> Result<Vec<u8>, String> + 'a;
/// A system-calling closure. Enacts calls on a block's state with code either from an on-chain contract, or hard-coded EVM or WASM (if enabled on-chain) codes.
pub type SystemOrCodeCall<'a> = dyn FnMut(SystemOrCodeCallKind, Vec<u8>) -> Result<Vec<u8>, String> + 'a;
/// Kind of SystemOrCodeCall, this is either an on-chain address, or code.
#[derive(PartialEq, Debug, Clone)]
pub enum SystemOrCodeCallKind {
/// On-chain address.
Address(Address),
/// Hard-coded code.
Code(Arc<Vec<u8>>, H256),
}
/// Default SystemOrCodeCall implementation.
pub fn default_system_or_code_call<'a>(machine: &'a Machine, block: &'a mut ExecutedBlock) -> impl FnMut(SystemOrCodeCallKind, Vec<u8>) -> Result<Vec<u8>, String> + 'a {
move |to, data| {
let result = match to {
SystemOrCodeCallKind::Address(address) => {
machine.execute_as_system(
block,
address,
U256::max_value(),
Some(data),
)
},
SystemOrCodeCallKind::Code(code, code_hash) => {
machine.execute_code_as_system(
block,
None,
Some(code),
Some(code_hash),
Some(ActionValue::Apparent(U256::zero())),
U256::max_value(),
Some(data),
Some(ActionType::StaticCall),
)
},
};
result.map_err(|e| format!("{}", e))
}
}
/// Proof dependent on state.
pub trait StateDependentProof: Send + Sync {
/// Generate a proof, given the state.
fn generate_proof<'a>(&self, state: &machine_types::Call) -> Result<Vec<u8>, String>;
/// Check a proof generated elsewhere (potentially by a peer).
// `engine` needed to check state proofs, while really this should
// just be state machine params.
fn check_proof(&self, machine: &Machine, proof: &[u8]) -> Result<(), String>;
}
/// Proof generated on epoch change.
pub enum Proof {
/// Known proof (extracted from signal)
Known(Vec<u8>),
/// State dependent proof.
WithState(Arc<dyn StateDependentProof>),
}
/// Generated epoch verifier.
pub enum ConstructedVerifier<'a> {
/// Fully trusted verifier.
Trusted(Box<dyn EpochVerifier>),
/// Verifier unconfirmed. Check whether given finality proof finalizes given hash
/// under previous epoch.
Unconfirmed(Box<dyn EpochVerifier>, &'a [u8], H256),
/// Error constructing verifier.
Err(Error),
}
impl<'a> ConstructedVerifier<'a> {
/// Convert to a result, indicating that any necessary confirmation has been done
/// already.
pub fn known_confirmed(self) -> Result<Box<dyn EpochVerifier>, Error> {
match self {
ConstructedVerifier::Trusted(v) | ConstructedVerifier::Unconfirmed(v, _, _) => Ok(v),
ConstructedVerifier::Err(e) => Err(e),
}
}
}
/// Results of a query of whether an epoch change occurred at the given block.
pub enum EpochChange {
/// Cannot determine until more data is passed.
Unsure,
/// No epoch change.
No,
/// The epoch will change, with proof.
Yes(Proof),
}
/// A consensus mechanism for the chain. Generally either proof-of-work or proof-of-stake-based.
/// Provides hooks into each of the major parts of block import.
pub trait Engine: Sync + Send {
/// The name of this engine.
fn name(&self) -> &str;
/// Get access to the underlying state machine.
// TODO: decouple.
fn machine(&self) -> &Machine;
/// The number of additional header fields required for this engine.
fn seal_fields(&self, _header: &Header) -> usize { 0 }
/// Additional engine-specific information for the user/developer concerning `header`.
fn extra_info(&self, _header: &Header) -> BTreeMap<String, String> { BTreeMap::new() }
/// Maximum number of uncles a block is allowed to declare.
fn maximum_uncle_count(&self, _block: BlockNumber) -> usize { 0 }
/// Optional maximum gas limit.
fn maximum_gas_limit(&self) -> Option<U256> { None }
/// Block transformation functions, before the transactions.
/// `epoch_begin` set to true if this block kicks off an epoch.
fn on_new_block(
&self,
_block: &mut ExecutedBlock,
_epoch_begin: bool,
) -> Result<(), Error> {
Ok(())
}
/// Block transformation functions, after the transactions.
fn on_close_block(
&self,
_block: &mut ExecutedBlock,
_parent_header: &Header,
) -> Result<(), Error> {
Ok(())
}
/// Allow mutating the header during seal generation. Currently only used by Clique.
fn on_seal_block(&self, _block: &mut ExecutedBlock) -> Result<(), Error> { Ok(()) }
/// Returns a list of transactions for a new block if we are the author.
///
/// This is called when the miner prepares a new block that this node will author and seal. It returns a list of
/// transactions that will be added to the block before any other transactions from the queue.
fn generate_engine_transactions(&self, _block: &ExecutedBlock) -> Result<Vec<SignedTransaction>, Error> {
Ok(Vec::new())
}
/// Returns the engine's current sealing state.
fn sealing_state(&self) -> SealingState { SealingState::External }
/// Called in `miner.chain_new_blocks` if the engine wishes to `update_sealing`
/// after a block was recently sealed.
///
/// returns false by default
fn should_reseal_on_update(&self) -> bool {
false
}
/// Attempt to seal the block internally.
///
/// If `Some` is returned, then you get a valid seal.
///
/// This operation is synchronous and may (quite reasonably) not be available, in which None will
/// be returned.
///
/// It is fine to require access to state or a full client for this function, since
/// light clients do not generate seals.
fn generate_seal(&self, _block: &ExecutedBlock, _parent: &Header) -> Seal { Seal::None }
/// Verify a locally-generated seal of a header.
///
/// If this engine seals internally,
/// no checks have to be done here, since all internally generated seals
/// should be valid.
///
/// Externally-generated seals (e.g. PoW) will need to be checked for validity.
///
/// It is fine to require access to state or a full client for this function, since
/// light clients do not generate seals.
fn verify_local_seal(&self, header: &Header) -> Result<(), Error>;
/// Phase 1 quick block verification. Only does checks that are cheap. Returns either a null `Ok` or a general error detailing the problem with import.
/// The verification module can optionally avoid checking the seal (`check_seal`), if seal verification is disabled this method won't be called.
fn verify_block_basic(&self, _header: &Header) -> Result<(), Error> { Ok(()) }
/// Phase 2 verification. Perform costly checks such as transaction signatures. Returns either a null `Ok` or a general error detailing the problem with import.
/// The verification module can optionally avoid checking the seal (`check_seal`), if seal verification is disabled this method won't be called.
fn verify_block_unordered(&self, _header: &Header) -> Result<(), Error> { Ok(()) }
/// Phase 3 verification. Check block information against parent. Returns either a null `Ok` or a general error detailing the problem with import.
fn verify_block_family(&self, _header: &Header, _parent: &Header) -> Result<(), Error> { Ok(()) }
/// Phase 4 verification. Verify block header against potentially external data.
/// Should only be called when `register_client` has been called previously.
fn verify_block_external(&self, _header: &Header) -> Result<(), Error> { Ok(()) }
/// Genesis epoch data.
fn genesis_epoch_data<'a>(&self, _header: &Header, _state: &machine_types::Call) -> Result<Vec<u8>, String> { Ok(Vec::new()) }
/// Whether an epoch change is signalled at the given header but will require finality.
/// If a change can be enacted immediately then return `No` from this function but
/// `Yes` from `is_epoch_end`.
///
/// If auxiliary data of the block is required, return an auxiliary request and the function will be
/// called again with them.
/// Return `Yes` or `No` when the answer is definitively known.
///
/// Should not interact with state.
fn signals_epoch_end<'a>(&self, _header: &Header, _receipts: Option<&'a [Receipt]>) -> EpochChange {
EpochChange::No
}
/// Whether a block is the end of an epoch.
///
/// This either means that an immediate transition occurs or a block signalling transition
/// has reached finality. The `Headers` given are not guaranteed to return any blocks
/// from any epoch other than the current. The client must keep track of finality and provide
/// the latest finalized headers to check against the transition store.
///
/// Return optional transition proof.
fn is_epoch_end(
&self,
_chain_head: &Header,
_finalized: &[H256],
_chain: &Headers<Header>,
_transition_store: &PendingTransitionStore,
) -> Option<Vec<u8>> {
None
}
/// Whether a block is the end of an epoch.
///
/// This either means that an immediate transition occurs or a block signalling transition
/// has reached finality. The `Headers` given are not guaranteed to return any blocks
/// from any epoch other than the current. This is a specialized method to use for light
/// clients since the light client doesn't track finality of all blocks, and therefore finality
/// for blocks in the current epoch is built inside this method by the engine.
///
/// Return optional transition proof.
fn is_epoch_end_light(
&self,
_chain_head: &Header,
_chain: &Headers<Header>,
_transition_store: &PendingTransitionStore,
) -> Option<Vec<u8>> {
None
}
/// Create an epoch verifier from validation proof and a flag indicating
/// whether finality is required.
fn epoch_verifier<'a>(&self, _header: &Header, _proof: &'a [u8]) -> ConstructedVerifier<'a> {
ConstructedVerifier::Trusted(Box::new(NoOp))
}
/// Populate a header's fields based on its parent's header.
/// Usually implements the chain scoring rule based on weight.
fn populate_from_parent(&self, _header: &mut Header, _parent: &Header) { }
/// Handle any potential consensus messages;
/// updating consensus state and potentially issuing a new one.
fn handle_message(&self, _message: &[u8]) -> Result<(), EngineError> { Err(EngineError::UnexpectedMessage) }
/// Register a component which signs consensus messages.
fn set_signer(&self, _signer: Option<Box<dyn EngineSigner>>) {}
/// Sign using the EngineSigner, to be used for consensus tx signing.
fn sign(&self, _hash: H256) -> Result<Signature, Error> { unimplemented!() }
/// Add Client which can be used for sealing, potentially querying the state and sending messages.
fn register_client(&self, _client: Weak<dyn EngineClient>) {}
/// Trigger next step of the consensus engine.
fn step(&self) {}
/// Snapshot mode for the engine: Unsupported, PoW or PoA
fn snapshot_mode(&self) -> Snapshotting { Snapshotting::Unsupported }
/// Return a new open block header timestamp based on the parent timestamp.
fn open_block_header_timestamp(&self, parent_timestamp: u64) -> u64 {
use std::{time, cmp};
let now = time::SystemTime::now().duration_since(time::UNIX_EPOCH).unwrap_or_default();
cmp::max(now.as_secs() as u64, parent_timestamp + 1)
}
/// Check whether the parent timestamp is valid.
fn is_timestamp_valid(&self, header_timestamp: u64, parent_timestamp: u64) -> bool {
header_timestamp > parent_timestamp
}
/// Gather all ancestry actions. Called at the last stage when a block is committed. The Engine must guarantee that
/// the ancestry exists.
fn ancestry_actions(&self, _header: &Header, _ancestry: &mut dyn Iterator<Item = ExtendedHeader>) -> Vec<AncestryAction> {
Vec::new()
}
/// Returns author should used when executing tx's for this block.
fn executive_author(&self, header: &Header) -> Result<Address, Error> {
Ok(*header.author())
}
/// Overrides the block gas limit. Whenever this returns `Some` for a header, the next block's gas limit must be
/// exactly that value.
fn gas_limit_override(&self, _header: &Header) -> Option<U256> {
None
}
/// Get the general parameters of the chain.
fn params(&self) -> &CommonParams;
/// Get the EVM schedule for the given block number.
fn schedule(&self, block_number: BlockNumber) -> Schedule {
self.machine().schedule(block_number)
}
/// Builtin-contracts for the chain..
fn builtins(&self) -> &BTreeMap<Address, Builtin> {
self.machine().builtins()
}
/// Attempt to get a handle to a built-in contract.
/// Only returns references to activated built-ins.
fn builtin(&self, a: &Address, block_number: BlockNumber) -> Option<&Builtin> {
self.machine().builtin(a, block_number)
}
/// Some intrinsic operation parameters; by default they take their value from the `spec()`'s `engine_params`.
fn maximum_extra_data_size(&self) -> usize { self.params().maximum_extra_data_size }
/// The nonce with which accounts begin at given block.
fn account_start_nonce(&self, block: BlockNumber) -> U256 {
self.machine().account_start_nonce(block)
}
/// The network ID that transactions should be signed with.
fn signing_chain_id(&self, env_info: &EnvInfo) -> Option<u64> {
self.machine().signing_chain_id(env_info)
}
/// Perform basic/cheap transaction verification.
///
/// This should include all cheap checks that can be done before
/// actually checking the signature, like chain-replay protection.
///
/// NOTE This is done before the signature is recovered so avoid
/// doing any state-touching checks that might be expensive.
///
/// TODO: Add flags for which bits of the transaction to check.
/// TODO: consider including State in the params.
fn verify_transaction_basic(&self, t: &UnverifiedTransaction, header: &Header) -> Result<(), transaction::Error> {
self.machine().verify_transaction_basic(t, header)
}
/// Performs pre-validation of RLP encoded transaction before other
/// processing: check length against `max_transaction_size` and decode the
/// RLP.
fn decode_transaction(&self, transaction: &[u8]) -> Result<UnverifiedTransaction, transaction::Error> {
self.machine().decode_transaction(transaction)
}
/// The configured minimum gas limit.
fn min_gas_limit(&self) -> U256 {
self.params().min_gas_limit
}
}
/// Verifier for all blocks within an epoch with self-contained state.
pub trait EpochVerifier: Send + Sync {
/// Lightly verify the next block header.
/// This may not be a header belonging to a different epoch.
fn verify_light(&self, _header: &Header) -> Result<(), Error> { Ok(()) }
/// Perform potentially heavier checks on the next block header.
fn verify_heavy(&self, header: &Header) -> Result<(), Error> {
self.verify_light(header)
}
/// Check a finality proof against this epoch verifier.
/// Returns `Some(hashes)` if the proof proves finality of these hashes.
/// Returns `None` if the proof doesn't prove anything.
fn check_finality_proof(&self, _proof: &[u8]) -> Option<Vec<H256>> {
None
}
}
/// Special "no-op" verifier for stateless, epoch-less engines.
pub struct NoOp;
impl EpochVerifier for NoOp {}

View File

@@ -1,36 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
//! This crate defines the Engine trait and related types.
mod engine;
pub mod signer;
pub use crate::engine::{
Engine,
EpochVerifier,
StateDependentProof,
ConstructedVerifier,
EpochChange,
Proof,
SystemCall,
SystemOrCodeCall,
SystemOrCodeCallKind,
default_system_or_code_call,
};
#[cfg(any(test, feature = "test-helpers"))]
pub mod test_helpers;

View File

@@ -1,60 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
//! A signer used by Engines which need to sign messages.
use ethereum_types::{H256, Address};
use parity_crypto::publickey::{ecies, Public, Signature, KeyPair, Error};
/// Everything that an Engine needs to sign messages.
pub trait EngineSigner: Send + Sync {
/// Sign a consensus message hash.
fn sign(&self, hash: H256) -> Result<Signature, Error>;
/// Signing address
fn address(&self) -> Address;
/// Decrypt a message that was encrypted to this signer's key.
fn decrypt(&self, auth_data: &[u8], cipher: &[u8]) -> Result<Vec<u8>, Error>;
/// The signer's public key, if available.
fn public(&self) -> Option<Public>;
}
/// Creates a new `EngineSigner` from given key pair.
pub fn from_keypair(keypair: KeyPair) -> Box<dyn EngineSigner> {
Box::new(Signer(keypair))
}
struct Signer(KeyPair);
impl EngineSigner for Signer {
fn sign(&self, hash: H256) -> Result<Signature, Error> {
parity_crypto::publickey::sign(self.0.secret(), &hash)
}
fn decrypt(&self, auth_data: &[u8], cipher: &[u8]) -> Result<Vec<u8>, Error> {
ecies::decrypt(self.0.secret(), auth_data, cipher)
}
fn address(&self) -> Address {
self.0.address()
}
fn public(&self) -> Option<Public> {
Some(*self.0.public())
}
}

View File

@@ -1,61 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
//! Test helpers for engine related tests
use std::sync::Arc;
use ethereum_types::{Address, H256};
use ethkey::Password;
use parity_crypto::publickey::{Public, Signature, Error};
use log::warn;
use accounts::{self, AccountProvider, SignError};
use crate::signer::EngineSigner;
impl EngineSigner for (Arc<AccountProvider>, Address, Password) {
fn sign(&self, hash: H256) -> Result<Signature, Error> {
match self.0.sign(self.1, Some(self.2.clone()), hash) {
Err(SignError::NotUnlocked) => unreachable!(),
Err(SignError::NotFound) => Err(Error::InvalidAddress),
Err(SignError::SStore(accounts::Error::EthCrypto(err))) => Err(Error::Custom(err.to_string())),
Err(SignError::SStore(accounts::Error::EthPublicKeyCrypto(err))) => {
warn!("Low level crypto error: {:?}", err);
Err(Error::InvalidSecretKey)
},
Err(SignError::SStore(err)) => {
warn!("Error signing for engine: {:?}", err);
Err(Error::InvalidSignature)
},
Ok(ok) => Ok(ok),
}
}
fn decrypt(&self, auth_data: &[u8], cipher: &[u8]) -> Result<Vec<u8>, Error> {
self.0.decrypt(self.1, None, auth_data, cipher).map_err(|e| {
warn!("Unable to decrypt message: {:?}", e);
Error::InvalidMessage
})
}
fn address(&self) -> Address {
self.1
}
fn public(&self) -> Option<Public> {
self.0.account_public(self.1, &self.2).ok()
}
}

View File

@@ -1,45 +0,0 @@
[package]
description = "Non-instant BFT proof-of-authority blockchain engine"
name = "authority-round"
version = "0.1.0"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
license = "GPL-3.0"
[dependencies]
block-gas-limit = { path = "../../block-gas-limit" }
block-reward = { path = "../../block-reward" }
client-traits = { path = "../../client-traits" }
common-types = { path = "../../types" }
derive_more = "0.99"
ethabi = "12.0"
ethabi-contract = "11.0"
ethabi-derive = "12.0"
ethereum-types = "0.9.0"
ethjson = { path = "../../../json" }
parity-crypto = { version = "0.6.1", features = ["publickey"] }
engine = { path = "../../engine" }
io = { package = "ethcore-io", path = "../../../util/io" }
itertools = "0.8.2"
keccak-hash = "0.5.0"
lazy_static = "1.3.0"
log = "0.4"
lru-cache = "0.1"
machine = { path = "../../machine" }
parity-bytes = "0.1"
parking_lot = "0.10.0"
rand = "0.7.3"
rlp = "0.4.5"
time-utils = { path = "../../../util/time-utils" }
unexpected = { path = "../../../util/unexpected" }
validator-set = { path = "../validator-set" }
[dev-dependencies]
accounts = { package = "ethcore-accounts", path = "../../../accounts" }
engine = { path = "../../engine", features = ["test-helpers"] }
env_logger = "0.6.2"
ethcore = { path = "../..", features = ["test-helpers"] }
spec = { path = "../../spec" }
state-db = { path = "../../state-db" }
validator-set = { path = "../validator-set", features = ["test-helpers"] }
serde_json = "1"

View File

@@ -1,315 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
//! Finality proof generation and checking.
use std::collections::{VecDeque};
use std::collections::hash_map::{HashMap, Entry};
use common_types::BlockNumber;
use ethereum_types::{H256, Address};
use log::{trace, warn};
use validator_set::SimpleList;
/// Error indicating unknown validator.
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub struct UnknownValidator;
/// Rolling finality checker for authority round consensus.
/// Stores a chain of unfinalized hashes that can be pushed onto.
pub struct RollingFinality {
headers: VecDeque<(H256, BlockNumber, Vec<Address>)>,
signers: SimpleList,
sign_count: HashMap<Address, usize>,
last_pushed: Option<H256>,
/// First block for which a 2/3 quorum (instead of 1/2) is required.
two_thirds_majority_transition: BlockNumber,
}
impl RollingFinality {
/// Create a blank finality checker under the given validator set.
pub fn blank(signers: Vec<Address>, two_thirds_majority_transition: BlockNumber) -> Self {
trace!(target: "finality", "Instantiating blank RollingFinality with {} signers: {:?}", signers.len(), signers);
RollingFinality {
headers: VecDeque::new(),
signers: SimpleList::new(signers),
sign_count: HashMap::new(),
last_pushed: None,
two_thirds_majority_transition,
}
}
/// Extract unfinalized subchain from ancestry iterator.
/// Clears the current subchain.
///
/// Fails if any provided signature isn't part of the signers set.
pub fn build_ancestry_subchain<I>(&mut self, iterable: I) -> Result<(), UnknownValidator>
where I: IntoIterator<Item=(H256, BlockNumber, Vec<Address>)>,
{
self.clear();
for (hash, number, signers) in iterable {
if signers.iter().any(|s| !self.signers.contains(s)) { return Err(UnknownValidator) }
if self.last_pushed.is_none() { self.last_pushed = Some(hash) }
self.add_signers(&signers);
self.headers.push_front((hash, number, signers));
// break when we've got our first finalized block.
if self.is_finalized() {
let (hash, _, signers) = self.headers.pop_front().expect("we just pushed a block; qed");
self.remove_signers(&signers);
trace!(target: "finality", "Encountered already finalized block {}", hash);
break
}
}
trace!(target: "finality", "Rolling finality state: {:?}", self.headers);
Ok(())
}
/// Clears the finality status, but keeps the validator set.
pub fn clear(&mut self) {
self.headers.clear();
self.sign_count.clear();
self.last_pushed = None;
}
/// Returns the last pushed hash.
pub fn subchain_head(&self) -> Option<H256> {
self.last_pushed
}
/// Get an iterator over stored hashes in order.
#[cfg(test)]
pub fn unfinalized_hashes(&self) -> impl Iterator<Item=&H256> {
self.headers.iter().map(|(h, _, _)| h)
}
/// Get the validator set.
pub fn validators(&self) -> &SimpleList { &self.signers }
/// Push a hash onto the rolling finality checker (implying `subchain_head` == head.parent)
///
/// Fails if `signer` isn't a member of the active validator set.
/// Returns a list of all newly finalized headers.
// TODO: optimize with smallvec.
pub fn push_hash(&mut self, head: H256, number: BlockNumber, signers: Vec<Address>)
-> Result<Vec<H256>, UnknownValidator>
{
for their_signer in signers.iter() {
if !self.signers.contains(their_signer) {
warn!(target: "finality", "Unknown validator: {}", their_signer);
return Err(UnknownValidator)
}
}
self.add_signers(&signers);
self.headers.push_back((head, number, signers));
let mut newly_finalized = Vec::new();
while self.is_finalized() {
let (hash, _, signers) = self.headers.pop_front()
.expect("headers length always greater than sign count length; qed");
self.remove_signers(&signers);
newly_finalized.push(hash);
}
trace!(target: "finality", "{} Blocks finalized by {:?}: {:?}", newly_finalized.len(), head, newly_finalized);
self.last_pushed = Some(head);
Ok(newly_finalized)
}
/// Returns the first block for which a 2/3 quorum (instead of 1/2) is required.
pub fn two_thirds_majority_transition(&self) -> BlockNumber {
self.two_thirds_majority_transition
}
/// Returns whether the first entry in `self.headers` is finalized.
fn is_finalized(&self) -> bool {
match self.headers.front() {
None => false,
Some((_, number, _)) if *number < self.two_thirds_majority_transition => {
self.sign_count.len() * 2 > self.signers.len()
}
Some((_, _, _)) => {
self.sign_count.len() * 3 > self.signers.len() * 2
}
}
}
/// Adds the signers to the sign count.
fn add_signers(&mut self, signers: &[Address]) {
for signer in signers {
*self.sign_count.entry(*signer).or_insert(0) += 1;
}
}
/// Removes the signers from the sign count.
fn remove_signers(&mut self, signers: &[Address]) {
for signer in signers {
match self.sign_count.entry(*signer) {
Entry::Occupied(mut entry) => {
// decrement count for this signer and purge on zero.
if *entry.get() <= 1 {
entry.remove();
} else {
*entry.get_mut() -= 1;
}
}
Entry::Vacant(_) => {
panic!("all hashes in `header` should have entries in `sign_count` for their signers; qed");
}
}
}
}
}
#[cfg(test)]
mod tests {
use common_types::BlockNumber;
use ethereum_types::{H256, Address};
use super::RollingFinality;
#[test]
fn rejects_unknown_signers() {
let signers = (0..3).map(|_| Address::random()).collect::<Vec<_>>();
let mut finality = RollingFinality::blank(signers.clone(), BlockNumber::max_value());
assert!(finality.push_hash(H256::random(), 0, vec![signers[0], Address::random()]).is_err());
}
#[test]
fn finalize_multiple() {
let signers: Vec<_> = (0..6).map(|_| Address::random()).collect();
let mut finality = RollingFinality::blank(signers.clone(), BlockNumber::max_value());
let hashes: Vec<_> = (0..7).map(|_| H256::random()).collect();
// 3 / 6 signers is < 51% so no finality.
for (i, hash) in hashes.iter().take(6).cloned().enumerate() {
let i = i % 3;
assert!(finality.push_hash(hash, i as u64, vec![signers[i]]).unwrap().len() == 0);
}
// after pushing a block signed by a fourth validator, the first four
// blocks of the unverified chain become verified.
assert_eq!(finality.push_hash(hashes[6], 6, vec![signers[4]]).unwrap(),
vec![hashes[0], hashes[1], hashes[2], hashes[3]]);
}
#[test]
fn finalize_multiple_signers() {
let signers: Vec<_> = (0..6).map(|_| Address::random()).collect();
let mut finality = RollingFinality::blank(signers.clone(), BlockNumber::max_value());
let hash = H256::random();
// after pushing a block signed by four validators, it becomes verified right away.
assert_eq!(finality.push_hash(hash, 0, signers[0..4].to_vec()).unwrap(), vec![hash]);
}
#[test]
fn from_ancestry() {
let signers: Vec<_> = (0..6).map(|_| Address::random()).collect();
let hashes: Vec<_> = (0..12).map(|i| (H256::random(), i as u64, vec![signers[i % 6]])).collect();
let mut finality = RollingFinality::blank(signers.clone(), BlockNumber::max_value());
finality.build_ancestry_subchain(hashes.iter().rev().cloned()).unwrap();
assert_eq!(finality.unfinalized_hashes().count(), 3);
assert_eq!(finality.subchain_head(), Some(hashes[11].0));
}
#[test]
fn from_ancestry_multiple_signers() {
let signers: Vec<_> = (0..6).map(|_| Address::random()).collect();
let hashes: Vec<_> = (0..12).map(|i| {
(H256::random(), i as u64, vec![signers[i % 6], signers[(i + 1) % 6], signers[(i + 2) % 6]])
}).collect();
let mut finality = RollingFinality::blank(signers.clone(), BlockNumber::max_value());
finality.build_ancestry_subchain(hashes.iter().rev().cloned()).unwrap();
// only the last hash has < 51% of authorities' signatures
assert_eq!(finality.unfinalized_hashes().count(), 1);
assert_eq!(finality.unfinalized_hashes().next(), Some(&hashes[11].0));
assert_eq!(finality.subchain_head(), Some(hashes[11].0));
}
#[test]
fn rejects_unknown_signers_2_3() {
let signers = (0..3).map(|_| Address::random()).collect::<Vec<_>>();
let mut finality = RollingFinality::blank(signers.clone(), 0);
assert!(finality.push_hash(H256::random(), 0, vec![signers[0], Address::random()]).is_err());
}
#[test]
fn finalize_multiple_2_3() {
let signers: Vec<_> = (0..7).map(|_| Address::random()).collect();
let mut finality = RollingFinality::blank(signers.clone(), 0);
let hashes: Vec<_> = (0..9).map(|_| H256::random()).collect();
// 4 / 7 signers is < 67% so no finality.
for (i, hash) in hashes.iter().take(8).cloned().enumerate() {
let i = i % 4;
assert!(finality.push_hash(hash, i as u64, vec![signers[i]]).unwrap().len() == 0);
}
// after pushing a block signed by a fifth validator, the first five
// blocks of the unverified chain become verified.
assert_eq!(finality.push_hash(hashes[8], 8, vec![signers[4]]).unwrap(),
vec![hashes[0], hashes[1], hashes[2], hashes[3], hashes[4]]);
}
#[test]
fn finalize_multiple_signers_2_3() {
let signers: Vec<_> = (0..5).map(|_| Address::random()).collect();
let mut finality = RollingFinality::blank(signers.clone(), 0);
let hash = H256::random();
// after pushing a block signed by four validators, it becomes verified right away.
assert_eq!(finality.push_hash(hash, 0, signers[0..4].to_vec()).unwrap(), vec![hash]);
}
#[test]
fn from_ancestry_2_3() {
let signers: Vec<_> = (0..6).map(|_| Address::random()).collect();
let hashes: Vec<_> = (0..12).map(|i| (H256::random(), i as u64, vec![signers[i % 6]])).collect();
let mut finality = RollingFinality::blank(signers, 0);
finality.build_ancestry_subchain(hashes.iter().rev().cloned()).unwrap();
// The last four hashes, with index 11, 10, 9, and 8, have been pushed. 7 would have finalized a block.
assert_eq!(finality.unfinalized_hashes().count(), 4);
assert_eq!(finality.subchain_head(), Some(hashes[11].0));
}
#[test]
fn from_ancestry_multiple_signers_2_3() {
let signers: Vec<_> = (0..6).map(|_| Address::random()).collect();
let hashes: Vec<_> = (0..12).map(|i| {
let hash_signers = signers.iter().cycle().skip(i).take(4).cloned().collect();
(H256::random(), i as u64, hash_signers)
}).collect();
let mut finality = RollingFinality::blank(signers.clone(), 0);
finality.build_ancestry_subchain(hashes.iter().rev().cloned()).unwrap();
// only the last hash has < 67% of authorities' signatures
assert_eq!(finality.unfinalized_hashes().count(), 1);
assert_eq!(finality.unfinalized_hashes().next(), Some(&hashes[11].0));
assert_eq!(finality.subchain_head(), Some(hashes[11].0));
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,257 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
//! On-chain randomness generation for authority round
//!
//! This module contains the support code for the on-chain randomness generation used by AuRa. Its
//! core is the finite state machine `RandomnessPhase`, which can be loaded from the blockchain
//! state, then asked to perform potentially necessary transaction afterwards using the `advance()`
//! method.
//!
//! No additional state is kept inside the `RandomnessPhase`, it must be passed in each time.
//!
//! The process of generating random numbers is a simple finite state machine:
//!
//! ```text
//! +
//! |
//! |
//! |
//! +--------------+ +-------v-------+
//! | | | |
//! | BeforeCommit <------------------------------+ Waiting |
//! | | enter commit phase | |
//! +------+-------+ +-------^-------+
//! | |
//! | call |
//! | `commitHash()` | call
//! | | `revealNumber()`
//! | |
//! +------v-------+ +-------+-------+
//! | | | |
//! | Committed +------------------------------> Reveal |
//! | | enter reveal phase | |
//! +--------------+ +---------------+
//! ```
//!
//! Phase transitions are performed by the smart contract and simply queried by the engine.
//!
//! Randomness generation works as follows:
//! * During the commit phase, all validators locally generate a random number, and commit that number's hash to the
//! contract.
//! * During the reveal phase, all validators reveal their local random number to the contract. The contract should
//! verify that it matches the committed hash.
//! * Finally, the XOR of all revealed numbers is used as an on-chain random number.
//!
//! An adversary can only influence that number by either controlling _all_ validators who committed, or, to a lesser
//! extent, by not revealing committed numbers.
//! The length of the commit and reveal phases, as well as any penalties for failure to reveal, are defined by the
//! contract.
//!
//! A typical case of using `RandomnessPhase` is:
//!
//! 1. `RandomnessPhase::load()` the phase from the blockchain data.
//! 2. Call `RandomnessPhase::advance()`.
//!
//! A production implementation of a randomness contract can be found here:
//! https://github.com/poanetwork/posdao-contracts/blob/4fddb108993d4962951717b49222327f3d94275b/contracts/RandomAuRa.sol
use derive_more::Display;
use ethabi::Hash;
use ethabi_contract::use_contract;
use ethereum_types::{Address, H256, U256};
use keccak_hash::keccak;
use log::{debug, error};
use parity_crypto::publickey::{ecies, Error as CryptoError};
use parity_bytes::Bytes;
use rand::Rng;
use engine::signer::EngineSigner;
use crate::util::{BoundContract, CallError};
/// Random number type expected by the contract: This is generated locally, kept secret during the commit phase, and
/// published in the reveal phase.
pub type RandNumber = H256;
use_contract!(aura_random, "../../res/contracts/authority_round_random.json");
/// Validated randomness phase state.
#[derive(Debug)]
pub enum RandomnessPhase {
// NOTE: Some states include information already gathered during `load` (e.g. `our_address`,
// `round`) for efficiency reasons.
/// Waiting for the next phase.
///
/// This state indicates either the successful revelation in this round or having missed the
/// window to make a commitment, i.e. having failed to commit during the commit phase.
Waiting,
/// Indicates a commitment is possible, but still missing.
BeforeCommit,
/// Indicates a successful commitment, waiting for the commit phase to end.
Committed,
/// Indicates revealing is expected as the next step.
Reveal { our_address: Address, round: U256 },
}
/// Phase loading error for randomness generation state machine.
///
/// This error usually indicates a bug in either the smart contract, the phase loading function or
/// some state being lost.
///
/// `BadRandNumber` will usually result in punishment by the contract or the other validators.
#[derive(Debug, Display)]
pub enum PhaseError {
/// The smart contract reported that we already revealed something while still being in the
/// commit phase.
#[display(fmt = "Revealed during commit phase")]
RevealedInCommit,
/// Failed to load contract information.
#[display(fmt = "Error loading randomness contract information: {:?}", _0)]
LoadFailed(CallError),
/// Failed to load the stored encrypted random number.
#[display(fmt = "Failed to load random number from the randomness contract")]
BadRandNumber,
/// Failed to encrypt random number.
#[display(fmt = "Failed to encrypt random number: {}", _0)]
Crypto(CryptoError),
/// Failed to get the engine signer's public key.
#[display(fmt = "Failed to get the engine signer's public key")]
MissingPublicKey,
}
impl From<CryptoError> for PhaseError {
fn from(err: CryptoError) -> PhaseError {
PhaseError::Crypto(err)
}
}
impl RandomnessPhase {
/// Determine randomness generation state from the contract.
///
/// Calls various constant contract functions to determine the precise state that needs to be
/// handled (that is, the phase and whether or not the current validator still needs to send
/// commitments or reveal random numbers).
pub fn load(
contract: &BoundContract,
our_address: Address,
) -> Result<RandomnessPhase, PhaseError> {
// Determine the current round and which phase we are in.
let round = contract
.call_const(aura_random::functions::current_collect_round::call())
.map_err(PhaseError::LoadFailed)?;
let is_commit_phase = contract
.call_const(aura_random::functions::is_commit_phase::call())
.map_err(PhaseError::LoadFailed)?;
// Ensure we are not committing or revealing twice.
let committed = contract
.call_const(aura_random::functions::is_committed::call(
round,
our_address,
))
.map_err(PhaseError::LoadFailed)?;
let revealed: bool = contract
.call_const(aura_random::functions::sent_reveal::call(
round,
our_address,
))
.map_err(PhaseError::LoadFailed)?;
// With all the information known, we can determine the actual state we are in.
if is_commit_phase {
if revealed {
return Err(PhaseError::RevealedInCommit);
}
if !committed {
Ok(RandomnessPhase::BeforeCommit)
} else {
Ok(RandomnessPhase::Committed)
}
} else {
if !committed {
// We apparently entered too late to make a commitment, wait until we get a chance again.
return Ok(RandomnessPhase::Waiting);
}
if !revealed {
Ok(RandomnessPhase::Reveal { our_address, round })
} else {
Ok(RandomnessPhase::Waiting)
}
}
}
/// Advance the random seed construction process as far as possible.
///
/// Returns the encoded contract call necessary to advance the randomness contract's state.
///
/// **Warning**: After calling the `advance()` function, wait until the returned transaction has been included in
/// a block before calling it again; otherwise spurious transactions resulting in punishments might be executed.
pub fn advance<R: Rng>(
self,
contract: &BoundContract,
rng: &mut R,
signer: &dyn EngineSigner,
) -> Result<Option<Bytes>, PhaseError> {
match self {
RandomnessPhase::Waiting | RandomnessPhase::Committed => Ok(None),
RandomnessPhase::BeforeCommit => {
// Generate a new random number, but don't reveal it yet. Instead, we publish its hash to the
// randomness contract, together with the number encrypted to ourselves. That way we will later be
// able to decrypt and reveal it, and other parties are able to verify it against the hash.
let number: RandNumber = rng.gen();
let number_hash: Hash = keccak(number.as_bytes());
let public = signer.public().ok_or(PhaseError::MissingPublicKey)?;
let cipher = ecies::encrypt(&public, &number_hash.0, number.as_bytes())?;
debug!(target: "engine", "Randomness contract: committing {}.", number_hash);
// Return the call data for the transaction that commits the hash and the encrypted number.
let (data, _decoder) = aura_random::functions::commit_hash::call(number_hash, cipher);
Ok(Some(data))
}
RandomnessPhase::Reveal { round, our_address } => {
// Load the hash and encrypted number that we stored in the commit phase.
let call = aura_random::functions::get_commit_and_cipher::call(round, our_address);
let (committed_hash, cipher) = contract
.call_const(call)
.map_err(PhaseError::LoadFailed)?;
// Decrypt the number and check against the hash.
let number_bytes = signer.decrypt(&committed_hash.0, &cipher)?;
let number = if number_bytes.len() == 32 {
RandNumber::from_slice(&number_bytes)
} else {
// This can only happen if there is a bug in the smart contract,
// or if the entire network goes awry.
error!(target: "engine", "Decrypted random number has the wrong length.");
return Err(PhaseError::BadRandNumber);
};
let number_hash: Hash = keccak(number.as_bytes());
if number_hash != committed_hash {
error!(target: "engine", "Decrypted random number doesn't agree with the hash.");
return Err(PhaseError::BadRandNumber);
}
debug!(target: "engine", "Randomness contract: scheduling tx to reveal our random number {} (round={}, our_address={}).", number_hash, round, our_address);
// We are now sure that we have the correct secret and can reveal it. So we return the call data for the
// transaction that stores the revealed random bytes on the contract.
let (data, _decoder) = aura_random::functions::reveal_number::call(number.as_bytes());
Ok(Some(data))
}
}
}
}

View File

@@ -1,94 +0,0 @@
// Copyright 2015-2020 Parity Technologies (UK) Ltd.
// This file is part of Open Ethereum.
// Open Ethereum is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// Open Ethereum is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// You should have received a copy of the GNU General Public License
// along with Open Ethereum. If not, see <http://www.gnu.org/licenses/>.
//! Utility functions.
//!
//! Contains small functions used by the AuRa engine that are not strictly limited to that scope.
use std::fmt;
use client_traits::EngineClient;
use common_types::ids::BlockId;
use ethabi;
use ethereum_types::Address;
/// A contract bound to a client and block number.
///
/// A bound contract is a combination of a `Client` reference, a `BlockId` and a contract `Address`.
/// These three parts are enough to call a contract's function; return values are automatically
/// decoded.
pub struct BoundContract<'a> {
client: &'a dyn EngineClient,
block_id: BlockId,
contract_addr: Address,
}
/// Contract call failed error.
#[derive(Debug)]
pub enum CallError {
/// The call itself failed.
CallFailed(String),
/// Decoding the return value failed or the decoded value was a failure.
DecodeFailed(ethabi::Error),
/// The passed in client reference could not be upgraded to a `BlockchainClient`.
NotFullClient,
}
impl<'a> fmt::Debug for BoundContract<'a> {
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
fmt.debug_struct("BoundContract")
.field("client", &(self.client as *const dyn EngineClient))
.field("block_id", &self.block_id)
.field("contract_addr", &self.contract_addr)
.finish()
}
}
impl<'a> BoundContract<'a> {
/// Create a new `BoundContract`.
pub fn new(client: &dyn EngineClient, block_id: BlockId, contract_addr: Address) -> BoundContract {
BoundContract {
client,
block_id,
contract_addr,
}
}
/// Perform a function call to an Ethereum machine that doesn't create a transaction or change the state.
///
/// Runs a constant function call on `client`. The `call` value can be serialized by calling any
/// api function generated by the `use_contract!` macro. This does not create any transactions, it only produces a
/// result based on the state at the current block: It is constant in the sense that it does not alter the EVM
/// state.
pub fn call_const<D>(&self, call: (ethabi::Bytes, D)) -> Result<D::Output, CallError>
where
D: ethabi::FunctionOutputDecoder,
{
let (data, output_decoder) = call;
let call_return = self
.client
.as_full_client()
.ok_or(CallError::NotFullClient)?
.call_contract(self.block_id, self.contract_addr, data)
.map_err(CallError::CallFailed)?;
// Decode the result and return it.
output_decoder
.decode(call_return.as_slice())
.map_err(CallError::DecodeFailed)
}
}

View File

@@ -1,31 +0,0 @@
[package]
description = "Basic PoA blockchain engine."
name = "basic-authority"
version = "0.1.0"
authors = ["Parity Technologies <admin@parity.io>"]
edition = "2018"
license = "GPL-3.0"
[dependencies]
client-traits = { path = "../../client-traits" }
common-types = { path = "../../types" }
engine = { path = "../../engine" }
ethereum-types = "0.9.0"
ethjson = { path = "../../../json" }
parity-crypto = { version = "0.6.1", features = ["publickey"] }
log = "0.4.8"
machine = { path = "../../machine" }
parking_lot = "0.10.0"
rlp = "0.4.5"
validator-set = { path = "../validator-set" }
[dev-dependencies]
accounts = { package = "ethcore-accounts", path = "../../../accounts" }
engine = { path = "../../engine", features = ["test-helpers"] }
ethcore = { path = "../..", features = ["test-helpers"] }
keccak-hash = "0.5.0"
tempfile = "3.1"
spec = { path = "../../spec" }
[features]
test-helpers = []

Some files were not shown because too many files have changed in this diff Show More