Compare commits

...

6504 Commits

Author SHA1 Message Date
Afri Schoedon
7b1d3e180c Backports for Stable 2.2.10 (#10332)
* version: bump stable to 2.2.10

* import rpc transactions sequentially (#10051)

* import rpc transactions sequentially

* use impl trait in argument position, renamed ProspectiveDispatcher to WithPostSign

* grouped imports

* integrates PostSign with ProspectiveSigner

* fix spaces, removed unnecessary type cast and duplicate polling

* clean up code style

* Apply suggestions from code review

* Additional tests for uint deserialization. (#10279)

* Don't run the CPP example on CI (#10285)

* Don't run the CPP example on CI

* Add comment

* CI optimizations (#10297)

* CI optimizations

* fix stripping

* new dockerfile

* no need n submodule upd

* review

* moved dockerfile

* it becomes large

* onchain update depends on s3

* fix dependency

* fix cache status

* fix cache status

* new cache status

* fix publish job (#10317)

* fix publish job

* dashes and colonels

* Add Statetest support for Constantinople Fix (#10323)

* Update Ethereum tests repo to v6.0.0-beta.3 tag

* Add spec for St.Peter's / ConstantinopleFix statetests

* fix(add helper for timestamp overflows) (#10330)

* fix(add helper timestamp overflows)

* fix(simplify code)

* fix(make helper private)

* fix(docker): fix not receives SIGINT (#10059)

* fix(docker): fix not receives SIGINT

* fix: update with reviews

* update with review

* update

* update

* snap: official image / test (#10168)

* official image / test

* fix / test

* bit more necromancy

* fix paths

* add source bin/df /test

* add source bin/df /test2

* something w paths /test

* something w paths /test

* add source-type /test

* show paths /test

* copy plugin /test

* plugin -> nil

* install rhash

* no questions while installing rhash

* publish snap only for release

* Don't add discovery initiators to the node table (#10305)

* Don't add discovery initiators to the node table

* Use enums for tracking state of the nodes in discovery

* Dont try to ping ourselves

* Fix minor nits

* Update timeouts when observing an outdated node

* Extracted update_bucket_record from update_node

* Fixed typo

* Fix two final nits from @todr

* change docker image based on debian instead of ubuntu due to the chan… (#10336)

* change docker image based on debian instead of ubuntu due to the changes of the build container

* role back docker build image and docker deploy image to ubuntu:xenial based (#10338)

* perform stripping during build (#10208)

* perform stripping during build (#10208)

* perform stripping during build

* var RUSTFLAGS

* fix(docker-aarch64) : cross-compile config (#9798)

* fix(docker-aarch64) : cross-compile config (#9798)

* ci: remove trailing double newline from dockerfile
2019-02-13 11:00:15 +01:00
Kirill Pimenov
cc91e95f03 Additional error for invalid gas (#10327) (#10329)
* Tag sensible place (ECHECH)

* Additional overflows checks.
2019-02-12 10:53:01 +01:00
Afri Schoedon
5d5b372f44 version: bump stable to 2.2.9 (#10282) 2019-02-03 12:44:08 +01:00
Kirill Pimenov
abb41f60f4 Additional tests for uint deserialization. (#10281) 2019-02-03 12:43:13 +01:00
Afri Schoedon
ec81d67009 Stable: Macos heapsize force jemalloc (#10234) (#10258)
* Macos heapsize force jemalloc (#10234)

* Switch to non prefixed malloc_size_of on macos

* Fix

* Testing darwin build

* Fix import

* conflict

* switch heapsize deps commit

* switch heapsize commit

* Rename branch

* Restore gitlab ci to origin

* test for mac

* mac tests?

* Switch of macos CI tests.

* Update Cargo.lock

Co-Authored-By: 5chdn <5chdn@users.noreply.github.com>
2019-01-30 12:01:55 +01:00
Afri Schoedon
2a7dc644b7 Stable Backports 2.2.8 (#10224)
* version: bump stable to 2.2.8

* Update for Android cross-compilation. (#10180)

* build-unix update

* .gitlab-ci update

* Update build-unix.sh

add android postprocessing

* path to android lib

libparity.so

* fix path to libparity

* add android lib to artifacts

* Cancel Constantinople HF on POA Core (#10198)

* Add EIP-1283 disable transition (#10214)

* Enable St-Peters-Fork ("Constantinople Fix") (#10223)

* ethcore: disable eip-1283 on kovan block 10255201

* ethcore: disable eip-1283 on ropsten block 4939394

* ethcore: enable st-peters-fork on mainnet block 7280000

* ethcore: fix kovan chain spec

* version: update fork blocks

* ethcore: disable eip-1283 on sokol block 7026400
2019-01-22 12:32:56 +01:00
Afri Schoedon
b00a21f39a backports for stable 2.2.7 (#10163)
* version: bump stable to 2.2.7

* version: mark 2.2 track stable

* version: mark update critical on all networks

* version: commit cargo lock

* Ping nodes from discovery (#10167)

* snap: fix path in script (#10157)

* snap: fix path in script

* debug, revert me

* fix

* necromancer awk magic

* awk necromancy and path fixing

* working track selection

* Fix _cannot recursively call into `Core`_ issue (#10144)

* Change igd to github:maufl/rust-igd

* Run `igd::search_gateway_from_timeout` from own thread

* Handle the case for contract creation on an empty but exist account with storage items (#10065)

* Add is_base_storage_root_unchanged

* Fix compile, use a shortcut for check, and remove ignored tests

* Add a warn!

* Update ethereum/tests to v6.0.0-beta.2

* grumble: use {:#x} instead of 0x{:x}

Co-Authored-By: sorpaas <accounts@that.world>

* version: bump fork blocks for kovan and foundation (#10186)

* pull constantinople on ethereum network (#10189)

* ethcore: pull constantinople on ethereum network

* version: mark update as critical

* ethcore: remove constantinople alltogether from chain spec

* version: revert fork block for ethereum
2019-01-15 22:25:31 +01:00
Afri Schoedon
e9396e158b beta backports v2.2.6 (#10113)
* version: bump beta to v2.2.6

* Update pwasm-utils to 0.6.1 (#10134)

* version: mark upgrade critical on kovan

* Identity fix (#10128)

* fix #10125

fix service transaction version detection if --identity is enabled, change test to match how --identity actually works

* fix wrong var

* get the index of  v, not /

* idx, not idx.len()

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

Co-Authored-By: joshua-mir <43032097+joshua-mir@users.noreply.github.com>

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

Co-Authored-By: joshua-mir <43032097+joshua-mir@users.noreply.github.com>

* change version prefix to a const

* space

Co-Authored-By: joshua-mir <43032097+joshua-mir@users.noreply.github.com>

* [Hit return to continue]

* ethcore: update hardcoded headers for foundation

* ethcore: update hardcoded headers for ropsten

* ethcore: update hardcoded headers for kovan

* ethcore: use consistant formatting

* ethcore: restore spaces after colon in chain spec

* ethcore: fix bootnodes in chain specs

* ethcore: fix bootnodes in chain specs

* ethcore: enforce newline at the end of chainspecs

* Follow-up to #10105 (#10107)

* HF in POA Sokol (2019-01-04) (#10077)

* HF in POA Sokol (2019-01-04)

https://github.com/poanetwork/poa-chain-spec/pull/91

* Update POA Core bootnodes

* Autogen docs for the "Configuring Parity Ethereum" wiki page. (#10067)

* publish docs changes for autogen config docs

* Update publish-docs.sh

adding an environment variable so js knows not to download git master and just grab the local repo

* Update publish-docs.sh

made some changes making this unnecessary

* fix env variable

env variable passes to node properly now

* use yarn

* test pipeline, revert me

* fix test pipeline, revert me

* change runner tag

* change runner tag 2

* change runner tag

* global git config

* supress upload_files output

* Update .gitlab-ci.yml

reverting testing changes

* Replace tag if exists

Very unlikely to be important/useful

* Autogen docs for the "Configuring Parity Ethereum" wiki page. (#10067)

* publish docs changes for autogen config docs

* Update publish-docs.sh

adding an environment variable so js knows not to download git master and just grab the local repo

* Update publish-docs.sh

made some changes making this unnecessary

* fix env variable

env variable passes to node properly now

* use yarn

* test pipeline, revert me

* fix test pipeline, revert me

* change runner tag

* change runner tag 2

* change runner tag

* global git config

* supress upload_files output

* Update .gitlab-ci.yml

reverting testing changes

* Replace tag if exists

Very unlikely to be important/useful

* finality: dont require chain head to be in the chain (#10054)

* Fill transaction hash on ethGetLog of light client. (#9938)

* Fill transaction hash on ethGetLog of light client. This is enifficient
but we keep align with spec.

* Using better variables names.

* Expose old fast light get log as `parity_getLogsLight`.

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

Fix indent.

Co-Authored-By: cheme <emericchevalier.pro@gmail.com>

* Factor common code between light_logs and logs.

* Remove useless check

* Rename parity light logs to 'parity_getLogsNoTransactionHash'.
Fix indent and extra white lines.

* Use vec instead of tree map to avoid inner function.

* better loop

* fix pubsub new_blocks notifications to include all blocks (#9987)

Fix: new blocks notifications sometimes missing in pubsub RPC

Implement new struct to pass to `new_blocks()` with extra parameter - `has_more_blocks_to_import`, which was previously used to determine whether the notification should be sent. Now it's up to each implementation to decide what to do.

Updated all implementations to behave as before, except `eth_pubsub`, which will send notification even when the queue is not empty.

Update tests.

* Revert part of 70a6db7

* HF in POA Core (2019-01-18) - Constantinople (#10155)

https://github.com/poanetwork/poa-chain-spec/pull/100

* ci: re-enable snap publishing (#10142)

* ci: enable snap publishing~

* ci: add publish snap script

* ci: add snapcraft skeleton

* ci: group export statements

* ci: enable snaps on pr branch

* ci: enable snaps on pr branch

* ci: set default BUILD_ARCH

* ci: enable snaps on pr branch

* ci: enable snaps on pr branch

* ci: add libdb to snap

* ci: reinitiate gitlabci

* ci: reinitiate publish-snap script

* ci: fix yaml syntax

* cargo/gitlab env vars

* debug, revert me

* version?

* debug vars

* vars

* vars fix

* vars fix

* revert

* Update scripts/gitlab/publish-snap.sh

Co-Authored-By: 5chdn <5chdn@users.noreply.github.com>

* ci: read track from cargo toml

* Make sure parent block is not in importing queue when importing ancient blocks (#10138)

* Make sure parent block is not in importing queue when importing ancient blocks

* Clear queue when an ancient import fails

* Lock only once in clear

* Add comments why queued check is needed

* Should push the value back to the queue

* Directly check in chain.read()

* Remove extra empty line

* Revert unused verification change
2019-01-09 15:15:57 +01:00
Thibaut Sardan
7fbcdfeed4 Backports for beta 2.2.5 (#10047)
* bump beta to 2.2.5

* 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.

* Strict empty steps validation (#10041)

* Add two failings tests for strict empty steps.

* Implement strict validation of empty steps.

* ethcore: enable constantinople on ethereum (#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)

* Fix: test corpus_inaccessible panic (#10019)

If system uptime is less than the duration in the test, thread
will panic due to: 'overflow when subtracting duration from instant'.

Changed duration to 20 seconds to make it unlikely the test will
fail due to this condition.

Since no operations that carry a similar risk of panic occur outside
of the tests, it doesn't seem warranted to depend on an external crate
to fix this.

* Bump crossbeam. (#10048)
2018-12-13 17:52:49 +01:00
Afri Schoedon
f44d885b6d patch beta release pipeline (#10020)
* version: bump beta to 2.2.4

* ci: move future releases to ethereum subdir on s3 (#10017)

* ci: move future releases to ethereum subdir on s3

* ci: redesign s3 bucket logic

* ci: use the releases bucket

* Handle failing case for update account cache in require (#9989)

* state: remove accidently merged test

* state: remove merge leftovers
2018-12-05 16:07:11 +01:00
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
Kirill Fomichev
f8f8bf0fea RPC: parity_allTransactionHashes (#9745)
* rpc: add parity_allTransactionHashes

* Add light_all_transactionst to helpers

* Remove extra parentheses

* Move light_all_transactions to light_fetch

* Remove LightDispatcher import in light_fetch
2018-10-27 09:38:35 +02:00
Andronik Ordian
6643b6a306 Revert "prevent zero networkID (#9763)" (#9815)
This reverts commit 73f08b376f.
2018-10-27 02:53:19 +08:00
Wei Tang
7036ab26d7 Allow zero chain id in EIP155 signing process (#9792)
* Allow zero chain id in EIP155 signing process

* Rename test

* Fix test failure
2018-10-26 22:44:02 +08:00
Azamat M
9b55169251 Add readiness check for docker container (#9804)
* Update Dockerfile

Since parity is built for "mission critical use", I thought other operators may see the need for this.

Adding the `curl` and `jq` commands allows for an extremely simple health check to be usable in container orchestrators.

For example. Here is a health check for a parity docker container running in Kubernetes.

This can be setup as a readiness Probe that would prevent clustered nodes that aren't ready from serving traffic.

```bash
#!/bin/bash

ETH_SYNCING=$(curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' http://localhost:8545 -H 'Content-Type: application/json')
RESULT=$(echo "$ETH_SYNCING | jq -r .result)

if [ "$RESULT" == "false" ]; then
  echo "Parity is ready to start accepting traffic"
  exit 0
else
  echo "Parity is still syncing the blockchain"
  exit 1
fi
```

* add sync check script
2018-10-26 13:51:08 +02:00
Wei Tang
ff13c9c186 Insert dev account before unlocking (#9813) 2018-10-26 19:44:53 +08:00
felix
879e7305ca removed "rustup" & added new runner tag (#9731)
* removed "rustup" & added new runner tag

* exchanged tag "rust-windows" with "windows"

* revert windows tag change
2018-10-26 13:39:44 +02:00
Wei Tang
1ff827b2ea Expose config max-round-blocks-to-import (#9439)
* Expose config max-round-blocks-to-import

* Fix test
2018-10-26 13:21:36 +02:00
André Silva
e7f1204fa4 aura: finalize blocks (#9692)
* aura: emit ancestry actions for finalizing blocks

* aura: refactor is_epoch_end to get finalized blocks as argument

* ethcore: add is_epoch_end_light method to Engine

The full client now tracks finality by querying the engine on each block import,
and it also persists the finalization state to the DB. For the light client
current it doesn't persist finality information and only keeps track of finality
for epoch signals, by calling `is_epoch_end_light`. This method implements the
previously existing logic of building finality for all the blocks in the current
epoch and then checking the finalized blocks against the transition store.

* ethcore: allow finalizing current block

* aura: fix construction of finality proof

* aura: fix warnings

- missing docs for is_epoch_end_light
- unused method unfinalized_hashes in RollingFinality

* aura: fix clone on copy types
2018-10-25 17:33:41 +02:00
Andrew Jones
9a2c4a34ee sync: retry different peer after empty subchain heads response (#9753)
* If no subchain heads then try a different peer

* Add log when useless chain head

* Restrict ChainHead useless peer to ancient blocks

* sync: replace `limit_reorg` with `block_set` condition
2018-10-25 16:56:59 +02:00
Niklas Adolfsson
f4c421f77a fix(light-rpc/parity) : Remove unused client (#9802) 2018-10-24 12:55:24 +02:00
Seun LanLege
fe84718b55 drops support for olympic testnet, closes #9800 (#9801) 2018-10-23 23:54:44 +08:00
Nick Sanders
15d71a01d5 Replace tokio_core with tokio (ring -> 0.13) (#9657)
* Replace `tokio_core` with `tokio`.

* Remove `tokio-core` and replace with `tokio` in

    - `ethcore/stratum`

    - `secret_store`

    - `util/fetch`

    - `util/reactor`

* Bump hyper to 0.12 in

    - `miner`

    - `util/fake-fetch`

    - `util/fetch`

    - `secret_store`

* Bump `jsonrpc-***` to 0.9 in

    - `parity`

    - `ethcore/stratum`

    - `ipfs`

    - `rpc`

    - `rpc_client`

    - `whisper`

* Bump `ring` to 0.13

* Use a more graceful shutdown process in `secret_store` tests.

* Convert some mutexes to rwlocks in `secret_store`.

* Consolidate Tokio Runtime use, remove `CpuPool`.

* Rename and move the `tokio_reactor` crate (`util/reactor`) to
  `tokio_runtime` (`util/runtime`).

* Rename `EventLoop` to `Runtime`.

    - Rename `EventLoop::spawn` to `Runtime::with_default_thread_count`.

    - Add the `Runtime::with_thread_count` method.

    - Rename `Remote` to `Executor`.

* Remove uses of `CpuPool` and spawn all tasks via the `Runtime` executor
  instead.

* Other changes related to `CpuPool` removal:

    - Remove `Reservations::with_pool`. `::new` now takes an `Executor` as an argument.

    - Remove `SenderReservations::with_pool`. `::new` now takes an `Executor` as an argument.
2018-10-23 11:14:45 +02:00
Nick Sanders
abe30f2578 Replace tokio_core with tokio (ring -> 0.13) (#9657)
* Replace `tokio_core` with `tokio`.

* Remove `tokio-core` and replace with `tokio` in

    - `ethcore/stratum`

    - `secret_store`

    - `util/fetch`

    - `util/reactor`

* Bump hyper to 0.12 in

    - `miner`

    - `util/fake-fetch`

    - `util/fetch`

    - `secret_store`

* Bump `jsonrpc-***` to 0.9 in

    - `parity`

    - `ethcore/stratum`

    - `ipfs`

    - `rpc`

    - `rpc_client`

    - `whisper`

* Bump `ring` to 0.13

* Use a more graceful shutdown process in `secret_store` tests.

* Convert some mutexes to rwlocks in `secret_store`.

* Consolidate Tokio Runtime use, remove `CpuPool`.

* Rename and move the `tokio_reactor` crate (`util/reactor`) to
  `tokio_runtime` (`util/runtime`).

* Rename `EventLoop` to `Runtime`.

    - Rename `EventLoop::spawn` to `Runtime::with_default_thread_count`.

    - Add the `Runtime::with_thread_count` method.

    - Rename `Remote` to `Executor`.

* Remove uses of `CpuPool` and spawn all tasks via the `Runtime` executor
  instead.

* Other changes related to `CpuPool` removal:

    - Remove `Reservations::with_pool`. `::new` now takes an `Executor` as an argument.

    - Remove `SenderReservations::with_pool`. `::new` now takes an `Executor` as an argument.
2018-10-22 10:11:24 +02:00
Nick Sanders
fdae48547b Replace tokio_core with tokio (ring -> 0.13) (#9657)
* Replace `tokio_core` with `tokio`.

* Remove `tokio-core` and replace with `tokio` in

    - `ethcore/stratum`

    - `secret_store`

    - `util/fetch`

    - `util/reactor`

* Bump hyper to 0.12 in

    - `miner`

    - `util/fake-fetch`

    - `util/fetch`

    - `secret_store`

* Bump `jsonrpc-***` to 0.9 in

    - `parity`

    - `ethcore/stratum`

    - `ipfs`

    - `rpc`

    - `rpc_client`

    - `whisper`

* Bump `ring` to 0.13

* Use a more graceful shutdown process in `secret_store` tests.

* Convert some mutexes to rwlocks in `secret_store`.

* Consolidate Tokio Runtime use, remove `CpuPool`.

* Rename and move the `tokio_reactor` crate (`util/reactor`) to
  `tokio_runtime` (`util/runtime`).

* Rename `EventLoop` to `Runtime`.

    - Rename `EventLoop::spawn` to `Runtime::with_default_thread_count`.

    - Add the `Runtime::with_thread_count` method.

    - Rename `Remote` to `Executor`.

* Remove uses of `CpuPool` and spawn all tasks via the `Runtime` executor
  instead.

* Other changes related to `CpuPool` removal:

    - Remove `Reservations::with_pool`. `::new` now takes an `Executor` as an argument.

    - Remove `SenderReservations::with_pool`. `::new` now takes an `Executor` as an argument.
2018-10-22 10:09:28 +02:00
Nick Sanders
68ca8df22f Replace tokio_core with tokio (ring -> 0.13) (#9657)
* Replace `tokio_core` with `tokio`.

* Remove `tokio-core` and replace with `tokio` in

    - `ethcore/stratum`

    - `secret_store`

    - `util/fetch`

    - `util/reactor`

* Bump hyper to 0.12 in

    - `miner`

    - `util/fake-fetch`

    - `util/fetch`

    - `secret_store`

* Bump `jsonrpc-***` to 0.9 in

    - `parity`

    - `ethcore/stratum`

    - `ipfs`

    - `rpc`

    - `rpc_client`

    - `whisper`

* Bump `ring` to 0.13

* Use a more graceful shutdown process in `secret_store` tests.

* Convert some mutexes to rwlocks in `secret_store`.

* Consolidate Tokio Runtime use, remove `CpuPool`.

* Rename and move the `tokio_reactor` crate (`util/reactor`) to
  `tokio_runtime` (`util/runtime`).

* Rename `EventLoop` to `Runtime`.

    - Rename `EventLoop::spawn` to `Runtime::with_default_thread_count`.

    - Add the `Runtime::with_thread_count` method.

    - Rename `Remote` to `Executor`.

* Remove uses of `CpuPool` and spawn all tasks via the `Runtime` executor
  instead.

* Other changes related to `CpuPool` removal:

    - Remove `Reservations::with_pool`. `::new` now takes an `Executor` as an argument.

    - Remove `SenderReservations::with_pool`. `::new` now takes an `Executor` as an argument.
2018-10-22 09:40:50 +02:00
HackyMiner
b8da38f4e4 Support eth_chainId RPC method (#9783)
* Support eth_chainId RPC method

 * https://github.com/ethereum/EIPs/pull/695
 * Original PR is #6329

* rpc: remove parity_chainId
2018-10-21 03:13:23 +08:00
Afri Schoedon
1f103ab7f1 ethcore: bump ropsten forkblock checkpoint (#9775) 2018-10-18 15:54:42 +02:00
Afri Schoedon
da6cf33aac docs: changelogs for 2.0.8 and 2.1.3 (#9758)
* docs: add changelog for parity ethereum v2.1.3 beta

* docs: add changelog for parity ethereum v2.0.7 stable
2018-10-17 14:52:11 +02:00
Seun LanLege
73f08b376f prevent zero networkID (#9763)
* prevent zero networkID, closes #8345

Signed-off-by: Seun LanLege <seunlanlege@gmail.com>

* updated networkID of olymic chain spec

Signed-off-by: Seun LanLege <seunlanlege@gmail.com>
2018-10-17 07:47:11 +08:00
Yucong Sun
ed34d1fee7 Skip seal fields count check when --no-seal-check is used (#9757)
* Skip seal fields count check when --no-seal-check is used

* Remove trailing whitespace
2018-10-16 18:24:47 +08:00
André Silva
e9f4f1d13c aura: fix panic on extra_info with unsealed block (#9755)
* aura: fix panic when unsealed block passed to extra_info

* aura: use hex formatting for EmptyStep hashes

* aura: add test for extra_info
2018-10-15 18:05:53 +02:00
Afri Schoedon
e5bb330be5 docs: update changelogs (#9742)
* docs: add changelog for 2.0.7 stable

* docs: add changelog for 2.1.2 beta
2018-10-15 18:01:35 +02:00
Svyatoslav Nikolsky
e23e22cb81 removed extra assert in generation_session_is_removed_when_succeeded (#9738) 2018-10-15 16:02:09 +01:00
Wei Tang
7434026f5f Make checkpoint_storage_at use plain loop instead of recursion (#9734)
* Make checkpoint_storage_at use plain loop instead of recursion

* Add target: "state" to warn!

* Use iterator::Skip
2018-10-15 22:06:56 +08:00
Wei Tang
5319d33bc6 Use signed 256-bit integer for sstore gas refund substate (#9746)
* Add signed refund

* Use signed 256-bit integer for sstore gas refund substate

* Fix tests

* Remove signed mod and use i128 directly

* Fix evm test case casting

* Fix jsontests ext signature
2018-10-15 17:09:55 +08:00
gabriel klawitter
702311b6b2 heads ref not present for branches beta and stable (#9741) 2018-10-12 13:45:28 +02:00
Yohan Graterol
2511bc20e0 Add Callisto support (#9534)
* Add Callisto Mainnet support

* Add new bootnodes

* Remove merge failure

* EIP-649 removed

* Remove eip649Reward

* Modify difficultyBombDelays

* Callisto reward smart contract

* Remove ethash params

* Fix merge
2018-10-11 11:03:57 +02:00
Wei Tang
ce5a6eabae Add --force to cargo audit install script (#9735) 2018-10-11 10:53:00 +02:00
Marek Kotewicz
581cd97ba1 remove unused expired value from Handshake (#9732) 2018-10-10 23:17:17 +02:00
Thibaut Sardan
fa2f99641f Add hardcoded headers (#9730)
* add foundation hardcoded header #6486017

* add ropsten hardcoded headers #4202497

* add kovan hardcoded headers #9023489
2018-10-10 17:37:10 +02:00
Andronik Ordian
c40f7db1ab produce portable binaries (#9725) 2018-10-10 14:52:15 +02:00
gabriel klawitter
be1363e943 gitlab ci: releasable_branches: change variables condition to schedule (#9729) 2018-10-10 14:51:36 +02:00
David
c313039526 Update a few parity-common dependencies (#9663)
* Update a few parity-common dependencies

* cleanup

* cleanup

* revert update of ethereum/tests

* better reporting of network rlp errors

* Use rlp 0.3.0-beta.1

* fix util function get_dummy_blocks

* Already a Vec

* encode_list returns vec already

* Address grumble

* No need for betas

* Fix double spaces
2018-10-09 22:07:25 +02:00
Vadim Arasev
73db5dda8c HF in POA Core (2018-10-22) (#9724)
https://github.com/poanetwork/poa-chain-spec/pull/87
2018-10-09 17:17:39 +02:00
gabriel klawitter
5a8fb77fb2 Schedule nightly builds (#9717)
* introduce SCHEDULE_TAG variable for gitlab scheduled nightly builds

* add refs for complex only statement in .gitlab-ci.yml
2018-10-09 15:32:07 +02:00
Andrew Jones
4b6ebcbb61 Fix ancient blocks sync (#9531)
* Log block set in block_sync for easier debugging

* logging macros

* Match no args in sync logging macros

* Add QueueFull error

* Only allow importing headers if the first matches requested

* WIP

* Test for chain head gaps and log

* Calc distance even with 2 heads

* Revert previous commits, preparing simple fix

This reverts commit 5f38aa885b22ebb0e3a1d60120cea69f9f322628.

* Reject headers with no gaps when ChainHead

* Reset block sync download when queue full

* Simplify check for subchain heads

* Add comment to explain subchain heads filter

* Fix is_subchain_heads check and comment

* Prevent premature round completion after restart

This is a problem on mainnet where multiple stale peer requests will
force many rounds to complete quickly, forcing the retraction.

* Reset stale old blocks request after queue full

* Revert "Reject headers with no gaps when ChainHead"

This reverts commit 0eb865539e5dee37ab34f168f5fb643300de5ace.

* Add BlockSet to BlockDownloader logging

Currently it is difficult to debug this because there are two instances,
one for OldBlocks and one for NewBlocks. This adds the BlockSet to all
log messages for easy log filtering.

* Reset OldBlocks download from last enqueued

Previously when the ancient block queue was full it would restart the
download from the last imported block, so the ones still in the queue would be
redownloaded. Keeping the existing downloader instance and just
resetting it will start again from the last enqueued block.:wq

* Ignore expired Body and Receipt requests

* Log when ancient block download being restarted

* Only request old blocks from peers with >= difficulty

https://github.com/paritytech/parity-ethereum/pull/9226 might be too
permissive and causing the behaviour of the retraction soon after the
fork block. With this change the peer difficulty has to be greater than
or euqal to our syncing difficulty, so should still fix
https://github.com/paritytech/parity-ethereum/issues/9225

* Some logging and clear stalled blocks head

* Revert "Some logging and clear stalled blocks head"

This reverts commit 757641d9b817ae8b63fec684759b0815af9c4d0e.

* Reset stalled header if useless more than once

* Store useless headers in HashSet

* Add sync target to logging macro

* Don't disable useless peer and fix log macro

* Clear useless headers on reset and comments

* Use custom error for collecting blocks

Previously we resued BlockImportError, however only the Invalid case and
this made little sense with the QueueFull error.

* Remove blank line

* Test for reset sync after consecutive useless headers

* Don't reset after consecutive headers when chain head

* Delete commented out imports

* Return DownloadAction from collect_blocks instead of error

* Don't reset after round complete, was causing test hangs

* Add comment explaining reset after useless

* Replace HashSet with counter for useless headers

* Refactor sync reset on bad block/queue full

* Add missing target for log message

* Fix compiler errors and test after merge

* ethcore: revert ethereum tests submodule update
2018-10-09 15:31:40 +02:00
Afri Schoedon
bc056c41bc CI: Skip docs job for nightly (#9693)
* ci: force-tag wiki changes

* ci: force-tag wiki changes

* ci: skip docs job for master and nightly

* ci: revert docs job checking for nightly tag

* ci: exclude docs job from nightly builds in gitlab script
2018-10-09 12:50:31 +02:00
Niklas Adolfsson
5b54442a48 fix (light/provider) : Make read_only executions read-only (#9591)
* `ExecutionsRequest` from light-clients as read-only

This changes so all `ExecutionRequests` from light-clients are executed
as read-only which the `virtual``flag == true ensures.

This boost up the current transaction to always succeed

Note, this only affects `eth_estimateGas` and `eth_call` AFAIK.

* grumbles(revert renaming) : TransactionProof

* grumbles(trace) : remove incorrect trace

* grumbles(state/prove_tx) : explicit `virt`

Remove the boolean flag to determine that a `state::prove_transaction`
whether it should be executed in a virtual context or not.

Because of that also rename the function to
`state::prove_transction_virtual` to make more clear
2018-10-08 21:30:46 +02:00
André Silva
dc14cce7a9 ethcore: fix detection of major import (#9552)
* sync: set state to idle after sync is completed

* sync: refactor sync reset
2018-10-08 12:04:38 +01:00
David
4f278ba715 return 0 on error (#9705) 2018-10-05 12:23:04 +02:00
Afri Schoedon
1036fcca36 ethcore: delay ropsten hardfork (#9704) 2018-10-05 15:09:42 +08:00
Marek Kotewicz
6b286a5dee make instantSeal engine backwards compatible, closes #9696 (#9700) 2018-10-04 15:08:20 +02:00
Wei Tang
c8ae675b95 Implement CREATE2 gas changes and fix some potential overflowing (#9694)
* Implement CREATE2 gas changes and fix some potential overflowing

* Ignore create2 state tests

* Split CREATE and CREATE2 in gasometer

* Generalize rounding (x + 31) / 32 to to_word_size
2018-10-04 20:50:18 +08:00
Tomasz Drwięga
4186467129 Don't hash the init_code of CREATE. (#9688) 2018-10-04 12:32:04 +01:00
André Silva
726884afcb ethcore: minor optimization of modexp by using LR exponentiation (#9697) 2018-10-04 12:29:53 +01:00
Marek Kotewicz
5a2f3e700b removed redundant clone before each block import (#9683)
* removed redundant clone before each block import

* Fix a trival typo
2018-10-04 01:44:58 +08:00
EOS Classic
911fc74346 Add Foundation Bootnodes (#9666) 2018-10-04 00:01:22 +08:00
Lorenzo Manacorda
1388f4d27e Docker: run as parity user (#9689) 2018-10-03 13:10:05 +01:00
André Silva
5b87327a43 ethcore: mcip3 block reward contract (#9605)
* Use static call and apparent value transfer for block reward contract code

* ethcore: implement musicoin block reward logic with contract

* ethcore: update musicoin block reward contract bytecode

* ethcore: add comment with source of musicoin block reward contract

* ethcore: remove unused mcip6_byz chain spec
2018-10-03 12:44:43 +01:00
Jim Posen
2fc1679886 Verify block syncing responses against requests (#9670)
* sync: Validate received BlockHeaders packets against stored request.

* sync: Validate received BlockBodies and BlockReceipts.

* sync: Fix broken tests.

* sync: Unit tests for BlockDownloader::import_headers.

* sync: Unit tests for import_{bodies,receipts}.

* tests: Add missing method doc.
2018-10-03 18:35:10 +08:00
YihaoPeng
7ba5652bea Add a new RPC parity_submitWorkDetail similar eth_submitWork but return block hash (#9404)
* add a new RPC `eth_submitWorkDetail`similar `eth_submitWork`.

It has more details (block hash, error message, and more in future)
in its response and not only the `true` or `false`.

* move RPC submitWorkDetail from namespace eth_ to parity_

* remove SubmitDetailResult type; submitWorkDetail return a error when failed

* change error message of RPC error `cannot_submit_work`.

* remove double imported H256.

* put submit_work_detail into a helper to avoid the duplicate codes.
2018-10-03 03:02:48 +08:00
Wei Tang
1e9aebbc86 Resumable EVM and heap-allocated callstack (#9360)
* Add new Vm trappable interface

* Exec/Resume interface

* Basic implementation of CallCreateExecutive

* Implement resume_call and resume_create for executive

* Move convertion to call/create result to separate function

* Implement consume that converts resumable to non-resumable

* Use consume for Executive::call/create

* Resumable EVM

* Implement tracing mode without needing subtracers

* Implement vmtracer so it doesn't require extra structs for subtracing

* Use the new tracing mode in executive

* Fix most of the linting errors for cargo build

* Add the concept of stack_depth

* Add back crossbeam

* Fix some test compile

* Fix prefix address test

* Fix evm crate tests

* Fix wasm crate test compile

* Fix wasm runner compile

* Fix jsontests compile

* Fix evmbin compile

* Fix an issue with create nonce and better vm tracing interface

* Fix linting

* Fix evmbin compile

* Fix unconfirmed_substate and static_flag

* Fix an issue in create address logic

* Fix top-level tracing

* Handle builtin tracing

* Fix suicide and reward tracing index stack

* Fix an issue where trap conflicts with tracing

* Fix an issue in parent step vm tracing

* Fix revert tracing

* Fix evmbin tests

* Remove params clone

* Fix TODO proofs

* Fix jsontests compile

* Fix evmbin merge issue

* Fix wasm merge issue

* Fix wasm test

* Fix ethcore merge warnings

* Fix evmbin compile

* Better expect messages and add some trace::skip_one asserts
2018-10-02 22:33:19 +08:00
Marek Kotewicz
61ec361182 update parity-wordlist library (#9682) 2018-10-02 13:50:50 +01:00
Afri Schoedon
7781cbbc57 CI: Remove unnecessary pipes (#9681)
* ci: reduce gitlab pipelines significantly

* ci: build pipeline for PR

* ci: remove dead weight

* ci: remove github release script

* ci: remove forever broken aura tests

* ci: add random stuff to the end of the pipes

* ci: add wind and mac to the end of the pipe

* ci: remove snap artifacts

* ci: (re)move dockerfiles

* ci: clarify job names

* ci: add cargo audit job

* ci: make audit script executable

* ci: ignore snap and docker files for rust check

* ci: simplify audit script

* ci: rename misc to optional

* ci: add publish script to releaseable branches

* ci: more verbose cp command for windows build

* ci: fix weird binary checksum logic in push script

* ci: fix regex in push script for windows

* ci: simplify gitlab caching

* docs: align README with ci changes

* ci: specify default cargo target dir

* ci: print verbose environment

* ci: proper naming of scripts

* ci: restore docker files

* ci: use docker hub file

* ci: use cargo home instead of cargo target dir

* ci: touch random rust file to trigger real builds

* ci: set cargo target dir for audit script

* ci: remove temp file

* ci: don't export the cargo target dir in the audit script

* ci: fix windows unbound variable

* docs: fix gitlab badge path

* rename deprecated gitlab ci variables

https://docs.gitlab.com/ee/ci/variables/#9-0-renaming

* ci: fix git compare for nightly builds

* test: skip c++ example for all platforms but linux

* ci: add random rust file to trigger tests

* ci: remove random rust file

* disable cpp lib test for mac, win and beta (#9686)
2018-10-02 00:03:58 +01:00
gabriel klawitter
f3b806b471 test.sh: use cargo --target for platforms other than linux, win or mac (#9650)
* test.sh: use cargo --target for platforms other than linux, win or mac

* drying test.sh script

* run tests only when not cross-compiling

* quote variable value
2018-10-01 11:55:17 +01:00
Andronik Ordian
6496405f30 ci: fix push script (#9679)
* ci: fix push script

* Fix copying & running on windows.
2018-10-01 10:13:31 +01:00
Afri Schoedon
85a6dc5e8c Hardfork the testnets (#9562)
* ethcore: propose hardfork block number 4230000 for ropsten

* ethcore: propose hardfork block number 9000000 for kovan

* ethcore: enable kip-4 and kip-6 on kovan

* etcore: bump kovan hardfork to block 9.2M

* ethcore: fix ropsten constantinople block number to 4.2M

* ethcore: disable difficulty_test_ropsten until ethereum/tests are updated upstream
2018-09-30 13:44:17 +01:00
Tomasz Drwięga
856bbfc9c8 Calculate sha3 instead of sha256 for push-release. (#9673)
* Calculate sha3 instead of sha256 for push-release.

* Add pushes to the script.
2018-09-30 12:42:49 +01:00
Marek Kotewicz
ebaa43fa4c ethcore-io retries failed work steal (#9651)
* ethcore-io uses newer version of crossbeam && retries failed work steal

* ethcore-io non-mio service uses newer crossbeam
2018-09-29 21:25:16 +01:00
Andronik Ordian
2d44b3ebea fix(light_fetch): avoid race with BlockNumber::Latest (#9665) 2018-09-29 21:22:36 +01:00
ddorgan
984493db30 Test fix for windows cache name... (#9658)
* Test fix for windows cache name...

* Fix variable name.
2018-09-28 18:52:15 +01:00
Niklas Adolfsson
47848769ff refactor(fetch) : light use only one DNS thread (#9647)
* refactor(fetch) : light use only one `DNS` thread

* grumbles(fetch) : pass number of threads directly
2018-09-28 14:26:38 +01:00
cheme
a8f6f5b974 ethereum libfuzzer integration small change (#9547)
* Minor changes for ethereum libfuzzer.
2018-09-27 17:17:23 +02:00
André Silva
1e13f474cb cli: remove reference to --no-ui in --unlock flag help (#9616) 2018-09-27 11:24:34 +01:00
Denis S. Soldatov aka General-Beck
c69c3a9a46 remove master from releasable branches (#9655)
* remove master from releasable branches

need backporting in beta 
fix https://gitlab.parity.io/parity/parity-ethereum/-/jobs/101065 etc

* add except for snap packages for master
2018-09-27 11:21:48 +01:00
Niklas Adolfsson
3216b143c2 ethcore/VerificationQueue don't spawn up extra worker-threads when explictly specified not to (#9620)
* VerificationQueue don't spawn up extra threads

In the verification queue we spawn up worker threads to do the work.
However, if `num-verifiers` is specified we still spawn the maximum
number of threads which consume extra memory.

There is one catch though when `--scale-verifiers` is specified then
we can't do it because all threads are created upon initilization AFAIK.

In my opinion, is doesn't to use both `num-verifiers` and
`scale-verifiers` they are kind of contradictory!

* Fix nits in logic and add tests for verification

* refactor(verification queue) - rm hardcoded const

* Address grumbles in new tests
* Remove hardcoded `MAX_VERIFIERS` constant and replace it by relying
entirely on `num_cpu` crate instead inorder to support CPUs that have
more cores/logical cores
2018-09-26 15:11:50 +01:00
Tomasz Drwięga
cc963d42a0 RPC: parity_getBlockReceipts (#9527)
* Block receipts RPC.

* Use lazy evaluation of block receipts (ecrecover).

* Optimize transaction_receipt to prevent performance regression.

* Fix RPC grumbles.

* Add block & transaction receipt tests.

* Fix conversion to block id.
2018-09-25 18:06:14 +01:00
Niklas Adolfsson
3f95a62e4f Remove unused dependencies (#9589)
Remove unused dependencies and move `rustc-hex` to tests because it is
only used in tests
2018-09-25 15:27:27 +02:00
Marek Kotewicz
7f9a9e2e82 ignore key_server_cluster randomly failing tests (#9639)
* ignore key_server_cluster randomly failing tests, related to #9635

* added explanation comment to test #[ignore]
2018-09-25 14:15:35 +01:00
André Silva
375ecd4ada ethcore: handle vm exception when estimating gas (#9615) 2018-09-25 12:35:07 +01:00
Marek Kotewicz
8875dccd11 fix bad-block reporting no reason (#9638) 2018-09-25 18:55:24 +08:00
Wei Tang
4c2301fdf6 Use static call and apparent value transfer for block reward contract code (#9603) 2018-09-25 11:39:27 +01:00
Vadim Arasev
346594c406 HF in POA Sokol (2018-09-19) (#9607)
https://github.com/poanetwork/poa-chain-spec/pull/86
2018-09-25 12:25:55 +02:00
Marek Kotewicz
2609e2db5c bump smallvec to 0.6 in ethcore-light, ethstore and whisper (#9588)
* bump smallvec to 0.6 in ethcore-light, ethstore and whisper

* bump transaction-pool

* Fix test.
2018-09-25 12:24:59 +02:00
cheme
692d5b4e08 Add constantinople conf to EvmTestClient. (#9570)
* Add constantinople conf to EvmTestClient.

* Skip some test to update submodule etheureum/tests submodule to latest.

* Put skipping 'under issue' test behind a feature.

* Change blockReward for const-test to pass ethereum/tests

* Update tests to new constantinple definition (change of reward at block
5).
Switch 'reference' to string, that way we can include issues from others
repo (more flexible)Update tests to new constantinple definition (change
of reward at block 5).
Switch 'reference' to string, that way we can include issues from others
repo (more flexible).

* Fix modexp and bn128_mul gas prices in chain config

* Changes `run_test_path` method to append its directory results (without
that it stop testing at the first file failure).
Add some missing tests.
Add skip for those (block create2 is one hundred percent false but on
hive we can see that geth and aleth got similar issue for this item).

* retab current.json

* Update reference to parity issue for failing tests.
2018-09-25 12:24:40 +02:00
Andronik Ordian
c4af7464e5 fix(network): don't disconnect reserved peers (#9608)
The priority of && and || was borked.
2018-09-25 10:59:21 +01:00
Marek Kotewicz
5a1dc3eb8a fix failing node-table tests on mac os, closes #9632 (#9633) 2018-09-24 21:51:16 +01:00
EOS Classic
adcbfcf8d6 Update ropsten.json (#9602) 2018-09-24 11:30:01 +01:00
Marek Kotewicz
b57607e7d3 simplify ethcore errors by removing BlockImportError (#9593) 2018-09-24 11:28:54 +01:00
Marek Kotewicz
2f159d4f45 fix windows compilation, replaces #9561 (#9621)
* fix windows compilation, replaces #9561

* tokio-named-pipes
2018-09-24 11:27:51 +01:00
gabriel klawitter
93e1040d07 master: rpc-docs set github token (#9610) 2018-09-21 13:02:15 +02:00
Afri Schoedon
403c07c305 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)
* docs: prepare changelog for 2.1.0 beta

* docs: move changelog for 2.0.x to stable

* docs: add changelog for legacy 1.11.x

* docs: add release notes for 2.0.x beta releases

* docs: mark 1.11 end of life

* docs: prepare release notes for 2.0.5 stable

* docs: prepare release notes for 2.1.0 beta

* ci: ignore docs in tests

* docs: bump version in readme

* docs: update changelog for 2.0.5 stable

* docs: update changelog for 2.1.0 beta

* docs: update changelog for 2.1.0 beta

* docs: remove eip86 from release notes

* docs: update changelog for 2.1.0

* docs: add changelog for 2.1.1 and 2.0.6

* docs: correct spelling of certain words in the latest changelog
2018-09-20 10:59:15 +02:00
Andronik Ordian
6253308e2e docs(rpc): annotate tag with the provided message (#9601) 2018-09-19 20:23:47 +02:00
Afri Schoedon
33a014013a ci: fix regex 🙄 (#9597) 2018-09-19 18:57:59 +02:00
Denis S. Soldatov aka General-Beck
4637215ab2 Remove snapcraft clean (#9585)
* Revert " add snapcraft package image (master) (#9584)"

This reverts commit ceaedbbd7f.

* Update package-snap.sh

* Update .gitlab-ci.yml
2018-09-18 15:34:24 +02:00
Denis S. Soldatov aka General-Beck
ceaedbbd7f add snapcraft package image (master) (#9584) 2018-09-18 14:39:27 +02:00
Andronik Ordian
52f8b1a1d7 docs(rpc): push the branch along with tags (#9578)
* docs(rpc): push the branch along with tags

* ci: remove old rpc docs script
2018-09-18 08:54:50 +02:00
Thibaut Sardan
e6d1250185 Fix typo for jsonrpc-threads flag (#9574) 2018-09-18 00:56:33 +08:00
Wei Tang
d04e5e49d0 Fix informant compile (#9571) 2018-09-17 16:16:49 +02:00
EOS Classic
a72436f330 Added ropsten bootnodes (#9569)
from @eosclassicteam with ❤️
2018-09-17 12:16:32 +02:00
EOS Classic
467403f437 Increase Gas-floor-target and Gas Cap (#9564)
+ Gas-floor-target increased to 8M by default

+ Gas-cap increased to 10M by default
2018-09-17 08:33:00 +02:00
gabriel klawitter
bbaac0c6a9 while working on the platform tests make them non-breaking (#9563)
* while working on the platform tests make them non-critical

* ci: unify test stage job names and torelate more failures

* ci: restore valid yaml

* ci: allow beta and nightly rust builds to fail
2018-09-15 13:43:19 +02:00
Nicolas Gotchac
753fd4bda3 Improve P2P discovery (#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
2018-09-14 22:18:03 +02:00
gabriel klawitter
57d2c8c94a move dockerfile for android build container to scripts repo (#9560) 2018-09-14 16:16:36 +02:00
gabriel klawitter
870ec89e9a Simultaneous platform tests WIP (#9557)
* look into commit changes

* look into commit changes ii

* all on test

* build only_releaseable_branches for platforms

* allow failure for check during development

* windows test typo

* fix sh for windows

* remove check stage again

* debug macos platform
2018-09-14 15:55:14 +02:00
Marek Kotewicz
0c3b70f2fb update ethabi-derive, serde, serde_json, serde_derive, syn && quote (#9553) 2018-09-14 03:37:28 +08:00
Andronik Ordian
7a367698fe ci: fix rpc docs generation 2 (#9550) 2018-09-13 14:36:44 +02:00
Afri Schoedon
c77e99814b ci: always run build pipelines for win, mac, linux, and android (#9537)
* ci: always run build pipelines for win, mac, linux, and android

* ci: always run build pipelines for win, mac, linux, and android

* ci: disallow failure for publish scripts

* ci: enable tests on master

* ci: run tests in debug mode to speed things up

* ci: only build windows, darwin, and android targets on PRs

* ci: reenable darwin and android pipelines on PR

* ci: revert tests to run in release mode
2018-09-13 13:15:15 +02:00
Nicolas Gotchac
4ddd69cc55 Multithreaded snapshot creation (#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
2018-09-13 12:58:49 +02:00
Marek Kotewicz
ef4a61c769 new ethabi (#9511)
* new ethabi migration in progress

* parity migrated to new ethabi

* migrated secred-store to new ethabi

* bump ethabi to 6.0

* fixed review suggestions
2018-09-13 11:04:39 +02:00
Tomasz Drwięga
7dfb5ff5bd Remove initial token for WS. (#9545) 2018-09-13 10:58:52 +02:00
Marek Kotewicz
6b391312ab net_version caches network_id to avoid redundant aquire of sync read lock (#9544)
* net_version caches network_id to avoid redundant aquire of sync read lock, #8746

* use lower_hex display formatting for net_peerCount rpc method
2018-09-13 10:16:24 +02:00
gabriel klawitter
6e62d77e4d correct before_script for nightly build versions (#9543)
- fix gitlab array of strings syntax error
- get proper commit id
- avoid colon in stings
2018-09-12 17:46:56 +03:00
Afri Schoedon
0281cca9af deps: bump kvdb-rocksdb to 0.1.4 (#9539) 2018-09-12 13:23:09 +02:00
Wei Tang
018e2403b1 state: test when contract creation fails, old storage values should re-appear (#9532)
Because more tests won't hurt. :)

Add a test case for https://github.com/ethereum/py-evm/pull/1224#issuecomment-418775512 where if contract creation fails, old storage values (if ever existed) should re-appear.
2018-09-12 11:42:09 +01:00
cheme
61f4534e2a Allow dropping light client RPC query with no results (#9318)
* OnDemand no longer loop until there is a query.
All peer known at the time will be queried, and the query fail if all
return no reply.
Returning the failure is done through an empty Vec of reply (the type
of the oneshot channel remains unchanged).
Before this commit the query were send randomly to any peer until there
is a reply (for a query that got no result it was an issue, for other
queries it was quering multiple times the same peers).
After this commit the first query is random but next queries
follows hashmap iterator order.

Test no_capability was broken by this commit (the pending query was
removed).

* OnDemand no longer loop until there is a query.
All peer known at the time will be queried, and the query fail if all
return no reply.
Returning the failure is done through an empty Vec of reply (the type
of the oneshot channel remains unchanged).
Before this commit the query were send randomly to any peer until there
is a reply (for a query that got no result it was an issue, for other
queries it was quering multiple times the same peers).
After this commit the first query is random but next queries
follows hashmap iterator order.

Test no_capability was broken by this commit (the pending query was
removed). If adding some kind of timeout mechanism it could be restored.

* Comment plus better field names.

* No panick on dropped oneshot channel.

* Use Set to avoid counter heuristic

* Cli option `on_demand_nb_retry` for maximum number of retry when doing
on demand query in light client.

* Missing test update for previous commit

* Add a timeout (only when there is no peer to query), that way we do not
set number of query to minimum current number peer or configured number
of query : that way capability test was restored.

* Adding an error type for on_demand, it helps having variant of error
reported at rpc level : choice of rpc error code error might not be
right.

* Duration as constant is nice

* Switch to duration in main too

* Fix indentation (sorry for that).

* Fix error management (bad merge in previous commit)

* Lots of english corrections, major change on the new command parameters :
 - use standard '-' instead of '_'
 - renaming nb_retry params to 'on-demand-retry-count'
2018-09-12 11:47:01 +02:00
Afri Schoedon
69667317c1 Bump master to 2.2.0 (#9517)
* parity-version: bump master to 2.2.0

* ci: update branch version references

* docker: release master to latest

* deps: bump fs-swap to 0.2.4
2018-09-12 11:32:05 +02:00
Wei Tang
530aac0682 Enable all Constantinople hard fork changes in constantinople_test.json (#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
2018-09-12 02:08:23 +08:00
Niklas Adolfsson
6e7d8f90b5 [light] Validate account balance before importing transactions (#9417)
* `light::verify_transaction` basic tx validation

* update wasm tests

* Provide `cached_nonce` in `parity_next_nonce` RPC

* nits

* Improve error handeling

Two separate errors for distinguishing between `account not found` and
`insufficient balance`. However, when `next_nonce()` is called and the
account is not found then provide `local_best_next_nonce`!

* Ensure only one n/w request is performed

Refactored to code again:
* Removed `fn cached_next_nonce`
* Removed extra n/w request in `sign` to check balance
* Refactored `fill_optional_field` to request nonce and check account balance

* nits

* grumbles needless clone

* Prevent integer overflow with saturating add & mul

* Call `sign_transaction()` directly from `sign()`

Because the change in `fill_optional_fields` always fill the nonce it is
now possible to call `sign_transaction` directly instead of creating a
`ProspectiveSigner` "object".
2018-09-11 19:20:59 +02:00
cheme
65bf1086a2 In create memory calculation is the same for create2 because the additional parameter was popped before. (#9522) 2018-09-11 23:47:26 +08:00
cheme
98220442b4 Update patricia trie to 0.2.2 (#9525)
* Update patricia trie to 0.2.2 crates. Default dependencies on minor
version only.

* Putting back ethereum tests to the right commit
2018-09-11 16:20:26 +02:00
Hernando Castano
3c3d2ef2b9 Replace hardcoded JSON with serde json! macro (#9489)
* Replace hardcoded JSON with serde json! macro

* Use "{:#x}" formatter instead of "0x{:x}"

* Sort fields of JSON test strings alphabetically

* Stop escaping new lines in evmbin JSON errors

* Remove unnecessary 'to_string()' calls

* Add test with non-empty storage values
2018-09-11 11:36:38 +02:00
gabriel klawitter
67066eb32a fix typo in version string (#9516) 2018-09-11 11:31:25 +02:00
Wei Tang
631df0fe56 Fix checkpointing when creating contract failed (#9514) 2018-09-11 10:28:31 +02:00
Andronik Ordian
485870296d ci: fix json docs generation (#9515) 2018-09-11 09:38:35 +02:00
Tomasz Drwięga
6e5a1c00dc Update state tests execution model (#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
2018-09-10 22:38:30 +02:00
Wei Tang
ba487eaaca Only check warp syncing for eth_getWorks (#9484)
* Only check warp syncing for eth_getWorks

* Use SyncStatus::is_snapshot_syncing
2018-09-11 01:53:42 +08:00
gabriel klawitter
eb0986c3f9 upload will fail if a file with the same hash is already up (#9479)
* upload will fail if a file with the same hash is already up

* compose version string for nightly releases
2018-09-10 18:22:34 +03:00
Nicolas Gotchac
baf5be09dc Fix Snapshot restoration failure on Windows (#9491)
* Close Blooms DB files before DB restoration

* PR Grumbles I

* PR Grumble

* Grumble
2018-09-10 17:21:57 +02:00
Nicolas Gotchac
f3aed42dd6 Don't error when Snapshot is aborted (#9492)
* Don't error when Snapshot is aborted

* PR Grumble

* PR grumble
2018-09-10 21:26:52 +08:00
Wei Tang
44531e3009 light: give free credits for reserved peers (#9448)
* light: give free credits for reserved peers

* Fix ethcore-light tests

* Test free_flow_params
2018-09-10 19:45:49 +08:00
Afri Schoedon
2177a0179e parity: print correct keys path on startup (#9501) 2018-09-09 00:43:24 +02:00
Wei Tang
e1f333021f Generalized blockReward and difficultyBombDelays config (#9480)
* Implement multi blockReward

* Implement difficultyBombDelays

* Fix json crate compile

* json keys can only be string
2018-09-09 00:38:07 +02:00
Andronik Ordian
4040d73c60 rpc(debug_getBadBlocks): fix test (#9502) 2018-09-08 17:34:51 +02:00
Tomasz Drwięga
61bd47ccc1 Bad blocks RPC + reporting (#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.
2018-09-08 04:04:28 +02:00
Wei Tang
915c366056 EIP 1283: Net gas metering for SSTORE without dirty maps (#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
2018-09-07 18:51:08 +08:00
Niklas Adolfsson
6888a968f9 Light clippy(fy) (#9473)
* wasm tests

* `clippyfy` light-client

* Revert inefficient change `collect_ready()`
2018-09-06 15:44:40 +02:00
André Silva
4e8e5bbb86 aura: don't report skipped primaries when empty steps are enabled (#9435) 2018-09-06 13:33:46 +02:00
Wei Tang
5752869824 Support millisecond timestamp for instant seal engine (#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
2018-09-06 11:38:00 +02:00
André Silva
39a12622ae ethcore: don't validate difficulty when ignoring seal check (#9470)
* ethcore: don't validate difficulty when ignoring seal check

* ethcore: fix block verification test

* ethcore: document skipped verifications when check_seal is disabled
2018-09-06 04:37:41 +02:00
Niklas Adolfsson
dca88ff85c [light/jsonrpc] Provide the actual account for eth_coinbase RPC and unify error handeling for light and full client (#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
2018-09-05 19:21:08 +02:00
Pierre Krieger
ab9843cb00 Add a Java interface (#9346)
* Add a Java interface

* Use system ABI

* Forgot exception

* Fix param for parity_rpc

* Address concerns
2018-09-05 17:17:12 +02:00
David
72fd1fa58d Fetch parity-common crates from crates.io (#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
2018-09-04 20:13:51 +02:00
michaelr524
51eac1926f Fixed typo (#9467) 2018-09-04 15:47:33 +01:00
cheme
c1aed4af45 Fix light client deadlock (#9385)
This PR is fixing deadlock for #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.

### Thread1 

- ethcore/sync/light_sync/mod.rs

A call to the light handler through any Io (having a loop of rpc query running on like client makes the dead lock way more likely).
At the end of those calls we systematically call `maintain_sync` method.

Here maintain_sync locks `state` (it is the deadlock cause), with a write purpose

`maintain_sync` -> `begin_search` with the state locked open

`begin_search` -> lightcliennt `flush_queue` method

- ethcore/light/src/client/mod.rs

`flush_queue` -> `flush` on queue (HeaderQueue aka VerificationQueue of headers)

- ethcore/src/verification/queue/mod.rs

Condition there is some unverified or verifying content

`flush` wait on a condvar until the queue is empty. The only way to unlock condvar is that worker is empty and unlock it (so thread 2 is Verification worker).

### Thread2

A verification worker at the end of a verify loop (new block).

- ethcore/src/verification/queue/mod.rs

thread loops on `verify` method.

End of loop condition is_ready -> Import the block immediately 

calls `set_sync` on QueueSignal which send a BlockVerified ClientIoMessage in inner channel (IoChannel of ClientIoMessage) using `send_sync`

- util/io/src/service_mio.rs

IoChannel `send_sync` method calls all handlers with `message` method; one of the handlers is ImportBlocks IoHandler (with a single inner Client service field)

- ethcore/light/src/client/service.rs

`message` trigger inner method `import_verified`

- core/light/src/client/mod.rs

`import_verified` at the very end notify the listeners of a new_headers, one of the listeners is Informant `listener` method

- parity/informant.rs

`newHeaders` run up to call to `is_major_importing` on its target (again clinet)

-  ethcore/sync/src/light_sync/mod.rs

Here `is_major_importing` tries to get state lock (read purpose only) but cannot because of previous state lock, thus deadlock
2018-09-04 15:36:34 +01:00
Wei Tang
c12447c7c5 Fix docs of address_hash (#9463) 2018-09-04 11:25:22 +02:00
gabriel klawitter
502bacea82 fix typo in bash script (#9462) 2018-09-04 10:58:13 +02:00
Wei Tang
da5ba4ccc8 Fix a bug in evmbin initial_gas display (#9457) 2018-09-04 16:33:14 +08:00
Andronik Ordian
1f2426226b evmbin: escape newlines in json errors (#9458) 2018-09-04 14:28:49 +08:00
André Silva
c0eb30b604 use kvdb-* and parity-snappy crates from crates.io (#9441)
* use kvdb-* and parity-snappy crates from crates.io

* update rocksdb-sys and snappy-sys
2018-09-03 17:40:11 +01:00
Wei Tang
caca3a8048 Add EIP-1014 transition config flag (#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
2018-08-31 23:43:51 +08:00
gabriel klawitter
f929419676 add tags for runner selection of build-linux jobs (#9451) 2018-08-31 16:41:21 +02:00
Andrew Jones
bc53e78a04 Remove unused BlockStatus::Pending (#9447)
Pending case never instantiated, and only ever matched together with Unknown
2018-08-31 12:13:01 +01:00
André Silva
3dbea1a7a1 ci: only include local paths in coverage script (except target) (#9437) 2018-08-31 01:21:57 +02:00
Afri Schoedon
644d1db5ef Add POA Networks: Core and Sokol (#9413)
* ethcore: add poa network and sokol chainspecs

* rpc: simplify chain spec docs

* cli: rearrange networks by main/test and size/range

* parity: don't blacklist 0x00a328 on sokol testnet

* parity: add sokol and poanet to params and clean up a bit, add tests

* ethcore: add the poa networks and clean up a bit

* ethcore: fix path to poacore chain spec

* parity: rename poa networks to poacore and poasokol

* parity: fix configuration tests

* parity: fix parameter tests

* ethcore: rename POA Core and POA Sokol
2018-08-30 21:32:47 +02:00
André Silva
07d97d5b26 docker: install missing dependencies in arm target dockerfiles (#9436) 2018-08-30 20:03:38 +02:00
Afri Schoedon
c658b46fe1 Random small cleanups (#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
2018-08-30 19:57:27 +02:00
Wei Tang
8a5c9a8c70 evmbin: Fix gas_used issue in state root mismatch and handle output better (#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
2018-08-29 20:13:45 +03:00
Thibaut Sardan
3e4a525520 Update hardcoded sync (#9421)
- Update foundation hardcoded header to block 6219777 
- Update ropsten hardcoded header to block 3917825 
- Update kovan hardcoded header to block 8511489
2018-08-29 16:56:25 +01:00
Wei Tang
74ce0f738e Add block reward contract config to ethash and allow off-chain contracts (#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.
2018-08-29 16:17:18 +01:00
Anton Gavrilov
1073d56245 Private packets verification and queue refactoring (#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
2018-08-29 20:31:04 +08:00
ewaldhesse
7aa4484a03 Update tobalaba.json (#9419) 2018-08-28 14:06:36 +02:00
Afri Schoedon
6c96b60a63 docs: add parity ethereum logo to readme (#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
2018-08-27 17:01:56 +02:00
André Silva
ac1900a0fc build: update rocksdb crate (#9414) 2018-08-27 12:52:49 +08:00
Denis S. Soldatov aka General-Beck
bd3bc5c168 Updating the CI system (#8765)
* Updating the CI system with the publication of releases and binary files on github

Signed-off-by: Denis S. Soldatov aka General-Beck <general.beck@gmail.com>

* 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
2018-08-26 00:44:08 +02:00
Jim Posen
9ed43230ca Better support for eth_getLogs in light mode (#9186)
* Light client on-demand request for headers range.

* Cache headers in HeaderWithAncestors response.

Also fulfills request locally if all headers are in cache.

* LightFetch::logs fetches missing headers on demand.

* LightFetch::logs limit the number of headers requested at a time.

* LightFetch::logs refactor header fetching logic.

* Enforce limit on header range length in light client logs request.

* Fix light request tests after struct change.

* Respond to review comments.
2018-08-25 23:06:01 +02:00
Christopher Purta
7abe9ec4cc Add update docs script to CI (#9219)
* Add update docs script to CI

Added a script to CI that will use the jsonrpc tool to update rpc
documentation then commit and push those to the wiki repo.

* fix gitlab ci lint

* Only apply jsonrpc docs update on tags

* Update gitlab-rpc-docs.sh

* Copy correct parity repo to jsonrpc folder

Copy correct parity repo to jsonrpc folder before attempting to build docs since the CI runner clones the repo as parity and not parity-ethereum.

* Fix JSONRPC docs CI job

Update remote config in wiki repo before pushing changes using a github
token for authentication. Add message to wiki tag when pushing changes.
Use project directory to correctly copy parity code base into the
jsonrpc repo for doc generation.

* Fix set_remote_wiki function call in CI
2018-08-24 18:14:07 +02:00
Alexey
5ed2527663 gasleft extern implemented for WASM runtime (kip-6) (#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 https://github.com/paritytech/wasm-tests/pull/52

* change .. to _

* fix comment for the have_gasleft param

* update tests (0edbf860ff)
2018-08-24 18:03:46 +02:00
Marek Kotewicz
b87c7cac54 block view! removal in progress (#9397) 2018-08-24 10:53:31 +01:00
Andrew Jones
0b34579b04 Prevent sync restart if import queue full (#9381) 2018-08-24 09:42:24 +01:00
JohnnySheffield
31291ebd35 nonroot CentOS Docker image (#9280)
* Updates CentOS Docker image build process

* rename build.Dockerfile
2018-08-24 05:55:54 +02:00
André Silva
e8e0b08f17 ethcore: kovan: delay activation of strict score validation (#9406) 2018-08-24 08:14:01 +08:00
Andronik Ordian
491ce61a76 Revert "Use std::sync::Condvar (#1732)" (#9392)
* Revert "Use std::sync::Condvar (#1732)"

This reverts commit c65ee93542.

* verification_queue: remove redundant mutexes
2018-08-22 16:01:07 +02:00
Niklas Adolfsson
e12a26dac5 Replace Duration::new() w/ Duration::from_nanos (#9387) 2018-08-21 16:01:09 +01:00
Afri Schoedon
7bf1889af1 docs: restore readme (#9391) 2018-08-21 16:49:24 +02:00
Nick Sanders
139a2b7b0d Replace std::env::home_dir() with home crate impl. (#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.
2018-08-21 15:30:24 +02:00
Thibaut Sardan
f230c719d8 Delete Dockerfile (#9386) 2018-08-21 14:36:04 +02:00
Niklas Adolfsson
8703449dfe network-devp2p Fix some clippy errors/warnings (#9378)
* fix some clippy warnings

* Remove `shallow-copy` of Node's

* Make `NonReservedPeerMode` Copy and pass-by-value
2018-08-21 12:55:31 +03:00
Tomasz Drwięga
108590d924 Allow calling contracts in genesis state. (#9375) 2018-08-20 13:05:01 +01:00
Niklas Adolfsson
b2cf5d2958 Make Capabilities struct Copy (#9372) 2018-08-20 13:53:47 +03:00
Niklas Adolfsson
ee5ed44761 Light client "Enable more logs for light client on_demand" (#9374)
* Enable more logs for light client `on_demand`

* Remove extra whitespace

* fix indentation
2018-08-17 19:21:49 +03:00
Tomasz Drwięga
346913b7f6 Better logging when mining own transactions. (#9363) 2018-08-17 16:01:32 +01:00
Niklas Adolfsson
18a8d2f67f Fix typos in network-devp2p (#9371) 2018-08-17 17:04:03 +03:00
Niklas Adolfsson
3ae10915e4 Light client Provide default nonce in transactions when it´s missing (#9370)
* Provide `default_nonce` in tx`s when it´s missing

When `nonce` is missing in a `EthTransaction` will cause it to fall in
these cases provide `default_nonce` value instead!

* Changed http:// to https:// on Yasm link (#9369)

Changed http:// to https:// on Yasm link in README.md

* Provide `default_nonce` in tx`s when it´s missing

When `nonce` is missing in a `EthTransaction` will cause it to fall in
these cases provide `default_nonce` value instead!

* Address grumbles
2018-08-17 14:45:43 +01:00
Marius Kjærstad
949b9c85ca Changed http:// to https:// on Yasm link (#9369)
Changed http:// to https:// on Yasm link in README.md
2018-08-17 18:19:15 +08:00
Andrew Jones
c21c19bd6c Fix no line breaks in logs (#9355) 2018-08-14 18:10:51 +01:00
Tomasz Drwięga
29125e830b Lower the max size of transaction packet to prevent going oversize. (#9308)
* Lower the max size of transaction packet to prevent going oversize.

* Log RLP size.
2018-08-14 17:20:29 +02:00
Wei Tang
1ac4676f4b Remove prepare_trace_output and make sure prepare_trace_call and trace*call are balanced (#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](https://github.com/paritytech/parity-ethereum/pull/9236#issuecomment-408444995) @udoprog is facing. Replaces #9236
2018-08-14 15:34:46 +01:00
Tomasz Drwięga
fe5301cebf More details in logs returned by light client (#9324)
* Log details for light logs.

* Create Log directly.
2018-08-14 16:13:11 +02:00
Tomasz Drwięga
7262601123 Expose UnorderedIterator. (#9347) 2018-08-14 12:11:56 +02:00
cheme
fcb6cc1e76 Light client logs should include 'from_block' when querying logs (#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
2018-08-14 09:58:29 +02:00
Wei Tang
ff716e7799 Remove pass-by-reference return data value from executive (#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
2018-08-14 05:27:13 +08:00
Wei Tang
9c595aff95 Allow single opcode stepping for EVM (#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
2018-08-14 04:06:15 +08:00
Andronik Ordian
98dbd1fdc7 Fix load share (#9321)
* fix(light_sync): calculate `load_share` properly

* refactor(api.rs): extract `light_params` fn, add test

* style(api.rs): add trailing commas
2018-08-13 18:53:19 +03:00
Wei Tang
a6df452841 Implement EIP234 block_hash for eth_getLogs (#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
2018-08-13 15:47:10 +08:00
André Silva
4eab8672b8 ethcore: fix pow difficulty validation (#9328)
* ethcore: fix pow difficulty validation

* ethcore: validate difficulty is not zero

* ethcore: add issue link to regression test

* ethcore: fix tests

* ethcore: move difficulty_to_boundary to ethash crate

* ethcore: reuse difficulty_to_boundary and boundary_to_difficulty

* ethcore: fix grumbles in difficulty_to_boundary_aux
2018-08-10 15:36:19 +02:00
Niklas Adolfsson
6e2821b4db ethcore/sync Make view macro only visible to test (#9316)
* remove needless macro import

* enable ethcore/macros in tests
2018-08-10 14:31:48 +02:00
Pierre Krieger
1564fae011 Allow setting the panic hook with parity-clib (#9292)
* Allow setting the panic hook with parity-clib

* Make all FFI functions unsafe

* Fix comment

* Fix concern
2018-08-10 11:06:30 +02:00
Tomasz Drwięga
30e40079ca Prevent blockchain & miner racing when accessing pending block. (#9310)
* Prevent blockchain & miner racing when accessing pending block.

* Fix unavailability of pending block during reseal.
2018-08-10 11:00:55 +02:00
Kirill Fomichev
65a1d88907 Docker alpine: use multi-stage concept (#9269)
* Docker alpine: use multi-stage concept

* Docker alpine: create config directory
2018-08-10 10:45:04 +02:00
Nick Sanders
e590874a81 Update log -> 0.4, env_logger -> 0.5. (#9294)
* Rename a few types & methods.

* Change `(Log)Builder::format` (closure) arg.
2018-08-10 00:04:10 +01:00
Maciej Hirsz
b28e742683 Update tobalaba.json (#9313) 2018-08-09 23:14:45 +02:00
Arkadiy Paronyan
62fdfb937a Allow tx pool to be Send (#9315) 2018-08-09 23:13:28 +02:00
Max Riveiro
8814195122 Fix codecov.io badge in README (#9327) 2018-08-09 17:54:08 +02:00
David
e2095d4a5d Move ethereum-specific H256FastMap type to own crate (#9307)
* Add a `fastmap` crate that provides the H256FastMap specialized HashMap

* Use `fastmap` instead of `plain_hasher`

* Update submodules for Reasons™

* Submodule update
2018-08-09 09:51:48 +02:00
Marek Kotewicz
78a38e9825 ethcore sync decodes rlp less often (#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
2018-08-08 10:56:54 +02:00
André Silva
712101b63d ethcore: add transition flag for transaction permission contract (#9275)
* ethcore: add transition flag for transaction permission contract

* ethcore: fix transaction permission contract tests
2018-08-07 15:18:19 +01:00
Wei Tang
1f18dbb17c Remove all dapp permissions related settings (#9120)
* Completely remove all dapps struct from rpc

* Remove unused pub use

* Remove dapp policy/permission func in ethcore

* Remove all dapps settings from rpc

* Fix rpc tests

* Use both origin and user_agent

* Address grumbles

* Address grumbles

* Fix tests
2018-08-07 20:52:23 +08:00
Wei Tang
0d8001adea Improve return data truncate logic (#9254)
* Improve return data truncate logic

* fix: size -> offset + size
2018-08-07 11:48:25 +02:00
Wei Tang
1e44a62494 Update wasm-tests hash (#9295) 2018-08-07 12:36:56 +03:00
Wei Tang
e8b13cb77e Implement KIP4: create2 for wasm (#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
2018-08-06 23:15:52 +08:00
Jongsic Choi
3f2fd610d9 Fix loop start value (#9285) 2018-08-06 12:04:28 +01:00
Pierre Krieger
25604dc577 Avoid using $HOME if not necessary (#9273)
* Avoid using $HOME if not necessary

* Fix concerns and issues
2018-08-03 09:58:59 +02:00
Pierre Krieger
0cfc6bf2a6 Fix path to parity.h (#9274)
* Fix path to parity.h

* Fix other paths as well
2018-08-02 22:18:49 +01:00
Tomasz Drwięga
90d7823acb Propagate transactions for next 4 blocks. (#9265)
Closes #9255 

This PR also removes the limit of max 64 transactions per packet, currently we only attempt to prevent the packet size to go over 8MB. This will only be the case for super-large transactions or high-block-gas-limit chains.

Patching this is important only for chains that have blocks that can fit more than 4k transactions (over 86M block gas limit)

For mainnet, we should actually see a tiny bit faster propagation since instead of computing 4k pending set, we only need `4 * 8M / 21k = 1523` transactions.

Running some tests on `dekompile` node right now, to check how it performs in the wild.
2018-08-02 11:58:02 +01:00
Marek Kotewicz
b4ae1b6528 decode block rlp less often (#9252)
in total:
- removed 4 redundant rlp deserializations
- avoid 1 redundant block data copy
2018-08-02 10:20:46 +01:00
cheme
f442665c46 Fix eternalities tests can_create (missing parameter) (#9270) 2018-08-02 17:15:22 +08:00
Nicolas Gotchac
c22498066b Update ref to parity-common and update seek behaviour (#9257)
* Update ref to `parity-common` and update `seek` behaviour

* Remove reference to `ng-fix-triedb-seek` branch
2018-08-01 18:03:41 +02:00
Wei Tang
637883f52b Comply EIP-86 with the new definition (#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
2018-08-01 13:17:04 +02:00
Matthew Martin
f0c0da8551 Check if synced when using eth_getWork (#9193) (#9210)
* Check if synced when using eth_getWork (#9193)

* Don't use fn syncing

* Fix identation

* Fix typo

* Don't check for warping

* rpc: avoid calling queue_info twice on eth_getWork
2018-07-31 12:52:49 +01:00
Marek Kotewicz
10f42a2b39 removed client error (#9253) 2018-07-31 10:55:18 +01:00
Wei Tang
29baccd857 Implement EIP-1052 (EXTCODEHASH) and fix several issues in state account cache (#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
2018-07-31 13:27:57 +08:00
John-John Tedro
f9814381a7 Improve Tracer documentation (#9237) 2018-07-30 13:59:01 +02:00
Denis S. Soldatov aka General-Beck
771ea47d37 Update Dockerfile (#9242)
* Update Dockerfile

fix Docker build

* fix dockerfile paths: parity -> parity-ethereum (#9248)
2018-07-30 11:28:44 +01:00
Marek Kotewicz
c54beba932 block cleanup (#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
2018-07-30 10:45:10 +01:00
Tomasz Drwięga
a809621f63 Increase the number of sessions. (#9203) 2018-07-30 11:19:47 +02:00
Afri Schoedon
7ad556346e add changelog for 1.11.8 stable and 2.0.1 beta (#9230)
* docs: add changelog for 1.11.8 stable

* docs: add changelog for 2.0.1 beta
2018-07-27 16:00:34 +02:00
Dong Zhou
5737c21340 fix typo (#9232) 2018-07-27 18:56:21 +08:00
Wei Tang
77a5ce6bf3 Fix potential as_usize overflow when casting from U256 in miner (#9221) 2018-07-27 11:07:46 +01:00
Andrew Jones
fb503f523b Allow old blocks from peers with lower difficulty (#9226)
Previously we only allow downloading of old blocks if the peer
difficulty was greater than our syncing difficulty. This change allows
downloading of blocks from peers where the difficulty is greater then
the last downloaded old block.
2018-07-27 10:13:05 +01:00
JohnnySheffield
bf7677ce69 Removes duplicate libudev-dev from Dockerfile (#9220) 2018-07-27 12:20:27 +08:00
André Silva
1ce8c1cf82 snap: remove ssl dependencies from snapcraft definition (#9222) 2018-07-26 22:42:09 +02:00
Marek Kotewicz
4ddccfa5e5 remove ssl from dockerfiles, closes #8880 (#9195) 2018-07-26 12:36:15 +01:00
Wei Tang
5795d332c8 Insert PROOF messages for some cases in blockchain (#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
2018-07-25 17:45:06 +01:00
EOS Classic
823054dc34 [Chain] Add more bootnodes (#9174)
+ For ETC, ELLA, EXP, Morden, MUSIC
2018-07-25 18:06:45 +02:00
André Silva
2ce15f429b ethcore: update bn version (#9217) 2018-07-25 17:40:33 +02:00
Marek Kotewicz
143411aaf0 deserialize block only once during verification (#9161) 2018-07-25 14:36:46 +02:00
Piotr Chromiec
7d9548400d Simple build instruction fix (#9215)
Changed `parity` dir name into  `parity-ethereum`
2018-07-25 12:57:15 +02:00
Peter Pratscher
1b1941a896 Added --tx-queue-no-early-reject flag to disable early tx queue rejects (#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
2018-07-24 16:04:48 +03:00
Wei Tang
4848c384cd Avoid schedule copying in nested call/create (#9190)
* Avoid schedule copying in nested call/create

* Fix tests

* fix test: wrong Schedule used

* Fix private-tx test

* Fix jsontests compilation
2018-07-23 15:48:01 +02:00
André Silva
d4f38d3894 ethcore: add builtin benchmarks based on geth (#9179)
* ethcore: add geth benchmarks for all builtins

* ethcore: remove old builtin benchmarks
2018-07-23 15:46:24 +02:00
André Silva
e6acbc5a58 rpc: fix is_major_importing sync state condition (#9112)
* rpc: fix is_major_importing sync state condition

* rpc: fix informant printout when waiting for peers
2018-07-23 15:42:08 +02:00
Afri Schoedon
8dd4db5d85 docs: update repository links (#9159)
* docs: update repository links

* docs: update repository links in contribution guide
2018-07-23 13:58:50 +02:00
André Silva
d436eddc6a parity: fix UserDefaults json parser (#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
2018-07-23 13:57:50 +02:00
Max Kaye
faf8e9ec6a Update "This is a bug. Please report it at:" link (#9191) 2018-07-23 09:18:49 +01:00
André Silva
7e6a571cba docker: update hub dockerfile (#9173)
* update Dockerfile for hub

update to Ubuntu Xenial 16.04
fix cmake version

* docker: fix tab indentation in hub dockerfile
2018-07-20 20:57:48 +03:00
Afri Schoedon
6bee9cd1e4 ci: update version strings for snaps (#9160) 2018-07-20 20:55:17 +03:00
André Silva
fb2b77e991 ethcore: add missing builtins benchmarks (#9170)
* ethcore: add modexp benchmarks

* ethcore: add_bn_128_add benchmark
2018-07-20 15:06:11 +02:00
Wei Tang
b914912c06 Fix bugfix hard fork logic (#9138)
* Fix bugfix hard fork logic

* Remove dustProtectionTransition from bugfix category

EIP-168 is not enabled by default

* Remove unnecessary 'static
2018-07-19 16:43:41 +02:00
Wei Tang
0ce04845de Be more graceful on Aura difficulty validation (#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
2018-07-19 22:41:31 +08:00
Marek Kotewicz
073365d5d9 handle SyncHandler errors properly (#9151)
* handle SyncHandler errors properly, closes #9150

* applied review suggestions
2018-07-19 12:46:33 +02:00
Amaury Martiny
3c27587d83 Remove node-health (#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
2018-07-18 16:27:29 +02:00
Tomasz Drwięga
dbccc700f1 Remove unused tx_queue_gas parameter. (#9153) 2018-07-18 10:58:14 +02:00
Afri Schoedon
9f90ff2e59 Changelogs for 1.11.7-stable and 2.0.0-beta (#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
2018-07-18 09:24:45 +02:00
Tomasz Drwięga
4d9c8926b1 Disable per-sender limit for local transactions. (#9148)
* Disable per-sender limit for local transactions.

* Add a missing new line.
2018-07-18 09:14:03 +02:00
André Silva
070695b348 parity: fix logging cli parameter example (#9154) 2018-07-18 09:09:31 +02:00
Thibaut S
c6e97d4dc5 Be more specific for -l CLI arguments (#9149)
* typo

* typo

* Update mod.rs
2018-07-17 17:36:12 +01:00
Niklas Adolfsson
a24e78fa92 Receipt constructor Allocate less stack for blooms (#9146)
* Allocate less stack in `Receipt ctor`

* ethcore: use accrue_bloom when computing transaction receipt
2018-07-17 16:55:46 +01:00
Niklas Adolfsson
21e0cd7781 evm bench fix broken dependencies (#9134)
* `evm bench` use valid dependencies

Benchmarks of the `evm` used stale versions of a couple a crates that
this commit fixes!

* fix warnings
2018-07-16 21:19:59 +02:00
Denis S. Soldatov aka General-Beck
ed45760425 Update snapcraft.yaml (#9132) 2018-07-16 21:19:02 +02:00
Marek Kotewicz
0ca4250bd4 fix verification in ethcore-sync collect_blocks (#9135) 2018-07-16 21:05:47 +02:00
Wei Tang
5059619947 Unify engine error to reject blocks (#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
2018-07-16 13:53:55 +02:00
Niklas Adolfsson
edb228839e Fix todo in ethcore/types::Receipt constructor (#9086)
Remove needless mutable variable and assignment
2018-07-16 12:43:14 +01:00
Wei Tang
a9c93c797d Completely remove all dapps struct from rpc (#9107)
* Completely remove all dapps struct from rpc

* Remove unused pub use
2018-07-16 13:42:59 +02:00
Marek Kotewicz
f826ac35e3 Removed redundant struct bounds and unnecessary data copying (#9096)
* Removed redundant struct bounds and unnecessary data copying

* Updated docs, removed redundant bindings
2018-07-15 11:01:47 +02:00
Anthony
9dc512349a Insert ETC (classic) hardcoded headers until block #6170625 (#9121) 2018-07-14 16:04:31 +01:00
Tomasz Drwięga
3ecf16a492 Make sure to produce full blocks. (#9115) 2018-07-13 15:20:24 +01:00
Thibaut S
584a76ab70 Update light client hardcoded headers (#9098)
* Insert Kovan hardcoded headers until #7690241

* Insert Kovan hardcoded headers until block 7690241

* Insert Ropsten hardcoded headers until #3612673

* Insert Mainnet hardcoded headers until block 5941249
2018-07-13 14:42:06 +02:00
Afri Schoedon
e339cde790 parity-version: bump nightly version to 2.1 (#9095) 2018-07-13 11:44:31 +01:00
Tomasz Drwięga
82a6a0848a Fix work-notify. (#9104) 2018-07-13 11:36:58 +01:00
Marek Kotewicz
441cb7980b update snappy (#9082) 2018-07-13 11:25:46 +01:00
Tomasz Drwięga
5f523f6966 Offload cull to IoWorker. (#9099) 2018-07-13 12:23:57 +02:00
André Silva
993650f3d6 docker: add cmake dependency (#9111) 2018-07-13 12:09:41 +02:00
Marek Kotewicz
ab330301eb Update hidapi, fixes #7542 (#9108) 2018-07-13 11:04:09 +02:00
Afri Schoedon
bab85dd789 Update README.md (#9084)
* Update README.md

* rename parity client

* docs: remove UI stuff from readme.

* docs: add changelog link to readme
2018-07-12 18:55:14 +02:00
Pierre Krieger
acae643a4a Revert "Replace std::env::home_dir with dirs::home_dir (#9077)" (#9097)
* Revert "Replace `std::env::home_dir` with `dirs::home_dir` (#9077)"

This reverts commit 7e779327eb.

* Restore some of the changes

* Update parity-common
2018-07-12 13:45:02 +02:00
Jim Posen
01f825b0e1 Multiple improvements to discovery ping handling (#8771)
* discovery: Only add nodes to routing table after receiving pong.

Previously the discovery algorithm would add nodes to the routing table
before confirming that the endpoint is participating in the protocol. This
now tracks in-flight pings and adds to the routing table only after receiving
a response.

* discovery: Refactor packet creation into its own function.

This function is useful inside unit tests.

* discovery: Additional testing for new add_node behavior.

* discovery: Track expiration of pings to non-yet-in-bucket nodes.

Now that we may ping nodes before adding to a k-bucket, the timeout tracking
must be separate from BucketEntry.

* discovery: Verify echo hash on pong packets.

Stores packet hash with in-flight requests and matches with pong response.

* discovery: Track timeouts on FIND_NODE requests.

* discovery: Retry failed pings with exponential backoff.

UDP packets may get dropped, so instead of immediately booting nodes that fail
to respond to a ping, retry 4 times with exponential backoff.

* !fixup Use slice instead of Vec for request_backoff.
2018-07-11 21:22:06 +02:00
Matthew Martin
796637b31a Add separate database directory for light client (#8927) (#9064)
* Add seperate default DB path for light client (#8927)

* Improve readability
2018-07-11 16:17:35 +02:00
Afri Schoedon
484ecfaf47 Parity Ethereum 2.0.0 (#9052)
* parity-version: major bump to 2.0.0 🎉

* parity-ethereum: rename crate 🌵

* ethcore: only accept service transactions from parity-ethereum nodes

* parity: fix --identity tests

* rpc: fix sync provider in tests

* rpc: fix parity_net_peers test

* ethcore-sync: accept service transactions from parity and parity-ethereum

* ethcore-sync: fix indentation

* ethcore-sync: split the ifs to reduce code redundancy

* ethcore-sync: fix syntax

* Fix building ethcore

* update cargo.lock

* parity-version: major bump to 2.0.0 tada

* fix merge
2018-07-11 13:35:10 +02:00
Nicolas Gotchac
c082af6f74 Don't fetch snapshot chunks at random (#9088) 2018-07-11 13:04:31 +02:00
Pierre Krieger
494eb4ab6b Remove the dapps system (#9017)
* Remove the dapps system from Parity

* Move node-health outside of dapps

* Fix set dapps list test

* Update Cargo.lock

* Deprecate options

* Add _legacy_ prefixes in Dapps

* Fix tests

* Fix deprecatedness of dapps-path
2018-07-11 12:19:54 +02:00
Andronik Ordian
fe678dcd2f Fix nightly warnings (#9080)
* chore: use 1.28 API for `memory_profiling`

* chore: import a type directly from `ethcore-light`
2018-07-11 08:02:14 +02:00
Afri Schoedon
da5de4a6ff db: remove wal disabling / fast-and-loose option. (#8963)
* parity: highlight --fast-and-loose is not recommended.

* parity: remove fast-and-loose option, ref #1765

* db: remove db wal from options, it's always enabled

* db: remove wal from rocksdb helpers

* cli: fix wallet import test

* ethcore: fix client config tests

* parity: proper deprecated handling for fast-and-loose

* ethcore-client: fix config

* parity: mark fast-and-loose removed

* parity: fix test_find_deprecated

* parity: fix type for fast-and-loose flag

* lock file
2018-07-10 17:33:25 +02:00
shamardy
526c61e2c0 Transactions hashes missing in trace_replayBlockTransactions method result #8725 (#8883)
* Squashed commit of the following:

commit 1f85076fd584365f1acbbafef5c8bdee722b479b
Author: shamardy <shamardy@yahoo.com>
Date:   Sat Jun 30 03:40:12 2018 +0200

    update

commit 63363cca7354873a8abe3b631b8b7dbd9da6ce1e
Author: shamardy <shamardy@yahoo.com>
Date:   Sat Jun 30 03:36:25 2018 +0200

    Update

commit e05caddc170a4cf0e476c23d443f07184dcb4fb1
Author: shamardy <shamardy@yahoo.com>
Date:   Fri Jun 29 10:04:34 2018 +0200

    Test

commit b0be065eadd0f2dd70f6613c50cbf3eb16d693ec
Author: shamardy <shamardy@yahoo.com>
Date:   Fri Jun 29 09:19:57 2018 +0200

    test_client edit

commit 949205ccdbac75f730639e5f0d8e1bdd9436de1d
Author: shamardy <shamardy@yahoo.com>
Date:   Fri Jun 29 05:14:53 2018 +0200

    Edit Test

commit 7cd44ee379a1e847f3e7d225444e72775bdbd4b5
Author: shamardy <shamardy@yahoo.com>
Date:   Fri Jun 29 04:25:22 2018 +0200

    Updates

commit e90de71e698d29475e8ba5696664b7d7bb335f9c
Author: shamardy <shamardy@yahoo.com>
Date:   Wed Jun 27 13:53:15 2018 +0200

    Test

commit 12a76381561b66ecf6ea636d7eebe43d2dcb7731
Author: shamardy <shamardy@yahoo.com>
Date:   Wed Jun 27 11:43:39 2018 +0200

    Edited Tests

commit 6c21e6de2da24e7b9f33ac8b82abb0b39488bd60
Merge: 87c4c74b8 9550cf766
Author: shamardy <shamardy@yahoo.com>
Date:   Wed Jun 27 10:31:21 2018 +0200

    Merge branch 'Issue#8725' of https://github.com/shamardy/parity into Issue#8725

commit 87c4c74b8f769c8e4b55ba78b5aa1d6716413f6d
Author: shamardy <shamardy@yahoo.com>
Date:   Wed Jun 27 10:31:13 2018 +0200

    Avoided Changing non-RPC Types

commit 9550cf76610953c8492cc9473e4b9f876e770b70
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Wed Jun 27 10:29:03 2018 +0200

    Update traces.rs

commit 3e0b0ef29685b62f0917b80a48054b3379d59a50
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Wed Jun 27 10:27:44 2018 +0200

    Update trace.rs

commit 5078d67a2da7268db2a1064540a3c887e1f1a3cd
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Wed Jun 27 10:26:08 2018 +0200

    Update traces.rs

commit 28f5ba1b035c6919ac11089cf1bdd703c75f0dbd
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Wed Jun 27 10:24:04 2018 +0200

    Update parity.rs

commit 3b86b98ab5860efa61a7cc6a2b20e6c5c0f859cb
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Wed Jun 27 10:23:33 2018 +0200

    Update eth.rs

commit bcad5a40f14a3c5d2d901ae1a9bed87949ab9c66
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Wed Jun 27 10:21:43 2018 +0200

    Update call_analytics.rs

commit e9029e0b8158387b606132b264652d285483870f
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Wed Jun 27 10:20:56 2018 +0200

    Update transaction.rs

commit 0dacc81779bc62713e3f8e405229dfd7f89f33e8
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Wed Jun 27 10:20:01 2018 +0200

    Update executive.rs

commit 3921d4ec77f49460d45603111b98cc07d3c235a0
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Wed Jun 27 10:18:39 2018 +0200

    Update executed.rs

commit 8416df654ebf6f68ad04c8a4a89a29ce704f9ca1
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Wed Jun 27 10:17:34 2018 +0200

    Update client.rs

commit cf0b4dddbc93395bc5ce1f17c3c07a294bf8dd49
Merge: 23bfa78c2 36e05e5f3
Author: shamardy <shamardy@yahoo.com>
Date:   Sun Jun 24 04:54:04 2018 +0200

    Merge branch 'Issue#8725' of https://github.com/shamardy/parity into Issue#8725

commit 23bfa78c2662d697018e7061ab9ad0b864fde0ef
Author: shamardy <shamardy@yahoo.com>
Date:   Sun Jun 24 04:53:50 2018 +0200

    Undo

commit 36e05e5f30c35bd6b57af50fd337f2006df51b86
Merge: 2f6e1ef64 0afc74825
Author: shamardy <shamardy@yahoo.com>
Date:   Sun Jun 24 04:44:33 2018 +0200

    Merge branch 'Issue#8725' of https://github.com/shamardy/parity into Issue#8725

commit 2f6e1ef64763a79ad2ed8baa2aed5a8f3136bafc
Author: shamardy <shamardy@yahoo.com>
Date:   Sun Jun 24 04:44:22 2018 +0200

    Another rpc test output with ("transactionHash":null)

commit 0afc74825828f724d68f3e444655b872a6c51ce0
Author: shamardy <shamardy@yahoo.com>
Date:   Thu Jun 14 07:18:45 2018 +0200

    Another rpc test output with ("transactionHash":null)

commit 138fbac9f02841adfeaaf061c5dd9e647f725e12
Author: shamardy <shamardy@yahoo.com>
Date:   Thu Jun 14 06:30:41 2018 +0200

    Edited some rpc tests output with ("transactionHash":null)

commit 8c129a63109c00f88ce36bad10699dc2f3237d95
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Thu Jun 14 05:48:39 2018 +0200

    Update traces.rs

commit 52c17f6191740637c1d1589a420996dccefe16bb
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Thu Jun 14 05:47:29 2018 +0200

    Update parity.rs

commit d39303aa8c2097ba9e2ed94c7ad2166bf1608d3f
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Thu Jun 14 05:46:25 2018 +0200

    Update eth.rs

commit 49be84bf529c33dc47c8260435fd0d26e137c66d
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Thu Jun 14 05:40:56 2018 +0200

    Update trace.rs

commit 4fc801377fb01ff11867f66b547a307c162d7a56
Merge: d34ba2351 544210439
Author: shamardy <shamardy@yahoo.com>
Date:   Thu Jun 14 05:12:21 2018 +0200

    Merge branch 'Issue#8725' of https://github.com/shamardy/parity into Issue#8725

commit 54421043959e14a76f309fe87d3c7513a95999f8
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Thu Jun 14 05:04:51 2018 +0200

    Update trace.rs

commit 2b2524a31119d741df4076e9d1b3ce8f0b17b479
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Thu Jun 14 05:01:47 2018 +0200

    Update state_diff.rs

commit 2bf9982b8ce29ef69f116142eaeacf3049f7db49
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Thu Jun 14 05:00:50 2018 +0200

    Update transaction.rs

commit da696ea192c0f89cceb38834f6efee280129048c
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Thu Jun 14 05:00:13 2018 +0200

    Update mod.rs

commit cfc194ca0f44bfabec01a52897a322ea5a91930b
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Thu Jun 14 04:59:18 2018 +0200

    Update pod_state.rs

commit 3b3156853535a666778e0ad0e902de79fb138f1d
Author: shamardy <39480341+shamardy@users.noreply.github.com>
Date:   Thu Jun 14 04:57:37 2018 +0200

    Update client.rs

commit d34ba235132c654da6c2ed6ff0dcf96fda0c45ee
Author: shamardy <shamardy@yahoo.com>
Date:   Thu Jun 14 04:53:50 2018 +0200

    RPC Only

commit 8b5c4f19727549ee6f180a6effc228b2693509e9
Merge: 744491632 291b4a01b
Author: shamardy <shamardy@yahoo.com>
Date:   Thu Jun 14 02:55:14 2018 +0200

    Merge branch 'Issue#8725' of https://github.com/shamardy/parity into Issue#8725

commit 74449163222e0ab75c704ac0ad424870e3c321d9
Author: shamardy <shamardy@yahoo.com>
Date:   Thu Jun 14 02:27:13 2018 +0200

    Issue#8725

    Transactions hashes missing in trace_replayBlockTransactions method result #8725

commit 291b4a01be6771acff8f5829c5406fa193665dbe
Author: shamardy <shamardy@yahoo.com>
Date:   Thu Jun 14 01:18:18 2018 +0200

    Edited to make changes to RPC types only

    To make a transactions hash trace with "trace_replayBlockTransactions" add "transactionHash" to parameters

commit 9d082bece73beb8ebddfda51fa5ec279f30b7bea
Author: shamardy <shamardy@yahoo.com>
Date:   Wed Jun 13 09:15:56 2018 +0200

    Issue#8725

    Transactions hashes missing in trace_replayBlockTransactions method result #8725

* update

* Removed unwrap_or

* Update

* test_client update
2018-07-10 15:38:13 +01:00
David
c7f608ec74 Delete crates from parity-ethereum and fetch them from parity-common instead (#9083)
Use crates from parity-common: hashdb, keccak-hash, kvdb, kvdb-memorydb, kvdb-rocksdb, memorydb, parity-bytes, parity-crypto, path, patricia_trie, plain_hasher, rlp, target, test-support, trie-standardmap, triehash
2018-07-10 14:59:19 +02:00
Niklas Adolfsson
6816f8b489 Updater verification (#8787)
* getting started

* refactor main

* unwrap_or -> unwrap_or_else

* force parity to lower version number to trigger update

* Fix typos

* formating

* some minor refactoring

* enable lints and fix some warnings

* make it compile

* minor tweaks to make it work

* address review comments

* Rename exe to exe_path and minor import changes

* updater: unreleased -> unknown

* Add `debug` configuration to force parity-updater

* Introduce a new feature `test-updater` in order conditionally hardcode
the version number in parity in order to force an update
* This should only be used for debug/dev purposes

* nits

* Pulled latest submodule of `wasm-tests`
2018-07-10 12:17:53 +02:00
Thibaut S
cd58b5ff1f Phrasing, precisions and typos in CLI help (#9060)
* Update mod.rs

* Update mod.rs

Rephrase cli subcommand descriptions.

* fix comments
2018-07-10 12:17:11 +02:00
Pierre Krieger
bca100cdb0 Some work towards iOS build (#9045) 2018-07-10 10:33:09 +02:00
Wei Tang
c63452e25d Clean up deprecated options and add CHECK macro (#9036)
* CHECK macro to replace hard-coded checks

* Clean up deprecated options

* typo: FlAG -> FLAG

* Fix tests

* Deprecated non-used ui params default is None

* test: arg_ui_path is not deprecated

* arg_ui_port should be None

* Address grumbles

* Fix tests
2018-07-09 20:36:04 +01:00
Niklas Adolfsson
7e779327eb Replace std::env::home_dir with dirs::home_dir (#9077)
`std::env::home_dir` is deprecated but will probably take a while until
it is deprecated on stable. For more info see https://github.com/rust-lang/rust/pull/51656
2018-07-09 16:48:33 +02:00
Niklas Adolfsson
9f1e08663d fix warning in secret-store test (#9074) 2018-07-09 16:48:15 +02:00
Niklas Adolfsson
91122d9193 SeedHashCompute remove needless new impl (#9063) 2018-07-09 16:47:58 +02:00
Marek Kotewicz
c7d21841a4 remove trait bounds from several structs (#9055) 2018-07-09 12:55:27 +01:00
Afri Schoedon
701692b7d3 docs: add changelog for 1.10.9 stable and 1.11.6 beta (#9069)
* docs: add changelog for 1.10.9 stable

* docs: add changelog for 1.11.6 beta
2018-07-09 13:48:40 +02:00
Niklas Adolfsson
787a30cd8e Enable test in miner/pool/test (#9072) 2018-07-09 12:34:28 +01:00
André Silva
ca6edcaf71 fetch: replace futures-timer with tokio-timer (#9066)
* fetch: replace futures-timer with tokio-timer

Currently the coverage build fails because `futures-timer` fails to compile with
`-C link-dead-code`. This issue has been reported to `futures-timer`
(https://github.com/alexcrichton/futures-timer/issues/2) but has remained unsolved
for months. It should be fixed by rustc eventually
(https://github.com/rust-lang/rust/issues/45629).

* ci: only include local paths in coverage

* ci: exclude target from coverage
2018-07-09 09:59:05 +01:00
Marek Kotewicz
8d171a37f8 remove util-error (#9054)
* remove util-error

* fixed grumbles
2018-07-06 15:09:39 +02:00
André Silva
e9bd41b3f1 Fixes for misbehavior reporting in AuthorityRound (#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

* aura: use correct validator set epoch number when reporting

* aura: use epoch set when verifying blocks

* aura: report skipped primaries when generating seal

* aura: handle immediate transitions

* aura: don't report skipped steps from genesis to first block

* aura: fix reporting test

* aura: refactor duplicate code to handle immediate_transitions

* aura: let reporting fail on verify_block_basic

* aura: add comment about possible failure of reporting
2018-07-06 10:43:58 +01:00
Tomasz Drwięga
aa67bd5d00 A last bunch of txqueue performance optimizations (#9024)
* Clear cache only when block is enacted.

* Add tracing for cull.

* Cull split.

* Cull after creating pending block.

* Add constant, remove sync::read tracing.

* Reset debug.

* Remove excessive tracing.

* Use struct for NonceCache.

* Fix build

* Remove warnings.

* Fix build again.
2018-07-05 16:27:48 +01:00
Marek Kotewicz
802d684994 reduce number of constraints for triedb types (#9043)
* NodeHandle does not require Hasher

* Node does not require Hasher

* change name of the template typo from I to O
2018-07-05 17:15:03 +02:00
Marek Kotewicz
434e018584 bump fs-swap to 0.2.3 so it is compatible with osx 10.11 again (#9050) 2018-07-05 14:18:50 +01:00
Sergey Pepyakin
4839294c86 Recursive test (#9042) 2018-07-05 10:09:01 +03:00
John-John Tedro
71bbcd54ff Introduce more optional features in ethcore (#9020)
* Make work-notify an optional feature

* More optional ethcore features: price-info, stratum

* Make ethcore features part of dependency instead of local features

* Put cfg gate in right location

* Feature gate register function on work-notify
2018-07-05 07:19:59 +02:00
Akira Takizawa
3db353f356 Update ETSC bootnodes (#9038) 2018-07-04 16:57:38 +01:00
Tomasz Drwięga
f4c5ea8378 Optimize pending transactions filter (#9026)
* rpc: return unordered transactions in pending transactions filter

* ethcore: use LruCache for nonce cache

Only clear the nonce cache when a block is retracted

* Revert "ethcore: use LruCache for nonce cache"

This reverts commit b382c19abdb9985be1724c3b8cde83906da07d68.

* Use only cached nonces when computing pending hashes.

* Give filters their own locks, so that they don't block one another.

* Fix pending transaction count if not sealing.

* Clear cache only when block is enacted.

* Fix RPC tests.

* Address review comments.
2018-07-04 16:37:55 +01:00
Wei Tang
6a97a4a11e eip160/eip161 spec: u64 -> BlockNumber (#9044) 2018-07-04 17:28:43 +03:00
Pierre Krieger
79f754e6ac Move the C/C++ example to another directory (#9032) 2018-07-04 13:06:53 +03:00
Wei Tang
e3e2fcc285 bump parking_lot to 0.6 (#9013)
* Bump parking_lot to 0.6

* Bump parity-wasm to 0.31 so it gets rid of parking_lot

ref https://github.com/paritytech/parity-wasm/pull/206

* Update jsonrpc versions

* Update wasmi and pwasm-utils version

* Fix compile

* Update jsonrpc crates
2018-07-03 17:31:08 +02:00
Tomasz Drwięga
00e61a9100 Never drop local transactions from different senders. (#9002) 2018-07-03 11:36:59 +02:00
Thibaut S
f3107214f4 Precise HTTP or WebSockets for JSON-RPC options (#9027)
* Precise HTTP or WS for JSON-RPC options

- Align with https://github.com/ethereum/go-ethereum/wiki/Command-Line-Options
- Make sure the JSON-RPC naming is consistent across the CLI options

* fix comments
2018-07-03 11:34:45 +02:00
Tomasz Drwięga
78e001284f Recently rejected cache for transaction queue (#9005)
* Store recently rejected transactions.

* Don't cache AlreadyImported rejections.

* Make the size of transaction verification queue dependent on pool size.

* Add a test for recently rejected.

* Fix logging for recently rejected.

* Make rejection cache smaller.

* obsolete test removed

* obsolete test removed

* Construct cache with_capacity.
2018-07-02 18:00:06 +01:00
David
9caa868603 Make HashDB generic (#8739)
The `patricia_trie` crate is generic over the hasher (by way of HashDB) and node encoding scheme. Adds a new `patricia_trie_ethereum` crate with concrete impls for Keccak/RLP.
2018-07-02 18:50:05 +02:00
Wei Tang
202c54d423 Only return error log for rustls (#9025) 2018-07-02 16:22:53 +01:00
Afri Schoedon
1051004aee Update Changelogs for 1.10.8 and 1.11.5 (#9012)
* docs: update changelog for 1.10.8

* docs: update changelog for 1.11.5
2018-07-02 15:42:54 +02:00
Wei Tang
a1a002f4da Attempt to graceful shutdown in case of panics (#8999)
* Handle graceful shutdown with unwinding

* Fix a race condition

* Avoid double exit deadlock

* typo: fix docs

* Fix ethkey cli compilation

* Fix all other cases panic_hook::set -> panic_hook::set_abort

* struct fields do not need to be public

* Add comments on why exiting AtomicBool is needed
2018-07-02 11:53:50 +02:00
Marek Kotewicz
5ef41ed53e simplify kvdb error types (#8924) 2018-07-02 10:04:48 +01:00
Matthew Martin
67721f3413 Add option for user to set max size limit for RPC requests (#9010)
* Add option for user to set max size limit for RPC requests as requested in #8961.

* Add max_payload to tests.

* Change name for max payload option and change value from NUM to MB.

* Fix broken test.

* Fix incorrect indentation.
2018-07-02 10:23:57 +02:00
Niklas Adolfsson
34bf2452c3 bump ntp to 0.5.0 (#9009) 2018-07-02 10:20:22 +02:00
outofgas
8fbb98fb3f Removed duplicate dependency (#9021) 2018-07-02 10:19:56 +02:00
Tomasz Drwięga
1792725651 Minimal effective gas price in the queue (#8934)
* Minimal effective gas price.

* Fix naming, add test

* Fix minimal entry score and add test.

* Fix worst_transaction.

* Remove effective gas price threshold.

* Don't leak gas_price decisions out of Scoring.
2018-06-30 11:11:31 +02:00
André Silva
47ff3a9bee parity: fix db path when migrating to blooms db (#8975) 2018-06-28 12:24:11 +02:00
Wei Tang
ac3a706f0d Preserve the current abort behavior (#8995) 2018-06-27 22:31:20 +02:00
Jim Posen
9b5483a71b Improve should_replace on NonceAndGasPrice (#8980)
* Additional tests for NonceAndGasPrice::should_replace.

* Fix should_replace in the distinct sender case.

* Use natural priority ordering to simplify should_replace.
2018-06-27 15:59:36 -04:00
David
38c31c880f Tentative fix for missing dependency error (#8973)
* Tentative fix for missing dependency error

* Better fix

* Ignore build artifacts from parit-clib
2018-06-27 20:25:49 +02:00
Wei Tang
0bed5976e3 Refactor evm Instruction to be a c-like enum (#8914)
* Add a basic instruction c-like enum

* Fix all compiling errors

* Fix tests

* Access instruction info as a Instruction impl

* Use macro to avoid duplication in from_u8

* Use single space instead of multiple tabs to avoid formatting issue

* Fix evmbin compile

* typo: indentation

* Use if let to remove an expect

* Address grumbles
2018-06-27 13:33:32 +02:00
Tomasz Drwięga
19a6725430 Fix deadlock in blockchain. (#8977) 2018-06-26 20:49:06 +02:00
Afri Schoedon
48a54efcb2 snap: downgrade rust to revision 1.26.2, ref snapcraft/+bug/1778530 (#8984)
* snap: downgrade rust to revision 1.26.2, ref snapcraft/+bug/1778530

* snap: use plugin rust
2018-06-26 19:17:14 +02:00
Wei Tang
c0b0dc5219 Use local parity-dapps-glue instead of crate published at crates.io (#8983)
* Use local parity-dapps-glue instead of crate published at crates.io

* Disable panic=abort and enable lto optimization
2018-06-26 17:37:51 +02:00
Afri Schoedon
683a26c830 parity: omit redundant last imported block number in light sync informant (#8962) 2018-06-26 11:31:22 +02:00
Niklas Adolfsson
1a16f335fa Disable hardware-wallets on platforms that don't support libusb (#8464)
* disable hardware-wallets that don't support libusb

* address grumbles

* nits

* Refactor to get rid off as much annotations asap

* Might consume slight more memory than pure conditional compilation
flags

* formatting nits

* Enable libusb for android

* Tested by it compiling succesfully with `cargo build --target=armv7--linux-androideabi`
* The binary is ~66 MB

```bash
$ size
size target/armv7-linux-androideabi/release/parity
text    	data     	bss     	dec     	hex 		filename
50676230        416200   	31456 		51123886        30c16ae 	target/armv7-linux-androideabi/release/parity
```

* Move all `fake-hardware-wallet` to its own crate

* Removes some conditional compilation flags
* Introduces `fake-hardware-wallet` crate

* return error if no hardware wallets are found
2018-06-26 09:03:38 +02:00
David
4145be863b Bump error-chain and quick_error versions (#8972)
* Update error-chain to 0.12 to silence warnings

* Bump quick_error crate to 1.2.2  to silence linter warnings
2018-06-25 14:20:44 +02:00
Wei Tang
e9f1b38984 EVM benchmark utilities (#8944)
* Make it possible to expose jsontests using feature flag

* Add start_stop_hook for jsontests

* Fix evmbin compile

* Implement vm jsontests times to tsv result

* Use /usr/bin/env to avoid errors on non-Debian systems

* Move evmbin/bench.sh to scripts and add vm_jsontests script for convenience

* Add tempdir as required deps for test-helpers

* Address grumbles on comments

* Detect file/folder automatically and add command docs

* Fix bench script

* times -> timings

* typo: wrong if condition
2018-06-25 11:21:45 +02:00
Afri Schoedon
edd90f153c parity: hide legacy options from cli --help (#8967)
* parity: hide legacy options from cli --help

* parity: run a spellchecker over --help

* parity: fix casing in cli usage
2018-06-25 10:19:29 +02:00
Afri Schoedon
dec390a89f scripts: fix docker build tag on latest using master (#8952) 2018-06-22 18:48:36 +03:00
Toralf Wittner
41348dead4 Add type for passwords. (#8920)
* Add type for passwords.

* Fix test.

* Simplify `Drop` impls of `Password` and `Memzero`.

* Spaces to tabs.

* Custom `Drop` impl for `Password`.
2018-06-22 15:09:15 +02:00
Afri Schoedon
c473ab97c7 deps: bump fs-swap (#8953) 2018-06-22 12:57:59 +01:00
Niklas Adolfsson
0cd1de769b Eliminate some more transmute() (#8879)
* eliminate some more transmute()

* Address `review comments`

* Make unsafe block smaller
* Use different byte-order than `std`, read words as big endian instead
of little endian!

* Fix IpAddresses nits

* Use `from_be` to work both for big and little endian
* Ipv6 addresses were incorrectly `transmuted`

* remove needless lifetime annotation
2018-06-22 12:51:53 +01:00
Wei Tang
5ae8e8a9ca Restrict vault.json permssion to owner and using random suffix for temp vault.json file (#8932)
* Move dedup retry logic to a separate function

* Use random suffix temp vault filename and restrict permissions to owner
2018-06-22 12:30:48 +01:00
Svyatoslav Nikolsky
796d72f48e print SS.self_public when starting SS node (#8949) 2018-06-22 12:50:06 +02:00
Afri Schoedon
86a8584252 scripts: minor improvements (#8930)
* CI: enable 'latest' docker tag on master pipeline

* CI: mark both beta and stable as stable snap.

* CI: sign all windows binaries
2018-06-22 11:56:06 +02:00
André Silva
6509e90c36 rpc: cap gas limit of local calls (#8943) 2018-06-22 11:12:57 +02:00
Afri Schoedon
09ecd0c583 docs: update changelogs (#8931)
* docs: add changelog for 1.10.7

* docs: add changelog for 1.11.4
2018-06-22 11:06:31 +02:00
André Silva
a6d6adc57f ethcore: fix compilation when using slow-blocks or evm-debug features (#8936)
* ethcore: fix compilation when slow-blocks feature is enabled

* ethcore: fix compilation when evm-debug feature is enabled
2018-06-22 11:00:19 +02:00
Svyatoslav Nikolsky
6be5744be4 fixed blooms dir creation (#8941) 2018-06-22 10:52:01 +02:00
Thibaut S
31b4437b93 Update hardcoded headers (#8925)
* Update kovan.json

Update Kovan to block 7693549

* Update foundation.json

Updated to block #5812225

* Update ropsten.json

Update to 3465217

* Update ropsten.json

use tabs

* Update foundation.json

use tabs

* Update kovan.json

use tabs
2018-06-22 10:49:10 +02:00
Marek Kotewicz
458afcd230 new blooms database (#8712)
* new blooms database

* fixed conflict in Cargo.lock

* removed bloomchain

* cleanup in progress

* all tests passing in trace db with new blooms-db

* added trace_blooms to BlockChainDB interface, fixed db flushing

* BlockChainDB no longer exposes RwLock in the interface

* automatically flush blooms-db after every insert

* blooms-db uses io::BufReader to read files, wrap blooms-db into Mutex, cause fs::File is just a shared file handle

* fix json_tests

* blooms-db can filter multiple possibilities at the same time

* removed enum trace/db.rs CacheId

* lint fixes

* fixed tests

* kvdb-rocksdb uses fs-swap crate

* update Cargo.lock

* use fs::rename

* fixed failing test on linux

* fix tests

* use fs_swap

* fixed failing test on linux

* cleanup after swap

* fix tests

* fixed osx permissions

* simplify parity database opening functions

* added migration to blooms-db

* address @niklasad1 grumbles

* fix license and authors field of blooms-db Cargo.toml

* restore blooms-db after snapshot
2018-06-20 15:13:07 +02:00
André Silva
cf5ae81ced ethstore: retry deduplication of wallet file names until success (#8910) 2018-06-20 17:30:41 +08:00
Thibaut S
08e46432c5 Update ropsten.json (#8926) 2018-06-20 08:49:26 +02:00
Jim Posen
6f11621734 Include node identity in the P2P advertised client version. (#8830) 2018-06-18 15:50:17 +02:00
Max Kaye
6004c394d6 Allow disabling local-by-default for transactions with new config entry (#8882)
* Add tx_queue_allow_unknown_local config option

- Previous commit messages:

dispatcher checks if we have the sender account

Add `tx_queue_allow_unknown_local` to MinerOptions

Add `tx_queue_allow_unknown_local` to config

fix order in MinerOptions to match Configuration

add cli flag for tx_queue_allow_unknown_local

Update refs to `tx_queue_allow_unknown_local`

Add tx_queue_allow_unknown_local to config test

revert changes to dispatcher

Move tx_queue_allow_unknown_local to `import_own_transaction`

Fix var name

if statement should return the values

derp de derp derp derp semicolons

Reset dispatch file to how it was before

fix compile issues + change from FLAG to ARG

add test and use `into`

import MinerOptions, clone the secret

Fix tests?

Compiler/linter issues fixed

Fix linter msg - case of constants

IT LIVES

refactor to omit yucky explict return

update comments

Fix based on diff AccountProvider.has_account method

* Refactor flag name + don't change import_own_tx behaviour

fix arg name

Note: force commit to try and get gitlab tests working again 😠

* Add fn to TestMinerService

* Avoid race condition from trusted sources

- refactor the miner tests a bit to cut down on code reuse
- add `trusted` param to dispatch_transaction and import_claimed_local_transaction

Add param to `import_claimed_local_transaction`

Fix fn sig in tests
2018-06-18 15:32:18 +02:00
Benjamin Kampmann
609d83f92c Allow Poll Lifetime to be configured via CLI (#8885)
... rather than it being a hard-coded constant. fixes #5484 .
2018-06-18 13:42:54 +02:00
Marek Kotewicz
4ef71f8a82 cleanup nibbleslice (#8915) 2018-06-18 12:13:11 +02:00
Niklas Adolfsson
b47218521f Hardware-wallets Clean up things I missed in the latest PR (#8890)
* Clean up things that I missed

* Address grumbles

* &Arc<Manager> -> &Manager
* Rustdoc -> Crate doc
2018-06-18 11:55:23 +02:00
Afri Schoedon
c9cee8fd52 Remove debian/.deb and centos/.rpm packaging scripts (#8887)
* scripts: remove rpm packages

* scripts: remove deb packages

* scripts: remove unused zip archives

* scripts: remove unused ssl references

* scripts: remove debian and centos pipelines

* scripts: rename ubuntu to generic linux

* scripts: restore archives used in gitlab artifacts

* scripts: init submodules for full test suite

* scripts: do not publish master builds, only nightly, stable, beta
2018-06-18 11:49:15 +02:00
Wei Tang
75e779029f Remove a weird emoji in new_social docs (#8913) 2018-06-18 11:11:41 +02:00
André Silva
3016d54f13 Minor fix in chain supplier and light provider (#8906)
* fix chain supplier increment

* fix light provider block_headers
2018-06-15 17:30:34 +02:00
David
05e7c133fb Block 0 is valid in queries (#8891)
Early exit for block nr 0 leads to spurious error about pruning: `…your node is running with state pruning…`.

Fixes #7547, #8762
2018-06-14 19:56:27 +01:00
Marek Kotewicz
fd57100190 fixed osx permissions (#8901) 2018-06-14 22:17:40 +08:00
Wei Tang
fc86b1799a Atomic create new files with permissions to owner in ethstore (#8896)
* Atomic create new files with permissions to owner in ethstore

* Allow replacing existing files

We have two behaviors for `insert_with_filename` depending on whether `dedup` is true.  Add
`replace_file_with_permissions_to_owner` which use `OpenOptions::create(true)` instead of `create_new`.
2018-06-14 13:54:12 +02:00
Anthony
9546e0c8c2 Add ETC Cooperative-run load balanced parity node (#8892) 2018-06-14 13:47:19 +02:00
Maciej Hirsz
4fe6c148ef Add support for --chain tobalaba (#8870)
* Add support for --chain tobalaba
2018-06-14 11:03:22 +02:00
Niklas Adolfsson
9e872788c7 fix some warns on nightly (#8889) 2018-06-14 10:58:46 +02:00
David Dorgan
da95f77996 Add new ovh bootnodes and fix port for foundation bootnode 3.2 (#8886)
* Add new ovh bootnodes and fix port for foundation bootnode 3.2

* Remove old bootnodes.

* Remove duplicate 1118980bf48b0a3640bdba04e0fe78b1add18e1cd99bf22d53daac1fd9972ad650df52176e7c7d89d1114cfef2bc23a2959aa54998a46afcf7d91809f0855082
2018-06-14 10:46:00 +02:00
Svyatoslav Nikolsky
6f758bc7b1 SecretStore: service pack 1 (#8435)
* SecretStore: error unify initial commit

SecretStore: pass real error in error messages

SecretStore: is_internal_error -> Error::is_non_fatal

warnings

SecretStore: ConsensusTemporaryUnreachable

fix after merge

removed comments

removed comments

SecretStore: updated HTTP error responses

SecretStore: more ConsensusTemporaryUnreachable tests

fix after rebase

* SecretStore: unified SS contract config options && read

* SecretStore: service pack

SecretStore: service pack (continue)

* fixed grumbles
2018-06-14 10:01:52 +03:00
Wei Tang
b37b3cd1fc Handle removed logs in filter changes and add geth compatibility field (#8796)
* Add removed geth compatibility field in log

* Fix mocked tests

* Add field block hash in PollFilter

* Store last block hash info for log filters

* Implement canon route

* Use canon logs for fetching reorg logs

Light client removed logs fetching is disabled. It looks expensive.

* Make sure removed flag is set

* Address grumbles
2018-06-13 13:39:27 +02:00
Marek Kotewicz
e81069ab3d fixed ipc leak, closes #8774 (#8876) 2018-06-13 13:02:16 +02:00
Afri Schoedon
bf25f17880 scripts: remove md5 checksums (#8884) 2018-06-13 11:26:35 +02:00
Niklas Adolfsson
6201532c64 hardware_wallet/Ledger Sign messages + some refactoring (#8868)
* getting started

* getting started

* signing personal messages works and refactoring

* Refactor `Ledger`

* Make `Ledger Manager` only visible inside the hardwallet-crate
* Refactor `send_apdu` with separate functions for read and write

* Add support for signing messages through `ethcore`

* Trezor modify update_devices and some error msgs

* nits
2018-06-13 11:01:56 +02:00
Wei Tang
3094ae9df9 Check whether we need resealing in miner and unwrap has_account in account_provider (#8853)
* Remove unused Result wrap in has_account

* Check whether we need to reseal for external transactions

* Fix reference to has_account interface

* typo: missing )

* Refactor duplicates to prepare_and_update_sealing

* Fix build
2018-06-13 09:58:52 +02:00
André Silva
59f6931e06 docker: Fix alpine build (#8878)
- Switch to alpine edge for recent rustc version
- Remove openssl libs
- Add perl (needed for building ring)
2018-06-13 09:29:23 +02:00
Andrew Jones
95a601d053 Remove mac os installers etc (#8875) 2018-06-13 09:15:40 +02:00
shdown
5d7ef54d02 README.md: update the list of dependencies (#8864) 2018-06-12 23:49:19 +02:00
Wei Tang
b34d46cbc8 Fix concurrent access to signer queue (#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

`request_notify` does not need to be public, and it's renamed to `notify_result`.
`notify` is renamed to `notify_message`.

* Change trace info "Transaction" -> "Request"
2018-06-12 15:21:30 +02:00
Vladyslav Lupashevskyi
0bb78814a6 Tx permission contract improvement (#8400)
* Tx permission contract improvement

* Use tuple for to address

* Introduced ABI for deprecated tx permission contract

* Improved ABI for tx permission contract with contract name, name hash and version

* Introduced support for deprecated tx permission contract + fixed cache for the new version + introduced `target` for tx filter loging

* Introduced test for the new tx permission contract version + old test renamed as deprecated

* Removed empty lines

* Introduced filter_only_sender return value in allowedTxTypes fn + improved caching

* Introduced version checking for tx permission contract

* Moved tx permission contract test genesis specs to separate files

* handle queue import errors a bit more gracefully (#8385)

* Some tweaks to main.rs for parity as a library (#8370)

* Some tweaks to main.rs for parity as a library

* Remove pub from PostExecutionAction

* New Transaction Queue implementation (#8074)

* Implementation of Verifier, Scoring and Ready.

* Queue in progress.

* TransactionPool.

* Prepare for txpool release.

* Miner refactor [WiP]

* WiP reworking miner.

* Make it compile.

* Add some docs.

* Split blockchain access to a separate file.

* Work on miner API.

* Fix ethcore tests.

* Refactor miner interface for sealing/work packages.

* Implement next nonce.

* RPC compiles.

* Implement couple of missing methdods for RPC.

* Add transaction queue listeners.

* Compiles!

* Clean-up and parallelize.

* Get rid of RefCell in header.

* Revert "Get rid of RefCell in header."

This reverts commit 0f2424c9b7319a786e1565ea2a8a6d801a21b4fb.

* Override Sync requirement.

* Fix status display.

* Unify logging.

* Extract some cheap checks.

* Measurements and optimizations.

* Fix scoring bug, heap size of bug and add cache

* Disable tx queueing and parallel verification.

* Make ethcore and ethcore-miner compile again.

* Make RPC compile again.

* Bunch of txpool tests.

* Migrate transaction queue tests.

* Nonce Cap

* Nonce cap cache and tests.

* Remove stale future transactions from the queue.

* Optimize scoring and write some tests.

* Simple penalization.

* Clean up and support for different scoring algorithms.

* Add CLI parameters for the new queue.

* Remove banning queue.

* Disable debug build.

* Change per_sender limit to be 1% instead of 5%

* Avoid cloning when propagating transactions.

* Remove old todo.

* Post-review fixes.

* Fix miner options default.

* Implement back ready transactions for light client.

* Get rid of from_pending_block

* Pass rejection reason.

* Add more details to drop.

* Rollback heap size of.

* Avoid cloning hashes when propagating and include more details on rejection.

* Fix tests.

* Introduce nonces cache.

* Remove uneccessary hashes allocation.

* Lower the mem limit.

* Re-enable parallel verification.

* Add miner log. Don't check the type if not below min_gas_price.

* Add more traces, fix disabling miner.

* Fix creating pending blocks twice on AuRa authorities.

* Fix tests.

* re-use pending blocks in AuRa

* Use reseal_min_period to prevent too frequent update_sealing.

* Fix log to contain hash not sender.

* Optimize local transactions.

* Fix aura tests.

* Update locks comments.

* Get rid of unsafe Sync impl.

* Review fixes.

* Remove excessive matches.

* Fix compilation errors.

* Use new pool in private transactions.

* Fix private-tx test.

* Fix secret store tests.

* Actually use gas_floor_target

* Fix config tests.

* Fix pool tests.

* Address grumbles.

* clarify that windows need perl and yasm (#8402)

* Unify and limit rocksdb dependency places (#8371)

* secret_store: remove kvdb_rocksdb dependency

* cli: init db mod for open dispatch

* cli: move db, client_db, restoration_db, secretstore_db to a separate mod

* migration: rename to migration-rocksdb and remove ethcore-migrations

* ethcore: re-move kvdb-rocksdb dep to test

* mark test_helpers as test only and fix migration mod naming

* Move restoration_db_handler to test_helpers_internal

* Fix missing preambles in test_helpers_internal and rocksdb/helpers

* Move test crates downward

* Fix missing docs

* cli, db::open_db: move each argument to a separate line

* Use featuregate instead of dead code for `open_secretstore_db`

* Move pathbuf import to open_secretstore_db

Because it's only used there behind a feature gate

* Use tokio::spawn in secret_store listener and fix Uri (#8373)

* Directly wait for future to resolve in a threadpool

* Ignore return value

* Use path.starts_with instead of req_uri.is_absolute

The later now means something else in hyper 0.11..

* Use tokio::spawn

* typo: remove accidential unsafe impl

* remove Tendermint extra_info due to seal inconsistencies (#8367)

* More code refactoring to integrate Duration (#8322)

* More code refactoring to integrate Duration

* Fix typo

* Fix tests

* More test fix

* tokio-core v0.1.16 -> v0.1.17 (#8408)

* Replace legacy Rlp with UntrustedRlp and use in ethcore rlp views (#8316)

* WIP

* Replace Rlp with UntrustedRlp in views, explicity unwrap with expect

First pass to get it to compile. Need to figure out whether to do this or to propogate Errors upstream, which would require many more changes to dependent code. If we do this way we are assuming that the views are always used in a context where the rlp is trusted to be valid e.g. when reading from our own DB. So need to fid out whether views are used with data received from an untrusted (e.g. extrernal peer).

* Remove original Rlp impl, rename UntrustedRlp -> Rlp

* Create rlp views with view! macro to record debug info

Views are assumed to be over valid rlp, so if there is a decoding error we record where the view was created in the first place and report it in the expect

* Use $crate in view! macro to avoid import, fix tests

* Expect valid rlp in decode functions for now

* Replace spaces with tabs in new file

* Add doc tests for creating views with macro

* Update rlp docs to reflect removing of UntrustedRlp

* Replace UntrustedRlp usages in private-tx merge

* Fix TODO comments (#8413)

* update zip to 0.3 (#8381)

* update zip to 0.3

* enable zip deflate feature

* typo, docs parity_chainId: empty string -> None (#8434)

* Fix receipts stripping. (#8414)

* Changelogs for 1.9.6 and 1.10.1 (#8411)

* Add changelog for 1.9.6

* Add Changelog for 1.10.1

* Move ethcore::Error to error_chain (#8386)

* WIP

* Convert Ethcore error to use error_chain

* Use error_chain for ImportError and BlockImportError

* Fix error pattern matches for error_chain in miner

* Implement explicit From for AccountsError

* Fix pattern matches for ErrorKinds

* Handle ethcore error_chain in light client

* Explicitly define Result type to avoid shadowing

* Fix remaining Error pattern matches

* Fix tab space formatting

* Helps if the tests compile

* Fix error chain matching after merge

* remove From::from. (#8390)

* Some tiny modifications.
1. fix some typo in the comment.
2. sort the order of methods in 'impl state::Backend for StateDB`

* Remove the clone of code_cache, as it has been done in clone_basic.

* remove From::from. It seems not necessary.

* Use forked app_dirs crate for reverted Windows dir behavior  (#8438)

* Remove unused appdirs dependency in CLI

* Use forked app_dirs crate for reverted Windows dir behavior

* Permission fix (#8441)

* Block reward contract (#8419)

* engine: add block reward contract abi and helper client

* aura: add support for block reward contract

* engine: test block reward contract client

* aura: test block reward contract

* engine + aura: add missing docs

* engine: share SystemCall type alias

* aura: add transition for block reward contract

* engine: fix example block reward contract source link and bytecode

* Improve VM executor stack size estimation rules (#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

This avoids the case if `depth_threshold == max_depth`. Usually setting stack size to zero will just rebound it to
platform minimal stack size, but we set it here just in case.

* Use saturating_sub to avoid potential overflow

* Private transactions processing error handling (#8431)

* Integration test for private transaction returned

* Do not interrupt verification in case of errors

* Helpers use specified

* Review comments fixed

* Update Cargo hidapi-rs dependency (#8447)

* Allow 32 bit pipelines to fail (#8454)

* Disable 32bit tragets for gitlab

* Rename linux pipelines

* Update wasmi (#8452)

* Return error in case eth_call returns VM errors (#8448)

* Add VMError generator

* Return executed exceptions in eth_call

* ParityShell::open `Return result` (#8377)

* start

* add error handling for winapi

* fix typo

* fix warnings and windows errors

* formatting

* Address review comments

* fix docker build (#8462)

* Add changelog for 1.9.7 and 1.10.2 (#8460)

* Add changelog for 1.9.7

* Add Changelog for 1.10.2

* Apply proper markdown

* Run a spellchecker :)

* Be pedantic about the 32-bit pipelines :)

* fix typos in vm description comment (#8446)

* Use rename_all for RichBlock and RichHeader serialization (#8471)

* typo: fix a resolved TODO comment

* Use rename_all instead of individual renames

* Don't require write lock when fetching status. (#8481)

* Bump master to 1.12 (#8477)

* Bump master to 1.12

* Bump crates to 1.12

* Bump mac installer version to 1.12

* Update Gitlab scripts

* Fix snap builds (#8483)

* Update hardcodedSync for Ethereum, Kovan, and Ropsten (#8489)

* Update wasmi and pwasm-utils (#8493)

* Update wasmi to 0.2

New wasmi supports 32bit platforms and no longer requires a special feature to build for such platforms.

* Update pwasm-utils to 0.1.5

* Remove three old warp boot nodes. (#8497)

* Return error if RLP size of transaction exceeds the limit (#8473)

* Return error if RLP size of transaction exceeds the limit

* Review comments fixed

* RLP check moved to verifier, corresponding pool test added

* `duration_ns: u64 -> duration: Duration` (#8457)

* duration_ns: u64 -> duration: Duration

* format on millis {:.2} -> {}

* Remove unused dependency `bigint` (#8505)

* remove unused dependency bigint in

* remove bigint in rpc_cli

* Show imported messages for light client (#8517)

* Directly return None if tracing is disabled (#8504)

* Directly return None if tracing is disabled

* Address gumbles: release read locks as fast as possible

* Hardware Wallet trait (#8071)

* getting started with replacing HardwareWalletManager

* trezor and ledger impls the new trait with some drawbacks

* Everything move to the new trait

* It required lifetime annotations in the trait because [u8] in unsized
* Lets now start moving entry point from HardwareWalletManager

* rename trait to Wallet

* move thread management to the actual wallets

* Moved thread management to each respective Wallet
* Cleaned up pub items that is needed to be pub
* Wallet trait more or less finished
* Cleaned up docs

* fix tests

* omit removed docs

* fix spelling, naming och remove old comments

* ledger test is broken, add correct logging format

* So locally on my machine Linux Ubuntu 17.10 the test doesn't panic but on the CI server libusb::Context::new()
fails which I don't understand because it has worked before
* Additionally the ledger test is optional so I lean toward ignoring it the CI Server

* ignore hardware tests by default

* more verbose checking in ledger test

* SecretStore: merge two types of errors into single one + Error::is_non_fatal (#8357)

* SecretStore: error unify initial commit

SecretStore: pass real error in error messages

SecretStore: is_internal_error -> Error::is_non_fatal

warnings

SecretStore: ConsensusTemporaryUnreachable

fix after merge

removed comments

removed comments

SecretStore: updated HTTP error responses

SecretStore: more ConsensusTemporaryUnreachable tests

fix after rebase

* fixed grumbles

* use HashSet in tests

* Enable WebAssembly and Byzantium for Ellaism (#8520)

* Enable WebAssembly and Byzantium for Ellaism

* Fix indentation

* Remove empty lines

* More changes for Android (#8421)

* Transaction Pool improvements (#8470)

* Don't use ethereum_types in transaction pool.

* Hide internal insertion_id.

* Fix tests.

* Review grumbles.

* Fetching logs by hash in blockchain database (#8463)

* Fetch logs by hash in blockchain database

* Fix tests

* Add unit test for branch block logs fetching

* Add docs that blocks must already be sorted

* Handle branch block cases properly

* typo: empty -> is_empty

* Remove return_empty_if_none by using a closure

* Use BTreeSet to avoid sorting again

* Move is_canon to BlockChain

* typo: pass value by reference

* Use loop and wrap inside blocks to simplify the code

Borrowed from https://github.com/paritytech/parity/pull/8463#discussion_r183453326

* typo: missed a comment

* Pass on storage keys tracing to handle the case when it is not modified (#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

* Use state query directly because of suicided accounts

* Fix a RefCell borrow issue

* Add tests for unmodified storage trace

* Address grumbles

* typo: remove unwanted empty line

* ensure_cached compiles with the original signature

* Don't panic in import_block if invalid rlp (#8522)

* Don't panic in import_block if invalid rlp

* Remove redundant type annotation

* Replace RLP header view usage with safe decoding

Using the view will panic with invalid RLP. Here we use Rlp decoding directly which will return a `Result<_, DecoderError>`. While this path currently should not have any invalid RLP - it makes it safer if ever called with invalid RLP from other code paths.

* Remove expect (#8536)

* Remove expect and propagate rlp::DecoderErrors as TrieErrors

* EIP 145: Bitwise shifting instructions in EVM (#8451)

* Add SHL, SHR, SAR opcodes

* Add have_bitwise_shifting schedule flag

* Add all EIP tests for SHL

* Add SHR implementation and tests

* Implement SAR and add tests

* Add eip145transition config param

* Change map_or to map_or_else when possible

*  Consolidate crypto functionality in `ethcore-crypto`. (#8432)

* Consolidate crypto functionality in `ethcore-crypto`.

- Move `ecdh`/`ecies` modules to `ethkey`.
- Refactor `ethcore-crypto` to use file per module.
- Replace `subtle` with `ethcore_crypto::is_equal`.
- Add `aes_gcm` module to `ethcore-crypto`.

* Rename `aes::{encrypt,decrypt,decrypt_cbc}` ...

... to `aes::{encrypt_128_ctr,decrypt_128_ctr,decrypt_128_cbc}`.

* ethcore, rpc, machine: refactor block reward application and tracing (#8490)

* Keep all enacted blocks notify in order (#8524)

* Keep all enacted blocks notify in order

* Collect is unnecessary

* Update ChainNotify to use ChainRouteType

* Fix all ethcore fn defs

* Wrap the type within ChainRoute

* Fix private-tx and sync api

* Fix secret_store API

* Fix updater API

* Fix rpc api

* Fix informant api

* Eagerly cache enacted/retracted and remove contain_enacted/retracted

* Fix indent

* tests: should use full expr form for struct constructor

* Use into_enacted_retracted to further avoid copy

* typo: not a function

* rpc/tests: ChainRoute -> ChainRoute::new

* Node table sorting according to last contact data (#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

* Rlp decode returns Result (#8527)

rlp::decode returns Result

Make a best effort to handle decoding errors gracefully throughout the code, using `expect` where the value is guaranteed to be valid (and in other places where it makes sense).

* Parity as a library (#8412)

* Parity as a library

* Fix concerns

* Allow using a null on_client_restart_cb

* Fix more concerns

* Test the C library in test.sh

* Reduce CMake version to 3.5

* Move the clib test before cargo test

* Add println in test

* Trace precompiled contracts when the transfer value is not zero (#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

* Don't block sync when importing old blocks (#8530)

* Alter IO queueing.

* Don't require IoMessages to be Clone

* Ancient blocks imported via IoChannel.

* Get rid of private transactions io message.

* Get rid of deadlock and fix disconnected handler.

* Revert to old disconnect condition.

* Fix tests.

* Fix deadlock.

* Make trace-time publishable. (#8568)

* Remove State::replace_backend (#8569)

* Refactoring `ethcore-sync` - Fixing warp-sync barrier (#8543)

* Start dividing sync chain : first supplier method

* WIP - updated chain sync supplier

* Finish refactoring the Chain Sync Supplier

* Create Chain Sync Requester

* Add Propagator for Chain Sync

* Add the Chain Sync Handler

* Move tests from mod -> handler

* Move tests to propagator

* Refactor SyncRequester arguments

* Refactoring peer fork header handler

* Fix wrong highest block number in snapshot sync

* Small refactor...

* Address PR grumbles

* Retry failed CI job

* Fix tests

* PR Grumbles

* Decoding headers can fail (#8570)

* rlp::decode returns Result

* Fix journaldb to handle rlp::decode Result

* Fix ethcore to work with rlp::decode returning Result

* Light client handles rlp::decode returning Result

* Fix tests in rlp_derive

* Fix tests

* Cleanup

* cleanup

* Allow panic rather than breaking out of iterator

* Let decoding failures when reading from disk blow up

* syntax

* Fix the trivial grumbles

* Fix failing tests

* Make Account::from_rlp return Result

* Syntx, sigh

* Temp-fix for decoding failures

* Header::decode returns Result

Handle new return type throughout the code base.

* Do not continue reading from the DB when a value could not be read

* Fix tests

* Handle header decoding in light_sync

* Handling header decoding errors

* Let the DecodeError bubble up unchanged

* Remove redundant error conversion

* Update CHANGELOG for 1.9, 1.10, and 1.11 (#8556)

* Move changelog for 1.10.x

* Mark 1.9 EOL

* Prepare changelog for 1.10.3 stable

* Prepare changelog for 1.11.0 stable

* Update changelogs

* Update CHANGELOG for 1.10.3 beta

* Update CHANGELOG for 1.11.0 beta

* Update CHANGELOG for 1.11.0 beta

* Update CHANGELOG for 1.11.0 beta

* Format changelog

* Handle socket address parsing errors (#8545)

Unpack errors and check for io::ErrorKind::InvalidInput and return our own AddressParse error. Remove the foreign link to std::net::AddrParseError and add an `impl From` for that error. Test parsing properly.

* Remove unnecessary cloning in overwrite_with (#8580)

* Remove unnecessary cloning in overwrite_with

* Remove into_iter

* changelog nit (#8585)

* Rename `whisper-cli binary` to `whisper` (#8579)

* rename whisper-cli binary to whisper

* fix tests

* Add whisper CLI to the pipelines (#8578)

* Add whisper CLI to the pipelines

* Address todo, ref #8579

* Added Dockerfile for alpine linux by @andresilva, closes #3565 (#8587)

* Changelog and Readme (#8591)

* Move changelog for 1.10.x

* Mark 1.9 EOL

* Prepare changelog for 1.10.3 stable

* Prepare changelog for 1.11.0 stable

* Update changelogs

* Update CHANGELOG for 1.10.3 beta

* Update CHANGELOG for 1.11.0 beta

* Update CHANGELOG for 1.11.0 beta

* Update CHANGELOG for 1.11.0 beta

* Format changelog

* Update README for 1.11

* Fix typo

* Attempt to fix intermittent test failures (#8584)

Occasionally should_return_correct_nonces_when_dropped_because_of_limit fails, possibly because of multiple threads competing to finish. See CI logs here for an example: https://gitlab.parity.io/parity/parity/-/jobs/86738

* Make mio optional in ethcore-io (#8537)

* Make mio optional in ethcore-io

* Add some annotations, plus a check for features

* Increase timer for test

* Fix Parity UI link (#8600)

Fix link https://github.com/paritytech/parity/issues/8599

* fix compiler warning (#8590)

* Block::decode() returns Result (#8586)

* block_header can fail so return Result (#8581)

* block_header can fail so return Result

* Restore previous return type based on feedback

* Fix failing doc tests running on non-code

* Remove inject.js server-side injection for dapps (#8539)

* Remove inject.js server-side injection for dapps

* Remove dapps test `should_inject_js`

Parity doesn't inject a <script> tag inside the responses anymore

* Fix the mio test again (#8602)

* 2 tiny modification on snapshot (#8601)

* Some tiny modifications.
1. fix some typo in the comment.
2. sort the order of methods in 'impl state::Backend for StateDB`

* Remove the clone of code_cache, as it has been done in clone_basic.

* remove From::from. It seems not necessary.

* change mode: remove rust files' executable mode.

* 2 tiny modifications on snapshot.

* Use full qualified syntax for itertools::Itertools::flatten (#8606)

* Fix packet count when talking with PAR2 peers (#8555)

* Support diferent packet counts in different protocol versions.

* Fix light timeouts and eclipse protection.

* Fix devp2p tests.

* Fix whisper-cli compilation.

* Fix compilation.

* Fix ethcore-sync tests.

* Revert "Fix light timeouts and eclipse protection."

This reverts commit 06285ea8c1d9d184d809f64b5507aece633da6cc.

* Increase timeouts.

* typo: wrong indentation in kovan config (#8610)

* Fix account list double 0x display (#8596)

* Remove unused self import

* Fix account list double 0x display

* Remove manually added text to the errors (#8595)

These messages were confusing for the users especially the help message.

* Gitlab test script fixes (#8573)

* Exclude /docs from modified files.

* Ensure all references in the working tree are available

* Remove duplicated line from test script

* Fix BlockReward contract "arithmetic operation overflow" (#8611)

* Fix BlockReward contract "arithmetic operation overflow"

* Add docs on how execute_as_system works

* Fix typo

* ´main.rs´ typo (#8629)

* Typo

* Update main.rs

* Store morden db and keys in "path/to/parity/data/Morden" (ropsten uses "test", like before) (#8621)

* Store morden db and keys in "path/to/parity/data/morden" (ropsten uses "test", like before)

* Fix light sync with initial validator-set contract (#8528)

* Fix #8468

* Use U256::max_value() instead

* Fix again

* Also change initial transaction gas

* Remove NetworkContext::io_channel() (#8625)

* Remove io_channel()

* Fix warning

* Check that the Android build doesn't dep on c++_shared (#8538)

* Fork choice and metadata framework for Engine (#8401)

* Add light client TODO item

* Move existing total-difficulty-based fork choice check to Engine

* Abstract total difficulty and block provider as Machine::BlockMetadata and Machine::BlockProvider

* Decouple "generate_metadata" logic to Engine

* Use fixed BlockMetadata and BlockProvider type for null and instantseal

In this way they can use total difficulty fork choice check

* Extend blockdetails with metadatas and finalized info

* Extra data update: mark_finalized and update_metadatas

* Check finalized block in Blockchain

* Fix a test constructor in verification mod

* Add total difficulty trait

* Fix type import

* Db migration to V13 with metadata column

* Address grumbles

* metadatas -> metadata

* Use generic type for update_metadata to avoid passing HashMap all around

* Remove metadata in blockdetails

* [WIP] Implement a generic metadata architecture

* [WIP] Metadata insertion logic in BlockChain

* typo: Value -> Self::Value

* [WIP] Temporarily remove Engine::is_new_best interface

So that we don't have too many type errors.

* [WIP] Fix more type errors

* [WIP] ExtendedHeader::PartialEq

* [WIP] Change metadata type Option<Vec<u8>> to Vec<u8>

* [WIP] Remove Metadata Error

* [WIP] Clean up error conversion

* [WIP] finalized -> is_finalized

* [WIP] Mark all fields in ExtrasInsert as pub

* [WIP] Remove unused import

* [WIP] Keep only local metadata info

* Mark metadata as optional

* [WIP] Revert metadata db change in BlockChain

* [WIP] Put finalization in unclosed state

* Use metadata interface in BlockDetail

* [WIP] Fix current build failures

* [WIP] Remove unused blockmetadata struct

* Remove DB migration info

* [WIP] Typo

* Use ExtendedHeader to implement fork choice check

* Implement is_new_best using Ancestry iterator

* Use expect instead of panic

* [WIP] Add ancestry Engine support via on_new_block

* Fix tests

* Emission of ancestry actions

* use_short_version should take account of metadata

* Engine::is_new_best -> Engine::fork_choice

* Use proper expect format as defined in #1026

* panic -> expect

* ancestry_header -> ancestry_with_metadata

* Boxed iterator -> &mut iterator

* Fix tests

* is_new_best -> primitive_fork_choice

* Document how fork_choice works

* Engine::fork_choice -> Engine::primitive_fork_choice

* comment: clarify types of finalization where Engine::primitive_fork_choice works

* Expose FinalizationInfo to Engine

* Fix tests due to merging

* Remove TotalDifficulty trait

* Do not pass FinalizationInfo to Engine

If there's finalized blocks in from route, choose the old branch without calling `Engine::fork_choice`.

* Fix compile

* Fix unused import

* Remove is_to_route_finalized

When no block reorg passes a finalized block, this variable is always false.

* Address format grumbles

* Fix docs: mark_finalized returns None if block hash is not found

`blockchain` mod does not yet have an Error type, so we still temporarily use None here.

* Fix inaccurate tree_route None expect description

* typo (#8640)

* Changelog for 1.10.4-stable and 1.11.1-beta (#8637)

* Add changelog for 1.10.4

* Add changelog for 1.11.1

* Fix Typos

* Don't open Browser post-install on Mac (#8641)

Since we start parity with the UI disabled per default now, opening the browser post installation will show an annoying error message, confusing the user. This patch removes opening the browser to prevent that annoyance.

fixes #8194

* Resumable warp-sync / Seed downloaded snapshots (#8544)

* Start dividing sync chain : first supplier method

* WIP - updated chain sync supplier

* Finish refactoring the Chain Sync Supplier

* Create Chain Sync Requester

* Add Propagator for Chain Sync

* Add the Chain Sync Handler

* Move tests from mod -> handler

* Move tests to propagator

* Refactor SyncRequester arguments

* Refactoring peer fork header handler

* Fix wrong highest block number in snapshot sync

* Small refactor...

* Resume warp-sync downloaded chunks

* Add comments

* Refactoring the previous chunks import

* Fix tests

* Address PR grumbles

* Fix not seeding current snapshot

* Address PR Grumbles

* Address PR grumble

* Retry failed CI job

* Update SnapshotService readiness check
Fix restoration locking issue for previous chunks restoration

* Fix tests

* Fix tests

* Fix test

* Early abort importing previous chunks

* PR Grumbles

* Update Gitlab CI config

* SyncState back to Waiting when Manifest peers disconnect

* Move fix

* Better fix

* Revert GitLab CI changes

* Fix Warning

* Refactor resuming snapshots

* Fix string construction

* Revert "Refactor resuming snapshots"

This reverts commit 75fd4b553a38e4a49dc5d6a878c70e830ff382eb.

* Update informant log

* Fix string construction

* Refactor resuming snapshots

* Fix informant

* PR Grumbles

* Update informant message : show chunks done

* PR Grumbles

* Fix

* Fix Warning

* PR Grumbles

* Fix not downloading old blocks (#8642)

* Remove HostInfo::next_nonce (#8644)

* Remove the Keccak C library and use the pure Rust impl (#8657)

* Add license and readme

* Use pure rust implementation

* Bump version to 0.1.1

* Don't use C, prefer the pure Rust implementation

* Add test for `write_keccak`

* Bump version

* Add benchmarks

* Add benchmarks

* Add keccak_256, keccak_512, keccak_256_unchecked and keccak_512_unchecked – mostly for compatibility with ethash

* Remove failed git merge attempt from external git repo
Cargo.lock updates

* whitespace

* Mark unsafe function unsafe

* Unsafe calls in unsafe block

* Document unsafety invariants

* Revert unintended changes to Cargo.lock

* updated tiny-keccak to 1.4.2 (#8669)

* parity: improve cli help and logging (#8665)

* parity: indicate disabling ancient blocks is not recommended

* parity: display decimals for stats in informant

* Refactor EIP150, EIP160 and EIP161 forks to be specified in CommonParams  (#8614)

* Allow post-homestead forks to be specified in CommonParams

* Fix all json configs

* Fix test in json crate

* Fix test in ethcore

* Fix all chain configs to use tabs

Given we use tabs in .editorconfig and the majority of chain configs.
This change is done in Emacs using `mark-whole-buffer` and `indent-region`.

* Remove HostInfo::client_version() and secret() (#8677)

* Move connection_filter to the network crate (#8674)

* Remove the error when stopping the network (#8671)

* Allow making direct RPC queries from the C API (#8588)

* Fix cli signer (#8682)

* Update ethereum-types so `{:#x}` applies 0x prefix

* Fix tx permission tests

* Use impl Future in the light client RPC helpers (#8628)

* Update mod.rs (#8695)

- Update interfaces affected by unsafe-expose
- replace `{{ }}` as this  throws an error in Jekyll (wiki)

* remove empty file (#8705)

* Set the request index to that of the current request (#8683)

* Set the request index to that of the current request

When setting up the chain of (two) requests to look up a block by hash, the second need to refer to the first. This fixes an issue where the back ref was set to the subsequent request, not the current one. When the requests are executed we loop through them in order and ensure the requests that should produce headers all match up. We do this by index so they better be right.

In other words: off by one.

* parity: trim whitespace when parsing duration strings (#8692)

* Implement recursive Debug for Nodes in patrica_trie::TrieDB (#8697)

fixes #8184

* Remove unused imports (#8722)

* Update dev chain (#8717)

* Make dev chain more foundation-like and enable wasm.

* Fix compilation warnings.

* Add a test for decoding corrupt data (#8713)

* Fix compilation error on nightly rust (#8707)

On nightly rust passing `public_url` works but that breaks on stable. This works for both.

* network-devp2p: handle UselessPeer disconnect (#8686)

* Shutdown the Snapshot Service early (#8658)

* Shutdown the Snapshot Service when shutting down the runner

* Rename `service` to `client_service`

* Fix tests

* Fix local transactions policy. (#8691)

* Add a deadlock detection thread (#8727)

* Add a deadlock detection thread

Expose it under a feature flag:
`cargo build --features "deadlock_detection"`

* Address Nicklas's comments

* Remove unused function new_pow_test_spec (#8735)

* Add 'interface' option to cli (#8699)

Additionally as to the port, the new  command line option
now allows the user to specify the network interface the P2P-Parity
listens, too. With support for 'all' and 'local' like in all other
versions of this flag. Default is 'all' (aka ).

* Fix some nits using clippy (#8731)

* fix some nits using clippy

* fix tests

* Remove a couple of unnecessary `transmute()` (#8736)

* bump tinykeccak to 1.4 (#8728)

* ease tiny-keccak version requirements (1.4.1 -> 1.4) (#8726)

* Remove -k/--insecure option from curl installer (#8719)

Piping `curl` to `bash` while **disabling** certificate verification can lead to security problems.

* Fix PoW blockchains sealing notifications in chain_new_blocks (#8656)

* Print warnings when fetching pending blocks (#8711)

* Lots of println to figure out what eth_getBlockByNumber does/should do

* Remove debugging

* Print warnings when fetching pending blocks

When calling `eth_getBlockByNumber` with `pending`, we now print a deprecation warning and:

* if a pending block is found, use it to respond
* if no pending block is found, respond as if if was a request for `Latest`

Addresses issue #8703 (not sure if it's enough to close it tbh)

* Fix XOR distance calculation in discovery Kademlia impl (#8589)

* network-devp2p: Test for discovery bucket insertion.

All test values are randomly generated and the assertions are checked manually.
Test fails because distance metric is implemented incorrectly.

* network-devp2p: Fix discovery distance function.

The Kademlia distance function (XOR) was implemented incorrectly as a population count.

* network-devp2p: Refactor nearest_node_entries to be on instance.

Optimizations are possible with more access to the discovery state.

* network-devp2p: Fix loss of precision in nearest_node_entries.

* network-devp2p: More efficient nearest node search.

The discovery algorithm to identify the nearest k nodes does not need to scan
all entries in all buckets.

* Remove NetworkService::config() (#8653)

* CI: Fixes for Android Pipeline (#8745)

* ci: Remove check for shared libraries in gitlab script

* ci: allow android arm build to fail

* Custom Error Messages on ENFILE and EMFILE IO Errors (#8744)

* Custom Error Messages on ENFILE and EMFILE IO Errors

Add custom mapping of ENFILE and EMFILE IO Errors (Failure because of missing system resource) right when chaining ioError into ::util::Network::Error to improve Error Messages given to user

Note: Adds libc as a dependency to util/network

* Use assert-matches for more readable tests

* Fix Wording and consistency
2018-06-12 09:31:14 +02:00
Tomasz Drwięga
4938d5dde5 Limit the number of transactions in pending set (#8777)
* Unordered iterator.

* Use unordered and limited set if full not required.

* Split timeout work into smaller timers.

* Avoid collecting all pending transactions when mining

* Remove println.

* Use priority ordering in eth-filter.

* Fix ethcore-miner tests and tx propagation.

* Review grumbles addressed.

* Add test for unordered not populating the cache.

* Fix ethcore tests.

* Fix light tests.

* Fix ethcore-sync tests.

* Fix RPC tests.
2018-06-12 08:22:54 +02:00
Wei Tang
4817b94d0b Use sealing.enabled to emit eth_mining information (#8844)
* Use sealing.enabled to emit eth_mining information

* Be more accurate on last_requests by using Option

* Add tests for internal sealing

* Add test for pow non-mining

* Add test for mining pow
2018-06-12 08:21:55 +02:00
Andronik Ordian
2a470deeaf Don't allocate in expect_valid_rlp unless necessary (#8867)
* don't allocate via format! in case there's no error

* fix test?
2018-06-12 08:15:52 +02:00
Benjamin Kampmann
861d829420 Fix Cli Return Code on --help for ethkey, ethstore & whisper (#8863)
Docopt handles `--help` automatically for us, however we've handled those
Errors the same as all others: by exiting with Return Code `1`, which is wrong
for a totally appropriate a quit on `--help`. Fortunately `docopt:Error`
provides an `exit` helper function that discriminates properly between fatal
and non-fatal errors and exist appropriately.

This patch makes sure we use that handy function in case we encounter such an
error in the CLI of ethkey, ethstore and whisper. Thus those are now giving
the appropriate Return code on `--help`.

fixes #8851
2018-06-11 20:38:01 +02:00
Wei Tang
09ee6e1477 Fix subcrate test compile (#8862)
* Fix test compile for light, node_filter, service in ethcore

* Fix ipfs, local-store, rpc, secret_store, updater subcrate test compile
2018-06-11 12:26:49 +02:00
Afri Schoedon
10fc74eb81 network-devp2p: downgrade logging to debug, add target (#8784)
* network-devp2p: downgrade logging to debug, add target

* network-devp2p: rename s/datagramm/datagram
2018-06-11 10:03:16 +02:00
Elichai Turkel
986f485b3e Clearing up a comment about the prefix for signing (#8828) 2018-06-11 10:02:46 +02:00
Tomasz Drwięga
af1088ef61 Disable parallel verification and skip verifiying already imported txs. (#8834)
* Reject transactions that are already in pool without verifying them.

* Avoid verifying already imported transactions.
2018-06-08 17:05:46 +02:00
Jim Posen
13bc922e54 devp2p: Move UDP socket handling from Discovery to Host. (#8790)
* devp2p: Move UDP socket handling from Discovery to Host.

* devp2p: Fix bug with potentially incorrect UDP registration.

This works right now because the Host handler happens to be the first one
registered on the IoService.

* devp2p: Use 0-initialized memory buffer instead of unsafe.

* Remove send_queue field from public interface of Discovery.

* Rename Datagramm to Datagram.

sed -i 's/Datagramm/Datagram/g' util/network-devp2p/src/discovery.rs util/network-devp2p/src/host.rs
sed -i 's/datagramm/datagram/g' util/network-devp2p/src/discovery.rs util/network-devp2p/src/host.rs

* Include target in log statements.
2018-06-08 16:31:48 +02:00
Marek Kotewicz
1f39a1bd76 Fixed AuthorityRound deadlock on shutdown, closes #8088 (#8803) 2018-06-08 16:30:44 +02:00
Andrew Jones
13efb6586d Specify critical release flag per network (#8821) 2018-06-08 14:54:23 +01:00
Andronik Ordian
a48ed02433 Fix deadlock_detection feature branch compilation (#8824) 2018-06-08 10:04:12 +02:00
Andronik Ordian
24c43513a6 Use system allocator when profiling memory (#8831) 2018-06-07 16:48:01 +02:00
Alex Baranov
a6d267abc0 added from and to to Receipt (#8756) 2018-06-07 16:47:41 +02:00
André Silva
c8877d4098 ethcore: fix ancient block error msg handling (#8832) 2018-06-07 11:15:21 +02:00
Afri Schoedon
1318f536c9 CI: Fix docker tags (#8822)
* scripts: enable docker builds for beta and stable

* scripts: docker latest should be beta not master

* scripts: docker latest is master
2018-06-06 15:45:55 +02:00
Afri Schoedon
bc2f86e806 parity: fix indentation in sync logging (#8794) 2018-06-06 14:15:13 +02:00
Marek Kotewicz
107f0fa4c6 Removed obsolete IpcMode enum (#8819) 2018-06-06 14:14:45 +02:00
Wei Tang
a5190449da Remove UI related settings from CLI (#8783)
* Remove all ui reference in dapps interface

* Pass primary cli build

* Add back parity wallet dapp as builtin

* Clean up ui settings

* Fix all tests in cli

* Missed ui files to commit

* Add parity-utils endpoint back

* Fix non-dapp feature compiling

* Inline styles

* Remove parity-utils endpoint

* Remove ui precompiled crate

* Remove parity-ui alltogether

* Remove ui feature flags

* Move errors to static methods

* Fix tests

* Remove all reference to utils endpoint and remove server side injection

According to https://github.com/paritytech/parity/pull/8539, inject.js is already handled by Parity UI.
2018-06-06 10:05:52 +02:00
Andrew Jones
114d4433a9 Remove windows tray and installer (#8778)
* Remove windows tray and installer

* Remove make_exe (installer) target

* Change windows $ARC to amd64 for consistency

* Fix windows build - revert to winapi 0.2.8

* Remove publishing of windows installer bins
2018-06-06 10:02:25 +02:00
Afri Schoedon
bd4498cffc docs: add changelogs for 1.10.6 and 1.11.3 (#8810)
* docs: add changelog for 1.10.6

* docs: add changelog for 1.11.3

* docs: markdownify the changelogs
2018-06-06 10:01:15 +02:00
Tomasz Drwięga
6771539a90 Fix ancient blocks queue deadlock (#8751)
* Revert "Fix not downloading old blocks (#8642)"

This reverts commit d1934363e7.

* Make sure only one thread actually imports old blocks.

* Add some trace timers.

* Bring back pending hashes set.

* Separate locks so that queue can happen while we are importing.

* Address grumbles.
2018-06-05 19:49:46 +02:00
Wei Tang
123b6ae62e Disallow unsigned transactions in case EIP-86 is disabled (#8802)
* Disallow unsigned transactions in case EIP-86 is disabled

* Add tests for verification

* Add disallow unsigned transactions test in machine
2018-06-05 19:49:11 +02:00
Wei Tang
5d6a0d4dae Fix evmbin compilation (#8795)
* Fix evmbin compilation

* Move features declaration to dependencies
2018-06-05 14:40:50 +02:00
Wei Tang
6ecc63002b Have space between feature cfg flag (#8791) 2018-06-05 11:28:35 +02:00
André Silva
b3ea766bd5 rpc: fix address formatting in TransactionRequest Display (#8786)
* rpc: fix address formatting in TransactionRequest Display

* rpc: use unwrap_or_else when no to address provided
2018-06-05 09:58:09 +02:00
Wei Tang
e2a90ce159 Conditionally compile ethcore public test helpers (#8743)
* Mark test helpers and test-only specs as cfg(test)

* Use test-probe to conditionally compile test helpers

* Remove test probe and directly use features tag
2018-06-04 15:58:44 +02:00
Andrew Jones
8057e8df43 Remove Result wrapper from AccountProvider in RPC impls (#8763)
* Remove AccountProvider Result, it's always `Ok`

* Remove unnecessary clones

* Remove redundant `Ok`
2018-06-04 10:26:30 +01:00
Niklas Adolfsson
98b7c07171 Update license header and scripts (#8666)
* Update `add_license` script

* run script

* add `remove duplicate lines script` and run it

* Revert changes `English spaces`

* strip whitespaces

* Revert `GPL` in files with `apache/mit license`

* don't append `gpl license` in files with other lic

* Don't append `gpl header` in files with other lic.

* re-ran script

* include c and cpp files too

* remove duplicate header

* rebase nit
2018-06-04 10:19:50 +02:00
Pierre Krieger
3d76417353 Remove HostTrait altogether (#8681) 2018-06-02 11:05:11 +02:00
André Silva
2060ea5de3 ethcore-sync: fix connection to peers behind chain fork block (#8710) 2018-06-02 10:29:44 +02:00
Wei Tang
79eb8f7ace Remove public node settings from cli (#8758)
* Remove public node related settings

* Fix tests

* Unwrap accounts provider in all rpc apis

* Unwrap AccountProvider in all cli places

* Fix rpc tests
2018-06-01 15:49:55 +01:00
Benjamin Kampmann
0ebcc200c3 Custom Error Messages on ENFILE and EMFILE IO Errors (#8744)
* Custom Error Messages on ENFILE and EMFILE IO Errors

Add custom mapping of ENFILE and EMFILE IO Errors (Failure because of missing system resource) right when chaining ioError into ::util::Network::Error to improve Error Messages given to user

Note: Adds libc as a dependency to util/network

* Use assert-matches for more readable tests

* Fix Wording and consistency
2018-06-01 13:37:43 +02:00
Afri Schoedon
27f3f42ce2 CI: Fixes for Android Pipeline (#8745)
* ci: Remove check for shared libraries in gitlab script

* ci: allow android arm build to fail
2018-06-01 09:52:30 +02:00
Pierre Krieger
dab967ace8 Remove NetworkService::config() (#8653) 2018-06-01 09:49:46 +02:00
Jim Posen
485d4aa8f3 Fix XOR distance calculation in discovery Kademlia impl (#8589)
* network-devp2p: Test for discovery bucket insertion.

All test values are randomly generated and the assertions are checked manually.
Test fails because distance metric is implemented incorrectly.

* network-devp2p: Fix discovery distance function.

The Kademlia distance function (XOR) was implemented incorrectly as a population count.

* network-devp2p: Refactor nearest_node_entries to be on instance.

Optimizations are possible with more access to the discovery state.

* network-devp2p: Fix loss of precision in nearest_node_entries.

* network-devp2p: More efficient nearest node search.

The discovery algorithm to identify the nearest k nodes does not need to scan
all entries in all buckets.
2018-06-01 09:42:45 +02:00
David
799ae29ac4 Print warnings when fetching pending blocks (#8711)
* Lots of println to figure out what eth_getBlockByNumber does/should do

* Remove debugging

* Print warnings when fetching pending blocks

When calling `eth_getBlockByNumber` with `pending`, we now print a deprecation warning and:

* if a pending block is found, use it to respond
* if no pending block is found, respond as if if was a request for `Latest`

Addresses issue #8703 (not sure if it's enough to close it tbh)
2018-06-01 09:38:20 +02:00
Wei Tang
00b209a29e Fix PoW blockchains sealing notifications in chain_new_blocks (#8656) 2018-05-31 15:28:25 +02:00
vrde
581e510c2d Remove -k/--insecure option from curl installer (#8719)
Piping `curl` to `bash` while **disabling** certificate verification can lead to security problems.
2018-05-31 14:43:06 +02:00
Svyatoslav Nikolsky
9053c0dfd9 ease tiny-keccak version requirements (1.4.1 -> 1.4) (#8726) 2018-05-31 14:07:35 +02:00
Niklas Adolfsson
d32ce37484 bump tinykeccak to 1.4 (#8728) 2018-05-31 13:53:09 +02:00
Niklas Adolfsson
1020560af6 Remove a couple of unnecessary transmute() (#8736) 2018-05-31 13:39:25 +02:00
Niklas Adolfsson
118588ef6c Fix some nits using clippy (#8731)
* fix some nits using clippy

* fix tests
2018-05-31 13:38:46 +02:00
Benjamin Kampmann
6b9314eaa9 Add 'interface' option to cli (#8699)
Additionally as to the port, the new  command line option
now allows the user to specify the network interface the P2P-Parity
listens, too. With support for 'all' and 'local' like in all other
versions of this flag. Default is 'all' (aka ).
2018-05-31 13:36:47 +02:00
Wei Tang
686bf443e6 Remove unused function new_pow_test_spec (#8735) 2018-05-31 15:06:22 +08:00
Andronik Ordian
93054ef24b Add a deadlock detection thread (#8727)
* Add a deadlock detection thread

Expose it under a feature flag:
`cargo build --features "deadlock_detection"`

* Address Nicklas's comments
2018-05-30 21:42:37 +08:00
Tomasz Drwięga
1620eabd9d Fix local transactions policy. (#8691) 2018-05-30 17:34:49 +08:00
Nicolas Gotchac
7fcb082cad Shutdown the Snapshot Service early (#8658)
* Shutdown the Snapshot Service when shutting down the runner

* Rename `service` to `client_service`

* Fix tests
2018-05-29 13:23:15 +03:00
André Silva
68d16b723a network-devp2p: handle UselessPeer disconnect (#8686) 2018-05-29 07:16:08 +00:00
David
ec9c6e9783 Fix compilation error on nightly rust (#8707)
On nightly rust passing `public_url` works but that breaks on stable. This works for both.
2018-05-28 15:10:29 +00:00
David
3b083d545d Add a test for decoding corrupt data (#8713) 2018-05-28 14:41:08 +00:00
Tomasz Drwięga
5400447395 Update dev chain (#8717)
* Make dev chain more foundation-like and enable wasm.

* Fix compilation warnings.
2018-05-28 14:39:25 +00:00
Nicolas Gotchac
ed8425b8b9 Remove unused imports (#8722) 2018-05-28 14:32:29 +00:00
Benjamin Kampmann
7d7d4822a5 Implement recursive Debug for Nodes in patrica_trie::TrieDB (#8697)
fixes #8184
2018-05-25 19:19:32 +08:00
André Silva
80528c5344 parity: trim whitespace when parsing duration strings (#8692) 2018-05-24 19:43:18 +02:00
David
6c24d9897a Set the request index to that of the current request (#8683)
* Set the request index to that of the current request

When setting up the chain of (two) requests to look up a block by hash, the second need to refer to the first. This fixes an issue where the back ref was set to the subsequent request, not the current one. When the requests are executed we loop through them in order and ensure the requests that should produce headers all match up. We do this by index so they better be right.

In other words: off by one.
2018-05-24 17:29:28 +02:00
Niklas Adolfsson
e346f3058e remove empty file (#8705) 2018-05-24 19:06:48 +08:00
Thibaut S
dc8da3743d Update mod.rs (#8695)
- Update interfaces affected by unsafe-expose
- replace `{{ }}` as this  throws an error in Jekyll (wiki)
2018-05-24 10:53:37 +02:00
Pierre Krieger
6563576ae9 Use impl Future in the light client RPC helpers (#8628) 2018-05-24 10:39:52 +08:00
Andrew Jones
db9397890e Fix cli signer (#8682)
* Update ethereum-types so `{:#x}` applies 0x prefix
2018-05-23 10:27:45 +01:00
Pierre Krieger
bd1e3fc606 Allow making direct RPC queries from the C API (#8588) 2018-05-22 19:07:27 +02:00
Pierre Krieger
fe5f5b28d9 Remove the error when stopping the network (#8671) 2018-05-22 12:35:13 +08:00
Pierre Krieger
ee41fa6f30 Move connection_filter to the network crate (#8674) 2018-05-22 12:34:01 +08:00
Pierre Krieger
84ecab0eaf Remove HostInfo::client_version() and secret() (#8677) 2018-05-22 12:32:05 +08:00
Wei Tang
3fde07b2e1 Refactor EIP150, EIP160 and EIP161 forks to be specified in CommonParams (#8614)
* Allow post-homestead forks to be specified in CommonParams

* Fix all json configs

* Fix test in json crate

* Fix test in ethcore

* Fix all chain configs to use tabs

Given we use tabs in .editorconfig and the majority of chain configs.
This change is done in Emacs using `mark-whole-buffer` and `indent-region`.
2018-05-22 12:24:09 +08:00
Afri Schoedon
3c2f13f88b parity: improve cli help and logging (#8665)
* parity: indicate disabling ancient blocks is not recommended

* parity: display decimals for stats in informant
2018-05-22 10:19:00 +08:00
Marek Kotewicz
52f10242e2 updated tiny-keccak to 1.4.2 (#8669) 2018-05-21 09:33:47 +02:00
David
9e719f088f Remove the Keccak C library and use the pure Rust impl (#8657)
* Add license and readme

* Use pure rust implementation

* Bump version to 0.1.1

* Don't use C, prefer the pure Rust implementation

* Add test for `write_keccak`

* Bump version

* Add benchmarks

* Add benchmarks

* Add keccak_256, keccak_512, keccak_256_unchecked and keccak_512_unchecked – mostly for compatibility with ethash

* Remove failed git merge attempt from external git repo
Cargo.lock updates

* whitespace

* Mark unsafe function unsafe

* Unsafe calls in unsafe block

* Document unsafety invariants

* Revert unintended changes to Cargo.lock
2018-05-20 12:27:59 +08:00
Pierre Krieger
6552256981 Remove HostInfo::next_nonce (#8644) 2018-05-18 08:04:25 +02:00
Nicolas Gotchac
d1934363e7 Fix not downloading old blocks (#8642) 2018-05-17 10:58:35 +02:00
Nicolas Gotchac
cdbcfaa7de Resumable warp-sync / Seed downloaded snapshots (#8544)
* Start dividing sync chain : first supplier method

* WIP - updated chain sync supplier

* Finish refactoring the Chain Sync Supplier

* Create Chain Sync Requester

* Add Propagator for Chain Sync

* Add the Chain Sync Handler

* Move tests from mod -> handler

* Move tests to propagator

* Refactor SyncRequester arguments

* Refactoring peer fork header handler

* Fix wrong highest block number in snapshot sync

* Small refactor...

* Resume warp-sync downloaded chunks

* Add comments

* Refactoring the previous chunks import

* Fix tests

* Address PR grumbles

* Fix not seeding current snapshot

* Address PR Grumbles

* Address PR grumble

* Retry failed CI job

* Update SnapshotService readiness check
Fix restoration locking issue for previous chunks restoration

* Fix tests

* Fix tests

* Fix test

* Early abort importing previous chunks

* PR Grumbles

* Update Gitlab CI config

* SyncState back to Waiting when Manifest peers disconnect

* Move fix

* Better fix

* Revert GitLab CI changes

* Fix Warning

* Refactor resuming snapshots

* Fix string construction

* Revert "Refactor resuming snapshots"

This reverts commit 75fd4b553a38e4a49dc5d6a878c70e830ff382eb.

* Update informant log

* Fix string construction

* Refactor resuming snapshots

* Fix informant

* PR Grumbles

* Update informant message : show chunks done

* PR Grumbles

* Fix

* Fix Warning

* PR Grumbles
2018-05-16 22:01:55 +02:00
Benjamin Kampmann
6ecc855c34 Don't open Browser post-install on Mac (#8641)
Since we start parity with the UI disabled per default now, opening the browser post installation will show an annoying error message, confusing the user. This patch removes opening the browser to prevent that annoyance.

fixes #8194
2018-05-16 22:01:11 +02:00
Afri Schoedon
30ecd045fa Changelog for 1.10.4-stable and 1.11.1-beta (#8637)
* Add changelog for 1.10.4

* Add changelog for 1.11.1

* Fix Typos
2018-05-16 22:00:33 +02:00
Niklas Adolfsson
f9e64e0965 typo (#8640) 2018-05-16 20:09:59 +02:00
Wei Tang
0ecbb3ec02 Fork choice and metadata framework for Engine (#8401)
* Add light client TODO item

* Move existing total-difficulty-based fork choice check to Engine

* Abstract total difficulty and block provider as Machine::BlockMetadata and Machine::BlockProvider

* Decouple "generate_metadata" logic to Engine

* Use fixed BlockMetadata and BlockProvider type for null and instantseal

In this way they can use total difficulty fork choice check

* Extend blockdetails with metadatas and finalized info

* Extra data update: mark_finalized and update_metadatas

* Check finalized block in Blockchain

* Fix a test constructor in verification mod

* Add total difficulty trait

* Fix type import

* Db migration to V13 with metadata column

* Address grumbles

* metadatas -> metadata

* Use generic type for update_metadata to avoid passing HashMap all around

* Remove metadata in blockdetails

* [WIP] Implement a generic metadata architecture

* [WIP] Metadata insertion logic in BlockChain

* typo: Value -> Self::Value

* [WIP] Temporarily remove Engine::is_new_best interface

So that we don't have too many type errors.

* [WIP] Fix more type errors

* [WIP] ExtendedHeader::PartialEq

* [WIP] Change metadata type Option<Vec<u8>> to Vec<u8>

* [WIP] Remove Metadata Error

* [WIP] Clean up error conversion

* [WIP] finalized -> is_finalized

* [WIP] Mark all fields in ExtrasInsert as pub

* [WIP] Remove unused import

* [WIP] Keep only local metadata info

* Mark metadata as optional

* [WIP] Revert metadata db change in BlockChain

* [WIP] Put finalization in unclosed state

* Use metadata interface in BlockDetail

* [WIP] Fix current build failures

* [WIP] Remove unused blockmetadata struct

* Remove DB migration info

* [WIP] Typo

* Use ExtendedHeader to implement fork choice check

* Implement is_new_best using Ancestry iterator

* Use expect instead of panic

* [WIP] Add ancestry Engine support via on_new_block

* Fix tests

* Emission of ancestry actions

* use_short_version should take account of metadata

* Engine::is_new_best -> Engine::fork_choice

* Use proper expect format as defined in #1026

* panic -> expect

* ancestry_header -> ancestry_with_metadata

* Boxed iterator -> &mut iterator

* Fix tests

* is_new_best -> primitive_fork_choice

* Document how fork_choice works

* Engine::fork_choice -> Engine::primitive_fork_choice

* comment: clarify types of finalization where Engine::primitive_fork_choice works

* Expose FinalizationInfo to Engine

* Fix tests due to merging

* Remove TotalDifficulty trait

* Do not pass FinalizationInfo to Engine

If there's finalized blocks in from route, choose the old branch without calling `Engine::fork_choice`.

* Fix compile

* Fix unused import

* Remove is_to_route_finalized

When no block reorg passes a finalized block, this variable is always false.

* Address format grumbles

* Fix docs: mark_finalized returns None if block hash is not found

`blockchain` mod does not yet have an Error type, so we still temporarily use None here.

* Fix inaccurate tree_route None expect description
2018-05-16 14:58:01 +08:00
Pierre Krieger
3bb5ad7204 Check that the Android build doesn't dep on c++_shared (#8538) 2018-05-16 00:11:14 +03:00
Pierre Krieger
8e078b1d83 Remove NetworkContext::io_channel() (#8625)
* Remove io_channel()

* Fix warning
2018-05-15 17:03:09 +02:00
Pierre Krieger
0c4d2fbc70 Fix light sync with initial validator-set contract (#8528)
* Fix #8468

* Use U256::max_value() instead

* Fix again

* Also change initial transaction gas
2018-05-15 15:35:52 +02:00
David
e4614e49ae Store morden db and keys in "path/to/parity/data/Morden" (ropsten uses "test", like before) (#8621)
* Store morden db and keys in "path/to/parity/data/morden" (ropsten uses "test", like before)
2018-05-15 12:57:32 +02:00
Niklas Adolfsson
8f56606cac ´main.rs´ typo (#8629)
* Typo

* Update main.rs
2018-05-15 07:46:37 +02:00
Wei Tang
af90fbfb33 Fix BlockReward contract "arithmetic operation overflow" (#8611)
* Fix BlockReward contract "arithmetic operation overflow"

* Add docs on how execute_as_system works

* Fix typo
2018-05-14 09:26:18 -05:00
Afri Schoedon
938c3707fc Gitlab test script fixes (#8573)
* Exclude /docs from modified files.

* Ensure all references in the working tree are available

* Remove duplicated line from test script
2018-05-14 11:28:41 +02:00
Niklas Adolfsson
1b95af18ff Remove manually added text to the errors (#8595)
These messages were confusing for the users especially the help message.
2018-05-14 10:11:10 +02:00
Wei Tang
272ebc1ef7 Fix account list double 0x display (#8596)
* Remove unused self import

* Fix account list double 0x display
2018-05-14 10:10:28 +02:00
Wei Tang
cfd50538bb typo: wrong indentation in kovan config (#8610) 2018-05-14 10:10:11 +02:00
Tomasz Drwięga
08abf67a51 Fix packet count when talking with PAR2 peers (#8555)
* Support diferent packet counts in different protocol versions.

* Fix light timeouts and eclipse protection.

* Fix devp2p tests.

* Fix whisper-cli compilation.

* Fix compilation.

* Fix ethcore-sync tests.

* Revert "Fix light timeouts and eclipse protection."

This reverts commit 06285ea8c1d9d184d809f64b5507aece633da6cc.

* Increase timeouts.
2018-05-14 10:09:05 +02:00
Wei Tang
981554cf74 Use full qualified syntax for itertools::Itertools::flatten (#8606) 2018-05-14 09:22:59 +02:00
lihuafeng
979af3d314 2 tiny modification on snapshot (#8601)
* Some tiny modifications.
1. fix some typo in the comment.
2. sort the order of methods in 'impl state::Backend for StateDB`

* Remove the clone of code_cache, as it has been done in clone_basic.

* remove From::from. It seems not necessary.

* change mode: remove rust files' executable mode.

* 2 tiny modifications on snapshot.
2018-05-12 22:46:08 +02:00
Pierre Krieger
57d1f2b4d3 Fix the mio test again (#8602) 2018-05-11 13:45:07 +02:00
Axel Chalon
1fa95ac236 Remove inject.js server-side injection for dapps (#8539)
* Remove inject.js server-side injection for dapps

* Remove dapps test `should_inject_js`

Parity doesn't inject a <script> tag inside the responses anymore
2018-05-11 12:09:42 +02:00
David
25dc1c2155 block_header can fail so return Result (#8581)
* block_header can fail so return Result

* Restore previous return type based on feedback

* Fix failing doc tests running on non-code
2018-05-11 11:34:07 +02:00
David
61ec02248a Block::decode() returns Result (#8586) 2018-05-11 11:33:13 +02:00
Niklas Adolfsson
ecd7caa93d fix compiler warning (#8590) 2018-05-11 12:23:19 +03:00
Thibaut S
aea26dcc64 Fix Parity UI link (#8600)
Fix link https://github.com/paritytech/parity/issues/8599
2018-05-11 09:04:04 +02:00
Pierre Krieger
1b8f299df2 Make mio optional in ethcore-io (#8537)
* Make mio optional in ethcore-io

* Add some annotations, plus a check for features

* Increase timer for test
2018-05-10 12:34:36 +02:00
David
6e2e08628a Attempt to fix intermittent test failures (#8584)
Occasionally should_return_correct_nonces_when_dropped_because_of_limit fails, possibly because of multiple threads competing to finish. See CI logs here for an example: https://gitlab.parity.io/parity/parity/-/jobs/86738
2018-05-10 12:33:56 +02:00
Afri Schoedon
fb0e6cf0d0 Changelog and Readme (#8591)
* Move changelog for 1.10.x

* Mark 1.9 EOL

* Prepare changelog for 1.10.3 stable

* Prepare changelog for 1.11.0 stable

* Update changelogs

* Update CHANGELOG for 1.10.3 beta

* Update CHANGELOG for 1.11.0 beta

* Update CHANGELOG for 1.11.0 beta

* Update CHANGELOG for 1.11.0 beta

* Format changelog

* Update README for 1.11

* Fix typo
2018-05-10 12:33:40 +02:00
Marek Kotewicz
a57c45bb1c Added Dockerfile for alpine linux by @andresilva, closes #3565 (#8587) 2018-05-09 23:28:16 +02:00
Afri Schoedon
b2cc1c54f8 Add whisper CLI to the pipelines (#8578)
* Add whisper CLI to the pipelines

* Address todo, ref #8579
2018-05-09 23:26:30 +02:00
Niklas Adolfsson
21dad1d41e Rename whisper-cli binary to whisper (#8579)
* rename whisper-cli binary to whisper

* fix tests
2018-05-09 23:25:58 +02:00
Niklas Adolfsson
1d42b7f0d1 changelog nit (#8585) 2018-05-09 23:21:16 +02:00
Wei Tang
cddc33bb24 Remove unnecessary cloning in overwrite_with (#8580)
* Remove unnecessary cloning in overwrite_with

* Remove into_iter
2018-05-09 18:41:56 +02:00
David
cb7ad2366d Handle socket address parsing errors (#8545)
Unpack errors and check for io::ErrorKind::InvalidInput and return our own AddressParse error. Remove the foreign link to std::net::AddrParseError and add an `impl From` for that error. Test parsing properly.
2018-05-09 15:58:02 +02:00
Afri Schoedon
25536c5ffb Update CHANGELOG for 1.9, 1.10, and 1.11 (#8556)
* Move changelog for 1.10.x

* Mark 1.9 EOL

* Prepare changelog for 1.10.3 stable

* Prepare changelog for 1.11.0 stable

* Update changelogs

* Update CHANGELOG for 1.10.3 beta

* Update CHANGELOG for 1.11.0 beta

* Update CHANGELOG for 1.11.0 beta

* Update CHANGELOG for 1.11.0 beta

* Format changelog
2018-05-09 14:11:36 +02:00
David
842b75c0e6 Decoding headers can fail (#8570)
* rlp::decode returns Result

* Fix journaldb to handle rlp::decode Result

* Fix ethcore to work with rlp::decode returning Result

* Light client handles rlp::decode returning Result

* Fix tests in rlp_derive

* Fix tests

* Cleanup

* cleanup

* Allow panic rather than breaking out of iterator

* Let decoding failures when reading from disk blow up

* syntax

* Fix the trivial grumbles

* Fix failing tests

* Make Account::from_rlp return Result

* Syntx, sigh

* Temp-fix for decoding failures

* Header::decode returns Result

Handle new return type throughout the code base.

* Do not continue reading from the DB when a value could not be read

* Fix tests

* Handle header decoding in light_sync

* Handling header decoding errors

* Let the DecodeError bubble up unchanged

* Remove redundant error conversion
2018-05-09 12:05:56 +02:00
Nicolas Gotchac
8b0ba97cf2 Refactoring ethcore-sync - Fixing warp-sync barrier (#8543)
* Start dividing sync chain : first supplier method

* WIP - updated chain sync supplier

* Finish refactoring the Chain Sync Supplier

* Create Chain Sync Requester

* Add Propagator for Chain Sync

* Add the Chain Sync Handler

* Move tests from mod -> handler

* Move tests to propagator

* Refactor SyncRequester arguments

* Refactoring peer fork header handler

* Fix wrong highest block number in snapshot sync

* Small refactor...

* Address PR grumbles

* Retry failed CI job

* Fix tests

* PR Grumbles
2018-05-09 12:05:34 +02:00
Wei Tang
b84682168d Remove State::replace_backend (#8569) 2018-05-09 08:55:01 +02:00
Tomasz Drwięga
f20f9f376e Make trace-time publishable. (#8568) 2018-05-09 08:54:37 +02:00
Tomasz Drwięga
24838bbcd3 Don't block sync when importing old blocks (#8530)
* Alter IO queueing.

* Don't require IoMessages to be Clone

* Ancient blocks imported via IoChannel.

* Get rid of private transactions io message.

* Get rid of deadlock and fix disconnected handler.

* Revert to old disconnect condition.

* Fix tests.

* Fix deadlock.
2018-05-09 08:49:34 +02:00
Wei Tang
7a00d97977 Trace precompiled contracts when the transfer value is not zero (#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
2018-05-09 08:48:55 +02:00
Pierre Krieger
ac3de4c5fc Parity as a library (#8412)
* Parity as a library

* Fix concerns

* Allow using a null on_client_restart_cb

* Fix more concerns

* Test the C library in test.sh

* Reduce CMake version to 3.5

* Move the clib test before cargo test

* Add println in test
2018-05-09 08:47:21 +02:00
David
28c731881f Rlp decode returns Result (#8527)
rlp::decode returns Result

Make a best effort to handle decoding errors gracefully throughout the code, using `expect` where the value is guaranteed to be valid (and in other places where it makes sense).
2018-05-08 11:22:12 +02:00
André Silva
a7a46f4253 Node table sorting according to last contact data (#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
2018-05-07 13:11:12 +02:00
Wei Tang
528497b86a Keep all enacted blocks notify in order (#8524)
* Keep all enacted blocks notify in order

* Collect is unnecessary

* Update ChainNotify to use ChainRouteType

* Fix all ethcore fn defs

* Wrap the type within ChainRoute

* Fix private-tx and sync api

* Fix secret_store API

* Fix updater API

* Fix rpc api

* Fix informant api

* Eagerly cache enacted/retracted and remove contain_enacted/retracted

* Fix indent

* tests: should use full expr form for struct constructor

* Use into_enacted_retracted to further avoid copy

* typo: not a function

* rpc/tests: ChainRoute -> ChainRoute::new
2018-05-07 12:58:25 +02:00
André Silva
32c32ecfda ethcore, rpc, machine: refactor block reward application and tracing (#8490) 2018-05-07 12:57:03 +02:00
Toralf Wittner
e30839e85f Consolidate crypto functionality in ethcore-crypto. (#8432)
* Consolidate crypto functionality in `ethcore-crypto`.

- Move `ecdh`/`ecies` modules to `ethkey`.
- Refactor `ethcore-crypto` to use file per module.
- Replace `subtle` with `ethcore_crypto::is_equal`.
- Add `aes_gcm` module to `ethcore-crypto`.

* Rename `aes::{encrypt,decrypt,decrypt_cbc}` ...

... to `aes::{encrypt_128_ctr,decrypt_128_ctr,decrypt_128_cbc}`.
2018-05-05 11:02:33 +02:00
Wei Tang
a4c7843a07 EIP 145: Bitwise shifting instructions in EVM (#8451)
* Add SHL, SHR, SAR opcodes

* Add have_bitwise_shifting schedule flag

* Add all EIP tests for SHL

* Add SHR implementation and tests

* Implement SAR and add tests

* Add eip145transition config param

* Change map_or to map_or_else when possible
2018-05-05 10:23:50 +02:00
David
f0c6d17ad8 Remove expect (#8536)
* Remove expect and propagate rlp::DecoderErrors as TrieErrors
2018-05-04 10:06:54 +02:00
Andrew Jones
66c0638f3b Don't panic in import_block if invalid rlp (#8522)
* Don't panic in import_block if invalid rlp

* Remove redundant type annotation

* Replace RLP header view usage with safe decoding

Using the view will panic with invalid RLP. Here we use Rlp decoding directly which will return a `Result<_, DecoderError>`. While this path currently should not have any invalid RLP - it makes it safer if ever called with invalid RLP from other code paths.
2018-05-03 09:01:13 +02:00
Wei Tang
eec7364760 Pass on storage keys tracing to handle the case when it is not modified (#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

* Use state query directly because of suicided accounts

* Fix a RefCell borrow issue

* Add tests for unmodified storage trace

* Address grumbles

* typo: remove unwanted empty line

* ensure_cached compiles with the original signature
2018-05-02 15:47:53 +01:00
Wei Tang
b10094508f Fetching logs by hash in blockchain database (#8463)
* Fetch logs by hash in blockchain database

* Fix tests

* Add unit test for branch block logs fetching

* Add docs that blocks must already be sorted

* Handle branch block cases properly

* typo: empty -> is_empty

* Remove return_empty_if_none by using a closure

* Use BTreeSet to avoid sorting again

* Move is_canon to BlockChain

* typo: pass value by reference

* Use loop and wrap inside blocks to simplify the code

Borrowed from https://github.com/paritytech/parity/pull/8463#discussion_r183453326

* typo: missed a comment
2018-05-02 09:40:27 +02:00
Tomasz Drwięga
8e8679807d Transaction Pool improvements (#8470)
* Don't use ethereum_types in transaction pool.

* Hide internal insertion_id.

* Fix tests.

* Review grumbles.
2018-05-02 09:31:06 +02:00
Pierre Krieger
629da8f8bf More changes for Android (#8421) 2018-05-02 09:20:59 +02:00
ellaismer
10a346476a Enable WebAssembly and Byzantium for Ellaism (#8520)
* Enable WebAssembly and Byzantium for Ellaism

* Fix indentation

* Remove empty lines
2018-05-01 19:41:46 +01:00
Svyatoslav Nikolsky
d1f5284fe6 SecretStore: merge two types of errors into single one + Error::is_non_fatal (#8357)
* SecretStore: error unify initial commit

SecretStore: pass real error in error messages

SecretStore: is_internal_error -> Error::is_non_fatal

warnings

SecretStore: ConsensusTemporaryUnreachable

fix after merge

removed comments

removed comments

SecretStore: updated HTTP error responses

SecretStore: more ConsensusTemporaryUnreachable tests

fix after rebase

* fixed grumbles

* use HashSet in tests
2018-05-01 15:02:14 +02:00
Niklas Adolfsson
849f5d9a44 Hardware Wallet trait (#8071)
* getting started with replacing HardwareWalletManager

* trezor and ledger impls the new trait with some drawbacks

* Everything move to the new trait

* It required lifetime annotations in the trait because [u8] in unsized
* Lets now start moving entry point from HardwareWalletManager

* rename trait to Wallet

* move thread management to the actual wallets

* Moved thread management to each respective Wallet
* Cleaned up pub items that is needed to be pub
* Wallet trait more or less finished
* Cleaned up docs

* fix tests

* omit removed docs

* fix spelling, naming och remove old comments

* ledger test is broken, add correct logging format

* So locally on my machine Linux Ubuntu 17.10 the test doesn't panic but on the CI server libusb::Context::new()
fails which I don't understand because it has worked before
* Additionally the ledger test is optional so I lean toward ignoring it the CI Server

* ignore hardware tests by default

* more verbose checking in ledger test
2018-05-01 15:01:49 +02:00
Wei Tang
7a76916143 Directly return None if tracing is disabled (#8504)
* Directly return None if tracing is disabled

* Address gumbles: release read locks as fast as possible
2018-05-01 14:47:04 +02:00
Wei Tang
2a829b1f1a Show imported messages for light client (#8517) 2018-05-01 14:16:03 +02:00
Niklas Adolfsson
44c68221a8 Remove unused dependency bigint (#8505)
* remove unused dependency bigint in

* remove bigint in rpc_cli
2018-04-27 17:46:17 +02:00
Niklas Adolfsson
e36c4ecc98 duration_ns: u64 -> duration: Duration (#8457)
* duration_ns: u64 -> duration: Duration

* format on millis {:.2} -> {}
2018-04-27 15:04:27 +02:00
Anton Gavrilov
01d399ad66 Return error if RLP size of transaction exceeds the limit (#8473)
* Return error if RLP size of transaction exceeds the limit

* Review comments fixed

* RLP check moved to verifier, corresponding pool test added
2018-04-27 15:02:45 +02:00
David Dorgan
9376796bdb Remove three old warp boot nodes. (#8497) 2018-04-27 15:01:47 +02:00
Sergey Pepyakin
f135c09b36 Update wasmi and pwasm-utils (#8493)
* Update wasmi to 0.2

New wasmi supports 32bit platforms and no longer requires a special feature to build for such platforms.

* Update pwasm-utils to 0.1.5
2018-04-26 14:00:42 +02:00
Afri Schoedon
4e85015836 Update hardcodedSync for Ethereum, Kovan, and Ropsten (#8489) 2018-04-25 16:27:22 +02:00
Afri Schoedon
f56c065f57 Fix snap builds (#8483) 2018-04-25 16:25:57 +02:00
Afri Schoedon
adc3457a89 Bump master to 1.12 (#8477)
* Bump master to 1.12

* Bump crates to 1.12

* Bump mac installer version to 1.12

* Update Gitlab scripts
2018-04-25 16:25:43 +02:00
Tomasz Drwięga
fa261ebd02 Don't require write lock when fetching status. (#8481) 2018-04-25 15:39:45 +02:00
Wei Tang
7fdb87ad38 Use rename_all for RichBlock and RichHeader serialization (#8471)
* typo: fix a resolved TODO comment

* Use rename_all instead of individual renames
2018-04-25 10:00:58 +02:00
Ayrat Badykov
baeda93474 fix typos in vm description comment (#8446) 2018-04-24 14:25:27 +02:00
Afri Schoedon
7a28f72abc Add changelog for 1.9.7 and 1.10.2 (#8460)
* Add changelog for 1.9.7

* Add Changelog for 1.10.2

* Apply proper markdown

* Run a spellchecker :)

* Be pedantic about the 32-bit pipelines :)
2018-04-23 15:36:20 +02:00
Denis S. Soldatov aka General-Beck
1ab06ce2d2 fix docker build (#8462) 2018-04-23 15:36:08 +02:00
Niklas Adolfsson
b0cc44aabb ParityShell::open Return result (#8377)
* start

* add error handling for winapi

* fix typo

* fix warnings and windows errors

* formatting

* Address review comments
2018-04-21 12:54:48 +02:00
Wei Tang
c983efe895 Return error in case eth_call returns VM errors (#8448)
* Add VMError generator

* Return executed exceptions in eth_call
2018-04-21 11:41:09 +02:00
Sergey Pepyakin
650948feed Update wasmi (#8452) 2018-04-21 11:27:39 +02:00
Afri Schoedon
4e76cce0b7 Allow 32 bit pipelines to fail (#8454)
* Disable 32bit tragets for gitlab

* Rename linux pipelines
2018-04-21 11:24:51 +02:00
Nikita Chebykin
9e9045ab94 Update Cargo hidapi-rs dependency (#8447) 2018-04-20 15:46:08 +02:00
Anton Gavrilov
d86333af6b Private transactions processing error handling (#8431)
* Integration test for private transaction returned

* Do not interrupt verification in case of errors

* Helpers use specified

* Review comments fixed
2018-04-20 15:45:53 +02:00
Wei Tang
28b5906d9e Improve VM executor stack size estimation rules (#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

This avoids the case if `depth_threshold == max_depth`. Usually setting stack size to zero will just rebound it to
platform minimal stack size, but we set it here just in case.

* Use saturating_sub to avoid potential overflow
2018-04-20 12:32:25 +02:00
André Silva
24f6d8296b Block reward contract (#8419)
* engine: add block reward contract abi and helper client

* aura: add support for block reward contract

* engine: test block reward contract client

* aura: test block reward contract

* engine + aura: add missing docs

* engine: share SystemCall type alias

* aura: add transition for block reward contract

* engine: fix example block reward contract source link and bytecode
2018-04-20 12:32:00 +02:00
Wei Tang
9c5e35548d Permission fix (#8441) 2018-04-20 12:22:19 +02:00
Wei Tang
92b5b5644f Use forked app_dirs crate for reverted Windows dir behavior (#8438)
* Remove unused appdirs dependency in CLI

* Use forked app_dirs crate for reverted Windows dir behavior
2018-04-20 08:38:30 +00:00
lihuafeng
8fb47b52f5 remove From::from. (#8390)
* Some tiny modifications.
1. fix some typo in the comment.
2. sort the order of methods in 'impl state::Backend for StateDB`

* Remove the clone of code_cache, as it has been done in clone_basic.

* remove From::from. It seems not necessary.
2018-04-19 13:16:04 +02:00
Andrew Jones
14361cc7b1 Move ethcore::Error to error_chain (#8386)
* WIP

* Convert Ethcore error to use error_chain

* Use error_chain for ImportError and BlockImportError

* Fix error pattern matches for error_chain in miner

* Implement explicit From for AccountsError

* Fix pattern matches for ErrorKinds

* Handle ethcore error_chain in light client

* Explicitly define Result type to avoid shadowing

* Fix remaining Error pattern matches

* Fix tab space formatting

* Helps if the tests compile

* Fix error chain matching after merge
2018-04-19 11:52:54 +02:00
Afri Schoedon
2257bc8e2f Changelogs for 1.9.6 and 1.10.1 (#8411)
* Add changelog for 1.9.6

* Add Changelog for 1.10.1
2018-04-19 10:26:55 +01:00
Tomasz Drwięga
461b2d4853 Fix receipts stripping. (#8414) 2018-04-19 10:25:15 +01:00
Wei Tang
941f2380c4 typo, docs parity_chainId: empty string -> None (#8434) 2018-04-19 10:24:19 +01:00
Marek Kotewicz
cb31220a4a update zip to 0.3 (#8381)
* update zip to 0.3

* enable zip deflate feature
2018-04-19 10:53:14 +02:00
Wei Tang
9e09d5b6bf Fix TODO comments (#8413) 2018-04-16 20:14:42 +02:00
Andrew Jones
a04c5b180a Replace legacy Rlp with UntrustedRlp and use in ethcore rlp views (#8316)
* WIP

* Replace Rlp with UntrustedRlp in views, explicity unwrap with expect

First pass to get it to compile. Need to figure out whether to do this or to propogate Errors upstream, which would require many more changes to dependent code. If we do this way we are assuming that the views are always used in a context where the rlp is trusted to be valid e.g. when reading from our own DB. So need to fid out whether views are used with data received from an untrusted (e.g. extrernal peer).

* Remove original Rlp impl, rename UntrustedRlp -> Rlp

* Create rlp views with view! macro to record debug info

Views are assumed to be over valid rlp, so if there is a decoding error we record where the view was created in the first place and report it in the expect

* Use $crate in view! macro to avoid import, fix tests

* Expect valid rlp in decode functions for now

* Replace spaces with tabs in new file

* Add doc tests for creating views with macro

* Update rlp docs to reflect removing of UntrustedRlp

* Replace UntrustedRlp usages in private-tx merge
2018-04-16 15:52:12 +02:00
Svyatoslav Nikolsky
db7a8c4ac7 tokio-core v0.1.16 -> v0.1.17 (#8408) 2018-04-16 12:02:23 +02:00
Pierre Krieger
fac356c701 More code refactoring to integrate Duration (#8322)
* More code refactoring to integrate Duration

* Fix typo

* Fix tests

* More test fix
2018-04-14 21:35:58 +02:00
Andronik Ordian
90eb61091a remove Tendermint extra_info due to seal inconsistencies (#8367) 2018-04-14 20:47:51 +02:00
Wei Tang
f6998cb04e Use tokio::spawn in secret_store listener and fix Uri (#8373)
* Directly wait for future to resolve in a threadpool

* Ignore return value

* Use path.starts_with instead of req_uri.is_absolute

The later now means something else in hyper 0.11..

* Use tokio::spawn

* typo: remove accidential unsafe impl
2018-04-13 21:15:33 +02:00
Wei Tang
897a94641e Unify and limit rocksdb dependency places (#8371)
* secret_store: remove kvdb_rocksdb dependency

* cli: init db mod for open dispatch

* cli: move db, client_db, restoration_db, secretstore_db to a separate mod

* migration: rename to migration-rocksdb and remove ethcore-migrations

* ethcore: re-move kvdb-rocksdb dep to test

* mark test_helpers as test only and fix migration mod naming

* Move restoration_db_handler to test_helpers_internal

* Fix missing preambles in test_helpers_internal and rocksdb/helpers

* Move test crates downward

* Fix missing docs

* cli, db::open_db: move each argument to a separate line

* Use featuregate instead of dead code for `open_secretstore_db`

* Move pathbuf import to open_secretstore_db

Because it's only used there behind a feature gate
2018-04-13 21:14:53 +02:00
Niklas Adolfsson
3f677c6168 clarify that windows need perl and yasm (#8402) 2018-04-13 21:00:14 +02:00
Tomasz Drwięga
1cd93e4ceb New Transaction Queue implementation (#8074)
* Implementation of Verifier, Scoring and Ready.

* Queue in progress.

* TransactionPool.

* Prepare for txpool release.

* Miner refactor [WiP]

* WiP reworking miner.

* Make it compile.

* Add some docs.

* Split blockchain access to a separate file.

* Work on miner API.

* Fix ethcore tests.

* Refactor miner interface for sealing/work packages.

* Implement next nonce.

* RPC compiles.

* Implement couple of missing methdods for RPC.

* Add transaction queue listeners.

* Compiles!

* Clean-up and parallelize.

* Get rid of RefCell in header.

* Revert "Get rid of RefCell in header."

This reverts commit 0f2424c9b7319a786e1565ea2a8a6d801a21b4fb.

* Override Sync requirement.

* Fix status display.

* Unify logging.

* Extract some cheap checks.

* Measurements and optimizations.

* Fix scoring bug, heap size of bug and add cache

* Disable tx queueing and parallel verification.

* Make ethcore and ethcore-miner compile again.

* Make RPC compile again.

* Bunch of txpool tests.

* Migrate transaction queue tests.

* Nonce Cap

* Nonce cap cache and tests.

* Remove stale future transactions from the queue.

* Optimize scoring and write some tests.

* Simple penalization.

* Clean up and support for different scoring algorithms.

* Add CLI parameters for the new queue.

* Remove banning queue.

* Disable debug build.

* Change per_sender limit to be 1% instead of 5%

* Avoid cloning when propagating transactions.

* Remove old todo.

* Post-review fixes.

* Fix miner options default.

* Implement back ready transactions for light client.

* Get rid of from_pending_block

* Pass rejection reason.

* Add more details to drop.

* Rollback heap size of.

* Avoid cloning hashes when propagating and include more details on rejection.

* Fix tests.

* Introduce nonces cache.

* Remove uneccessary hashes allocation.

* Lower the mem limit.

* Re-enable parallel verification.

* Add miner log. Don't check the type if not below min_gas_price.

* Add more traces, fix disabling miner.

* Fix creating pending blocks twice on AuRa authorities.

* Fix tests.

* re-use pending blocks in AuRa

* Use reseal_min_period to prevent too frequent update_sealing.

* Fix log to contain hash not sender.

* Optimize local transactions.

* Fix aura tests.

* Update locks comments.

* Get rid of unsafe Sync impl.

* Review fixes.

* Remove excessive matches.

* Fix compilation errors.

* Use new pool in private transactions.

* Fix private-tx test.

* Fix secret store tests.

* Actually use gas_floor_target

* Fix config tests.

* Fix pool tests.

* Address grumbles.
2018-04-13 17:34:27 +02:00
Pierre Krieger
03b96a7c0a Some tweaks to main.rs for parity as a library (#8370)
* Some tweaks to main.rs for parity as a library

* Remove pub from PostExecutionAction
2018-04-13 14:21:15 +02:00
Robert Habermeier
869fa6fda8 handle queue import errors a bit more gracefully (#8385) 2018-04-13 14:06:22 +02:00
André Silva
bc2f5586ee ci: fix change detection in master builds (#8382) 2018-04-12 15:53:54 +02:00
Pierre Krieger
16f435b906 Fix config test by adding no-hardcodec-sync (#8380) 2018-04-12 12:05:45 +01:00
Marek Kotewicz
0a170efaa5 fixed unsafe shell call on windows (#8372) 2018-04-11 17:21:29 +01:00
Marek Kotewicz
1356d6d8d5 parity uses winapi 0.3.4 (#8366)
* parity uses winapi 0.3.4

* remove redundant unsafe
2018-04-11 15:22:48 +02:00
Maciej Hirsz
0a9114203b No hardcoded client name (#8368)
* Fixes issues with version string if client name is substituted (required for Energy Web)
2018-04-11 14:41:06 +02:00
Toralf Wittner
2b05eb43a9 Add util/mem to zero out memory on drop. (#8356)
* Add `util/mem` to zero out memory on drop.

* Remove nonsense.

* Remove `Into` impls for `Memzero`.

* Update ethereum-types and remove H256Mut.
2018-04-11 13:57:12 +02:00
Marek Kotewicz
dd2c27958c use atty instead of isatty (#8365) 2018-04-11 11:56:37 +01:00
Thibaut S
6737484eda Increase gasLimit to 8'000'000 (#8362)
- fix https://github.com/paritytech/parity/issues/8342
2018-04-11 12:10:57 +02:00
Niklas Adolfsson
9fe991db1c util fake-fetch (#8363)
* start

* hash-fetch

* rpc

* revert price-info

* remove used file

* adapt to changes in fetch

* make fake-fetch generic over

* fix tests to comply with the new `fake-fetch`
2018-04-11 11:59:04 +02:00
Marek Kotewicz
6cf441fc9e bump snappy and ring, use single rayon version, closes #8296 (#8364) 2018-04-11 11:41:02 +02:00
Wei Tang
99e37844fd Use async hyper server in secret_store and upgrade igd (#8359)
* Update secret_store hyper dep to 0.11

* Upgrade igd to 0.7

* typo: spawn
2018-04-10 19:25:27 +02:00
Tomasz Drwięga
8348147a4f Enable UI by default, but only display deprecation notice (#8262)
* Enable UI by default, but only display info page.

* Fix test.

* Fix naming and remove old todo.

* Change "wallet" with "browser UI"

* Update text, its not deprecated, its moved
2018-04-10 16:14:15 +02:00
Marek Kotewicz
bd7273061e ethcrypto renamed to ethcore-crypto and moved to ethcore dir (#8340)
* ethcrypto renamed to ethcore-crypto and moved to ethcore dir

* fixed renaming
2018-04-10 13:56:56 +02:00
Svyatoslav Nikolsky
4f447c50b2 SecretStore: having <t+1 nodes with shares now does not abort ServersChangeSession (#8151) 2018-04-10 13:56:17 +02:00
Wei Tang
692cd10d4a Use hyper 0.11 in ethcore-miner and improvements in parity-reactor (#8335)
* parity-reactor: Pass over Handle in spawning fn to allow normal tokio ops

* Allow fetch to work with arbitrary requests

* typo: Fix missing handler closure

* miner, work_notify: use fetch and parity-reactor

* Fix work_notify pushing in parity CLI
2018-04-10 13:51:29 +02:00
Marek Kotewicz
86446d713a ethcore-sync (#8347) 2018-04-10 12:13:49 +02:00
Wei Tang
d1487b3177 rpc, eth_filter: return error if the filter id does not exist (#8341) 2018-04-10 10:36:14 +02:00
Marek Kotewicz
8e7a08f865 ethcore-stratum crate moved to ethcore directory (#8338) 2018-04-10 10:13:42 +02:00
Svyatoslav Nikolsky
0d75d01c84 SecretStore: get rid of engine.signer dependency (#8173)
* SecretStore: get rid of engine.signer dependency

* SecretStore: fixed self for transact_contract

* SecretStore: fixed pending requests + 1-of-1 sessions completion

* SecretStore: fixed completion signal in 1-of-1 case

* fixed test(s)

* removed obsolete TODO && redundant statement

* ok_or -> ok_or_else
2018-04-09 16:38:59 +02:00
Niklas Adolfsson
1c75e8eb47 Whisper cli (#8201)
* getting started

* wip wip

* add parsing of pool-size and enable panic-hook

* more cli options

* remove explicit unwrapping

* bump dependencies to parity-jsonrpc

* add tests

* remove tests

* bump jsonrpc

* Remove unused dependencies

* add logging to the cli

* Fix so `FilterManager` drops its resources

* Introduced an AtomicBool flag in FilterManager to cancel the `Decryption Worker Thread`
* Added some very basic test to faulty arguments

* ignore privileged port test
2018-04-09 16:35:45 +02:00
Wei Tang
431b27d3e1 replace_home for password_files, reserved_peers and log_file (#8324)
* replace_home for password_files, reserved_peers and log_file

* typo: arg_log_file is Option
2018-04-09 16:34:47 +02:00
Akira Takizawa
d97cf34138 Add Ethereum Social support (#8325) 2018-04-09 16:18:00 +02:00
Anton Gavrilov
e6f75bccfe Private transactions integration pr (#6422)
* Private transaction message added

* Empty line removed

* Private transactions logic removed from client into the separate module

* Fixed compilation after merge with head

* Signed private transaction message added as well

* Comments after the review fixed

* Private tx execution

* Test update

* Renamed some methods

* Fixed some tests

* Reverted submodules

* Fixed build

* Private transaction message added

* Empty line removed

* Private transactions logic removed from client into the separate module

* Fixed compilation after merge with head

* Signed private transaction message added as well

* Comments after the review fixed

* Encrypted private transaction message and signed reply added

* Private tx execution

* Test update

* Main scenario completed

* Merged with the latest head

* Private transactions API

* Comments after review fixed

* Parameters for private transactions added to parity arguments

* New files added

* New API methods added

* Do not process packets from unconfirmed peers

* Merge with ptm_ss branch

* Encryption and permissioning with key server added

* Fixed compilation after merge

* Version of Parity protocol incremented in order to support private transactions

* Doc strings for constants added

* Proper format for doc string added

* fixed some encryptor.rs grumbles

* Private transactions functionality moved to the separate crate

* Refactoring in order to remove late initialisation

* Tests fixed after moving to the separate crate

* Fetch method removed

* Sync test helpers refactored

* Interaction with encryptor refactored

* Contract address retrieving via substate removed

* Sensible gas limit for private transactions implemented

* New private contract with nonces added

* Parsing of the response from key server fixed

* Build fixed after the merge, native contracts removed

* Crate renamed

* Tests moved to the separate directory

* Handling of errors reworked in order to use error chain

* Encodable macro added, new constructor replaced with default

* Native ethabi usage removed

* Couple conversions optimized

* Interactions with client reworked

* Errors omitting removed

* Fix after merge

* Fix after the merge

* private transactions improvements in progress

* private_transactions -> ethcore/private-tx

* making private transactions more idiomatic

* private-tx encryptor uses shared FetchClient and is more idiomatic

* removed redundant tests, moved integration tests to tests/ dir

* fixed failing service test

* reenable add_notify on private tx provider

* removed private_tx tests from sync module

* removed commented out code

* Use plain password instead of unlocking account manager

* remove dead code

* Link to the contract changed

* Transaction signature chain replay protection module created

* Redundant type conversion removed

* Contract address returned by private provider

* Test fixed

* Addressing grumbles in PrivateTransactions (#8249)

* Tiny fixes part 1.

* A bunch of additional comments and todos.

* Fix ethsync tests.

* resolved merge conflicts

* final private tx pr (#8318)

* added cli option that enables private transactions

* fixed failing test

* fixed failing test

* fixed failing test

* fixed failing test
2018-04-09 16:14:33 +02:00
Wei Tang
c039ab79b5 Decouple rocksdb dependency from ethcore (#8320)
* Move client DB opening logic to CLI

* Move restoration db open logic to CLI

This adds KeyValueDBHandler which handles opening a new database, thus allow us to move the restoration db open logic
out of ethcore.

* Move rocksdb's compactionprofile conversion to CLI

* Move kvdb_rocksdb as test dependency for ethcore

* Fix tests due to interface change

* Fix service tests

* Remove unused migration dep for ethcore
2018-04-09 14:21:37 +02:00
lihuafeng
9436e88d27 remove the clone operation of code_cache (#8334)
* Some tiny modifications.
1. fix some typo in the comment.
2. sort the order of methods in 'impl state::Backend for StateDB`

* Remove the clone of code_cache, as it has been done in clone_basic.
2018-04-09 11:35:54 +02:00
Pierre Krieger
652f5032a2 Fix the JSONRPC API not running with the light client (#8326) 2018-04-08 18:29:25 +02:00
Wei Tang
d7a7f034db Read registry_address from block with REQUEST_CONFIRMATIONS_REQUIRED (#8309)
* Read registry_address from block with REQUEST_CONFIRMATIONS_REQUIRED

* Require confirmation blocks in key_server_set

* Add license preamble

* TODO item for constant confirmation required number

* Change license year in helpers.rs to 2015-2018
2018-04-06 12:03:13 +02:00
Pierre Krieger
27c32d3629 Tweaks and add a Dockerfile for Android (#8036) 2018-04-05 14:38:50 +02:00
Kwang Yul Seo
0d2993e46d Use associated type M::Error instead of Error (#8308) 2018-04-05 11:31:58 +02:00
Wei Tang
e4168c2985 Remove InvalidParentHash in favor of assert! (#8300)
* Remove InvalidParentHash in favor of assert!

* Typo: assert test true case
2018-04-05 11:03:25 +02:00
Marek Kotewicz
9d3771458d bump proc macro deps (#8310) 2018-04-05 10:31:06 +02:00
Wei Tang
ff0ce70169 Decouple timestamp open-block-assignment/verification to Engine (#8305) 2018-04-05 10:11:21 +02:00
Andronik Ordian
811d165458 Validate if gas limit is not zero (#8307) 2018-04-05 00:14:59 +09:00
East Coin
d57944ffb9 Implement Easthub chain spec (#8295) 2018-04-04 23:00:21 +09:00
Pierre Krieger
991f0cac6e Update some dependencies (#8285) 2018-04-04 22:38:04 +09:00
Dmitry Kashitsyn
b2d338bf35 Ethcore now uses Rayon 1.0 as a dependency (#8296) (#8304) 2018-04-04 21:05:21 +09:00
Niklas Adolfsson
ef80698deb Upgrader remove raw unwrap and bump semver (#8251)
* remove raw unwrap and bump semver

* bump rustc_version

* Semver -> SemVer
2018-04-04 11:54:41 +02:00
Pierre Krieger
e12a5159a8 Cleaner binary shutdown system (#8284)
* Cleaner shutdown system when executing

* Simplify set_exit_handler for Client

* Minor change

* Fix submodule
2018-04-04 11:50:28 +02:00
Dmitry Kashitsyn
0455aa96bf Ethcore now uses rayon to 0.9 as a dependency (#8296) (#8302) 2018-04-04 11:50:01 +02:00
Wei Tang
9aaedad64f Include suicided accounts in state diff (#8297)
* Include suicided accounts in state diff

* Shorten form match -> if let

* Test suicide trace diff in State
2018-04-04 18:49:43 +09:00
Marek Kotewicz
ea6b0ec164 remove evmjit (#8229)
* removed not working evmjit, closes #8192 closes #6205

* removed evmjit from build scripts

* fixed parity compile error

* removed evmjit cli options

* fixed invalid test config files
2018-04-04 18:07:49 +09:00
André Silva
679d6c6f2b build: fix updater rand dependency in Cargo.lock (#8298) 2018-04-03 23:16:29 +01:00
Svyatoslav Nikolsky
ec96091369 SecretStore: generating and retrieving decryption keys via service contract (#8029)
* SecretStore: started document keys generation via contract

* fixed Cargo.lock

* SecretStore: doc key contract gen tests

* SecretStore: fixed log parsing

* SecretStore: flush

* SecretStore: secretstore_generateDocumentKey RPC

* SecretStore: return encrypted_key from secretstore_generateDocumentKey

* prepare to GenerateDocKey -> StoreDocKey

* SecretStore: ability to identify requester via Public/Address

* SecretStore: store author address instead of public in db

* flush

* SecretStore: flush

* SecretStore: fixed test

* SecretStore: flush

* SecretStore: flush

* SecretStore: flush

* SecretStore: flush

* SecretStore: start async generation session

* SecretStore: process StoreDocumentKey service tasks

* SecretStore: flush

* SecretStore: update service contact ABI

* SecretStore: flush

* SecretStore: flush

* SecretStore: fixed event

* SecretStore: flush

* SecretStore: fixed tests

* SecretStore: fix broadcast shadows decryption

* SecretStore: finally decryption via service contract works

* SecretStore: fix for updated contract

* SecretStore: restored pending requests reqding

* SecretStore: fixed some TODOs

* SecretStore: OnChainServiceContractAggregate

* SecretStore: different names for different contracts types

* SecretStore: updated contracts interfaces

* SecretStore: utilize aggregate service contract

* fixed compilation

* SecretStore: fixes for updated contract

* SecretStore: service fixes after testing

* fixed cli test compilation

* SecretStore: decryption_session_origin_is_known_to_all_initialized_nodes

* SecretStore: added new contract listener tests

* SecretStore: session_listener_works

* removed optional TODO

* SecretStore: fixed KeyServer shutdown

* fixed warn + grumble

* const durations
2018-04-03 16:54:34 +02:00
Niklas Adolfsson
0a535bf485 Honor --max-peers if --min-peers is not specified (#8087)
* Change interpretation min and max peers

* Only min specified -> Set min to that value and max to default
* Only max specified -> Set min and max to that value
* Both specified -> Set min the smallest value and max to the largest value

* simplify logic, new ParseError & add tests

* simplify code according to the review comments

* address review comments

* more fine-grained tests
2018-04-03 16:51:57 +02:00
André Silva
dcaff6f4c8 Auto-updater improvements (#8078)
* updater: refactor updater flow into state machine

* updater: delay update randomly within max range

* updater: configurable update delay

* updater: split polling and updater state machine step

* updater: drop state to avoid deadlocking

* updater: fix fetch backoff

* updater: fix overflow in update delay calculation

* updater: configurable update check frequency

* updater: fix update policy frequency comparison

* updater: use lazy_static for platform and platform_id_hash

* updater: refactor operations contract calls into OperationsClient

* updater: make updater generic over operations and fetch client

* updater: fix compilation

* updater: add testing infrastructure and minimal test

* updater: fix minor grumbles

* updater: add test for successful updater flow

* updater: add test for update delay

* updater: add test for update check frequency

* updater: mock time and rng for deterministic tests

* updater: test backoff on failure

* updater: add test for backoff short-circuit on new release

* updater: refactor to increase readability

* updater: cap maximum backoff to one month

* updater: add test for detecting already downloaded update

* updater: add test for updater disable on fatal errors

* updater: add test for pending outdated fetch

* updater: test auto install of updates

* updater: add test for capability updates

* updater: fix capability update

* updater: use ethabi to create event topic filter

* updater: decrease maximum backoff to 1 day

* updater: cap maximum update delay with upcoming fork block number

* updater: receive state mutex guard in updater_step

* updater: overload execute_upgrade to take state mutex guard

* updater: remove unnecessary clone of latest operations info

* updater: remove latest operations info clone when triggering fetch
2018-04-03 16:49:23 +02:00
Wei Tang
5e7d42e4a4 dapps-fetcher: calculate keccak in-flight while reading the response (#8294)
* dapps-fetcher: calculate keccak in-flight while reading the response

* Rename keccak_buffer_and_write -> keccak_pipe

* Fix file read bug by creating another file handle as the return value
2018-04-03 14:58:55 +02:00
ellaismer
99a13c4e66 Cleanup Ellaism bootnodes (#8276)
Removed several bootnodes known not to be running anymore. Added two new ones.
2018-04-03 21:58:24 +09:00
Tomasz Drwięga
060205ab27 Allow unsafe js eval on Parity Wallet. (#8204) 2018-04-03 12:43:34 +02:00
Tomasz Drwięga
9f775a7673 Remove RefCell from Header (#8227)
* Cache RLP and header hashes.

* Refactor header - WiP

* Avoid decoding laster header.

* Pre-compute hashes for Sealed/Locked block.

* Use accrue bloom. Closes ##8241
2018-04-03 17:01:28 +09:00
Wei Tang
d477670cb9 Typo fix: todo with no content (#8292) 2018-04-03 09:32:38 +02:00
André Silva
54c9c382e7 Revert "ci: disable link-dead-code in coverage build (#8118)" (#8287)
This reverts commit 4d1cb01da0.
2018-04-02 16:06:07 +03:00
Tomasz Drwięga
9108a3bb50 Bump ethabi & ethereum-types. (#8258)
* Bump ethabi & ethereum-types.

* Fix test.

* Fix hex encodings.
2018-04-02 12:12:52 +01:00
Tomasz Drwięga
c1cced3662 Allow customization of max WS connections. (#8257)
* Allow customization of max WS connections.

* remove superflous line.

* Add test for CLI argument parsing.
2018-04-02 11:33:09 +01:00
Tomasz Drwięga
5ea4c22868 Supress TemporaryInvalid verification failures. (#8256) 2018-04-02 11:30:26 +01:00
Wei Tang
f1b7d8ab34 Return null number for pending block in eth_getBlockByNumber (#8281)
* Return null number for pending block in eth_getBlockByNumber

* Inline false in client_query

* block hash for pending should be null

* logsBloom should be null for pending blocks

* Fix test due to logsBloom type change
2018-04-02 10:04:14 +01:00
Ryan Leung
9c9ddaccec use constant durations (#8278)
* use constant durations

* fix CI

* address comments
2018-04-02 10:47:56 +02:00
Wei Tang
68a08df9c3 Typo fix: Mode doc - RLP should be client (#8283) 2018-03-31 15:41:53 +02:00
Wei Tang
1e6d889fc7 eth_uninstallFilter should return false for non-existent filter (#8280)
* eth_uninstallFilter should return false for non-existent filter

* Use shorter form is_some()
2018-03-31 11:06:16 +02:00
Ryan Leung
443115f885 Update app_dirs to 1.2.1 (#8268)
* use app_dirs2

* update app_dirs to 1.2.1
2018-03-30 10:31:54 +02:00
Sergey Pepyakin
cab073ba00 Add missing license header for runtime.rs (#8252)
* Add missing license header for runtime.rs

* Update year
2018-03-29 13:48:57 +01:00
Pierre Krieger
7f9589d678 Fix warning about --no-hardcoded-sync being printed when it shouldn't (#8261) 2018-03-29 14:33:57 +02:00
Tomasz Drwięga
899c1a4b0e Warp-only sync with warp-barrier [blocknumber] flag. (#8228)
* Warp-only sync with warp-after [blocknumber] flag.

* Fix tests.

* Fix configuration tests.

* Rename to warp barrier.
2018-03-29 11:20:27 +02:00
Andrew Jones
e3f7b70c38 Replace all Rlp usages with UntrustedRlp except for ethcore views (#8233)
* Replace Rlp with UntrustedRlp and unsafely unwrap

All Rlp methods return Result<_,DecoderError> now, so for this first
pass each will be marked with `expect("TODO")`. In the next pass we can
categorise figure out how to handle each case.

* Handle DecoderError for tendermint message

* Unwrap rlp results in TestBlockcChainClient

Rlp should be valid since created manually in tests

* Replace `use rlp::*` with explicit imports

* Remove rlp decode unwraps from light cli request

* Structured rlp encoding for curr best and latest in header chain

* Propogate decoder errors from send_packet

* Fix body uncles rlp index

* Use BodyView in sync and `expect` rlp errors

* Revert bbf28f removing original Rlp for this phase

This can be done again in the next phase, in order that we can leave the ethcore views unchanged

* Restore legacy Rlp and UntrustedRlp

Use legacy Rlp for ethcore views. Will redo replacing Rlp with UntrustedRlp in  a subsequent PR

* Fix tests

* Replace boilerplate Encodable/Decodable with derive

* Use BlockView instead of Rlp, remove unwrap

* Remove rlp test_cli unwraps by using BlockView instead of Rlp directly

* Remove unneccesary change to use borrowed hash

* Construct sync block using new_from_header_and_body
2018-03-29 11:19:45 +02:00
Marek Kotewicz
6e49ff1d98 Add test for ethstore-cli, fixes #8027 (#8187)
* Add test for ethstore-cli, fixes #8027

remove println

* Update test.sh
2018-03-28 22:04:08 +03:00
Varunram Ganesh
0c7f998c25 Update musicoin spec in line with gmc v2.6.2 (#8242) 2018-03-28 14:11:49 +02:00
Marek Kotewicz
23ea4798e0 fixed ethcore tx_filter (#8200) 2018-03-28 10:59:16 +01:00
Thibaut S
2632310b6a Update CLI help for jsonrpc-apis, ws-apis and ipc-apis (#8234)
* jsonrpc-api,  ws-apis and ipc-apis update

* Better wording

* Clarify what "safe" has
2018-03-28 10:42:55 +02:00
Pierre Krieger
c4dd156113 Remove network stats (#8225) 2018-03-28 15:45:36 +09:00
Marek Kotewicz
06a7ca221c node-filter does not use ChainNotify (#8231)
* node-filter does not use ChainNotify

* fixed failing test
2018-03-28 11:32:44 +09:00
Pierre Krieger
04931618ed Implement hardcoded sync in the light client (#8075)
* Implement hardcoded sync

* Fix concerns

* Remove artifact

* Fix cli tests

* Fix compilation

* Update hardcoded sync block

* Don't use any data fetch for the light service
2018-03-27 13:56:59 +02:00
Pierre Krieger
dbc4d85f0a Update some of the dependencies for WASM (#8223) 2018-03-27 11:35:51 +09:00
Nikolay Volf
bd45cd4a5e bump wasmi version (#8209) 2018-03-26 16:55:48 +08:00
Kirill Pimenov
8c02211dc3 Updated jsonrpc to point to the 1.11 branch (#8180)
* Updated jsonrpc to point to the 1.11 branch

* Update dependencies.

- `jsonrpc` PR #244 required `hyper >= 0.11.20` which in turn required
updating `tokio-core`, `mio` and `iovec`.

- `jsonrpc` PR #246 required updating `https://github.com/tomusdrw/ws-rs`.

* Update tokio-core to 0.1.12

* Update hyper to 0.11.24
2018-03-24 14:43:28 +09:00
Amaury Martiny
eb18e7ade7 Change name Wallet -> UI (#8164)
* Change name Wallet -> UI

* Make warning bold
2018-03-23 14:33:23 +01:00
Thibaut S
8ddd508a44 Introduce Parity UI (#8202) 2018-03-23 12:04:17 +01:00
Rando
857809f693 Update Changelogs (#8175)
* Move 1.9 changelog

* Mark Parity 1.8 EOL

* Make CHANGELOG 1.10 again

* Add changelog for 1.9.5 stable

* Add changelog for 1.10.0 beta

* Update changelog for 1.10.0 beta

* Update changelog for 1.10.0 beta

* Update changelog for 1.10.0 beta
2018-03-23 09:53:26 +00:00
James Ray
ca0045482c Returns number of topcis to take fr.. (#8199) 2018-03-23 17:16:20 +09:00
Niklas Adolfsson
1c2c683ae3 make docopt usage non-const (#8189) 2018-03-23 13:53:06 +09:00
Tomasz Drwięga
7c8d404cf8 Avoid allocations when computing triehash. (#8176)
* Avoid allocations when computing triehash.

* Bump elastic-array to 0.10
2018-03-22 09:24:46 +01:00
Andrew Jones
d293f94a6f Handle rlp decoding Result in patricia trie (#8166)
* Decode patricia node with UntrustedRlp

(cherry picked from commit efb993b8e7ce087f092cb8c2f633c62ad87e4fb8)

* Replace Rlp with UntrustedRlp in triedbmut

* Handle node decode results in trie
2018-03-22 10:08:48 +08:00
Nikolay Volf
a60d0e440d bump wasm libs (#8171) 2018-03-21 10:47:25 +01:00
Tomasz Drwięga
9e294d577a Re-enable signer, even with no UI. (#8167)
* Re-enable signer, even with no UI.

* Fix message.
2018-03-20 17:57:37 +00:00
Pierre Krieger
6d5d419e14 Update daemonize (#8165) 2018-03-20 16:28:01 +01:00
lihuafeng
1b4d9c2d39 Some tiny modifications. (#8163)
1. fix some typo in the comment.
2. sort the order of methods in 'impl state::Backend for StateDB`
2018-03-20 15:46:03 +01:00
Svyatoslav Nikolsky
a91e562021 SecretStore: store key author address in db (#7887)
* SecretStore: ability to identify requester via Public/Address

* SecretStore: store author address instead of public in db
2018-03-20 03:03:51 +01:00
Andrew Jones
d7f690c8ba rename DatabaseValueView::new to from_rlp (#8159) 2018-03-20 03:02:07 +01:00
André Silva
7f1ff152ca dapps: update parity-ui dependencies (#8160) 2018-03-19 19:28:34 +01:00
Tomasz Drwięga
beb6438ef5 Disable UI by default. (#8105) 2018-03-19 18:11:00 +01:00
Denis S. Soldatov aka General-Beck
e25a660a11 fix wasmi x32 builds (#8155)
* fix wasmi x32 builds

* Update Cargo.toml
2018-03-19 18:42:51 +03:00
André Silva
a7887fa9f1 Postpone Kovan hard fork (#8137)
* ethcore: postpone Kovan hard fork

* util: update version fork metadata
2018-03-19 11:23:12 +01:00
Svyatoslav Nikolsky
a6915778bb SecretStore: ability to identify requester via Public/Address (#7886) 2018-03-19 06:42:40 +01:00
Robert Habermeier
249f81cbc5 optional dependency on secp256k1 for ethcrypto (#8109)
* optional dependency on secp256k1 for ethcrypto

* README
2018-03-19 06:39:46 +01:00
André Silva
373036bb7a network: init discovery using healthy nodes (#8061)
* network: init discovery using healthy nodes

* network: fix style grumble

* network: fix typo
2018-03-16 22:39:23 +01:00
Kirill Pimenov
ed296312aa Check one step deeper if we're on release track branches (#8134) 2018-03-16 17:19:14 +03:00
Max Kaye
d27c36cf75 explicitly mention pruning_history uses RAM (#8130) 2018-03-16 09:11:54 +01:00
Toralf Wittner
c737056000 Remove ethcrypto::{en,de}crypt_single_message. (#8126)
Both functions are no longer in use within the parity code base.
2018-03-16 08:48:46 +01:00
Niklas Adolfsson
6f5bd845ad fix typo (#8124) 2018-03-15 18:49:43 +03:00
Toralf Wittner
fed4864939 secret_store: use ecies::encrypt/ecies::decrypt. (#8125) 2018-03-15 18:49:13 +03:00
Alexey
acd7192b17 Fix comment for fn gas() in wasm/runtime (#8122)
* Update runtime.rs

* Update runtime.rs
2018-03-15 15:34:11 +03:00
Marek Kotewicz
21cb08586b structured rlp encoding in journaldb (#8047)
* structured rlp encoding in journaldb

* removed redundant code
2018-03-15 10:14:38 +00:00
André Silva
4d1cb01da0 ci: disable link-dead-code in coverage build (#8118) 2018-03-15 02:21:40 +03:00
Marek Kotewicz
0e548ce7c5 fix trace filter returning returning unrelated reward calls, closes #8070 (#8098) 2018-03-14 20:27:57 +01:00
Toralf Wittner
236692cfd5 Const time comparison (#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.
2018-03-14 15:41:35 +01:00
Toralf Wittner
322dfbcd78 Replace reqwest with hyper (#8099)
* Very primitive test of the Client API

* [WIP] getting rid of request

* Add support for redirects.

* Remove CpuPool from `fetch::Client`.

* Adapt code to API changes and fix tests.

* Use reference counter to stop background thread.

On `clone` the counter is incremented, on `drop` decremented. Once 0 we
send `None` over the channel, expecting the background thread to end.

* Fix tests.

* Comment.

* Change expect messages.

* Use local test server for testing fetch client.

* Ensure max_size also in BodyReader.

* Replace `Condvar` with `sync_channel`.

* Re-export `url::Url` from `fetch` crate.

* Remove spaces.

* Use random ports in local test server.
2018-03-14 13:40:54 +01:00
Nikolay Volf
1bad20ae38 more dos protection (#8104) 2018-03-14 15:27:56 +03:00
Pierre Krieger
113c35af0a Remove the time dependency where possible (#8100) 2018-03-14 12:29:52 +01:00
Alexey
5c47116889 fix comment for gas extern in Wasm runtime (#8101) 2018-03-14 12:27:18 +01:00
Niklas Adolfsson
23fc5517b5 Replace std::env::temp_dir with tempdir in tests (#8103)
* std::env::temp_dir -> tempdir in test context

* fix lifetime issue so tempdir removes tmpfiles
2018-03-14 12:26:20 +01:00
Pierre Krieger
7e948a088f Fix Cargo.lock not parsable (#8102) 2018-03-13 15:54:49 +01:00
Tomasz Drwięga
102bc7809f Additional data in EVMTestClient (#7964)
* Small changes to allow better re-use of EvmTestClient

* Expose logs.

* add outcome to TransactResult

* Fix submodule.

* Fix json tests.

* Fix evmbin.
2018-03-13 12:54:17 +01:00
Marek Kotewicz
c2bd1a0e76 update serde, serde-derive, ethabi-derive, syn, quote and rlp_derive (#8085) 2018-03-13 12:43:24 +01:00
Marek Kotewicz
de72643898 ethcore-service (#8089)
* ethcore test::helpers cleanup

* ethcore-service
2018-03-13 11:49:57 +01:00
Niklas Adolfsson
e0f71b0c17 [contract-client] refactor (#7978)
* Refactor usage of registry contract

* remove unsed file

* Rename methods & fix comments

* refactor contract_client:

* Intoduced separate traits for asyncronous and syncronous contract clients
* Removed registrar from ethcore::client
* s/ContractClient/AsyncContractClient

* make the tests compile and pass

* omit changes in ethcore

* Use only one trait for ContractClient

* Use an associated type in the trait to determine syncronous or asyncronous communication
* Export the types from contract-client crate
* Document that "A" in the hash correspons to a DNS A Record A.K.A Address Record

* contract_client -> registrar

* address review feedback
2018-03-12 20:46:27 +00:00
Marek Kotewicz
66f3c50842 revert removing blooms (#8066)
* Revert "fix traces, removed bloomchain crate, closes #7228, closes #7167"

This reverts commit 1bf62038678295e5586f02a38a0c5aab9a9efe62.

* Revert "fixed broken logs (#7934)"

This reverts commit f8a2e53f3e.

* fixed broken logs

* bring back old lock order

* remove migration v13

* revert CURRENT_VERSION to 12 in migration.rs
2018-03-12 20:15:55 +00:00
Marek Kotewicz
373fdb65e9 ethcore test::helpers cleanup (#8086) 2018-03-12 18:05:52 +01:00
Nikolay Volf
58a1671076 add some dos protection (#8084) 2018-03-12 15:55:28 +03:00
Nikolay Volf
e0a21e5aae WASM libraries bump (#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
2018-03-12 11:37:32 +00:00
Fredrik Harrysson
3f33370e7d Echo back the message hash of a ping in the pong request (#8042)
* Echo back the message hash of a ping in the pong request

* Fixed broken link in README (#8012)

* Fixed broken link in README

* Updated wiki link

* [hardware wallet] sleeping -> pollling (#8018)

* Use polling, enable missing doc warnings & docs

* make try_connect_polling() a free function

* `Client` refactoring (#7038)

* Improves `BestBlock` comment

* Improves `TraceDB` comment

* Improves `journaldb::Algorithm` comment.

Probably the whole enum should be renamed to `Strategy` or something alike.

* Comments some of the `Client`'s fields

* Deglobs client imports

* Fixes comments

* Extracts `import_lock` to `Importer` struct

* Extracts `verifier` to `Importer` struct

* Extracts `block_queue` to `Importer` struct

* Extracts `miner` to `Importer` struct

* Extracts `ancient_verifier` to `Importer` struct

* Extracts `rng` to `Importer` struct

* Extracts `import_old_block` to `Importer` struct

* Adds `Nonce` trait

* Adds `Balance` trait

* Adds `ChainInfo` trait

* Fixes imports for tests using `chain_info` method

* Adds `BlockInfo` trait

* Adds more `ChainInfo` imports

* Adds `BlockInfo` imports

* Adds `ReopenBlock` trait

* Adds `PrepareOpenBlock` trait

* Fixes import in tests

* Adds `CallContract` trait

* Fixes imports in tests using `call_contract` method

* Adds `TransactionInfo` trait

* Adds `RegistryInfo` trait

* Fixes imports in tests using `registry_address` method

* Adds `ScheduleInfo` trait

* Adds `ImportSealedBlock` trait

* Fixes imports in test using `import_sealed_block` method

* Adds `BroadcastProposalBlock` trait

* Migrates `Miner` to static dispatch

* Fixes tests

* Moves `calculate_enacted_retracted` to `Importer`

* Moves import-related methods to `Importer`

* Removes redundant `import_old_block` wrapper

* Extracts `import_block*` into separate trait

* Fixes tests

* Handles `Pending` in `LightFetch`

* Handles `Pending` in filters

* Handles `Pending` in `ParityClient`

* Handles `Pending` in `EthClient`

* Removes `BlockId::Pending`, partly refactors dependent code

* Adds `StateInfo` trait

* Exports `StateOrBlock` and `BlockChain` types from `client` module

* Refactors `balance` RPC using generic API

* Refactors `storage_at` RPC using generic API

* Makes `MinerService::pending_state`'s return type dynamic

* Adds `StateOrBlock` and `BlockChain` types

* Adds impl of `client::BlockChain` for `Client`

* Exports `StateInfo` trait from `client` module

* Missing `self` use

To be fixed up to "Adds impl of `client::BlockChain` for `Client`"

* Adds `number_to_id` and refactors dependent RPC methods

* Refactors `code_at` using generic API

* Adds `StateClient` trait

* Refactors RPC to use `StateClient` trait

* Reverts `client::BlockChain` trait stuff, refactors methods to accept `StateOrBlock`

* Refactors TestClient

* Adds helper function `block_number_to_id`

* Uses `block_number_to_id` instead of local function

* Handles `Pending` in `list_accounts` and `list_storage_keys`

* Attempt to use associated types for state instead of trait objects

* Simplifies `state_at_beginning`

* Extracts `call` and `call_many` into separate trait

* Refactors `build_last_hashes` to accept reference

* Exports `Call` type from the module

* Refactors `call` and `call_many` to accept state and header

* Exports `state_at` in `StateClient`

* Exports `pending_block_header` from `MinerService`

* Refactors RPC `call` method using new API

* Adds missing parentheses

* Refactors `parity::call` to use new call API

* Update .gitlab-ci.yml

fix gitlab lint

* Fixes error handling

* Refactors `traces::call` and `call_many` to use new call API

* Refactors `call_contract`

* Refactors `block_header`

* Refactors internal RPC method `block`

* Moves `estimate_gas` to `Call` trait, refactors parameters

* Refactors `estimate_gas` in RPC

* Refactors `uncle`

* Refactors RPC `transaction`

* Covers missing branches

* Makes it all compile, fixes compiler grumbles

* Adds casts in `blockchain` module

* Fixes `PendingBlock` tests, work on `MinerService`

* Adds test stubs for StateClient and EngineInfo

* Makes `state_db` public

* Adds missing impls for `TestBlockChainClient`

* Adds trait documentation

* Adds missing docs to the `state_db` module

* Fixes trivial compilation errors

* Moves `code_hash` method to a `BlockInfo` trait

* Refactors `Verifier` to be generic over client

* Refactors `TransactionFilter` to be generic over client

* Refactors `Miner` and `Client` to reflect changes in verifier and txfilter API

* Moves `ServiceTransactionChecker` back to `ethcore`

* Fixes trait bounds in `Miner` API

* Fixes `Client`

* Fixes lifetime bound in `FullFamilyParams`

* Adds comments to `FullFamilyParams`

* Fixes imports in `ethcore`

* Fixes BlockNumber handling in `code_at` and `replay_block_transactions`

* fix compile issues

* First step to redundant trait merge

* Fixes compilation error in RPC tests

* Adds mock `State` as a stub for `TestClient`

* Handles `StateOrBlock::State` in `TestBlockChainClient::balance`

* Fixes `transaction_count` RPC

* Fixes `transaction_count`

* Moves `service_transaction.json` to the `contracts` subfolder

* Fixes compilation errors in tests

* Refactors client to use `AccountData`

* Refactors client to use `BlockChain`

* Refactors miner to use aggregate traits

* Adds `SealedBlockImporter` trait

* Refactors miner to use `SealedBlockImporter` trait

* Removes unused imports

* Simplifies `RegistryInfo::registry_address`

* Fixes indentation

* Removes commented out trait bound

* Bump master to 1.11.0 (#8021)

* Bump master to 1.11.0

* Bump price-info

* Bump mac installer version

* Fix gitlab builds

*  Add MCIP-6 Byzyantium transition to Musicoin spec (#7841)

* Add test chain spec for musicoin byzantium testnet

* Add MCIP-6 Byzyantium transition to Musicoin spec

* Update mcip6_byz.json

* ethcore: update musicoin byzantium block number

* ethcore: update musicoin byzantium block number

* ethcore: update musicoin bootnodes

* Update musicoin.json

* Update musicoin.json

* More bootnodes.

* prelude to the block module cleanup (#8025)

* prelude to block cleanup

* fixed tests

* fix cache & snapcraft CI build (#8052)

after successful testing it is necessary to port in a ```beta``` and ```stable```

* Update refs to shell (#8051)

* Abstract devp2p (#8048)

* Rename ethcore-network to ethcore-network-devp2p

* Fix typo

* Extract generic traits into util/network

* Simplify util/network

* Fix devp2p tests

* Remove old feature

* Fix RPC tests

* Change port because testing environment didn't like those ports
2018-03-12 11:06:48 +01:00
Nikolay Volf
06fa900504 Add Kovan WASM activation blocknumber (#8057) 2018-03-12 10:55:44 +01:00
Niklas Adolfsson
29d7a0e3c9 [ethkey] Unify debug/display for Address/Public/Secret (#8076)
* unify debug in ethkey

* fix tests
2018-03-09 16:32:20 +01:00
Arkadiy Paronyan
e8106016c8 Limit incoming connections. (#8060)
* Limit ingress connections
* Optimized handshakes logging
2018-03-09 11:26:40 +01:00
Tomasz Drwięga
d716bae3d5 Max code size on Kovan (#8067)
* Enable code size limit on kovan

* Fix formatting.
2018-03-07 15:11:09 +01:00
André Silva
f48b09b76e updater: apply exponential backoff after download failure (#8059)
* updater: apply exponential backoff after download failure

* updater: reset backoff on new release
2018-03-06 21:16:38 +01:00
Marek Kotewicz
f54944bbfc make blockchain functions more idiomatic, avoid needless writes to cache_man (#8054) 2018-03-06 19:44:05 +01:00
Marek Kotewicz
ff722cac72 make patricia-trie more idiomatic and remove redundant code (#8056) 2018-03-06 19:42:24 +01:00
Pierre Krieger
eeee90def5 Abstract devp2p (#8048)
* Rename ethcore-network to ethcore-network-devp2p

* Fix typo

* Extract generic traits into util/network

* Simplify util/network

* Fix devp2p tests

* Remove old feature

* Fix RPC tests
2018-03-05 11:56:35 +01:00
Amaury Martiny
47a02480c4 Update refs to shell (#8051) 2018-03-05 11:56:14 +01:00
Denis S. Soldatov aka General-Beck
bbefdec973 fix cache & snapcraft CI build (#8052)
after successful testing it is necessary to port in a ```beta``` and ```stable```
2018-03-05 11:52:18 +01:00
Marek Kotewicz
f864f72bb5 prelude to the block module cleanup (#8025)
* prelude to block cleanup

* fixed tests
2018-03-04 19:31:26 +01:00
Rando
6623de4e61 Add MCIP-6 Byzyantium transition to Musicoin spec (#7841)
* Add test chain spec for musicoin byzantium testnet

* Add MCIP-6 Byzyantium transition to Musicoin spec

* Update mcip6_byz.json

* ethcore: update musicoin byzantium block number

* ethcore: update musicoin byzantium block number

* ethcore: update musicoin bootnodes

* Update musicoin.json

* Update musicoin.json

* More bootnodes.
2018-03-04 16:18:51 +01:00
Rando
33284e988e Bump master to 1.11.0 (#8021)
* Bump master to 1.11.0

* Bump price-info

* Bump mac installer version

* Fix gitlab builds
2018-03-03 22:02:33 +01:00
Dmitry Kashitsyn
9d7d6f7108 Client refactoring (#7038)
* Improves `BestBlock` comment

* Improves `TraceDB` comment

* Improves `journaldb::Algorithm` comment.

Probably the whole enum should be renamed to `Strategy` or something alike.

* Comments some of the `Client`'s fields

* Deglobs client imports

* Fixes comments

* Extracts `import_lock` to `Importer` struct

* Extracts `verifier` to `Importer` struct

* Extracts `block_queue` to `Importer` struct

* Extracts `miner` to `Importer` struct

* Extracts `ancient_verifier` to `Importer` struct

* Extracts `rng` to `Importer` struct

* Extracts `import_old_block` to `Importer` struct

* Adds `Nonce` trait

* Adds `Balance` trait

* Adds `ChainInfo` trait

* Fixes imports for tests using `chain_info` method

* Adds `BlockInfo` trait

* Adds more `ChainInfo` imports

* Adds `BlockInfo` imports

* Adds `ReopenBlock` trait

* Adds `PrepareOpenBlock` trait

* Fixes import in tests

* Adds `CallContract` trait

* Fixes imports in tests using `call_contract` method

* Adds `TransactionInfo` trait

* Adds `RegistryInfo` trait

* Fixes imports in tests using `registry_address` method

* Adds `ScheduleInfo` trait

* Adds `ImportSealedBlock` trait

* Fixes imports in test using `import_sealed_block` method

* Adds `BroadcastProposalBlock` trait

* Migrates `Miner` to static dispatch

* Fixes tests

* Moves `calculate_enacted_retracted` to `Importer`

* Moves import-related methods to `Importer`

* Removes redundant `import_old_block` wrapper

* Extracts `import_block*` into separate trait

* Fixes tests

* Handles `Pending` in `LightFetch`

* Handles `Pending` in filters

* Handles `Pending` in `ParityClient`

* Handles `Pending` in `EthClient`

* Removes `BlockId::Pending`, partly refactors dependent code

* Adds `StateInfo` trait

* Exports `StateOrBlock` and `BlockChain` types from `client` module

* Refactors `balance` RPC using generic API

* Refactors `storage_at` RPC using generic API

* Makes `MinerService::pending_state`'s return type dynamic

* Adds `StateOrBlock` and `BlockChain` types

* Adds impl of `client::BlockChain` for `Client`

* Exports `StateInfo` trait from `client` module

* Missing `self` use

To be fixed up to "Adds impl of `client::BlockChain` for `Client`"

* Adds `number_to_id` and refactors dependent RPC methods

* Refactors `code_at` using generic API

* Adds `StateClient` trait

* Refactors RPC to use `StateClient` trait

* Reverts `client::BlockChain` trait stuff, refactors methods to accept `StateOrBlock`

* Refactors TestClient

* Adds helper function `block_number_to_id`

* Uses `block_number_to_id` instead of local function

* Handles `Pending` in `list_accounts` and `list_storage_keys`

* Attempt to use associated types for state instead of trait objects

* Simplifies `state_at_beginning`

* Extracts `call` and `call_many` into separate trait

* Refactors `build_last_hashes` to accept reference

* Exports `Call` type from the module

* Refactors `call` and `call_many` to accept state and header

* Exports `state_at` in `StateClient`

* Exports `pending_block_header` from `MinerService`

* Refactors RPC `call` method using new API

* Adds missing parentheses

* Refactors `parity::call` to use new call API

* Update .gitlab-ci.yml

fix gitlab lint

* Fixes error handling

* Refactors `traces::call` and `call_many` to use new call API

* Refactors `call_contract`

* Refactors `block_header`

* Refactors internal RPC method `block`

* Moves `estimate_gas` to `Call` trait, refactors parameters

* Refactors `estimate_gas` in RPC

* Refactors `uncle`

* Refactors RPC `transaction`

* Covers missing branches

* Makes it all compile, fixes compiler grumbles

* Adds casts in `blockchain` module

* Fixes `PendingBlock` tests, work on `MinerService`

* Adds test stubs for StateClient and EngineInfo

* Makes `state_db` public

* Adds missing impls for `TestBlockChainClient`

* Adds trait documentation

* Adds missing docs to the `state_db` module

* Fixes trivial compilation errors

* Moves `code_hash` method to a `BlockInfo` trait

* Refactors `Verifier` to be generic over client

* Refactors `TransactionFilter` to be generic over client

* Refactors `Miner` and `Client` to reflect changes in verifier and txfilter API

* Moves `ServiceTransactionChecker` back to `ethcore`

* Fixes trait bounds in `Miner` API

* Fixes `Client`

* Fixes lifetime bound in `FullFamilyParams`

* Adds comments to `FullFamilyParams`

* Fixes imports in `ethcore`

* Fixes BlockNumber handling in `code_at` and `replay_block_transactions`

* fix compile issues

* First step to redundant trait merge

* Fixes compilation error in RPC tests

* Adds mock `State` as a stub for `TestClient`

* Handles `StateOrBlock::State` in `TestBlockChainClient::balance`

* Fixes `transaction_count` RPC

* Fixes `transaction_count`

* Moves `service_transaction.json` to the `contracts` subfolder

* Fixes compilation errors in tests

* Refactors client to use `AccountData`

* Refactors client to use `BlockChain`

* Refactors miner to use aggregate traits

* Adds `SealedBlockImporter` trait

* Refactors miner to use `SealedBlockImporter` trait

* Removes unused imports

* Simplifies `RegistryInfo::registry_address`

* Fixes indentation

* Removes commented out trait bound
2018-03-03 18:42:13 +01:00
Niklas Adolfsson
81b52c7336 [hardware wallet] sleeping -> pollling (#8018)
* Use polling, enable missing doc warnings & docs

* make try_connect_polling() a free function
2018-03-02 18:30:25 +01:00
Shane Vitarana
fb17ae7751 Fixed broken link in README (#8012)
* Fixed broken link in README

* Updated wiki link
2018-03-02 17:21:35 +01:00
Tomasz Drwięga
9bcb589785 Support parity protocol. (#8035) 2018-03-02 10:26:49 +01:00
Rando
2e00f656d0 Add changelog for 1.8.11 stable and 1.9.4 beta (#8017)
* Add changelog for 1.8.11 stable

* Add changelog for 1.9.4 beta

* Bump release date
2018-03-01 20:53:21 +01:00
Marek Kotewicz
87f893265d fix for verify_block_basic crashing on invalid transaction rlp (#8032) 2018-03-01 19:55:24 +01:00
Pierre Krieger
d4205da484 Extract the hard dependency on rocksdb from the light client (#8034)
* Extract the hard dependency on rocksdb from the light client

* Remove TODO
2018-03-01 19:53:15 +01:00
Marek Kotewicz
ca0d1f5eb7 fixed parsing ethash seals and verify_block_undordered (#8031) 2018-03-01 19:13:20 +01:00
Marek Kotewicz
e76a545970 fixed ethstore sign (#8026) 2018-03-01 14:20:11 +01:00
Denis S. Soldatov aka General-Beck
ec7282d05c CI: Fix cargo cache (#7968)
* Fix cache

Blocking waiting for file lock on the registry index

* Only clean locked cargo cache on windows
2018-03-01 13:41:49 +01:00
Amaury Martiny
ea3083bd3b Update ref to new shell (#8024) 2018-03-01 13:17:39 +01:00
Svyatoslav Nikolsky
6d5b13c80c SecretStore: secretstore_generateDocumentKey RPC (#7864)
* SecretStore: secretstore_generateDocumentKey RPC

* SecretStore: return encrypted_key from secretstore_generateDocumentKey
2018-03-01 10:00:44 +01:00
Svyatoslav Nikolsky
0da6c7eb45 SecretStore: ECDSA session for cases when 2*t < N (#7739)
* SecretStore: ECDSA PoC

* SecretStore: fixed ECDSA serialization + cleanup

* removed unused param

* removed unused method

* removed debug unwrap

* SecretStore: 'limited' ECDSA session

* fix after merge
2018-03-01 09:59:21 +01:00
Marek Kotewicz
cdb3afee42 bump tiny-keccak (#8019) 2018-03-01 09:54:50 +01:00
Niklas Adolfsson
e54c33d9a7 remove un-necessary comment (#8014) 2018-02-28 16:40:08 +03:00
Marek Kotewicz
9fec2142ae clean up account fmt::Debug (#7983) 2018-02-27 18:37:36 +01:00
Marek Kotewicz
e32b600530 improve quality of vote_collector module (#7984) 2018-02-27 18:29:43 +01:00
Marek Kotewicz
df63341eb4 ExecutedBlock cleanup (#7991)
* ExecutedBlock cleanup

* authority round makes only one call to note_rewards

* move Tracing from block to trace module

* removed BlockRef
2018-02-27 18:22:56 +01:00
Niklas Adolfsson
6445f12c2d Hardware-wallet/usb-subscribe-refactor (#7860)
* Hardware-wallet fix

* More fine-grained initilization of callbacks by vendorID, productID and usb class
* Each device manufacturer gets a seperate handle thread each
* Replaced "dummy for loop" with a delay to wait for the device to boot-up properly
* Haven't been very carefully with checking dependencies cycles etc
* Inline comments explaining where shortcuts have been taken
* Need to test this on Windows machine and with Ledger (both models)

Signed-off-by: niklasad1 <niklasadolfsson1@gmail.com>

* Validate product_id of detected ledger devices

* closed_device => unlocked_device

* address comments

* add target in debug

* Address feedback

* Remove thread joining in HardwareWalletManager
* Remove thread handlers in HardwareWalletManager because this makes them unused
2018-02-27 16:45:16 +01:00
Marek Kotewicz
eff5cabb3f remove wildcard imports from views, make tests more idiomatic (#7986) 2018-02-23 20:01:33 +01:00
Marek Kotewicz
f9d5d618dc moved PerfTimer to a separate crate - "trace-time" (#7985) 2018-02-23 19:49:08 +01:00
Marek Kotewicz
893979b5da clean up ethcore::spec module imports (#7990)
* clean up ethcore::spec module imports

* fixed missing reimport
2018-02-23 19:37:23 +01:00
André Silva
e4f863b4b0 rpc: don't include current block in new_block_filter (#7982) 2018-02-23 10:41:29 +01:00
Marek Kotewicz
5cf6684461 fix traces, removed bloomchain crate, closes #7228, closes #7167 (#7979) 2018-02-23 10:29:11 +01:00
Marek Kotewicz
73756ce262 simplify compression and move it out of rlp crate (#7957)
* simplify compression and move it out of rlp crate

* removed lazy_static dependency from rlp
2018-02-23 10:12:52 +01:00
Marek Kotewicz
ee93be80c0 removed old migrations (#7974)
* removed old migrations

* improve SimpleMigration

* fixed migration tests

* fixed redundant whitespace

* add ToV13 migration which removes bloom groups

* bump CURRENT_VERSION of db
2018-02-22 14:53:10 +01:00
Tomasz Drwięga
d90ab40a78 Detect too large packets in snapshot sync. (#7977) 2018-02-22 14:52:29 +01:00
Marek Kotewicz
f8a2e53f3e fixed broken logs (#7934)
* fixed broken logs

* bring back old lock order

* removed bloom groups from blockchain

* revert unrelated changes

* simplify blockchain_block_blooms
2018-02-22 11:22:56 +01:00
André Silva
e0b4506474 Increase max download limit to 128MB (#7965)
* fetch: increase max download limit to 64MB

* parity: increase download size limit for updater service
2018-02-22 11:22:25 +01:00
Tomasz Drwięga
01d9bff3cf Calculate proper keccak256/sha3 using parity. (#7953) 2018-02-20 22:45:41 +00:00
Rando
db90f5b0a4 Add changelog for 1.8.10 stable and 1.9.3 beta (#7947)
* Add changelog for 1.8.10 stable

* Add changelog for 1.9.3 beta

* Released 1.9.3 ahead of schedule :)
2018-02-20 16:28:09 +00:00
André Silva
bfdc097538 kvdb-rocksdb: remove buffered operations when committing transaction (#7950) 2018-02-20 17:20:30 +01:00
Tomasz Drwięga
05f47b6359 Bump WS (#7952) 2018-02-20 10:28:10 +01:00
Marek Kotewicz
5b4abec2db removed redundant Bloom conversions (#7932)
* removed redundant Bloom conversions

* fixed broken tests
2018-02-19 13:08:33 +00:00
Marek Kotewicz
d6d6a7cc95 simplify RefInfo fmt (#7929) 2018-02-19 13:05:00 +00:00
Nikolay Volf
684322cd6f Kovan WASM fork code (#7849)
* kovan fork code

* introduce ethcore level vm_factory and let it fail

* fix json tests

* wasmcosts as option

* review changes

* wasm costs in parser

* fix evm tests

* review fixes

* fix test

* remove redundant json field
2018-02-19 12:27:42 +01:00
Marek Kotewicz
605f3b0381 bring back trie and triehash benches (#7926) 2018-02-19 12:03:54 +01:00
Marek Kotewicz
4bda6efed0 removed redundant PodAccount::new method (#7928)
* removed redundant PodAccount::new method

* fixed failing test
2018-02-19 10:58:04 +01:00
Marek Kotewicz
b77771171d removed dummy wrapper structure - LogGroupPosition (#7922) 2018-02-19 10:52:33 +01:00
Lorenzo Manacorda
e630f647d1 spec: Validate required divisor fields are not 0 (#7933)
* Add validate_non_zero function

It's used to validate that a Spec's uint field used as a divisor is not zero.

* Add deserialize_with to gas_limit_bound_divisor

Prevents panics due to divide-by-zero on the gas_limit_bound_divisor
field.

* Add deserialize_with to difficulty_bound_divisor

Prevents panics due to divide-by-zero on the difficulty_bound_divisor
field.

* Add validate_optional_non_zero function

Used to validate Option<Uint> divisor fields.

* Use deserialize_with on optional divisor fields.

* Add #[serde(default)] attribute to divisor fields

When using `#[serde(deserialize_with)]`, `#[serde(default)]` must be specified so that missing
fields can be deserialized with the deserializer for `None`.
2018-02-19 10:36:34 +01:00
Marek Kotewicz
76a098114f simplify Client::filter_traces method (#7936) 2018-02-18 23:02:02 +01:00
Denis S. Soldatov aka General-Beck
e79ade59c9 gitlab cache (#7921)
it is necessary to test
2018-02-18 00:02:44 +01:00
Pierre Krieger
364a1fa5a8 Fix a division by zero in light client RPC handler (#7917) 2018-02-17 21:54:39 +01:00
Marek Kotewicz
f905a1676f triehash optimisations (#7920) 2018-02-16 20:24:16 +01:00
Marek Kotewicz
ff0c44c060 removed redundant Blockchain::db method (#7919) 2018-02-16 19:43:19 +01:00
Marek Kotewicz
ec34d50459 removed redundant Blockchain::rewind method (#7918) 2018-02-16 19:43:05 +01:00
Tomasz Drwięga
236a4aac22 Pending transactions subscription (#7906)
* Pending transactions subscription.

* Pending transactions Pub-Sub

* Add light client support.

* Remove redundant Ok
2018-02-16 16:51:34 +01:00
Marek Kotewicz
899dd0ff4b removed redundant otry! macro from ethcore (#7916)
* removed redundant otry! macro from ethcore

* removed redundant otry! macro from parity
2018-02-16 16:37:12 +01:00
Marek Kotewicz
c6b931766c Make block generator easier to use (#7888)
* Make block generator easier to use

* applied review suggestions

* rename BlockMetadata -> BlockOptions

* removed redundant uses of blockchain generator and genereator.next().unwrap() calls
2018-02-16 10:11:29 +01:00
Tomasz Zdybał
f8618dd02a ECIP 1041 - Remove Difficulty Bomb (#7905)
Enable difficulty bomb defusion at block:
 - 5900000 on Ethereum Classic mainnet,
 - 2300000 on morden testnet.

Reference:
https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1041.md
2018-02-16 10:09:49 +01:00
Svyatoslav Nikolsky
37bfcb737b SecretStore: threshold ECDSA PoC (#7615)
* SecretStore: ECDSA PoC

* SecretStore: fixed ECDSA serialization + cleanup

* removed unused param

* removed unused method

* removed debug unwrap

* 1/x -> inv(x)

* SecretStore: merged fixes from ECDSA session branch

* once again  1/* -> inv(*)

* fixed grumbles
2018-02-15 11:12:51 +01:00
Tomasz Drwięga
226215eff6 Fix CSP for dapps that require eval. (#7867)
* Add allowJsEval to manifest.

* Enable 'unsafe-eval' if requested in manifest.
2018-02-15 11:05:20 +01:00
Afri Schoedon
0a34ad50b4 Fix gitlab (#7901) 2018-02-15 08:27:32 +01:00
Denis S. Soldatov aka General-Beck
3d803762ff Gitlb snap master patch (#7900)
* fix snap build master

add rhash

* fix double line

* remove filure from snap build stage
2018-02-15 07:54:21 +01:00
André Silva
aab63c339d Aura: Broadcast empty step messages instead of creating empty blocks (#7605)
* aura: broadcast empty step message instead of sealing empty block

* aura: add empty_step messages to seal

* aura: include parent_hash in empty step message

* aura: verify received empty step messages

* aura: verify empty step messages in block

* aura: fix dead lock on empty_steps

* aura: fix EmptyStep Encodable

* aura: take number of empty steps into account in chain score

* aura: use empty step signers for finality

* aura: add empty "empty step" messages to seal when reading from spec

* aura: fix EmptyStep rlp encoding

* aura: use Vec<u8> instead of Bytes

* aura: fix block empty step verification

* Update .gitlab-ci.yml

fix lint

* aura: fix accumulation of empty step signatures for finality

* aura: include empty steps in seal signature

* aura: configurable max number of empty steps

* engine: pass block header to seal_fields method

This is necessary to make the number of seal fields dynamic,
e.g. activating a transition on a certain block number that changes
the seal.

* aura: add transition to enable empty step messages

* aura: clear old empty step messages on verify_block_external

* aura: ignore empty step messages from the future

* aura: report skipped primaries when empty steps are not enabled

* aura: fix tests

* aura: report misbehavior

* aura: add tests for rolling finality with multiple signatures

* engine: fix validator set test

In this test the block validation wasn't failing because the block was in the
future (expected failure) but was instead failing because the author of the
block isn't the expected authority. Since we added reporting of blocks produced
by the wrong authority this test started failing.

* aura: reward all the authors of empty step messages

* aura: fix reward attribution for new blocks

* aura: add tests for empty steps broadcasting and inclusion in blocks

* aura: reduce size of empty step messages in seal

* aura: add test for empty step inclusion in blocks

* aura: add test for rewarding of empty steps

* aura: add test for empty steps validation

* aura: fix rlp encoding of sealed empty step

* aura: fix grumbles
2018-02-15 01:39:29 +01:00
Denis S. Soldatov aka General-Beck
5d6e7e1439 fix snap build master (#7896)
add rhash
2018-02-14 22:19:59 +01:00
André Silva
d1815eec55 Fix wallet import (#7873)
* rpc: generate new account id for imported wallets

* ethstore: handle duplicate wallet filenames

* ethstore: simplify deduplication of wallet file names

* ethstore: do not dedup wallet filenames on update

* ethstore: fix minor grumbles
2018-02-14 14:21:58 +01:00
Afri Schoedon
1cce3cfb75 Fix snapcraft nightly (#7884)
* Fix snapcraft nightly

* Update gitlab-build.sh

* Update snapcraft.yaml

* Update gitlab-build.sh

* Update .gitlab-ci.yml

snap build switch to https://hub.docker.com/r/snapcore/snapcraft/

* skip aura-test.sh

https://github.com/paritytech/parity/pull/6078

* add snap artifacts

* Fix aura tests

* Fix macos build

* Allow aura test to fail

* Disable aura tests
2018-02-14 12:39:08 +01:00
Pierre Krieger
bf57eb8978 Add a timeout for light client sync requests (#7848)
* Add a timeout for light client sync requests

* Adjusting timeout to number of headers
2018-02-14 11:31:14 +01:00
Svyatoslav Nikolsky
ebb92947a3 SecretStore: fixed test (#7878) 2018-02-14 10:49:56 +01:00
Tomasz Drwięga
5584739b83 Fix checksums and auto-update push (#7846)
* Re-enable auto-update for windows. Fail build on non 2xx response from updater.

* Fix format of md5 and sha256 files.

* Fix identation.

* Add critical to metadata.

* Add some logs.

* Fix pushing build.

* Attempt to fix release pushing.

* Fix missing rhash?

* Workaround broken rhash.
2018-02-13 19:31:06 +01:00
Afri Schoedon
8b0004b4cf Forward-port snap fixes (#7831) 2018-02-13 16:31:05 +01:00
Denis S. Soldatov aka General-Beck
bf7e8741c7 Update gitlab-test.sh (#7883)
* Update gitlab-test.sh

https://github.com/paritytech/parity/issues/7871

* Update aura-test.sh
2018-02-13 16:21:24 +01:00
Afri Schoedon
3cae42bb34 Fix installer binary names for macos and windows (#7881)
* Fix windows installer file name

* Fix macos installer file name
2018-02-13 16:20:01 +01:00
Lexi Brent
006b2f3564 Fix string typo: "develoopment" -> "development" (#7874) 2018-02-13 09:52:05 +03:00
Leo Arias
a385f9a649 Update the instructions to install the stable snap (#7876) 2018-02-13 07:50:21 +01:00
Svyatoslav Nikolsky
8579a56f71 SecretStore: 'broadcast' decryption session (#7843) 2018-02-12 18:05:33 +01:00
Tomasz Drwięga
90bd6bf700 Flush keyfiles. Resolves #7632 (#7868) 2018-02-12 18:03:37 +01:00
Svyatoslav Nikolsky
1ca1fba8cf read registry_address from given block (#7866) 2018-02-12 18:02:48 +01:00
Alexey
a30de1b8d8 Clean up docs formatting for Wasm runtime (#7869)
* Clean up docs formatting for Wasm runtime

* Update runtime.rs
2018-02-12 17:59:41 +01:00
Nikolay Volf
fab03398dd disable internal memory (#7842) 2018-02-12 11:19:43 +01:00
Denis S. Soldatov aka General-Beck
78f39e9090 Update gitlab-build.sh (#7855)
fix build ```version``` after https://github.com/paritytech/parity/pull/7723
2018-02-12 10:54:15 +01:00
Marek Kotewicz
c060d9584d ethabi version 5 (#7723)
* Refactor updater to use ethabi-derive

* Grumble: do_call type alias

* Empty commit to trigger test re-run

* migration to ethabi-5.0

* migration to ethabi-5.0 in progress

* use ethabi_deriven to generate TransactAcl contract

* use ethabi_deriven to generate Registry contract

* hash-fetch uses ethabi_derive, removed retain cycle from updater, fixed #7720

* node-filter crate uses ethabi_derive to generate peer_set contract interface

* use LruCache in node-filter instead of HashMap

* validator_set engine uses ethabi_derive

* ethcore does not depend on native_contracts

* miner does no depend on native_contracts

* secret_store does not use native_contracts (in progress)

* removed native-contracts

* ethcore and updater does not depend on futures

* updated ethereum-types

* fixed all warnings caused by using new version of ethereum-types

* updated ethabi_derive && ethabi_contract to get rid of warnings

* removed another retain cycle in updater, fixed following minor version on update

* moved contracts out of native_contracts res

* updated ethabi_contract

* fixed failing test

* fixed failing test

* there is no need to create two contracts of the same kind any more

* simplify updater::ReleaseTrack conversion into u8 and add several tests for it

* applied review suggestions

* applied review suggestions
2018-02-09 09:32:06 +01:00
Pierre Krieger
2c60a53fef Randomize the peer we dispatch to (#7844) 2018-02-08 21:36:46 +01:00
Tomasz Drwięga
a59f6d9bd2 Move updater metadata to Cargo.toml of parity-version. (#7832) 2018-02-08 12:38:56 +01:00
Afri Schoedon
a487182e92 Add new EF ropstens nodes. (#7824)
* Add new EF ropstens nodes.

* Fix tests
2018-02-08 12:38:18 +01:00
Marek Kotewicz
f244ebeb4a refactor stratum to remove retain cycle (#7827)
* refactor stratum to remove retain cycle, fixed #7823

* fix tests
2018-02-07 17:15:40 +01:00
Tomasz Drwięga
b4ed51c5f1 Bump jsonrpc. (#7828) 2018-02-07 16:13:54 +01:00
Afri Schoedon
516bb685bf Add binary identifiers and sha256sum to builds (#7830)
* Add binary identifiers and sha256sum to builds

* Print build ident
2018-02-07 15:02:13 +01:00
Jaco Greeff
66755be8f6 Update references to UI shell & wallet (#7808)
* Update references to UI shell & wallet

* Update after merge
2018-02-06 14:25:02 +01:00
Nikolay Volf
0a7cebe316 adjust storage update evm-style (#7812) 2018-02-06 11:57:29 +01:00
Nikolay Volf
fb4582a90e wasmi interpreter (#7796) 2018-02-05 20:59:27 +01:00
Svyatoslav Nikolsky
ebda6d3916 SecretStore: ignore removed authorities when running auto-migration (#7674) 2018-02-05 20:59:14 +01:00
Nikolay Volf
8587df17d9 Fix build (#7807)
* Update Cargo.toml

* updated Cargo.lock
2018-02-05 14:05:59 +03:00
Jaco Greeff
97a3c6e461 Move js & js-old code to github.com/parity-js (#7685)
* Move js & js-old to github.com/parity-js

* Update shell & dapp-wallet references

* Update wallet ref

* Remove JS stages

* Update to latest shell & wallet (token fixes)
2018-02-05 10:40:00 +01:00
Afri Schoedon
89772f40f9 More changelogs :) (#7782)
* Add CHANGELOG for 1.8.9

* Add CHANGELOG for 1.8.9

* Add CHANGELOG for 1.9.2
2018-02-05 10:34:21 +01:00
Svyatoslav Nikolsky
2cfc2b95d0 fixed API set in help (#7790) 2018-02-02 13:07:42 +01:00
Svyatoslav Nikolsky
10a95a5a22 remove obsolete file (#7788) 2018-02-02 08:55:44 +01:00
Afri Schoedon
0ea1c41573 Update ropsten.json (#7776) 2018-02-01 16:23:46 +00:00
Afri Schoedon
d051dd2a60 CHANGELOG for 1.9.1 and 1.8.8 (#7775)
* Update CHANGELOGs for 1.8.8

* Update CHANGELOGs for 1.9.1
2018-02-01 13:50:23 +01:00
Afri Schoedon
6dec16bb41 Enable byzantium features on non-ethash chains (#7753)
* Enable byzantium on dev chain

* Enable byzantium on constractor spec

* Enable byzantium on aura specs

* Enable byzantium on tendermint chain spec

* Enable byzantium on null chain spec

* Fix tests

* Fix test
2018-02-01 13:42:56 +01:00
André Silva
4763887a68 Fix client not being dropped on shutdown (#7695)
* parity: wait for client to drop on shutdown

* parity: fix grumbles in shutdown wait

* parity: increase shutdown timeouts
2018-01-31 11:41:29 +01:00
Axel Chalon
fee88d04d4 Wrap --help output to 120 characters (#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)

* 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
2018-01-31 09:50:52 +01:00
Tomasz Drwięga
f5c68c601e Filter-out nodes.json (#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
2018-01-31 09:50:01 +01:00
Dmitry Kashitsyn
a412f7cca6 Removes redundant parentheses, whitelists them in generated code (#7721) 2018-01-31 09:48:37 +01:00
Tomasz Drwięga
dae99cc53e Prepare for txpool release. (#7741) 2018-01-31 09:28:28 +03:00
Chase Wright
afea11ede6 Reduce usd_per_tx (#7058)
* Update config.full.toml

* Update mod.rs

* Patch 1 (#1)

* Iterate over both buffered and unbuffered database entries

* Fix iterator issues

* no default uncles

* prepare cargo configuration for upload of crates

* update bigint version number

* update ethcore-bigint version

* rename hash crate to keccak-hash

* update memorydb

* update rlp

* update patricia-trie cargo.toml

* use error-chain in ethcore-network

* interleaved-ordered 0.1.1

* static linking for snappy

* removed redundant imports

* Add the desktop file for the snap

Now that we have added plugs to allow accessing the display, the snap needs
a desktop file. And bonus point, it will appear on the menu when it's
installed, and once you make a stable relase, it will appear in the gnome
software center app! So, one-click install for parity :)

Closes: #7056

* update icon for desktop

* Properly display Signer errors (Snackbar display popup) (#7053)

* Update to fixed @parity/ui (Errors component)

* Update ParityBar radius to align with Snackbar/Errors

* Update to latest @parity/ui

* Update dependencies @parity/signer-plugin-*

* Really pull in @parity/signer-plugin-* deps

* CHANGELOG for 1.7.8, 1.7.9, 1.8.2, and 1.8.3 (#7055)

* Update changelog for 1.7.8 stable

* Update changelog for 1.7.9 stable

* Improve wording in Changelog

* Update changelog for 1.8.2 beta

* Update changelog for 1.8.3 beta

* [ci skip] js-precompiled 20171115-103846

* ECIP-1039: Monetary policy rounding specification

Fix potential rounding errors between geth and parity in the long-term future.

* Change reward calculation to only use divide once

* SecretStore: servers set change session api (#6925)

* SecretStore: first key versions flush

* SecretStore: key versions in encryption session

* SecretStore: flush key versions negotiation session

* SecretStore: connected key version negotiation session to cluster

* SecretStore: cluster sessions container refactoring

* SecretStore: flush

* SecretStore: flush key versions

* SecretStore: flush

* SecretStore: delegation proto

* SecretStore: decryption_session_is_delegated_when_node_does_not_have_key_share

* SecretStore: fixed version in decryption session

* SecretStore: signing_session_is_delegated_when_node_does_not_have_key_share

* SecretStore: started restoring admin sessions

* SecretStore: restoring admin sessions

* SecretStore: removed obsolete ShareRemove && ShareMove sessions

* SecretStore: ShareAdd math tests only require old_t+1 nodes

* SecretStore: ShareAdd revamp using new math backend

* SecretStore: do not include isolated nodes into consensus_group

* SecretStore: ServersSetChange + ShareAdd revamp

* removed debug printlns

* SecretStore: key version negotiation tests

* SecretStore: removed debug/merge artifacts

* SecretStore: fixed master node selection

* SecretStore: cleanup + tests + fixes

* SecretStore: uncommented tests

* SecretStore: cleaning up

* SecretStore: cleaning up + tests

* SecretStore: cleaning up

* SecretStore: cleaning up && tests

* SecretStore: fixing TODOs

* SecretStore: fixing TODOs + cleanup

* SecretStore: fixing TODOs

* SecretStore: nodes_add_to_the_node_with_obsolete_version

* SecretStore: nodes_add_fails_when_not_enough_share_owners_are_connected

* SecretStore: tests

* SecretStore: signing && delegation tests

* SecretStore: signing && decryption tests when some nodes are isolated

* SecretStore: sessions_are_removed_when_initialization_fails

* SecretStore: ceaning up

* SecretStore: removed obsolete comments

* SecretStore: signing_session_completes_if_node_does_not_have_a_share

* SecretStore: initial ServersSetChange API

* SecretStore: added secretstore_signServersSet RPC

* SecretStore: ChangeServersSet parse tests

* SecretStore: fixes after manual ServersSetChange tests

* lost file

* fixed network ports overlap in tests

* lost files

* fix tests on patricia-trie

* updated eth-secp256k1

* Fix no-default-features.

* Parse payload from panic

Impl payload

empty str is none

Update tests

Clean

Update wasm-tests

* Allow localUrl in manifest

* Improve Github Issue Template: IT CROWD approved version.

* Remove seperator that causes issue descriptions to become headlines sometimes

* Add to all icon_url places

* Add appId as needed to local dapps

* localUrl only from manifest

* Update panic_payload.rs

* Use query-string for search parsing

* spaces to tabs.

* Add localUrl to serialization

* Make storage_read/write return nothing

* Update gas values

* Update wasm-tests

* Cleanup debug info

* Remove debug log

* Optimize & group dapp requests (#7083)

* Group similar methods in same grouping

* Add a shell_getMethodGroups API

* Small code clean changes

* Fix bug dapp.name not showing

* Additional error handling

* Store sources in own map

* Remove observable variables where not needed

* Refactor code and fix bug dapp not showing on approve

* [ci skip] js-precompiled 20171121-150329

* Remove unused and duplicated files in js-old (#7082)

* Cleanup v1 build process, application-only

* Remove built-in dapps from build (duplicated)

* User @parity/api instead of local version

* Update references to @parity/abi

* Remove unused js-old api/abi folders

* Remove duplicated v1 jsonrpc

* Cleanup unused routes

* Update manifest with wallet image

* Update wallet logo

* Re-add missing test.sh

* Update rpc mocks

* Update tests for Providers

* Use flex for iframe & status

* Additional cleanups (Home screen for embed)

* Keep statusbar fixed (and non-overallping with dapps)

* [ci skip] js-precompiled 20171121-164807

* Cleanup top bar, add Home icon for navigation (#7118)

* Localise images to config.js file

* Remove sample status plugin (commented)

* Update image references from config

* Remove Unknown capability & Capable (only display actions)

* Update to @parity/ui 2.2.14

* Add Home icon on statusbar (go back)

* 2.2.14 -> 2.2.x

* Builtin dapp icons where dappreg not available

* [ci skip] js-precompiled 20171122-140247

* fixed RotatingLogger after migrating to new arrayvec

* Update packages, pull in compiled-only repos (#7125)

* Update packages, pull in compiled-only repos

* Update js-precompiled to point to js-dist-paritytech

* Trigger both js & js-old builds to force update

* Update to bring scripts 100% in-sync

* Fixed build && test (#7128)

* fixed build && test

* fixed rpc tests

* Update js-precompiled ref, trigger JS build

* Add test for ECIP1017 at block 250000000

* Wrong era used in ECIP1017 test

It is era 49, and should correspond to ECIP1017/ECIP1039's era 50.

* [ci skip] js-precompiled 20171124-124119

* Push to correct shell branch (#7135)

* Push to correct shell branch

* Trigger both js & js-old builds

* [ci skip] js-precompiled 20171124-134823

* pwasm-run-test utility

* WASM Remove blockhash error (#7121)

* Remove blockhash error

* Update tests.

* Pull in new dapp-{methods,visible} dapps (#7150)

* [ci skip] js-precompiled 20171128-091552

* fixes typo in user config path (#7159)

* Cleanup JS build artifacts (#7164)

* Cleanup JS build artifacts

* Trigger js & js-old

* [ci skip] js-precompiled 20171129-135441

* Use git flag to remove old js artifacts (#7165)

* [ci skip] js-precompiled 20171129-144917

* Remove *.css.map & *.js.map (#7168)

* [ci skip] js-precompiled 20171129-172021

* Delete unused package.json (dist) (#7173)

* [ci skip] js-precompiled 20171130-103432

* Assorted improvements for ethstore and ethkey (#6961)

* Testing many passwords for presale wallet.

* Add multiple threads.

* WiP: ethkey brain wallets recover.

* Refactor pre-sale-wallet cracking.

* Generate in multiple threads. Brain with prefix.

* Validate bain wallet phrase.

* Brain wallet recovery.

* Self-review fixes.

* Fix tests.

* More docs.

* Bump versions.

* Remove cmd_find from borked merge.

* Update wasm submodules.

* Use threadpool.

* upper limit is gas limit * 10 in estimate gas

* React 16 (#7174)

* Update packages to use React 16

* Rollback to react-router v3

* Use component instead of pure one

* Remove warning about mobx

* Make webpack load css from @parity/ui

* Update enzyme to support react16

* Fix lint

* Use @parity/ui v3

* Update refs of plugin-signer-* deps

* Exclude plugin-signer-* from babel processing

* Reupdate refs to old method

* Update refs again

* [ci skip] js-precompiled 20171201-114538

* pwasm-run-test utility upgrade

* Removed ethcore-util dependency from ethcore-network (#7180)

* Removed ethcore-util dependency

* Removed snappy

* New account selector UI in top bar (#7179)

* Add a dropdown popup for account selector

* Install sui latest version for hideOnScroll bug fix

* Update ui

* Update package-lock after rebase

* Require parity/ui v3.0.3

* Pass accountStore as props

* Require parity/ui v3.0.4

* [ci skip] js-precompiled 20171204-115345

* Update mocha import stubs (#7191)

* Update mocha import stubs

* Add .md files to ignore list

* [ci skip] js-precompiled 20171205-084709

* Update FirstRun for UI-2 (#7195)

* WIP

* Update after @parity/ui update

* Update to latest

* Update semver for @parity

* Update & -> &amp;

* [ci skip] js-precompiled 20171205-102703

* Maximum uncle count transition (#7196)

* Enable delayed maximum_uncle_count activation.

* Fix tests.

* Defer kovan HF.

* mistake comment in calc difficulty (#7154)

* Send each log as a separate notifications. (#7175)

* Update config.full.toml

* Revert "Patch 1 (#1)" (#2)

This reverts commit 2fa0af6392f75cf9f7dd5f8250906e3767da8a5b.

* Update usd_per_tx test

* Fix tests

* Fix initial_minimum
2018-01-30 16:10:12 +01:00
Kirill Pimenov
bc8216a82c More visible download link in README.md (#7707) 2018-01-28 09:17:58 +01:00
Afri Schoedon
f0d9d3c4d2 Update CHANGELOG.md 2018-01-26 13:10:05 +01:00
fabiangmpf
326de9b535 Update SECURITY.md 2018-01-25 18:53:32 +01:00
Afri Schoedon
983c29dab1 Changelog for 1.9.0 (#7664)
* Move 1.8 changelog to docs/

* Add EOL notices for 0.9-1.7

* Add changelog for 1.8.7 stable

* Prepare changelog for 1.9.0 beta

* Update changelog for 1.9 beta

* Update changelog for 1.9 beta

* Fix typos in changelog

* Add changelog for 1.7.13

* Update CHANGELOGs for 1.9, 1.8, 1.7

* Update readme for 1.9

* Update CHANGELOG for 1.9
2018-01-25 16:39:01 +01:00
Afri Schoedon
73327d011d Update Info.plist 2018-01-23 22:36:45 +01:00
Amaury Martiny
6d60286bf6 Add when when too many accounts (#7677) 2018-01-23 16:34:02 +01:00
Denis S. Soldatov aka General-Beck
66322c769e remove cargo cache 2018-01-23 14:42:02 +03:00
Denis S. Soldatov aka General-Beck
9ab0b67bdf small corrections in queue of checks 2018-01-23 05:04:28 +03:00
Denis S. Soldatov aka General-Beck
8d3843f7dc Update .gitlab-ci.yml
enable cache for cargo
2018-01-23 04:59:40 +03:00
Tomasz Drwięga
99dbc68276 Light client RPCs (#7603)
* Implement registrar.

* Implement eth_getCode

* Don't wait for providers.

* Don't wait for providers.

* Fix linting and wasm tests.
2018-01-22 11:27:23 +01:00
Svyatoslav Nikolsky
d4861f0a29 SecretStore: return HTTP 403 if consensus is unreachable (#7656) 2018-01-22 10:05:30 +01:00
Denis S. Soldatov aka General-Beck
a39437ac5a Update gitlab-test.sh
remove Always test on master, because js-release is always carried out and we receive [ci-skip]
2018-01-21 13:53:40 +03:00
GitLab Build Bot
3acb9d9f4e [ci skip] js-precompiled 20180120-201352 2018-01-20 20:15:03 +00:00
Marek Kotewicz
51ef70922e Moved panick_hook to util/panic_hook (#7629) 2018-01-20 20:28:25 +01:00
GitLab Build Bot
d31cfd3c64 [ci skip] js-precompiled 20180119-174947 2018-01-19 17:51:02 +00:00
Yurii Rashkovskii
18f555464e Problem: AttachedProtocols don't get registered (#7610)
I was investigating issues I am having with Whisper support. I've
enabled Whisper on a custom test network and inserted traces into
Whisper handler implementation (Network<T> and NetworkProtocolHandler
for Network<T>) and I noticed that the handler was never invoked.

After further research on this matter, I found out that
AttachedProtocol's register function does nothing:
https://github.com/paritytech/parity/blob/master/sync/src/api.rs#L172
but there was an implementation originally:
99075ad#diff-5212acb6bcea60e9804ba7b50f6fe6ec and it did the actual
expected logic of registering the protocol in the NetworkService.

However, as of 16d84f8#diff-5212acb6bcea60e9804ba7b50f6fe6ec ("finished
removing ipc") this implementation is gone and only the no-op function
is left.

Which leads me to a conclusion that in fact Whisper's handler never gets
registered in the service and therefore two nodes won't communicate
using it.

Solution: Resurrect original non-empty `AttachedProtocols.register`
implementation

Resolves #7566
2018-01-19 17:33:49 +01:00
Marek Kotewicz
f43e355254 Replace RandomTempDir with tempdir::Tempdir (#7624)
* Remove GuardedTempResult

* Remove RandomTempPath

* ethcore does not depend on devtools
2018-01-19 17:32:53 +01:00
GitLab Build Bot
5859db59c8 [ci skip] js-precompiled 20180119-145350 2018-01-19 14:55:15 +00:00
Marek Kotewicz
b535bf390c Moved TestSocket to ethcore-network (#7633) 2018-01-19 14:41:34 +01:00
André Silva
2af4bd195f Improve handling of RocksDB corruption (#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
2018-01-19 14:33:38 +01:00
Marek Kotewicz
6bebb9e74a Moved StopGaurd to it's own crate (#7635) 2018-01-19 13:46:31 +01:00
Marek Kotewicz
d430e7f4e2 Updated dependencies (#7628)
* Updated few dependencies

* Updated parking_lot to 0.5

* Updated backtrace to 0.3.5

* Updated crossbeam to 0.3
2018-01-19 13:46:11 +01:00
GitLab Build Bot
b6791977b3 [ci skip] js-precompiled 20180119-112209 2018-01-19 11:23:20 +00:00
Jaco Greeff
9d972cde98 Update references to dapp sources (#7634)
* Update plugin references

* Update dapp references

* Update console references
2018-01-19 11:39:29 +01:00
GitLab Build Bot
7513949035 [ci skip] js-precompiled 20180119-103509 2018-01-19 10:36:32 +00:00
Tomasz Drwięga
ad44855a1b Fix Temporarily Invalid blocks handling (#7613)
* Handle temporarily invalid blocks in sync.

* Fix tests.
2018-01-19 10:38:59 +01:00
Tomasz Drwięga
58645d3908 Hardening of CSP (#7621) 2018-01-19 10:38:00 +01:00
GitLab Build Bot
f8bf7e7d41 [ci skip] js-precompiled 20180118-182530 2018-01-18 18:26:57 +00:00
Robert Habermeier
2c426defd9 remove check_hangup hack now that is_canceled exists (#7620) 2018-01-18 18:19:04 +01:00
Marek Kotewicz
e5c131e0c1 removed old, unused build.rs (#7614) 2018-01-18 17:45:39 +01:00
Jaco Greeff
d2e44cf1d0 Update tokenreg (#7618)
* Update tokenreg

* Add commit hash
2018-01-18 15:38:38 +01:00
GitLab Build Bot
afae8e8f6e [ci skip] js-precompiled 20180118-122152 2018-01-18 12:23:19 +00:00
Marek Kotewicz
f7012af92e Use rustc-hex instead of rustc-serialize in bloomchain tests (#7616) 2018-01-18 14:37:10 +03:00
GitLab Build Bot
5990c64e31 [ci skip] js-precompiled 20180118-112917 2018-01-18 11:30:46 +00:00
Guanqun Lu
bfbe471a1a broken link in CHANGELOG (#7600)
Happen to note that the link is wrong, a typo here.
2018-01-18 11:41:03 +01:00
GitLab Build Bot
b442b72c9d [ci skip] js-precompiled 20180118-102003 2018-01-18 10:21:34 +00:00
Tomasz Drwięga
709fbff067 Std-json format for VM traces (#7262)
* Std-json logging.

* fixed merge with master
2018-01-18 10:32:22 +01:00
GitLab Build Bot
30737fe580 [ci skip] js-precompiled 20180117-222359 2018-01-17 22:25:17 +00:00
Marek Kotewicz
0c01db4a49 separated ethcore_migrations from ethcore (#7586)
* separated ethcore_migrations from ethcore

* fixed authorship nitpick

* make ethcore_migrations related exports and imports more consistent
2018-01-17 22:11:13 +01:00
GitLab Build Bot
d429ce1849 [ci skip] js-precompiled 20180117-165329 2018-01-17 16:55:42 +00:00
Afri Schoedon
6773e88211 Fix libssl1.1 package name for debian (#7596) 2018-01-17 19:06:54 +03:00
GitLab Build Bot
793624b08c [ci skip] js-precompiled 20180117-124844 2018-01-17 12:50:05 +00:00
Afri Schoedon
9083bec090 Add codecov badge (#7593)
* Add codecov badge

* Update cov.sh

remove coverall.io
2018-01-17 14:59:22 +03:00
GitLab Build Bot
df200d4284 [ci skip] js-precompiled 20180117-113819 2018-01-17 11:39:36 +00:00
Marek Kotewicz
9adee532a0 bump some of our core dependencies (#7563)
* updated ethereum-types and tiny-keccak

* Updated several deps

* Updated several more dependencies

* Modify dummy file to trigger ci

* fixed update of memmap to 0.6 in ethash crate

* Fixed fetch after update to latest reqwest

* Updated jsonrpc-core with fixes for serde

* add expects in util/version/build.rs
2018-01-17 11:45:29 +01:00
Marek Kotewicz
7d49dd4727 Fixed delegatecall's from/to (#7568)
* Fixed delegatecall's from/to, closes #7166

* added tests for delegatecall traces, #7167
2018-01-17 10:44:11 +01:00
Marek Kotewicz
25b19835e3 Migration tests moved to a separate directory (#7582) 2018-01-17 10:36:40 +01:00
Marek Kotewicz
ee1da09996 Network tests moved to a tests directory (#7583) 2018-01-17 10:36:12 +01:00
Marek Kotewicz
36ba004c29 removed redundant ethcore/basic_types.rs (#7584) 2018-01-17 10:35:43 +01:00
Alexey
534692cdae [Wasm] memcmp fix and test added (#7590)
* [Wasm] memcmp fix and test added

* [Wasm] use reqrep_test! macro for memcmp test
2018-01-17 13:13:17 +04:00
Robert Habermeier
c7aed335ce update back-references more aggressively after answering from cache (#7578) 2018-01-17 09:45:36 +01:00
GitLab Build Bot
7aeb6c5b5f [ci skip] js-precompiled 20180117-080716 2018-01-17 08:08:35 +00:00
Denis S. Soldatov aka General-Beck
9fe61dd529 Update .gitlab-ci.yml
fix cache key
2018-01-17 10:12:02 +03:00
Denis S. Soldatov aka General-Beck
0510cb3aa1 fix gitlab.yml lint 2018-01-17 10:01:49 +03:00
GitLab Build Bot
0d7e7f0ab8 [ci skip] js-precompiled 20180116-220117 2018-01-16 22:02:35 +00:00
Denis S. Soldatov aka General-Beck
c46887e90b add codecov 2018-01-17 00:14:38 +03:00
Denis S. Soldatov aka General-Beck
12ebd901a5 Merge remote-tracking branch 'origin/master' 2018-01-16 20:31:45 +03:00
Denis S. Soldatov aka General-Beck
2ac2fbdf89 add ethkey & parity-evm todarwin pkg
+new ststus icons
mac/Parity Ethereum.xcodeproj/project.pbxproj
mac/Parity/AppDelegate.swift
mac/Parity/Assets.xcassets/statusIcon.imageset/Parity-1.png
mac/Parity/Assets.xcassets/statusIcon.imageset/Parity-2.png
mac/Parity/Assets.xcassets/statusIcon.imageset/Parity.png
mac/Parity/GetBSDProcessList.swift
mac/install-readme.txt
mac/uninstall-parity.sh
scripts/gitlab-build.sh
2018-01-16 20:30:28 +03:00
GitLab Build Bot
a2d1e046a5 [ci skip] js-precompiled 20180116-132804 2018-01-16 13:29:21 +00:00
Jaco Greeff
62939fd5a0 Trigger js-precompiled (#7579) 2018-01-16 13:35:28 +01:00
Svyatoslav Nikolsky
04b571b742 SecretStore: threshold decrease PoC (#7562) 2018-01-16 12:58:41 +01:00
GitLab Build Bot
594716dc1e [ci skip] js-precompiled 20180115-172705 2018-01-15 17:28:27 +00:00
Kirill Pimenov
9578df2abe Rust change detections should do inverse grep (#7564) 2018-01-15 17:25:49 +01:00
GitLab Build Bot
43358cc6bd [ci skip] js-precompiled 20180115-153732 2018-01-15 15:38:56 +00:00
Alexey
d927320719 [WASM] mem_cmp added to the Wasm runtime (#7539)
* mem_cmp added to the Wasm runtime

* schedule.wasm.mem_copy to schedule.wasm.mem_cmp for mem_cmp
2018-01-15 18:24:24 +04:00
GitLab Build Bot
ad14e656f6 [ci skip] js-precompiled 20180115-060914 2018-01-15 06:10:33 +00:00
Denis S. Soldatov aka General-Beck
24a40af5bc fix windows and centos builds (#7559)
* fix windows and centos builds
update gitlab-build.sh
windows installer `parity_$VER_installer.exe`
rpm package `parity_$VER_x86_64.rpm`

* Update .gitlab-ci.yml

add cache ``target``
fix windows and centos arg's

* Update installer.nsi

add ``ethstore.exe, ethkey.exe and parity-evm.exe`` to windows installer

* Update cov.sh

add timeout to coverage test's (10 min per test)
2018-01-15 08:20:04 +03:00
GitLab Build Bot
b7266e7829 [ci skip] js-precompiled 20180115-051727 2018-01-15 05:18:52 +00:00
Denis S. Soldatov aka General-Beck
6dcf3618d5 Always run on master (#7557)
* Always build everything if we're on master

* Skip if zero foles have changed, not other way around

* Update test.js

* Update test.js

* Update gitlab-test.sh

* Update gitlab-test.sh

* Update gitlab-test.sh

* Update gitlab-test.sh

* Update gitlab-test.sh
2018-01-15 07:31:06 +03:00
GitLab Build Bot
da62cfd111 [ci skip] js-precompiled 20180114-230435 2018-01-14 23:05:57 +00:00
Marek Kotewicz
668d910c44 bloom refactor (#7475)
* ethereum-types refactor in progress

* ethereum-types refactor in progress

* ethereum-types refactor in progress

* ethereum-types refactor in progress

* ethereum-types refactor finished

* cleanup bloom mess

* simplify usage of Bloom in few places

* removed obsolete util/src/lib.rs

* removed commented out code

* ethereum-types 0.1.4

* updated ethereum-types and tiny-keccak
2018-01-14 22:43:28 +01:00
GitLab Build Bot
e7f36665bb [ci skip] js-precompiled 20180113-020751 2018-01-13 02:09:53 +00:00
Jaco Greeff
b6e61f403c Trigger js-precompiled (#7546) 2018-01-12 13:15:12 +01:00
Denis S. Soldatov aka General-Beck
f7f718b30f test conditions in js-release 2018-01-12 13:45:49 +03:00
Jaco Greeff
bc942e896e Trigger js-precompiled (#7544) 2018-01-12 09:59:06 +01:00
Tomasz Drwięga
f044b61f42 Extract some parts of miner from ethcore. (#7353)
* Move miner away from ethcore.

* Fix ethcore to use miner/transaction.

* Fix tests and warnings.

* fixed incorrect merge of the test in the documentation
2018-01-11 17:49:10 +01:00
Pierre Krieger
9a12945304 Statically link the C runtime on Windows (#7246) 2018-01-11 15:41:22 +01:00
Jaco Greeff
bf2a925333 Trigger js-precompiled (#7534) 2018-01-11 12:13:33 +01:00
Marek Kotewicz
cfc2a240c4 bump to 1.10.0 (#7507)
* bump to 1.10.0

* update version of version crate

* bump Cargo.lock
2018-01-11 09:58:37 +01:00
Denis S. Soldatov aka General-Beck
436f09d5a5 fix darwin build
Parity.png should be 512x512
fix ethstore

Signed-off-by: Denis S. Soldatov aka General-Beck <general.beck@gmail.com>
2018-01-11 07:54:42 +03:00
Jef
90b187a837 Fix benches (#7521) 2018-01-10 22:19:03 +01:00
André Silva
40551b8ffd Add personal_sign and personal_ecRecover RPC methods (#7453)
* rpc: implement personal_sign

* rpc: add test for personal_sign

* rpc: implement personal_ecRecover

* rpc: add test for personal_ecRecover

* rpc: fix order of arguments in personal_sign

* rpc: remove auxiliary methods for sign and ec_recover
2018-01-10 21:44:10 +01:00
Svyatoslav Nikolsky
73f5cc57be fixed warning (#7519) 2018-01-10 19:56:02 +01:00
Marek Kotewicz
e95b093483 dissolve util (#7460)
* ethereum-types refactor in progress

* ethereum-types refactor in progress

* ethereum-types refactor in progress

* ethereum-types refactor in progress

* ethereum-types refactor finished

* removed obsolete util/src/lib.rs

* removed commented out code
2018-01-10 15:35:18 +03:00
Jaco Greeff
4a4d64be56 Trigger js-precompiled (#7517) 2018-01-10 11:48:30 +01:00
Svyatoslav Nikolsky
d360074323 SecretStore: do not send init if session has finished/failed instantly (#7397) 2018-01-10 11:35:23 +01:00
tzapu
df5d27d516 added a new RPC call trace_replayBlockTransactions (#7366)
* intial add trace_replayBlockTransactions

* cleanup timing calls
add execution proof

* WIP implementing changes

* fix for trace_replayBlockTransactions rpc call

* cleanup comments

* cleanup, proof,
can't workout lifetime issues yet

* Fix lifetimes issue.

* naive rpc test

* updated docs
2018-01-10 11:34:34 +01:00
Svyatoslav Nikolsky
b685b7fae3 SecretStore: tx retry pattern (#7323)
* SecretStore: auto migrate initial commit

* SecretStore: flush automigrate

* SecretStore: debug flush

* SecretStore: added migration to KeyServerSet contract

* SecretStore: flush automigrate

* SecretStore: flush before testing

* SecretStore: flush

* SecretStore: flush

* SecretStore: bunch of tests for simple ConnectionTrigger && KeyServerSet

* SecretStore: started work on TriggerWithMigration tests

* SecretStore: maintain_session tests

* SecretStore: updated some comments

* SecretStore pass migration_id to ServerSetChangeSession

* SecretStore: fixed lock scope

* SecretStore: fixed error response condition

* SecretStore: fixed ServerSetChange session auto-creation

* SecretStore: update active migration in connector

* removed commented code

* SecretStore: fixed tests compilation

* SecretStore: marked test-related unimplemented-s

* SecretStore: labeled all SS TODOs

* SecretStore: do not read auto-migration stuff when auto-migration is disabled + stripped KeyServerSet contract ABI

* SecretStore: ignore duplicated addresses in KeyServerSet

* fied compilation

* SecretStore: wait for N block confirmations before starting auto-migration

* SecretStore: more tests for migration delay

* SecretStore: clear current nodes set when KSS contract is uninstalled

* SecretStore: retry transaction interval
2018-01-10 11:33:45 +01:00
André Silva
7e0928b8a2 kvdb: update rust-rocksdb version (#7511) 2018-01-10 11:23:29 +01:00
Denis S. Soldatov aka General-Beck
fff6e037ab clean .gitlab.yml and 2 scripts for test and build: gitlab-build.sh & gitlab-test.sh 2018-01-10 11:44:36 +03:00
Denis S. Soldatov aka General-Beck
0b91bd4b11 fix conditions 2018-01-10 07:33:46 +03:00
Denis S. Soldatov aka General-Beck
cb8c4b4e96 add gitlab-test.sh
move functions from .yml to add gitlab-test.sh
2018-01-10 06:38:50 +03:00
Denis S. Soldatov aka General-Beck
f400a7e171 .gitlab-ci cleanup
Resolves issue #4226 #7086 ci #63 close PR #7506
2018-01-10 05:58:12 +03:00
Afri Schoedon
0bdb5d1ca9 Changelog for 1.8.6 (#7440)
* Update CHANGELOG for 1.8.6

* Linkify issues.

* Add Changelog for 1.7.12

* Update Changelog for 1.7.12

* Update Changelog for 1.8.6

* Update Changelog for 1.7.12

* Update Changelog for 1.8.6

* Update CHANGELOG for 1.8.6
2018-01-10 00:11:13 +01:00
Amaury Martiny
c2136f7976 Update js-api (#7509) 2018-01-09 17:12:32 +01:00
Tomasz Drwięga
e4bd4ed060 Use sync wrapper instead of Mutex (#7456) 2018-01-09 16:10:39 +01:00
Tomasz Drwięga
69d7c4f519 Expose default gas price percentile configuration in CLI (#7497)
* Expose gas price percentile.

* Fix light eth_call.

* fix gas_price in light client
2018-01-09 12:43:36 +01:00
Fabian
1e8533acbc Update README.md 2018-01-09 12:21:24 +01:00
Jay Little
ab7335d21d Use https connection (#7503)
Use https when connecting to etherscan.io API for price-info
2018-01-09 12:17:01 +01:00
Kirill Pimenov
bdc3d6fee0 More thorough changes detection (#7472)
* More thorough changes detection

This basically trades false-negatives ("dumb" last commit not touching
Rust on a Rust-touching branch) for false-positives (all builds against
`stable` and `beta` will run all tests almost always).
This seems to be a reasonable tradeoff.

Closes #6507

* We don't have Appveyor anymore

* before_script sections are not merged

* Limiting commit depth breaks branching detection
2018-01-08 21:23:56 +03:00
GitLab Build Bot
4c22ca2721 [ci skip] js-precompiled 20180108-171712 2018-01-08 17:18:32 +00:00
Amaury Martiny
825a962323 Fix small layout issues (#7500)
* Fix layout bug

* Change position of red signing label
2018-01-08 17:43:55 +01:00
GitLab Build Bot
9c88e755e2 [ci skip] js-precompiled 20180108-160030 2018-01-08 16:02:07 +00:00
Amaury Martiny
c6b0db61e7 Show all accounts on Topbar (#7498)
* Show all accounts in the top bar

* Update to latest js-shared

* Add comments

* Update refs and remove dapp-dapp-accounts
2018-01-08 16:21:52 +01:00
Afri Schoedon
a553485bbd Update Parity Mainnet Bootnodes (#7476)
* Update Parity Mainnet Bootnodes

* Replace the Azure HDD bootnodes with the new ones :)
2018-01-08 15:06:08 +01:00
Marek Kotewicz
7316cb9d92 fixed panic when io is not available for export block, closes #7486 (#7495) 2018-01-08 14:46:29 +01:00
Tomasz Drwięga
33b8f28f62 Advance AuRa step as far as we can and prevent invalid blocks. (#7451)
* Advance AuRa step as far as we can.

* Wait for future blocks.
2018-01-08 14:46:11 +01:00
GitLab Build Bot
47b2b151ce [ci skip] js-precompiled 20180108-085319 2018-01-08 08:54:35 +00:00
Amaury Martiny
a52d601f5c Update package-lock in js-old (#7494)
* Revert to latest package-lock for js-old

* Update package-lock after npm i
2018-01-08 09:45:07 +01:00
GitLab Build Bot
fc6b1cb4b9 [ci skip] js-precompiled 20180108-084013 2018-01-08 08:41:21 +00:00
Afri Schoedon
ef3cd042fb Update issue template and readme (#7450)
* Ask about used network in issue template

* Update Riot-References

* Uppercase Parity
2018-01-08 09:24:49 +01:00
Jaco Greeff
23192e490e Revert package-lock.jsons to prior rm -rf (#7492) 2018-01-08 09:23:28 +01:00
Jaco Greeff
c37a87e490 Explicit checkout (#7474) 2018-01-05 17:00:28 +01:00
Jaco Greeff
7e6e024546 Trigger js-precompiled (#7473) 2018-01-05 16:18:20 +01:00
Afri Schoedon
36e230ee16 Expanse Byzantium update w/ correct metropolis difficulty increment divisor (#7463)
* Byzantium Update for Expanse

Here the changes go. Hope I didnt miss anything.

* expip2 changes - update duration limit

* Fix missing EXPIP-2 fields

* Format numbers as hex

* Fix compilation errors

* Group expanse chain spec fields together

* Set metropolisDifficultyIncrementDivisor for Expanse

* Revert #7437

* Add Expanse block 900_000 hash checkpoint
2018-01-05 13:49:07 +01:00
Arkadiy Paronyan
c8ad8aeac4 Updated icons (#7469) 2018-01-05 13:44:05 +01:00
Jaco Greeff
71da3af1a2 Cleanup certifications (#7454)
* Cleanup certifications

* Add key for accounts
2018-01-05 13:26:43 +01:00
Jaco Greeff
ce69c4e6ea Fix css lint (updated stylelint) (#7471) 2018-01-05 12:48:35 +01:00
Jaco Greeff
855c1126a4 Upgrade markdown-loader & marked (#7467)
* Upgrade markdown-loader & marked

* Align UglifyJS (wallet/shell)

* Add ethereumjs-util Babel compilation
2018-01-05 10:59:35 +01:00
Jaco Greeff
ac95bfa285 Remove test for removed code (#7461) 2018-01-04 18:04:59 +01:00
Jaco Greeff
37796bdaa9 Pull in dapp-status (#7457)
* Remove status from tabs

* Update js-shared, add dapp-status
2018-01-04 17:05:10 +01:00
Afri Schoedon
36bb5ed795 Bump openssl crate (#7455) 2018-01-04 16:12:12 +01:00
Jaco Greeff
c417f01a23 Signer updates from global Redux state (#7452)
* Remove unused layout

* Update to use pending from Redux

* Update @parity/shared
2018-01-04 13:13:15 +01:00
GitLab Build Bot
1d0af99744 [ci skip] js-precompiled 20180103-161510 2018-01-03 16:16:20 +00:00
Marek Kotewicz
75f292154d Merge pull request #7437 from paritytech/a5-chains-expanse
Remove expanse chain
2018-01-03 16:12:39 +01:00
GitLab Build Bot
1764143db5 [ci skip] js-precompiled 20180103-144059 2018-01-03 14:42:11 +00:00
Jaco Greeff
7c1cbd33ff Store tokens with repeatable id (#7435) 2018-01-03 15:25:45 +01:00
5chdn
5e4febfc2d Fix tests 2018-01-03 15:14:49 +01:00
5chdn
0292348bd6 Remove all EXP references from old wallet 2018-01-03 13:28:03 +01:00
5chdn
27d8befbad Remove expanse from available chains 2018-01-03 13:24:27 +01:00
Marek Kotewicz
51319ebe3f Merge pull request #7433 from paritytech/td-strict-config
Strict config parsing
2018-01-03 12:27:17 +01:00
GitLab Build Bot
7643e0e17f [ci skip] js-precompiled 20180103-105415 2018-01-03 10:55:33 +00:00
Tomasz Drwięga
56311cf0b5 Merge branch 'master' into td-strict-config 2018-01-03 11:07:08 +01:00
Tomasz Drwięga
e439eae54f Enable strict config parsing. 2018-01-03 11:05:53 +01:00
André Silva
e114b0b28d Upgrade to RocksDB 5.8.8 and tune settings to reduce space amplification (#7348)
* kvdb-rocksdb: update to RocksDB 5.8.8

* kvdb-rocksdb: tune RocksDB options

* Switch to level-style compaction
* Increase default block size (16K), and use bigger blocks for HDDs (64K)
* Increase default file size base (64MB SSDs, 256MB HDDs)
* Create a single block cache shared across all column families
* Tune compaction settings using RocksDB helper functions, taking into account
  memory budget spread across all columns
* Configure backgrounds jobs based on the number of CPUs
* Set some default recommended settings

* ethcore: remove unused config blockchain.db_cache_size

* parity: increase default value for db_cache_size

* kvdb-rocksdb: enable compression on all levels

* kvdb-rocksdb: set global db_write_bufer_size

* kvdb-rocksdb: reduce db_write_bufer_size to force earlier flushing

* kvdb-rocksdb: use master branch for rust-rocksdb dependency
2018-01-03 11:00:37 +01:00
Jaco Greeff
8405edab41 Fix status layout (#7432) 2018-01-03 10:49:52 +01:00
Marek Kotewicz
6a01113610 Merge pull request #7412 from paritytech/td-trace-failed-calls
Fix tracing failed calls.
2018-01-02 15:43:33 +01:00
Marek Kotewicz
4ce643ba3f Merge pull request #7421 from poanetwork/whisper-relay
Problem: sending any Whisper message fails
2018-01-02 14:25:37 +01:00
Marek Kotewicz
f3e7d94fc4 Merge pull request #7368 from paritytech/td-future-blocks
Wait for future blocks in AuRa
2018-01-02 14:21:50 +01:00
Marek Kotewicz
8cd1f890ca Merge pull request #7426 from paritytech/td-fix-final
Fix final feature.
2018-01-02 14:09:18 +01:00
Marek Kotewicz
7deeb26e21 Merge pull request #7425 from paritytech/td-state-lock
Use RwLock for state DB
2018-01-02 11:57:29 +01:00
Tomasz Drwięga
457d8baf30 Fix final feature. 2018-01-02 11:02:04 +01:00
GitLab Build Bot
9d33f6f29a [ci skip] js-precompiled 20180102-090245 2018-01-02 09:04:01 +00:00
Tomasz Drwięga
823e0a22ca Merge branch 'master' into td-state-lock 2018-01-02 09:55:53 +01:00
Amaury Martiny
bc91eaf4d0 Update branding on UI (#7370)
* Update packages

* Update pictures for v1
2018-01-02 09:48:41 +01:00
Tomasz Drwięga
c6aea0cae6 Move StateDB to RwLock 2018-01-02 09:43:08 +01:00
Yurii Rashkovskii
9c0fceb192 Problem: sending any Whisper message fails
The error is "PoW too low to compete with other messages"

This has been previously reported in #7144

Solution: prevent the move semantics

The source of the error is in PoolHandle.relay
implementation for NetPoolHandle.

Because of the move semantics, `res` variable is in fact
copied (as it implements Copy) into the closure and for
that reason, the returned result is always `false.
2018-01-01 20:54:15 -08:00
Afri Schoedon
51e6e0b4bd Changelog for 1.8.5 and 1.7.11 (#7401)
* Add Changelog for 1.7.11

* Add Changelog for 1.8.5

* Markdownify issue links
2017-12-30 01:57:44 +01:00
Tomasz Drwięga
67a74e155d Fix tracing failed calls. 2017-12-29 18:11:55 +01:00
Marek Kotewicz
2586eaef92 Merge pull request #7359 from VladLupashevskyi/transactions-permission-contract-fix
Added checking tx-type using transactions permission contract for miners
2017-12-29 11:46:10 +01:00
Marek Kotewicz
5fee880fbb Merge pull request #7409 from paritytech/dircrate2
standalone dir crate, replaces #7383
2017-12-29 11:44:26 +01:00
Marek Kotewicz
483480d7a1 Merge pull request #7336 from paritytech/secretstore_rpc_sign_raw_hash
SecretStore: secretstore_signRawHash method
2017-12-29 11:10:29 +01:00
debris
7b40f1cfe9 Merge branch 'master' into dircrate2 2017-12-29 10:45:11 +01:00
Marek Kotewicz
81d4187d14 Merge pull request #7331 from paritytech/secretstore_resurrect_error404
SecretStore: return error 404 when there's no key shares for given key on all nodes
2017-12-29 05:33:47 -04:00
Marek Kotewicz
f8bd6b9f63 Merge pull request #7101 from paritytech/secretstore_kovan
SecretStore: Kovan integration initial version
2017-12-29 05:31:51 -04:00
Tomasz Drwięga
48a15cecf8 Update bootnodes (#7363)
* Updating mainnet bootnodes.

* Add additional parity-beta bootnodes.

* Restore old parity bootnodes and update foudation bootnodes
2017-12-28 15:12:19 +01:00
Nicolas Ochem
09573497b0 move constants to platform-specific module too 2017-12-28 03:16:52 -08:00
Vlad Lupashevskyi
45116099c5 Merge remote-tracking branch 'remotes/upstream/master' into transactions-permission-contract-fix 2017-12-28 12:56:21 +02:00
Tomasz Drwięga
26e4fc680c Fix default CORS settings. (#7387)
* Fix default CORS settings.

* Add info regarding special options.
2017-12-27 18:56:06 +01:00
Nicolas Ochem
a4a9c53b13 use platform module as intended 2017-12-27 06:17:39 -08:00
Kirill Pimenov
eb1bb8f5bd Merge pull request #7390 from paritytech/td-version
Fix version
2017-12-27 13:38:03 +01:00
Svyatoslav Nikolsky
fc0eb600f3 checked_sub -> saturating_sub 2017-12-27 15:21:31 +03:00
Tomasz Drwięga
5b5dd85cf9 Fix lock file. 2017-12-27 11:32:05 +01:00
Tomasz Drwięga
74d2896397 Fix version. 2017-12-27 11:02:39 +01:00
Tomasz Drwięga
a15f62d907 Merge branch 'master' into td-future-blocks 2017-12-27 11:01:08 +01:00
Svyatoslav Nikolsky
2a73101fab updated doc 2017-12-27 11:44:47 +03:00
Svyatoslav Nikolsky
c0e7abcc81 Merge branch 'master' into secretstore_kovan 2017-12-27 11:44:28 +03:00
Nicolas Ochem
a8001ab453 Add doc everywhere, warn on missing docs 2017-12-26 00:54:34 -08:00
Nicolas Ochem
268e8f5a64 move helper functions to platform module 2017-12-26 00:54:34 -08:00
Nicolas Ochem
2e12a2db50 Fix #6209 - introduce standalone dir crate
* created the dir crate in util
* moved code from ethstore/src/dir/paths.rs to dir crate
* rename dir module in ethstore to accounts_dir to distinguish it
  from the dir crate
* changes after @tomusdrw on #6952
2017-12-26 00:54:34 -08:00
Vlad Lupashevskyi
31ffb467f5 Passing verify tx errors to the caller 2017-12-23 00:00:27 +02:00
Vlad Lupashevskyi
0d5603eece Use is_err instead of match 2017-12-22 23:14:24 +02:00
Vlad Lupashevskyi
d6ae6e315e Check tx-type before importing transactions to the queue 2017-12-22 22:50:09 +02:00
Vlad Lupashevskyi
9d35cc1881 "from" replaced with ".into()" 2017-12-22 22:48:37 +02:00
Nikolay Volf
82340c058a Wasm runtime update (#7356)
* call augmented, wasm-tests updated

* fix all call tests

* fix comments
2017-12-22 21:54:35 +03:00
Marek Kotewicz
d80dd81d77 parity-version pr reopen (#7136)
* parity-version module split from util

removed unused util deps and features

trigger buildbot again

only kvdb links rocksdb

snappy linker issues

* rm snappy

* fixed old version imports
2017-12-22 09:37:39 -04:00
Marek Kotewicz
7c24d0665e Merge pull request #7355 from paritytech/td-clippy
Get rid of clippy remainings.
2017-12-22 07:09:26 -04:00
Marek Kotewicz
6f516607a1 Merge pull request #7357 from paritytech/unwrap-or
Avoid using ok_or with allocated argument
2017-12-22 06:55:37 -04:00
Tomasz Drwięga
83447c201b Make accounts refresh time configurable. (#7345)
* Configurable accounts refresh time.

* Fix tests.
2017-12-22 06:33:49 +03:00
Nicolas Gotchac
276496fb4b Enable traces for DEV chain (#6949) (#7327) 2017-12-22 06:33:17 +03:00
Vlad Lupashevskyi
24378f3c44 Added checking tx-type using transactions permission contract for miners 2017-12-21 22:42:36 +02:00
Tomasz Drwięga
d6f160e868 Don't check max. 2017-12-21 16:16:55 +01:00
Tomasz Drwięga
a5a7c1827a Some more. 2017-12-21 15:37:10 +01:00
Tomasz Drwięga
7d4e4c7a62 Mark future blocks as temporarily invalid. 2017-12-21 15:34:27 +01:00
Yurii Rashkovskii
d5b81ead71 Problem: AuRa's unsafeties around step duration (#7282)
Firstly, `Step.duration_remaining` casts it to u32, unnecesarily
limiting it to 2^32. While theoretically this is "good enough" (at 3
seconds steps it provides room for a little over 400 years), it is
still a lossy way to calculate the remaining time until the next step.

Secondly, step duration might be zero, triggering division by zero
in `Step.calibrate`

Solution: rework the code around the fact that duration is
typically in single digits and never grows, hence, it can be represented
by a much narrower range (u16) and this highlights the fact that
multiplying u64 by u16 will only result in an overflow in even further
future, at which point we should panic informatively (if anybody's
still around)

Similarly, panic when it is detected that incrementing the step
counter wrapped around on the overflow of usize.

As for the division by zero, prevent it by making zero an invalid
value for step duration. This will make AuRa log the constraint
mismatch and panic (after all, what purpose would zero step duration
serve? it makes no sense within the definition of the protocol,
as finality can only be achieved as per the specification
if messages are received within the step duration, which would violate
the speed of light and other physical laws in this case).
2017-12-21 14:59:09 +01:00
Svyatoslav Nikolsky
9a5d0fed2c SecretStore: return error if http listner init has failed 2017-12-21 16:54:24 +03:00
NikVolf
516725abe4 ok_or -> ok_or_else 2017-12-21 16:50:58 +03:00
Svyatoslav Nikolsky
8d15338c84 SecretStore: removed extra-tracing 2017-12-21 16:20:34 +03:00
Svyatoslav Nikolsky
9104d4673c SecretStore: reorganize service contract read 2017-12-21 16:19:15 +03:00
Tomasz Drwięga
00883e477a Get rid of clippy remainings. 2017-12-21 11:27:26 +01:00
Svyatoslav Nikolsky
ff094e0a03 Revert "SecretStore: get rid of read_logs in ServiceContract"
This reverts commit 6efca8860a.
2017-12-21 11:44:55 +03:00
Svyatoslav Nikolsky
ee1ce42546 SecretStore: extracted TasksQueue to separate file 2017-12-20 19:27:47 +03:00
Svyatoslav Nikolsky
b10d567386 SecretStore: ClusterSession::wait_session helper 2017-12-20 19:11:48 +03:00
Yurii Rashkovskii
ab2caee0a3 Problem: Cargo.toml file contains [project] key (#7346)
This key is not recognized by some software
(like carnix).

It is also not documented in http://doc.crates.io/manifest.html

Solution: rename this key to [package]
2017-12-20 16:41:52 +01:00
Svyatoslav Nikolsky
6efca8860a SecretStore: get rid of read_logs in ServiceContract 2017-12-20 17:22:28 +03:00
Svyatoslav Nikolsky
b7a744be59 SecretStore: require N confirmations in PendingRequestsIterator 2017-12-20 17:05:32 +03:00
Svyatoslav Nikolsky
d7650e2b9c SecretStore: TrustedClient 2017-12-20 16:02:21 +03:00
Svyatoslav Nikolsky
794de9f743 SecretStore: fixing grumbles (part1) 2017-12-20 14:50:46 +03:00
GitLab Build Bot
2f9532fe4b [ci skip] js-precompiled 20171220-114610 2017-12-20 11:47:16 +00:00
Jaco Greeff
2856305977 Fix broken flex modal layouts (#7343) 2017-12-20 12:36:04 +01:00
GitLab Build Bot
25a3c001ad [ci skip] js-precompiled 20171219-170319 2017-12-19 17:04:25 +00:00
Amaury Martiny
3fa7d09b5e Fix dappIcon & Fix Signer Pending (#7338)
* Move signerPending inside this repo

* Use latest version of dappIcon

* Tell babel to ignore node_modules in tests
2017-12-19 17:54:09 +01:00
GitLab Build Bot
6bc88664ce [ci skip] js-precompiled 20171219-140820 2017-12-19 14:09:23 +00:00
Svyatoslav Nikolsky
6e5c188eef SecretStore: secretstore_signRawHash RPC 2017-12-19 16:59:37 +03:00
Jaco Greeff
bdd4f62023 Fix wallet token/badge icons not showing up (#7333)
* Fix wallet icons not showing up

* Fix tests

* Remove debug log (oops)
2017-12-19 14:58:30 +01:00
Marek Kotewicz
53dce9ff98 Merge pull request #7222 from ellaismer/ellaism
Add Ellaism coin in chain config
2017-12-19 09:34:21 -04:00
Marek Kotewicz
ee030cdcac Merge pull request #7296 from paritytech/a5-kovan-bootnodes
Update bootnodes
2017-12-19 09:32:36 -04:00
GitLab Build Bot
4b016672f3 [ci skip] js-precompiled 20171219-102906 2017-12-19 10:30:17 +00:00
Dmitry Kashitsyn
5f82f0008f Adds personal_signTransaction RPC method (#6991)
* Adds personal_signTransaction RPC method

* Fixes sign_transaction() to return RichRawTransaction

* Adds test for invalid password

* Fix after rebase
2017-12-19 10:49:49 +01:00
Tomasz Drwięga
5713bb2099 Fix embeded transport. (#7326) 2017-12-19 10:34:34 +01:00
Tomasz Drwięga
9e7f5671a5 Merge branch 'master' into a5-kovan-bootnodes 2017-12-19 10:33:35 +01:00
Tomasz Drwięga
1d9206735b Transaction Pool re-implementation (#6994)
* Initial design and some tests.

* Insertion & limits.

* Constructing pending block.

* Change to PendingIterator.

* Removing/cancelling transactions.

* Full status.

* Culling transactions.

* Use bigint.

* Add listener tests.

* Clean up listener types.

* Split into multiple files.

* Add copyright notice.

* Documentation.

* Don't require ownership.

* Fix cull to remove from by_hash.

* Make the queue generic over transactions.

* Address code review.

* Update wasm submodules.

* Fix review grumbles.

* Add some docs.
2017-12-19 10:20:49 +01:00
Svyatoslav Nikolsky
861aa1fa4b SecretStore: return error 404 when there's no key shares for given key on all nodes 2017-12-19 11:02:13 +03:00
GitLab Build Bot
4971171e8a [ci skip] js-precompiled 20171218-132345 2017-12-18 13:24:58 +00:00
Jaco Greeff
5cb53ddd8d UI package bump (#7318)
* Bump js-ui

* Fix css for status plugins
2017-12-18 12:53:40 +01:00
Robert Habermeier
f99b977399 Merge pull request #7011 from paritytech/whisper-testing
test framework and basic test for whisper
2017-12-18 11:48:20 +01:00
GitLab Build Bot
0637de7303 [ci skip] js-precompiled 20171218-102310 2017-12-18 10:24:14 +00:00
Jaco Greeff
3fd94dc40d CI js-precompiled trigger (#7316) 2017-12-18 11:12:36 +01:00
GitLab Build Bot
a638019c17 [ci skip] js-precompiled 20171218-094355 2017-12-18 09:44:58 +00:00
Jaco Greeff
509038c987 Fix inject.js & Signer store duplication (#7299)
* Remove extension mappings

* Remove duplicated pending stores
2017-12-15 17:52:45 +01:00
Robert Habermeier
8f6f6a068e detect different node, same-key signing in aura (#7245)
* detect different node, same-key signing in aura

* reduce scope of warning
2017-12-15 16:29:23 +01:00
5chdn
4a9a0f6f55 Update kovan boot nodes 2017-12-15 15:29:48 +01:00
5chdn
0a808a1ac2 Improve chainspec formatting 2017-12-15 15:29:09 +01:00
Konstantin
bb1e03e9cb new warp enodes (#7287)
* new warp enodes

* added one more warp enode; replaced spaces with tabs
2017-12-15 15:19:06 +01:00
Jaco Greeff
c9865e00a5 CSS fixes for v1 (#7285)
* CSS fixes for v1 (Thanks @ngotchac)

* Remove hack line completely

* Comment around Chrome upgrade
2017-12-15 14:48:10 +01:00
Jaco Greeff
6587dfecc0 Wallet subscriptions & refresh (#7283)
* Update to @parity/api 2.1.7

* Update packages

* Update after signer API alias
2017-12-15 12:48:51 +01:00
GitLab Build Bot
9821fd92e4 [ci skip] js-precompiled 20171214-193220 2017-12-14 19:33:27 +00:00
Jaco Greeff
a4959c8509 Update inject web3 dependencies (#7286)
* Remove wallet web3 dependency

* Update shell web3 dependency
2017-12-14 17:32:59 +01:00
Jaco Greeff
4d28facf5e Some padding around dapp image (#7276) 2017-12-13 14:49:40 +01:00
Jaco Greeff
053c009cdb Expand available middleware methods (#7275)
* Expand available methods

* Updated with expanded groupings
2017-12-13 12:02:31 +01:00
Nicolas Gotchac
82d7fc54b3 Inject parity script to all dapps // Expand dapps to any ZIP file (#7260)
* Inject Parity script to all HTML dapps pages

* Small glitch

* Add injection test

* Add Special GHH commit value for serving ZIP files as DAPPS

* Refactor GithubDapp fetcher

* PR Grumbles
2017-12-13 09:56:35 +03:00
GitLab Build Bot
f3297dd44a [ci skip] js-precompiled 20171212-180737 2017-12-12 18:08:59 +00:00
Amaury Martiny
1851453f00 New Homepage (#7266)
* Purify dappCard style

* Add support for pinning apps

* Add a section to show pinned apps

* Cleaner code

* Bump dependency versions

* Small tweaks

* Avoid double scrollbars

* Small style updates

* Bump parity/shared version
2017-12-12 17:35:21 +01:00
Tomasz Drwięga
c731b5ef62 Update kovan HF block number. (#7259) 2017-12-12 16:03:28 +01:00
Afri Schoedon
0a7f27cb11 CHANGELOG for 1.7.10 and 1.8.4 (#7265)
* Add Changelog for 1.7.10

* Add Changelog for 1.8.4

* Add missing links

* Fix broken link
2017-12-12 15:37:10 +01:00
GitLab Build Bot
140a78fe0b [ci skip] js-precompiled 20171212-132048 2017-12-12 13:21:48 +00:00
Jaco Greeff
777bce8a13 Remove extraneous id hashing (#7269)
* Remove extraenous id hashing

* Update with latest js-shared
2017-12-12 12:09:24 +01:00
Jaco Greeff
11b0cb8da8 Simplify status + content display (#7264) 2017-12-12 11:25:57 +01:00
GitLab Build Bot
50ed1f9d1e [ci skip] js-precompiled 20171211-175904 2017-12-11 18:00:10 +00:00
Jaco Greeff
9202ccccf7 UI redirect to 127.0.0.1 when localhost requested (#7236)
* JS redirect from localhost -> 127.0.0.1

* ui-no-validation for 127.0.0.1

* Update with tests
2017-12-11 16:50:20 +01:00
GitLab Build Bot
0fe018ff68 [ci skip] js-precompiled 20171211-130343 2017-12-11 13:04:38 +00:00
Brennan Novak
b25f93dda5 usability improvements to security token Dialog #7112 (#7134) 2017-12-11 12:59:24 +01:00
Jaco Greeff
16d6f98d7c Don't display unneeded notifications (#7237)
* Cleanup overlay transparency

* Don't display "waiting in signer" messages
2017-12-11 11:05:24 +01:00
André Silva
fcddc7751a Reduce max block timestamp drift to 15 seconds (#7240)
* reduce max block timestamp drift to 15 seconds

* add test for block timestamp validation within allowed drift
2017-12-08 11:43:31 +01:00
Tomasz Drwięga
77ee23bdd0 Increase allowed time drift to 10s. (#7238) 2017-12-08 11:16:20 +01:00
Afri Schoedon
a05c90abb5 Update README.md 2017-12-08 10:32:41 +01:00
Jerome de Tychey
ce390fcd75 improve building from source (#7239)
Lots of people are having trouble building from source and keep up to date. The main reason seems to be that cargo/rustup is hard to work with. The 'abort' panic strategy error is very frustrating and seems to be solved 100% of time with a clean.
 Adding those lines:
 When compiling a crate if you receive this error:
```
error: the crate is compiled with the panic strategy `abort` which is incompatible with this crate's strategy of `unwind`
```
Cleaning the repository will most likely solve the issue, try:
```
cargo clean
```
2017-12-08 10:31:21 +01:00
GitLab Build Bot
92f0db7cd7 [ci skip] js-precompiled 20171207-145246 2017-12-07 14:53:50 +00:00
Amaury Martiny
f6f7a87dc6 Fix/Update method permissions (#7233)
* Use hex everywhere as appId

* Extract requestGroup sub item from clarity

* Change size of icon in SignerPending
2017-12-07 15:10:54 +01:00
Robert Habermeier
3cb4d81eb1 Fix aura difficulty race (#7198)
* Fix Aura difficulty race

* fix test key

* extract out score calculation

* fix build
2017-12-07 12:17:11 +01:00
GitLab Build Bot
aff781b8bb [ci skip] js-precompiled 20171206-171108 2017-12-06 17:12:14 +00:00
Svyatoslav Nikolsky
5d792324e6 Merge branch 'master' into secretstore_kovan 2017-12-06 19:56:54 +03:00
Jaco Greeff
f2b51fe9e0 Dependency updates (#7226)
* Update @parity/ui

* Update deps
2017-12-06 17:29:09 +01:00
GitLab Build Bot
fb0006beee [ci skip] js-precompiled 20171206-162251 2017-12-06 16:23:52 +00:00
Jaco Greeff
fa6156ed01 Display all dapps (shell) & wallet tabs (v1) by default (#7213)
* Display contracts tab by default

* Update packages
2017-12-06 16:40:24 +01:00
Jaco Greeff
b1517654e1 Rework dapps list (#7206)
* Rework dapps list

* Update box sizing

* Remove non-passed-in prop

* PR comments

* Re-adjust key
2017-12-06 15:47:32 +01:00
Ellaismer
dd0fba96a4 Add registrar for ellaism
Provided by @5chdn
2017-12-06 22:46:19 +08:00
Robert Habermeier
f61feb33fd Merge branch 'master' into whisper-testing 2017-12-06 15:23:39 +01:00
Ellaismer
2d3073fc02 Remove compatibility fields to pass chainspec test for Ellaism 2017-12-06 21:01:03 +08:00
Ellaismer
fb073583fe Add ellaism in --chain helper message 2017-12-06 20:51:34 +08:00
Ellaismer
fcd1f72806 Add Ellaism to SpecType 2017-12-06 20:48:32 +08:00
Ellaismer
dcf6e1d83d Add basic Elliasm config 2017-12-06 20:46:24 +08:00
Afri Schoedon
76b143a758 Add contributing guidelines and code of conduct. (#7157)
* Add contributing guidelines to the repository.

* Add code of conduct to the repository.

* Add note on CLA to contributing guidelines.

* Update contribution guideline headings

* Move CoC and ConG to .github

* Fix links

* Remove broken fork link.
2017-12-06 13:15:15 +01:00
GitLab Build Bot
1b898befab [ci skip] js-precompiled 20171206-102728 2017-12-06 10:28:34 +00:00
Amaury Martiny
7d0780d723 Make Signing Requests more visible (#7204)
* Add a signerPending component with popup

* Add text when no requests

* Remove lock icon

* Fix lint

* Create separate component from RequestItem

* Render different types of transaction

* Remove blue View button

* Remove useless code
2017-12-06 10:44:50 +01:00
Tomasz Drwięga
d5c21c9707 Send each log as a separate notifications. (#7175) 2017-12-05 20:14:50 +03:00
Takehiro Miyao
3284020b04 mistake comment in calc difficulty (#7154) 2017-12-05 16:06:04 +01:00
Tomasz Drwięga
7e3872fddc Maximum uncle count transition (#7196)
* Enable delayed maximum_uncle_count activation.

* Fix tests.

* Defer kovan HF.
2017-12-05 15:57:45 +01:00
GitLab Build Bot
e52a7de3f7 [ci skip] js-precompiled 20171205-102703 2017-12-05 10:28:13 +00:00
Jaco Greeff
1291a24e4e Update FirstRun for UI-2 (#7195)
* WIP

* Update after @parity/ui update

* Update to latest

* Update semver for @parity

* Update & -> &amp;
2017-12-05 10:44:34 +01:00
GitLab Build Bot
e08893fcf1 [ci skip] js-precompiled 20171205-084709 2017-12-05 08:48:09 +00:00
Jaco Greeff
63d86b50e0 Update mocha import stubs (#7191)
* Update mocha import stubs

* Add .md files to ignore list
2017-12-05 09:03:30 +01:00
Robert Habermeier
e85c98e09a Merge pull request #7075 from miyao-gmo/feature/estimate_gas_limit
escape inifinite loop in estimte_gas
2017-12-04 15:29:23 +01:00
GitLab Build Bot
e76cec4afc [ci skip] js-precompiled 20171204-115345 2017-12-04 11:54:51 +00:00
Amaury Martiny
83ff213f6c New account selector UI in top bar (#7179)
* Add a dropdown popup for account selector

* Install sui latest version for hideOnScroll bug fix

* Update ui

* Update package-lock after rebase

* Require parity/ui v3.0.3

* Pass accountStore as props

* Require parity/ui v3.0.4
2017-12-04 12:09:08 +01:00
Arkadiy Paronyan
dde6baedec Removed ethcore-util dependency from ethcore-network (#7180)
* Removed ethcore-util dependency

* Removed snappy
2017-12-02 10:08:04 +01:00
Denis S. Soldatov aka General-Beck
c544c3e518 Merge pull request #7147 from paritytech/pwasm-run
WASM test runner utility upgrade
2017-12-01 19:42:28 +03:00
NikVolf
4f12e1dab1 pwasm-run-test utility upgrade 2017-12-01 16:41:09 +03:00
GitLab Build Bot
801b6c4bc8 [ci skip] js-precompiled 20171201-114538 2017-12-01 11:46:30 +00:00
Amaury Martiny
2a7b2c7e32 React 16 (#7174)
* Update packages to use React 16

* Rollback to react-router v3

* Use component instead of pure one

* Remove warning about mobx

* Make webpack load css from @parity/ui

* Update enzyme to support react16

* Fix lint

* Use @parity/ui v3

* Update refs of plugin-signer-* deps

* Exclude plugin-signer-* from babel processing

* Reupdate refs to old method

* Update refs again
2017-12-01 12:30:13 +01:00
Takehiro Miyao
ad01f99c44 upper limit is gas limit * 10 in estimate gas 2017-12-01 11:12:11 +00:00
Tomasz Drwięga
7663451116 Assorted improvements for ethstore and ethkey (#6961)
* Testing many passwords for presale wallet.

* Add multiple threads.

* WiP: ethkey brain wallets recover.

* Refactor pre-sale-wallet cracking.

* Generate in multiple threads. Brain with prefix.

* Validate bain wallet phrase.

* Brain wallet recovery.

* Self-review fixes.

* Fix tests.

* More docs.

* Bump versions.

* Remove cmd_find from borked merge.

* Update wasm submodules.

* Use threadpool.
2017-12-01 11:40:07 +03:00
GitLab Build Bot
d1bf0e0e62 [ci skip] js-precompiled 20171130-103432 2017-11-30 10:35:49 +00:00
Jaco Greeff
2e96ffc582 Delete unused package.json (dist) (#7173) 2017-11-30 11:12:03 +01:00
GitLab Build Bot
3af1e1b3b0 [ci skip] js-precompiled 20171129-172021 2017-11-29 17:21:25 +00:00
Jaco Greeff
a39e210742 Remove *.css.map & *.js.map (#7168) 2017-11-29 18:04:12 +01:00
GitLab Build Bot
538e540dde [ci skip] js-precompiled 20171129-144917 2017-11-29 14:50:14 +00:00
Jaco Greeff
519648eb01 Use git flag to remove old js artifacts (#7165) 2017-11-29 15:33:04 +01:00
GitLab Build Bot
903bbc7912 [ci skip] js-precompiled 20171129-135441 2017-11-29 13:55:41 +00:00
Jaco Greeff
d1d502765b Cleanup JS build artifacts (#7164)
* Cleanup JS build artifacts

* Trigger js & js-old
2017-11-29 14:39:57 +01:00
Robert Jensen
ba89f34751 fixes typo in user config path (#7159) 2017-11-29 11:12:03 +01:00
GitLab Build Bot
33a96f8ffe [ci skip] js-precompiled 20171128-091552 2017-11-28 09:16:45 +00:00
Jaco Greeff
8780fa0d68 Pull in new dapp-{methods,visible} dapps (#7150) 2017-11-28 10:03:03 +01:00
Marek Kotewicz
e8787c1acf Merge pull request #7142 from paritytech/pwasm-run
WASM test runner utility
2017-11-27 10:16:28 +01:00
Sergey Pepyakin
359b4de3ff WASM Remove blockhash error (#7121)
* Remove blockhash error

* Update tests.
2017-11-26 23:18:58 +03:00
NikVolf
13f3113826 pwasm-run-test utility 2017-11-26 00:06:57 +03:00
Marek Kotewicz
68db425fe8 Merge pull request #7067 from sorpaas/patch-1
ECIP-1039: Monetary policy rounding specification
2017-11-24 15:49:33 +01:00
GitLab Build Bot
c32a5353b9 [ci skip] js-precompiled 20171124-134823 2017-11-24 13:49:21 +00:00
Marek Kotewicz
06ff816afb Merge pull request #7129 from paritytech/fix_logger
Fixed `RotatingLogger` after migrating to new arrayvec
2017-11-24 14:31:46 +01:00
Jaco Greeff
6836182a36 Push to correct shell branch (#7135)
* Push to correct shell branch

* Trigger both js & js-old builds
2017-11-24 14:22:37 +01:00
GitLab Build Bot
e802ed04da [ci skip] js-precompiled 20171124-124119 2017-11-24 12:43:00 +00:00
Svyatoslav Nikolsky
9b63d6f63f Merge branch 'master' into secretstore_kovan 2017-11-24 15:42:50 +03:00
Wei Tang
8e89be775c Wrong era used in ECIP1017 test
It is era 49, and should correspond to ECIP1017/ECIP1039's era 50.
2017-11-24 20:17:26 +08:00
debris
9f10fa3c3d Merge branch 'master' into fix_logger 2017-11-24 12:55:33 +01:00
Marek Kotewicz
95d54c4160 Merge pull request #7132 from paritytech/jg-fix-js-skeleton
Update js-precompiled ref, trigger JS build
2017-11-24 12:54:53 +01:00
Wei Tang
bef85fb876 Add test for ECIP1017 at block 250000000 2017-11-24 19:31:48 +08:00
Jaco Greeff
9d3ca6ec10 Update js-precompiled ref, trigger JS build 2017-11-24 12:26:43 +01:00
Svyatoslav Nikolsky
37973f9112 SecretStore: do not update servers set until fully synchronized 2017-11-24 13:21:39 +03:00
Svyatoslav Nikolsky
009e350fc7 SecretStore: ACL checker now requires blockchain to be fully synchronized 2017-11-24 13:17:08 +03:00
Svyatoslav Nikolsky
14686f2652 SecretStore: cli option to configure service contract 2017-11-24 12:33:33 +03:00
Svyatoslav Nikolsky
30816d8155 Merge branch 'master' into secretstore_kovan 2017-11-24 11:04:36 +03:00
Svyatoslav Nikolsky
333e0e1637 SecretStore: publish key only if requested through contract 2017-11-24 10:26:24 +03:00
Svyatoslav Nikolsky
989f2a0542 SecretStore: removed code comments 2017-11-24 10:26:16 +03:00
Svyatoslav Nikolsky
5bd2894146 Fixed build && test (#7128)
* fixed build && test

* fixed rpc tests
2017-11-23 14:47:08 +01:00
Jaco Greeff
53e0e3be14 Update packages, pull in compiled-only repos (#7125)
* Update packages, pull in compiled-only repos

* Update js-precompiled to point to js-dist-paritytech

* Trigger both js & js-old builds to force update

* Update to bring scripts 100% in-sync
2017-11-23 14:29:56 +01:00
Svyatoslav Nikolsky
0f0a056225 fixed RotatingLogger after migrating to new arrayvec 2017-11-23 09:34:48 +03:00
Svyatoslav Nikolsky
c296b8ac5d SecretStore: fixed service contract update 2017-11-23 09:33:27 +03:00
Svyatoslav Nikolsky
498a708df7 fixed warnings 2017-11-23 08:22:51 +03:00
Svyatoslav Nikolsky
6a7f523cdb SecretStore: generation_is_not_retried_if_tried_in_the_same_cycle 2017-11-23 08:07:46 +03:00
Svyatoslav Nikolsky
12e9c1cebc Merge branch 'master' into secretstore_kovan 2017-11-23 07:27:13 +03:00
Svyatoslav Nikolsky
b036624bac SecretStore: key_is_read_and_published_when_processing_restore_server_key_task 2017-11-23 07:26:45 +03:00
Svyatoslav Nikolsky
ea9c8a174c SecretStore: started adding tests for ServiceContractListener 2017-11-22 17:31:34 +03:00
GitLab Build Bot
d793019607 [ci skip] js-precompiled 20171122-140247 2017-11-22 14:12:43 +00:00
Jaco Greeff
cebf493dce Cleanup top bar, add Home icon for navigation (#7118)
* Localise images to config.js file

* Remove sample status plugin (commented)

* Update image references from config

* Remove Unknown capability & Capable (only display actions)

* Update to @parity/ui 2.2.14

* Add Home icon on statusbar (go back)

* 2.2.14 -> 2.2.x

* Builtin dapp icons where dappreg not available
2017-11-22 14:56:12 +01:00
Svyatoslav Nikolsky
5d6abfe2f5 SecretStore: implemented restore_server_key 2017-11-22 11:51:51 +03:00
Svyatoslav Nikolsky
a2c12ab13e SecretStore: fixed warnings 2017-11-22 11:47:15 +03:00
Svyatoslav Nikolsky
85e150dbb5 SecretStore: restore server key 2017-11-22 11:43:01 +03:00
Svyatoslav Nikolsky
7da66c24f0 SecretStore: store joint_public in key_storage 2017-11-22 11:09:48 +03:00
Svyatoslav Nikolsky
df3a8a9234 SecretStore: default ClusterSessionsListener impl 2017-11-22 10:43:16 +03:00
Svyatoslav Nikolsky
fc7f3433b7 SecretStore: removed obsolete traits 2017-11-22 10:21:14 +03:00
Svyatoslav Nikolsky
5a7e065e41 SecretStore: Kovan flush3 2017-11-22 10:05:14 +03:00
Marek Kotewicz
a2c48deab5 Merge pull request #7110 from paritytech/remove-storage-error
WASM storage_read and storage_write don't return anything
2017-11-21 20:43:23 +01:00
Marek Kotewicz
309254348b Merge pull request #7100 from paritytech/jg-dapp-localUrl
Local dapp development URL
2017-11-21 20:42:51 +01:00
GitLab Build Bot
d160feeefd [ci skip] js-precompiled 20171121-164807 2017-11-21 17:04:16 +00:00
Jaco Greeff
fcee1c0ac8 Remove unused and duplicated files in js-old (#7082)
* Cleanup v1 build process, application-only

* Remove built-in dapps from build (duplicated)

* User @parity/api instead of local version

* Update references to @parity/abi

* Remove unused js-old api/abi folders

* Remove duplicated v1 jsonrpc

* Cleanup unused routes

* Update manifest with wallet image

* Update wallet logo

* Re-add missing test.sh

* Update rpc mocks

* Update tests for Providers

* Use flex for iframe & status

* Additional cleanups (Home screen for embed)

* Keep statusbar fixed (and non-overallping with dapps)
2017-11-21 17:38:06 +01:00
GitLab Build Bot
bc17c61d14 [ci skip] js-precompiled 20171121-150329 2017-11-21 15:14:37 +00:00
Amaury Martiny
570fc56af7 Optimize & group dapp requests (#7083)
* Group similar methods in same grouping

* Add a shell_getMethodGroups API

* Small code clean changes

* Fix bug dapp.name not showing

* Additional error handling

* Store sources in own map

* Remove observable variables where not needed

* Refactor code and fix bug dapp not showing on approve
2017-11-21 15:50:38 +01:00
Jaco Greeff
e7543f656a Remove debug log 2017-11-21 15:17:05 +01:00
Jaco Greeff
20f8943eb3 Cleanup debug info 2017-11-21 15:04:47 +01:00
Sergey Pepyakin
3716b09b2e Update wasm-tests 2017-11-21 17:03:14 +03:00
Sergey Pepyakin
66b2db0137 Update gas values 2017-11-21 17:03:14 +03:00
Sergey Pepyakin
7564b05572 Make storage_read/write return nothing 2017-11-21 17:03:13 +03:00
Jaco Greeff
17df58b767 Add localUrl to serialization 2017-11-21 15:02:54 +01:00
Marek Kotewicz
2650154cd7 Merge pull request #7097 from paritytech/panic-payload-with-msg
WASM parse payload from panics
2017-11-21 15:01:32 +01:00
Sergey Pepyakin
3e4e00fc6a spaces to tabs. 2017-11-21 15:39:34 +03:00
Marek Kotewicz
ab7307288b Merge pull request #7096 from paritytech/td-nodef-features
Fix no-default-features.
2017-11-21 13:10:57 +01:00
Jaco Greeff
e67b05e632 Use query-string for search parsing 2017-11-21 12:31:34 +01:00
Robert Habermeier
d105bc272e Merge pull request #7090 from paritytech/updated-secp256k1
updated eth-secp256k1
2017-11-20 22:36:30 +01:00
Svyatoslav Nikolsky
76e693240d fix after merge 2017-11-20 20:02:03 +03:00
Svyatoslav Nikolsky
b5fad300ba Merge branch 'master' into secretstore_kovan 2017-11-20 19:58:01 +03:00
Svyatoslav Nikolsky
af409eba07 SecretSTore: fix after merge from secretstore_kovan_1_8 2017-11-20 19:41:53 +03:00
Svyatoslav Nikolsky
32edb33608 removed some TODOs 2017-11-20 19:03:48 +03:00
Svyatoslav Nikolsky
01d6532875 SecretStore: fixed Ordering 2017-11-20 19:03:39 +03:00
Svyatoslav Nikolsky
3945a29ee6 SecretStore: mapping requests to KeyServer + requests retry 2017-11-20 19:03:31 +03:00
Svyatoslav Nikolsky
6618827d1a SecretStore: cleaning up service contract listener 2017-11-20 19:03:22 +03:00
Svyatoslav Nikolsky
56875a83b3 SecretStore: Kovan flush2 2017-11-20 19:03:06 +03:00
Nikolay Volf
9798e3c45a Update panic_payload.rs 2017-11-20 18:12:31 +03:00
Jaco Greeff
73dcde65aa localUrl only from manifest 2017-11-20 15:11:12 +01:00
Jaco Greeff
ac722e9e50 Add appId as needed to local dapps 2017-11-20 13:37:52 +01:00
Jaco Greeff
d8e86cfe0a Add to all icon_url places 2017-11-20 13:37:23 +01:00
Kirill Pimenov
8d06e19b70 Merge pull request #7099 from paritytech/a5-docs-gitemplates
Improve Github Issue Template
2017-11-20 13:25:18 +01:00
5chdn
3d68051a1f Remove seperator that causes issue descriptions to become headlines sometimes 2017-11-20 13:23:44 +01:00
5chdn
5a20a826c4 Improve Github Issue Template: IT CROWD approved version. 2017-11-20 13:07:53 +01:00
Jaco Greeff
6fe361b382 Allow localUrl in manifest 2017-11-20 12:05:03 +01:00
Sergey Pepyakin
3d0616c1ae Parse payload from panic
Impl payload

empty str is none

Update tests

Clean

Update wasm-tests
2017-11-20 13:09:57 +03:00
Tomasz Drwięga
4f5d73c945 Fix no-default-features. 2017-11-20 11:02:48 +01:00
debris
7dc7a673f0 updated eth-secp256k1 2017-11-18 22:14:57 +00:00
Robert Habermeier
4a6b103f0e Merge pull request #7020 from paritytech/upload-crates
Changes necessary to upload crates to crates.io
2017-11-18 16:22:21 +01:00
Robert Habermeier
6fabb56104 fix tests on patricia-trie 2017-11-17 17:12:12 +01:00
Robert Habermeier
81212c5031 Merge branch 'master' into upload-crates 2017-11-17 16:42:41 +01:00
Marek Kotewicz
3c82a0d162 Merge pull request #7048 from paritytech/efyang
reopened 6860 - iterate over both buffered and unbuffered database entries
2017-11-16 17:49:02 +01:00
Svyatoslav Nikolsky
e16f6fb9d9 SecretStore: servers set change session api (#6925)
* SecretStore: first key versions flush

* SecretStore: key versions in encryption session

* SecretStore: flush key versions negotiation session

* SecretStore: connected key version negotiation session to cluster

* SecretStore: cluster sessions container refactoring

* SecretStore: flush

* SecretStore: flush key versions

* SecretStore: flush

* SecretStore: delegation proto

* SecretStore: decryption_session_is_delegated_when_node_does_not_have_key_share

* SecretStore: fixed version in decryption session

* SecretStore: signing_session_is_delegated_when_node_does_not_have_key_share

* SecretStore: started restoring admin sessions

* SecretStore: restoring admin sessions

* SecretStore: removed obsolete ShareRemove && ShareMove sessions

* SecretStore: ShareAdd math tests only require old_t+1 nodes

* SecretStore: ShareAdd revamp using new math backend

* SecretStore: do not include isolated nodes into consensus_group

* SecretStore: ServersSetChange + ShareAdd revamp

* removed debug printlns

* SecretStore: key version negotiation tests

* SecretStore: removed debug/merge artifacts

* SecretStore: fixed master node selection

* SecretStore: cleanup + tests + fixes

* SecretStore: uncommented tests

* SecretStore: cleaning up

* SecretStore: cleaning up + tests

* SecretStore: cleaning up

* SecretStore: cleaning up && tests

* SecretStore: fixing TODOs

* SecretStore: fixing TODOs + cleanup

* SecretStore: fixing TODOs

* SecretStore: nodes_add_to_the_node_with_obsolete_version

* SecretStore: nodes_add_fails_when_not_enough_share_owners_are_connected

* SecretStore: tests

* SecretStore: signing && delegation tests

* SecretStore: signing && decryption tests when some nodes are isolated

* SecretStore: sessions_are_removed_when_initialization_fails

* SecretStore: ceaning up

* SecretStore: removed obsolete comments

* SecretStore: signing_session_completes_if_node_does_not_have_a_share

* SecretStore: initial ServersSetChange API

* SecretStore: added secretstore_signServersSet RPC

* SecretStore: ChangeServersSet parse tests

* SecretStore: fixes after manual ServersSetChange tests

* lost file

* fixed network ports overlap in tests

* lost files
2017-11-16 17:34:23 +01:00
Wei Tang
b35cc3f716 Change reward calculation to only use divide once 2017-11-16 12:34:04 +08:00
Wei Tang
2ca57d7cdb ECIP-1039: Monetary policy rounding specification
Fix potential rounding errors between geth and parity in the long-term future.
2017-11-16 12:25:05 +08:00
Marek Kotewicz
605cd5cd9f Merge pull request #7006 from paritytech/no-uncles
Disable uncles by default
2017-11-15 23:51:49 +01:00
Marek Kotewicz
0230a44b15 Merge pull request #7040 from paritytech/squashed_network_error_chain
squashed ethcore-network changes which introduce error-chain
2017-11-15 18:18:25 +01:00
Marek Kotewicz
fdc045327a Merge pull request #7057 from paritytech/dep_cleanup
removed redundant imports
2017-11-15 18:14:04 +01:00
GitLab Build Bot
a98652bef6 [ci skip] js-precompiled 20171115-103846 2017-11-15 10:50:45 +00:00
Afri Schoedon
95d3741e32 CHANGELOG for 1.7.8, 1.7.9, 1.8.2, and 1.8.3 (#7055)
* Update changelog for 1.7.8 stable

* Update changelog for 1.7.9 stable

* Improve wording in Changelog

* Update changelog for 1.8.2 beta

* Update changelog for 1.8.3 beta
2017-11-15 11:29:07 +01:00
Jaco Greeff
0bf48e94cc Properly display Signer errors (Snackbar display popup) (#7053)
* Update to fixed @parity/ui (Errors component)

* Update ParityBar radius to align with Snackbar/Errors

* Update to latest @parity/ui

* Update dependencies @parity/signer-plugin-*

* Really pull in @parity/signer-plugin-* deps
2017-11-15 11:28:42 +01:00
Denis S. Soldatov aka General-Beck
cab5b09591 update icon for desktop 2017-11-14 22:45:14 +03:00
Denis S. Soldatov aka General-Beck
920e4ae1e2 Merge pull request #7059 from elopio/snap-desktopfile
Add the desktop file for the snap
2017-11-14 22:43:59 +03:00
Leo Arias
4dd3097493 Add the desktop file for the snap
Now that we have added plugs to allow accessing the display, the snap needs
a desktop file. And bonus point, it will appear on the menu when it's
installed, and once you make a stable relase, it will appear in the gnome
software center app! So, one-click install for parity :)

Closes: #7056
2017-11-14 19:30:35 +00:00
debris
a22c48b6b0 removed redundant imports 2017-11-14 17:47:41 +01:00
Marek Kotewicz
e6048e4a34 Merge pull request #7054 from paritytech/allocate_with_zeroes
Small performance gain in allocations
2017-11-14 15:48:11 +01:00
Marek Kotewicz
5a76d35ca8 Merge pull request #7051 from paritytech/td-jsonrpc-bump
Bump JSON-RPC version
2017-11-14 15:43:26 +01:00
Marek Kotewicz
dd7177dbb2 Merge pull request #7025 from paritytech/fix-nonce-reservation
Fix nonce reservation
2017-11-14 13:44:52 +01:00
Marek Kotewicz
cc184d5206 Merge pull request #7052 from paritytech/fix_ethstore_cli_output
Fixed ethstore-cli output
2017-11-14 13:44:11 +01:00
debris
4d7c31540e static linking for snappy 2017-11-14 13:20:36 +01:00
Kirill Pimenov
6ddabc0f49 Small performance gain in allocations
As measured in
https://gist.github.com/kirushik/e0d93759b0cd102f814408595c20a9d0,
it's much faster not to iterate over zeroes, and just allocate a
contiguous array of zeroes directly.
2017-11-14 13:06:50 +01:00
debris
57720311ad interleaved-ordered 0.1.1 2017-11-14 12:59:01 +01:00
Svyatoslav Nikolsky
7ed2fa8451 fixed ethstore-cli output 2017-11-14 14:33:05 +03:00
Svyatoslav Nikolsky
abfb9fccd3 SecretStore: Kovan integration initial commit 2017-11-14 14:26:31 +03:00
Tomasz Drwięga
f7fa9f6e9d Drop jsonrpc_core::Error 2017-11-14 12:17:48 +01:00
Tomasz Drwięga
7e512c637a Bump version. 2017-11-13 22:52:25 +01:00
GitLab Build Bot
361debd277 [ci skip] js-precompiled 20171113-174651 2017-11-13 18:03:28 +00:00
Jaco Greeff
2e6cf8e04b Add mui for embed compilation (#7049) 2017-11-13 18:34:51 +01:00
Denis S. Soldatov aka General-Beck
dbd64f13f0 Merge pull request #6993 from elopio/snapcraft-df
Update the snap metadata to keep working strictly confined
2017-11-13 19:23:04 +03:00
Tomasz Drwięga
8b85f648ca HashMap::retain 2017-11-13 17:09:30 +01:00
debris
b85369d6e8 Merge branch 'master' of https://github.com/efyang/parity into efyang 2017-11-13 17:06:44 +01:00
Jaco Greeff
0f92856c3f Remove unused js packages (dapp cleanups) (#7046) 2017-11-13 16:51:57 +01:00
debris
3cf52dac59 use error-chain in ethcore-network 2017-11-13 16:48:58 +01:00
Jaco Greeff
b5fc6419e6 Gitlog location update (#7042)
* Move git logging to .git-release.log

* Update gitlog location
2017-11-13 15:16:35 +01:00
Jaco Greeff
a0090dd0d8 Move git logging to .git-release.log (#7041) 2017-11-13 14:51:36 +01:00
Jaco Greeff
af35fa1e33 Start from rust root in update step (#7039) 2017-11-13 14:20:43 +01:00
Jaco Greeff
3833f87256 Complete token merge, remove unused files (#7037)
* Either js or js-old to have changes to trigger push-cargo

* Complete merge of token changes (code move to js-shared)

* Update setting variable
2017-11-13 13:44:51 +01:00
Jaco Greeff
b9fbe52f32 Add missing script variable (#7036) 2017-11-13 13:11:32 +01:00
Amaury Martiny
93e93a50ce Fix npm start script (#7034) 2017-11-13 12:46:11 +01:00
Jaco Greeff
073b4dacfb Update executable flags on release scripts (#7035)
* Combine cargo updates into one

* Update log tag

* Update executable flags on release scripts
2017-11-13 12:36:48 +01:00
Jaco Greeff
0f2bfda830 Fix v1 precompiled (#7033)
* Combine cargo updates into one

* Update log tag
2017-11-13 11:52:34 +01:00
GitLab Build Bot
399043d37e [ci skip] js-precompiled 20171113-100719 2017-11-13 10:19:26 +00:00
Jaco Greeff
1749dd8d6c Push precompiled to correct branch (v1) (#7031) 2017-11-13 10:43:12 +01:00
GitLab Build Bot
6997ddda89 [ci skip] js-precompiled 20171113-091450 2017-11-13 09:27:11 +00:00
GitLab Build Bot
7fed79295d [ci skip] js-precompiled 20171113-084613 2017-11-13 08:57:55 +00:00
Jaco Greeff
ce1609726f Update v1 Wallet Dapp (#6935)
* Start removing duplicated functionality (v1 inside v2)

* Update compilation targets

* Update locks

* Fix js-old build

* Update with removed extra references

* Adapt dev.{parity,web3}.html for extra debug info

* Update dependencies

* Remove Tooltips

* Update dependencies

* Only inject window.ethereum once

* Fix versions to 2.0.x for @parity libraries

* Update to @parity/api 2.1.x

* Update for @parity/api 2.1.x

* Freeze signer plugin dependency hashes

* Fix lint

* Move local account handling from API

* Update for 2.2.x @parity/{shared,ui}

* Update API references for middleware

* Install updated dependencies

* Update for build

* Always do local builds for development

* Remove unused hasAccounts property

* Fix Windows build for js-old

* Adjust inclusing rules to be Windows friendly

* Explicitly add --config option to webpack

* Add process.env.EMBED flag for Windows compatability

* Revert embed flag

* Fix build

* Merge changes from beta

* Update packages after merge

* Update Accounts from beta

* Update with beta

* Remove upgrade check

* Fix CI build script execution

* Make rm -rf commands cross-platform

* Remove ability to deploy wallets (only watch)

* Update path references for js-old (Windows)

* Render local dapps first

* Cleanup dependencies
2017-11-13 09:31:08 +01:00
Sergey Pepyakin
bcdfc50a0b pwasm-std update (#7018) 2017-11-13 00:21:15 +03:00
Tomasz Drwięga
72907da2ae Garbage collect hashmap entries. 2017-11-12 12:50:13 +01:00
Robert Habermeier
c4466f450b update patricia-trie cargo.toml 2017-11-10 20:26:19 +01:00
Robert Habermeier
cffbf3cab1 update rlp 2017-11-10 20:22:45 +01:00
Robert Habermeier
75cfab8559 update memorydb 2017-11-10 20:17:41 +01:00
Robert Habermeier
ec5519ccd1 rename hash crate to keccak-hash 2017-11-10 20:08:28 +01:00
Robert Habermeier
5c8f39c3bd update ethcore-bigint version 2017-11-10 18:50:45 +01:00
Robert Habermeier
5423518e1e update bigint version number 2017-11-10 18:43:18 +01:00
Robert Habermeier
2288bcd1b4 Merge branch 'master' of github.com:paritytech/parity into upload-crates 2017-11-10 18:42:18 +01:00
Robert Habermeier
be092e7c09 prepare cargo configuration for upload of crates 2017-11-10 18:31:31 +01:00
Nicolas Gotchac
8c6b89df72 Merge branch 'master' into fix-nonce-reservation 2017-11-10 17:36:12 +01:00
Nicolas Gotchac
15c97336a4 Create hashmap in RPC Apis 2017-11-10 17:11:04 +01:00
Alexey
df49b4b065 Merge pull request #6967 from paritytech/wasm-elog
Events in WASM runtime
2017-11-10 18:03:32 +03:00
Marek Kotewicz
e13204c5c8 Merge pull request #6970 from paritytech/validate_node_url
Adds validate_node_url() and refactors boot node check (#6907)
2017-11-10 15:39:30 +01:00
Marek Kotewicz
dd87b3014b Merge pull request #7016 from paritytech/td-glue
Fix windows build (with ui rebuild)
2017-11-10 15:32:48 +01:00
Tomasz Drwięga
dd35c9b1f7 Bump parity-dapps-glue. 2017-11-10 10:58:56 +01:00
Tomasz Drwięga
f0fc8ed5f8 Rimraf. 2017-11-10 10:50:23 +01:00
Tomasz Drwięga
6ab03412ea Fix js-glue. 2017-11-10 10:23:35 +01:00
keorn
261c0d5368 no default uncles 2017-11-09 23:56:02 +00:00
Office-Julia
73d195ab79 Update CHANGELOG-1.7.md 2017-11-10 03:13:09 +07:00
Office-Julia
5977e36687 Update CHANGELOG-1.7.md 2017-11-10 03:05:07 +07:00
Nicolas Gotchac
4c8780f188 Use nonce reservation per address 2017-11-09 19:49:34 +01:00
Robert Habermeier
ea6e79c9c2 test framework and basic test for whisper 2017-11-09 19:20:32 +01:00
Kirill Pimenov
394d6e7259 Merge pull request #7004 from paritytech/cli-arguments-backwards-compatible
Make CLI arguments parsing more backwards compatible
2017-11-09 14:42:17 +01:00
Tomasz Drwięga
aaeb5d4cd7 Fixes for parity-extension (#6990)
* Fix extension support.

* Fix environment variables on windows.

* Fix package-lock.json

* Fix build issues.
2017-11-09 13:20:26 +01:00
Axel Chalon
83e2fa3112 Make CLI arguments parsing more backwards compatible 2017-11-08 12:33:56 +01:00
Robert Habermeier
b3795ac0b5 Merge pull request #6992 from paritytech/td-bigint
Update ethcore-bigint
2017-11-07 11:24:05 -06:00
Robert Habermeier
d701ed7262 Merge pull request #6874 from paritytech/light-local-tx
Get local transactions by hash in the light client
2017-11-07 11:23:40 -06:00
Robert Habermeier
099303a342 Merge pull request #6875 from paritytech/warn-blacklisted
warn when blacklisted account present in store
2017-11-07 11:23:20 -06:00
Robert Habermeier
acdec22d58 Merge branch 'master' into warn-blacklisted 2017-11-07 16:56:57 +01:00
Robert Habermeier
4a07010539 Merge branch 'master' into light-local-tx 2017-11-07 16:56:28 +01:00
Arkadiy Paronyan
85465fc0b1 Skip nonce check for gas estimation (#6997) 2017-11-07 09:21:30 +01:00
Tomasz Drwięga
bd04517477 Update. 2017-11-06 16:31:15 +01:00
Leo Arias
6a0e8a557c Update the snap metadata to keep working strictly confined 2017-11-06 14:03:45 +00:00
Tomasz Drwięga
2557f282a4 Add std feature. 2017-11-06 12:52:38 +01:00
Tomasz Drwięga
0ed1e77996 Add version to plain-hasher. 2017-11-06 12:03:59 +01:00
Tomasz Drwięga
d7e4dda3e1 Update ethcore-bigint. 2017-11-06 11:58:17 +01:00
Dmitry Kashitsyn
8fe40a64d0 Fixes test 2017-11-06 13:51:26 +07:00
Dmitry Kashitsyn
851401dded Removes obsolete is_valid_node_url() 2017-11-06 13:01:37 +07:00
Dmitry Kashitsyn
1516fc1c57 Adds validate_node_url() and refactors boot node check (#6907) 2017-11-06 12:46:11 +07:00
NikVolf
bed82e5cc0 elog (events) for wasm runtime 2017-11-05 18:54:35 +03:00
Tomasz Drwięga
ffee6aacff Creating pending block with all transactions from the queue (#6942)
* Allow to include all queue transactions in pending block.

* Fix tests.
2017-11-03 15:20:20 +01:00
Dmitry Kashitsyn
7eacef99b9 Removes MAX_TX_TO_IMPORT from ChainSync (#6976) 2017-11-03 13:09:59 +01:00
Svyatoslav Nikolsky
7703cd226b SecretStore: versioned keys (#6910)
* SecretStore: first key versions flush

* SecretStore: key versions in encryption session

* SecretStore: flush key versions negotiation session

* SecretStore: connected key version negotiation session to cluster

* SecretStore: cluster sessions container refactoring

* SecretStore: flush

* SecretStore: flush key versions

* SecretStore: flush

* SecretStore: delegation proto

* SecretStore: decryption_session_is_delegated_when_node_does_not_have_key_share

* SecretStore: fixed version in decryption session

* SecretStore: signing_session_is_delegated_when_node_does_not_have_key_share

* SecretStore: started restoring admin sessions

* SecretStore: restoring admin sessions

* SecretStore: removed obsolete ShareRemove && ShareMove sessions

* SecretStore: ShareAdd math tests only require old_t+1 nodes

* SecretStore: ShareAdd revamp using new math backend

* SecretStore: do not include isolated nodes into consensus_group

* SecretStore: ServersSetChange + ShareAdd revamp

* removed debug printlns

* SecretStore: key version negotiation tests

* SecretStore: removed debug/merge artifacts

* SecretStore: fixed master node selection

* SecretStore: cleanup + tests + fixes

* SecretStore: uncommented tests

* SecretStore: cleaning up

* SecretStore: cleaning up + tests

* SecretStore: cleaning up

* SecretStore: cleaning up && tests

* SecretStore: fixing TODOs

* SecretStore: fixing TODOs + cleanup

* SecretStore: fixing TODOs

* SecretStore: nodes_add_to_the_node_with_obsolete_version

* SecretStore: nodes_add_fails_when_not_enough_share_owners_are_connected

* SecretStore: tests

* SecretStore: signing && delegation tests

* SecretStore: signing && decryption tests when some nodes are isolated

* SecretStore: sessions_are_removed_when_initialization_fails

* SecretStore: ceaning up

* SecretStore: removed obsolete comments

* SecretStore: signing_session_completes_if_node_does_not_have_a_share
2017-11-02 15:33:11 +01:00
Dmitry Kashitsyn
713bba00ac Removes FUTURE_QUEUE_LIMITS_SHIFT (#6962) 2017-11-02 15:06:17 +01:00
Arkadiy Paronyan
60bb2d9c74 Set zero nonce and gasprice for calls by default (#6954) 2017-11-02 12:50:08 +01:00
Nikolay Volf
f72858ee0a Add hint in ActionParams for splitting code/data (#6957)
* Action params and embedded params handling

* fix namespaces
2017-11-02 12:49:57 +01:00
Tomasz Drwięga
0a69d5ac4c Return decoded seal fields. (#6932) 2017-11-01 11:29:03 +01:00
Tomasz Drwięga
ec44e3d265 Fix serialization of status in transaction receipts. (#6926) 2017-11-01 11:25:10 +01:00
Tomasz Drwięga
b861ad37a4 Reserve nonces for signing (#6834)
* Nonce future - reserve and dispatch

* Single thread nonce tests

* Track status of reserved nonces.

* Initialization of nonce reservations.

* Prospective Signer

* Fix cli tests.
2017-11-01 11:23:18 +01:00
Kirill Pimenov
4b3c26f991 Merge pull request #6921 from paritytech/windows-fixes
Windows fixes
2017-11-01 11:06:03 +01:00
GitLab Build Bot
d525d1e8a7 [ci skip] js-precompiled 20171030-184948 2017-10-30 19:03:18 +00:00
Jaco Greeff
152e56c5d9 Don't add {css,js}.map from dapps (#6931) 2017-10-30 14:36:37 +01:00
arkpar
38652bd296 Restored rust-toolchain 2017-10-30 08:05:44 +01:00
Marek Kotewicz
39e27076ad Merge pull request #6842 from paritytech/td-evm-json
Fix JSON tracing for sub-calls.
2017-10-29 21:47:14 -07:00
arkpar
4c101c974d Tray app fixes 2017-10-29 14:43:44 +01:00
arkpar
719f3788e6 Installer fixes 2017-10-29 14:42:37 +01:00
arkpar
4b6036fa08 Updated icon 2017-10-29 14:42:37 +01:00
arkpar
4b56f2530d Don't create IPC dir on windows 2017-10-29 14:42:37 +01:00
efyang
9b4db8b4f0 Fix iterator issues 2017-10-28 16:59:00 -05:00
GitLab Build Bot
44511f9254 [ci skip] js-precompiled 20171026-173947 2017-10-26 17:51:21 +00:00
GitLab Build Bot
0abc2b1374 [ci skip] js-precompiled 20171025-172424 2017-10-25 17:37:10 +00:00
Jaco Greeff
f282823e78 Shell updates (bonds, updated Dapps) (#6897)
* Remove stage-0

* Re-add stage-0 for `export default from './xyz';`

* Add background loading image

* Add window.isParity for parity-specific actions

* inject bonds (temporary)

* Remove loading text overlay

* Remove background around logo

* Remove debug log

* Fix account selection (correct component used)

* Update with changed dapp dependencies

* Add oo7 to list of babel node_module targets

* injectObjects -> onDappLoad
2017-10-25 16:54:41 +02:00
Nicolas Ochem
542cee9ace fix #6228: do not display eth price in cli for etc (#6877)
* fix #6228: do not display eth price in cli for etc

Current behaviour:

When the client is started with defaults, the miner's gas calibrator
periodically queries the price of ether in usd and uses it to adjust
the wei_per_gas variable, displaying an info message in the cli each
time calibration happens. The info message mentions the price of ETH.

When started with the --min-gas-price option, the calibrator is inactive
and the price is not displayed.

Problem:

When running on an alternate chain such as ethereum classic, the info
message mentioning the ETH price is present, unless the --min-gas-price
option is used.

Solution:

if chain != foundation and --min-gas-price is not set,
don't use GasPricerConfig::Calibrated as default but rather fix
the minimum gas price to zero.

* self.chain() returns ChainType.

* match chain based on SpecType
2017-10-25 11:42:48 +02:00
Nicolas Ochem
54b14001fa fix mining help (#6885)
was
        --min-gas-price=[STRING]
	                Minimum amount of Wei per GAS to be paid for a
			transaction to be accepted for mining. Overrides
			--basic-tx-usd.

Issue: --basic-tx-usd does not exist. Author probably meant
--usd-per-tx.

New:
        --min-gas-price=[STRING]
	                Minimum amount of Wei per GAS to be paid for a
			transaction to be accepted for mining. Overrides
			--usd-per-tx.
2017-10-25 11:38:47 +02:00
Tomasz Drwięga
8dfdebc2a2 Refactor static context check in CREATE. (#6886)
* Refactor static context check in CREATE.

* Fix wasm.
2017-10-25 11:27:18 +02:00
GitLab Build Bot
b50ed887c7 [ci skip] js-precompiled 20171024-132828 2017-10-24 13:48:32 +00:00
David Dorgan
bdf1e6afcc Revert "Sync parity-ewf with parity"
This reverts commit f7ba063b22.
2017-10-24 13:31:58 +01:00
David Dorgan
f7ba063b22 Sync parity-ewf with parity 2017-10-24 12:31:50 +01:00
Tomasz Drwięga
dfccc3fb04 Allow force sealing and reseal=0 for non-dev chains. (#6878) 2017-10-24 12:25:34 +02:00
Tomasz Drwięga
b98150526c Fix serialization of non-localized transactions (#6868)
* Fix serialization of non-localized transactions.

* Return proper SignedTransactions representation.
2017-10-24 12:13:00 +02:00
Marek Kotewicz
d68b3f131d updated ntp to version 0.3 (#6854) 2017-10-24 12:12:15 +02:00
Afri Schoedon
f68cb37efb Align README with 1.8 and prepare CHANGELOG with 1.8.1 (#6833)
* Update README.md for 1.8.0

* Update CHANGELOG.md for 1.8.1

* Clarify note on trezor wallets

* Update CHANGELOG.md for 1.8.1

* Update CHANGELOG.md for 1.8.1

* Update CHANGELOG.md for 1.8.1

* Fix Typos.
2017-10-24 12:01:35 +02:00
Tomasz Drwięga
025244e8b2 Return error on timed unlock attempt. (#6777) 2017-10-24 11:57:55 +02:00
Tomasz Drwięga
1253a5c577 Merge branch 'master' into td-evm-json 2017-10-24 09:16:51 +02:00
Robert Habermeier
dd13526f6c warn when blacklisted account present in store 2017-10-24 09:04:28 +02:00
Robert Habermeier
965dff3d32 light: get local transactions by hash 2017-10-24 07:30:53 +02:00
Marek Kotewicz
3e5d9b92c1 Merge pull request #6866 from paritytech/td-fix-dapps-tests
Fix dapps tests in master
2017-10-24 11:31:14 +07:00
Tomasz Drwięga
dd21e61371 Fix ws tests. 2017-10-23 23:52:50 +02:00
Tomasz Drwięga
42e23a9633 Return proper SignedTransactions representation. 2017-10-23 16:45:06 +02:00
Tomasz Drwięga
4ba2587226 Fix serialization of non-localized transactions. 2017-10-23 14:46:36 +02:00
Tomasz Drwięga
5f5476ceb8 Fix parsing of non-utf8 characters. 2017-10-23 14:02:53 +02:00
efyang
56b6adec68 Iterate over both buffered and unbuffered database entries 2017-10-22 20:58:06 -05:00
Arkadiy Paronyan
097815cb71 Ethstore optimizations (#6827) 2017-10-20 20:20:41 +02:00
Tomasz Drwięga
1177c39772 Merge branch 'master' into td-evm-json 2017-10-20 16:06:44 +02:00
Tomasz Drwięga
2d222a5920 Capture traces and write some tests. 2017-10-20 16:06:36 +02:00
Tomasz Drwięga
4ac406da6b Merge branch 'master' into td-evm-json 2017-10-20 13:36:45 +02:00
GitLab Build Bot
f4c9524eb4 [ci skip] js-precompiled 20171020-105109 2017-10-20 11:04:41 +00:00
ia
bbe9d73e9a Add ECIP1017 to Morden config (#6810)
* Add ECIP1017 setting to Morden config

* Convert spaces to tabs

* Update Morden bootnodes to match Geth
2017-10-20 12:37:37 +02:00
Jaco Greeff
9ca294740d Remove all package publishing to npm (#6838) 2017-10-20 12:16:26 +02:00
Marek Kotewicz
9228ce4bae util crates use tempdir crate instead of devtools to create temp path (#6807)
* use tempdir instead of devtools in kvdb-rocksdb

* use tempdir instead of devtools in migration

* use tempdir instead of devtools in ethcore-network

* fixed wrong merge
2017-10-20 12:11:34 +02:00
Jaco Greeff
7b14907f7f Trigger build (#6836) 2017-10-20 11:51:37 +02:00
Tomasz Drwięga
aa929fe6ae Clean-up scripts. (#6832) 2017-10-20 11:41:11 +02:00
Arkadiy Paronyan
3a01068747 Merge pull request #6829 from paritytech/tweak-snapshot-sync
Tweaked snapshot sync threshold
2017-10-20 08:18:25 +02:00
arkpar
3ea9d80859 Tweaked snapshot sync threshold 2017-10-19 23:11:38 +02:00
Arkadiy Paronyan
41eabfcc1e Merge pull request #6819 from paritytech/td-ui-2
Integrate UI 2
2017-10-19 22:09:13 +02:00
Tomasz Drwięga
bfcf4c4281 Merge branch 'master' into td-ui-2 2017-10-19 15:46:15 +02:00
GitLab Build Bot
58db82dbe2 [ci skip] js-precompiled 20171019-130316 2017-10-19 13:08:11 +00:00
Arkadiy Paronyan
b4c4fddb10 devp2p snappy compression (#6683) 2017-10-19 14:41:10 +02:00
Jaco Greeff
fdbf6bf7d6 Refresh cached tokens based on registry info & random balances (#6818)
* Refresh cached tokens based on registry info & random balances

* Don't display errored token images
2017-10-19 14:18:21 +02:00
Tomasz Drwięga
490f771faf Fix tests. 2017-10-19 12:02:13 +02:00
Fredrik Harrysson
c1288810c6 Change keypath derivation logic (#6815)
While the standard defined by Trezor as the default derivation path here
https://blog.trezor.io/trezor-integration-with-myetherwallet-3e217a652e08
says that it should be `m/44'/60'/0`, in practice they don't have an
implementation of a wallet for Ethereum themselves and refer customers
to MEW.

MEW has a custom implementation of the path derivation logic that allows them to
generate multiple addresses by essentially adding `/0`, `/1` etc to the path.

In my initial implementation of Trezor I didn't take this into
consideration unfortunately and just used the keypath that Trezor
themselves recommended. However, given that it's seemingly standard
practice to append `/0` for a "sub-address" (and this is what we've done
for Ledger as well) it seems like a mistake on my part to not take that
into consideration.

Unfortunately, anyone who has used their Trezor device with Parity
previously would now see a different address when they connect the
Trezor device the next time. The only way they would have to access the
old address is to use an old version, or by going through MEW and
selecting the Ledger keypath.

Also see #6811
2017-10-19 11:47:53 +02:00
Tomasz Drwięga
195305ce2e Merge branch 'master' into td-ui-2 2017-10-18 16:45:37 +02:00
Tomasz Drwięga
da6bd4168b Update build scripts. 2017-10-18 16:38:11 +02:00
Tomasz Drwięga
48ac6cbcf8 Enable access to WebSockets for dapps. 2017-10-18 16:28:45 +02:00
Marek Kotewicz
5281e09828 Merge pull request #6801 from paritytech/refactoring/journal-6693
Refactors journaldb as a separate crate
2017-10-18 16:10:28 +02:00
GitLab Build Bot
b1df272f4c [ci skip] js-precompiled 20171018-123105 2017-10-18 12:35:51 +00:00
Tomasz Drwięga
51caf97705 Trigger UI build. (#6817) 2017-10-18 14:19:45 +02:00
Tomasz Drwięga
2472a2be0c Merge branch 'ui-2' into td-ui-2 2017-10-18 14:13:08 +02:00
Jaco Greeff
9e04be754c Update dependencies (should fix account) 2017-10-18 11:51:29 +02:00
GitLab Build Bot
62fa1ed524 [ci skip] js-precompiled 20171017-174801 2017-10-17 17:53:06 +00:00
Tomasz Drwięga
304b067417 Support both versions. 2017-10-17 18:10:59 +02:00
Jaco Greeff
fc2b58a4eb Updated dependencies 2017-10-17 18:02:17 +02:00
Dmitry Kashitsyn
153b8572dd Fixes tests 2017-10-17 22:24:47 +07:00
Arkadiy Paronyan
a2fe7def1f Bumped version (#6809) 2017-10-17 16:48:38 +02:00
Kirill Pimenov
540c93955e Merge pull request #6808 from paritytech/td-rpc-warnings
Fix RPC compilation warnings.
2017-10-17 16:15:32 +02:00
Tomasz Drwięga
0f8fb62581 Integrate old UI. 2017-10-17 16:09:43 +02:00
Tomasz Drwięga
1d9542fe88 Fix RPC compilation warnings. 2017-10-17 15:41:32 +02:00
Tomasz Drwięga
2d10cd0ecc Fixing JSON WiP. Refactor & Write tests. 2017-10-17 14:54:56 +02:00
Kirill Pimenov
86c2633280 Migrate to Futures in SigningQueue (#6689)
* oneshot channels instead of custom promises

* Future instead of handle_dispatch

* Even less copying

* Those explicit waits were a mistake, thanks, @tomusdrw

* No more unsafe polling

* Test for the new `is_done()` method

* Mark Futures as `#[must_use]`

* Solve most compilation warnings

* `try_ready!` is more ideomatic

* Turn spaces into tabs

* Documentation and visibility improvements

* Minor code style improvements

* Make Futures run on an explisit reactor

* Another round of code style issues

* Simplify ConfirmationReceiver type

* Flatten ConfirmationOutcome into a plain Result type

* Get rid of a separate `pending` set, it was a stupid idea

* Clarify `add_request` docs

* No need to reduce the scope of the mutex here
2017-10-17 14:50:53 +02:00
Jaco Greeff
9a62119a82 Updated dependencies 2017-10-17 12:41:31 +02:00
debris
0e912bca5b bring back accidently removed whitespace 2017-10-17 10:44:05 +02:00
debris
607cc6c782 fixed compiling util tests 2017-10-17 10:40:45 +02:00
Jaco Greeff
d852e6b063 Merge branch 'master' into ui-2
# Conflicts:
#	js/src/views/Signer/components/SignRequest/signRequest.js
2017-10-17 09:55:13 +02:00
Jaco Greeff
9c5b96ccbe Updated dependencies 2017-10-17 09:09:54 +02:00
Dmitry Kashitsyn
7fe7b6d9a4 Fixes import in test 2017-10-17 12:12:46 +07:00
Dmitry Kashitsyn
f9e588dd7b Refactors parity/parity to use journaldb crate (#6693) 2017-10-17 11:46:54 +07:00
Dmitry Kashitsyn
c0fc83988f Refactors ethcore to use journaldb crate (#6693) 2017-10-17 11:46:07 +07:00
Dmitry Kashitsyn
e2b96e1fe0 Moves journaldb sources to a separate crate (#6693) 2017-10-17 11:44:52 +07:00
Marek Kotewicz
98d0ef3fff Merge pull request #6795 from paritytech/ipc_cleanup
remove internal ipc
2017-10-16 23:22:47 +02:00
debris
3830f9b464 fixed failing test 2017-10-16 22:12:17 +02:00
debris
95f0384510 Merge branch 'master' into ipc_cleanup 2017-10-16 18:19:41 +02:00
Marek Kotewicz
bb1be15dc4 Merge pull request #6792 from paritytech/kvdb_error
consistent KeyValueDB errors
2017-10-16 18:19:18 +02:00
debris
16d84f8ecf finished removing ipc 2017-10-16 18:18:43 +02:00
Jaco Greeff
a76f768077 Updated dependencies 2017-10-16 18:06:40 +02:00
debris
fa019bd03e remove ipc codegen from ethcore 2017-10-16 17:50:25 +02:00
debris
6f914d1851 remove ipc codegen from stratum 2017-10-16 17:32:15 +02:00
debris
f1c50e5648 remove ipc codegen from updater 2017-10-16 17:28:59 +02:00
debris
c83e9d0f1b remove ipc codegen from secretstore 2017-10-16 17:12:02 +02:00
Jaco Greeff
9e4c1fe6af Update warning layout 2017-10-16 15:51:55 +02:00
Jaco Greeff
de6066d6b0 Add babel-polyfill entry 2017-10-16 15:45:30 +02:00
Jaco Greeff
b49d7ee29c Rebuild after master merge 2017-10-16 15:20:30 +02:00
debris
7661e93a56 fixed secret_store conversion from kvdb error 2017-10-16 14:55:11 +02:00
Jaco Greeff
8453dda7ef Merge branch 'master' into ui-2
# Conflicts:
#	js/package-lock.json
#	js/package.json
#	js/src/api/api.js
#	js/src/api/local/accounts/accounts.js
#	js/src/api/local/localAccountsMiddleware.js
#	js/src/api/local/transactions.js
#	js/src/api/pubsub/signer/signer.js
#	js/src/api/subscriptions/signer.js
#	js/src/api/transport/jsonRpcBase.js
#	js/src/api/transport/middleware.js
#	js/src/api/util/format.js
#	js/src/api/util/format.spec.js
#	js/src/contracts/abi/index.js
#	js/src/contracts/badgereg.js
#	js/src/dapps/tokenreg/Application/application.css
#	js/src/dapps/tokenreg/Application/application.js
#	js/src/modals/CreateWallet/WalletDetails/walletDetails.js
#	js/src/modals/CreateWallet/WalletDetails/walletDetails.spec.js
#	js/src/modals/CreateWallet/createWalletStore.js
#	js/src/modals/DeployContract/ParametersStep/parametersStep.js
#	js/src/modals/DeployContract/deployContract.js
#	js/src/modals/ExecuteContract/DetailsStep/detailsStep.js
#	js/src/modals/WalletSettings/walletSettings.js
#	js/src/redux/providers/certifications/actions.js
#	js/src/redux/providers/certifications/middleware.js
#	js/src/redux/providers/certifications/reducer.js
#	js/src/redux/providers/requestsActions.js
#	js/src/redux/providers/tokensActions.js
#	js/src/ui/AccountCard/accountCard.css
#	js/src/ui/Balance/balance.js
#	js/src/ui/Balance/balance.spec.js
#	js/src/ui/DappCard/dappCard.js
#	js/src/ui/Form/AddressSelect/addressSelect.js
#	js/src/ui/Form/AddressSelect/addressSelectStore.js
#	js/src/ui/Form/InputAddressSelect/inputAddressSelect.js
#	js/src/ui/Form/TypedInput/typedInput.js
#	js/src/ui/IdentityIcon/identityIcon.js
#	js/src/ui/MethodDecoding/tokenValue.js
#	js/src/util/tx.js
#	js/src/util/wallets.js
#	js/src/util/wallets/consensys-wallet.js
#	js/src/util/wallets/foundation-wallet.js
#	js/src/views/Account/account.js
#	js/src/views/Accounts/List/list.js
#	js/src/views/Contract/Queries/inputQuery.js
#	js/src/views/Contract/Queries/queries.js
#	js/src/views/Contract/contract.js
#	js/src/views/Signer/components/SignRequest/signRequest.css
#	js/src/views/Signer/components/SignRequest/signRequest.js
#	js/src/views/Signer/components/SignRequest/signRequest.spec.js
2017-10-16 12:41:41 +02:00
Arkadiy Paronyan
5b29b6d064 Squash remaining warnings (#6789)
* Fixed comment warnings

* Fixed remaining warnings
2017-10-16 12:31:52 +02:00
debris
8ecdab68c2 add missing space to TrieError description 2017-10-16 12:17:06 +02:00
debris
5e61f3493e require stable error-chain 2017-10-16 12:15:19 +02:00
debris
6dc50d01b5 KeyValueDB trait uses errors instead of strings 2017-10-16 12:11:35 +02:00
Marek Kotewicz
44db0c55c5 Merge pull request #6720 from paritytech/kvdb_split
separated kvdb into 3 crates: kvdb, kvdb-memorydb && kvdb-rocksdb
2017-10-16 10:57:27 +02:00
Afri Schoedon
774598974e Forward-port #6754 #6755 (#6785) 2017-10-16 10:56:23 +02:00
Marek Kotewicz
aa4bc50c6b removed duplicated versions of clippy (#6776) 2017-10-16 10:22:02 +02:00
Marek Kotewicz
8365f4d80e updated ethabi to version 4.0 (#6742)
* updated ethabi to version 4.0

* ethabi 4.0.1
2017-10-16 10:21:35 +02:00
Marek Kotewicz
9fa639ede9 updated rpc_cli and parity to rpassword 1.0 (#6774) 2017-10-16 10:20:55 +02:00
Afri Schoedon
b63c3a66ca Fix sign data typo, ref #6737 (#6750) 2017-10-16 10:08:36 +02:00
debris
fbad6b5514 removed redundant mut from kvdb-memorydb 2017-10-16 10:02:26 +02:00
debris
2ce0eae406 Merge branch 'master' into kvdb_split 2017-10-16 10:01:12 +02:00
Marek Kotewicz
d1c9acf439 Merge pull request #6772 from paritytech/refactoring/cache-6693
Refactoring/cache 6693
2017-10-16 09:58:48 +02:00
Afri Schoedon
832879e5c8 Fix CHANGLOG for 1.8.0 (#6751)
* Fix CHANGLOG for 1.8.0

* Update changelog for 1.8.0

* Add changelog for 1.7.7
2017-10-16 09:35:02 +02:00
Dmitry Kashitsyn
92a9fd3359 Uses dash instead of underscore in crate name 2017-10-16 11:05:54 +07:00
Dmitry Kashitsyn
b03117b262 Removes redundant mut in service.rs.in (#6775) 2017-10-15 17:41:40 +02:00
Dmitry Kashitsyn
e7690ab658 Removes redundant dependencies (#6693) 2017-10-15 21:47:06 +07:00
Dmitry Kashitsyn
4df541e47a Refactors references to MemoryLruCache in ethcore (#6693) 2017-10-15 21:47:06 +07:00
Dmitry Kashitsyn
51b61ccdbf Extracts MemoryLruCache to a separate crate (#6693) 2017-10-15 21:47:06 +07:00
debris
db3ff67182 Merge branch 'master' into kvdb_split 2017-10-15 16:40:20 +02:00
Marek Kotewicz
82c8dccddf Merge pull request #6773 from paritytech/refactoring/redundant-mut
Remove redundant `mut`
2017-10-15 16:38:26 +02:00
debris
fa4e5c98d0 docs 2017-10-15 16:18:45 +02:00
debris
616cafb04a renamed kvdb_memorydb::in_memory -> kvdb_memorydb::create 2017-10-15 16:17:15 +02:00
debris
d88ec35a6a Merge branch 'master' into kvdb_split 2017-10-15 15:55:44 +02:00
Dmitry Kashitsyn
96b4467f86 Removes redundant mut in util 2017-10-15 20:11:34 +07:00
Dmitry Kashitsyn
74876fd410 Removes redundant mut in sync 2017-10-15 20:11:20 +07:00
Dmitry Kashitsyn
dab40e832c Removes redundant mut in rpc 2017-10-15 20:11:07 +07:00
Dmitry Kashitsyn
b49baed696 Removes redundant mut in hw 2017-10-15 20:10:59 +07:00
Dmitry Kashitsyn
3df67b376b Removes redundant mut in ethcore 2017-10-15 20:10:20 +07:00
Arkadiy Paronyan
b0c15497e1 Fixed kovan chain validation (#6758)
* Fixed kovan chain validation

* Fork detection

* Fixed typo
2017-10-14 21:59:26 +02:00
Marek Kotewicz
190c1dcede removed redundant evm deps (#6757) 2017-10-14 19:29:09 +02:00
Afri Schoedon
1294572907 Update CHANGELOG for 1.7.4, 1.7.5, and 1.8.0 (#6716)
* Update CHANGELOG for 1.7.4

* Update CHANGELOG for 1.7.5

* Update CHANGELOG for 1.7.5

* Move stable changelog to docs/

* Prepare CHANGELOG for 1.8.0

* Update CHANGELOG for 1.8.0

* Add changelog for 1.7.6

* Update CHANGELOG for 1.8.0

* Describe CHANGELOG for 1.8.0
2017-10-13 17:30:51 +02:00
debris
da8bf76c15 util tests use kvdb_memorydb instead of kvdb_rocksdb, closes #6739 2017-10-13 17:12:17 +02:00
debris
b277c3810f Merge branch 'master' into kvdb_split 2017-10-13 16:27:12 +02:00
Arkadiy Paronyan
691e93834c Fixed modexp gas calculation overflow (#6741) 2017-10-13 16:06:53 +02:00
Marek Kotewicz
fcd81a7b86 Merge pull request #6733 from paritytech/cc1.0
use cc 1.0 instead of gcc
2017-10-13 14:30:03 +02:00
Axel Chalon
d77dabadbb CLI: Reject invalid argument values rather than ignore them (#6723)
* CLI: Reject invalid argument values rather than ignore them

* Fix grumbles
2017-10-13 12:20:57 +02:00
debris
5c220ab64b Merge branch 'master' into kvdb_split 2017-10-13 12:18:49 +02:00
GitLab Build Bot
ba6594e30a [ci skip] js-precompiled 20171013-002644 2017-10-13 00:31:48 +00:00
Arkadiy Paronyan
f3ea2f354e v1.9.0 (#6727) 2017-10-12 23:44:02 +02:00
Robert Habermeier
a2d9b6f9ce remove RPC parameter leniency now that mist formats correctly (#6651) 2017-10-12 23:35:52 +02:00
debris
8c1e402e02 use cc 1.0 instead of gcc 2017-10-12 23:23:50 +02:00
GitLab Build Bot
df39f5e7fc [ci skip] js-precompiled 20171012-210804 2017-10-12 21:19:11 +00:00
Nicolas Gotchac
78146e903d Fix badges not showing up (#6730)
* Fix badges not showing up

* Always fetch meta data first [badges]
2017-10-12 22:17:59 +02:00
GitLab Build Bot
7472bc3570 [ci skip] js-precompiled 20171012-181858 2017-10-12 18:24:04 +00:00
Nicolas Gotchac
3e7b775961 Fix tokens and badges (#6725)
* Update new token fetching

* Working Certifications Monitoring

* Update on Certification / Revoke

* Fix none-fetched tokens value display

* Fix tests
2017-10-12 20:09:44 +02:00
Jaco Greeff
edbbd42d80 Check vouch status on appId in addition to contentHash (#6719)
* Check vouch status on appId in addition to contentHash

* Simplify var expansion
2017-10-12 19:28:56 +02:00
debris
f36b4e0fca fixed wrong kvdb import in json_tests 2017-10-12 17:05:32 +02:00
Marek Kotewicz
e51e54eeeb Merge pull request #6694 from paritytech/no-sleep
Prevent going offline when restoring or taking a snapshot
2017-10-12 15:54:29 +02:00
Marek Kotewicz
fee68a5331 Merge pull request #6711 from paritytech/cli-unknownarguments-6485
Graceful exit when invalid CLI flags are passed (#6485)
2017-10-12 15:52:22 +02:00
Marek Kotewicz
761ba164ee Merge pull request #6718 from paritytech/returndata-bounds-fix
Fixed RETURNDATA out of bounds check
2017-10-12 15:46:10 +02:00
debris
c05fd9607c fixed kvdb-memorydb && kvdb-rocksdb authors 2017-10-12 15:38:38 +02:00
debris
eb526b7769 separated kvdb into 3 crates: kvdb, kvdb-memorydb && kvdb-rocksdb, #6693 2017-10-12 15:36:27 +02:00
arkpar
301190a16f Fixed RETURNDATA out of bounds check 2017-10-12 12:57:27 +02:00
arkpar
99143c5872 Prevent going offline when restoring or taking snapshot 2017-10-12 12:37:03 +02:00
GitLab Build Bot
1d2319207a [ci skip] js-precompiled 20171011-214450 2017-10-11 21:49:51 +00:00
GitLab Build Bot
0b666f605f [ci skip] js-precompiled 20171011-192355 2017-10-11 19:29:28 +00:00
Jaco Greeff
7feb82c242 Display vouched overlay on dapps (#6710)
* Remove .only

* Add vouch overlays to dapps

* Cleanup address

* Only run where we have a contentHash

* GitLab kickstart
2017-10-11 21:05:50 +02:00
Tomasz Drwięga
34c65f60ef Fix estimate gas if from is not provided. (#6714) 2017-10-11 21:05:38 +02:00
GitLab Build Bot
df19b8df69 [ci skip] js-precompiled 20171011-183646 2017-10-11 18:43:16 +00:00
Maciej Hirsz
1fec0b1833 Merge pull request #6708 from paritytech/mh-pubnode-fix-signer
Emulate signer pubsub on public node
2017-10-11 20:24:12 +02:00
Marek Kotewicz
bfff19ca9f Merge pull request #6705 from paritytech/serde-migration
Removes  dependency on rustc_serialize (#5988)
2017-10-11 18:17:40 +02:00
Axel Chalon
a101a23ba3 Graceful exit when invalid CLI flags are passed (#6485) 2017-10-11 17:38:56 +02:00
Dmitry Kashitsyn
4f86f5b76d Removes rustc-serialize references from Cargo.toml and Cargo.lock 2017-10-11 22:01:00 +07:00
Arkadiy Paronyan
7029dda87c Fixed potential exp len overflow (#6686) 2017-10-11 16:41:28 +02:00
maciejhirsz
0c86357187 Emulate signer pubsub on public node 2017-10-11 16:21:44 +02:00
GitLab Build Bot
0bb845a05c [ci skip] js-precompiled 20171011-121439 2017-10-11 12:19:40 +00:00
Jaco Greeff
f238c97c6f Fix asciiToHex for characters < 0x10 (#6702) 2017-10-11 13:58:40 +02:00
Nicolas Gotchac
3a9b3b4729 Fix default values for address input (#6701) 2017-10-11 13:57:06 +02:00
Jaco Greeff
2bfb510554 Allow sign display of markdown (#6707) 2017-10-11 13:56:13 +02:00
Dmitry Kashitsyn
604cdde71d Fixes bench and removes rustc_serialize dependency (#5988) 2017-10-11 17:39:12 +07:00
Arkadiy Paronyan
690f32c298 Fixed build warnings (#6664)
* Fixed build warnings

* Suppress warning

* Suppress warning for sure
2017-10-11 09:55:10 +02:00
Dmitry Kashitsyn
504b2de4a8 Migrating util/network from rust_serialize to serde (#5988) 2017-10-11 14:34:23 +07:00
Marek Kotewicz
e3fa460374 Merge pull request #6691 from paritytech/warp-options
Fix warp sync blockers detection
2017-10-10 21:51:18 +02:00
Marek Kotewicz
3c4fa5583a Merge pull request #6687 from paritytech/difficulty-tests
Difficulty tests
2017-10-10 21:50:53 +02:00
debris
025c5aebc9 Merge branch 'master' into difficulty-tests 2017-10-10 20:10:24 +02:00
Marek Kotewicz
6279ff32f5 Separate migrations from util (#6690)
* separate migration from util and make its dependencies into libs:

* snappy
* kvdb
* error
* common

* renamed common -> macros

* util error does not depend on snappy module

* ethsync does not depend on util nor ethcore_error

* nibbleslice and nibblevec merged with patricia_trie crate

* removed unused dependencies from util

* util journaldb traits does not need to be public

* util_error

* fixed ethcore compile error

* ignore .swo files

* Update chain.rs
2017-10-10 20:01:27 +02:00
arkpar
cc681c623f Fixed tests after rename 2017-10-10 17:48:37 +02:00
arkpar
007629464a Fix warp sync blockers detection 2017-10-10 17:42:20 +02:00
arkpar
e5a7a674f9 Get rid of blockchain test warnings 2017-10-10 16:56:03 +02:00
arkpar
7234a7c630 Difficulty tests 2017-10-10 14:51:12 +02:00
Afri Schoedon
4e8853c9f7 Changelog for 1.7.3 (#6678)
* Prepare CHANGELOG for 1.7.3

* Update CHANGELOG for 1.7.3

* Update CHANGELOG for 1.7.3

* Split changelog(s) by major releases.

* Link previous release's changelogs in main

* Update CHANGELOG for 1.7.3

* More verbose changelog for 1.7.3
2017-10-10 10:51:12 +02:00
Jaco Greeff
afb9647f0d Update lint 2017-10-09 14:42:26 +02:00
Jaco Greeff
c116e064d8 Merge master 2017-10-09 14:27:59 +02:00
GitLab Build Bot
dbd1976fc1 [ci skip] js-precompiled 20171009-121402 2017-10-09 12:19:46 +00:00
Nikolay Volf
1601030081 WASM gas schedule (#6638)
* some failing tests

* finalize

* fallable -> fallible

* alter mul/div/static_i64

* Update schedule.rs

* to u32

* balance charge also

* review fixes

* remove redundant line
2017-10-09 13:12:58 +02:00
Nicolas Gotchac
8d1964bc3b Fix wallet view (#6597)
* Add safe fail for empty logs

* Filter transactions

* Add more logging

* Fix Wallet Creation and wallet tx list

* Remove logs

* Prevent selecting twice same wallet owner

* Fix tests

* Remove unused props

* Remove unused props
2017-10-09 13:11:18 +02:00
Marek Kotewicz
65ca2f9a07 Merge pull request #6660 from paritytech/byzantium-fork
Byzantium fork block number
2017-10-09 11:25:49 +02:00
Marek Kotewicz
de0d12d73c Merge pull request #6652 from paritytech/returndatasize-builtin-fix
Fixed RETURNDATA size for built-ins
2017-10-09 11:24:34 +02:00
Jaco Greeff
439eb294bb Merge branch 'master' into ui-2 2017-10-09 10:23:21 +02:00
GitLab Build Bot
ca6d5660c1 [ci skip] js-precompiled 20171008-172308 2017-10-08 17:28:31 +00:00
Robert Habermeier
b010fb5004 Light Client: fetch transactions/receipts by transaction hash (#6641)
* rpc: transaction/receipt requests made async

* rpc: light client fetches transaction and uncle by hash/index

* on_demand: request type for transaction index

* serve transaction index requests in light protocol

* add a test for transaction index serving

* fetch transaction and receipts by hash on light client

* fix decoding tests

* light: more lenient cost table parsing (backwards compatible)

* fix tests and warnings

* LES -> PIP

* Update provider.rs

* proper doc comments for public functions
2017-10-08 18:19:27 +02:00
Afri Schoedon
360ecd3728 Add Musicoin and MCIP-3 UBI hardfork. (#6621)
* Add musicoin chain spec.

* Add musicoin to parity node

* Add musicoin to the wallet

* Add i18n for musicoin

* Align musicoin chain spec with 1.8, ref #6134

* Update musicoin bootnodes

* Prepare MCIP-3 in musicoin chain spec.

* Update musicoin chain spec with contract addresses for MCIP-3

* Extend ethash params by MCIP-3

* Fix musicoin chain spec json

* Use U256 for block rewards.

* Update musicoin registrar

* Fix merge leftovers

* Update musicoin chain spec for latest master

* Bestow MCIP-3 block reward(s).

* Update musicoin registry once and for all

* Align MCIP-3 block reward with go implementation

* Remove mcip3 test chain spec from repository

* Update MCIP-3 block rewards

* Musicoin homestead transition is at 1_150_000

* Expect mcip3 transtion to be properly defined in chain spec.

* Panic handling for mcip to default to regular block rewards if not specified

* Giving mcip3 rewards a useful default value.

* Fix ethjson tests.

* Update musicoin chain spec

* Fix tests 0:)

* Add musicoin mcip3 era test spec.

* Update musicoin chain spec(s)

* Add tests for mcip3 era block rewards

* Fix tests

* Disable byzantium for musicoin

* Pass miner reward to the tracer.

* Allow modifying blockreward in MCIP-3 transition.
2017-10-08 18:17:59 +02:00
Robert Habermeier
59365b0133 fix aura backcompat: revert to manual encoding/decoding of transition proofs (#6665) 2017-10-06 17:36:26 +02:00
Arkadiy Paronyan
1b45870af8 Tweaked block download timeouts (#6595) (#6655) 2017-10-06 13:46:11 +02:00
arkpar
07c63c14f3 Byzantium fork block number 2017-10-06 09:47:04 +02:00
Arkadiy Paronyan
77a2c77c45 Renamed RPC receipt statusCode field to status (#6650) 2017-10-06 09:11:17 +02:00
Svyatoslav Nikolsky
4e9d439f39 SecretStore: session level timeout (#6631)
* SecretStore: session level timeout

* removed obsolete TODO
2017-10-05 22:38:23 +02:00
Svyatoslav Nikolsky
6431459bcf SecretStore: ShareRemove of 'isolated' nodes (#6630)
* SecretStore: ShareRemove from isolated nodes

* SecretStore: ServersSetChange && isolated nodes

* SecretStore: added threshold check + lost file

* SecretStore: remove isolated nodes before other sessions in ServersSetChange

* removed obsolete TODO
2017-10-05 22:37:41 +02:00
arkpar
6a1eea1b3d Fixed RETURNDATA size for built-ins 2017-10-05 19:31:29 +02:00
Marek Kotewicz
d8094e0629 Merge pull request #6624 from paritytech/secretstore_exclusive_sessions
SecretStore: exclusive sessions
2017-10-05 18:44:44 +02:00
Robert Habermeier
77933aa8a1 Merge pull request #6649 from paritytech/eip8-fix
Fixed network protocol version negotiation
2017-10-05 18:07:45 +02:00
Robert Habermeier
7dc281ff2f Merge pull request #6598 from AntoniosHadji/systemd
Updated systemd files for linux (Resolves #6592)
2017-10-05 18:06:52 +02:00
arkpar
c4c2c77a40 Fixed network protocol version negotiation 2017-10-05 17:20:23 +02:00
Robert Habermeier
223467c816 Merge pull request #6646 from paritytech/restore-additional-info
move additional_params to machine, fixes registry on non-ethash chains
2017-10-05 16:19:15 +02:00
Jaco Greeff
0be532640a SyncWarning store 2017-10-05 15:52:44 +02:00
Robert Habermeier
bae6a5eeec move additional_info to engines, fixes registry on non-ethash chains 2017-10-05 15:34:30 +02:00
Jaco Greeff
4f082da02b Lint fixes 2017-10-05 15:26:20 +02:00
Jaco Greeff
21c95bbec5 Update after merge 2017-10-05 15:04:45 +02:00
GitLab Build Bot
3f520b864b [ci skip] js-precompiled 20171005-120001 2017-10-05 12:04:49 +00:00
GitLab Build Bot
c7ea25227a [ci skip] js-precompiled 20171005-114154 2017-10-05 11:46:58 +00:00
Nicolas Gotchac
fb65732076 Fix Token Transfer in transaction list (#6589)
* Fix Token Transfer in TX LIST

* Add TokenReg logs logging
2017-10-05 13:03:31 +02:00
Tomasz Drwięga
e8b418ca03 Update jsonrpc dependencies and rewrite dapps to futures. (#6522)
* Bump version.

* Fix RPC crate.

* Fix BoxFuture in crates.

* Compiles and passes tests!

* Get rid of .boxed()

* Fixing issues with the UI.

* Remove minihttp. Support threads.

* Reimplement files serving to do it in chunks.

* Increase chunk size.

* Remove some unecessary copying.

* Fix tests.

* Fix stratum warning and ipfs todo.

* Switch to proper branch of jsonrpc.

* Update Cargo.lock.

* Update docs.

* Include dapps-glue in workspace.

* fixed merge artifacts

* Fix test compilation.
2017-10-05 12:35:01 +02:00
Svyatoslav Nikolsky
8961d987a9 fixed port offset in test 2017-10-04 22:12:45 +03:00
Svyatoslav Nikolsky
492da38d67 Merge pull request #6639 from paritytech/wasm-ext-balance
Balance queries implemented in WASM runtime
2017-10-04 22:09:00 +03:00
fro
6956d218b5 address balance extern provided for wasm 2017-10-04 19:09:18 +03:00
Arkadiy Paronyan
b7c2a30d7d Don't expose port 80 for parity anymore (#6633) 2017-10-04 14:58:31 +02:00
Jaco Greeff
290060e6c4 Add sync warning to top 2017-10-04 14:49:41 +02:00
Nikolay Volf
4260910db6 WASM Runtime refactoring (#6596)
* refactoring to new pwasm-std

* pass reference

* remove ref

* missing underscores
2017-10-04 13:15:59 +02:00
Jaco Greeff
55b0b09d6a Merge branch 'master' into ui-2 2017-10-04 12:31:09 +02:00
Svyatoslav Nikolsky
1b1548f539 removed obsolete TODO 2017-10-04 12:16:45 +03:00
Jaco Greeff
9f00159228 Rebuild 2017-10-04 08:26:26 +02:00
Svyatoslav Nikolsky
0092417b85 Merge branch 'master' into secretstore_exclusive_sessions 2017-10-03 13:39:42 +03:00
Svyatoslav Nikolsky
ec1a892f44 Merge pull request #6625 from paritytech/fix_compilation
Fix compilation
2017-10-03 13:39:12 +03:00
Svyatoslav Nikolsky
5e83ff8835 fix compilation 2017-10-03 12:59:48 +03:00
Svyatoslav Nikolsky
3091552504 fix indentation 2017-10-03 12:49:43 +03:00
Svyatoslav Nikolsky
fb38c20c16 SecretStore: exclusive sessions 2017-10-03 11:35:31 +03:00
Tomasz Drwięga
f8d256dafa Downgrade futures. (#6620) 2017-10-03 10:04:07 +02:00
Anton Gavrilov
0a5c9b0465 Add pagination for trace_filter rpc method (#6312)
* Optional offset and count added on client level

* Rpc interface extended

* Tests corrected

* Filtering code refactored a little bit

* Offset type was changed to usize

* Handling of block hash in offset added

* Offset reworked to number

* Trailing comma removed

* Import for Quantity type added

* Offset and count moved into filter object

* Lost comma removed

* Return empty vec instead of None in case of incorrect range
2017-10-03 10:03:46 +02:00
Afri Schoedon
41c3b05a20 Disallow pasting recovery phrases on first run (#6602)
* Fix disallowing paste of recovery phrase on first run, ref #6581

* Allow the leader of CATS pasting recovery phrases.
2017-10-03 10:03:24 +02:00
GitLab Build Bot
931a7a2210 [ci skip] js-precompiled 20171002-143145 2017-10-02 14:37:01 +00:00
vacuum-car
fee056a251 fix typo: Unkown => Unknown (#6559) 2017-10-02 15:27:59 +02:00
Svyatoslav Nikolsky
9a086face4 SecretStore: administrative sessions prototypes (#6605)
* generate random channel encryption key on restart

* session-level nonces

* fixed warning after rebase

* session_nonce -> nonce

* full_generation_math_session_with_refreshing_shares && full_generation_math_session_with_adding_new_node

* add serveral secret shares at once

* SecretStore: initial ShareAdd session prototype

* SecretStore: ServersSetChange jobs

* SecretStore: servers set change session continued

* SecretStore: servers set change session continued

* SecretStore: servers set change session continued

* SecretStore: known_sessions iterator

* SecretStore: implemented SessionsQueue

* SecretStore: UnknownSessionsJobTransport

* SecretStore: node_added_using_servers_set_change almost done

* SecretStore: continue adding tests

* SecretStore: node_added_using_servers_set_change + node_added_using_share_add

* SecretStore: node_added_using_server_set_change_from_this_node

* SecretStore: node_moved_using_share_move

* SecretStore: node_moved_using_servers_set_change

* SecretStore: node_removed_using_share_remove

* SecretStore: node_removed_using_servers_set_change

* SecretStore: different folders for client && admin sessions

* SecretStore: started adding share change consensus (flush)

* SecretStore: fixed spurious tests failures

* enum JobPartialRequestAction

* SecretStore: started adding consensus layer to ShareAdd session

* SecretStore: starting external consensus for ShareAdd

* SecretStore: started restoring node_added_using_servers_set_change

* SecretStore: node_added_using_servers_set_change works with external consensus

* SecretStore: node_added_using_server_set_change_from_this_node works with external consensus

* removed debug comments/printlns

* SecretStore: share move session supports consensus

* SecretStore: share remove with external consensus

* SecretStore: started adding basic ShareAdd tests

* SecretStore: added ShareAdd tests

* SecretStore: added ShareAdd session to cluster

* SecretStore: added share move && remove sessions to cluster

* SecretStore: ShareMove session tests cleanup

* SecretStore: ShareRemove session tests cleanup

* SecretStore: added check_secret_is_preserved check

* SecretStore: added servers set change to cluster

* SecretStore: cleaned up ServersSetChange session tests

* SecretStore: cleaning + added tests for ShareRemove

* SecretStore: cleaning up

* SecretStore: propagated admin_public

* SecretStore: fixed persistent_key_storage test

* SecretStore: upgrade_db_from_1

* SecretStore: fixed ServersSetChange session completion

* SecretStore: check polynom1 in ShareAdd sessions (error for pre-v2 shares)

* SecretStore: fixing TODOs

* SecretStore: fixing TODOs

* SecretStore: check share change plan on 'old' slave nodes

* SecretStore: fixing TODOs

* SecretStore: store all admin sessions in single container to avoid overlaps

* SecretStore: do not update nodes set during admin sessions

* SecretStore: moved TODOs to appropriate methods

* SecretStore: TODOs

* SecretStore: added admin_public arg && fixed warnigs

* SecretStore: added shares_to_move_reversed to ShareMove session

* SecretStore: additional checks during consensus establishing

* license

* SecretStore: added TODO about starting ServersSetChange session

* SecretStore: redundant clones + docs + lsot unimplemented-s

* SecretStore: generation_session_completion_signalled_if_failed_on_master

* SecretStore: updated obsolete comment

* SecretStore: added type alias for current DocumentKeyShare serialization format

* SecretStore: fixed typo

* SecretStore; fixed warnings for futures 0.1.15

* fixed warning
2017-10-02 15:27:31 +02:00
Jaco Greeff
341697630d Fix form submission issues 2017-10-02 11:30:20 +02:00
Leopold Joy
561e8b42a8 fix parity.io link in readme (#6617) 2017-10-02 11:21:12 +02:00
Svyatoslav Nikolsky
3a60d723d8 SecretStore: add node to existing session poc + discussion (#6480)
* full_generation_math_session_with_refreshing_shares && full_generation_math_session_with_adding_new_node

* add serveral secret shares at once
2017-10-02 11:07:18 +02:00
Jaco Greeff
39b5e5b98a Signer-plugin-based approach (plugins available) 2017-09-29 15:04:57 +02:00
Svyatoslav Nikolsky
7cc43893d8 Revert "SecretStore; fixed warnings for futures 0.1.15"
This reverts commit 61daa5f3e7.
2017-09-28 14:43:51 +03:00
Svyatoslav Nikolsky
61daa5f3e7 SecretStore; fixed warnings for futures 0.1.15 2017-09-28 14:43:05 +03:00
Antonios Hadjigeorgalis
a56c5e6ba8 Updated systemd files for linux (#6592)
Previous version put $BASE directory in root directory.
This version clearly explains how to run as root or as specific user.

Additional configuration:

* send SIGHUP for clean exit,

* restart on fail.

Tested on Ubuntu 16.04.3 LTS with 4.10.0-33-generic x86_64 kernel
2017-09-26 18:03:18 -04:00
GitLab Build Bot
cc759530fe [ci skip] js-precompiled 20170926-133548 2017-09-26 13:40:38 +00:00
Robert Habermeier
bc167a211b Generalize engine trait (#6591)
* move common forks and parameters to common params

* port specs over to new format

* fix RPC tests

* parity-machine skeleton

* remove block type

* extract out ethereum-specific methods into EthereumMachine

* beginning to integrate Machine into engines. dealing with stale transitions in Ethash

* initial porting to machine

* move block reward back into engine

* abstract block reward logic

* move last hash and DAO HF logic into machine

* begin making engine function parameters generic

* abstract epoch verifier and ethash block reward logic

* instantiate special ethereummachine for ethash in spec

* optional full verification in verify_block_family

* re-instate tx_filter in a way that works for all engines

* fix warnings

* fix most tests, further generalize engine trait

* uncomment nullengine, get ethcore tests compiling

* fix warnings

* update a bunch of specs

* re-enable engine signer, validator set, and transition handler

* migrate basic_authority engine

* move last hashes into executedblock

* port tendermint

* make all ethcore tests pass

* json-tests compilation

* fix RPC tests: change in gas limit for new block changed PoW hash

* fix minor grumbles

* validate chainspecs

* fix broken import

* fix transaction verification for pre-homestead
2017-09-26 14:19:08 +02:00
Wei Tang
d8af9f4e7b Add RPC eth_chainId for querying the current blockchain chain ID (#6329)
* Add RPC eth_chainId for querying the current blockchain chain ID

Currently although we can use `net_version` RPC call to get the
current network ID, there's no RPC for querying the chain ID. This
makes it impossible to determine the current actual blockchain using
the RPC. An ETH/ETC client can accidentally connect to an ETC/ETH RPC
endpoint without knowing it unless it tries to sign a transaction or
it fetch a transaction that is known to have signed with a chain
ID. This has since caused trouble for application developers, such as
MetaMask, to add multi-chain support.

The same RPC endpoint is also about to be merged for ETC's
go-ethereum: https://github.com/ethereumproject/go-ethereum/pull/336

* Add eth_chainId to js's web3 interface

* Add a mocked test for eth_chainId

* Add chainId in js's jsonrpc interfaces

* Change return type for eth_chainId to `Option<u64>`

* Change name eth_chainId to parity_chainId

* Wrong test name and missed var for rpc_parity_chain_id test

* Use U256 to return chainId and fix for master

u64 returns decimal integer, and there seems to be no type called
U64. So here I use U256 to return the hex integer.

* Fix chainID test

Before EIP155 fork number, chainID should be null.

* Change both parity_chainId and transaction::chainId to use U64

This makes it consistent that all chain ids returned are hex string.

* Fix wrong U64 serialization
2017-09-26 14:17:07 +02:00
Tomasz Drwięga
59d946bf00 Debounce sync status. (#6572) 2017-09-26 13:05:41 +02:00
GitLab Build Bot
6840df4c09 [ci skip] js-precompiled 20170926-093714 2017-09-26 09:43:21 +00:00
Maciej Hirsz
04e36456bd Merge pull request #6588 from paritytech/mh-pubnode-hardware-wallets
[Public Node] Disable tx scheduling and hardware wallets
2017-09-26 10:37:47 +02:00
Jaco Greeff
9daa884699 Update dependencies 2017-09-26 09:07:22 +02:00
Jef
5c08698fa0 Use memmap for dag cache (#6193)
* Rebase and fix compilation errors (tests not yet fixed)

* Use `debug_assert` over `assert`

* Fix tests

* Assert safety, clean up

* Fix up stale cache removal, move one assert to debug_assert

* Remove printlns

* Add licenses

* Fix benches

* Inline some no-ops in a hot loop that weren't being inlined

* Add spooky comment to make sure no-one removes the inlining annotations

* Minor cleanup

* Add option to switch between mmap and ram

* Flag ethash to use less memory when running light client

* Fix tests

* Remove todo comment (it's done)

* Replace assertion with error return

* Fix indentation

* Use union instead of `transmute`

* Fix benches

* Extract to constants

* Clean up and fix soundness holes

* Fix formatting

* Ignore missing-file errors

* Make incorrect cache size an error condition instead of a panic, remove dead code

* Fix compilation errors from rebase

* Fix compilation errors in tests

* Fix compilation errors in tests
2017-09-25 19:45:33 +02:00
maciejhirsz
0e43ce6e07 Disable time conditions in Tx UI #6445 2017-09-25 17:08:09 +02:00
Robert Habermeier
70be064aa5 Merge pull request #6582 from asymmetric/batch
Rename Requests to Batch
2017-09-25 15:26:18 +02:00
GitLab Build Bot
f576926fa2 [ci skip] js-precompiled 20170925-101032 2017-09-25 10:15:30 +00:00
Maciej Hirsz
b74065a471 Merge pull request #6566 from paritytech/td-rpc-url-fix
Use host as ws/dapps url if present.
2017-09-25 11:25:00 +02:00
Lorenzo Manacorda
aab1cf020c Rename builder module to batch 2017-09-24 20:09:40 +02:00
Lorenzo Manacorda
5f025cc1b8 Rename Requests to Batch 2017-09-24 20:09:30 +02:00
Jaco Greeff
81c71ff4ab Update submodules to master version
# Conflicts:
#	js/src/api/contract/contract.js
#	js/src/redux/providers/requestsActions.js
2017-09-22 14:15:14 +02:00
Jaco Greeff
ab902bfb66 Update packages 2017-09-22 14:03:26 +02:00
maciejhirsz
339f63a61a Fix :NaN port returned by dappsUrl 2017-09-22 13:48:09 +02:00
maciejhirsz
1b7c90e9e1 Remove public node hacks 2017-09-21 16:52:00 +02:00
Tomasz Drwięga
965e8ae74e Use host as ws/dapps url if present. 2017-09-21 15:11:15 +02:00
Jaco Greeff
61bbc19b0b Merge branch 'master' into ui-2 2017-09-21 14:05:27 +02:00
Arkadiy Paronyan
684b142711 Sync progress and error handling fixes (#6560) 2017-09-21 10:12:27 +02:00
Arkadiy Paronyan
4dc7d3dc45 Fixed receipt serialization and RPC (#6555) 2017-09-21 10:11:53 +02:00
Nicolas Gotchac
2b39c43e81 Fix number of confirmations for transaction (#6552)
* 1 confirmation when tx is mined

* Spelling mistake
2017-09-21 10:10:21 +02:00
Travis Jacobs
9e0d2c15cd Fix #6540 (#6556)
* Fix #6540
- just skip the checkRequest call if result of postTransaction is a tx ID

* Fix requestId naming
2017-09-21 10:10:09 +02:00
Jaco Greeff
9ed8178dff Adjust Requests position 2017-09-20 15:49:03 +02:00
Jaco Greeff
4fa4dd8fc8 Update status plugins 2017-09-20 15:01:30 +02:00
Jaco Greeff
dfe45338c0 Move status to the top (alignment/overlaps) 2017-09-20 13:08:38 +02:00
Jaco Greeff
32a29c11a0 CSS lint fixes 2017-09-20 12:55:47 +02:00
Jaco Greeff
d02c696030 Update failing tests 2017-09-20 12:48:03 +02:00
Jaco Greeff
f9b7be7576 Merge branch 'master' into ui-2 2017-09-20 12:14:46 +02:00
GitLab Build Bot
65ca9afce2 [ci skip] js-precompiled 20170920-093438 2017-09-20 09:39:32 +00:00
Jaco Greeff
abb94c8bf3 Update ParityBar (container in Status) 2017-09-20 11:24:19 +02:00
Jaco Greeff
99e981abcf Fix failing hardware tests (#6553) 2017-09-20 10:43:14 +02:00
Jaco Greeff
206abaebb9 Add latest @parity/ui 2017-09-20 09:45:28 +02:00
Jaco Greeff
ac3d548079 Empty block 2017-09-20 09:09:05 +02:00
Jaco Greeff
7e1cb97c7e Make status always visible 2017-09-20 09:04:39 +02:00
Jaco Greeff
51674f2cc4 Update dependencies 2017-09-19 20:48:05 +02:00
Jaco Greeff
413da805b5 Update status styling 2017-09-19 14:28:33 +02:00
Nicolas Gotchac
8a21cde188 Required validators >= num owners (#6551) 2017-09-19 11:58:04 +02:00
Marek Kotewicz
f38d34919b Random cleanups / improvements to a state (#6472) 2017-09-19 11:34:13 +02:00
Jaco Greeff
2eac4f6606 Align request overlay styling 2017-09-18 15:20:10 +02:00
Afri Schoedon
9196c7268a Changelog for 1.7.2 (#6363)
* Prepare changelog for 1.7.1

* Update changelog for 1.7.1

* Prepare changelog for 1.7.2

* Update CHANGELOG

* Update changelog for 1.7.2

* Snapshot sync kicks in after 10k blocks

* Add ropsten fork to changelog

* Add Gnosis multi-sig support to Changelog

* Update final changelog for 1.7.2
2017-09-18 14:40:28 +02:00
Jaco Greeff
3795a4869e Update with master merged packages 2017-09-18 14:03:34 +02:00
Jaco Greeff
2b48668327 Fix merge linting issues 2017-09-18 11:56:08 +02:00
Jaco Greeff
312360ef4e Update master merge packages 2017-09-18 11:52:21 +02:00
Jaco Greeff
db9a70d008 Merge branch 'master' into ui-2
# Conflicts:
#	js/package-lock.json
#	js/src/Application/application.js
#	js/src/api/rpc/parity/parity.js
#	js/src/api/subscriptions/manager.spec.js
#	js/src/api/subscriptions/personal.spec.js
#	js/src/jsonrpc/interfaces/parity.js
#	js/src/mobx/hardwareStore.js
#	js/src/mobx/hardwareStore.spec.js
#	js/src/modals/index.js
#	js/src/redux/providers/signerMiddleware.spec.js
#	js/src/ui/SelectionList/selectionList.css
#	js/src/views/Account/account.spec.js
#	js/src/views/Accounts/accounts.spec.js
#	js/src/views/Application/Extension/store.js
#	js/src/views/Signer/components/SignRequest/signRequest.spec.js
2017-09-18 11:44:09 +02:00
Arkadiy Paronyan
1b6d840ada Ropsten fork (#6533) 2017-09-18 11:12:42 +02:00
Jaco Greeff
afec8358d3 Update dependencies 2017-09-18 10:56:09 +02:00
Jaco Greeff
1e1137a6f7 Update dependencies 2017-09-18 10:35:00 +02:00
Jaco Greeff
935d1476e9 Update test execution 2017-09-18 10:15:36 +02:00
Arkadiy Paronyan
25b35ebddd Byzantium updates (#5855)
* EIP-211 updates

* benchmarks

* blockhash instruction gas cost updated

* More benches

* EIP-684

* EIP-649

* EIP-658

* Updated some tests

* Modexp fixes

* STATICCALL fixes

* Pairing fixes

* More STATICALL fixes

* Use paritytech/bn

* Fixed REVERTing of contract creation

* Fixed more tests

* Fixed more tests

* Blockchain tests

* Enable previously broken tests

* Transition test

* Updated tests

* Fixed modexp reading huge numbers

* Enabled max_code_size test

* Review fixes

* Updated pairing pricing

* missing commas (style)

* Update test.rs

* Small improvements

* eip161abc
2017-09-15 21:07:54 +02:00
Tomasz Drwięga
b602fb4a5e Fix extension detection (#6452)
* Fix extension detection.

* Fix mobx quirks.

* Update submodule.
2017-09-15 15:06:42 +02:00
Tomasz Drwięga
54bd7d26dc Downgrade futures. (#6521) 2017-09-15 14:45:55 +02:00
Marek Kotewicz
d69dd17d3c Merge pull request #6478 from Hawstein/trie-separated-from-util
separate trie from util and make its dependencies into libs
2017-09-15 09:39:10 +02:00
Hawstein
dd7a60c7a8 rename trie to patricia-trie 2017-09-15 11:49:26 +08:00
Hawstein
ade37be25b separate trie from util and make its dependencies into libs:
* bytes
* hashdb
* memorydb
* nibbleslice
* nibblevec
2017-09-15 11:03:53 +08:00
Alexey
79659bdc76 WASM sha3 test (#6512)
* sha3 test for empty input implemented

* rename sha3-> keccak

* update keccak test. Now it expects input to hash

* fix gas_left in tests
2017-09-14 19:32:29 +02:00
Tomasz Drwięga
06ff866e9d Fix broken JavaScript tests (#6498)
* Fixing/removing failing JS tests.

* Fix javascript tests.
2017-09-14 19:32:06 +02:00
Svyatoslav Nikolsky
e3fc3ccada SecretStore: use random key to encrypt channel + session-level nonce (#6470)
* generate random channel encryption key on restart

* session-level nonces

* fixed warning after rebase

* session_nonce -> nonce
2017-09-14 19:29:01 +02:00
Fredrik Harrysson
75b6a31e87 Trezor Support (#6403)
* Copy modal from keepkey branch and generalize

The keepkey PinMatrix modal needs to be the same for Trezor, but we
should probably try to keep it general since it can be used for both.

* Add trezor communication code

This is a result of much trial-and-error and a couple of dead-ends in
how to communicate and wire everything up.

Code here is still a bit WIP with lots of debug prints and stuff.

The test works though, it is possible to sign a transaction.

* Extend the basic lib to allow Trezor

This is kind of ugly and needs some cleanup and generalization. I’ve
just copy-pasted some things to bring in the trezor wallets. I’ve also
had to add a lock to the USB API so that only one thing talks to the
USB at once.

* Add RPC plumbing needed

We need to be able to get “locked” devices from the frontend to figure
out if we’re going to display the PinMatrix or not. Then we need to be
able to send a pin to a device.

* Add logic to query backend for Trezor and display PinMatrix

There’s a bug somewhere here because signing a transaction fails if you
take too long to press the confirm button on the device.

* Change back to paritytech branch

As my fork has been merged in.

* Converting spaces to tabs, as it should be

* Incorporate correct handling of EIP-155

Turns out the Trezor was adjusting the v part of the signature, and
we’re already doing that so it was done twice.

* Some circular logic here that was incorrect

BE-encoded U256 is almost the same as RLP encoded without the
size-byte, except for <u8 sized values. What’s really done is
BE-encoded U256 and then left-trimmed to the smallest size. Kind of
obvious in hindsight.

* Resolve issue where not clicking fast enough fails

The device will not repeat a ButtonRequest when you read from it, so
you need to have a blocking `read` for whatever amount of time that you
want to give the user to click. You could also have a shorter timeout
but keep retrying for some amount of time, but it would amount to the
same thing.

* Scan after pin entry to make accepting it faster

* Remove ability to cancel pin request

* Some slight cleanup

* Probe for the correct HID Version to determine padding

* Move the PinMatrix from Accounts to Application

* Removing unused dependencies

* Mistake in copying over stuff from keepkey branch

* Simplify FormattedMessage

* Move generated code to external crate

* Remove ethcore-util dependency

* Fix broken import in test

This test is useless without a connected Trezor, not sure how to make
it useful without one.

* Merge branch 'master' into fh-4500-trezor-support

# Conflicts:
#	rpc/src/v1/helpers/dispatch.rs

* Ignore test that can't be run without trezor device

* Fixing grumbles

* Avoiding owning data in RPC method
* Checking for overflow in v part of signature
* s/network_id/chain_id
* Propagating an error from the HID Api
* Condensing code a little bit

* Fixing UI.

* Debugging trezor.

* Minor styling tweak

* Make message type into an actual type

This makes the message type that the RPC message accepts into an actual
type as opposed to just a string, based on feedback. Although I’m not
100% sure this has actually improved the situation.

Overall I think the hardware wallet interface needs some refactoring
love.

* Split the trezor RPC endpoint

It’s split into two more generic endpoints that should be suitable for
any hardware wallets with the same behavior to sit behind.

* Reflect RPC method split in javascript

* Fix bug with pin entry

* Fix deadlock for Ledger

* Avoid having a USB lock in just listing locked wallets

* Fix javascript issue (see #6509)

* Replace Mutex with RwLock

* Update Ledger test

* Fix typo causing faulty signatures (sometimes)

* *Actually* fix tests

* Update git submodule

Needed to make tests pass

* Swap line orders to prevent possible deadlock

* Make setPinMatrixRequest an @action
2017-09-14 19:28:43 +02:00
Jaco Greeff
baeab01357 Current @parity/shared (required dapp-* rebuild) 2017-09-13 17:51:38 +02:00
Jaco Greeff
4a184dbbe6 Merge branch 'master' into ui-2 2017-09-13 15:51:02 +02:00
Jaco Greeff
5d774d360e Update with latest dependencies 2017-09-13 13:09:32 +02:00
Jaco Greeff
94df97a5ae Update packages 2017-09-12 15:58:13 +02:00
Jaco Greeff
6e2e122288 Update with recent @parity/ui 2017-09-12 13:32:21 +02:00
ivegotasthma
e9abcb2f6d Fix compiler warning (#6491) 2017-09-12 09:16:39 +02:00
Liu-Cheng Xu
8fda8e2071 Fix typo (#6505) 2017-09-12 09:15:37 +02:00
Jaco Greeff
dc85c66052 file: protocol updates 2017-09-11 14:47:34 +02:00
Svyatoslav Nikolsky
03e039b13d wasm: math_sub_with_overflow test (#6474) 2017-09-11 11:43:33 +02:00
Jaco Greeff
2bcdb07b62 Run electron (dev) from build directory 2017-09-11 10:37:09 +02:00
Jaco Greeff
ceb1dd8d83 Electron app should not display extension install message 2017-09-11 10:00:51 +02:00
Jaco Greeff
093eb3915a Disable signer plugin 2017-09-11 09:31:28 +02:00
GitLab Build Bot
dcea17f8c6 [ci skip] js-precompiled 20170910-175532 2017-09-10 18:00:22 +00:00
Nicolas Gotchac
f1a050366f Fix slow balances (#6471)
* Update token updates

* Update token info fetching

* Update logger

* Minor fixes to updates and notifications for balances

* Use Pubsub

* Fix timeout.

* Use pubsub for status.

* Fix signer subscription.

* Process tokens in chunks.

* Fix tokens loaded by chunks

* Linting

* Dispatch tokens asap

* Fix chunks processing.

* Better filter options

* Parallel log fetching.

* Fix signer polling.

* Fix initial block query.

* Token balances updates : the right(er) way

* Better tokens info fetching

* Fixes in token data fetching

* Only fetch what's needed (tokens)

* Fix linting issues

* Revert "Transaction permissioning (#6441)"

This reverts commit eed0e8b03a.

* Revert "Revert "Transaction permissioning (#6441)""

This reverts commit 8f96415e58dde652e5828706eb2639d43416f448.

* Update wasm-tests.

* Fixing balances fetching

* Fix requests tracking in UI

* Fix request watching

* Update the Logger

* PR Grumbles Fixes

* PR Grumbles fixes

* Linting...
2017-09-10 18:03:35 +02:00
Nikolay Volf
ee14a3fb31 WASM runtime update (#6467)
* refactor to new parity-wasm

* more errors refactoring

* final test

* update tests

* fix merge bugs
2017-09-10 18:02:31 +02:00
Robert Habermeier
375668bc40 Compatibility with whisper v6 (#6179)
* compatibility with whisper v6

* separate subprotocol for parity extensions

* kill version field
2017-09-10 18:02:14 +02:00
Robert Habermeier
246b5282e5 Merge pull request #6468 from paritytech/light-poa-2
light-poa round 2: allow optional casting of engine client to full client
2017-09-08 14:07:52 +02:00
Jaco Greeff
6d8b511d25 Merge master 2017-09-07 13:32:45 +02:00
Jaco Greeff
ee4f370bdb Update CSS linting 2017-09-07 12:51:57 +02:00
Jaco Greeff
afb101e234 Cleanup handler determination 2017-09-07 12:31:32 +02:00
Svyatoslav Nikolsky
8f434cd02c secretstore: attributes under docs (#6475) 2017-09-06 11:09:22 +02:00
Robert Habermeier
ffced4e17f fix test build 2017-09-05 21:24:15 +02:00
Robert Habermeier
7d1c7a0474 allow optional casting of engine client to full client 2017-09-05 17:55:14 +02:00
Robert Habermeier
ad39446e87 Revert "fixed master (#6465)"
This reverts commit 899538ae25.
2017-09-05 17:54:05 +02:00
Marek Kotewicz
7e3c081007 Merge pull request #6464 from paritytech/util_deps_cleanup
cleanup util dependencies
2017-09-05 16:21:05 +02:00
Marek Kotewicz
78c264769e Merge pull request #6463 from paritytech/earlymergedb_traces
removed redundant earlymergedb trace guards
2017-09-05 16:20:43 +02:00
Marek Kotewicz
b6a1e29d11 Merge pull request #6461 from paritytech/util_error_chain
UtilError utilizes error_chain!
2017-09-05 16:20:19 +02:00
debris
4e66d3ca21 fixed old import in json-tests 2017-09-05 15:25:06 +02:00
debris
8b5ce1a772 Merge branch 'master' into util_deps_cleanup 2017-09-05 14:59:42 +02:00
debris
118081c45a Merge branch 'master' into earlymergedb_traces 2017-09-05 14:59:07 +02:00
debris
14d00a7f72 Merge branch 'master' into util_error_chain 2017-09-05 14:58:35 +02:00
Marek Kotewicz
899538ae25 fixed master (#6465)
* fixed master

* Revert "Merge pull request #6370 from paritytech/light-poa"

This reverts commit 3c60f99def, reversing
changes made to b731ccea18.
2017-09-05 14:53:09 +02:00
GitLab Build Bot
e5bbabb2ba [ci skip] js-precompiled 20170905-115347 2017-09-05 11:58:41 +00:00
Jaco Greeff
1d8886fa7d Adjust Signer title colours 2017-09-05 13:33:57 +02:00
Axel Chalon
be745f711f Refactor and port CLI from Docopt to Clap (#2066) (#6356)
* Refactor and port CLI from Docopt to Clap (#2066)

* Add --can-restart and --force-direct to help

* Add flag support to subc & move import/export options to subcommand

* Reorder subcommand args (put positional args last in CLI help message)
2017-09-05 12:30:22 +01:00
Nicolas Gotchac
a62238c19d Add language selector in production (#6317)
* Add language selector in PRODUCTIN

* Fix wrong i18n keys

* Update the default i18n files
2017-09-05 12:26:29 +01:00
Tomasz Drwięga
7462a69583 eth_call returns output of contract creations (#6420)
* eth_call returns output of contract creations

* Fix parameters order.

* Save outputs for light client as well.
2017-09-05 12:22:19 +01:00
debris
4d0e05a8c1 cleanup util dependencies 2017-09-05 13:08:32 +02:00
debris
2b11448b45 removed redundant earlymergedb trace guards 2017-09-05 12:54:00 +02:00
debris
0a71ee95af Merge branch 'master' of github.com:paritytech/parity into util_error_chain 2017-09-05 12:38:15 +02:00
Marek Kotewicz
c49beccadc Merge pull request #6459 from paritytech/fo-6418-dont-export-bigint
Refactor: Don't reexport bigint from util
2017-09-05 12:38:03 +02:00
debris
3497eab26c Merge branch 'fo-6418-dont-export-bigint' of github.com:paritytech/parity into util_error_chain 2017-09-05 12:15:39 +02:00
debris
236b6f1c3e UtilError uses error_chain!, moved OutOfBounds and Mismatched to unexpected crate 2017-09-05 12:14:03 +02:00
Fredrik
2b39af1f09 Updating imports that were introduced with merge 2017-09-05 12:08:02 +02:00
Arkadiy Paronyan
eed0e8b03a Transaction permissioning (#6441) 2017-09-05 10:39:50 +01:00
debris
ccd6ad52cc Merge branch 'fo-6418-dont-export-bigint' of github.com:paritytech/parity into util_error_chain 2017-09-05 11:15:39 +02:00
debris
c623e5f232 ethcore-network does not use UtilError 2017-09-05 11:14:28 +02:00
Fredrik Harrysson
dccdedc001 Merge branch 'master' into fo-6418-dont-export-bigint 2017-09-05 10:48:54 +02:00
Fredrik
d1930ac708 Fix missing imports in tests I had missed 2017-09-05 10:18:21 +02:00
Fredrik
a688370c9d Remove now unnecessary util glob imports 2017-09-05 10:18:07 +02:00
Svyatoslav Nikolsky
2df61d0a8c Merge pull request #6411 from paritytech/secretstore_tests
Added missing SecretStore tests - signing session
2017-09-05 10:35:21 +03:00
Robert Habermeier
3c60f99def Merge pull request #6370 from paritytech/light-poa
Light-client sync for contract-based PoA
2017-09-04 21:20:29 +02:00
Fredrik
e54784bfeb Merge branch 'master' into fo-6418-dont-export-bigint
# Conflicts:
#	dapps/src/tests/helpers/registrar.rs
#	ethcore/evm/src/interpreter/shared_cache.rs
#	ethcore/light/src/client/header_chain.rs
#	ethcore/light/src/client/mod.rs
#	ethcore/light/src/net/mod.rs
#	ethcore/light/src/on_demand/request.rs
#	ethcore/light/src/on_demand/tests.rs
#	ethcore/light/src/provider.rs
#	ethcore/node_filter/src/lib.rs
#	ethcore/src/block.rs
#	ethcore/src/blockchain/blockchain.rs
#	ethcore/src/client/test_client.rs
#	ethcore/src/engines/authority_round/mod.rs
#	ethcore/src/engines/basic_authority.rs
#	ethcore/src/engines/mod.rs
#	ethcore/src/engines/tendermint/mod.rs
#	ethcore/src/engines/validator_set/contract.rs
#	ethcore/src/engines/validator_set/multi.rs
#	ethcore/src/engines/validator_set/safe_contract.rs
#	ethcore/src/engines/vote_collector.rs
#	ethcore/src/miner/external.rs
#	ethcore/src/miner/miner.rs
#	ethcore/src/miner/service_transaction_checker.rs
#	ethcore/src/miner/work_notify.rs
#	ethcore/src/pod_account.rs
#	ethcore/src/pod_state.rs
#	ethcore/src/snapshot/block.rs
#	ethcore/src/snapshot/consensus/work.rs
#	ethcore/src/snapshot/mod.rs
#	ethcore/src/snapshot/service.rs
#	ethcore/src/spec/spec.rs
#	ethcore/src/state/backend.rs
#	ethcore/src/trace/db.rs
#	ethcore/src/verification/queue/mod.rs
#	ethcore/src/verification/verification.rs
#	parity/informant.rs
#	rpc/src/v1/helpers/dispatch.rs
#	rpc/src/v1/helpers/light_fetch.rs
#	rpc/src/v1/helpers/signing_queue.rs
#	rpc/src/v1/impls/eth.rs
#	rpc/src/v1/impls/eth_filter.rs
#	rpc/src/v1/impls/eth_pubsub.rs
#	rpc/src/v1/impls/light/eth.rs
#	rpc/src/v1/impls/signing.rs
#	rpc/src/v1/tests/helpers/miner_service.rs
#	rpc/src/v1/tests/helpers/snapshot_service.rs
#	rpc/src/v1/tests/helpers/sync_provider.rs
#	rpc/src/v1/tests/mocked/eth.rs
#	stratum/src/lib.rs
#	sync/src/blocks.rs
#	sync/src/chain.rs
#	sync/src/light_sync/mod.rs
#	sync/src/tests/helpers.rs
#	sync/src/tests/snapshot.rs
#	updater/src/updater.rs
#	util/src/lib.rs
#	util/triehash/src/lib.rs
2017-09-04 18:32:55 +02:00
Fredrik
308f36a532 Don't reexport bigint from util 2017-09-04 16:36:49 +02:00
Jaco Greeff
a5cc14ce8c Signer plugin attachment 2017-09-04 16:17:39 +02:00
Robert Habermeier
06e97d107b fix rwlock import 2017-09-04 14:52:39 +02:00
Robert Habermeier
7ac3dd0889 Merge branch 'light-poa' of github.com:paritytech/parity into light-poa 2017-09-04 12:49:06 +02:00
Robert Habermeier
ffde22e711 move genesis_epoch_data function to spec 2017-09-04 12:46:32 +02:00
Robert Habermeier
e69e8254db instantiate genesis epoch data if nonexistant in header_chain 2017-09-04 12:37:03 +02:00
Robert Habermeier
372779915f Merge branch 'master' into light-poa 2017-09-04 12:30:37 +02:00
Jaco Greeff
7818ed98c7 Add status bar extension plugins 2017-09-04 12:24:46 +02:00
NikVolf
e00de28556 proper update 2017-09-03 19:54:18 +02:00
Marek Kotewicz
b731ccea18 triehash is separated from util (#6428) 2017-09-03 09:11:14 +02:00
Gav Wood
0309462b36 Update signing_session.rs 2017-09-03 09:06:41 +02:00
Gav Wood
b4cd7ca49a Update consensus_session.rs 2017-09-03 09:06:19 +02:00
Hawstein
7b8af30590 remove re-export of parking_lot in util (#6435) 2017-09-02 20:09:13 +02:00
Hawstein
1d95fe481f fix modexp bug: return 0 if base=0 (#6424) 2017-09-02 20:08:34 +02:00
Hawstein
2faa28ce9b separate semantic_version from util (#6438) 2017-09-02 13:14:21 +02:00
Hawstein
0b5285c282 move timer.rs to ethcore (#6437) 2017-09-02 10:54:39 +02:00
Arkadiy Paronyan
ffae847b48 spacing around comas 2017-09-02 09:57:53 +02:00
GitLab Build Bot
6b8c9cac23 [ci skip] js-precompiled 20170901-161931 2017-09-01 16:33:31 +00:00
Marek Kotewicz
6d98f6fc9a Merge pull request #6433 from Hawstein/not-reexport-ansi_term
remove re-export of ansi_term in util
2017-09-01 17:43:33 +02:00
Hawstein
cf366bdb29 util should not reexport ansi_term 2017-09-01 22:57:57 +08:00
Jaco Greeff
fb7b11553a Test-drive extensions, status first 2017-09-01 14:29:57 +02:00
Jaco Greeff
a1bde406de Don't clobber window.parity, extend 2017-09-01 13:03:00 +02:00
Craig O'Connor
56f46edab8 Pub sub blocks (#6139)
* fun start

* playin

* linting

* cleanup kk 1

* cleanup kk 2

* package

* oops

* grumbles

* lint

* lint 2

* all-possible-cases

* conflict resolution

* conflict resolution

* ready

* lint

* remove package-lock

* Restart subscription on transport close.

* Bring back the formatter.

* Fix formatter.
2017-09-01 12:23:41 +02:00
Robert Habermeier
47f7366a5c Merge pull request #6423 from paritytech/keccak_fn
replace trait Hashable with fn keccak
2017-08-31 17:20:05 +02:00
Jaco Greeff
d0d8002b66 Override uiUrl 2017-08-31 15:36:57 +02:00
debris
e9cc4c848b replace sha3 with keccak in few comments 2017-08-31 15:25:30 +02:00
Hawstein
d31b7d8968 add more hash backward compatibility test for bloom (#6425) 2017-08-31 14:50:06 +02:00
Jaco Greeff
d957a10f47 Update to cater for token URL 2017-08-31 14:08:15 +02:00
debris
ba3b2712a1 fixed grumbles 2017-08-31 12:38:53 +02:00
Jaco Greeff
0238295654 Merge branch 'master' into ui-2 2017-08-31 12:16:27 +02:00
debris
94f717a255 Merge branch 'master' into keccak_fn 2017-08-31 11:53:26 +02:00
debris
7849fff41e finished 2017-08-31 11:35:41 +02:00
debris
f0e8abb07b Hashable::sha3 -> fn keccak for ethcore 2017-08-30 19:18:28 +02:00
Hawstein
e04d58f647 use one hasher in Bloom (#6404)
* remove the redundant hasher in Bloom

* add the test to check the hash backward compatibility
2017-08-30 18:38:05 +02:00
Robert Habermeier
abfa8e95a2 Merge branch 'master' into light-poa 2017-08-30 18:18:52 +02:00
debris
e120c75d17 Hashable::sha3 -> fn keccak for ethcore-network 2017-08-30 17:14:52 +02:00
debris
0e088d783d Hashable::sha3 -> fn keccak for ethcore-util 2017-08-30 16:20:21 +02:00
Axel Chalon
6b5ad69c22 Remove reexport of HeapSizeOf in util (#6419) 2017-08-30 16:04:47 +02:00
Marek Kotewicz
f7e15f2450 Merge pull request #6194 from paritytech/Fix-4858
Rewards on closing blocks
2017-08-30 15:07:38 +02:00
debris
8a420d6580 fixed merge 2017-08-30 14:37:02 +02:00
debris
88200a1193 Merge branch 'master' into Fix-4858 2017-08-30 14:30:39 +02:00
Jaco Greeff
5b8236cdbd Update for non HTTP use 2017-08-30 12:47:14 +02:00
Marek Kotewicz
b47e76a1a5 Merge pull request #6413 from paritytech/immediate-transitions-fix-2
ensure balances of constructor accounts are kept
2017-08-30 12:27:37 +02:00
Jaco Greeff
be56a06790 Basic electron interface 2017-08-30 11:59:38 +02:00
Robert Habermeier
4e1fefc8ea test balance of spec-constructed account is kept 2017-08-30 11:57:48 +02:00
Jaco Greeff
d7de40ab4c Init history in dapp module 2017-08-30 11:29:15 +02:00
Marek Kotewicz
da91a07906 Merge pull request #6394 from paritytech/trie_recursion
removed recursion from triedbmut::lookup
2017-08-30 10:07:44 +02:00
Jaco Greeff
b1428c2b56 Update packages 2017-08-30 09:29:28 +02:00
Robert Habermeier
c1c7d7a3e2 ensure balances of constructor accounts are kept 2017-08-29 17:02:38 +02:00
Robert Habermeier
36d046f3ca do not activate genesis epoch in immediate transition validator contract (#6349) 2017-08-29 15:16:24 +02:00
Robert Habermeier
d3c3e0b164 Merge branch 'master' into light-poa 2017-08-29 15:14:58 +02:00
Leo Arias
53401d6962 Use git for the snap version (#6271)
For commits with an annotated tag, that tag will be the version. For other commits, a git identifier will be used.
This way, there is no need to manually edit the snap version.
2017-08-29 15:14:07 +02:00
Gav Wood
e3666457cf Consistent use of ,s 2017-08-29 15:12:58 +02:00
Jaco Greeff
35202e28c2 Update webpack 2017-08-29 15:11:09 +02:00
Gav Wood
50495c6898 Merge branch 'master' into Fix-4858 2017-08-29 15:11:05 +02:00
Arkadiy Paronyan
d520aa2633 Connection filter (#6359) 2017-08-29 14:38:01 +02:00
Svyatoslav Nikolsky
a3eceb0c6c added missing SecretStore tests 2017-08-29 15:35:39 +03:00
Jaco Greeff
2593477151 Don't show tags for dapps 2017-08-29 13:03:06 +02:00
debris
100d1c7bf6 make triedbmut lookup shorter 2017-08-29 12:31:40 +02:00
debris
e390e6b0af Merge branch 'master' into trie_recursion 2017-08-29 12:23:37 +02:00
Robert Habermeier
96e9a73a1b Merge pull request #6408 from paritytech/txqueue
Don't accept transactions above block gas limit.
2017-08-29 12:13:16 +02:00
Jaco Greeff
c2f0778e80 Merge branch 'master' into ui-2 2017-08-29 11:58:53 +02:00
Jaco Greeff
39cf190db7 Update dependencies 2017-08-29 10:50:47 +02:00
Tomasz Drwięga
b8e6799d67 Don't accept transactions above block gas limit. 2017-08-29 10:50:13 +02:00
Jaco Greeff
2a0820278b Update 2017-08-29 10:18:02 +02:00
Marek Kotewicz
e7cc0477fb Merge pull request #6399 from paritytech/evm-trace-fix
Fix memory tracing.
2017-08-28 18:53:22 +02:00
Marek Kotewicz
17fa7edbbf Merge pull request #6393 from paritytech/earlymergedb_optimizations
earlydb optimizations
2017-08-28 18:46:41 +02:00
Marek Kotewicz
c6b3faca64 Merge pull request #6321 from paritytech/plain_hasher
Optimized PlainHasher hashing. Trie insertions are >15% faster
2017-08-28 18:46:04 +02:00
Marek Kotewicz
8ead8061ee Merge pull request #6389 from paritytech/trie
Trie optimizations
2017-08-28 18:45:30 +02:00
Marek Kotewicz
bf68c87a08 Merge pull request #6392 from paritytech/triehash
small optimizations for triehash
2017-08-28 18:44:47 +02:00
Tomasz Drwięga
d90ec3d192 Bring back IPFS tests. (#6398) 2017-08-28 15:22:59 +02:00
debris
322da07010 Merge branch 'master' into trie 2017-08-28 15:08:22 +02:00
debris
8019d222a7 fixed TrieDb::seek accordingly to review suggestions 2017-08-28 15:08:16 +02:00
Tomasz Drwięga
f9a08e285c Running state test using parity-evm (#6355)
* Initial version of state tests.

* Refactor state to support tracing.

* Unify TransactResult.

* Add test.
2017-08-28 14:25:16 +02:00
Nikolay Volf
abecd80f54 Wasm math tests extended (#6354)
* extend math tests

* use latest wasm-tests

* cleanup

* avoid overflow

* use correct gas-

* and division
2017-08-28 14:12:40 +02:00
Tomasz Drwięga
3226e1ca33 Expose health status over RPC (#6274)
* Node-health to a separate crate.

* Initialize node_health outside of dapps.

* Expose health over RPC.

* Bring back 412 and fix JS.

* Add health to workspace and tests.

* Fix compilation without default features.

* Fix borked merge.

* Revert to generics to avoid virtual calls.

* Fix node-health tests.

* Add missing trailing comma.
2017-08-28 14:11:55 +02:00
debris
752dad6829 commit plain_hasher to util 2017-08-28 12:40:29 +02:00
Tomasz Drwięga
4f69ee0437 Add test to cover that. 2017-08-28 12:32:19 +02:00
debris
e0c2995f78 Merge branch 'master' into plain_hasher 2017-08-28 12:30:05 +02:00
Jaco Greeff
1b0efa97b2 Merge branch 'master' into ui-2 2017-08-28 10:09:54 +02:00
Hawstein
622632616c fix bloom bitvecjournal storage allocation (#6390) 2017-08-28 09:19:04 +02:00
debris
4ac95b44e2 earlydb optimizations 2017-08-27 18:17:55 +02:00
debris
9cb4c99e5b removed triedbmut recursion 2017-08-27 17:33:03 +02:00
debris
301a4720b7 small optimizations for triehash 2017-08-27 16:50:22 +02:00
Marek Kotewicz
15c3233376 Merge pull request #6391 from paritytech/pending_panic
fixed pending block panic
2017-08-27 14:46:49 +02:00
debris
faf0428b60 fixed pending block panic, closes #6239 2017-08-27 13:10:08 +02:00
Tomasz Drwięga
dd3b6d49ee Fix memory tracing. 2017-08-26 21:53:41 +02:00
debris
7246c9c74b removed redundant * 2017-08-26 19:16:08 +02:00
debris
5395f13528 optimized hashdb keys 2017-08-26 19:09:32 +02:00
debris
9083923f27 optimized memorydb insert, remove and emplace 2017-08-26 18:34:16 +02:00
debris
5d6c53c9bd triedb seek and descend is not recursive 2017-08-26 18:33:43 +02:00
Jaco Greeff
7438cfc47d Merge branch 'master' into ui-2 2017-08-25 12:14:56 +02:00
GitLab Build Bot
b6024adf85 [ci skip] js-precompiled 20170825-090654 2017-08-25 09:11:39 +00:00
Jon Choi
5b6d47aeef Infoline less opaque for UI/visibility (#6364) 2017-08-25 16:31:48 +08:00
Robert Habermeier
c79ecee094 only load ancestry from chain closure in engine 2017-08-24 16:29:31 +02:00
Robert Habermeier
b953f9b66a glue for fetching epoch proofs from network 2017-08-24 15:17:48 +02:00
Jaco Greeff
10a7750027 Merge branch 'master' into ui-2 2017-08-24 13:49:34 +02:00
Tomasz Drwięga
5c0f9f1c40 Fix eth_call. (#6365)
* Fix eth_call.

* Fix warning spam.
2017-08-24 13:13:01 +02:00
Jaco Greeff
d97f6b3812 Add @parity/jsonrpc explicitly 2017-08-24 13:07:22 +02:00
Jaco Greeff
3e08829c39 Merge branch 'master' into ui-2 2017-08-24 12:02:23 +02:00
Jaco Greeff
ae66b98aac Update dependencies 2017-08-24 12:01:47 +02:00
Robert Habermeier
871a9c063e Merge branch 'master' into light-poa 2017-08-23 15:49:02 +02:00
Robert Habermeier
2ff3dff6ea serve epoch signals over network and check them 2017-08-23 15:37:35 +02:00
Marek Kotewicz
4bda7bf175 updated bigint (#6341) 2017-08-22 17:05:28 +02:00
Jaco Greeff
21e8c31aec Update dependencies 2017-08-22 16:51:40 +02:00
Jaco Greeff
630118b5a5 Merge branch 'master' into ui-2 2017-08-22 15:12:30 +02:00
Robert Habermeier
7f3e718851 EngineClient implementation for light client 2017-08-22 21:02:40 +08:00
Marek Kotewicz
5dac15fa85 Merge pull request #6347 from paritytech/trieiter
Optimize trie iter by avoiding redundant copying
2017-08-22 11:26:25 +02:00
Marek Kotewicz
6e8f97667a Merge pull request #6346 from paritytech/a5-rocksdb-logging
Only keep a single rocksdb debug log file
2017-08-22 11:26:06 +02:00
Arkadiy Paronyan
d41dd13918 Tweaked snapshot params (#6344) 2017-08-22 11:24:56 +02:00
Robert Habermeier
b4d3f78d67 Merge pull request #6345 from paritytech/networkid
Rename network_id to chain_id where applicable.
2017-08-22 17:01:23 +08:00
Robert Habermeier
9ae2ed39ec only use engineclient trait for engines, separated from client trait 2017-08-22 16:00:44 +08:00
debris
6c00dc71c1 Optimize trie iter by avoiding redundant copying 2017-08-21 18:35:39 +02:00
Marek Kotewicz
6f03c2bfd1 Merge pull request #6322 from paritytech/itertools
Itertools are no longer reexported from util, optimized triedb iter
2017-08-21 15:58:46 +02:00
5chdn
98f86d553a Only keep a single debug log file, ref #1100 2017-08-21 15:33:31 +02:00
debris
10914c8346 avoid runtime underflow if nibbles are empty 2017-08-21 14:36:59 +02:00
Tomasz Drwięga
73644adf69 Rename network_id to chain_id where applicable. 2017-08-21 14:23:10 +02:00
GitLab Build Bot
f3e7d7c725 [ci skip] js-precompiled 20170821-094253 2017-08-21 09:48:30 +00:00
Robert Habermeier
2985561012 detect epoch changes in light client 2017-08-21 18:31:25 +09:00
Marek Kotewicz
e8841ae9e2 Merge pull request #6331 from paritytech/fix-startup-wizard
Better check the created accounts before showing Startup Wizard
2017-08-21 10:44:54 +02:00
debris
b68375d462 less unsafe code 2017-08-21 10:19:53 +02:00
debris
a247d5b2dc Merge branch 'master' into itertools 2017-08-21 09:12:36 +02:00
Tomasz Drwięga
f79159a69c Improve some RPC error messages. (#6311) 2017-08-20 12:13:00 +08:00
cdetrio
4ccc82be92 fix panic in parity-evm json tracer (#6338) 2017-08-20 12:03:47 +08:00
Nikolay Volf
9e4c122cf3 WASM math test (#6305)
* wasm tests initial

* fix bug in bitswap
2017-08-20 12:02:59 +08:00
Marek Kotewicz
407c8c3fb9 rlp_derive (#6125)
* rlp_derive

* RlpEncodableWrapper, RlpDecodableWrapper

* use rlp_derive in parity

* fixed broken transaction Action serialization
2017-08-20 12:01:46 +08:00
Robert Habermeier
6ab0fc4e14 epoch transitions in the header chain DB 2017-08-19 17:07:31 +09:00
Tomasz Drwięga
5ed14c1064 Fix --chain parsing in evmbin. (#6314) 2017-08-18 17:44:40 +02:00
GitLab Build Bot
2c0a1b652c [ci skip] js-precompiled 20170818-143526 2017-08-18 14:40:04 +00:00
Tomasz Drwięga
010be34660 Unexpose methods on UI RPC. (#6295) 2017-08-18 15:58:45 +02:00
Tomasz Drwięga
cd0c77dc5c Ignore errors from dappsUrl when starting UI. (#6296)
* Ignore errors from dappsUrl when starting UI.

* Fix linter.
2017-08-18 15:51:52 +02:00
Nicolas Gotchac
444233bd1b Better check the created accounts before showing Startup Wizard 2017-08-18 15:28:41 +02:00
debris
7de4a3a2df move plain hasher to a crate 2017-08-17 20:40:10 +02:00
Marek Kotewicz
2129edaae9 Merge pull request #6323 from paritytech/updated_bigint
updated bigint with optimized mul and from_big_indian
2017-08-17 19:09:03 +02:00
debris
209e8eff35 updated bigint with optimized mul and from_big_indian 2017-08-17 18:11:34 +02:00
debris
32d2cd74d4 ping ci 2017-08-17 17:35:00 +02:00
debris
4cb610d9ae Itertools are no longer reexported from util, optimized triedb iter 2017-08-17 16:05:26 +02:00
debris
697d17ae9b Optimized PlainHasher hashing 2017-08-17 14:59:43 +02:00
Robert Habermeier
fefc756870 Merge pull request #6168 from paritytech/secretstore_stresstest
SecretStore: bunch of fixes and improvements
2017-08-16 21:20:22 +09:00
Afri
febf774b4e Master requires rust 1.19 (#6308) 2017-08-16 12:24:42 +02:00
Svyatoslav Nikolsky
a02db13278 moved attributes under docs 2017-08-16 09:40:00 +03:00
Robert Habermeier
f19911660d Merge pull request #6302 from paritytech/ledger-sign
Add more descriptive error when signing/decrypting using hw wallet.
2017-08-16 05:55:28 +02:00
Robert Habermeier
d5252ddf64 Merge pull request #6299 from paritytech/callgas
Increase default gas limit for eth_call.
2017-08-16 05:55:16 +02:00
Tomasz Drwięga
67a07adb0b Add more descriptive error when signing/decrypting using hw wallet. 2017-08-15 12:11:34 +02:00
Tomasz Drwięga
5ff771b125 Cap gas limit for dapp-originating requests. 2017-08-15 10:38:49 +02:00
Tomasz Drwięga
a34bea1dad Fix balance increase. 2017-08-15 10:07:00 +02:00
Robert Habermeier
1e269c94a6 prove_transaction function on state 2017-08-15 00:12:40 +02:00
Tomasz Drwięga
60f6a3fed3 Increase default gas limit for eth_call. 2017-08-14 16:59:46 +02:00
Marek Kotewicz
b9c1d0bd18 rust-toolchain file on master (#6266) 2017-08-14 13:47:53 +02:00
Nikolay Volf
4ab607d4de wasm-std refactoring (#6278) 2017-08-14 12:33:52 +03:00
GitLab Build Bot
d115006597 [ci skip] js-precompiled 20170813-184308 2017-08-13 18:48:32 +00:00
Tomasz Drwięga
10068cee72 Extension fixes (#6284)
* Fix token symbols in extension.

* Allow connections from firefox extension.
2017-08-13 17:41:50 +02:00
Tomasz Drwięga
b5b6e3dd2a Fix a hash displayed in tooltip when signing arbitrary data (#6283)
* Allow connections from firefox extension.

* Displaying actual data that will be signed on hover.

* Display a tooltip.

* Revert "Allow connections from firefox extension."

This reverts commit d3323b76fe28564c2366ceec3d891de19884192f.
2017-08-13 17:41:08 +02:00
Jaco Greeff
f0e20142af Rebuild 2017-08-11 03:19:28 +02:00
Tomasz Drwięga
604ea5d684 Time should not contribue to overall status. (#6276) 2017-08-10 18:48:03 +02:00
Tomasz Drwięga
146feea4a6 Add --to and --gas-price (#6277) 2017-08-10 18:47:23 +02:00
Tomasz Drwięga
65482c5e9d Fix dapps CSP when UI is exposed externally (#6178)
* Allow embeding on any page when ui-hosts=all and fix dev_ui

* Fix tests.
2017-08-10 18:32:10 +02:00
Anton Gavrilov
bfd238e000 Style fixed after review 2017-08-10 12:36:29 +02:00
GitLab Build Bot
ecd880c8e7 [ci skip] js-precompiled 20170810-101054 2017-08-10 10:16:01 +00:00
Tomasz Drwięga
30be0972b9 Add warning to web browser and fix links. (#6232) 2017-08-10 11:16:02 +02:00
GitLab Build Bot
b21932687a [ci skip] js-precompiled 20170809-182421 2017-08-09 18:29:28 +00:00
Björn Wagner
e128285a77 Replace 'home.parity' with 'parity.web3.site' (#4771) 2017-08-09 19:07:15 +02:00
Craig O'Connor
7d17d77254 Dapp refresh (#5752)
* RwLock

* getting there

* argh

* parking_lot

* rpc

* wax on wax off

* almost there

* remove lock

* write over read

* works

* linting

* small updates

* dissapearing act

* router update

* complete

* one m

* grumbles1

* grumbles part II

* parking_lot->util

* missed test case

* fied package-lock.json

* small fixes

* 404 tests failing

* cleanup

* cleanup 2

* updates and the likes

* play

* simplify filter

* f-ing bugs

* read->write

* Address own grumbles.

* Fix test.
2017-08-09 19:06:40 +02:00
Nicolas Gotchac
d6eb053826 Add support for ConsenSys multisig wallet (#6153)
* First draft of ConsenSys wallet

* Fix transfer store // WIP Consensys Wallet

* Rename walletABI JSON file

* Fix linting

* Fix wrong daylimit in wallet modal

* Confirm/Revoke ConsensysWallet txs

* Linting

* Change of settings for the Multisig Wallet
2017-08-09 19:06:14 +02:00
Svyatoslav Nikolsky
cc95edf4dc fixed grumbles 2017-08-09 18:17:28 +03:00
Marek Kotewicz
a8a11e56db updated jsonrpc (#6264) 2017-08-09 17:40:52 +03:00
Jaco Greeff
039729a074 Export default function for shellMiddleware 2017-08-09 13:17:52 +02:00
Jaco Greeff
4176936d34 Move shell APIs to middleware 2017-08-09 13:03:26 +02:00
Svyatoslav Nikolsky
45087599ef lost commit 2017-08-09 12:33:41 +03:00
Svyatoslav Nikolsky
9b34c77f98 Merge branch 'master' into secretstore_stresstest 2017-08-09 12:29:29 +03:00
Svyatoslav Nikolsky
33ba5b63f3 SecretStore: encrypt messages using private key from key store (#6146)
* do not cache ACL storage contract

* when error comes before initialization

* initial KeyServerSet commit

* update_nodes_set in maintain

* do not connect to self

* fixed connection establishing

* removed println

* improved KeyServerSet tracing

* moved parsing to KeyServerSet

* re-read only when blockchain is changed

* do not try to connect if not a part of cluster

* improved logging

* fixed tests

* NodeKeyPAir trait

* fixed parity to use new trait

* continue integrating with parity

* updated parity for NodeKeyPair

* completed KeyStoreNodeKeyPair

* removed comment

* removed dependency && style
2017-08-09 11:09:40 +02:00
Jaco Greeff
f967bc4ac0 Don't mask top-level params 2017-08-09 11:01:34 +02:00
Alexey
d209100a60 Wasm storage read test (#6255)
* Test for read from prepopulated storage implemented

* wasm-tests submodule update

* fix identation

* comment for storage_read added
2017-08-09 10:57:54 +02:00
Marek Kotewicz
78b3d71745 propagate stratum submit share error upstream, fixes #6258 (#6260) 2017-08-09 10:57:23 +02:00
Jaco Greeff
2d5541f533 Add shell_loadApp API 2017-08-09 10:55:15 +02:00
Jaco Greeff
9aae4614a1 Update with latest package versions 2017-08-09 09:43:02 +02:00
Jaco Greeff
317addb7e3 Remove ~ alias 2017-08-09 09:36:40 +02:00
Jaco Greeff
a11e9acd12 Merge branch 'master' into ui-2 2017-08-09 09:32:22 +02:00
Tomasz Drwięga
e93466c897 Using multiple NTP servers (#6173)
* Small improvements to time estimation.

* Allow multiple NTP servers to be used.

* Removing boxing.

* Be nice.

* Be nicer.

* Update list of servers and add reference.
2017-08-09 08:45:07 +02:00
Afri
72fa6a79a2 Add GitHub issue templates. (#6259)
* Prepare GH templates for contributors

* Add GH issue template

* Add homebrew as option
2017-08-09 08:43:40 +02:00
Marek Kotewicz
e7a7bd6695 Merge pull request #6241 from paritytech/poa-proof-fix
format instant change proofs correctly
2017-08-08 20:58:26 +02:00
Marek Kotewicz
80db43442e Merge pull request #6231 from paritytech/price_info_util
price-info does not depend on util
2017-08-08 20:56:12 +02:00
Marek Kotewicz
f2929f3b19 Merge pull request #6233 from paritytech/native_contracts_util
native-contracts crate does not depend on util any more
2017-08-08 20:55:36 +02:00
Afri
afbda7baa8 Bump master to 1.8.0 (#6256)
* Bump master to 1.8.0

* Use jsonrpc-core to avoid breaking master

* Update Cargo.lock
2017-08-08 20:18:00 +02:00
Svyatoslav Nikolsky
872e5537bb SecretStore: do not cache ACL contract + on-chain key servers configuration (#6107)
* do not cache ACL storage contract

* when error comes before initialization

* initial KeyServerSet commit

* update_nodes_set in maintain

* do not connect to self

* fixed connection establishing

* removed println

* improved KeyServerSet tracing

* moved parsing to KeyServerSet

* re-read only when blockchain is changed

* do not try to connect if not a part of cluster

* improved logging

* fixed tests
2017-08-07 18:54:05 +02:00
Afri
a20892e5e6 Fix the README badges (#6229)
* Update README.md

* Set latest release to 1.7
2017-08-07 18:12:00 +02:00
Jaco Greeff
b0228e66a0 Update/rebuild after merge 2017-08-07 12:27:10 +02:00
Jaco Greeff
a48f321fac Merge branch 'master' into ui-2 2017-08-07 12:02:39 +02:00
GitLab Build Bot
67ccfa1da1 [ci skip] js-precompiled 20170807-093816 2017-08-07 09:43:01 +00:00
Marek Kotewicz
bdeea80032 Merge pull request #6248 from paritytech/tiny_keccak_up
updated tiny-keccak to 1.3
2017-08-07 10:58:36 +02:00
Jaco Greeff
0371dcb7bd Explicityly serve via /index.html 2017-08-07 10:20:27 +02:00
debris
455ecf700c updated tiny-keccak to 1.3 2017-08-07 10:06:02 +02:00
GitLab Build Bot
82f90085ee [ci skip] js-precompiled 20170807-004826 2017-08-07 00:53:11 +00:00
Robert Habermeier
66ab102111 Merge pull request #6244 from pietervdvn/master
Small grammatical error
2017-08-07 02:15:06 +02:00
Pieter Vander Vennet
2adc25eec7 Merge pull request #1 from pietervdvn/pietervdvn-patch-1
Fixed typo (s/seems is/seems)
2017-08-06 18:35:19 +02:00
Pieter Vander Vennet
ee07bf29ce Fixed typo (s/seems is/seems) 2017-08-06 18:33:54 +02:00
Robert Habermeier
e43b1084c3 format instant change proofs correctly 2017-08-04 21:43:31 +02:00
Jaco Greeff
28e2383778 Update build 2017-08-04 16:23:54 +02:00
Anton Gavrilov
dd91121017 Common method for tracing refactored due to comments on review 2017-08-04 16:06:12 +02:00
Jaco Greeff
b7ebfab575 Allow webpack to parse modules 2017-08-04 15:58:33 +02:00
Tomasz Drwięga
f157461ee1 Multi-call RPC (#6195)
* Removing duplicated pending state accessors in miner.

* Merge miner+client call.

* Multicall & multicall RPC.

* Sensible defaults.

* Fix tests.
2017-08-04 15:58:14 +02:00
debris
35bfbc39f8 native-contracts crate does not depend on util any more 2017-08-04 15:45:47 +02:00
Jaco Greeff
49a4499d52 Update webpack 2017-08-04 14:28:55 +02:00
debris
7ddfd2f030 revert fetch is_success changes 2017-08-04 14:12:27 +02:00
Jaco Greeff
44a7c3d0b6 Re-add modules path 2017-08-04 13:50:51 +02:00
Jaco Greeff
1bf851ad91 Really excluse node_modules 2017-08-04 13:44:38 +02:00
debris
f72196f1bb a bit more idiomatic price-info 2017-08-04 13:39:57 +02:00
Jaco Greeff
2df7a5fe51 Cheap source-maps for development 2017-08-04 13:26:56 +02:00
Jaco Greeff
0892bc90ed Update sourcemap types 2017-08-04 13:24:03 +02:00
debris
63f8cc3503 price-info does not depend on util 2017-08-04 13:06:01 +02:00
Marek Kotewicz
62153b1ff0 Merge pull request #6223 from paritytech/instant_seal_fix
InstantSeal fix
2017-08-04 12:47:05 +02:00
Jaco Greeff
c088a9a660 Update dependencies 2017-08-04 11:57:05 +02:00
Anton Gavrilov
655ed93ee8 Common engine method for bestowing rewards created 2017-08-04 11:28:26 +02:00
Robert Habermeier
ae9f35668e Merge pull request #6227 from paritytech/rlp-check
Untrusted RLP length overflow check
2017-08-03 21:20:38 +02:00
NikVolf
d30e47a50e add test 2017-08-03 21:49:40 +03:00
NikVolf
6b3f5c977a overflow check in addition 2017-08-03 21:35:51 +03:00
Robert Habermeier
0abf2abc81 checking for signals in the light client 2017-08-03 18:18:19 +02:00
Jaco Greeff
e7641e38d8 Update build 2017-08-03 16:50:35 +02:00
debris
b0f9d73f6a InstantSeal fix 2017-08-03 16:42:56 +02:00
Anton Gavrilov
30434325a2 Modification of traces moved to engines 2017-08-03 15:55:58 +02:00
Jaco Greeff
34f9e69bff Update file-loader 2017-08-03 13:30:17 +02:00
Anton Gavrilov
01a02a8985 Wasm test link changed 2017-08-02 19:02:01 +02:00
Jaco Greeff
e99f86a052 Update locked versions 2017-08-02 17:54:21 +02:00
Jaco Greeff
f94f69c05c Import UI components directly 2017-08-02 17:34:16 +02:00
Anton Gavrilov
01ea968d4f Merge with master 2017-08-02 17:24:34 +02:00
Jaco Greeff
696089c479 Update with latest dapps 2017-08-02 17:16:26 +02:00
Anton Gavrilov
2e840bc89c Fixed comments after the review 2017-08-02 17:10:06 +02:00
Jaco Greeff
45f91facf1 Don't copy source window 2017-08-02 13:56:09 +02:00
Marek Kotewicz
0c7c34e609 Chainspec validation (#6197)
* chainspec validation

* better error formatting for chainspec

* lint validate_chainspecs.sh

* quit takes &str instead of S: AsRef<str>

* push CI

* don't double check spec validity
2017-08-02 12:50:36 +02:00
Tomasz Drwięga
8de1e92b99 Fix cache path when using --base-path (#6212) 2017-08-02 12:38:58 +02:00
Jaco Greeff
ffd53edf89 Update build 2017-08-02 11:15:36 +02:00
Svyatoslav Nikolsky
47c058a337 fixed warning 2017-08-02 12:05:47 +03:00
Jaco Greeff
0a3a860b27 Add dapp-develop 2017-08-02 10:02:53 +02:00
Jaco Greeff
cbd32035c8 Cleanup webpack config 2017-08-02 08:44:56 +02:00
Jaco Greeff
aa95c09a88 Re-add happypack for babel builds 2017-08-01 18:11:35 +02:00
GitLab Build Bot
191f409741 [ci skip] js-precompiled 20170801-155944 2017-08-01 16:06:06 +00:00
Jaco Greeff
34a8daa629 Add addresses dapp 2017-08-01 17:42:04 +02:00
Jaco Greeff
1d96ba7dfc Update 2017-08-01 17:35:17 +02:00
Marek Kotewicz
b24053f4df Merge pull request #6187 from paritytech/split
removed std reexports from util && fixed broken tests
2017-08-01 17:19:02 +02:00
debris
7f85c0ce2a Fixed evmbin 2017-08-01 16:41:33 +02:00
Jaco Greeff
3006ab9253 Updated with working accounts 2017-08-01 16:07:35 +02:00
debris
af8c5bb31a fix for util on linux 2017-08-01 15:53:50 +02:00
Jaco Greeff
67db54d765 Update webpack config for semantic 2017-08-01 15:51:03 +02:00
Jaco Greeff
dea25b194e Update build (yes, external dapps launch) 2017-08-01 15:36:32 +02:00
Jaco Greeff
9b678a58e8 Use serviceWorker from shared 2017-08-01 15:05:44 +02:00
Jaco Greeff
52828c0444 Update inject 2017-08-01 15:04:07 +02:00
Jaco Greeff
f8bf4a1522 Update build to pull from external repos 2017-08-01 14:41:13 +02:00
debris
a2c05123fd Merge branch 'master' into split 2017-08-01 14:24:47 +02:00
Marek Kotewicz
5b0eeb75ef Merge pull request #6132 from paritytech/wasm-mvp
WASM MVP continued
2017-08-01 14:08:58 +02:00
NikVolf
d82c2c8cc6 add targets to the CI 2017-08-01 14:42:31 +03:00
NikVolf
c1108da6e9 fixed wasm tests 2017-08-01 14:35:43 +03:00
NikVolf
017430e803 fixed evm tests 2017-08-01 14:33:49 +03:00
Jaco Greeff
c509733a30 Split all packages/* to external repos 2017-08-01 12:51:41 +02:00
Nikolay Volf
b7006034b1 Decouple virtual machines (#6184)
* work in progress for splitting vms

* evm working

* Evm -> Vm

* wasm converted

* ethcore working

* test fixes
2017-08-01 13:37:57 +03:00
debris
6e5a563c06 fixed scripts and reverted ipfs comment 2017-08-01 12:32:34 +02:00
Marek Kotewicz
c4025622de Merge pull request #6177 from paritytech/wasm-realloc-test
Realloc test added
2017-08-01 11:04:59 +02:00
Jaco Greeff
b5f4c40406 Re-add webpack-dev-server 2017-08-01 08:12:21 +02:00
Jaco Greeff
317a59d550 Build update 2017-08-01 08:02:28 +02:00
GitLab Build Bot
a6891e9f9f [ci skip] js-precompiled 20170731-215156 2017-07-31 21:57:18 +00:00
Jaco Greeff
0e7c115b73 Update build 2017-07-31 22:53:29 +02:00
debris
bfbeda4ede fixed tests 2017-07-31 20:17:19 +02:00
debris
3c7ba5045d Merge branch 'master' into split 2017-07-31 19:40:33 +02:00
Maciej Hirsz
46126b5fb6 Merge pull request #6196 from paritytech/mh-pubnode-extacc
Re-enable wallets, fixed forgetting accounts
2017-07-31 18:14:50 +02:00
Anton Gavrilov
141c2fd34a Fixed comments after review and test after rebase 2017-07-31 18:10:06 +02:00
Jaco Greeff
0b71baac4a Remove embed (for now) 2017-07-31 17:56:33 +02:00
maciejhirsz
2ca4adb62c Re-enable wallets, fixed forgetting accounts 2017-07-31 17:51:23 +02:00
Jaco Greeff
7f6e2a3a35 Build with parallel-webpack 2017-07-31 17:08:51 +02:00
debris
81b57ceddb Merge branch 'master' into split 2017-07-31 16:19:59 +02:00
fro
fe6bdc870c realloc test contract submodule update 2017-07-31 16:54:26 +03:00
Jaco Greeff
fdebeaf95b Update webpack 2017-07-31 13:58:18 +02:00
Anton Gavrilov
8826fdb03a Merge with head 2017-07-31 13:49:44 +02:00
Anton Gavrilov
e8095826bf Tabs corrected 2017-07-31 13:42:40 +02:00
Anton Gavrilov
9374e31072 Miner field renamed to author 2017-07-31 13:42:40 +02:00
Anton Gavrilov
1a3f3ffdbf Transaction ids made optional in order to reflect not transactional traces 2017-07-31 13:42:40 +02:00
Anton Gavrilov
45043c3f52 Fixed errors after merge with master 2017-07-31 13:42:40 +02:00
Anton Gavrilov
f2d12aebef Unit tests for tracing reward added 2017-07-31 13:42:40 +02:00
Anton Gavrilov
3fdb912db6 Complete version of tracing test with reward 2017-07-31 13:42:40 +02:00
Anton Gavrilov
5086dc3024 Working test with block reward added 2017-07-31 13:42:34 +02:00
Anton Gavrilov
204a63a00e Warnings removed 2017-07-31 13:40:45 +02:00
Anton Gavrilov
06862c7dee Tracing for rewards added. Without tests for now 2017-07-31 13:40:37 +02:00
Robert Habermeier
003eef982b Move more params to the common section. (#6134)
* move common forks and parameters to common params

* port specs over to new format

* fix RPC tests
2017-07-31 12:34:29 +02:00
Anton Gavrilov
bb043ba2fd Tabs corrected 2017-07-31 12:23:47 +02:00
Anton Gavrilov
94efa3ac19 Miner field renamed to author 2017-07-31 12:06:38 +02:00
Jaco Greeff
58c3948316 Remove extra options 2017-07-31 12:06:21 +02:00
Jaco Greeff
ec62d6f7e0 Additional compose removed 2017-07-31 11:30:46 +02:00
Jaco Greeff
6a51ff22d0 Cleanup unused vars 2017-07-31 11:24:54 +02:00
Jaco Greeff
6349da22ac Fix NODE_ENV=production build 2017-07-31 11:24:25 +02:00
kaikun213
9c5ef1f776 Merge pull request #6161 from paritytech/whisper-js
Whisper js
2017-07-31 11:23:52 +02:00
kaikun213
32fafd7a24 CI fix: Interface shh subscribe params 2017-07-31 10:58:49 +02:00
debris
88cc4cd17a Merge branch 'master' into split 2017-07-29 23:44:55 +02:00
debris
48f28fe29c fixed json_tests 2017-07-29 23:19:33 +02:00
debris
2b02651bbf alway test --all (temporary exclude ipfs and evmjit) 2017-07-29 22:54:04 +02:00
debris
c4989ddc44 removed util::common 2017-07-29 22:49:10 +02:00
debris
eecd823d32 util reexports less std 2017-07-29 21:10:14 +02:00
Robert Habermeier
fbb9affadb Merge pull request #6185 from Grix/master
typo in uninstaller
2017-07-29 18:59:47 +02:00
Gitle Mikkelsen
9f0bfa01ca typo in uninstaller 2017-07-28 23:18:02 +02:00
Robert Habermeier
2bd5c3dba7 checking proofs in safe contract 2017-07-28 19:38:52 +02:00
Nicolas Ochem
f212ae6322 fix #6052. honor --no-color for signer command (#6100)
* fix #6052. honor --no-color for signer command

* replace call to paint closure with the body, apply to generate_new_token too
2017-07-28 19:07:38 +02:00
Joseph Mark
b5f1524e78 Refactor --allow-ips to handle custom ip-ranges (#6144)
* Add checks for additional reserved ip addresses

100.64.0.0/10 and 240.0.0.0/4 are both reserved but not currently
filtered.

* Add check for special purpose addresses

192.0.0.0/24 - Used for the IANA IPv4 Special Purpose Address Registry

* Refactor ip_utils (#5872)

* Add checks for all ipv4 special use addresses
* Add comprehensive ipv4 test cases

* Refactor Ipv6 address checks (#5872)

* Refactor AllowIP (#5872)

* Add IpFilter struct to wrap predefined filter (AllowIP) with custom
allow/block filters.
* Refactor parsing of --allow-ips to handle custom filters.
* Move AllowIP/IpFilter from ethsync to ethcore-network where they
are used.

* Revert Cargo.lock

* Tests for custom ip filters (#5872)

* Add "none" as a valid argument for --allow-ips to allow narrow
custom ranges, eg.: --allow-ips="none 10.0.0.0/8"
* Add tests for parsing filter arguments and node endpoints.
* Add ipnetwork crate to dev dependencies for testing.

* Add ipv6 filter tests (#5872)

* Revert parity-ui-precompiled to master

* Fix minor detail in usage.txt (#5872)

* Spaces to tabs

* Rename IpFilter::new() to ::default()

* Small readability improvements

* Test (#5872)

* Revert "Test (#5872)"

This reverts commit 7a8906430a6dad633fe29df3dca57f1630851fa9.
2017-07-28 19:06:39 +02:00
Afri
ad30a6899b Update Changelog for 1.6.10 and 1.7.0 (#6183)
* Update changelog for 1.6.10

* Update changelog for 1.7.0

* Move 1.7.0 to top

* Rephrase contract warp

* Update final 1.7.0 changelog

* Update beta backports in Changelog
2017-07-28 18:15:04 +02:00
Jaco Greeff
abb62d5c2a Ui 2 parity build fixes (#6182)
* Update API reference

* Deprecation warning

* Add missing parity-reactive-ui

* Add dapps to packages/dapps

* Add parity.js dependency

* Update with js-ui with compiled bundle.js
2017-07-28 17:56:48 +02:00
fro
e234b7fdbf realloc test added 2017-07-28 16:38:03 +03:00
Jaco Greeff
4000ec681f Ui 2 js build fixes (#6176)
* Update API reference

* Deprecation warning

* Add missing parity-reactive-ui

* Add dapps to packages/dapps

* Add parity.js dependency
2017-07-28 15:37:58 +02:00
Jef
e84f308264 Fix unsoundness in ethash's unsafe code (#6140)
* Fix benchmarks

* Fix unsoundness in uses of unsafety

* Remove most uses of unsafe indexing and ptr::copy_nonoverlapping

This commit also includes a completely absurd optimisation that I
promise is an honest win. You can check the benchmarks, I barely
believe it myself.

* Add safety comment

* Add more safety comments
2017-07-28 14:26:22 +02:00
Anton Gavrilov
1f3f91136c Transaction ids made optional in order to reflect not transactional traces 2017-07-28 13:41:51 +02:00
kaikun213
e70d5c52e4 Updated semantic-ui-react version (js-ui) 2017-07-28 11:51:59 +02:00
Jaco Greeff
a1b8fabd99 Ui 2 packages (#6169)
* Ensure all internal dapps have package.json

* Update compilation rules

# Conflicts:
#	js/src/redux/providers/balancesActions.js
#	js/src/ui/Form/TypedInput/typedInput.js

* Remove SignerIcon

* Cleanup providers

* Enable request of new token from app

* Queue when no token (yet)

* Add location & token request

* Cleanup send logic

* Request token

* Request comms token

* Remove yarn.lock (not updated)

* Update version to 1.99.99 (publish prepare)

* Move jsonrpc to seperate repo

* Update jsonrpc references

* Update repo info

* Update repo info

* Additional debugging

* Update repo references

* Move ABI to js-abi repo

* Move webWorker to shared

* Fix package reference

* Worker location

* Move js-ui & js-shared components

* Update file references

* Update package repo locations

* Remove debugging info

* Cleanup debug

* Split api into own repo

* Update api local references

* Update app loading

* Update dependencies

* Allow serving of /parity-utils

* Error when EthereumProvider has not been attached

* Use inject.js

* Correct appId retrieval
2017-07-28 10:25:34 +02:00
Jaco Greeff
5830767273 Add oo7 deps 2017-07-27 20:23:36 +02:00
Anton Gavrilov
b1935340c8 Fixed errors after merge with master 2017-07-27 19:15:25 +02:00
GitLab Build Bot
671ed1b9db [ci skip] js-precompiled 20170727-163754 2017-07-27 16:42:35 +00:00
Anton Gavrilov
af1fbb39ca Unit tests for tracing reward added 2017-07-27 18:23:17 +02:00
Anton Gavrilov
53c3b772dd Complete version of tracing test with reward 2017-07-27 18:21:43 +02:00
Anton Gavrilov
73128039a6 Working test with block reward added 2017-07-27 18:21:36 +02:00
Anton Gavrilov
16f39487ba Warnings removed 2017-07-27 18:20:11 +02:00
Anton Gavrilov
ab6153853b Tracing for rewards added. Without tests for now 2017-07-27 18:19:46 +02:00
Jaco Greeff
53bde282bb Link dapp-develop/account 2017-07-27 18:12:42 +02:00
kaikun213
7a810def28 Shh documentation (jsonrpc interface) 2017-07-27 18:07:25 +02:00
Jaco Greeff
0bdd4a93b8 Add missing dependencies 2017-07-27 17:57:47 +02:00
Jaco Greeff
3e85bebc66 Add missing package dependencies 2017-07-27 17:53:26 +02:00
Tomasz Drwięga
9902714fb4 Don't display an overlay in case the time sync check fails. (#6164)
* Small improvements to time estimation.

* Temporarily disable NTP time check by default.
2017-07-27 17:36:23 +02:00
Tomasz Drwięga
0209c6e0ff Fix connecting to wildcard addresses. (#6167) 2017-07-27 17:35:05 +02:00
Robert Habermeier
d53028d0a8 Merge pull request #6162 from paritytech/fix-whisper-sub-name
fix subscription name
2017-07-27 15:51:47 +02:00
kaikun213
f245d66c8a shh_subscription added 2017-07-27 15:48:49 +02:00
Jutta Steiner
98e0618750 Update SECURITY.md 2017-07-27 15:46:26 +02:00
Jutta Steiner
2d9a15324d Including legal disclaimer 2017-07-27 15:44:39 +02:00
Svyatoslav Nikolsky
c345bc3d85 cli option to disable SS ACL check 2017-07-27 15:48:07 +03:00
fro
8238fb37f3 new env exports added
___syscall140
___syscall146
___syscall54
_llvm_trap
2017-07-27 15:37:59 +03:00
Robert Habermeier
70ef33f6fe Light client improvements (#6156)
* no seal checking

* import command and --no-seal-check for light client

* fix eth_call

* tweak registry dapps lookup

* ignore failed requests to non-server peers
2017-07-27 13:50:12 +02:00
kaikun213
31a0f5ef28 contractDevelop Debugger (Bonds) in progress 2017-07-27 13:24:23 +02:00
kaikun213
e317fcf1d8 accounts.js -> Parity-reactive-ui accountCard 2017-07-27 13:24:00 +02:00
kaikun213
cd0fbbe948 whisper-js 2017-07-27 13:16:56 +02:00
Robert Habermeier
18fbf3c174 only add pubsub if generic pubsub off 2017-07-27 12:55:08 +02:00
Robert Habermeier
1be3e5ec5e fix subscription name 2017-07-27 12:51:12 +02:00
Svyatoslav Nikolsky
7c05a906d0 cli option to disable SS HTTP API 2017-07-27 13:29:09 +03:00
kaikun213
b13cd0d484 getFilterChanges -> getFilterMessages , subscribe & unsubscribe
subscription is currently not working (method not found)
2017-07-27 12:18:07 +02:00
Svyatoslav Nikolsky
c466def1e8 improved logging 2017-07-27 11:33:09 +03:00
Feynman Liang
5eb8cea6e7 Tendermint epoch transitions (#6085)
* Adds signals_epoch_end to tendermint

* Adds is_epoch_end

* Adds snapshot_components

* Adds tendermint Epoch Verifier

* Fix documentation typos

* Change check_finality_proof to panic

* Fix compilation

* Adds Unconfirmed path to epoch_verifier

* Verify if address is validator in EpochVerifier

* check_finality_proof errors on failure

* Don't share combine/destructure_proofs

* Remove invalid import

* Remove duplicate epoch verifier trait

* Fix docs

* Adds recover stub to tendermint EpochVerifier

* Adds verify_light test

* Avoid boxed closure

* Style fixes
2017-07-26 16:25:32 +01:00
Jaco Greeff
a068f72f08 Ui 2 pubsub components (#6152)
* Remove Application.orig from merge

* Disable i18n extraction for development

* Retrieve blockNumber via pubsub

* Chain via pubsub

* StatusIndicator with health

* WIP

* WIP

* s/BlockStatus/BlockNumber/

* Adjust BlockNumber display

* Cleanup debug

* Fix statusbar indicator

* NetPeers component

* Add BlockTimestamp

* Export statics on observer

* Cleanup debug logs

* Update references
2017-07-26 16:54:47 +02:00
Robert Habermeier
7d348e2260 light client fixes (#6148)
* light client fixes

* fix memory-lru-cache

* clear pending reqs on disconnect
2017-07-26 15:48:00 +02:00
Svyatoslav Nikolsky
dcfb8c1a10 fixed generation session lags 2017-07-26 14:09:52 +03:00
Svyatoslav Nikolsky
417a037ac5 improved logging 2017-07-26 14:09:41 +03:00
Jaco Greeff
09e40c2f0d Upgrade webpack 2017-07-26 12:08:34 +02:00
Jaco Greeff
decc5922de Fix previous merge 2017-07-26 11:57:14 +02:00
Jaco Greeff
715fb688d3 Merge branch 'master' into ui-2 2017-07-26 11:54:54 +02:00
kaikun213
689993a592 whisper parity.js api 2017-07-25 17:58:52 +02:00
Svyatoslav Nikolsky
4938dfd971 removed comment 2017-07-25 17:57:27 +03:00
Svyatoslav Nikolsky
eb895fbb31 completed KeyStoreNodeKeyPair 2017-07-25 17:54:32 +03:00
Svyatoslav Nikolsky
2e9df2c39d updated parity for NodeKeyPair 2017-07-25 16:30:24 +03:00
Robert Habermeier
ee1dfb5605 Merge pull request #6044 from paritytech/issues/4673
`--config` option handles bundled presets
2017-07-25 13:05:49 +02:00
kaikun213
55bef6ec2f Merge remote-tracking branch 'origin/master' 2017-07-25 11:13:39 +02:00
Svyatoslav Nikolsky
9e30d85fdc continue integrating with parity 2017-07-25 10:19:48 +03:00
GitLab Build Bot
aa09cb266d [ci skip] js-precompiled 20170725-071056 2017-07-25 07:16:04 +00:00
Svyatoslav Nikolsky
fb68b0924a fixed parity to use new trait 2017-07-25 09:56:23 +03:00
Enrique Fynn
985b0fbf7f Render correctly when query input is false in a contract (#6137) 2017-07-25 08:45:14 +02:00
Nicolas Gotchac
58fec9181f Filter tokens logs from current block, not genesis (#6128)
* Filter tokens logs from current block, not genesis

* Fix linting
2017-07-25 08:39:41 +02:00
Gav Wood
0b46cce95f Deduplicate help text. 2017-07-25 08:38:20 +02:00
Svyatoslav Nikolsky
45f2b82411 NodeKeyPAir trait 2017-07-25 09:24:54 +03:00
Joseph Mark
8b3ec61151 Merge branch 'master' into issues/4673 2017-07-25 09:03:21 +07:00
Joseph Mark
c522f564a9 Update usage doc for --config (#4673) 2017-07-25 09:02:37 +07:00
Jaco Greeff
de76b8a465 Merge branch 'master' into ui-2 2017-07-24 17:48:25 +02:00
kaikun213
c894f7ac1f relocate to packages (+ Tab semantic ui v.7.1) 2017-07-24 17:35:10 +02:00
Evan
78fab4e471 Add a snapcraft badge (#6135)
Congrats on the snap of Parity! Here's a shiny green build status badge :)
2017-07-24 17:27:27 +02:00
Nikolay Volf
2d6a1160d5 don't return 412 (#6133) 2017-07-24 17:26:49 +02:00
NikVolf
5180919e52 wasm mvp continued 2017-07-24 17:45:15 +03:00
kaikun213
381ed505a0 postMessage and store (merge..) 2017-07-24 16:21:54 +02:00
kaikun213
a562f2c434 Merge remote-tracking branch 'origin/ui-2' into ui-2 2017-07-24 16:14:02 +02:00
kaikun213
13b96ae7c8 Pubsub for postMessage Provider (UI2)
Proper method-name displaying on request approval is missing
2017-07-24 16:08:24 +02:00
Nikolay Volf
5fb32229f9 bump jsonrpc (#6129) 2017-07-24 13:44:42 +02:00
Robert Habermeier
079b24175c Merge pull request #6080 from Vurich/ethash
Unroll loops in light_compute
2017-07-24 13:09:31 +02:00
Svyatoslav Nikolsky
b31b067743 fixed tests 2017-07-24 12:36:31 +03:00
Afri
e33f9c1d11 Changelog for 1.6.9, 1.6.10, and 1.7.0 (#6075)
* Update CHANGELOG for 1.6.9 stable release.

* [WIP] Prepare CHANGELOG for 1.7.0 beta release.

* Contract warp

* Update changes for 1.7.0

* Update description for 1.7.0 in changelog

* Update Changelog for 1.7.0 beta and 1.6.10 stable

* Address reviews for the Changelog.

* Fix blog URL in changelog.

* Fix typo in Changelog.

* Update changelog for 1.7.0 beta and 1.6.10 stable
2017-07-23 15:18:58 +02:00
Vurich
0fa9c93f6f Style reungrumble 2017-07-22 14:49:02 +02:00
Robert Habermeier
abe7518424 add security policy (#6121) 2017-07-22 07:41:58 +02:00
Joseph Mark
17e6d2d51c Descriptive error for invalid preset (#4673) 2017-07-22 11:09:59 +07:00
Joseph Mark
6ae93cf14e Roll preset command into --config option (#4673)
* --config takes either toml file or bundled preset eg. '--config=dev'
* Maintains consistency with --chain arguments
2017-07-22 10:37:38 +07:00
GitLab Build Bot
c72c020182 [ci skip] js-precompiled 20170721-201403 2017-07-21 20:18:51 +00:00
Jaco Greeff
c369bba03b Fix QR scanner returning null on confirm (#6122) 2017-07-21 21:19:38 +02:00
GitLab Build Bot
3605593d37 [ci skip] js-precompiled 20170721-165246 2017-07-21 16:58:58 +00:00
Jaco Greeff
e3a8780da7 Check QR before lowercase (#6119) 2017-07-21 18:23:41 +02:00
Robert Habermeier
2d0d7150cc remove chunk to restore from pending set only upon successful import (#6112) 2017-07-21 17:24:53 +02:00
Joseph Mark
ae3dfe9327 Revert Cargo.lock 2017-07-21 21:19:34 +07:00
Jaco Greeff
49fdd23d58 Ui 2 move to packages/* (#6113)
* Move secureApi to shell

* Extract isTestnet test

* Use mobx + subscriptions for status

* Re-add status indicator

* Add lerna

* Move intial packages to js/packages

* Move 3rdparty/{email,sms}-verification to correct location

* Move package.json & README to library src

* Move tests for library packages

* Move views & dapps to packages

* Move i18n to root

* Move shell to actual src (main app)

* Remove ~ references

* Change ~ to root (explicit imports)

* Finalise convert of ~

* Move views into dapps as well

* Move dapps to packages/

* Fix references

* Update css

* Update test spec locations

* Update tests

* Case fix

* Skip flakey tests

* Update enzyme

* Skip previously ignored tests

* Allow empty api for hw

* Re-add theme for embed
2017-07-21 15:46:53 +02:00
Joseph Mark
db0d20e17b Update Cargo.lock 2017-07-21 20:30:35 +07:00
Joseph Mark
0ec917e980 Merge branch 'master' into issues/4673 2017-07-21 19:47:14 +07:00
Arkadiy Paronyan
99f4bc76d7 Fix for building with --no-default-features (#6110) 2017-07-21 12:14:47 +02:00
Svyatoslav Nikolsky
5fb9652af5 improved logging 2017-07-21 11:25:26 +03:00
Svyatoslav Nikolsky
023e5b4b90 do not try to connect if not a part of cluster 2017-07-21 10:49:10 +03:00
Jaco Greeff
7f3bb37b96 Merge branch 'master' into ui-2 2017-07-21 09:33:05 +02:00
GitLab Build Bot
797e7d98d3 [ci skip] js-precompiled 20170720-175801 2017-07-20 18:02:30 +00:00
Nicolas Gotchac
96ff69e7ef Update wallet library binaries (#6108)
* Update wallet library binaries

* Update the links
2017-07-20 19:30:25 +02:00
Robert Habermeier
e7f82cf62e Merge pull request #5980 from brson/panic-hook
Add custom panic hook
2017-07-20 17:11:08 +02:00
Svyatoslav Nikolsky
c94c799347 re-read only when blockchain is changed 2017-07-20 13:28:31 +03:00
Svyatoslav Nikolsky
b9ad093d06 moved parsing to KeyServerSet 2017-07-20 13:15:16 +03:00
Svyatoslav Nikolsky
a35db9f454 improved KeyServerSet tracing 2017-07-20 12:55:52 +03:00
Svyatoslav Nikolsky
9a9c4f6ad6 removed println 2017-07-20 12:25:41 +03:00
Svyatoslav Nikolsky
80b9e931f5 fixed connection establishing 2017-07-20 12:19:29 +03:00
Robert Habermeier
02d462e263 update wallet library modifiers (#6103) 2017-07-20 00:02:36 +02:00
GitLab Build Bot
10efc7e2d3 [ci skip] js-precompiled 20170719-205509 2017-07-19 20:59:31 +00:00
Gav Wood
b640df8fbb Fix initialisation bug. (#6102) 2017-07-19 22:29:58 +02:00
Brian Anderson
6345b54034 Add custom panic hook
The panic hook prints a backtrace, the panic message, file, and line
number, and a plea to report bugs.
2017-07-19 17:50:48 +00:00
Vurich
7208b9b525 Small fixes 2017-07-19 18:14:10 +02:00
Vurich
ad1835e87c Unroll 1 more loop 2017-07-19 16:21:55 +02:00
Arkadiy Paronyan
4c32177ef3 Fixed node address detection on incoming connection (#6093) 2017-07-19 15:44:08 +02:00
Robert Habermeier
253bc333c7 Merge pull request #6092 from paritytech/returndata-fix
Place RETURNDATA behind block number gate
2017-07-19 15:26:28 +02:00
arkpar
9ad0ff960e Place RETURNDATA behind block number gate 2017-07-19 14:34:59 +02:00
Svyatoslav Nikolsky
7664ff5acd do not connect to self 2017-07-19 15:14:37 +03:00
Vurich
7d35f994d2 Style ungrumble 2017-07-19 12:09:45 +02:00
Vurich
2cc1c92901 Unroll one more loop
I also tried unrolling the 256-iteration loop further below, but it actually caused a
slowdown (my guess is either branch prediction stopped kicking in or the instruction
cache was being maculated).
2017-07-19 12:07:34 +02:00
Svyatoslav Nikolsky
5080cc3c9e update_nodes_set in maintain 2017-07-19 12:36:40 +03:00
GitLab Build Bot
e5042d0d38 [ci skip] js-precompiled 20170719-084508 2017-07-19 08:49:29 +00:00
Svyatoslav Nikolsky
81de7e1075 initial KeyServerSet commit 2017-07-19 11:35:17 +03:00
Arkadiy Paronyan
d9101b9559 Fixed ethkey CLI build (#6086) 2017-07-19 10:18:30 +02:00
Jaco Greeff
49a55886d3 Bump package.json for master 1.8 (#6074) 2017-07-19 10:13:43 +02:00
Robert Habermeier
298ea1d748 Bump snap version and tweak importing detection logic (#6079)
* bump last tick just before printing info and restore sync detection

* bump kovan snapshot version

* Fixed sync tests

* Fixed rpc tests
2017-07-18 16:59:33 +02:00
Denis S. Soldatov aka General-Beck
d157930f2c chmod +x *scripts 2017-07-18 16:45:58 +03:00
Denis S. Soldatov aka General-Beck
88145752ff [ci skip] move Aura test https://github.com/paritytech/parity-import-tests in nightly build 2017-07-18 16:45:58 +03:00
Giuseppe Bertone
319a01b34f User_defaults now contains serialization for is_first_launch parameter; (#6068)
Solved the "TraceDB resync required" issue when trying to use "--tracing on" option just after a DB kill operation;
2017-07-18 15:38:38 +02:00
Vurich
d51958dbf5 Speed up light_compute by ~9% 2017-07-18 15:38:10 +02:00
Denis S. Soldatov aka General-Beck
801fcf3271 fix docker build in master 2017-07-18 16:17:33 +03:00
Denis S. Soldatov aka General-Beck
df144a6fcb fix docker build 2017-07-18 16:12:16 +03:00
Vurich
410ded5d45 Remove dead code from benchmarks 2017-07-18 14:17:01 +02:00
Vurich
d994d7a10c Add benchmarks 2017-07-18 14:14:42 +02:00
Denis S. Soldatov aka General-Beck
649552e0f0 Update snapcraft.yaml
fix for builds.snapcraft.io
2017-07-17 21:31:12 +03:00
Jaco Greeff
36f94fde05 Ui 2 package upgrades (#6076)
* Upgrade to React 15.6

* Import PropTypes from prop-types

* Update package.json

* UI version in built version

* Cleanup /api/health status failures

* Check reponse.ok

* Add icons to view dapps

* Adjust layout for dapps

* Slightly darker balance background

* Adjust shadows
2017-07-17 18:37:33 +02:00
Jaco Greeff
fcdaa0d05b Upated dependencies 2017-07-17 11:54:13 +02:00
Jaco Greeff
aaff34364d Merge branch 'master' into ui-2 2017-07-17 11:49:03 +02:00
Denis S. Soldatov aka General-Beck
69561da15f fix docker build and snapcraft 2017-07-17 12:06:32 +03:00
arkpar
04b641ff5f Fixed build 2017-07-17 10:45:34 +02:00
Joseph Mark
fefeb50cae Fix minor merge issue 2017-07-17 13:33:26 +07:00
Joseph Mark
d93a5d3da1 Merge branch 'master' into issues/4673 2017-07-17 13:07:00 +07:00
Joseph Mark
360f1fa34f Add insecure presets and tests 2017-07-17 13:03:57 +07:00
Andre Silva
c7af702270 Refactor price_info (#6003)
* refactor PriceInfo to use Fetch and reuse the client

* forget Fetch future to keep it running in the background

* update Debug message for price_info::Client

* wrap underlying errors in price_info client

* use debug_struct in price_info client debug implementation

* use global fetch service in price_info client

* rename gas_pricer parameter in RunCmd

* move price_info to its own crate

* fix price_info tests

* replace rustc_serialize with serde_json in price_info

* add documentation for price_info

* remove unused rustc-serialize dependency from ethcore

* fix price_info formatting

* re-export fetch crate in price_info

* remove unused cfg attributes in price_info

* add tests for price_info
2017-07-16 18:22:45 +02:00
Robert Habermeier
fec4ccbbb8 acquire client report under lock in informant (#6072) 2017-07-16 17:43:43 +02:00
GitLab Build Bot
30f2057bdf [ci skip] js-precompiled 20170716-095403 2017-07-16 10:02:50 +00:00
Arkadiy Paronyan
bb893daf7d Removed Aura tests 2017-07-16 11:30:58 +02:00
Jaco Greeff
4fc16a9eec Show busy indicator on Address forget (#6066)
* Shw busy indicator on Address forget

* Remove debug logs
2017-07-16 11:05:36 +02:00
Nikolay Volf
895350e77c fix error message (#6065) 2017-07-15 19:58:52 +02:00
kaikun213
b5cbe34a2a Merge remote-tracking branch 'origin/master' 2017-07-15 12:15:29 +02:00
kaikun213
ea14290f52 Merge remote-tracking branch 'origin/master' 2017-07-15 12:14:26 +02:00
Denis S. Soldatov aka General-Beck
c647963911 fix path aura test 2017-07-14 22:02:45 +03:00
Robert Habermeier
99075ad22a Initial Whisper implementation (#6009)
* whisper skeleton

* basic message store

* rallying and message logic

* pass host info to network protocol handlers

* choose who starts rally based on node key

* module reshuffling

* mining messages

* prune messages by low PoW until below size target

* associated error type for ethkey generators and `OsRng` generator

* beginnings of RPC

* generic message handler for whisper

* reshuffle code order

* standard payload encoding and decoding

* basic crypto

* minor restructuring of net code

* implement shh_post

* merge?

* implement filters

* rand trait for hash types

* filter RPCs for whisper

* symmetric encryption of payload

* pub-sub

* filter tests

* use only secure random IDs

* attach arbitrary protocols to network

* basic integration of whisper into Parity

* eagerly prune low PoW entries

* broadcast messages with salted topics

* node info RPC

* fix import

* fix leading zeros calculation

* address minor grumbles
2017-07-14 20:40:28 +02:00
Jaco Greeff
a4fa6a3ac7 Add CSP for worker-src (#6059)
* Specify worker-src seperately, add blob:

* Upgrade react-qr-scan to latest version
2017-07-14 18:50:19 +02:00
Denis S. Soldatov aka General-Beck
3308c40440 fix aura test 2017-07-14 18:02:39 +03:00
Denis S. Soldatov aka General-Beck
69d45f8ce4 add Parity Import Tests
https://github.com/paritytech/parity-import-tests
2017-07-14 17:44:43 +03:00
Svyatoslav Nikolsky
5cc40d4525 when error comes before initialization 2017-07-14 14:51:24 +03:00
Svyatoslav Nikolsky
18582d7b65 do not cache ACL storage contract 2017-07-14 13:41:25 +03:00
Joseph Mark
b975efa2bb Add non-standard-ports preset and test 2017-07-14 10:42:56 +07:00
Joseph Mark
4fea18d945 Add mining preset and test 2017-07-14 10:15:39 +07:00
Joseph Mark
0f37261dbf Change --min-gas-price to u64 2017-07-14 09:40:47 +07:00
GitLab Build Bot
3fb8a85f83 [ci skip] js-precompiled 20170713-162224 2017-07-13 16:27:01 +00:00
Jaco Greeff
2dc92fc245 Merge branch 'master' into ui-2 2017-07-13 17:28:51 +02:00
Robert Habermeier
664dcc063a Merge pull request #6051 from paritytech/v1.8
v1.8
2017-07-13 17:24:39 +02:00
arkpar
debbfc117a Bumped version 2017-07-13 15:52:01 +02:00
Tomasz Drwięga
1aaafa2d11 Limit transaction queue memory & limit future queue (#6038)
* Remove confusing gas_limit in the pool.

* Change defaults

* Limit transaction queue by memory usage.

* Change defaults to something lower.

* Fix rpc test.

* Fix js issues.

* Renamed block_gas_limit
2017-07-13 15:12:25 +02:00
Jaco Greeff
58307479ad Fix lint/build issue (#6050) 2017-07-13 14:37:35 +02:00
Joseph Mark
9c3bd83d3b Merge branch 'master' into issues/4673 2017-07-13 19:30:52 +07:00
Joseph Mark
e0b15116a5 Replace dev chain special case with preset
Add --min-gas-price (does the same as legacy --gasprice) and tweak
gas_pricer_config() and test cases.  Dev preset will still be
overridden by CLI arguments, including --gasprice.
2017-07-13 19:25:41 +07:00
Jaco Greeff
e36a7fab2d Update tests to master version 2017-07-13 11:54:52 +02:00
Jaco Greeff
2007de3241 Fix lint issue. 2017-07-13 11:06:51 +02:00
Jaco Greeff
d8c3c247f8 Merge branch 'master' into ui-2 2017-07-13 10:56:12 +02:00
keorn
22261bc2d1 New contract PoA sync fixes (#5991)
* generate proofs on newly-created state

* report only missed steps after first block

* dont report skipped if not signer

* test

* finality tracing and passing valid header to `commit_block`

* avoid proposing multiple times on the same step when validator set changes

* limit benign reports

* Ordering -> AtomicOrdering

* reinstate warning now that spam is reduced

* flush pending transition changes when necessary

* ensure epochs aren't re-zoomed on every block
2017-07-13 09:48:00 +02:00
Marek Kotewicz
40e29c92bc make Multisig Wallet walletSourceUrl point to the latest version of solidity contract (#5984) 2017-07-13 09:47:51 +02:00
Robert Habermeier
d365281cce Ethcore crate split part 1 (#6041)
* split out types into separate crate

* split out evm into its own crate
2017-07-12 13:09:17 +02:00
Joseph Mark
451ef7f09b Add preset cmd/arg to test args 2017-07-12 16:31:28 +07:00
Joseph Mark
2d52c7b42f Merge branch 'master' into issues/4673 2017-07-12 16:06:23 +07:00
Joseph Mark
d4175ca6c6 Add preset command to parity CLI
Preset configs are loaded from bundled toml files and overridden by
CLI options.
2017-07-12 16:03:21 +07:00
Tomasz Drwięga
24c8510932 Fix status icon (#6039)
* Fix status icon when zooming out.

* Fix health errors.
2017-07-12 08:52:50 +02:00
Joseph Mark
0fca4f95d6 Errors & warnings for inappropriate RPCs (#6029)
* Clarify function name

Function checks if sealing is currently underway, not to be confused
with checking whether the engine performs internal sealing.

* Error when work called on internal sealing engine

* Error submitting work for internal sealing engine

* Fix inverted bool and style grumbles

* Add can_produce_work_package to TestMinerService

* Error when setting engine signer on PoW chain

* Unit tests for engine signing

Setting engine signer should fail if chain does not seal internally
or client lacks account provider.

* Tweak TestMinerService

* Fix minor style grumbles
2017-07-12 08:52:18 +02:00
Robert Habermeier
02f2c611d4 Merge pull request #5992 from paritytech/csp-fix
Add missing CSP for web3.site
2017-07-11 16:12:03 +02:00
kaikun213
0ad0c7882f Merge remote-tracking branch 'origin/csp-fix' 2017-07-11 15:25:58 +02:00
Tomasz Drwięga
a30f43b36c Fix ui-no-validation. 2017-07-11 14:49:35 +02:00
Tomasz Drwięga
ba4d8ceaf3 Merge branch 'master' into csp-fix 2017-07-11 13:45:23 +02:00
GitLab Build Bot
45d44bedef [ci skip] js-precompiled 20170711-113031 2017-07-11 11:36:24 +00:00
Robert Habermeier
cd0b62338b Merge pull request #6037 from paritytech/a5-docs-install
Remove cargo install --git from README.md
2017-07-11 13:14:58 +02:00
5chdn
b844c8a29a Remove cargo install git from README.md, ref #6007 2017-07-11 13:08:53 +02:00
Jaco Greeff
92a9ff3c1a Update after merge 2017-07-11 12:47:22 +02:00
Jaco Greeff
a1a8181913 Merge branch 'master' into ui-2 2017-07-11 12:38:51 +02:00
Joseph Mark
9c1030878e Add config preset files 2017-07-11 17:29:34 +07:00
Tomasz Drwięga
4936e99f30 Node Health warnings (#5951)
* Health endpoint.

* Asynchronous health endpoint.

* Configure time api URL via CLI.

* Tests for TimeChecker.

* Health indication on Status page.

* Adding status indication to tab titles.

* Add status to ParityBar.

* Fixing lints.

* Add health status on SyncWarning.

* Fix health URL for embed.

* Nicer messages.

* Fix tests.

* Fixing JS tests.

* NTP time sync (#5956)

* use NTP to check time drift

* update time module documentation

* replace time_api flag with ntp_server

* fix TimeChecker tests

* fix ntp-server flag usage

* hide status tooltip if there's no message to show

* remove TimeProvider trait

* use Cell in FakeNtp test trait

* share fetch client and ntp client cpu pool

* Add documentation to public method.

* Removing peer count from status.

* Remove unknown upgrade status.

* Send two time requests at the time.

* Revert "Send two time requests at the time."

This reverts commit f7b754b1155076a5a5d8fdafa022801fae324452.

* Defer reporting time synchronization issues.

* Fix tests.

* Fix linting.
2017-07-11 12:23:46 +02:00
Tomasz Drwięga
7fb46bff06 RPC cpu pool (#6023)
* RPC cpu pool.

* introduce optional thread pool when processing RPC requests.

* Bump jsonrpc.

* Removing boxes.

* Fix CLI tests.
2017-07-11 12:22:19 +02:00
Nikolay Volf
dc51dde112 update deps (#6036) 2017-07-11 12:06:35 +03:00
arkpar
c05924a713 Fixed build 2017-07-11 10:21:23 +02:00
kaikun213
f1dcdab75d Merge remote-tracking branch 'origin/csp-fix' 2017-07-11 09:58:42 +02:00
Axel Chalon
d970237658 Add test for loading the chain specs (#6028)
* Add test for loading the json chain specs

* Remove test on Ethereum specs as it already exists
2017-07-10 19:26:10 +02:00
Jaco Greeff
03b0ea6139 Merge branch 'master' into ui-2 2017-07-10 17:43:37 +02:00
Tomasz Drwięga
56c275b0cb Whitelist APIs for generic Pub-Sub (#5840)
* Whitelisting generic pub-sub APIs.

* Clone enums instead of allocating a vec.
2017-07-10 17:42:29 +02:00
Nikolay Volf
62210fb932 WASM contracts MVP (#5679)
* lifetime issues

* refactor to new 'native env'

* descriptors and such

* wasm mvp continued

* finalized env/ext bindings

* descriptor -> call_args

* inject gas counter

* result processing and engine activation

* tabify some source files

* needs return new

* wasm tests initial

* erradicate warnings

* origin in the descriptor

* update test repo

* payload verification tests

* identity return payload test

* some test description

* dispersion test

* check length here

* suicidal contract

* engine params

* fix typo

* review fixes

* submodule update

* update - purge reserved space

* doc effort

* more review fixes

* fix error message

* fix dependency url

* reorg error handling

* update submodule

* update utils

* update to latest parity-wasm

* tabify

* fix wasm magic header

* update dependencies

* external create and tests

* update to latest tests

* extra trace info

* Update parity-wasm

* update wasm-utils also

* few traces and result handle change

* alter trace content

* fix issues with optimizer, update to latest parity with validator, etc

* static initialization

* license preamble

* update wasm crates and gas costs

* fix grumbles

* bring back lifetime

* fix compilation
2017-07-10 17:42:10 +02:00
Jaco Greeff
b49c039f41 Set observable on component (#6033) 2017-07-10 17:38:40 +02:00
Jaco Greeff
3d24ae0981 Merge branch 'master' into ui-2 2017-07-10 17:36:55 +02:00
Jaco Greeff
801b6e0ded UI 2 dapp configuration dapps (#6032)
* Add shell_ APIs

* Allow handling of shell_ calls

* Retrieve API info via call

* Split Dapp Method config into dapp

* Allow shell API for configuring dapps

* Move dapp toggles to dapp itself

* Align provider naming

* Selection of default accounts via dapp

* Remove duplicated spec
2017-07-10 17:03:16 +02:00
Jaco Greeff
4dd68f1ef3 Ui 2 provider rename (web3Provider -> ethereum) (#6031)
* Rename web3Provider -> ethereumProvider

* ethereumProvider -> ethereum
2017-07-10 15:56:43 +02:00
Arkadiy Paronyan
15aebacbe7 --reseal-on-uncle (#5940)
* --reseal-on-uncle

* Optimized uncle check

* Additional uncle check

* Updated comment
2017-07-10 13:36:42 +02:00
Axel Chalon
7599e3998f Support comments in reserved nodes file (#6004) (#6012) 2017-07-10 13:24:40 +02:00
Jaco Greeff
204fe44b29 Add new md tnc (#5937)
* Add new md tnc

* Skip markdown import in test
2017-07-10 13:23:59 +02:00
Tomasz Drwięga
f4453f77b8 Fix output of parity-evm in case of bad instruction (#5955)
* Fix output of evmbin.

* Use foundation chain settings by default.
2017-07-10 13:23:40 +02:00
Tomasz Drwięga
ed5efebec1 Don't send to old subscriptions. (#5960) 2017-07-10 13:23:19 +02:00
Robert Habermeier
67c1f71b6e Proper light client informant and more verification of imported headers (#5897)
* do more validation of imported headers in light client

* generalize informant with traits

* informant implementation for light client

* make comment into TODO

* fix broken test

* disable full checking of headers in light client in sync tests
2017-07-10 13:21:11 +02:00
keorn
f0a6b5d401 azure nodes (#6017) 2017-07-10 13:05:05 +02:00
Tomasz Drwięga
a24b6ad983 Use standard paths for Ethash cache (#5881)
* Use cache path to store ethash files.

* Fixing tests, more flexible API.

* Use AsRef<Path> everywhere.

* Fixing ethcore tests.

* Fix RPC tests.
2017-07-10 12:57:40 +02:00
Jaco Greeff
699aab0b80 Update package-lock.json 2017-07-10 11:40:45 +02:00
Jaco Greeff
84f11278ba Merge branch 'master' into ui-2 2017-07-10 11:33:07 +02:00
Jaco Greeff
cbcda140ec Ui 2 updates subscribe (#6027)
* Add account & vault APIs

* Additional status methods

* Move permission modals into Dapp

* Adjust display position

* Don't publish invalid events

* Cleanup Wallet display

* Update package-lock

* Align icon buttons center

* Adjust account selectors

* Adjust wallet white

* Allow display of boolean/false values

* Pass value through correctly for disabled inputs

* Split requests into sections

* onClict -> onClick

* Update label

* Update skip step

* Connect provider interfaces
2017-07-10 11:04:29 +02:00
Tomasz Drwięga
b0f1f8307d X-Frame-Options removed. 2017-07-10 09:42:35 +02:00
Tomasz Drwięga
ad67ea0eb5 Merge branch 'master' into csp-fix 2017-07-09 14:10:53 +02:00
Robert Habermeier
125aa0aeb4 Merge pull request #5959 from paritytech/dont-compute-hash
Defer code hash calculation.
2017-07-06 19:00:19 +02:00
GitLab Build Bot
df0ef6618d [ci skip] js-precompiled 20170706-164115 2017-07-06 16:47:59 +00:00
Robert Habermeier
0409e95d1e Merge pull request #6000 from paritytech/new-acc
Fix first run wizard.
2017-07-06 18:02:47 +02:00
Robert Habermeier
104367ce24 Merge pull request #5996 from paritytech/serdeup
migration to serde 1.0
2017-07-06 18:02:11 +02:00
debris
5f2cb5e52f push CI 2017-07-06 16:48:58 +02:00
debris
8118444442 fixed rpc tests 2017-07-06 15:25:51 +02:00
debris
9e185030e6 push CI 2017-07-06 14:49:10 +02:00
debris
f4f8b411f5 fixed parity tests with new serde and toml 2017-07-06 14:10:41 +02:00
Svyatoslav Nikolsky
6334893561 SecretStore: generating signatures (#5764)
* refactoring traits

* separate generation session

* generalized ClusterSessions

* signing session prototype

* full_signature_math_session

* consensus session prototype

* continue signing session

* continue signing session

* continue signing session

* continue signing session

* isolated consensus logic

* started work on signing test

* complete_gen_sign_session works

* consensus tests

* get rid of duplicated data in SigningSession

* TODOs in signing session

* fixing tests

* fixed last test

* signing session in http listener

* new key server tests

* fix after merge

* enabled warnings

* fixed possible race

* ignore previous jobs responses

* include sef node in consensus when confirmed

* fixed warning

* removed extra clones

* consensus_restarts_after_node_timeout

* encrypt signature before return

* return error text along with HTTP status

* fix for odd-of-N (share check fails + not equal to local sign)

* fixed t-of-N for odd t

* fixed test cases in complete_gen_sign_session

* fixed mistimed response reaction

* jobs draft

* DecryptionJob

* consensus session tets

* fixed decryption tests

* signing job implementation

* siginng_session using new consensus_session

* added license preambles

* same_consensus_group_returned_after_second_selection

* database upgrade v0 -> v1

* typo

* fixed grumbles
2017-07-06 14:02:10 +02:00
kaikun213
76f0247f5d Tests still warn because of old provider in some tests 2017-07-06 12:42:10 +02:00
debris
44ae70e9ec Merge branch 'serdeup' of github.com:paritytech/parity into serdeup 2017-07-06 11:44:37 +02:00
debris
1c2a4c116a Merge branch 'master' into serdeup 2017-07-06 11:43:46 +02:00
debris
61d8f90530 updated serde to version 1.0 2017-07-06 11:36:15 +02:00
Marek Kotewicz
46183b1cdd bigint upgraded to version 3.0 (#5986)
* bigint upgraded to version 3.0

* fixed missing FromHex import in ethcore tests

* fixed missing FromHex import in rpc tests
2017-07-06 11:26:14 +02:00
Marek Kotewicz
a78a89b13a Merge pull request #5965 from guanqun/fix-force-seal
config: don't allow dev chain with force sealing option
2017-07-06 11:20:06 +02:00
Marek Kotewicz
e91025282e Merge pull request #5969 from brson/lockfile
Update lockfile for miniz-sys and gcc
2017-07-06 11:18:52 +02:00
Marek Kotewicz
a3a4a37ec7 Merge pull request #5995 from paritytech/rpc-errors-naming-3204
Clean up function naming in RPC error module
2017-07-06 11:18:04 +02:00
debris
687a542260 Merge branch 'bigint3' into serdeup 2017-07-06 11:15:19 +02:00
debris
e7d3036ace fixed missing FromHex import in rpc tests 2017-07-06 10:46:40 +02:00
GitLab Build Bot
33f1d2af1e [ci skip] js-precompiled 20170706-081457 2017-07-06 08:21:42 +00:00
debris
1d386f60e9 Merge branch 'bigint3' into serdeup 2017-07-06 10:19:35 +02:00
debris
7dcbcb5c31 fixed missing FromHex import in ethcore tests 2017-07-06 10:18:48 +02:00
Jef
981854d5ae Merge pull request #5975 from Vurich/fix-underflow
Fix underflow in gas calculation
2017-07-06 10:10:06 +02:00
kaikun213
349316f70e PubSub for parity-js (#5830)
* PubSub Integration WebSocket

* PubSub Provider API

* Parity License and fix switch statement

* Minor fix: use parameter api

* Exclude subscriptionId return

* Unsubscribe parameters as array

* secureProvider API added

* isSecure check

* Refractor: Formatting in callback (no Promise)

* Tests for parityProvider

* Refractor: Formatting in callback (secure API)

* Updated transaction documentation

* Module instead of API-Names, Options always as array (e.g. empty)

'parity' instead of 'parity_subscribe' calls
params with empty array as options. If eth_subscribe includes empty array parity-core will send invalid request (eth api doesn't have options)

* Removed isSecure transport check, because APIs are configurable

* Refractor Provider API to single Pubsub

* Modify transport layer to have single identifier for subscriptions

* FIX: Display pubsub errors

* Discard Messages after unsubscribing

* Fix: display error normal messages correctly

* Simplified code, removed unnecessary pubsub methods

* trace_call API 2nd argument blockNumber, first whatTrace

https://github.com/paritytech/parity/wiki/JSONRPC-trace-module#trace_call

* Separate namespaces pubsub. eth, parity, net

* Keep error for messages from unsubscribed topics.

* Fix: Unsubscribe Promise

* Add Test: Unsubscribe promise resolved

* Fix: 'error' in params
2017-07-06 09:50:27 +02:00
Tomasz Drwięga
58a27b3334 Fix first run wizard. 2017-07-05 12:25:07 +02:00
debris
2d69c7ecf6 finished migration to serde 1.0 2017-07-05 10:34:23 +02:00
debris
2c4f55a8fb migrated rpc to serde 1.0 2017-07-05 10:27:56 +02:00
debris
2e5f7f1632 migrated ethcore engine to new ethabi interface 2017-07-05 10:18:19 +02:00
debris
e448b84845 migrated ethcore-network to bytes 0.4 2017-07-04 18:12:39 +02:00
debris
972d30c288 migrated ethcore, ethstore, secret_store, updater and hash-fetch to serde 1.0 2017-07-04 17:23:06 +02:00
Axel Chalon
59e87b6a51 Clean up function naming in RPC error module 2017-07-04 17:01:06 +02:00
debris
9c911c7a28 migrated ethjson to serde 1.0 2017-07-04 17:00:42 +02:00
Tomasz Drwięga
949086baa5 Add missing frame-ancestors. 2017-07-04 16:43:53 +02:00
debris
286526072f migrated ethkey, ethstore, evmbin and parity executables to serde 1.0 2017-07-04 14:31:16 +02:00
debris
a9aaacd88b bigint upgraded to version 3.0 2017-07-04 12:19:11 +02:00
Vurich
2e90e02a2c Fix underflow 2017-07-03 17:43:03 +02:00
Jaco Greeff
c33ff96bb6 Merge branch 'master' into ui-2 2017-07-03 17:39:46 +02:00
Jaco Greeff
15a9e56b09 Ui 2 expand method filters (#5974)
* Add account & vault APIs

* Additional status methods

* Move permission modals into Dapp

* Adjust display position

* Don't publish invalid events
2017-07-03 17:05:56 +02:00
Robert Habermeier
cc718bb108 Merge pull request #5958 from Vurich/peer-status
Report whether a peer was kept from `Handler::on_connect`
2017-07-03 16:22:50 +02:00
Robert Habermeier
826a4ca0a2 Implement skeleton for transaction index and epoch transition proof PIP messages (#5908)
* add transaction index message without implementing

* add epoch proof fetch and response messages
2017-07-03 12:25:10 +02:00
Jaco Greeff
7f77e6004c Cleanup selector (#5971) 2017-07-03 10:36:34 +02:00
Jaco Greeff
15d4bc9d6d Save permissions (#5970) 2017-07-03 10:03:29 +02:00
Jaco Greeff
9f8467aa80 Merge branch 'master' into ui-2 2017-07-03 09:56:54 +02:00
Jaco Greeff
1896c2720b Use qrcode-generator directly from package 2017-07-03 09:48:17 +02:00
Brian Anderson
7240eee5a8 Update lockfile for miniz-sys and gcc
Fixes build with VS 2017.
2017-07-03 01:44:20 +01:00
Guanqun Lu
9241c6a9b5 config: don't allow dev chain with force sealing option 2017-07-01 23:20:49 +08:00
Vurich
17de29e69a Prevent disconnect from within handler (and style cleanup) 2017-06-30 12:10:12 +02:00
Tomasz Drwięga
f22745eb0a TransactionQueue improvements (#5917)
* Order by id instead of hash.

* Minimal gas price bump.

* Avoid to construct oversized transaction packets.

* Fix RPC.

* Never construct oversized transactions packet.

* Never construct oversized packets.
2017-06-30 11:57:48 +02:00
Tomasz Drwięga
5d9f5e3509 Defer code hash calculation. 2017-06-30 11:30:32 +02:00
Vurich
5eba9078fc Report whether a peer was kept from Handler::on_connect 2017-06-30 11:00:32 +02:00
Robert Habermeier
a3e693d5c3 Merge pull request #5952 from paritytech/constant-time-mac-compare
constant time HMAC comparison and clarify docs in ethkey
2017-06-29 22:21:12 +02:00
Robert Habermeier
36c91e4ed5 Merge pull request #5954 from paritytech/evm-defer
Avoid pre-computing jump destinations
2017-06-29 21:18:16 +02:00
Robert Habermeier
83690fdb90 Merge branch 'master' into constant-time-mac-compare 2017-06-29 21:15:20 +02:00
Tomasz Drwięga
38c00fae88 Merge branch 'master' into evm-defer 2017-06-29 18:42:58 +02:00
Tomasz Drwięga
465c7eeaa2 Defer construction valid_jump_destinations. 2017-06-29 17:43:34 +02:00
Robert Habermeier
a4195f2780 Merge pull request #5949 from Vurich/upgrade-elastic-array
Upgrade elastic array
2017-06-29 17:12:53 +02:00
Robert Habermeier
8a3e82d99a constant time HMAC comparison and clarify docs in ethkey 2017-06-29 13:44:24 +02:00
Vurich
01ce28bc9a Fix tests 2017-06-29 13:05:33 +02:00
Vurich
3d8dc11442 Upgrade elastic-array to 0.9.0
This is a huge change, which includes some changes to replace code that
originally cloned to reuse allocations instead. The updated
`elastic-array` crate renames its consuming `Vec`-conversion method to
`into_vec`, which means that I can do a simple
`sed -i 's/to_vec/into_vec/'` and then fix the compilation errors.

This commit is probably a minor performance win and definitely a
significant readability win.
2017-06-29 13:05:33 +02:00
arkpar
826bf28196 Fixed build 2017-06-28 16:11:18 +02:00
Jaco Greeff
8798ed4499 Merge branch 'master' into ui-2 2017-06-28 14:27:25 +02:00
Robert Habermeier
d069b98b45 PoA: Wait for transition finality before applying (#5774)
* final engine changes

* migration to v13

* adding and removing pending transitions

* epoch_transition_for

* port snapshot to new engine methods

* final validator set interface

* fix compiler errors

* revert v13/epoch_depth transition

* make call on new epoch

* rolling finality checker

* tests for finality checker

* constructing finality proof upon pending transition

* fix warnings and finality proof checking

* fix compiler warnings in tests

* test fixes

* don't include genesis in finality checking

* change snapshot test chain building logic

* minor refactorings

* fetch epoch transition based on parent, fix divide-by-zero in SimpleList

* fix formatting

* fix ABIs and finality checking in snapshot restoration

* encode signal number in proof

* create more blocks at the end of tests

* update gist to accurate contract code

* test for epoch_transition_for

* fix tests with immediateTransitions parameter

* disable force flag after forcing

* rename ValidatorsChanged to InitiateChange and finalizeSignal to finalizeChange

* a few more validator set tests
2017-06-28 13:17:36 +02:00
Denis S. Soldatov aka General-Beck
3637c14da5 fix Windows and MacOS build
add `cargo clean`
2017-06-28 14:03:17 +03:00
Denis S. Soldatov aka General-Beck
201f34620a CI build
add evmbin, ethstore, ethkey
2017-06-28 13:54:05 +03:00
Tomasz Drwięga
71c68cc000 Logs Pub-Sub (#5705)
* Logs subscription.

* Add test.

* lock -> write
2017-06-28 12:21:13 +02:00
Leo Arias
bcc84a31b7 Add the command to install the parity snap (#5945)
Putting the installation instructions for the snap will help getting more testers, and then publish it in the stable channel with more confidence.
2017-06-28 09:37:47 +02:00
Jef
72094a8bee Reduce unnecessary allocations (#5944) 2017-06-28 09:36:42 +02:00
Tomasz Drwięga
944f9d7fb5 Clarify confusing messages. (#5935) 2017-06-28 09:35:25 +02:00
Tomasz Drwięga
c7a043b864 Content Security Policy (#5790)
* Adding CSP headers.

* Adding Content-Security-Policy headers.

* Fixing test.

* CSP in ws server responses.
2017-06-28 09:12:02 +02:00
Arkadiy Paronyan
57626b60e7 EIP-168, 169: Dust protection (#4757)
* Dust protection

* Track touched accounts in the substate

* Minor alterations
2017-06-28 09:10:57 +02:00
GitLab Build Bot
6b16fe3f14 [ci skip] js-precompiled 20170627-213135 2017-06-27 21:35:37 +00:00
Arkadiy Paronyan
4a7bcfe4f0 CLI: Export error message and less verbose peer counter. (#5870)
* Removed numbed of active connections from informant

* Print error message when fatdb is required

* Remove peers from UI
2017-06-27 22:40:46 +02:00
Guanqun Lu
59488769cf network: make it more explicit about StreamToken and TimerToken (#5939) 2017-06-27 18:24:18 +02:00
Guanqun Lu
547031aa0e sync: make it more idiomatic rust (#5938) 2017-06-27 18:23:53 +02:00
arkpar
196c3e7e9b Fixed profile 2017-06-27 11:53:10 +02:00
David Dorgan
16caf032bd Only use -cli for the build, not binary itself. 2017-06-27 09:23:16 +02:00
Denis S. Soldatov aka General-Beck
4900e90112 build ethkey & ethstore
add -cli
2017-06-26 22:06:00 +03:00
Maciej Hirsz
02edc958d7 Merge pull request #5909 from paritytech/mh-always-show-accounts
Prioritize accounts over address book
2017-06-23 16:31:52 +02:00
maciejhirsz
2c254e3b32 Prioritize accounts over address book 2017-06-23 16:29:45 +02:00
Tomasz Drwięga
e73569c84d Fixing RPC test. (#5916) 2017-06-23 16:17:04 +02:00
GitLab Build Bot
cf772ef555 [ci skip] js-precompiled 20170623-115250 2017-06-23 11:56:57 +00:00
Jaco Greeff
0f41121556 Empty local middleware, until explicitly requested (#5912)
* Empty local middleware, until explicitly requested

* Remove previous empty overrides (unneeded now)

* Re-add over-zealous keyethereum removal
2017-06-23 13:40:16 +02:00
Jaco Greeff
6dfa097752 Update 2017-06-23 11:57:33 +02:00
Jaco Greeff
d9cb2c7781 Update 2017-06-23 11:53:20 +02:00
Jaco Greeff
72f3576c78 Merge branch 'master' into ui-2 2017-06-23 11:48:12 +02:00
Craig O'Connor
614a80bd23 Cancel propagated TX (#5899)
* lgtm

* linting

* Slight shortening
2017-06-23 10:32:19 +02:00
Robert Habermeier
796482c129 fix minor race condition in aura seal generation (#5910) 2017-06-22 20:44:04 +02:00
Robert Habermeier
b6fd18a9ca Merge pull request #5833 from paritytech/pubsub-docs
Docs for Pub-Sub, optional parameter for parity_subscribe
2017-06-22 20:17:02 +02:00
Jaco Greeff
64e6d36944 Fix gas editor doubling-up on gas (#5820) 2017-06-22 20:14:04 +02:00
Anton Gavrilov
f9033facd3 Information about used paths added to general output block (#5904)
* Information about used paths added to general output block

* Print was added into execute light also
2017-06-22 20:08:56 +02:00
Tomasz Drwięga
53609f703e Domain-locked web tokens. (#5894)
* Domain-locking web tokens.

* JS part.

* Fix linting issues.
2017-06-22 20:05:40 +02:00
Arkadiy Paronyan
4d5280e43c removed panic handlers (#5895) 2017-06-22 19:00:53 +02:00
Anton Gavrilov
dc548315b8 Merge pull request #5905 from paritytech/Merge-RocksDB
Latest changes from Rust RocksDB binding merged
2017-06-22 16:30:19 +03:00
Anton Gavrilov
7489a2b36f Latest changes from RocksDB binding merged 2017-06-22 15:54:08 +03:00
GitLab Build Bot
91f1c84048 [ci skip] js-precompiled 20170622-115440 2017-06-22 11:58:47 +00:00
Jaco Greeff
e1cd60987b Adjust keyethereum/secp256 aliasses (#5903)
* Alias keyethereum to empty for libraries/npm

* Alias long-standing vertx warning to empty

* Alias secp256k1

* remove package-lock.json (not active atm)
2017-06-22 13:29:12 +02:00
GitLab Build Bot
df51cad7e2 [ci skip] js-precompiled 20170622-101935 2017-06-22 10:23:53 +00:00
Jaco Greeff
a60c5527c7 Keyethereum fs dependency (#5902)
* Set process.browser

* Empty fs module (keyethereum dep)

* !==
2017-06-22 11:49:44 +02:00
Jaco Greeff
a6d3d4ea4c Secure API access via single-use tokens (#5892)
* Single use token for dapp permissions

* Add accountsInfo & allAccountsInfo

* Covert token -> dappName in requests
2017-06-21 15:15:23 +02:00
Jaco Greeff
97c67bc259 Merge branch 'master' into ui-2 2017-06-21 11:15:29 +02:00
Stewart Mackenzie
d152fa3e85 Ethereum Classic Monetary Policy (#5741)
* Ethereum Classic Monetary Policy

Create a new parameter `ecip1017EraRounds`. When the block number
passes one era rounds, the reward is reduced by 20%.

See https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1017.md

* Update rewards for uncle miners for ECIP1017

In the monetary policy, the rewards are changed from "up to 7/8 of the
reward" to "1/32 of the reward".

* Fix an off-by-one error in ECIP1017 era calculation

According to
https://github.com/ethereumproject/ECIPs/blob/master/ECIPs/ECIP-1017.md,
when in block number 5,000,000, it should still be in Era 1 (which in
our code `era == 0`). So we need to check whether the `rem` equals to
zero and act accordingly when calculating the era.

* `ecip1017_era_rounds` missing from EthashParams when run in build bot

* strip out ecip1017_eras_block_reward function and add unit test
2017-06-19 18:56:37 +02:00
Tomasz Drwięga
a19be3cb51 Initial token should allow full access. (#5873) 2017-06-19 18:35:56 +02:00
Maciej Hirsz
e871b7a0ac Merge pull request #5856 from paritytech/mh-pubnode-dappsigner
Fixed account selection for Dapps on public node
2017-06-19 18:29:06 +02:00
Robert Habermeier
c8e176b2e3 Merge pull request #5874 from paritytech/track-bad-snapshot-hashes
blacklist bad snapshot manifest hashes upon failure
2017-06-19 17:57:06 +02:00
Jaco Greeff
e479260e1f Method intercept dialog selection (#5875)
* Cleanup filter config

* Show single request of type (at a time)

* Align packages

* DappFilter -> DappRequests

* Methods dialog (WIP)

* Initial dapp methods modal

* Align dialog & popup permissions

* appname -> token mapping TODOs

* Case
2017-06-19 17:25:17 +02:00
GitLab Build Bot
367a5c998d [ci skip] js-precompiled 20170619-145413 2017-06-19 14:58:49 +00:00
Maciej Hirsz
b824bc29b5 Merge pull request #5838 from paritytech/ng-fix-timeouts
Fix wrongly called timeouts
2017-06-19 16:30:30 +02:00
Robert Habermeier
d168479a85 blacklist bad manifest hashes upon failure 2017-06-19 16:24:07 +02:00
Robert Habermeier
bedce59a6f Merge pull request #5867 from guanqun/small-fixes
ArchiveDB and other small fixes
2017-06-19 14:03:48 +02:00
Robert Habermeier
b84be93bb7 Merge pull request #5866 from guanqun/remove-try
convert try!() to ?
2017-06-19 14:02:58 +02:00
Saulius Valatka
a7da8eb593 Make config file optional (#5847) 2017-06-19 11:42:29 +02:00
Marek Kotewicz
575c51f5a0 eip214, #4833 (#4851) 2017-06-19 11:41:46 +02:00
Marek Kotewicz
c50dacff17 all executables are workspace members (#5865)
* ethstore-cli and ethkey-cli are workspace projects

* evmbin is now a workspace project
2017-06-19 11:29:09 +02:00
Jaco Greeff
d4532fac18 Updated after merge 2017-06-19 10:42:17 +02:00
Jaco Greeff
4dd26c0d7c Merge branch 'master' into ui-2 2017-06-19 10:39:05 +02:00
Jaco Greeff
acf9096a83 Updated 2017-06-19 10:38:32 +02:00
Robert Habermeier
a99d4c3dd3 Merge pull request #5860 from paritytech/minor-modexp-optimization
minor optimizations of the modexp builtin
2017-06-18 18:20:59 +02:00
Guanqun Lu
c1e5c36f7e EthStore: add a Chinese path to tests in ethstore 2017-06-18 23:13:27 +08:00
Guanqun Lu
4eff7abf3b StateDB: change spaces to tab 2017-06-18 23:13:27 +08:00
Guanqun Lu
a5531e83fd ArchiveDB: add a new test case 2017-06-18 23:13:27 +08:00
Guanqun Lu
7f07f7d567 ArchiveDB: add a contains() test for long history test case 2017-06-18 23:13:27 +08:00
Guanqun Lu
41fed96d96 convert try!() to ? 2017-06-18 22:16:34 +08:00
Robert Habermeier
ed20fa4da1 Merge pull request #5766 from guanqun/db-tests
three small commits for HashDB and MemoryDB
2017-06-18 04:24:45 +02:00
Robert Habermeier
e06d1dbb0c Merge pull request #5801 from guanqun/use-retain-for-memorydb
use rust 1.18's retain to boost the purge performance
2017-06-18 04:24:17 +02:00
Guanqun Lu
1efa7e7b10 add one more test case for consolidate, both are negative 2017-06-18 09:02:44 +08:00
Guanqun Lu
ce8f8f40d7 move MemoryDB's tests into tests module 2017-06-18 09:02:44 +08:00
Guanqun Lu
4efd673c19 add a bit clarification to HashDB's remove() interface 2017-06-18 09:02:44 +08:00
Robert Habermeier
ca27234a59 minor optimizations of the modexp builtin 2017-06-17 21:18:52 +02:00
Denis S. Soldatov aka General-Beck
3111421866 Update .gitlab-ci.yml
snap update
2017-06-17 22:03:12 +03:00
GitLab Build Bot
42dcdde4e8 [ci skip] js-precompiled 20170616-172546 2017-06-16 17:30:14 +00:00
Robert Habermeier
d6a0792bd9 Merge pull request #5858 from paritytech/mh-ipfs-allow-post
Allow IPFS server to accept POST requests
2017-06-16 18:46:53 +02:00
Robert Habermeier
7931d6a02a Merge pull request #5836 from paritytech/a5-ui-terminology
Dutch i18n from #5802 for master
2017-06-16 18:45:42 +02:00
Robert Habermeier
07e150a147 Merge pull request #5851 from trappist/typos
Typos in token deploy dapp ui
2017-06-16 18:45:27 +02:00
maciejhirsz
649de53382 Allow IPFS server to accept POST requests 2017-06-16 16:29:15 +02:00
maciejhirsz
ba6e41cf07 Fixed account selection for Dapps on public node 2017-06-16 14:00:30 +02:00
Rocco Stanzione
ba35d69831 Typos in token deploy dapp ui 2017-06-15 20:06:46 -05:00
Robert Habermeier
8d04dffe69 Merge pull request #5778 from paritytech/unlock
A CLI flag to allow fast transaction signing when account is unlocked.
2017-06-15 15:54:51 +02:00
Jaco Greeff
df52394871 UI 2 Approve-all for Filters (#5846)
* Approve all requests or type for token

* Approve all functionality

* Remove extra console.log
2017-06-15 11:59:14 +02:00
Jaco Greeff
58f15f1674 Filter request popups (#5843)
* Formatting

* Update dapps to use web3Provider

* Remove secure flag from config

* Basic request approve/reject popup

* Lenient provider checks

* Case sensitivity fix
2017-06-14 17:12:13 +02:00
Nicolas Gotchac
8cb4bc2127 Fix wrongly called timeouts 2017-06-14 12:35:36 +02:00
Tomasz Drwięga
963bcba267 Merge branch 'master' into unlock 2017-06-14 12:06:27 +02:00
Tomasz Drwięga
efc46e78f1 Fix description of AccountProvider setting. 2017-06-14 12:06:15 +02:00
Tomasz Drwięga
00b58d1206 Merge branch 'master' into pubsub-docs
# Conflicts:
#	rpc/src/v1/tests/mocked/pubsub.rs
2017-06-14 11:46:30 +02:00
Tomasz Drwięga
f7fb1bfa1d Fix linting. 2017-06-14 11:45:44 +02:00
Jaco Greeff
38b4ba8d33 Update package-lock 2017-06-14 10:27:33 +02:00
Jaco Greeff
121b742482 Merge branch 'master' into ui-2
# Conflicts:
#	Cargo.lock
#	ethcore/src/evm/instructions.rs
#	js/package.json
#	js/src/modals/CreateAccount/AccountDetails/accountDetails.js
#	js/src/modals/FirstRun/TnC/tnc.js
#	js/src/modals/FirstRun/Welcome/welcome.js
#	js/src/ui/Form/Input/input.js
#	js/src/views/Accounts/accounts.js
#	js/src/views/Settings/Views/defaults.js
#	js/src/views/Settings/Views/views.js
#	js/webpack/app.js
#	js/webpack/libraries.js
2017-06-14 10:16:42 +02:00
GitLab Build Bot
8aa2ed175e [ci skip] js-precompiled 20170613-162317 2017-06-13 16:31:45 +00:00
Tomasz Drwięga
fb3668f903 Adding missing documentation. (#5821) 2017-06-13 18:38:10 +03:00
Nicolas Gotchac
e4c7a7f30a Don't fail on wrong log decoding (#5813) 2017-06-13 18:36:51 +03:00
Tomasz Drwięga
57479dac27 Use randomized subscription ids for PubSub (#5756)
* Use randomized subscription ids for PubSub

* Use H64 instead of H128.

* iflet instead of match.

* Adding 0x.
2017-06-13 18:36:39 +03:00
Tomasz Drwięga
47e1e18e7e Ignoring some methods in test. 2017-06-13 16:47:58 +02:00
Tomasz Drwięga
172300158d Merge branch 'master' into pubsub-docs 2017-06-13 16:30:08 +02:00
Tomasz Drwięga
df910277a2 Make empty params array optional for parity_subscribe. 2017-06-13 16:29:35 +02:00
Tomasz Drwięga
9994133446 Adding docs. 2017-06-13 14:07:39 +02:00
Jaco Greeff
8f5a863468 Package updates 2017-06-13 13:23:16 +02:00
Jaco Greeff
6ea932b1de Update test for packages 2017-06-13 12:09:32 +02:00
Jaco Greeff
a2fdf38316 Additional merge fixes 2017-06-13 11:34:43 +02:00
Denis S. Soldatov aka General-Beck
6afe0b0612 fix builds
darwin rustup default stable
snap - allow failure
2017-06-13 12:21:44 +03:00
Jaco Greeff
7bbd48a2bd Merge branch 'master' into ui-2
# Conflicts:
#	js/package.json
#	js/src/api/local/ethkey/worker.js
#	js/src/modals/FirstRun/TnC/tnc.js
#	js/src/modals/FirstRun/Welcome/welcome.js
#	js/src/ui/Form/Input/input.js
#	js/src/ui/VaultCard/Accounts/accounts.spec.js
#	js/src/views/Accounts/accounts.js
#	js/src/views/Application/TabBar/tabBar.js
#	js/src/views/Settings/Views/defaults.js
#	js/src/views/Settings/Views/views.js
#	js/webpack/app.js
#	js/webpack/libraries.js
2017-06-13 11:02:38 +02:00
Marek Kotewicz
ca6e1aeb1b Merge pull request #5827 from paritytech/mem-fix
Fixed mem write for empty slice
2017-06-13 09:39:58 +02:00
Denis S. Soldatov aka General-Beck
03de333de1 fix verify 2017-06-13 02:35:07 +03:00
Denis S. Soldatov aka General-Beck
42ad8bbdb0 Create cov.sh
add --verify
add RUSTFLAGS="-C link-dead-code"
2017-06-13 02:22:37 +03:00
Denis S. Soldatov aka General-Beck
2501334ed7 add CI variable 2017-06-13 01:37:03 +03:00
GitLab Build Bot
15f19fc026 [ci skip] js-precompiled 20170612-222804 2017-06-12 22:32:43 +00:00
Afri
f3874ffaf2 Fix party technologies (#5810) 2017-06-12 22:52:34 +02:00
arkpar
4b74f65ed8 Fixed mem write for empty slice v2 2017-06-12 22:45:57 +02:00
Arkadiy Paronyan
033a75888c Revert "Fixed mem write for empty slice (#5825)" (#5826)
This reverts commit 6b874cedb8.
2017-06-12 22:43:20 +02:00
Arkadiy Paronyan
6b874cedb8 Fixed mem write for empty slice (#5825) 2017-06-12 22:42:58 +02:00
Denis S. Soldatov aka General-Beck
5f01fb7f1a remove nodejs 8 test stage
switch to RUST 1.18 and NodeJS 8.1
2017-06-12 23:40:57 +03:00
GitLab Build Bot
8eda5fcbbf [ci skip] js-precompiled 20170612-164938 2017-06-12 16:53:40 +00:00
Maciej Hirsz
c768c302da Merge pull request #5822 from paritytech/fix-tests
Fix JS tests
2017-06-12 18:12:13 +02:00
maciejhirsz
c7c05552f3 Fix rust, skip WASM till CI switches to Node 8+ 2017-06-12 17:43:23 +02:00
maciejhirsz
788dd04600 Merge branch 'master' into fix-tests 2017-06-12 17:07:07 +02:00
Tomasz Drwięga
f55a69841d Bump native-tls and openssl crates. (#5817) 2017-06-12 16:56:14 +02:00
maciejhirsz
41df8413fc fix JS tests 2017-06-12 16:44:59 +02:00
Maciej Hirsz
b2a42f03eb Public node WASM, performance and fixes (#5734) 2017-06-12 15:57:16 +02:00
Robert Habermeier
edea41d35e enforce block signer == author field in PoA (#5808) 2017-06-12 12:54:34 +03:00
Tomasz Drwięga
75ac263961 Fix stack display in evmbin. (#5733)
* Fix stack display.

* Additional compatiblity fixes.
2017-06-09 12:31:03 +02:00
Tomasz Drwięga
4c516e1f6f Disable UI if it's not compiled in. (#5773)
* Disable UI if it's not compiled in.

* Properly enabled/disable ui server depending on features.
2017-06-09 12:26:57 +02:00
Tomasz Drwięga
5c3ea4ec29 Require phrase confirmation. (#5731)
* Require phrase confirmation.

* Linting issues.

* Fix dialog title.

* Confirm a backup phrase.

* Confirm recovery phrase on fist run as well.
2017-06-09 12:25:14 +02:00
Anton Gavrilov
06eb561af5 Duration limit made optional for EthashParams (#5777)
* Duration limit made optional for EthashParams

* Forgotten space added
2017-06-09 12:24:23 +02:00
Afri
51ef847c64 Update Changelog for 1.6.8 (#5798)
* Update changelog for 1.6.8

* Add more changelog details for 1.6.8

* Fix date
2017-06-09 12:22:17 +02:00
Afri
1349b4ba07 Replace Ethcore comany name in T&C and some other places (#5796)
* Replace ethcore in terms and conditions

* Replace ethcore company name in various places

* Fix casing in t&c
2017-06-09 12:21:35 +02:00
Bas
4f63377ff2 Fix terminology distributed -> decentralized for Dutch i18n (#5802) 2017-06-09 12:21:10 +02:00
Tomasz Drwięga
f86457ffd1 PubSub for IPC. (#5800) 2017-06-09 12:20:37 +02:00
Afri
d368006526 Fix terminology distributed -> decentralized (#5797) 2017-06-09 12:20:08 +02:00
Guanqun Lu
cd3a1c1a94 use rust 1.18's new feature to boost the purge performance 2017-06-09 01:34:10 +08:00
Maciej Hirsz
dabd5b2cc8 Update required rust version 2017-06-08 19:25:35 +02:00
Arkadiy Paronyan
9418fcafb6 Disable compression for RLP strings (#5786) 2017-06-08 17:24:23 +02:00
Jaco Greeff
7f4a7abf49 Ui 2 provider for dapps (#5799)
* Import web3Provider

* Import api

* {Transport,Provider}/Ws -> WsSecure

* PostMessage provider with filters

* PromiseWrapper -> PromiseProvider
2017-06-08 17:14:02 +02:00
5chdn
ae8ff941f9 Fix terminology distributed -> decentralized 2017-06-08 14:10:35 +02:00
Jaco Greeff
c1599a3d85 Merge branch 'master' into ui-2
# Conflicts:
#	js/src/ui/Balance/balance.js
2017-06-08 11:51:46 +02:00
Tomasz Drwięga
2e7f29cc9f Merge branch 'master' into unlock 2017-06-08 09:21:04 +02:00
Tomasz Drwięga
c2a8415f78 Fix test. 2017-06-08 09:20:50 +02:00
Denis S. Soldatov aka General-Beck
0e36deec81 Merge pull request #5781 from elopio/update-snapcraft-source
update the source for the snapcraft package
2017-06-08 01:14:40 +03:00
Denis S. Soldatov aka General-Beck
317df7e6a6 fix CI lint 2017-06-07 22:05:44 +03:00
Denis S. Soldatov aka General-Beck
1fb11c23d8 port snap build 2017-06-07 21:53:36 +03:00
Tomasz Drwięga
52f7978d4d Merge branch 'master' into unlock 2017-06-07 17:07:32 +02:00
Arkadiy Paronyan
b9b5c84417 Fixed default UI port for mac installer (#5782) 2017-06-07 16:27:26 +02:00
Jaco Greeff
882f963e6b Block invalid account name creation (#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

* PR comments (Thanks @tomusdrw )

* Typo
2017-06-07 16:27:01 +02:00
Jaco Greeff
dec0c8ddd6 Merge branch 'master' into ui-2 2017-06-07 14:14:32 +02:00
Tomasz Drwięga
9773aa4c76 Update Cid/multihash/ring/tinykeccak (#5785)
* Updating ring,multihash,tiny-keccak

* Updating CID in ipfs.
2017-06-07 12:31:12 +02:00
Guanqun Lu
05aa960c25 use NULL_RLP, remove NULL_RLP_STATIC (#5742) 2017-06-07 11:58:39 +02:00
Tomasz Drwięga
19f01194b1 Blacklist empty phrase account. (#5730) 2017-06-07 11:34:53 +02:00
Leo Arias
6dd5297f8a update the source for the snapcraft package 2017-06-07 05:21:10 +00:00
Tomasz Drwięga
139ee17d39 Small typos. 2017-06-06 18:45:33 +02:00
Tomasz Drwięga
f5d0fa2c21 Merge branch 'master' into unlock 2017-06-06 18:41:00 +02:00
Tomasz Drwięga
a5299bdb1a Unlocking with secrets. 2017-06-06 18:06:40 +02:00
Arkadiy Paronyan
99bfef2801 EIP-211 RETURNDATACOPY and RETURNDATASIZE (#5678)
* EIP-211

* Optimized memory usage

* Optimized truncation
2017-06-06 18:47:12 +03:00
Denis S. Soldatov aka General-Beck
241de230bb Update .gitlab-ci.yml
add snap build to tags, triggers
2017-06-06 16:19:11 +03:00
Jaco Greeff
bba1688981 Master merge updates (conflicts) 2017-06-06 11:24:43 +02:00
Jaco Greeff
6a480ffb5b Merge branch 'master' into ui-2 2017-06-06 09:35:22 +02:00
Arkadiy Paronyan
ad6ea4fa49 Bump mio (#5763)
* Bump mio

* Fixed warnings

* Update mio to crates.
2017-06-05 20:40:40 +02:00
Denis S. Soldatov aka General-Beck
815f427c95 Update .gitlab-ci.yml
add rust beta&nigthly test for master
add more triggers
2017-06-05 15:44:37 +03:00
GitLab Build Bot
754abdb861 [ci skip] js-precompiled 20170604-110515 2017-06-04 11:09:12 +00:00
Tomasz Drwięga
8a364bbfaa Fixing UI issues after UI server refactor (#5710)
* Self-sufficient secureApi.

* Updating embed.

* Linting issues.
2017-06-04 12:34:03 +02:00
GitLab Build Bot
e89d49d958 [ci skip] js-precompiled 20170603-131456 2017-06-03 13:18:47 +00:00
Tomasz Drwięga
68c8948294 fix WS server expose issue. (#5728) 2017-06-03 15:41:42 +03:00
Tomasz Drwięga
5ec5d2fa0b Fix local transactions without condition. (#5716) 2017-06-03 15:41:31 +03:00
Tomasz Drwięga
45d8cc706c Bump wordlist. (#5748) 2017-06-02 13:06:41 +02:00
Denis S. Soldatov aka General-Beck
d7e531c373 JS test Node 7 -> 8 2017-06-01 00:05:11 +03:00
DevOps Parity
c5c1978584 initial support snapcraft.io
create snapcraft.yaml  for snapcraft.io
2017-05-31 21:17:44 +03:00
Jaco Greeff
a328eef8d9 UI 2 Api providers (#5714)
* Add providers

* Convert rpc calls to use provider

* Update SecureApi for provider
2017-05-31 12:08:04 +02:00
Guanqun Lu
5a20c63b70 two small changes in evm (#5700)
* add a simple test for is_push so that every small utility has a corresponding unit test

* split evm/factory.rs into two files as the TODO suggests

* style fixes according to review comments
2017-05-30 19:31:43 +02:00
Tomasz Drwięga
480741894b JSON format printing pre-state. (#5712) 2017-05-30 19:30:15 +02:00
Nicolas Gotchac
c2c7231cad Recover from empty phrase in dev mode (#5698)
* Add dev chain to isTest

* Fix signer

* Fix no condfition transactions

* Fix case : old parity

* Fix propTypes.
2017-05-30 19:28:50 +02:00
Jaco Greeff
265618f306 Merge branch 'master' into ui-2 2017-05-30 13:43:38 +02:00
Jaco Greeff
fd3c8bced7 UI2 fixes for Signer popup (#5711)
* Fix new origin shape

* Pass input types through (<input /> tag)

* Update build
2017-05-30 13:41:30 +02:00
Arkadiy Paronyan
e6a31e7543 EIP-210 BLOCKHASH changes (#5505)
* EIP-210

* comment
2017-05-30 11:52:33 +02:00
Jaco Greeff
d888190637 Merge branch 'master' into ui-2
# Conflicts:
#	js/src/modals/FirstRun/Welcome/welcome.js
2017-05-30 10:45:48 +02:00
GitLab Build Bot
de4c9507e6 [ci skip] js-precompiled 20170529-225538 2017-05-29 22:59:31 +00:00
Robert Habermeier
158ebef566 Merge pull request #5708 from patrick99e99/master
fixes typo
2017-05-30 00:36:28 +02:00
Patrick Collins
b14145f23b fixes typo 2017-05-29 14:29:55 -07:00
Arkadiy Paronyan
7c2c39cb11 bump rocksdb (#5707) 2017-05-29 18:37:35 +03:00
Arkadiy Paronyan
a4aec56d18 Fixed --datadir option (#5697)
* Fixed --datadir

* Removed evmbin lib
2017-05-29 15:15:54 +02:00
Jaco Greeff
fce0167991 Merge branch 'master' into ui-2 2017-05-29 09:42:47 +02:00
Craig O'Connor
3991178b8d rpc -> weak to arc (#5688)
* helpers-1

* helpers2-impls1

* small adjustments1

* cleanup-2

* small changes

* helper-impl-cleanup-finished

* test-update

* merge fix

* merge fix

* merge fix2

* fix tests

* fix tests2

* fix tests3
2017-05-28 08:40:36 -04:00
Guanqun Lu
a246278727 typo fix (#5699) 2017-05-27 23:35:18 +03:00
Denis S. Soldatov aka General-Beck
1f0f27bc65 Dockerfile for hub.docker.com 2017-05-26 15:18:17 +03:00
Denis S. Soldatov aka General-Beck
a4a36422d4 Add Installed-Size to deb build
https://github.com/paritytech/parity/issues/4937
2017-05-26 14:56:51 +03:00
Tomasz Drwięga
543965411e Revamping parity-evmbin (#5696)
* Revamping evmbin to support spec files, json format and subcalls.

* Fix formatting of usage.
2017-05-26 11:06:48 +02:00
Jaco Greeff
37c3f51f6e Update deps for console refactor 2017-05-24 14:45:10 +02:00
Jaco Greeff
45c6cc6ac0 Merge branch 'master' into ui-2 2017-05-24 14:09:51 +02:00
Jaco Greeff
d33d54dbf9 Merge pre-update 2017-05-24 14:05:34 +02:00
GitLab Build Bot
bbbdd02a00 [ci skip] js-precompiled 20170524-104640 2017-05-24 10:50:29 +00:00
Nikolay Volf
e1fef5c732 Update dependencies and bigint api (#5685)
* update to latest bigint

* bump elastic array and deps

* fix rlp tests

* also update all smallvec deps

* fix doc test

* reduce parking in attempt to fix CI bug

* fix from/into electum bug

* remove duplicate imports
2017-05-24 12:31:33 +02:00
Tomasz Drwięga
cbcc369a2d UI server refactoring (#5580)
* Full API in Authenticated WS server.

* Replacing UI server with Hyper.

* Solving CLI, RPCs and tests.

* Porting signer tests.

* Fixing origin recognition for dapps/rpc.

* Fixing tests. Adding parity-rpc-client to test.

* Dapps exposed as RPC method.

* JS code to support new connection scheme.

* Fixing dapps tests.

* Updating allowed origins/hosts to support web3.site.

* Fixing tests, fixing UI.

* Fixing tests.

* Removing invalid tests.

* Fixing merge.

* 404 fallback for UI

* Improve ContentFetcher constructor readability.

* Naming.

* Update .gitlab-ci.yml

fix CI lint error

* Fixing tests and linting issues.

* Fixing new tests.

* UI hosts.

* Submodules fix.
2017-05-24 12:24:07 +02:00
Nikolay Volf
7499efecf6 fix from/into electum bug (#5686) 2017-05-24 11:53:02 +02:00
Robert Habermeier
18c3e90dbf Merge pull request #5671 from paritytech/guanqun-add-unit-tests
Guanqun add unit tests
2017-05-23 15:18:11 -04:00
Tomasz Drwięga
00cdc52323 Parity-PubSub as a separate API. (#5676)
* Parity-PubSub as a separate API.

* Fix tests.

* Fixes after merge.
2017-05-23 19:05:17 +03:00
Arkadiy Paronyan
dd004aba9f EIP-140 (#5477) 2017-05-23 16:49:17 +03:00
Afri
2ab21acf11 Update CHANGELOG for 1.6.7 (#5683) 2017-05-23 15:28:41 +02:00
GitLab Build Bot
6b6555852c [ci skip] js-precompiled 20170523-130314 2017-05-23 13:07:10 +00:00
Gav
8a54c91431 Merge branch 'add-unit-tests' of https://github.com/guanqun/parity into guanqun-add-unit-tests 2017-05-23 08:48:04 -04:00
Micah Zoltu
2092b805b6 Updated docs slightly. (#5674)
These docs _really_ need a lot of improvement (like what are the options that go in `{}`, but at least they are now not outright incorrect.
2017-05-23 08:37:27 -04:00
Nikolay Volf
53add78a28 Fix build (#5684)
* missing feature

* dapps update
2017-05-23 08:35:34 -04:00
Robert Habermeier
386cdb830d Back-references for the on-demand service (#5573)
* header back-references for on demand

* initial back-reference implementation for on demand requests

* answer requests from cache

* answer requests from cache, add tests

* strongly typed responses for vectors of homogeneous requests

* fix fallout in RPC without optimizing
2017-05-23 12:39:25 +02:00
Robert Habermeier
aa41b48ba0 Dynamically adjust PIP request costs based on gathered data (#5603)
* beginnings of load timer

* initial load timer implementation

* saturating adds

* create flow params from distribution

* update request credits and acknowledgement

* mark cumulative cost dead code

* fix compilation

* tests

* supply load share and other params to  lightprotocol params

* add file store

* fix ethsync compilation

* reshuffle constants
2017-05-23 12:31:09 +02:00
Marek Kotewicz
a8d99ae465 use cargo workspace (#5601)
* use cargo workspace

* removed profiles for non root packages
2017-05-23 12:28:22 +02:00
Tomasz Drwięga
f38cc8e182 Latest headers Pub-Sub (#5655)
* Signer subscription.

* Fixing RPC tests.

* Block Headers eth-pubsub.

* PubSub for light client.

* Fixing tests.

* Updating to proper jsonrpc version.

* Update to correct tests.

* Fixing tests.
2017-05-23 12:26:39 +02:00
Marek Kotewicz
92f5aa7e10 improved dockerfile builds (#5659)
* docker builds current branch instead of cloning the repo

* moved ADD command right before RUN cd parity in Dockerfiles

* update docker/README.md

* removed --no-cache from docker/README.md
2017-05-23 12:25:41 +02:00
Tomasz Drwięga
f47cbe0be6 Adding CLI options: port shift and unsafe expose. (#5677)
* Adding CLI option for port shift and unsafe expose.

* Fixing IPC path.

* Fix hosts when attempting to expose on all interfaces.

* Fixing test.

* Fix typo.
2017-05-23 12:24:32 +02:00
Jaco Greeff
368e3d1f51 Merge branch 'master' into ui-2 2017-05-22 11:50:15 +02:00
Craig O'Connor
7a4eb15b4c Form fixes (#5664)
* label fix

* label-tx-row

* form fixes
2017-05-22 11:00:37 +02:00
keorn
532801f9d6 Report missing author in Aura (#5583)
* report missing block

* add a test validator set

* add a skip test

* clean up test

* report all skipped
2017-05-22 08:21:34 +02:00
Guanqun Lu
14b715bdc7 fix not build issue, only detect pure js folder 2017-05-21 10:44:20 +08:00
Gav
0a62117851 Merge branch 'add-unit-tests' of https://github.com/guanqun/parity into guanqun-add-unit-tests 2017-05-20 11:24:58 +02:00
Guanqun Lu
86b00a9271 typo fix (#5669) 2017-05-20 11:22:35 +02:00
Guanqun Lu
d35da909db add asserts in ethash.rs 2017-05-20 12:12:16 +08:00
Guanqun Lu
73ad575306 add asserts in genesis.rs 2017-05-20 12:12:16 +08:00
Guanqun Lu
292eb1de62 add asserts in engine.rs 2017-05-20 12:12:16 +08:00
GitLab Build Bot
99a1636c62 [ci skip] js-precompiled 20170519-161414 2017-05-19 16:18:02 +00:00
Jaco Greeff
c944b2e632 Remove public middleware (temporary) (#5665) 2017-05-19 18:05:44 +02:00
GitLab Build Bot
ae0841598f [ci skip] js-precompiled 20170519-154153 2017-05-19 15:45:53 +00:00
Jaco Greeff
637730996a Remove additional polyfill (#5663) 2017-05-19 17:30:54 +02:00
Tomasz Drwięga
1a1d5e4a73 Importing accounts from files. (#5644)
* Importing accounts from files.

* whitespace

[ci:skip]
2017-05-19 17:14:47 +02:00
Guanqun Lu
d10ade1963 remove the deprecated options in rustfmt.toml (#5616)
* remove the deprecated options in rustfmt.toml

* add chain_one_line_max

* fix two issues spot by rustfmt
2017-05-19 17:12:20 +02:00
Nicolas Gotchac
84cab18120 Update the Console dapp (#5602)
* Init Console Dapp structure

* Watches and status

* First REPL and display

* Attaching console

* Selectable autocomplete

* working console // Display objects nicely

* Multilines in Console Dapps

* Better UI

* Eval on window object

* Save console gistory

* Adding views

* Add settings to the console dapp

* Add / remove Watches

* Add Snippets Cmponent

* Semi Working Snippets

* Working Snippets

* Adding CodeMirror features

* Removing old Console

* Add Static folder
2017-05-19 17:07:59 +02:00
Tomasz Drwięga
3ff72794e5 Create an account for chain=dev (#5612)
* implement From<&'static str> for Secret

* Dev account.

* Fix Secret semantics.
2017-05-19 17:06:36 +02:00
Jaco Greeff
e7abd3510a Use babel-runtime as opposed to babel-polyfill (#5662)
* Add babel-runtime

* Add babel-transform-runtime plugin

* Remove babel-polyfill imports

* Remove babel-polyfill package

* Transform exports to work around webpack 2.2
2017-05-19 16:51:15 +02:00
Guanqun Lu
f96731c82b add assets for seal.rs 2017-05-19 22:48:23 +08:00
Guanqun Lu
5c7c30cc4b add asserts in spec param.rs 2017-05-19 22:48:23 +08:00
Guanqun Lu
a61b249d57 add asserts in tendermint.rs 2017-05-19 22:48:23 +08:00
Guanqun Lu
0b4eef48c5 add asserts in instantseal 2017-05-19 22:48:23 +08:00
Guanqun Lu
90b8b612cc add asserts for spec::basic_authority 2017-05-19 22:48:23 +08:00
Guanqun Lu
c0a8eaa3bf add asserts in spec::authority_round's unit test 2017-05-19 22:48:23 +08:00
Guanqun Lu
a0dd77ca01 add asserts in spec::validatorset's unit test 2017-05-19 22:48:23 +08:00
Guanqun Lu
f90802498f add two asserts in unit tests for spec::authority_round 2017-05-19 22:48:23 +08:00
Guanqun Lu
cf0b8b7681 add several new tests for spec::account 2017-05-19 22:48:23 +08:00
Jaco Greeff
602115d81e Merge branch 'master' into ui-2
# Conflicts:
#	js/src/shell/Connection/connection.js
#	js/src/ui/Icons/index.js
#	js/src/views/Accounts/CreateAccount/RecoveryPhrase/recoveryPhrase.js
2017-05-19 14:55:13 +02:00
Denis S. Soldatov aka General-Beck
2fd44e6ce4 CI add test stage with node 7.x 2017-05-18 21:22:52 +03:00
GitLab Build Bot
23a4a22869 [ci skip] js-precompiled 20170518-113124 2017-05-18 11:35:53 +00:00
Jaco Greeff
aa9894711b Connection dialog timestamp info (#5554)
* Timetsamp adjustment note

* Type & unneeded values
2017-05-18 12:46:30 +02:00
Guanqun Lu
6d81b8a49a use copy_from_slice instead of for loop (#5647) 2017-05-18 12:46:14 +02:00
Robert Habermeier
b1eab698d2 Light friendly dapps (#5634)
* move native_contracts ABIs to JSON files, add urlhint

* port hash-fetch to futures, fix tests

* fix dapps compilation, defer async port to later

* activate dapps server in the light client

* better formatting
2017-05-18 12:44:09 +02:00
Craig O'Connor
6978e38752 style-fix (#5649) 2017-05-18 12:33:01 +02:00
GitLab Build Bot
95d9706fe1 [ci skip] js-precompiled 20170518-101141 2017-05-18 10:15:33 +00:00
Nicolas Gotchac
8b1f0b7cf4 Add Recover button to Accounts and warnings (#5645)
* Add Recover button to Accounts // Add Warnings

* Change to 11

* Add test net checks for empty recovery phrase

* Fix failing tests
2017-05-18 11:50:15 +02:00
Jaco Greeff
20bda5f5a0 Ui 2 components cleanups (#5653)
* Add autoFocus for search

* Remove old/unused renderer

* LabelComponent -> LabelWrapper

* Consistent LabelWrapper usage
2017-05-18 11:48:53 +02:00
Jaco Greeff
e0927f099e Merge branch 'master' into ui-2 2017-05-18 11:26:09 +02:00
Jaco Greeff
4b5a1d01ce Merge remote-tracking branch 'origin/ui-2' into ui-2 2017-05-18 10:07:35 +02:00
Craig O'Connor
78461d8a74 flow (#5606)
* FLOW

* ui-2-one more fix
2017-05-18 10:06:59 +02:00
GitLab Build Bot
2ec51fc0ad [ci skip] js-precompiled 20170517-144631 2017-05-17 14:50:24 +00:00
Tomasz Drwięga
379b920d49 Update eth_sign docs. (#5631) 2017-05-17 16:21:39 +02:00
Tomasz Drwięga
240704fb54 Proper signer Pub-Sub for pending requests. (#5594)
* Signer subscription.

* Fixing RPC tests.

* Improve notification performance.
2017-05-17 16:20:41 +02:00
Jaco Greeff
ab86f9e696 Merge branch 'master' into ui-2 2017-05-17 14:20:07 +02:00
Marek Kotewicz
da8be072fa Merge pull request #5641 from paritytech/bigint-bump
Bump bigint to 1.0.5
2017-05-17 13:33:05 +02:00
Robert Habermeier
4c5e4ac8da PoA warp implementation (#5488)
* separate modules for consensus snapshot chunks

* bulk of authority warp logic

* finish authority warp implementation

* squash warnings and enable authority snapshot mode

* test harness for PoA

* fiddle with harness

* epoch generation proof fixes

* update constructor code

* store epoch transition proof after block commit

* basic snap and restore test

* use keyvaluedb in state restoration

* decompress chunks

* fix encoding issues

* fixed-to-contract-to-contract test

* implement ancient block import

* restore genesis transition in PoW snapshot

* add format version method to snapshot components

* supported version numbers in snapshot_components

* allow returning of ancient epoch transitions

* genesis hash mismatch check

* remove commented code
2017-05-17 12:41:33 +02:00
Robert Habermeier
5d973f8ef5 Merge pull request #5419 from paritytech/on-demand-priority
Improve on-demand dispatch and add support for batch requests
2017-05-17 12:28:27 +02:00
Tomasz Drwięga
fa4426c814 Bump bigint. 2017-05-17 10:07:20 +02:00
Robert Habermeier
c7cf43d1c1 improve assertion 2017-05-16 17:24:12 +02:00
GitLab Build Bot
7626ddc9c3 [ci skip] js-precompiled 20170516-145955 2017-05-16 15:03:40 +00:00
Jaco Greeff
f7ea667140 Merge branch 'master' into ui-2 2017-05-16 17:03:17 +02:00
Nicolas Gotchac
8642300d74 Use default account for sending transactions (#5588)
* Add default account for Wallet Creation

* Use default account by default, save current used account

* Fix tests
2017-05-16 15:38:16 +01:00
Jaco Greeff
673cde3c0b Ui 2 cleanups (unused components, shared assets) (#5636)
* Remove unused components

* Move to dapp/index.js

* Move assets to @parity/shared
2017-05-16 16:01:11 +02:00
Jaco Greeff
95f6f70d8f Ui 2 complete MUI removal (#5635)
* Convert DateTime input component

* Remove muiTheme context
2017-05-16 14:46:48 +02:00
GitLab Build Bot
48ddd8b312 [ci skip] js-precompiled 20170516-115901 2017-05-16 12:04:56 +00:00
Jaco Greeff
31be9d25f3 Merge branch 'master' into ui-2
# Conflicts:
#
js/src/shell/Signer/components/TransactionPendingFormConfirm/transaction
PendingFormConfirm.js
#	js/src/ui/Container/Title/title.js
#	js/src/views/Application/Snackbar/snackbar.js
#	js/src/views/Status/Peers/peers.js
2017-05-16 13:30:19 +02:00
Jaco Greeff
665998e797 Ui 2 mui to sui conversion (#5633)
* Split chip rendering from input

* Slider component

* Render Chip without MUI

* Adjust InputChip styling

* Remove mui chip input

* Remove mui-chip-input from build

* Convert input to sui
2017-05-16 12:25:47 +02:00
Nicolas Gotchac
0f1a857576 Add peer management to the Status tab (#5566)
* Add peer management to the Status tab

* Fix propTypes issue
2017-05-16 11:01:55 +01:00
keorn
945c1a9478 add monotonic transition to kovan (#5587) 2017-05-15 21:34:01 +01:00
Tomasz Drwięga
879195397e Decrypting for external accounts. (#5581) 2017-05-15 18:59:41 +02:00
Jaco Greeff
c27d96a4f1 Ui 2 additional MUI replacements (#5623)
* Loader spinner

* Progressbar conversion

* Update Progress

* Transfer operational again

* Remove List/ListItem from features

* Remove extra animation

* Remove iconButton

* Remove underline(input to be replaced)

* Convert Sort to Popup

* Remove unused AutoComplete component

* Simplify ModalBox

* Allow empty Actionbar

* Adjust shapeshift icon

* Simplify MUI theme (before removal)

* Update tests
2017-05-15 14:49:47 +02:00
Jaco Greeff
c5fa9844f2 Merge branch 'master' into ui-2 2017-05-15 10:03:51 +02:00
Robert Habermeier
4df1772078 Merge pull request #5595 from paritytech/no-warp-if-disabled
only enable warp sync when engine supports it
2017-05-13 15:04:06 +02:00
Robert Habermeier
f8279bb7bb code cleanup with macro 2017-05-12 18:00:01 +02:00
Robert Habermeier
2a6f38c587 removing slienced warning 2017-05-12 17:53:10 +02:00
Robert Habermeier
909f3d76d8 optimize back-reference filling 2017-05-12 17:25:02 +02:00
Jaco Greeff
9bc82543ee Merge branch 'master' into ui-2 2017-05-12 17:19:50 +02:00
Robert Habermeier
2d87f562f6 address grumbles 2017-05-12 17:16:38 +02:00
Jaco Greeff
7cdddd344b Ui 2 remove mui from views & shell (#5613)
* Stepper from semantic-ui

* Tabs component

* ui/Tabs in loadContract

* Adapt Dropdown events

* Remove direct use of semantic-ui

* Remove IconButton & Subheader

* Remove IconMenu

* ui/List & List.Item

* Be explicit in context props
2017-05-12 17:06:53 +02:00
Marek Kotewicz
b1f6112c5c Merge pull request #5586 from guanqun/doc-fix
fix the doc of installing rust
2017-05-12 16:35:47 +02:00
Marek Kotewicz
c38e33ca8b Merge pull request #5584 from guanqun/small-fixes
Small fixes
2017-05-12 16:34:49 +02:00
Svyatoslav Nikolsky
e6ecd05308 SecretStore: remove session on master node (#5545)
* ECDKG protocol prototype

* added test for enc/dec math

* get rid of decryption_session

* added licenses

* fix after merge

* get rid of unused serde dependency

* doc

* decryption session [without commutative enc]

* failed_dec_session

* fixed tests

* added commen

* added more decryption session tests

* helper to localize an issue

* more computations to localize error

* decryption_session::SessionParams

* added tests for EC math to localize problem

* secretstore network transport

* encryption_session_works_over_network

* network errors processing

* connecting to KeyServer

* licenses

* get rid of debug println-s

* fixed secretstore args

* encryption results are stored in KS database

* decryption protocol works over network

* enc/dec Session traits

* fixing warnings

* fix after merge

* on-chain ACL checker proto

* fixed compilation

* fixed compilation

* finally fixed <odd>-of-N-scheme

* temporary commented test

* 1-of-N works in math

* scheme 1-of-N works

* updated AclStorage with real contract ABI

* remove unnecessary unsafety

* fixed grumbles

* wakeup on access denied

* encrypt secretstore messages

* 'shadow' decryption

* fix grumbles

* lost files

* secretstore cli-options

* decryption seccion when ACL check failed on master

* disallow regenerating key for existing document

* removed obsolete TODO

* fix after merge

* switched to tokio_io

* fix after merge

* fix after merge

* fix after merge

* fix after merge

* fix after merge

* fixed test

* fix after merge

* encryption session errors are now fatal

* session timeouts

* autorestart decryption session

* remove sessions on completion

* exclude disconnected nodes from decryption session

* test for enc/dec session over network with 1 node

* remove debug printlns

* fixed 1-of-1 scheme

* drop for KeyServerHttpListener

* Use standard encryption and decryption (as in RPC)

* added some tests

* moved DEFAULT_MAC to ethcrypto

* rpc_secretstore_encrypt_and_decrypt

* serialization with "0x" prefix (RPC compatibility)

* secretstore RPC API

* fix after merge

* fixed typo

* secretstore_shadowDecrypt RPC

* enable secretstore RPCs by default

* fixed test

* SecStore RPCs available without SecStore feature

* fixed grumbles

* lost files

* added password argument to Parity RPCs

* update docs

* remove enc/dec session on master node

* lost file

* pass weak instead of arc
2017-05-12 14:36:19 +02:00
GitLab Build Bot
83a13ee0e6 [ci skip] js-precompiled 20170512-102851 2017-05-12 10:32:43 +00:00
Craig O'Connor
662a8317a5 run-clean (#5607) 2017-05-12 12:10:24 +02:00
Jaco Greeff
1243728725 Merge remote-tracking branch 'origin/ui-2' into ui-2 2017-05-12 12:06:58 +02:00
Jaco Greeff
5da7c32bdf Ui 2 radios & imports (#5609)
* Remove mui IconButton

* Token type selection

* Convert RadioButtons

* RadioButtons consistency

* Import @parity/ui

* Import @parity/ui

* Explicit name for RadioButtons

* Convert to semantic Radio
2017-05-12 12:06:16 +02:00
Jaco Greeff
79e991d8a6 Merge branch 'master' into ui-2 2017-05-12 12:04:57 +02:00
Robert Habermeier
38ed39ebe0 Merge pull request #5591 from paritytech/relicense-rlp
relicense RLP to MIT/Apache2
2017-05-11 16:54:43 +02:00
Robert Habermeier
83325b5b72 Merge pull request #5597 from paritytech/ethsign
Fix eth_sign signature encoding.
2017-05-11 16:43:39 +02:00
Robert Habermeier
79f9e9b061 fix dependency graph 2017-05-11 15:37:11 +02:00
Robert Habermeier
8c86bd1b31 bump RLP version 2017-05-11 15:35:38 +02:00
Robert Habermeier
f299190e46 relicense ethcore-bigint 2017-05-11 15:34:35 +02:00
Tomasz Drwięga
feb7ac7ba8 Fix ethkey test. 2017-05-11 14:58:24 +02:00
Jaco Greeff
78b6de55b3 Ui 2 Select component conversion (#5598)
* Remove mui/Paper from PasswordManager

* Aliasses for @parity packages

* Remove mui/Card from contract queries

* Toggle component replacement (mui-only)

* Semantic-ui toggle component

* LabelComponent warpper for Toggle

* Convert Selectors

* Test fixes

* Fix case
2017-05-11 14:02:27 +02:00
Tomasz Drwięga
fc3e1a4f18 Fix eth_sign signature encoding. 2017-05-11 12:47:47 +02:00
Jaco Greeff
b1a390983b Merge branch 'master' into ui-2 2017-05-11 09:57:39 +02:00
Craig O'Connor
85cf93e65d Merge pull request #5559 from paritytech/menu
dropdowns
2017-05-10 23:48:40 -04:00
Denis S. Soldatov aka General-Beck
28b66d1b58 Update deb-build.sh
Ethcore -> Parity Technologies
2017-05-10 23:19:08 +03:00
GitLab Build Bot
2b30e0b5e0 [ci skip] js-precompiled 20170510-155435 2017-05-10 15:58:15 +00:00
Jaco Greeff
7c78dff386 Updates after merge (last remaining middleware nigglies) 2017-05-10 17:50:23 +02:00
Nicolas Gotchac
8146cbdae7 Check pending request on Node local transactions (#5564)
* Check pending request on Node

* Linting

* Liting

* Fix tests
2017-05-10 17:33:53 +02:00
Jaco Greeff
566b6a1967 Merge branch 'master' into ui-2
# Conflicts:
#	js/src/shared/redux/middleware.js
#	js/src/shared/redux/providers/registry/middleware.js
#	js/src/shell/Application/application.js
#	js/src/ui/Actionbar/actionbar.js
#	js/src/ui/Button/button.js
#	js/src/ui/Form/AddressSelect/addressSelect.js
#	js/src/ui/Form/Input/input.js
#	js/src/ui/MethodDecoding/methodDecoding.js
2017-05-10 17:29:07 +02:00
Robert Habermeier
56768ff237 only try to warp when engine supports it 2017-05-10 17:12:00 +02:00
GitLab Build Bot
710339d0a8 [ci skip] js-precompiled 20170510-143939 2017-05-10 14:43:30 +00:00
Nicolas Gotchac
eff4cde738 Add tooltips capabilities to buttons (#5562)
Add tooltips for buttons on ActionBar if text not visible
2017-05-10 16:19:01 +02:00
GitLab Build Bot
3e86b2e666 [ci skip] js-precompiled 20170510-134918 2017-05-10 13:52:55 +00:00
Nicolas Gotchac
0a16c350d1 Can't deploy without compiling Contract (#5593) 2017-05-10 15:24:24 +02:00
GitLab Build Bot
c58c253cbf [ci skip] js-precompiled 20170510-131400 2017-05-10 13:17:46 +00:00
Nicolas Gotchac
5baccafb23 Add a warning when node is syncing (#5565)
* Add a warning when node is syncing

* Linting

* Linting

* PR Grumbles
2017-05-10 15:02:47 +02:00
Nicolas Gotchac
076b602343 Update registry middleware (#5585) 2017-05-10 14:42:26 +02:00
Nicolas Gotchac
860d6c01ed Set block condition to BigNumber in MethodDecoding (#5592)
* Set block condition to BigNumber in MethodDecoding

* Add gt(0)
2017-05-10 14:41:52 +02:00
Jaco Greeff
35a5c4787b Revert to original label (everything lowercase atm UI-wide) 2017-05-10 14:38:28 +02:00
Jaco Greeff
7799883adc Fix tests 2017-05-10 14:31:55 +02:00
Jaco Greeff
c3ee7f04e5 Simplify Dropdown, pass label correctly 2017-05-10 14:27:04 +02:00
Jaco Greeff
1c262b2172 Merge branch 'ui-2' into menu 2017-05-10 13:47:36 +02:00
Jaco Greeff
b9c4e5b36c Ui 2 depends & fixes (#5590)
* File paths

* Align balance overlays & sizes

* Copy works as expected

* Re-arrange imports

* Icon props

* Move packages to their original dependencies

* Dependencies to packages

* Update test babel overrides
2017-05-10 13:23:14 +02:00
Robert Habermeier
a2fe46f8b3 use bigint on crates.io 2017-05-10 13:16:24 +02:00
Robert Habermeier
bccf58df51 relicense RLP to MIT/Apache2 2017-05-10 13:03:30 +02:00
Robert Habermeier
0fd3e36c23 Merge branch 'master' into on-demand-priority 2017-05-10 12:18:30 +02:00
Guanqun Lu
a4b0e0c93c fix the doc of installing rust
multirust is deprecated.
2017-05-10 17:13:40 +08:00
oconnorct1
4944f59118 style fix 2017-05-09 21:13:04 -04:00
oconnorct1
a0929c4c90 style fix 2017-05-09 21:12:41 -04:00
oconnorct1
66843a349d SemanticButton 2017-05-09 21:08:05 -04:00
oconnorct1
f014891288 Merge branch 'menu' of github.com:paritytech/parity into menu 2017-05-09 21:07:10 -04:00
oconnorct1
19d97136a5 grumbles 2017-05-09 21:06:11 -04:00
oconnorct1
68cbd87bc2 grumbles 2017-05-09 21:04:56 -04:00
Guanqun Lu
04eef37cad remove the extra $ in front of a flag 2017-05-09 23:47:34 +08:00
Guanqun Lu
cd693dcf3e typo fix 2017-05-09 23:46:46 +08:00
Jaco Greeff
861cbb874b Ui 2 ui (#5582)
Ui 2 small UI fixes
2017-05-09 17:31:48 +02:00
Robert Habermeier
9358f81ac1 fix indentation 2017-05-09 14:24:45 +02:00
Jaco Greeff
4007865bec Merge branch 'ui-2-fixes' into ui-2 2017-05-09 14:23:03 +02:00
Jaco Greeff
7623455cb6 Snackbar update 2017-05-09 14:20:36 +02:00
Jaco Greeff
9f91c0490c Merge branch 'master' into ui-2 2017-05-09 14:10:24 +02:00
Jaco Greeff
7785fa3938 Fix JS header (// comments for JS) 2017-05-09 14:06:06 +02:00
Jaco Greeff
36b437270b Remove Card completely 2017-05-09 14:04:58 +02:00
GitLab Build Bot
518b6e647b [ci skip] js-precompiled 20170509-115458 2017-05-09 11:58:48 +00:00
Jaco Greeff
c37c579585 Merge branch 'ui-2' into menu 2017-05-09 13:50:47 +02:00
Jaco Greeff
40744d1bd2 Merge branch 'master' into ui-2 2017-05-09 13:47:29 +02:00
GitLab Build Bot
9947493977 [ci skip] js-precompiled 20170509-112134 2017-05-09 11:25:44 +00:00
Nicolas Gotchac
e5ff36f1f1 Load the sources immediatly in Contract Dev (#5575) 2017-05-09 12:56:35 +02:00
Nicolas Gotchac
d83d938ee3 Remove formal verification messages (#5574) 2017-05-09 12:56:20 +02:00
Nicolas Gotchac
c5116e5049 Fix event params decoding when no names for parameters #5409 (#5567) 2017-05-09 12:56:08 +02:00
Nicolas Gotchac
1288b4b28f Do not convert to Dates twice (#5563)
* Don't convert Dates twice

* Take string dates into account
2017-05-09 12:55:52 +02:00
Nicolas Gotchac
df9096df80 Fix Multisig wallet settings (#5560)
* Improve add/remove owner in Wallet (use changeOwner)

* fix linting
2017-05-09 12:55:35 +02:00
Jaco Greeff
0a36ba54dc Merge branch 'ui-2-move' into ui-2 2017-05-09 12:46:23 +02:00
Jaco Greeff
af53a8da83 Add missing package files 2017-05-09 12:46:00 +02:00
Jaco Greeff
4c28ef40b7 Ui 2 shared package (redux, mobx, utils) (#5579)
* Create @parity/shared

* Move ~/util to shared/util

* Move ~/contracts to shared/contracts

* Move ~/config to shared/config

* Move ~/environment to shared/environment

* Updated paths

* Move ~/mobx to shared/mobx

* Move ~/redux to shared/redux

* Add shared to test babel compile
2017-05-09 12:01:44 +02:00
Jaco Greeff
073564b508 Merge branch 'master' into ui-2 2017-05-09 10:11:13 +02:00
YaNing Zhang
0bd4d5bb0c Typo (#5547) 2017-05-07 14:33:52 +02:00
oconnorct1
43629d0fd4 card / update dropdown 2017-05-07 02:17:31 -04:00
Tomasz Drwięga
1617264b69 Generic PubSub implementation (#5456)
* Generic PubSub

* Adding more tests.

* Fix submodules.

* Remove PartialEq

* Actually remove the implementation.

* Update mod.rs

* Update mod.rs
2017-05-06 13:24:18 +02:00
Gav Wood
91d6f14e3c Fix CI paths. (#5570) 2017-05-06 13:24:00 +02:00
Robert Habermeier
6dd1fe0312 reorg into blocks before minimum history (#5558) 2017-05-05 15:01:19 +01:00
Arkadiy Paronyan
ed7c366b90 EIP-86 fixes (#5506) 2017-05-05 15:00:40 +01:00
Svyatoslav Nikolsky
8b9adb4d74 Secretstore RPCs + integration (#5439)
* ECDKG protocol prototype

* added test for enc/dec math

* get rid of decryption_session

* added licenses

* fix after merge

* get rid of unused serde dependency

* doc

* decryption session [without commutative enc]

* failed_dec_session

* fixed tests

* added commen

* added more decryption session tests

* helper to localize an issue

* more computations to localize error

* decryption_session::SessionParams

* added tests for EC math to localize problem

* secretstore network transport

* encryption_session_works_over_network

* network errors processing

* connecting to KeyServer

* licenses

* get rid of debug println-s

* fixed secretstore args

* encryption results are stored in KS database

* decryption protocol works over network

* enc/dec Session traits

* fixing warnings

* fix after merge

* on-chain ACL checker proto

* fixed compilation

* fixed compilation

* finally fixed <odd>-of-N-scheme

* temporary commented test

* 1-of-N works in math

* scheme 1-of-N works

* updated AclStorage with real contract ABI

* remove unnecessary unsafety

* fixed grumbles

* wakeup on access denied

* encrypt secretstore messages

* 'shadow' decryption

* fix grumbles

* lost files

* secretstore cli-options

* decryption seccion when ACL check failed on master

* disallow regenerating key for existing document

* removed obsolete TODO

* fix after merge

* switched to tokio_io

* fix after merge

* fix after merge

* fix after merge

* fix after merge

* fix after merge

* fixed test

* fix after merge

* encryption session errors are now fatal

* session timeouts

* autorestart decryption session

* remove sessions on completion

* exclude disconnected nodes from decryption session

* test for enc/dec session over network with 1 node

* remove debug printlns

* fixed 1-of-1 scheme

* drop for KeyServerHttpListener

* Use standard encryption and decryption (as in RPC)

* added some tests

* moved DEFAULT_MAC to ethcrypto

* rpc_secretstore_encrypt_and_decrypt

* serialization with "0x" prefix (RPC compatibility)

* secretstore RPC API

* fix after merge

* fixed typo

* secretstore_shadowDecrypt RPC

* enable secretstore RPCs by default

* fixed test

* SecStore RPCs available without SecStore feature

* fixed grumbles

* lost files

* added password argument to Parity RPCs

* update docs

* lost file
2017-05-05 14:57:29 +01:00
Jaco Greeff
d91fae4e54 UI 2 tests & webpack dapp build updates/fixes (#5561)
* Tests are executing again

* Fix tests

* Add missing contextTypes

* IdentityIcon without Connect()

* Update ~/ui tests

* Update spec locations

* Filename case

* Fix playground dapp build
2017-05-05 15:14:05 +02:00
GitLab Build Bot
0d8920347a [ci skip] js-precompiled 20170505-084643 2017-05-05 08:50:23 +00:00
GitLab Build Bot
4a2ad9fc2a [ci skip] js-precompiled 20170505-083410 2017-05-05 08:38:11 +00:00
Jaco Greeff
9b025cf8c1 Merge branch 'master' into ui-2
# Conflicts:
#	js/src/views/ContractDevelop/store.js
2017-05-05 10:08:10 +02:00
Nicolas Gotchac
25853b915e Fixes Parity Bar position (#5557) 2017-05-05 10:00:45 +02:00
Nicolas Gotchac
d4dc58eafe Fix #4277 (#5556) 2017-05-05 10:00:31 +02:00
Nicolas Gotchac
eb316fcb9c Fix issues in Contract Development view (#5555)
* Better errors in contract dev

* Use RAW Git instead of Github Raw URLs (better CORS support)

* Network first for Solc list

* Don't use importScript n Worker // update rawgit to use CDN
2017-05-05 10:00:16 +02:00
oconnorct1
34bdf61cf0 dropdowns 2017-05-05 03:04:48 -04:00
Denis S. Soldatov aka General-Beck
951dc757f8 fix docker build (ethcore+parity hub's) 2017-05-04 23:46:25 +03:00
GitLab Build Bot
f5bfb208e7 [ci skip] js-precompiled 20170504-161940 2017-05-04 16:23:12 +00:00
Maciej Hirsz
d5683d2016 Added missing methods (#5542)
* Added missing methods

* Adding to Parity.js
2017-05-04 17:58:01 +02:00
Jaco Greeff
5d78488fef Merge branch 'master' into ui-2 2017-05-04 13:58:40 +02:00
Robert Habermeier
de1f7ee39b option to disable persistent txqueue (#5544)
* option to disable persistent txqueue

* New option goes with kin
2017-05-04 12:13:50 +02:00
Craig O'Connor
c1f07c3329 Mui-be-gone-3 (#5546)
* mui-be-gone

* second

* mui-be-gone-3

* updates

* ups and ups

* oops

* Revert to changes in removed files from ui-2

* Revert to stateless component
2017-05-04 11:03:55 +02:00
Jaco Greeff
f34a0346bc Cleanup ~/util (#5553) 2017-05-04 10:40:52 +02:00
Jaco Greeff
c7949e2fc3 Merge branch 'master' into ui-2 2017-05-04 10:39:46 +02:00
Nikolay Volf
74044f4821 bump jsonrpc & bytes (#5552) 2017-05-04 10:21:33 +03:00
Denis S. Soldatov aka General-Beck
8fdda2f5b7 Update .gitlab-ci.yml
fix nightly test
- rustup default nightly
2017-05-03 17:56:10 +03:00
Denis S. Soldatov aka General-Beck
15c89a8fff add docker build for hub.docker.com/r/parity 2017-05-03 17:31:56 +03:00
GitLab Build Bot
160183b6e8 [ci skip] js-precompiled 20170503-123121 2017-05-03 12:34:57 +00:00
Jaco Greeff
539164945a Merge branch 'master' into ui-2 2017-05-03 14:19:47 +02:00
Jaco Greeff
70e87677b3 Retrieve block headers only for header-only info (#5480)
* Add parity_getBlockHeaderByNumber

* Use parity_getBlockHeaderByNumber for retrieval
2017-05-03 14:12:06 +02:00
Jaco Greeff
2f9e05830b Create ~/ui/Form/Checkbox component (#5543) 2017-05-03 13:37:32 +02:00
Denis S. Soldatov aka General-Beck
0658e42dad fix nightly published
add `nightly` to S3_BUCKET=builds-parity-published
2017-05-03 13:50:08 +03:00
Denis S. Soldatov aka General-Beck
7fd2051d2c Merge pull request #5519 from paritytech/snap
add snap to CI
2017-05-03 13:43:07 +03:00
Craig O'Connor
c39952a727 Mui be gone 2 (#5540)
* mui-be-gone

* second

* Revert ~/dapp mui removal

* Overlay text color
2017-05-03 12:25:16 +02:00
Craig O'Connor
5323fb5e08 mui-be-gone (#5539)
* mui-be-gone

* Revert ~/dapp mui removal
2017-05-03 12:16:20 +02:00
Jaco Greeff
1c2580b4a6 Ui 2 shell updates (#5541)
* Stateless components

* Adjust borders

* Stateless for status

* Externalise link colors

* css lint

* stateless

* Create ui/IconCache, replacing redux

* Update Signer buttons

* Requests background

* Adjust request styling

* Stateless components

* ParityBar background alignment

* Shell updates

* Remove Tooltip
2017-05-03 10:46:09 +02:00
Jaco Greeff
a1502738f1 Merge branch 'master' into ui-2 2017-05-03 10:40:53 +02:00
keorn
a3d9cce7c5 Pass additional data when reporting (#5527)
* pass additional data when reporting

* checkout correct tests
2017-05-03 09:01:24 +02:00
Robert Habermeier
60bb0de9d6 Calculate post-constructors state root in spec at load time (#5523)
* apply contract constructors at spec load time

* debugging

* do trie updates in two stages

* add lint exception to newly-dead constructor

* squash warning in RPC tests

* kill dead accountdb constructors

* restore accountdb constructors under test configuration

* use provided state root in spec, if it exists
2017-05-03 09:00:02 +02:00
Denis S. Soldatov aka General-Beck
9cfb50f90f Update .gitlab-ci.yml
build snap beta
2017-05-03 03:12:45 +03:00
Denis S. Soldatov aka General-Beck
5fd5c9e85c Update .gitlab-ci.yml
fix typo arm64
2017-05-03 03:03:39 +03:00
Denis S. Soldatov aka General-Beck
2bb6546ed6 replace CI docker images to hub.docker.com/r/parity 2017-05-02 21:29:36 +03:00
Denis S. Soldatov aka General-Beck
09bd3a9642 update CI docker images
switch to hub.docker.com/r/parity
2017-05-02 20:45:19 +03:00
GitLab Build Bot
b17c6ec054 [ci skip] js-precompiled 20170502-161232 2017-05-02 16:16:27 +00:00
Nicolas Gotchac
a56b2f5993 Fix utf8 decoding (#5533)
* Fixes #5492

* Linting
2017-05-02 17:52:49 +02:00
Jaco Greeff
e7484d07aa Ui 2 styling adjustments (#5534)
* Stateless components

* Adjust borders

* Stateless for status

* Externalise link colors

* css lint

* stateless

* Create ui/IconCache, replacing redux

* Update Signer buttons

* Requests background

* Adjust request styling

* Stateless components

* ParityBar background alignment
2017-05-02 17:50:44 +02:00
Jaco Greeff
b57e8f6f0d Merge branch 'master' into ui-2 2017-05-02 13:40:05 +02:00
GitLab Build Bot
b0e4c913c0 [ci skip] js-precompiled 20170502-103844 2017-05-02 10:42:38 +00:00
Afri
77c8d588fa Add CHANGELOG.md (#5513)
* Add CHANGELOG.md

* Add some more verbose CHANGELOG information for beta and stable releases

* Add dates to releases
2017-05-02 12:08:48 +02:00
Rien
02b54ff7e8 find . -type f -not -path './.*' -exec sed -i -e "s/ethcore\.io/parity.io/g" {} \; (#5528) 2017-05-02 11:41:09 +02:00
Arkadiy Paronyan
da2f684f18 Memory usage optimization (#5526) 2017-05-02 11:40:03 +02:00
Tomasz Drwięga
c39da9643e Compose transaction RPC. (#5524) 2017-05-02 11:39:48 +02:00
Jaco Greeff
fa243cdf89 UI 2 Status dapp fixes (#5531)
* Stateless components

* Adjust borders

* Stateless for status
2017-05-02 11:14:18 +02:00
Denis S. Soldatov aka General-Beck
2ecdf111b0 fix path to artefacts 2017-04-28 16:45:59 +03:00
Jaco Greeff
4781d2e15a Merge branch 'ui-2-styling' into ui-2 2017-04-28 15:33:49 +02:00
Denis S. Soldatov aka General-Beck
e9ebb2498b parity_master_amd64.snap 2017-04-28 15:52:58 +03:00
Denis S. Soldatov aka General-Beck
a1aaead6a9 fix CI lint 2017-04-28 15:19:10 +03:00
Denis S. Soldatov aka General-Beck
e989e2f12c add artifacts for snap 2017-04-28 15:16:40 +03:00
Craig O'Connor
bccb231899 Icons set two (#5521)
* semantic addition

* semantic addition

* icons

* iconset

* Fix lint from merge

* Remove extra file/moved

* Moved packages (ui dep)

* Change dapps to import from ~/ui/Icons

* Additional icons converted

* Typo

* Add, Send, Delete, Edit & Send icons

* set two
2017-04-28 13:51:20 +02:00
Jaco Greeff
dddefa9a72 panel background (develop) 2017-04-28 12:43:44 +02:00
Jaco Greeff
0745c019a3 AccountCard uses Container 2017-04-28 12:17:19 +02:00
Jaco Greeff
85711ca66d Adjust Portal background mask 2017-04-28 12:03:20 +02:00
Jaco Greeff
278dfcdcc5 Merge remote-tracking branch 'origin/ui-2' into ui-2 2017-04-28 11:26:34 +02:00
Jaco Greeff
4c04b61f8a Merge branch 'master' into ui-2 2017-04-28 11:26:24 +02:00
Jaco Greeff
37dd488579 UI 2 component & modal splits (#5525)
* Remove mui from Actionbar

* Add semantic-ui to vendor.js

* Stateless components

* Multi-item spacing

* Stateless components

* Stateless components

* Default font

* Context passing

* Move Vault modals into Vault dapp

* Move modals to their respective views
2017-04-28 11:21:05 +02:00
Denis S. Soldatov aka General-Beck
81c449fc99 update CentOS dockerfile
https://github.com/paritytech/parity/issues/5463
2017-04-28 01:17:20 +03:00
GitLab Build Bot
1ed0fedfd5 [ci skip] js-precompiled 20170427-165204 2017-04-27 16:56:27 +00:00
Tomasz Drwięga
28dcbc6426 Support external eth_sign (#5481)
* Display a QR for eth_sign requests.

* Support raw confirmation of eth_sign

* Fix ethkey issue on nightly.

* Fixing test.

* Fixing test.
2017-04-27 18:23:22 +02:00
Gav Wood
43175f17e4 Treat clock numbers as strings, not BigNums. (#5449) 2017-04-27 18:22:55 +02:00
Denis S. Soldatov aka General-Beck
e439b53652 switch to docker runner 2017-04-27 17:20:00 +03:00
Denis S. Soldatov aka General-Beck
011f6102a5 update gitlab-ci 2017-04-27 16:27:28 +03:00
Denis S. Soldatov aka General-Beck
2245863f04 add snap to CI
initial build snap package for parity
2017-04-27 16:14:51 +03:00
Jaco Greeff
d16cfc736d UI 2 styling (#5518)
* [ci skip] js-precompiled 20170426-110849

* export topNavigate function

* Stateless components in shell

* Connection icon fill

* Parity overlay only in dapps

* Additional buttons

* Adjust toolbar styles

* Adjust ParityBar button styling

* Complete icon conversion
2017-04-27 13:28:02 +02:00
Craig O'Connor
c9d41beb28 Icons (#5509)
* semantic addition

* semantic addition

* icons

* iconset

* Fix lint from merge

* Remove extra file/moved

* Moved packages (ui dep)

* Change dapps to import from ~/ui/Icons

* Additional icons converted

* Typo

* Add, Send, Delete, Edit & Send icons
2017-04-27 11:32:59 +02:00
Jaco Greeff
d2cf1cbd0e Fix shell links 2017-04-26 17:59:16 +02:00
Jaco Greeff
a33dd0108d Merge branch 'ui-2-mui' into ui-2 2017-04-26 16:31:54 +02:00
Jaco Greeff
549367fcd6 Simplify 2017-04-26 16:31:13 +02:00
Jaco Greeff
6c702c7b6a Correct import 2017-04-26 16:27:35 +02:00
Jaco Greeff
aabf08fd75 LinearProgress -> Progress 2017-04-26 16:23:41 +02:00
Jaco Greeff
34d68ccb73 CircularProgress -> Loading 2017-04-26 16:08:30 +02:00
Jaco Greeff
02eeefd73b Last couple of dangling icons 2017-04-26 15:56:18 +02:00
Jaco Greeff
555e5b24f3 Adjust ActionBar (#5514) 2017-04-26 15:00:30 +02:00
Jaco Greeff
bdcf2a9c61 Fix CSS overrides 2017-04-26 14:22:08 +02:00
GitLab Build Bot
30b3b5e2a7 [ci skip] js-precompiled 20170426-110849 2017-04-26 11:12:52 +00:00
Craig O'Connor
2badd9778b Semantic ui (#5507)
* semantic addition

* semantic addition

* semantic-ui into @parity/ui dependency

* Merge updates

* Update missing imports to use ~

* Clean @parity modules with clean

* Updated yarn.lock
2017-04-26 13:12:50 +02:00
Jaco Greeff
6797172ad4 Updated yarn.lock 2017-04-26 13:08:31 +02:00
Jaco Greeff
95eeca09b7 Merge branch 'master' into ui-2 2017-04-26 12:39:28 +02:00
Jaco Greeff
3d9deb7770 npm cleanups (#5512)
* Cleanup @parity modules in npm run clean

* Remove top-level yarn files (only in js)
2017-04-26 12:38:21 +02:00
Jaco Greeff
1cd0350f83 Merge branch 'master' into ui-2 2017-04-26 12:31:10 +02:00
GitLab Build Bot
012615ae46 [ci skip] js-precompiled 20170426-101558 2017-04-26 10:19:53 +00:00
Jaco Greeff
17448b370c Merge branch 'master' into ui-2 2017-04-26 11:35:49 +02:00
Craig O'Connor
cf904b6b2f Export acc js (#4973)
* Export account RPC

* Removing GethDirectory and ParityDirectory

* js export accounts as json

* js export accounts as json

* api - then - catch

* final touches

* pass

* oops

* individual accounts

* refactoring

* refactor one

* refactor one

* refactor two

* some grumble fixes

* file name changes

* constructor

* constructor

* git recognize file name change

* spec and updates

* specs

* one tiny fix

* one tiny fix

* grumbles

* more grumbles

* sliders

* ff

* pointer default

* grumbles

* almost ready

* lots of updates

* accountList

* stupid debuglog

* bug fix

* bug fix

* some more good ol fashioned updates

* filter accounts

* clean

* update spec

* ff

* ff-f

* balances fix
2017-04-26 11:34:48 +02:00
Craig O'Connor
3be3b78c90 YARN (#5395)
* YARN

* update package.json

* update package.json

* yarn updates

* npm
2017-04-26 11:33:29 +02:00
Jaco Greeff
8fc453658b Fix linting issues (#5511) 2017-04-26 11:10:36 +02:00
Shaoping
3344d96329 Chinese Translation (#5460)
* Update account.js

* Update accounts.js

* finished writeContract.js translate

* translated web, walletSetting

* 添加注释

* 添加注释

* 翻译1

* 翻译1,存疑1

* 翻译1,没毛病

* 翻译1,存疑1

* Translated addAddress & addContract

* 翻译1

* Translated connection.js

* Translated contract.js

* Translated contracts.js

* translated dapps.js

* translated deleteAccount

* Translated createWallet.js

* Translated editMeta.js

* Translated errors.js

* Translated extension.js

* translated deployContract

* Translated executeContract.js

* Update home.js

* Translated home.js

* Translated loadContract.js

* Translated parityBar.js

* translated faucet

* Translated passwordChange.js

* Translated saveContract.js

* translated firstRun

* translated tabBar

* Commented out all ENG

* translated transfer.js

* translated txEditor.js

* Translated settings.js

* translated ui.js

* Translated shapeshift.js

* translated wallet.js

* Translated signer.js

* translated upgradParity.js

* Translated status.js

* translated verification.js

* Translated vaults.js

* translated ui.js

* zh-tw translation

* translated account.js

* translated accounts.js

* translated accounts.js

* translated address.js

* translated addressSelect.js

* translated addresses.js

* translated application.js

* translated dapp.js

* translated ui.js

* translated txEditor.js

* update zh-Hant-TW translation

* enable zh-Hant-TW
2017-04-26 10:57:19 +02:00
Jaco Greeff
2f0ce06cc1 Ui 2 shell (#5510)
* Split application into ~/shell

* reset.css back to index
2017-04-26 10:56:31 +02:00
Svyatoslav Nikolsky
1a262048a6 Fixing secretstore TODOs - part 2 (#5416)
* ECDKG protocol prototype

* added test for enc/dec math

* get rid of decryption_session

* added licenses

* fix after merge

* get rid of unused serde dependency

* doc

* decryption session [without commutative enc]

* failed_dec_session

* fixed tests

* added commen

* added more decryption session tests

* helper to localize an issue

* more computations to localize error

* decryption_session::SessionParams

* added tests for EC math to localize problem

* secretstore network transport

* encryption_session_works_over_network

* network errors processing

* connecting to KeyServer

* licenses

* get rid of debug println-s

* fixed secretstore args

* encryption results are stored in KS database

* decryption protocol works over network

* enc/dec Session traits

* fixing warnings

* fix after merge

* on-chain ACL checker proto

* fixed compilation

* fixed compilation

* finally fixed <odd>-of-N-scheme

* temporary commented test

* 1-of-N works in math

* scheme 1-of-N works

* updated AclStorage with real contract ABI

* remove unnecessary unsafety

* fixed grumbles

* wakeup on access denied

* encrypt secretstore messages

* 'shadow' decryption

* fix grumbles

* lost files

* secretstore cli-options

* decryption seccion when ACL check failed on master

* disallow regenerating key for existing document

* removed obsolete TODO

* fix after merge

* switched to tokio_io

* fix after merge

* fix after merge

* fix after merge

* fix after merge

* fix after merge

* fixed test

* fix after merge

* encryption session errors are now fatal

* session timeouts

* autorestart decryption session

* remove sessions on completion

* exclude disconnected nodes from decryption session

* test for enc/dec session over network with 1 node

* remove debug printlns

* fixed 1-of-1 scheme

* drop for KeyServerHttpListener

* added some tests

* fixed typo
2017-04-25 21:34:03 +02:00
cdetrio
87ce264926 fix json format of state snapshot (#5504) 2017-04-25 19:08:28 +02:00
Nikolay Volf
9d6c50ea2f Bump jsonrpc version (#5489)
* bump jsonrpc version

* also dependant crates

* tokio_uds also
2017-04-25 19:48:31 +03:00
Robert Habermeier
35958a0965 Merge pull request #5454 from paritytech/aura-contract-warp
Groundwork for generalized warp sync
2017-04-25 17:58:13 +02:00
Jaco Greeff
cdab1ebc04 Default font color 2017-04-25 17:18:23 +02:00
Leo Arias
80a58eea7b Add the packaging metadata to build the parity snap (#5496)
* Add the packaging metadata to build the parity snap

* Move the snapcraft.yaml to scripts
2017-04-25 16:20:57 +02:00
Jaco Greeff
851003c07c UI 2 light styling (placeholder until component move) (#5503)
* Adjust cards

* Clickable TxRow

* Modal background adjustment (stop-gap)

* Adjust container to light

* UI light updates
2017-04-25 15:41:46 +02:00
Jaco Greeff
ac138f6a4c Remove ParityBackground (#5501) 2017-04-25 11:53:19 +02:00
Jaco Greeff
b749718feb Merge branch 'master' into ui-2
# Conflicts:
#	js/src/views/Signer/RequestsPage/requestsPage.js
2017-04-25 11:10:23 +02:00
Jaco Greeff
234b8dd592 Dapp with params (Account, Address & Contract) (#5500)
* Allow passing hash through to dapp

* Add allet view

* Add Contract & Address links
2017-04-25 11:07:11 +02:00
GitLab Build Bot
c9b2a7a980 [ci skip] js-precompiled 20170425-082717 2017-04-25 08:31:15 +00:00
Craig O'Connor
f7d5d6c0cd Cancel tx JS (#4958)
* Remove transaction RPC

* Bumping multihash and libc

* Updating nanomsg

* bump nanomsg

* cancel tx

* cancel-tx-js

* cancel-tx-js

* cancel-tx-js

* cancel-tx-hs

* cancel-tx-js

* cancel-tx-js

* cancel-tx-js

* small fixes

* edit & time till submit

* edit & time till submit

* updates

* updates

* udpates

* udpates

* grumbles

* step 1

* Wonderful updates

* ready

* small refact

* small refact

* grumbles 1

* ffx2

* good ol' fashioned updates

* latest and greatest

* removeHash

* removeHash

* spec

* fix 1

* fix 1

* fix 2

* fix 2

* ff

* ff

* ff

* updates
2017-04-25 10:08:09 +02:00
Jaco Greeff
22497e5133 Update after source move 2017-04-24 17:45:53 +02:00
Jaco Greeff
719023e949 Navigate to dapp from dapp (WIP) 2017-04-24 17:41:47 +02:00
Jaco Greeff
2e1b05940f Router/Route usage consistency between dapps 2017-04-24 15:37:53 +02:00
Jaco Greeff
1d566a85b2 Convert missing icons for ~/ui import 2017-04-24 15:15:25 +02:00
Jaco Greeff
831e52ea07 Request view as dapp completed 2017-04-24 14:59:22 +02:00
Jaco Greeff
1725c708fe Requests (WIP) 2017-04-24 13:40:23 +02:00
Jaco Greeff
0c70cee503 Contracts & Contract develop as dapp 2017-04-24 13:21:22 +02:00
Robert Habermeier
6a5702f27c address grumbles 2017-04-24 13:14:50 +02:00
Jaco Greeff
84d1151a1f Accounts as dapp 2017-04-24 12:45:01 +02:00
Jaco Greeff
3ce9071eb9 Addresses as dapp 2017-04-24 12:20:12 +02:00
Jaco Greeff
ec37cf6700 Settings running as dapp 2017-04-24 11:21:04 +02:00
Jaco Greeff
cda12ec995 Remove unused RpcCalls 2017-04-24 10:52:08 +02:00
Jaco Greeff
bc0ea154df Remove html background 2017-04-24 10:05:45 +02:00
Jaco Greeff
a2269a477e Split views into own section 2017-04-24 09:53:40 +02:00
Jaco Greeff
262169c8a4 Add Vaults as dapp 2017-04-24 09:53:27 +02:00
Robert Habermeier
7ab92f0807 epoch generation proof fixes 2017-04-22 18:56:34 +02:00
Jaco Greeff
c044534d6a Allow status updates on 2nd API instance 2017-04-21 16:03:50 +02:00
Jaco Greeff
fcdd19e105 Merge branch 'master' into ui-2 2017-04-21 15:42:23 +02:00
Jaco Greeff
5fc6a5627e First iteration of Status page (WIP) 2017-04-21 15:20:43 +02:00
Jaco Greeff
2459501f4e Home as dapp 2017-04-21 13:14:07 +02:00
Robert Habermeier
0768ce3600 Merge pull request #5307 from paritytech/eip-212
EIP-212 (bn128 curve pairing)
2017-04-21 13:10:57 +02:00
Jaco Greeff
23469a99e8 Fix API references to @parity/api 2017-04-21 11:40:22 +02:00
Jaco Greeff
b3dfc0b6db Merge branch 'jg-split-abi-api' into ui-2 2017-04-21 11:21:54 +02:00
Jaco Greeff
2ffb6496f4 Merge branch 'master' into ui-2 2017-04-21 11:19:40 +02:00
NikVolf
7a1db0852b fix typo 2017-04-21 12:10:41 +03:00
GitLab Build Bot
70c82c0f61 [ci skip] js-precompiled 20170420-192450 2017-04-20 19:28:34 +00:00
Robert Habermeier
f18f81ec58 Merge pull request #5479 from paritytech/fix-tree-route-panic
fix panickers in tree-route
2017-04-20 18:31:16 +02:00
Dmitriy Startsev
6c33b781c3 Update links to etherscan.io (#5455) 2017-04-20 18:03:43 +02:00
Robert Habermeier
023c45f302 checkout correct tests submodule 2017-04-20 17:34:04 +02:00
Jaco Greeff
ba03ed4eea Refresh UI on nodeKind changes, e.g. personal -> public (#5312)
* Poll details based on nodeKind

* Delay long polling when public/light

* Reload UI when nodeKind changed

* Fix tests (not using dispatch, reload instead)

* PR grumbles/cleanups
2017-04-20 17:31:15 +02:00
Robert Habermeier
ee25249729 Merge pull request #5473 from paritytech/eip86
Correct contract address for EIP-86
2017-04-20 17:21:16 +02:00
Robert Habermeier
167d06d727 fix panickers in tree-route 2017-04-20 16:21:53 +02:00
Robert Habermeier
468a7a4a77 bloom check test 2017-04-20 16:09:43 +02:00
Jaco Greeff
4b403266ea Merge branch 'master' into jg-split-abi-api 2017-04-20 15:47:24 +02:00
Jaco Greeff
89e5601ec0 blockies dep -> api 2017-04-20 15:47:20 +02:00
Jaco Greeff
9652c0fabb UI packages to ui 2017-04-20 15:45:31 +02:00
Robert Habermeier
a33b4cc73b fix tests 2017-04-20 15:04:07 +02:00
Jaco Greeff
11bcfa05e3 Update remaining ../abi to @parity/abi 2017-04-20 12:03:07 +02:00
Jaco Greeff
75d9fa3fe9 mocha babel ignores (@parity modules) 2017-04-20 11:56:13 +02:00
Jaco Greeff
887b7b5090 Update maintainers 2017-04-20 11:48:42 +02:00
Jaco Greeff
bb628bca88 Add missing npm aliasses 2017-04-20 11:42:32 +02:00
Jaco Greeff
8a46a4b567 Move API dependencies 2017-04-20 11:24:49 +02:00
Jaco Greeff
8b144bedd1 Shared build rules 2017-04-20 11:17:58 +02:00
Jaco Greeff
94c8cceb42 Add @parity/jsonrpc 2017-04-20 10:41:06 +02:00
Jaco Greeff
0d9e849162 Build with @parity/(abi|api) packages 2017-04-20 10:34:23 +02:00
Jaco Greeff
4568300d9b Use @parity/abi 2017-04-20 10:34:00 +02:00
Jaco Greeff
b3056cd0ab Add ABI/API package.json 2017-04-20 10:33:37 +02:00
Afri
a16fb04280 Force two decimals for USD conversion rate (#5471) 2017-04-19 22:59:02 +02:00
Robert Habermeier
240c111ebb fix indent 2017-04-19 20:44:11 +02:00
Robert Habermeier
6652df03df Merge branch 'master' into aura-contract-warp 2017-04-19 20:43:24 +02:00
Robert Habermeier
2ec3397b7d snapshot chunk and restore traits 2017-04-19 20:31:53 +02:00
arkpar
97052f3912 null_sign with network id 2017-04-19 19:10:12 +02:00
GitLab Build Bot
0d40df937b [ci skip] js-precompiled 20170419-162101 2017-04-19 16:24:42 +00:00
GitLab Build Bot
7d07c550ba [ci skip] js-precompiled 20170419-161237 2017-04-19 16:16:20 +00:00
Nicolas Gotchac
37690cfde2 Refactoring of Tokens & Balances (#5372)
* Remove ETH filter

* Remove unused Blockchain reducer+actions

* Simpler Token updates and fetching

* Cleanup use of balances

* Cleanup of balances

* Cleanup of Balances

* Linting

* Update List Component

* Separate tokens from balances

* Refactoring balance fetchin and storing - Part I

* Linting

* Better ETH token description and use

* Working Transfer with new logic

* Add debugging

* Querying the tokens filter on new block

* Fixing the tests - PART I

* Fix txCount
2017-04-19 18:00:05 +02:00
Jaco Greeff
fc18299869 Background-repeat round (#5475) 2017-04-19 17:47:30 +02:00
GitLab Build Bot
770c7e5878 [ci skip] js-precompiled 20170419-142847 2017-04-19 14:32:38 +00:00
Robert Habermeier
4d3f137e1e iterate over all epochs 2017-04-19 16:28:16 +02:00
Bas
23e7b53c13 nl i18n updated (#5461)
* Sync nl i18n to default

* Syntax fix in nl i18n

Tested locally

* nl translation improvements
2017-04-19 16:08:47 +02:00
Nicolas Gotchac
e1e2674cd2 Show ETH value (even 0) if ETH transfert in transaction list (#5406) 2017-04-19 16:02:24 +02:00
GitLab Build Bot
8310877f25 [ci skip] js-precompiled 20170419-133906 2017-04-19 13:42:54 +00:00
Robert Habermeier
af868a7439 ensure genesis validator set in DB 2017-04-19 15:35:12 +02:00
Nicolas Gotchac
e83de5cde2 Store the pending requests per network version (#5405)
* Store the requests in LS per network version

* Fixing tests

* Add network switching test

* Fixes
2017-04-19 15:15:43 +02:00
Robert Habermeier
a278dd5a0a store epoch transition proofs in DB 2017-04-19 14:58:19 +02:00
arkpar
04e581db61 Correct contract address for EIP-86 2017-04-19 14:50:56 +02:00
Arkadiy Paronyan
b50fb71dd1 EIP-86 (#4697)
* EIP-86

* Disable EIP-86 auto activation for now
2017-04-19 14:30:00 +02:00
Robert Habermeier
6da6c755a5 iterate DB by prefix 2017-04-18 15:45:15 +02:00
Gav Wood
0180b21dd1 Update README.md 2017-04-18 14:55:25 +02:00
Robert Habermeier
f6f9816ef4 epoch verifier rename 2017-04-18 14:19:10 +02:00
Marek Kotewicz
cc3adcc2c1 Merge pull request #5451 from paritytech/temp-state-fix
Use in-memory database for tests
2017-04-14 08:24:26 +02:00
Robert Habermeier
e1fa4ab8ec verify_external in verifier trait 2017-04-13 20:34:16 +02:00
Robert Habermeier
715d5daafe ChainVerifier for memoizing validator sets 2017-04-13 20:24:21 +02:00
Robert Habermeier
fd4d7c4b68 correct state test checkout 2017-04-13 17:21:12 +02:00
Robert Habermeier
a98052fe74 Merge branch 'master' into on-demand-priority 2017-04-13 16:44:47 +02:00
Tomasz Drwięga
ea09aa584d WebSockets RPC server (#5425)
* Basic WS server.

* CLI for WS server.

* Bump jsonrpc

* Fixing test.
2017-04-13 16:32:07 +02:00
Svyatoslav Nikolsky
1df30ee83e added missing docs (#5452) 2017-04-13 14:26:07 +02:00
arkpar
314af4cdae Use in-memory database in tests 2017-04-13 12:17:53 +02:00
GitLab Build Bot
1e6674f804 [ci skip] js-precompiled 20170413-083353 2017-04-13 08:37:35 +00:00
Maciej Hirsz
df5f722885 Merge pull request #5417 from paritytech/mh-publicnode-tests
Tests and tweaks for public node middleware
2017-04-13 10:13:07 +02:00
Robert Habermeier
b4f3e30cd6 detect changes in safe_contract 2017-04-12 22:10:18 +02:00
Robert Habermeier
34a1512ff0 skeleton for proof checking 2017-04-12 18:55:38 +02:00
Robert Habermeier
ec922ee5e4 supply optional call context to validator sets 2017-04-12 16:42:19 +02:00
Robert Habermeier
0f80c57dca use native contracts in ValidatorSet 2017-04-12 16:15:35 +02:00
Robert Habermeier
2f5a774325 add validator contracts to native_contracts bin 2017-04-12 15:54:23 +02:00
Tomasz Drwięga
c58fd744ee Fix removal of hash-mismatched files. (#5440) 2017-04-12 15:04:53 +02:00
Robert Habermeier
2d8a8bd3e5 engine changes 2017-04-12 14:41:19 +02:00
Robert Habermeier
13633414a3 Merge pull request #5383 from paritytech/block_header_rpc
parity_getBlockHeaderByNumber and LightFetch utility
2017-04-12 14:39:50 +02:00
GitLab Build Bot
d99f1e5f1f [ci skip] js-precompiled 20170412-114838 2017-04-12 11:52:33 +00:00
Arkadiy Paronyan
15ae24b541 New state tests (#5418)
* General state tests

* Allow dir name for a test
2017-04-12 13:33:49 +02:00
Gav Wood
1b36a381e8 Fix buffer length for QR code gen. (#5447) 2017-04-12 13:20:22 +02:00
Robert Habermeier
e094043b80 Merge branch 'master' into block_header_rpc 2017-04-12 13:00:32 +02:00
GitLab Build Bot
a0d83537e5 [ci skip] js-precompiled 20170412-104510 2017-04-12 10:48:49 +00:00
Robert Habermeier
7723d6281b starting memoized validatorset 2017-04-12 12:46:25 +02:00
keorn
52eae66c72 Add raw hash signing (#5423)
* add sign any

* Add RPC signMessage call to JS API

* Add signMessage to JSON RPC docs

* PostSignTransaction -> EthSignMessage

* fix doc typo

* revert incorect naming
2017-04-12 12:15:13 +02:00
Robert Habermeier
daf1495c4e Filters and block RPCs for the light client (#5320)
* block_hash method for LightChainClient

* abstraction and futures-based eth_filter

* log fetching for light client

* add eth-filter delegate

* eth_block fetching RPCs

* return default accounts from on_demand

* fix early exit

* BlockNumber -> BlockId

* early exit for no known block number.
2017-04-12 12:07:54 +02:00
GitLab Build Bot
e84d03f31d [ci skip] js-precompiled 20170411-150514 2017-04-11 15:08:42 +00:00
Robert Habermeier
a254b2098f more useful Engine::verify_seal 2017-04-11 17:07:04 +02:00
Jaco Greeff
bb8adcce92 Work around mismatch for QR checksum (#5374)
* Work around current native-signer encoding

* Avoid trying to use non-existant util function.
2017-04-11 16:43:15 +02:00
Marek Kotewicz
4f8e61dce9 easy to use conversion from and to string for ethstore::Crypto (#5437)
* easy to use conversion from and to string for ethstore::Crypto

* ethstore uses tempdir instead of devtools

* ethstore does not depend on ethcore-util
2017-04-11 10:24:56 +02:00
keorn
d3b2bcdd79 Tendermint fixes (#5415)
* more resilience

* refactor commit

* fix proposal broadcast

* list encoding

* address grumbles

* to into
2017-04-10 20:03:18 +02:00
Robert Habermeier
bbe0eb96f4 Merge branch 'master' into on-demand-priority 2017-04-10 19:53:53 +02:00
Robert Habermeier
95808f51f1 Merge pull request #5403 from adrianbrink/adrian-lightclientcache
Add caching to HeaderChain struct
2017-04-10 19:46:02 +02:00
Robert Habermeier
cc6cf8d7ce address grumble 2017-04-10 18:06:36 +02:00
Robert Habermeier
5b65f10828 Merge branch 'master' into block_header_rpc 2017-04-10 18:06:28 +02:00
GitLab Build Bot
a2bec1edb4 [ci skip] js-precompiled 20170410-094150 2017-04-10 09:45:12 +00:00
maciejhirsz
b11a84a347 Unlock transaction on RPC errors 2017-04-10 11:22:32 +02:00
Nicolas Gotchac
0aaf236ad1 Add decryption to the UI (in the Signer) (#5422)
* Add decryption to the UI in signer + Fix Signing style

* Proper out format function for singing methods

* name
2017-04-10 11:21:06 +02:00
keorn
20d4e7139f Add CIDv0 RPC (#5414)
* add cid rpc

* add light

* clean up
2017-04-08 13:35:23 +02:00
GitLab Build Bot
bca0c6c172 [ci skip] js-precompiled 20170408-095429 2017-04-08 09:57:43 +00:00
Tomasz Drwięga
4e498790d4 Updating documentation for RPCs (#5392)
* Removing minBlocks occurrencies

* Docs for new RPCs.

* Fixing linting issues, updating *withToken documentatiojn.

* Adding missing RPCs. Fixing tests.

* Fixing lint issues.
2017-04-08 11:28:04 +02:00
Svyatoslav Nikolsky
93a6047912 Fixing secretstore TODOs - part 1 (#5386)
* ECDKG protocol prototype

* added test for enc/dec math

* get rid of decryption_session

* added licenses

* fix after merge

* get rid of unused serde dependency

* doc

* decryption session [without commutative enc]

* failed_dec_session

* fixed tests

* added commen

* added more decryption session tests

* helper to localize an issue

* more computations to localize error

* decryption_session::SessionParams

* added tests for EC math to localize problem

* secretstore network transport

* encryption_session_works_over_network

* network errors processing

* connecting to KeyServer

* licenses

* get rid of debug println-s

* fixed secretstore args

* encryption results are stored in KS database

* decryption protocol works over network

* enc/dec Session traits

* fixing warnings

* fix after merge

* on-chain ACL checker proto

* fixed compilation

* fixed compilation

* finally fixed <odd>-of-N-scheme

* temporary commented test

* 1-of-N works in math

* scheme 1-of-N works

* updated AclStorage with real contract ABI

* remove unnecessary unsafety

* fixed grumbles

* wakeup on access denied

* encrypt secretstore messages

* 'shadow' decryption

* fix grumbles

* lost files

* secretstore cli-options

* decryption seccion when ACL check failed on master

* disallow regenerating key for existing document

* removed obsolete TODO

* fix after merge

* switched to tokio_io

* fix after merge

* fix after merge

* fix after merge

* fix after merge

* fix after merge

* fixed test

* fix after merge
2017-04-08 11:26:16 +02:00
Adrian Brink
144d6c2379 Update light_sync test to include cache dependency 2017-04-07 21:35:42 +02:00
Adrian Brink
645b8e4b0b Fix failing tests 2017-04-07 21:35:42 +02:00
Adrian Brink
d6bc60f968 Ensure that OnDemand and HeaderChain share the same cache 2017-04-07 21:35:41 +02:00
Adrian Brink
2ce5a656e7 Ensure that OnDemand and HeaderChain share the same cache 2017-04-07 21:35:41 +02:00
Adrian Brink
fa88ee148a Add header to cache 2017-04-07 21:35:41 +02:00
Adrian Brink
5e33fe0aa7 Add cache to HeaderChain struct. 2017-04-07 21:35:41 +02:00
Adrian Brink
9552ca7bb3 Change to snakecase 2017-04-07 21:35:41 +02:00
Adrian Brink
3632a98062 Clean up 2017-04-07 21:35:41 +02:00
Adrian Brink
23c76caafa Add header to cache 2017-04-07 21:35:41 +02:00
Adrian Brink
8a7ca6f0ba Add caching to block_header() 2017-04-07 21:34:29 +02:00
Adrian Brink
8ea25eeb3c Add cache to HeaderChain struct. 2017-04-07 21:34:29 +02:00
Adrian Brink
e004e05037 Spelling fixes and link addition about LRU cache in the docs. 2017-04-07 21:34:29 +02:00
Robert Habermeier
d0e057cabd Merge pull request #5399 from paritytech/dapps-content-bug
Fixing disappearing content.
2017-04-07 19:45:48 +02:00
Robert Habermeier
68ec7ae41e tests for on_demand 2017-04-07 19:35:39 +02:00
Gav Wood
81f48c0001 Merge branch 'master' into dapps-content-bug 2017-04-07 18:26:55 +02:00
Robert Habermeier
50886fcb31 Merge pull request #5318 from paritytech/snapshot-v2
Snapshot chunks packed by size
2017-04-07 14:45:42 +02:00
Robert Habermeier
5793bb8fac typestrong API 2017-04-06 20:01:09 +02:00
Tomasz Drwięga
f223ed21a5 APIs wildcards and simple arithmetic. (#5402) 2017-04-06 19:38:33 +02:00
Tomasz Drwięga
d74e044be4 Fixing compilation without dapps. (#5410) 2017-04-06 19:32:30 +02:00
Robert Habermeier
cf75a19e8d Merge branch 'block_header_rpc' into on-demand-priority 2017-04-06 17:59:55 +02:00
Robert Habermeier
528dbf909a fix RPC fallout 2017-04-06 17:44:31 +02:00
maciejhirsz
a45791d2c0 Handle invalid passwords 2017-04-06 17:36:21 +02:00
Robert Habermeier
d19232a848 use cache in on-demand again 2017-04-06 17:22:05 +02:00
maciejhirsz
564a1b0fbb Tests and tweaks for public node middleware 2017-04-06 17:13:53 +02:00
Robert Habermeier
574cfae470 dispatch batched requests 2017-04-06 15:34:48 +02:00
NikVolf
9bcd1245d9 fix typo 2017-04-06 11:04:28 +03:00
Denis S. Soldatov aka General-Beck
89a4cb08e8 Update .gitlab-ci.yml 2017-04-05 21:40:12 +03:00
Denis S. Soldatov aka General-Beck
91dbf3c09d init switch to parity docker hub
https://hub.docker.com/r/parity/rust/
2017-04-05 21:35:53 +03:00
Robert Habermeier
3eea77709b convert Request to CheckedRequest 2017-04-05 19:19:04 +02:00
Robert Habermeier
08d8709ef6 checked request for OnDemand 2017-04-05 18:56:01 +02:00
GitLab Build Bot
5ebd38f1d6 [ci skip] js-precompiled 20170405-145308 2017-04-05 14:58:00 +00:00
arkpar
03ec27be66 Removed assert 2017-04-05 16:50:06 +02:00
Nicolas Gotchac
455f994673 Don't use port 8080 anymore (#5397) 2017-04-05 16:27:44 +02:00
Robert Habermeier
4f843ada3c Merge github.com:paritytech/parity into block_header_rpc 2017-04-05 16:27:32 +02:00
Robert Habermeier
35740456a4 generalize RequestBuilder 2017-04-05 15:02:44 +02:00
Robert Habermeier
8486e79cad Merge pull request #5002 from paritytech/lightcli
Quick'n'dirty CLI for the light client
2017-04-05 13:50:17 +02:00
Robert Habermeier
6b7a286158 Merge pull request #5401 from paritytech/state-proof-gas-limit
set gas limit before proving transactions
2017-04-05 13:50:04 +02:00
arkpar
81db3461fe Added an assert 2017-04-05 12:27:37 +02:00
Robert Habermeier
e2dfea8c12 set gas limit before proving transactions 2017-04-05 12:05:55 +02:00
Tomasz Drwięga
6165eda356 Fixing disappearing content. 2017-04-05 11:37:45 +02:00
Robert Habermeier
0d8a2c8c44 CHT key optimization 2017-04-05 11:30:51 +02:00
GitLab Build Bot
8d0fde6f60 [ci skip] js-precompiled 20170405-090226 2017-04-05 09:06:09 +00:00
Maciej Hirsz
237bac4500 Merge pull request #5390 from paritytech/mh-publicnode-perf
Public node: perf and fixes
2017-04-05 10:42:59 +02:00
Arkadiy Paronyan
5f9dc13207 Straight download path in the readme (#5393) 2017-04-04 15:46:42 +03:00
Denis S. Soldatov aka General-Beck
9b212dc518 Update cov.sh
remove src/test from EXCLUDE
2017-04-04 12:51:54 +03:00
maciejhirsz
94bfe116aa CR fixes 2017-04-04 11:49:36 +02:00
maciejhirsz
50e0221dd1 Perf and fixes 2017-04-03 18:50:11 +02:00
Svyatoslav Nikolsky
abec06f50c On-chain ACL checker for secretstore (#5015)
* ECDKG protocol prototype

* added test for enc/dec math

* get rid of decryption_session

* added licenses

* fix after merge

* get rid of unused serde dependency

* doc

* decryption session [without commutative enc]

* failed_dec_session

* fixed tests

* added commen

* added more decryption session tests

* helper to localize an issue

* more computations to localize error

* decryption_session::SessionParams

* added tests for EC math to localize problem

* secretstore network transport

* encryption_session_works_over_network

* network errors processing

* connecting to KeyServer

* licenses

* get rid of debug println-s

* fixed secretstore args

* encryption results are stored in KS database

* decryption protocol works over network

* enc/dec Session traits

* fixing warnings

* fix after merge

* on-chain ACL checker proto

* fixed compilation

* fixed compilation

* finally fixed <odd>-of-N-scheme

* temporary commented test

* 1-of-N works in math

* scheme 1-of-N works

* updated AclStorage with real contract ABI

* remove unnecessary unsafety

* fixed grumbles

* wakeup on access denied

* fix after merge

* fix after merge

* moved contract to native-contracts lib
2017-04-03 17:46:51 +02:00
GitLab Build Bot
ee4f9da385 [ci skip] js-precompiled 20170403-112007 2017-04-03 11:24:51 +00:00
Jaco Greeff
848779e465 Allow empty-encoded values from encoding (#5385) 2017-04-03 12:56:07 +02:00
Robert Habermeier
60ce0aee1a Merge branch 'lightcli' into light-filters 2017-04-03 12:55:31 +02:00
Robert Habermeier
0f65779d29 fix indentation in usage.txt 2017-04-03 12:54:27 +02:00
Robert Habermeier
394040e22c Merge branch 'master' into lightcli 2017-04-03 12:44:52 +02:00
GitLab Build Bot
0a90f235de [ci skip] js-precompiled 20170403-103604 2017-04-03 10:39:53 +00:00
Jaco Greeff
2447875b26 Update npm build for new inclusions (#5381)
* Update npm build for new inclusions

* Add dummy interface for secp256k1
2017-04-03 12:16:41 +02:00
NikVolf
df72c9c6cc fold multiplication 2017-04-03 12:57:18 +03:00
Robert Habermeier
6aa9005785 parity_getBlockHeaderByNumber and LightFetch 2017-04-03 11:37:07 +02:00
Denis S. Soldatov aka General-Beck
c3769b8874 Merge pull request #5356 from loadaverage/dockerfile_fix
Fix for Ubuntu Dockerfile
2017-04-03 16:15:49 +07:00
Svyatoslav Nikolsky
c0c06fdc53 Secretstore over network (#4974)
* ECDKG protocol prototype

* added test for enc/dec math

* get rid of decryption_session

* added licenses

* fix after merge

* get rid of unused serde dependency

* doc

* decryption session [without commutative enc]

* failed_dec_session

* fixed tests

* added commen

* added more decryption session tests

* helper to localize an issue

* more computations to localize error

* decryption_session::SessionParams

* added tests for EC math to localize problem

* secretstore network transport

* encryption_session_works_over_network

* network errors processing

* connecting to KeyServer

* licenses

* get rid of debug println-s

* fixed secretstore args

* encryption results are stored in KS database

* decryption protocol works over network

* enc/dec Session traits

* fixing warnings

* fix after merge

* finally fixed <odd>-of-N-scheme

* temporary commented test

* 1-of-N works in math

* scheme 1-of-N works

* remove unnecessary unsafety

* fixed grumbles

* fix grumbles

* lost files
2017-04-03 11:13:51 +02:00
Tomasz Drwięga
2df4532d50 Dapps and RPC server merge (#5365)
* Dapps server as a middleware.

* Dapps RPC - Work in Progress

* Merging Dapps and RPC server.

* Fast HTTP server configuration.

* Bump jsonrpc

* Fixing test target

* Re-implementing commented-out tests.
2017-04-03 10:27:37 +02:00
Jaco Greeff
6a05967bef trigger js build release (#5379) 2017-04-03 10:25:21 +02:00
Christopher Franko
41700a6996 Update expanse json with fork at block 600000 (#5351)
* Update expanse json with fork at block 600000

* update exp chainID to 2
2017-04-03 09:59:08 +02:00
Robert Habermeier
c9c8f920d2 Futures-based native wrappers for contract ABIs (#5341)
* initial native contract generator

* get generated code compiling

* unit tests for type codegen

* autogenerate registry contract

* native_contracts entry for registry

* service_transaction_checker

* fixed indentation
2017-04-03 09:40:18 +02:00
Robert Habermeier
8c715e025a Merge branch 'lightcli' into light-filters 2017-04-03 09:03:12 +02:00
Robert Habermeier
3eece20967 Merge branch 'master' into lightcli 2017-04-03 08:58:20 +02:00
Robert Habermeier
21e21f1e02 Merge pull request #5337 from paritytech/kovan-receipt-fix
Kovan warp sync fixed
2017-04-02 18:26:49 +02:00
keorn
84abf5d84f Aura eip155 validation transition (#5362)
* add eip155 validation

* add transition block
2017-04-01 13:21:22 +02:00
Tomasz Drwięga
83fea78d38 Wordlist from crate (#5331) 2017-04-01 13:26:44 +07:00
Jaco Greeff
1987dad527 Allow signing via Qr (#4881)
* QR code scanning in-place

* QrScan component

* Update tests

* s/store/createStore/ in props

* Create of actual accountsInfo entry

* Exteral/hardware forget, no password change

* Add external accounts to accounts list

* Render external accounts in section (along with hw)

* Manul test bugfixes

* Display Qr code for tx signing

* Align QR code

* Hints for QR operations

* Generate actual qr codes based on tx data

* Add leading 0x if not found

* Update tests for 0x leading addition

* from & rpl without leading 0x

* Auto-detect QR code size (input length)

* Confirm raw

* WIP (lots of logging)

* WIP

* Chain-replay protection

* Readability

* Re-add r: chainId

* s = 0, r = 0, v = chainId

* Update eth_signTransaction to send transaction object

* And it actually works.

* Externalise createUnsigned/createSigned

* Check for nonce updates (future: subscriptions)

* Allow gas overrides

* Expose formatted condition

* Extract calculation (cap at 40)

* Remove debug log

* Fix rename linting

* Allow for signing hash & rlp (App support forthcoming)

* WIP

* User original qrcode-generator package

* Complete hash + rlp signing

* Accurate QR code size calculation

* Simplify type calculation

* R-eactivate current mobile interface (TODO for new)

* Move napa to dep

* Allow external accounts visibility in dapps

* Allow napa install on CI

* Allow new signTransaction & signTransactionHash functionality
2017-03-31 23:36:24 +02:00
Jaco Greeff
cbaa7fdee6 Allow entry of url or hash for DappReg meta (#5360)
* Allow DappReg to handle contentHash & url inputs

* Add tests
2017-03-31 23:33:55 +02:00
Jaco Greeff
73dc52980e Adjust tx overlay colours (#5353)
* Adjust tx overlay colours

* Adjust sizes to be consistent

* Formatting
2017-03-31 23:32:03 +02:00
Jaco Greeff
8b0f9759ec Add ability to disallow API subscriptions (#5366) 2017-03-31 22:30:39 +02:00
NikVolf
d6baadbaf2 fix doc comment about failing 2017-03-31 17:53:26 +03:00
NikVolf
569d63d0c9 fix assertions 2017-03-31 17:46:44 +03:00
NikVolf
a529427bc9 bump bn lib 2017-03-31 17:38:31 +03:00
NikVolf
2f30b03060 some tests 2017-03-31 17:38:31 +03:00
NikVolf
d34aec29ed finalize 2017-03-31 17:38:30 +03:00
NikVolf
9271dd0cc7 wip 2017-03-31 17:38:30 +03:00
NikVolf
3d2e9efb1e P1, P2 definition 2017-03-31 17:38:30 +03:00
arkpar
b840ab8f8b Compact chunks 2017-03-31 16:31:12 +02:00
arkpar
deef600caf Download unique receipts only 2017-03-31 15:20:27 +02:00
Robert Habermeier
d146ae7275 Merge pull request #4999 from paritytech/eip-213
EIP-213 (bn128 curve operations)
2017-03-31 14:54:07 +02:00
Jaco Greeff
801a2339ee Fix analize output file name (#5357) 2017-03-31 10:38:57 +02:00
Vadim Sloun
2f757babb9 fix for Ubuntu Dockerfile 2017-03-30 23:18:06 +03:00
keorn
2398311455 add eip155 validation (#5346) 2017-03-30 20:01:19 +02:00
Jan Ziniewicz
5d6dac495e Add new seed nodes (#5345) 2017-03-30 14:49:11 +02:00
arkpar
3915943f57 Kovan warp sync fixed 2017-03-30 13:13:43 +02:00
Maciej Hirsz
e0d5eedff7 Merge pull request #5336 from paritytech/mh-wordlist-fe
Shared wordlist for frontend
2017-03-30 12:28:52 +02:00
Maciej Hirsz
4e1ef482ad Merge pull request #5338 from paritytech/mh-fixtests
fix rpc tests
2017-03-30 09:23:05 +02:00
maciejhirsz
6b0b8078e9 fix rpc tests 2017-03-29 20:44:08 +02:00
maciejhirsz
377f20ed49 Fix ci:build 2017-03-29 20:20:03 +02:00
maciejhirsz
2cc111ad5d use @parity/wordlist 2017-03-29 19:48:29 +02:00
Maciej Hirsz
ab2c3468d5 Merge pull request #5304 from paritytech/mh-webserver
Public node with accounts and signing in Frontend
2017-03-29 17:48:47 +02:00
maciejhirsz
54196a8d4f Skip timing out tests 2017-03-29 17:38:20 +02:00
maciejhirsz
9bd3f10f41 Squashed: Public Node 2017-03-29 17:07:58 +02:00
GitLab Build Bot
93ee2a9b64 [ci skip] js-precompiled 20170329-145217 2017-03-29 14:55:09 +00:00
Jaco Greeff
a4c433c749 Rename Status/Status -> Status/NodeStatus (#5332) 2017-03-29 16:31:33 +02:00
GitLab Build Bot
858c974440 [ci skip] js-precompiled 20170329-134148 2017-03-29 13:44:40 +00:00
Tomasz Drwięga
d2394d3ac3 Updating paths to repos. (#5330)
* Updating paths to repos.

* Updating rotor and libusb

* Fixing other occurrences
2017-03-29 15:17:27 +02:00
Tomasz Drwięga
d4684d6302 Separate status for canceled local transactions. (#5319) 2017-03-29 14:43:55 +02:00
Nicolas Gotchac
5fa088114c Cleanup the Status View (#5317)
* Better view of Settings and Mining Settings

* Cleanup Status view

* Node Logs refactoring

* Cleanup Status

* Move RPC Calls files

* Basic Peers view

* Add Peers table

* style table header
2017-03-29 14:38:07 +02:00
Nicolas Gotchac
8930f510fc Update requests (#5324) 2017-03-29 14:34:21 +02:00
GitLab Build Bot
7134b44f5b [ci skip] js-precompiled 20170328-172957 2017-03-28 17:32:58 +00:00
Jaco Greeff
86bc784e41 Order signer FIFO (#5321) 2017-03-28 19:06:26 +02:00
Marek Kotewicz
64c098627e updating dependencies (#5028)
* updated docopt, env_logger, semver and regex crates

* updated parking_lot to 0.4

* fixed compiling on linux

* updated igd to 0.6

* updated jsonrpc

* fixed regex related compiler error on linux
2017-03-28 19:06:08 +02:00
Robert Habermeier
1b0a369889 return default accounts from on_demand 2017-03-28 18:55:23 +02:00
Robert Habermeier
73fa0cdc31 eth_block fetching RPCs 2017-03-28 17:15:36 +02:00
Robert Habermeier
d8893b959d add eth-filter delegate 2017-03-28 15:56:51 +02:00
Robert Habermeier
f409168126 log fetching for light client 2017-03-28 15:42:23 +02:00
GitLab Build Bot
843d95966e [ci skip] js-precompiled 20170328-125352 2017-03-28 12:56:58 +00:00
Nicolas Gotchac
a99721004b Minimise transactions progress (#4942)
* Watch the requests and display them throughout the app

* Linting

* Showing Requests

* Fully working Transaction Requests Display

* Add FormattedMessage to Requests

* Clean-up the Transfer dialog

* Update Validations

* Cleanup Create Wallet

* Clean Deploy Contract Dialog

* Cleanup Contract Execution

* Fix Requests

* Cleanup Wallet Settings

* Don't show stepper in Portal if less than 2 steps

* WIP local storage requests

* Caching requests and saving contract deployments

* Add Historic prop to Requests MethodDecoding

* Fix tests

* Add Contract address to MethodDecoding

* PR Grumbles - Part I

* PR Grumbles - Part II

* Use API Subscription methods

* Linting

* Move SavedRequests and add tests

* Added tests for Requests Actions

* Fixing tests

* PR Grumbles + Playground fix

* Revert Playground changes

* PR Grumbles

* Better showEth in MethodDecoding
2017-03-28 14:34:31 +02:00
Robert Habermeier
a6b6c312b8 abstraction and futures-based eth_filter 2017-03-28 14:19:21 +02:00
GitLab Build Bot
e28c477075 [ci skip] js-precompiled 20170328-094309 2017-03-28 09:46:03 +00:00
Jaco Greeff
8e91f7b701 Fix eth_sign showing as wallet account (#5309)
* defaultProps for account

* Pass signing account

* Update tests for Connect(...)
2017-03-28 11:24:07 +02:00
Robert Habermeier
da3dd65726 block_hash method for LightChainClient 2017-03-28 11:23:43 +02:00
Arkadiy Paronyan
c7d99c37fb Ropsten revival (#5302) 2017-03-28 10:47:21 +02:00
keorn
a61b1567d0 Strict validation transitions (#4988)
* ability to make validation stricter

* fix consensus

* remove logger
2017-03-28 10:46:52 +02:00
GitLab Build Bot
7039eaf995 [ci skip] js-precompiled 20170328-065931 2017-03-28 07:02:31 +00:00
Nicolas Gotchac
d99aa3192c Fix default list sorting (#5303)
* Fix default sorting for lists views

* Linting
2017-03-28 08:35:10 +02:00
Nicolas Gotchac
8a664c524c Use uniq owners for multi sig wallets (#5298) 2017-03-28 08:34:54 +02:00
GitLab Build Bot
d6110d7332 [ci skip] js-precompiled 20170327-200527 2017-03-27 20:08:17 +00:00
Jaco Greeff
1db72ad6e2 Copy all existing i18n strings into zh (as-is translation aid) (#5305)
* Copy available strings into zh

* Update after lint

* Force rebuild (upstream package update)
2017-03-27 21:46:39 +02:00
GitLab Build Bot
6d5bfcfe44 [ci skip] js-precompiled 20170327-161452 2017-03-27 16:17:42 +00:00
Nicolas Gotchac
fb88e5d652 Fix booleans in Typedinput (#5295)
* Register new playground component onMount

* No need of observer

* getValue returns falsy values

* Fix tests
2017-03-27 17:56:08 +02:00
GitLab Build Bot
f5bce0cd9e [ci skip] js-precompiled 20170327-155051 2017-03-27 15:53:33 +00:00
Robert Habermeier
62158601fb node kind RPC (#5025)
* node kind RPC

* JS interface for parity_nodeKind
2017-03-27 17:30:19 +02:00
Nicolas Gotchac
a12583f762 Fix the use of MobX in playground (#5294)
* Register new playground component onMount

* No need of observer

* Fix tests
2017-03-27 17:27:35 +02:00
NikVolf
efe0f8449c Merge remote-tracking branch 'origin/master' into eip-213 2017-03-27 18:18:22 +03:00
NikVolf
c313857485 fix error handling 2017-03-27 18:17:49 +03:00
Robert Habermeier
1ca1a4b1cc Merge pull request #5019 from paritytech/snapshot-v2
Fine grained snapshot chunking
2017-03-27 16:57:02 +02:00
GitLab Build Bot
90746bd8c9 [ci skip] js-precompiled 20170327-144027 2017-03-27 14:43:26 +00:00
Jaco Greeff
a4c5375a63 Add lint:i18n to find missing & extra keys (#5290)
* Add npm run lint:i18n (missing keys check)

* Check extraneous keys
2017-03-27 16:27:25 +02:00
Jaco Greeff
986762a0bc Scaffolding for zh translations, including first-round by @btceth (#5289)
* Initial import of #5023

* Language naming

* Update 简体中文
2017-03-27 16:19:30 +02:00
GitLab Build Bot
7707f7557a [ci skip] js-precompiled 20170327-102018 2017-03-27 10:23:02 +00:00
GitLab Build Bot
9e02271a68 [ci skip] js-precompiled 20170327-100522 2017-03-27 10:08:02 +00:00
Jaco Greeff
eb1f76d8bd JS package bumps (#5287)
* Update to React 15.4.2

* Update deprecated UglifyJS version
2017-03-27 11:43:09 +02:00
Jaco Greeff
e8c64b802d Auto-extract new i18n strings (update) (#5288)
* Update passwordHint chain

* Update auto-extracted strings
2017-03-27 11:42:59 +02:00
Marek Kotewicz
23d3b79d9a eip100b (#5027)
* eip100b

* fix eip100b build and tests

* Conventional comparison order
2017-03-27 11:42:40 +02:00
arkpar
387a5fb03b Doc 2017-03-26 13:26:20 +02:00
NikVolf
34fb39da5b avoid allocating string 2017-03-25 23:30:11 +03:00
arkpar
b0a9c1e0fa Limit by entry count 2017-03-25 15:25:20 +01:00
arkpar
b52c7bba4b Fewer allocations 2017-03-25 13:22:25 +01:00
arkpar
56ba9a30ac Fixed sync tests 2017-03-25 13:22:25 +01:00
arkpar
4ef89b5ccb Fine grained snapshot chunking 2017-03-25 13:22:25 +01:00
Robert Habermeier
109012cae8 force earliest era set in snapshot restore (#5021) 2017-03-25 10:00:50 +01:00
Gav Wood
7e78480840 Avoid clogging up tmp when updater dir has bad permissions. (#5024) 2017-03-24 19:03:59 +01:00
Arkadiy Paronyan
3b54b49b0b Resilient warp sync (#5018) 2017-03-24 18:55:57 +01:00
NikVolf
434ed1b91c remove alt_ 2017-03-24 15:35:00 +03:00
Robert Habermeier
ac057ebe93 fix test build 2017-03-23 22:36:15 +01:00
Robert Habermeier
a78068cbe9 queue culling and informant 2017-03-23 22:20:00 +01:00
Robert Habermeier
3708b3be63 fix RPC tests 2017-03-23 20:49:17 +01:00
Robert Habermeier
e0a79699ea transaction propagation on a timer 2017-03-23 20:31:20 +01:00
Robert Habermeier
b76860fd2b add signing RPC methods in light cli 2017-03-23 19:42:11 +01:00
Robert Habermeier
45c0a97142 fix body encoding 2017-03-23 18:52:54 +01:00
Robert Habermeier
5700f4ac81 fix block response decoding 2017-03-23 18:31:16 +01:00
GitLab Build Bot
9efab789aa [ci skip] js-precompiled 20170323-150743 2017-03-23 15:10:28 +00:00
GitLab Build Bot
35a43a1e82 [ci skip] js-precompiled 20170323-150033 2017-03-23 15:03:35 +00:00
Robert Habermeier
974f89d5bf correct workaround for RLP issue 2017-03-23 16:00:00 +01:00
Jaco Greeff
df76f010da Create webpack analysis files (size) (#5009) 2017-03-23 15:47:42 +01:00
Robert Habermeier
10a470a5fa better bookkeeping of requests in light sync 2017-03-23 15:44:16 +01:00
Nicolas Gotchac
1490ba179c Dispatch an open event on drag of Parity Bar (#4987)
* Dispatch an open event on drag of Parity Bar

* Bette id for ParityBar position // Replace on dapp unload

* Fix PairtyBar Positionning
2017-03-23 15:39:13 +01:00
Robert Habermeier
c75b49667e workaround for #5008 2017-03-23 14:49:02 +01:00
Robert Habermeier
1485dd07ae use prev credits in tracing 2017-03-23 14:38:32 +01:00
Robert Habermeier
54eb575000 request tests that demonstrate broken RLP behavior 2017-03-23 14:38:23 +01:00
Robert Habermeier
ac7f1f6719 fix header chain tests 2017-03-23 14:15:13 +01:00
Robert Habermeier
da837fa9d8 Merge branch 'master' into lightcli 2017-03-23 14:12:42 +01:00
Robert Habermeier
a1df49ef3e add test for request vec deserialization 2017-03-23 14:04:26 +01:00
Arkadiy Paronyan
f5ea47a7b2 Various installer and tray apps fixes (#4970)
* Mac tray app fixes

* Windows restarting fixed
2017-03-23 13:25:31 +01:00
Robert Habermeier
ec52a4a235 more tracing in on-demand 2017-03-23 13:24:04 +01:00
Tomasz Drwięga
bb1bbebfd6 Export account RPC (#4967)
* Export account RPC

* Removing GethDirectory and ParityDirectory

* Updating ethstore-cli help.
2017-03-23 13:23:03 +01:00
keorn
9fdd0e3a0a Switching ValidatorSet (#4961)
* add multi validator set

* nicer comment

* validate in constructor

* reporting
2017-03-23 13:19:28 +01:00
Robert Habermeier
64cec5ff7d Implement PIP messages, request builder, and handlers (#4945)
* return errors on database corruption

* fix tests, json tests

* fix remainder of build

* buffer flow -> request credits

* proving state backend

* generate transaction proofs from provider

* network messages for transaction proof

* transaction proof test

* test for transaction proof message

* fix call bug

* request transaction proofs from on_demand

* most of proved_execution rpc

* proved execution future

* initial request definitions

* RLP encoding and decoding for requests

* proofs of non-existance in ProvingBlockChainClient

* new requests in provider.

* encode and decode responses

* complete initial request changes

* handle request packet in LightProtocol

* handle response packets

* implement requesting from

* re-do cost table

* get tests compiling

* fix cost table RLP encoding

* roundtrip tests for request types

* request builder tests

* move request_builder -> request::builder

* get network tests working

* return only complete headers responses

* request builder improvements

* New version of jsonrpc.

* split request filling into fill,complete

* Better invalid encoding messages

* Fixing deprecated methods of tokio_core

* use PIP messages in on_demand, old API

* migrate oneshot::complete to send in on_demand

* get on_demand tests to compile

* port ethsync to PIP messages

* adjust to minor on_demand API changes in RPC

* Using dedicated branch for jsonrpc

* Bump
2017-03-23 13:17:05 +01:00
GitLab Build Bot
b931a225ba [ci skip] js-precompiled 20170323-093322 2017-03-23 09:36:34 +00:00
Craig O'Connor
e5c2b25351 auto lint (#5003)
* auto lint

* Usage consistency update
2017-03-23 10:14:32 +01:00
Robert Habermeier
77f036ee21 fix capabilities-interpreting error in on_demand 2017-03-23 04:38:08 +01:00
Robert Habermeier
4eb69dc0fe reintroduce credits recharging 2017-03-23 04:36:49 +01:00
Robert Habermeier
0d110ed47c apply pending changes to chain after DB commit 2017-03-23 04:00:22 +01:00
Robert Habermeier
b96eb45877 eth_syncing RPC for light client 2017-03-23 03:23:53 +01:00
Robert Habermeier
a55001ad1d fix deadlock in on_demand 2017-03-23 02:55:25 +01:00
Robert Habermeier
23a6b19985 fix import 2017-03-22 22:10:02 +01:00
Robert Habermeier
0abbd7ac97 Merge branch 'pip-msg' into lightcli 2017-03-22 22:08:39 +01:00
Robert Habermeier
83911a7290 complete quick'n'dirty light CLI 2017-03-22 22:00:52 +01:00
Robert Habermeier
73b2dd7a59 light client RPC dependencies 2017-03-22 21:09:43 +01:00
Robert Habermeier
35d9a9815e mild abstraction of RPC dependencies 2017-03-22 20:14:40 +01:00
Robert Habermeier
e3d6525d83 store cumulative cost in pending request set. 2017-03-22 19:30:42 +01:00
Robert Habermeier
c718b5618e initial light CLI 2017-03-22 18:32:04 +01:00
GitLab Build Bot
41f66f33d5 [ci skip] js-precompiled 20170322-161945 2017-03-22 16:22:41 +00:00
GitLab Build Bot
5255b72f67 [ci skip] js-precompiled 20170322-160703 2017-03-22 16:10:12 +00:00
Robert Habermeier
a9d75e2223 CLI options for light client 2017-03-22 16:45:50 +01:00
Jaco Greeff
6b4cb35149 Fix FireFox overflows (#5000)
* Max width for container

* Set min-width
2017-03-22 16:39:57 +01:00
Jaco Greeff
5df3f5d136 Show busy indicator, focus first field (#4997) 2017-03-22 16:39:49 +01:00
Jaco Greeff
1879dbca8a Consistent store naming in the Signer components (#4996) 2017-03-22 16:39:40 +01:00
NikVolf
2de67538a2 updating deps 2017-03-22 18:07:41 +03:00
Robert Habermeier
dd1a3fc60a migration to light client mode 2017-03-22 15:58:43 +01:00
Robert Habermeier
a0619fc101 Merge branch 'master' into pip-msg 2017-03-22 15:56:09 +01:00
NikVolf
9d23101c9a update for rv 2017-03-22 17:43:19 +03:00
Marek Kotewicz
044d070667 rlp deserialization refactor, 30% faster (#4901)
* fixed naming of rlp modules

* RlpStream cleanup

* appending short rlp lists (0...55 bytes) is 25% faster

* RlpStream does not use bytes module, nor trait Stream

* removed unused code from rlp module

* compiling ethcore-util with new rlp serialization

* compiling parity with new rlp serialization

* fixed compiling ethcore-light with new rlp serialization

* fixed compiling ethsync with new rlp serialization

* moved rlp benches and rlp tests

* rlp deserialization refactor, 30% faster

* removed redundant comment, print

* fixed compiling parity with new rlp deserialization

* removed redundant double-space

* fixed failing test

* updated rlp docs, removed unused traits

* fixed rlp benchmarks

* replace usage of WriteBytesExt with ByteOrder

* removed unused, commented out code

* fixed merge conflict
2017-03-22 14:41:46 +01:00
NikVolf
436ae1333c trace mapping fix 2017-03-22 16:40:44 +03:00
NikVolf
8a4537fc73 no-input test 2017-03-22 16:31:43 +03:00
NikVolf
d1293d9fb0 fix warnings 2017-03-22 15:54:19 +03:00
NikVolf
3e7dc57289 some tests for simple cases 2017-03-22 15:41:32 +03:00
Robert Habermeier
219eddf33e Merge branch 'master' into pip-msg 2017-03-22 13:14:28 +01:00
GitLab Build Bot
b6f9cf4ba7 [ci skip] js-precompiled 20170322-112932 2017-03-22 11:32:23 +00:00
GitLab Build Bot
07ee7a341b [ci skip] js-precompiled 20170322-111524 2017-03-22 11:18:36 +00:00
Nicolas Gotchac
67c225f971 Double click to select account creation type (#4986)
* Extend links to whole container

* Add doubleClick to Account Creator
2017-03-22 12:12:21 +01:00
Nicolas Gotchac
a028e445fe Fixes to the Registry dapp (#4984)
* Don't show fee warning when there is none

* Hide Warning in Registry onclick

* Use the default account in the Registry

* Fix Etherscan links in Regsitry
2017-03-22 11:56:52 +01:00
GitLab Build Bot
b725829bfd [ci skip] js-precompiled 20170322-095443 2017-03-22 09:57:28 +00:00
Jaco Greeff
e1f2ccd138 Extend api.util (#4979)
* cleanupValue

* abiUnencode & abiSignature

* Export new functions
2017-03-22 10:36:41 +01:00
Tomasz Drwięga
7e87e9e8ad Updating JSON-RPC crates (#4934)
* New version of jsonrpc.

* Better invalid encoding messages

* Fixing deprecated methods of tokio_core

* Using dedicated branch for jsonrpc

* Bump
2017-03-22 07:02:14 +01:00
Marek Kotewicz
d530cc86f3 splitting part of util into smaller crates (#4956)
* split path module from util

* moved RotatingLogger from util to logger crate

* fix tests

* fix tests

* use only one version of ansi_term crate
2017-03-22 06:23:40 +01:00
NikVolf
5e34235a36 initial, fallable built-ins 2017-03-22 04:01:46 +03:00
GitLab Build Bot
63f1ca9243 [ci skip] js-precompiled 20170321-204617 2017-03-21 20:48:59 +00:00
Tomasz Drwięga
498d5c0660 Updating syntex et al (#4983)
* Migrating to new syntex

* Updating to latest syntex

* Another fix for nightly
2017-03-21 23:26:05 +03:00
Robert Habermeier
384aeda645 Merge branch 'pip-msg' into lightcli 2017-03-21 21:15:24 +01:00
Robert Habermeier
7ad36ee36c Merge remote-tracking branch 'upstream/new-jsonrpc' into pip-msg 2017-03-21 21:15:06 +01:00
Robert Habermeier
e99884d0c0 Merge branch 'master' into pip-msg 2017-03-21 21:05:01 +01:00
Robert Habermeier
9fcaea2235 Merge branch 'pip-msg' of github.com:paritytech/parity into pip-msg 2017-03-21 21:02:22 +01:00
Robert Habermeier
dd1f8295c4 fix sync test compilation 2017-03-21 21:00:31 +01:00
Robert Habermeier
bc9c1d4824 use a database in ethcore-light 2017-03-21 20:57:13 +01:00
Robert Habermeier
21771aa1a6 don't keep headers in memory to avoid DoS 2017-03-21 20:23:58 +01:00
Robert Habermeier
d013a13be6 header_chain writes to database 2017-03-21 19:45:52 +01:00
Robert Habermeier
797a3e1cd9 EIP198 and built-in activation (#4926)
* EIP198 and built-in activation

* address review
2017-03-21 19:36:38 +03:00
GitLab Build Bot
3687a7c717 [ci skip] js-precompiled 20170321-162716 2017-03-21 16:30:00 +00:00
Nicolas Gotchac
030d01102c Fix MethodDecoding for Arrays (#4977)
* Fix TypedInputs

* Remove unused code in inputQueries

* Use TypedInputs in Contract Events

* Linting

* Don't re-render events every second...
2017-03-21 17:02:41 +01:00
Nicolas Gotchac
c7e6992239 Try to fix WS race condition connection (#4976)
* Try to fix wrong token logic

* Linting
2017-03-21 17:01:32 +01:00
Jaco Greeff
cb881108c3 eth_sign where account === undefined (#4964)
* Update for case where account === undefined

* Update tests to not mask account === undefined

* default account = {} where undefined (thanks @tomusdrw)
2017-03-21 16:58:52 +01:00
GitLab Build Bot
1a6f23ad2b [ci skip] js-precompiled 20170321-145513 2017-03-21 14:58:06 +00:00
Nicolas Gotchac
9b9cd451d1 Fix references to api outside of parity.js (#4981) 2017-03-21 15:36:47 +01:00
Robert Habermeier
fe52e969b6 Merge branch 'master' into pip-msg 2017-03-21 15:24:47 +01:00
GitLab Build Bot
213f61e826 [ci skip] js-precompiled 20170321-131503 2017-03-21 13:17:48 +00:00
Nicolas Gotchac
37ece36685 Fix Password Dialog forms style issue (#4968) 2017-03-21 13:56:32 +01:00
Tomasz Drwięga
958a8f66a0 Merge branch 'master' into new-jsonrpc 2017-03-21 09:35:50 +01:00
Tomasz Drwięga
badb3729c9 Changing Mutex into RwLock for transaction queue (#4951)
* Changing Mutex into RwLock for transaction queue

* Fixing merge

* little fix
2017-03-20 19:15:02 +01:00
keorn
e228de18e2 Disable max seal period for external sealing (#4927)
* no max sealing when external

* force internal sealing
2017-03-20 19:14:49 +01:00
Jaco Greeff
05cd715c39 Attach hardware wallets already in addressbook (#4912)
* Attach hardware wallets already in addressbook

* Only set values changed
2017-03-20 19:14:39 +01:00
Marek Kotewicz
a555686bcd rlp serialization refactor (#4873)
* fixed naming of rlp modules

* RlpStream cleanup

* appending short rlp lists (0...55 bytes) is 25% faster

* RlpStream does not use bytes module, nor trait Stream

* removed unused code from rlp module

* compiling ethcore-util with new rlp serialization

* compiling parity with new rlp serialization

* fixed compiling ethcore-light with new rlp serialization

* fixed compiling ethsync with new rlp serialization

* removed redundant comment, print

* removed redundant double-space

* replace usage of WriteBytesExt with ByteOrder
2017-03-20 19:14:29 +01:00
Arkadiy Paronyan
16860c3f79 Bump nanomsg (#4965) 2017-03-20 16:03:16 +01:00
Tomasz Drwięga
1d87f24715 Bump 2017-03-20 12:06:42 +01:00
Tomasz Drwięga
6fa9393a25 Merge branch 'master' into new-jsonrpc 2017-03-20 10:30:53 +01:00
Arkadiy Paronyan
354ec19e3b Always send full chunks (#4960) 2017-03-19 18:34:31 +01:00
GitLab Build Bot
99c247fe9f [ci skip] js-precompiled 20170319-171327 2017-03-19 17:16:05 +00:00
Denis S. Soldatov aka General-Beck
2d477946ea alow failure to coverage 2017-03-19 19:10:18 +03:00
Nicolas Gotchac
c009a289d5 Fix outputs in Contract Constant Queries (#4953) 2017-03-19 08:52:14 +01:00
Michael Egger
4ebd597354 start parity after network.target (#4952) 2017-03-19 08:52:00 +01:00
Tomasz Drwięga
34d28189ea Remove transaction RPC (#4949) 2017-03-19 08:46:51 +01:00
Callum Macdonald
124ab28c9e Swap out ethcore.io url (#4947)
It throws a certificate error on HTTPS because the certificate is only valid on parity.io.
2017-03-19 08:45:39 +01:00
Marek Kotewicz
c36f4266d2 Merge pull request #4933 from paritytech/signing-fix
Don't remove confirmed requests to early.
2017-03-18 15:19:48 +01:00
Marek Kotewicz
91ab91cfb9 Merge pull request #4930 from paritytech/notify-sealing-master
Ensure sealing work enabled in miner once subscribers added
2017-03-18 15:19:02 +01:00
Jaco Greeff
e756b09e5b Add z-index to small modals as well (#4923) 2017-03-18 10:30:18 +01:00
debris
701e116dde Merge branch 'master' of github.com:ethcore/parity into pip-msg 2017-03-17 23:38:49 +01:00
debris
aa6ee10759 Merge branch 'master' of github.com:ethcore/parity into notify-sealing-master 2017-03-17 23:37:56 +01:00
debris
97e0df1363 Merge branch 'master' into signing-fix 2017-03-17 23:25:38 +01:00
Marek Kotewicz
1dddbf35d6 Merge pull request #4946 from paritytech/multihash
Bump nanomsg
2017-03-17 14:31:30 +01:00
Robert Habermeier
8be41ad946 Merge branch 'master' into pip-msg 2017-03-17 14:13:10 +01:00
arkpar
7e9936a3cd bump nanomsg 2017-03-17 14:10:09 +01:00
Marek Kotewicz
83f56c3ad9 Merge pull request #4943 from paritytech/multihash
Bumping multihash and libc
2017-03-17 14:02:56 +01:00
Tomasz Drwięga
8c98ddb843 Updating nanomsg 2017-03-17 13:47:05 +01:00
Tomasz Drwięga
0c051fb78e Bumping multihash and libc 2017-03-17 13:20:10 +01:00
Tomasz Drwięga
c13f01c4f9 Using dedicated branch for jsonrpc 2017-03-17 10:13:47 +01:00
Robert Habermeier
2ee3a7282b adjust to minor on_demand API changes in RPC 2017-03-17 00:14:29 +01:00
Robert Habermeier
fa42b6acec port ethsync to PIP messages 2017-03-16 23:51:47 +01:00
Robert Habermeier
b5527415d6 get on_demand tests to compile 2017-03-16 20:33:45 +01:00
Robert Habermeier
04f106aad8 migrate oneshot::complete to send in on_demand 2017-03-16 20:29:06 +01:00
Robert Habermeier
cbb9314531 use PIP messages in on_demand, old API 2017-03-16 20:23:59 +01:00
Tomasz Drwięga
44052e7d8d Merge branch 'master' into new-jsonrpc 2017-03-16 16:04:30 +01:00
Tomasz Drwięga
579cff478d Fixing deprecated methods of tokio_core 2017-03-16 15:48:08 +01:00
GitLab Build Bot
f84fcfee04 [ci skip] js-precompiled 20170316-124008 2017-03-16 12:42:56 +00:00
Nicolas Gotchac
7846544c1b Edit ETH value, gas and gas price in Contract Deployment (#4919)
* Fix typo

* Add Value capabilities to Contract Deployment

* Add Extras settings for Contract Deployment (#4483)

* Fix deploy in API
2017-03-16 13:18:28 +01:00
Tomasz Drwięga
930c8b63db Don't remove confirmed requests to early. 2017-03-16 13:15:56 +01:00
Tomasz Drwięga
491eeb9878 Better invalid encoding messages 2017-03-16 12:48:51 +01:00
NikVolf
daca82bdfc fix condition check 2017-03-16 04:16:05 +03:00
NikVolf
131aa14afa ensure sealing work enabled if notifier registed 2017-03-16 03:38:50 +03:00
Denis S. Soldatov aka General-Beck
57d718fde1 add coverage to master 2017-03-16 01:24:23 +03:00
Denis S. Soldatov aka General-Beck
cb79859c0e Update cov.sh
update coverage for RUST&JS
[ci skip]
2017-03-16 01:21:58 +03:00
GitLab Build Bot
790bd87bc3 [ci skip] js-precompiled 20170315-182430 2017-03-15 18:27:17 +00:00
Nicolas Gotchac
ba07c32300 Add ability to configure Secure API (for #4885) (#4922) 2017-03-15 19:15:05 +01:00
GitLab Build Bot
8d16cdf12f [ci skip] js-precompiled 20170315-155713 2017-03-15 16:00:18 +00:00
Nicolas Gotchac
a25d935a1d Add Token image from URL (#4916) 2017-03-15 16:49:47 +01:00
Nicolas Gotchac
f8aec7571f Use the registry fee in Token Deployment dapp (#4915) 2017-03-15 16:49:26 +01:00
keorn
1f7fb1591d Add reseal max period (#4903)
* add reseal max period

* fix rpc
2017-03-15 14:04:42 +01:00
Marek Kotewicz
5f103ee33d Detect rust compiler version in Parity build script, closes 4742 (#4907)
* Detect rust compiler version in Parity build script, closes #4742

* updated required compiler version message

* fixed typo
2017-03-15 14:03:11 +01:00
GitLab Build Bot
240ea8a136 [ci skip] js-precompiled 20170315-124802 2017-03-15 12:50:47 +00:00
Nicolas Gotchac
e4c61a5fab Add Vaults logic to First Run (#4894) (#4914) 2017-03-15 13:40:18 +01:00
Marek Kotewicz
b27138e93f Updated gcc crate to remove one of duplicated dependencies (#4909) 2017-03-15 12:13:19 +01:00
Denis S. Soldatov aka General-Beck
1959f0ae12 fix docker-build
[ci skip]
2017-03-14 20:21:51 +03:00
Tomasz Drwięga
57770ce84c Renaming evm binary to avoid conflicts. (#4899) 2017-03-14 13:08:55 +01:00
Tomasz Drwięga
2dca24cc28 Traces error handling (#4849) 2017-03-14 13:04:32 +01:00
Jaco Greeff
7c45178076 Add intitial max-width to sections (#4895) 2017-03-14 13:04:00 +01:00
Jaco Greeff
e12bde8e5a Move background z-index to -1 (#4893) 2017-03-14 13:03:44 +01:00
Arkadiy Paronyan
5031221369 Removed libudev-dev 2017-03-14 13:02:46 +01:00
GitLab Build Bot
43d391501e [ci skip] js-precompiled 20170314-110423 2017-03-14 11:06:46 +00:00
Maciej Hirsz
7df4ff2606 Merge pull request #4900 from ethcore/mh-guide
Spelling :)
2017-03-14 11:57:46 +01:00
Tomasz Drwięga
b51d7e9f6a Merge branch 'master' into new-jsonrpc 2017-03-14 11:48:09 +01:00
Arkadiy Paronyan
43871e393c Additional kovan params (#4892) 2017-03-14 11:41:56 +01:00
maciejhirsz
ef3569741c Spelling :) 2017-03-14 11:39:01 +01:00
GitLab Build Bot
84fcefba1b [ci skip] js-precompiled 20170314-103037 2017-03-14 10:32:58 +00:00
Jaco Greeff
7525cb5ee4 trigger js-precompiled build (#4898) 2017-03-14 11:23:50 +01:00
Arkadiy Paronyan
e0d554e0ca Recalculate receipt roots in close_and_lock (#4884) 2017-03-13 17:47:43 +01:00
Robert Habermeier
599f81daa9 split request filling into fill,complete 2017-03-13 16:06:58 +01:00
Tomasz Drwięga
8bf5be0cc4 New version of jsonrpc. 2017-03-13 15:49:52 +01:00
Robert Habermeier
f0a587d310 request builder improvements 2017-03-13 13:36:03 +01:00
GitLab Build Bot
29bed6ff69 [ci skip] js-precompiled 20170313-122643 2017-03-13 12:32:24 +00:00
Nicolas Gotchac
8a37f9599f Reload UI on network switch (#4864)
* Reload UI on network switch

* Don't bither with timeout.
2017-03-13 13:19:43 +01:00
Svyatoslav Nikolsky
fddbc9e5cb Secretstore DKG protocol draft + distributed encryption/decryption tests (#4725)
* ECDKG protocol prototype

* added test for enc/dec math

* get rid of decryption_session

* added licenses

* fix after merge

* get rid of unused serde dependency

* doc

* decryption session [without commutative enc]

* failed_dec_session

* fixed tests

* added commen

* added more decryption session tests

* helper to localize an issue

* more computations to localize error

* decryption_session::SessionParams

* added tests for EC math to localize problem
2017-03-13 12:54:56 +01:00
Jaco Greeff
b7862ac23a Update parity-ui-precompiled with branch (#4850)
* Update parity-ui-precompiled with branch

* In-place sed via -i

* Explicitly specify branch

* Only in-place edit branch (thanks @ngotchac)

* Add override & single-line comment
2017-03-13 12:52:02 +01:00
Jaco Greeff
90a5c9e489 Base infrastructure/contracts deployment dapp (#4726)
* Add deploy dapp

* Filter by dapp id

* WIP

* Contract deployment operational

* Additional contracts

* unicode icons

* Column layout

* app deployment

* DRY up lists

* Remove unused function

* Add basiccoin deployment & tokenreg

* Externalise code

* Check for code versions

* Gavcoin, Email & SMS contracts

* Update to latest email contract

* Deploy & register badges

* Add jg external apps

* Check owner for deleted registry entries

* DRY estimate/post

* Add wallet library to deployment
2017-03-13 12:49:26 +01:00
Arkadiy Paronyan
2924d0a20f OSX Installer is no longer experimental (#4882)
* OSX Installer is no longer experimental

* osx -> macos
2017-03-13 12:36:55 +01:00
Gav Wood
3041c95408 Chain-selection from UI (#4859)
* First little bits for chain-selection.

* Provide RPCs and get settings through to user defaults.

* Hasty stash.

* Fix updater accidentally redownloading.

* Finish up.

* Add JS tests.

* Hypervisor should never run a binary modified before itself.

* Style.

* Help tweak.

* Fix test compile.

* Fix JS test

* Build fix for tests.

* Revert default chain name

* Another test

* Use spec name via client.

* Fix mock up.

* whitespace

[ci:skip]

* whitespace

[ci:skip]

* remove exit/restart endpoints.
2017-03-13 12:10:53 +01:00
Marek Kotewicz
8a67a0a80a removed redundant (and unused) FromJson trait (#4871) 2017-03-13 11:42:27 +01:00
GitLab Build Bot
2ee8f07432 [ci skip] js-precompiled 20170312-211107 2017-03-12 21:17:02 +00:00
gregg dourgarian
18b29832ac fix typos and grammar (#4880) 2017-03-12 22:02:00 +01:00
Nikolay Volf
4af49038cd Remove old experimental remote db code (#4872) 2017-03-12 23:49:33 +04:00
Marek Kotewicz
3fe3353696 removed redundant FixedHash trait, fixes #4029 (#4866) 2017-03-11 22:58:15 +04:00
Marek Kotewicz
5d5e45ec0d Merge pull request #4870 from ethcore/jsonrpc-dep
Reference JSON-RPC more changes-friendly
2017-03-11 18:41:11 +01:00
GitLab Build Bot
79afe2d7fb [ci skip] js-precompiled 20170311-150617 2017-03-11 15:12:20 +00:00
NikVolf
429e1c7a27 bind to branch 2017-03-11 17:44:39 +03:00
Nicolas Gotchac
e73d867dab Better handling of Solidity compliation (#4860)
* Better use of SW

* Safe-guard against pending SW register bug (in Chrome)

* Added a simple Worker for Solidity compilation
2017-03-11 15:25:45 +01:00
Nicolas Gotchac
1c37ea5860 Go through contract links in Transaction List display (#4863)
* Go through contract links (#4822)

* Fix tests, add one for /contracts/<address>
2017-03-11 15:25:36 +01:00
Nicolas Gotchac
96f4033a40 Fix Gas Price Selector Tooltips (#4865) 2017-03-11 15:25:27 +01:00
Gav Wood
5684906d3e Fix auto-updater. (#4867) 2017-03-11 14:45:50 +01:00
GitLab Build Bot
b0264a6af2 [ci skip] js-precompiled 20170310-184737 2017-03-10 18:53:39 +00:00
Nicolas Gotchac
e2069d2e29 Don't check for enode, don't fail if no enode (#4495) (#4861) 2017-03-10 19:40:47 +01:00
GitLab Build Bot
45414e6cfe [ci skip] js-precompiled 20170310-151240 2017-03-10 15:18:28 +00:00
Nicolas Gotchac
dd529575f6 Subscribe to accounts info in Signer / ParityBar (#4738) (#4856) 2017-03-10 15:46:13 +01:00
Arkadiy Paronyan
bc9464fcbd Removed link directive (#4841) 2017-03-10 15:25:02 +01:00
Nicolas Gotchac
95745ef4c8 Fix paste in Inputs (#4854)
* Wait for the value to have changed in the input

* Better onPaste handler // Use ESC to revert to initial value
2017-03-10 14:08:21 +01:00
GitLab Build Bot
e5defeaada [ci skip] js-precompiled 20170310-123911 2017-03-10 12:45:42 +00:00
Nicolas Gotchac
eebb8b87a4 Refactoring of the Dapp Registry (#4589)
* Add React Hot Loader to DappReg dapp

* Updated colours

* Add DappCards

* Dapp Modal with manifest displayed

* Add input to the Dapp Modal

* WIP // Editing a Dapp

* Clean-Up

* Linting

* CleanUp and separate dapp from dappS

* Semi-working updates

* Working Editing of a Dapp

* OCD

* Linting

* Add a Dapp -- WIP

* Register a new Dapp

* WIP Dapps

* Working update / delete / register

* Better promises

* Working updates for DappReg

* Fully functional again !

* Generic Card Component

* Dashed Register Card

* Cleanups

* Cleanups

* Add Actions to Modal

* Clean-Up

* Better Close Icon

* Single place for Registry version // Fetch meta-data from Registry

* Fixing test

* Fix saving changes in dapp reg

* PR Grumbles - Part I

* PR Grumble - Part I

* PR Grumble - Part II

* DappReg Contract owner can delete dapps
2017-03-10 13:31:57 +01:00
GitLab Build Bot
e15f60b819 [ci skip] js-precompiled 20170310-111654 2017-03-10 11:25:12 +00:00
Jaco Greeff
4e5fd92e67 Extract i18n from shared UI components (#4834)
* Actionbar i18n

* ui Errors i18n

* Features i18n

* GapPriceSelector i18n

* WIP

* WIP #2

* Update methodDecoding

* ModalBox -> functional

* Signer pages i18n (missed previously)

* Update ModalBox tests

* Update variable
2017-03-10 12:04:40 +01:00
Nicolas Gotchac
d98b7aab61 Wait for the value to have changed in the input (#4844) 2017-03-10 11:52:27 +01:00
Jaco Greeff
8edee76f8b Pull steps from actual available steps (#4848) 2017-03-10 11:38:27 +01:00
Denis S. Soldatov aka General-Beck
ca963137e9 Update README.md
[ci skip]
2017-03-10 13:24:18 +03:00
Denis S. Soldatov aka General-Beck
6eefecf31e build docker with custom branch or tag
[ci -skip]
2017-03-10 13:23:34 +03:00
Arkadiy Paronyan
9047b4b487 Supress USB error message (#4839) 2017-03-10 10:25:40 +01:00
Tomasz Drwięga
0ab0cb1173 Fix RPC errors. Implement geth-compatibility option to return correct pending nonce. (#4837) 2017-03-10 10:25:13 +01:00
Denis S. Soldatov aka General-Beck
608c0dc613 CI: test coverage (for core) (#4832)
* test coverage

* update gitlab

add `git submodule update --init --recursive`

* test exec coverage in docker runner

* tags kcov
2017-03-10 10:12:16 +01:00
Tomasz Drwięga
aedc473f64 Lowering threshold for transactions above gas limit (#4831) 2017-03-10 10:11:37 +01:00
Nicolas Gotchac
be87151f1c Fix TxViewer when no to (contract deployment) (#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
2017-03-10 10:08:16 +01:00
GitLab Build Bot
5e54c0fa91 [ci skip] js-precompiled 20170309-190359 2017-03-09 19:09:36 +00:00
Nicolas Gotchac
3bb66d03ee Fix method decoding (#4845)
* Fix contract deployment method decoding in Signer

* Linting
2017-03-09 19:56:10 +01:00
Nicolas Gotchac
3478c16e10 Added React Hot Reload to dapps + TokenDeplpoy fix (#4846) 2017-03-09 19:55:48 +01:00
Nicolas Gotchac
bd00256e0c Uniq array of ids (#4843) 2017-03-09 19:55:11 +01:00
Robert Habermeier
64342d200c return only complete headers responses 2017-03-09 17:28:49 +01:00
GitLab Build Bot
b196635816 [ci skip] js-precompiled 20170309-160350 2017-03-09 16:09:29 +00:00
Nicolas Gotchac
5342a482b5 Fixes to the Registry dapp (#4838)
* Fix wrong ABI methods

* Fix
2017-03-09 16:55:57 +01:00
Robert Habermeier
391eb4b66c get network tests working 2017-03-09 16:55:13 +01:00
Denis S. Soldatov aka General-Beck
ea020948fc push-release<->build 2017-03-09 01:34:00 +03:00
Denis S. Soldatov aka General-Beck
6062aa5dcd fix windows build
rm parity.pdb
2017-03-08 23:49:34 +03:00
Robert Habermeier
8fb0a2d417 move request_builder -> request::builder 2017-03-08 20:11:22 +01:00
Robert Habermeier
aea9b1d6cc request builder tests 2017-03-08 20:07:45 +01:00
Robert Habermeier
d9087dd2b6 roundtrip tests for request types 2017-03-08 19:50:26 +01:00
Robert Habermeier
868f83e6ca Merge branch 'master' into pip-msg 2017-03-08 18:55:21 +01:00
Robert Habermeier
a1186727af fix cost table RLP encoding 2017-03-08 18:38:25 +01:00
Robert Habermeier
9268a1f59c get tests compiling 2017-03-08 18:27:29 +01:00
Jaco Greeff
ca1efc3d77 Show token icons on list summary pages (#4826)
* Adjust balance overlay margins (no jumps)

* Img only balances, small verifications

* Invalid tests removed

* Always wrap display (Thanks @ngotchac)

* Update tests to reflect reality
2017-03-08 18:07:14 +01:00
Robert Habermeier
9692616958 re-do cost table 2017-03-08 18:01:41 +01:00
Robert Habermeier
bb39f104f4 implement requesting from 2017-03-08 17:37:07 +01:00
keorn
be21671c1c Calibrate step before rejection (#4800)
* calibrate before rejection

* change flag name

* fix merge
2017-03-08 17:25:50 +01:00
Robert Habermeier
ee034185a5 handle response packets 2017-03-08 15:28:46 +01:00
keorn
a84a10ff03 Add replay protection (#4808)
* add eip155

* make network_id default
2017-03-08 14:44:07 +01:00
Arkadiy Paronyan
731f28a8c0 Better windows icon (#4804) 2017-03-08 14:42:56 +01:00
keorn
98be191b25 Fix validator contract syncing (#4789)
* make validator set aware of various states

* fix updater build

* clean up contract call

* failing sync test

* adjust tests

* nicer indent [ci skip]

* revert bound divisor
2017-03-08 14:41:24 +01:00
Robert Habermeier
8a3b5c6332 Remote transaction execution (#4684)
* return errors on database corruption

* fix tests, json tests

* fix remainder of build

* buffer flow -> request credits

* proving state backend

* generate transaction proofs from provider

* network messages for transaction proof

* transaction proof test

* test for transaction proof message

* fix call bug

* request transaction proofs from on_demand

* most of proved_execution rpc

* proved execution future
2017-03-08 14:39:44 +01:00
GitLab Build Bot
5bbcf0482b [ci skip] js-precompiled 20170308-122756 2017-03-08 12:38:37 +00:00
Nicolas Gotchac
02c51c83cd Better logic for contract deployments (#4821) 2017-03-08 13:21:39 +01:00
Nicolas Gotchac
94a39619b5 Fix default values for contract queries (#4819) 2017-03-08 12:26:03 +01:00
Jaco Greeff
f16b53d92a Adjust selection colours/display (#4811)
* Adjust selection colours to match with mui

* allow -> disable (simplify selections)

* Only use top-border

* Overlay selection line

* Slightly more muted unselected

* Restore address icon
2017-03-08 12:00:27 +01:00
Nicolas Gotchac
f0f2d00924 Update the key (#4817) 2017-03-08 12:00:04 +01:00
GitLab Build Bot
81b57a57c7 [ci skip] js-precompiled 20170307-211202 2017-03-07 21:17:27 +00:00
Nicolas Gotchac
48e5d82186 Fix SectionList hovering issue (#4749)
* Fix SectionList Items hover when <3 items

* Even easier...
2017-03-07 22:03:52 +01:00
GitLab Build Bot
7638b2c9e8 [ci skip] js-precompiled 20170307-195934 2017-03-07 20:06:34 +00:00
Robert Habermeier
dbd05e6c92 handle request packet in LightProtocol 2017-03-07 20:58:23 +01:00
Nicolas Gotchac
a587815ddc Re-Introducing HappyPack (#4669)
* Updating Dev Dependencies (minor version updates)

* Re-introduce HappyPack

* Added Yarn Lock file

* Use HappyPack

* Linting

* Delete yarn lock file
2017-03-07 20:39:36 +01:00
Jaco Greeff
c3c83086bc SMS Faucet (#4774)
* Faucet

* Remove flakey button-index testing

* Only display faucet when sms verified (mainnet)

* simplify availability checks

* WIP

* Resuest from verified -> verified

* Update endpoint, display response text

* Error icon on errors

* Parse hash text response

* Use /api/:address endpoint

* hash -> data

* Adjust sms-certified message
2017-03-07 20:21:07 +01:00
Nicolas Gotchac
4d08e7b0ae Update Wallet to new Wallet Code (#4805)
* Update Wallet Version

* Update Wallet Library

* Update Wallets Bytecodes

* Typo

* Separate Deploy in Contract API

* Use the new Wallet ABI // Update wallet code

* WIP .// Deploy from Wallet

* Update Wallet contract

* Contract Deployment for Wallet

* Working deployments for Single Owned Wallet contracts

* Linting

* Create a Wallet from a Wallet

* Linting

* Fix Signer transactions // Add Gas Used for transactions

* Deploy wallet contract fix

* Fix too high gas estimate for Wallet Contract Deploys

* Final piece ; deploying from Wallet owned by wallet

* Update Wallet Code

* Updated the Wallet Codes

* Fixing Wallet Deployments

* Add Support for older wallets

* Linting
2017-03-07 20:19:55 +01:00
Robert Habermeier
04291fe71e complete initial request changes 2017-03-07 19:48:07 +01:00
Denis S. Soldatov aka General-Beck
973bb63dca update gitlab-ci
remove temp kcov cmd
[ci skip]
2017-03-07 22:33:08 +04:00
Tomasz Drwięga
4868f758bf Allow specifying extra cors headers for dapps (#4710) 2017-03-07 17:33:28 +01:00
Arkadiy Paronyan
ae3f85bd5b v1.7 (#4730) 2017-03-07 17:29:27 +01:00
Jaco Greeff
3fb8466c40 Bump package.json for master 1.7 (#4731)
* Bump package.json for master 1.7

* Update contributors
2017-03-07 17:29:15 +01:00
Robert Habermeier
b396b56e34 encode and decode responses 2017-03-07 17:18:26 +01:00
Igor Artamonov
63bc942e41 update ETC bootnodes (#4794) 2017-03-07 05:34:48 +01:00
Denis S. Soldatov aka General-Beck
2f7f95d519 update gitlab-ci
add `kcov` cmd
2017-03-07 03:21:11 +04:00
Denis S. Soldatov aka General-Beck
4e1816cd00 test coverage 2017-03-07 03:16:32 +04:00
Denis S. Soldatov aka General-Beck
374d7c879e push-release after build 2017-03-07 01:56:19 +04:00
Gav Wood
cec37207be Update comments and reg ABI (#4787)
* Update comments.

* Fix up new ABI.
2017-03-06 21:37:38 +01:00
Denis S. Soldatov aka General-Beck
344b5b120f update Dockerfile for hub
add BUILD_TAG ARG
[ci skip]
2017-03-06 22:46:35 +04:00
Denis S. Soldatov aka General-Beck
38884cdf82 update docker-build
add arg
[ci skip]
2017-03-06 22:44:41 +04:00
Robert Habermeier
87f3d53607 new requests in provider. 2017-03-06 17:36:56 +01:00
Robert Habermeier
8e9faa416d proofs of non-existance in ProvingBlockChainClient 2017-03-06 17:03:58 +01:00
GitLab Build Bot
24aac8fa89 [ci skip] js-precompiled 20170306-142052 2017-03-06 14:26:42 +00:00
Tomasz Drwięga
4f934cf2c2 Optimize signature for fallback function. (#4780) 2017-03-06 15:11:39 +01:00
Robert Habermeier
41effadb94 RLP encoding and decoding for requests 2017-03-06 12:21:06 +01:00
GitLab Build Bot
0de8771007 [ci skip] js-precompiled 20170306-093959 2017-03-06 09:45:14 +00:00
Tomasz Drwięga
4d203d563c Rephrasing token generation screen. (#4777) 2017-03-06 10:32:41 +01:00
GitLab Build Bot
a02063f348 [ci skip] js-precompiled 20170306-080251 2017-03-06 08:08:05 +00:00
Jaco Greeff
0b24a3d7f6 Etherscan links based on netVersion identifier (#4772)
* Use netVersion to determine external links

* Update additional isTest references
2017-03-06 08:54:59 +01:00
Jerome de Tychey
944dcdc010 Update README.md (#4762)
Fix for cargo fail when building from source
2017-03-06 08:49:52 +01:00
GitLab Build Bot
cabf251280 [ci skip] js-precompiled 20170305-093606 2017-03-05 09:41:41 +00:00
Jaco Greeff
5a7cbb3e5b Fix invalid props (#4766) 2017-03-05 10:27:18 +01:00
keorn
d68ea777a2 Extend authority round consensus test (#4756)
* add auth round test case

* correct fork assertion
2017-03-03 22:32:22 +01:00
GitLab Build Bot
2e0d005487 [ci skip] js-precompiled 20170303-190450 2017-03-03 19:10:54 +00:00
Tomasz Drwięga
edecd951ba Revert last hyper "fix" (#4752) 2017-03-03 19:52:08 +01:00
Jaco Greeff
1548201551 Vault Management UI (round 3) (#4652)
* Render Dapps via SectionList

* Initial rendering of accounts via SectionList

* Width vars

* Allow classNames in certifications & tags

* Overlay of info on hover

* Adjust hover balances

* Large owner icons (align with vaults)

* Consistent block mined at message

* Attach ParityBackground to html

* Adjust page padding to align

* Lint fixes

* Link to different types of addresses

* Make content parts clickable only (a within a)

* Force Chrome hardware acceleration

* Trust the vendors... don't go crazy with transform :)

* Use faster & default transitions

* Add VaultMeta edit dialog

* Updated (WIP)

* Meta & password edit completed

* Added SelectionList component for selections

* Use SelectionList in DappPermisions

* AddDapps uses SelectionList

* Fix AccountCard to consistent height

* Display type icons in creation dialog

* Complimentary colours

* Convert Signer defaults to SelectionList

* Fix Geth import - actually pass addresses through

* Work from addresses returned via RPC

* Display actual addresses imported (not selected)

* Update tests to cover bug fixed

* Prettyfy Geth import

* Description on selection actions

* SelectionList as entry point

* Update failing tests

* Subtle selection border

* Styling updates for account details

* Add ModalBox summary

* AddAddress updated

* Display account vault information

* Allow invalid addresses to display icons (e.g. vaults)

* Display vault on edit meta

* Convert VaultAccounts to SelectionList

* Allow editing of Vault in meta

* Add tests for SectionList component

* Add tests for ModalBox component

* Add tests for VaultSelector component

* Add vaultsOpened in store

* Add ~/ui/Form/VaultSelect

* WIP

* Fix failing tests

* Move account to vault when selected

* Fix circular build deps

* EditMeta uses Form/VaultSelect

* Vault move into meta store (alignment)

* Re-apply stretch fix

* Display vault in account summary

* Add busy indicators to relevant modals

* Auto-focus description field (aligns with #4657)

* Remove extra container (double scrolling)

* Remove unused container style

* Apply scroll fixes from lates commit in #4621

* Remove unneeded logs

* Remove extra div, fixing ParityBar overflow

* Make dapp iframe background white

* Stop event propgation on tag click

* ChangeVault component (re-usable)

* Use ChangeVault component

* Pass vaultStores in

* Icon highlight colour

* Tag-ify vault name display

* ChangeVault location

* Bothced merge, selector rendering twice

* Value can be undefined (no vault)

* Close selector on Select bug

* Fix toggle botched merge

* Update tests

* Add Vault Tags to Account Header
2017-03-03 19:50:54 +01:00
Jaco Greeff
cb118f1936 Update SelectionList indicators (#4736)
* Move selector indicators to the left

* Only display default account selection icon
2017-03-03 19:50:25 +01:00
Jaco Greeff
9b6170a37b Update testnet detection (#4746) 2017-03-03 19:49:46 +01:00
Nicolas Gotchac
ec0e8f9dd6 Add StackEventListener (#4745) 2017-03-03 19:49:36 +01:00
Robert Habermeier
bbb50caa89 initial request definitions 2017-03-03 19:25:29 +01:00
GitLab Build Bot
ead40a8b97 [ci skip] js-precompiled 20170303-140210 2017-03-03 14:07:22 +00:00
Maciej Hirsz
d297ddbfe5 Update wiki (#4743)
- Added missing `creates` field.
- Removed deprecated methods.
2017-03-03 14:55:04 +01:00
GitLab Build Bot
4024100e74 [ci skip] js-precompiled 20170303-134752 2017-03-03 13:53:17 +00:00
Jaco Greeff
6760ae0e84 Account selector close operations (#4728)
* Close when clicking anywhere on body pane

* Allow click to propagate on address click

* Rename noCopy -> allowAddressClick

* Handle i18n strings in input

* Close on pasted addresses (valid entry)

* allowAddressClick default

* Don't do onClick on AccountCard if text is selected

* Reset filter value on close for address selection

* Better close on click for AccountSelection
2017-03-03 14:38:40 +01:00
Nicolas Gotchac
5559374676 Fix Account Selection in Signer (#4744)
* Can pass FormattedMessage to Input (eg. Status // RPC Enabled)

* Simple fixed-width fix for Accoutn Selection in Parity Signer
2017-03-03 14:32:52 +01:00
GitLab Build Bot
fd19f6f449 [ci skip] js-precompiled 20170303-130222 2017-03-03 13:07:34 +00:00
Jaco Greeff
495e5790e9 Support both V1 & V2 DataChanged events in registry (#4734)
* Add info on forks.

* Add new registry ABI

* Import registry2 & fix exports

* Select ABI based on code hash

* Render new event types (owner not available)

* New registry.

* Rename old chain.

* Fix test.

* Another fix.

* Finish rename.
2017-03-03 13:33:49 +01:00
Gav Wood
3a0c4b6539 Add info on forks. (#4733) 2017-03-03 08:20:25 +01:00
keorn
810c71dd66 Merge pull request #4732 from ethcore/new-chains
Add registry addr
2017-03-03 00:16:47 +01:00
GitLab Build Bot
0432b8410c [ci skip] js-precompiled 20170302-230110 2017-03-02 23:07:35 +00:00
Jaco Greeff
b11caaf071 UI support for hardware wallets (#4539)
* Add parity_hardwareAccountsInfo

* Ledger Promise interface wrapper

* Initial hardwarestore

* Move ~/views/historyStore to ~/mobx

* split scanLedger

* test createEntry

* Also scan via parity_hardwareAccountsInfo

* Explanation for scanning options

* react-intl-inify tooltips

* add hwstore

* Listen for hw walet updates

* Return arrays from scanning

* Readability

* add u2f-api polyfill

* check response.errorCode

* Support hardware types in state.personal

* Tooltips (to be split into sep. PR)

* Tooltips support intl strings

* FormattedMessage for strings to Tooltip

* Fix TabBar tooltip display

* signLedger

* Use wallets as an object map

* PendingForm -> FormattedMessage

* Pending form doesn't render password for hardware

* Groundwork for JS API signing

* Show hardware accounts in list

* Cleanup rendering conditions

* Update RequestPending rendering tests (verification)

* Tests for extended signer middleware

* sign properly & handle response, error

* Align outputs between Parity & Ledger u2f

* Ledger returns checksummed addresses

* Update ethereum-tx for EIP155 support

* Update construction of tx

* Updates after sanity checks (thanks @tomusdrw)

* Allow display for disabled IdentityIcon

* Disabled accounts

* Disabled auto-disabling

* Password button ebaled for hardware

* Don't display password hint for hardware

* Disable non-applicable options when not connected

* Fix failing test

* Confirmation via ledger (u2f)

* Confirm on device message

* Cleanups & support checks

* Mark u2f as unsupported (until https)

* rewording

* Pass account & disabled flags

* Render attach device message

* Use isConnected for checking availability

* Show hardware accounts in defaults list

* Pass signerstore

* Update u2f to correct version

* remove debug u2f lib

* Update test (prop name change)

* Add ETC path (future work)

* new Buffer -> Buffer.from (thanks @derhuerst)
2017-03-02 23:51:56 +01:00
Gav
40526c5270 Merge remote-tracking branch 'origin/master' into new-chains 2017-03-02 23:49:24 +01:00
Gav
71d3fa8707 Add registry. 2017-03-02 23:47:56 +01:00
GitLab Build Bot
96d74543fc [ci skip] js-precompiled 20170302-204757 2017-03-02 20:52:50 +00:00
Jaco Greeff
036ef77373 s/delete/forget/ for wallets (#4729) 2017-03-02 21:40:29 +01:00
Gav Wood
2862b3c21a New chains (#4720)
* Add Kovan chain.

* Fix up --testnet.

* Fix tests.

* Fix test.

* fix test

* Fix test.
2017-03-02 20:24:27 +01:00
Arkadiy Paronyan
591eb76a93 Enable --warp by default (#4719)
* Enable --warp by default

* Disable warp if non-standard chain options are selected

* Add warnings if warp is specified

* Fixed tests
2017-03-02 20:04:17 +01:00
Gav
9c38ff3907 Merge branch 'new-chains' of github.com:ethcore/parity into new-chains 2017-03-02 19:58:10 +01:00
Gav
8ad6107f13 Fix test. 2017-03-02 19:53:15 +01:00
keorn
9ff6195f50 fix test 2017-03-02 17:46:47 +00:00
Gav
89910c0174 Fix test. 2017-03-02 16:09:30 +01:00
Gav
90562c1331 Fix tests. 2017-03-02 15:43:11 +01:00
Gav
bb3b2311bf Merge remote-tracking branch 'origin/master' into new-chains 2017-03-02 15:42:03 +01:00
GitLab Build Bot
eb37d26154 [ci skip] js-precompiled 20170302-143357 2017-03-02 14:38:43 +00:00
Jaco Greeff
7653cfd88e Fix to UglifyJS 2.8.2 to fix app build issues (#4723) 2017-03-02 15:26:07 +01:00
Gav
52cf44d71a Fix up --testnet. 2017-03-02 14:46:35 +01:00
Gav
c662d1cb0a Add Kovan chain. 2017-03-02 14:33:59 +01:00
GitLab Build Bot
5fef950503 [ci skip] js-precompiled 20170302-123938 2017-03-02 12:44:34 +00:00
Jaco Greeff
5f51fa23ea Extract i18n strings in modals/* (#4706)
* DeployContract formatting

* PasswordManager i18n

* SaveContract i18n

* Transfer i18n

* Verification i18n

* Fix spacing on label
2017-03-02 13:29:32 +01:00
Robert Habermeier
31302e057f provide uncle size where available (#4713) 2017-03-02 12:29:18 +01:00
Svyatoslav Nikolsky
cb168828a2 EC math functions (#4696)
* EC math functions

* moved math funs -> Secret methods
2017-03-02 12:27:41 +01:00
keorn
ade5a13f5b Add registrar fields (#4716)
* add registrar field

* use constructor for dev registrar

* fix test
2017-03-02 12:25:55 +01:00
Jaco Greeff
5dd406a19a Extract i18n strings in views/* (#4695)
* i18n for writecontract

* i18n for writecontract store

* wallet i18n

* wallet confirmations i18n

* wallet details i18n

* wallet transactions i18n

* status i18n

* status calls i18n

* status callstoolbar i18n

* status debug i18n

* status editableValue i18n

* status miningSettings i18n

* status rpcCalls i18n

* status rpcDocs i18n

* status status i18n

* signer i18n

* signer origin i18n

* signer signRequest i18n

* signer transactionMainDetails i18n

* sign transactionPending i18n

* signer transactionPending i18n

* Fix duplicate ids

* Typo

* Adapt tests for i18n

* Actionbar i18n

* contracts i18n

* contract i18n

* contract/queries i18n

* contract/events i18n

* application/frameError i18n

* Actionbar key naming

* addresses i18n

* address i18n

* accounts i18n (tooltip)

* Plural strings for owner numbers

* IdentityIcon placement

* Re-apply s/actiobar/actionbar/ after merge
2017-03-02 12:24:54 +01:00
Tomasz Drwięga
36468f3fc7 Removing network=disable from config files (#4715) 2017-03-02 12:23:54 +01:00
Denis S. Soldatov aka General-Beck
d436f62eb8 update gitlab-ci
docker build beta-release->latest
[ci skip]
2017-03-01 15:57:06 +04:00
Robert Habermeier
655c7ae7ae Merge pull request #4687 from ethcore/fast-migrate
Fast in-place migration for adding and removing column families
2017-02-28 17:18:36 +01:00
GitLab Build Bot
54aee9db9b [ci skip] js-precompiled 20170228-153914 2017-02-28 15:44:30 +00:00
Jaco Greeff
4534590f39 Display badges on summary view (#4689) 2017-02-28 16:31:22 +01:00
GitLab Build Bot
ea877cb91e [ci skip] js-precompiled 20170228-132909 2017-02-28 13:35:38 +00:00
Jaco Greeff
190ed76e30 Consistent file uploads (#4699)
* FileSelect component

* Use FileSelect component in Actionbar

* Convert CreateAccount/Import to FileSelect
2017-02-28 14:24:12 +01:00
Jaco Greeff
88449671a1 Rename https://mkr.market -> https://oasisdex.com (#4701) 2017-02-28 14:21:19 +01:00
Jaco Greeff
ab98ec3bf7 Stop onClick propagation after click (#4700) 2017-02-28 14:20:43 +01:00
Jaco Greeff
1b8a47fa4a Display ... for address summary overflows (#4691) 2017-02-28 14:15:48 +01:00
GitLab Build Bot
689fe9c689 [ci skip] js-precompiled 20170227-213540 2017-02-27 21:40:33 +00:00
Jaco Greeff
5e480e9fc0 Less agressive grayscale/opacity (#4688) 2017-02-27 22:28:21 +01:00
Robert Habermeier
b487f00173 address rightward drift 2017-02-27 19:05:02 +01:00
Robert Habermeier
da3c13f0a2 split adding and dropping columns tests 2017-02-27 18:57:22 +01:00
Denis S. Soldatov aka General-Beck
b13a446d82 update docker-build
fix path
2017-02-27 01:14:23 +04:00
Denis S. Soldatov aka General-Beck
2f15c75fa2 update gitlab-ci
fix path to Dockerfile
[ci skip]
2017-02-27 01:13:27 +04:00
Robert Habermeier
868624c6a9 return correct path for in-place migration 2017-02-26 19:30:54 +01:00
Robert Habermeier
ac82a838b8 test case and handle in-place migration correctly 2017-02-26 19:22:51 +01:00
Robert Habermeier
ed0a2567d8 docs 2017-02-26 19:11:19 +01:00
Robert Habermeier
c2c699abb9 change migration to v11 to be faster 2017-02-26 18:41:40 +01:00
Robert Habermeier
3cc007b4d6 add and remove column families dynamically 2017-02-26 18:29:35 +01:00
Robert Habermeier
af235e564e proved execution future 2017-02-26 15:05:33 +01:00
Robert Habermeier
1ff0abc661 Merge branch 'master' into remote-tx-exec 2017-02-26 13:55:29 +01:00
Robert Habermeier
645011427a most of proved_execution rpc 2017-02-26 13:48:56 +01:00
Robert Habermeier
1bf2b27708 Propagate trie errors upwards from State (#4655)
* state backend trait mirroring state_db API

* minimal state backend trait

make state module public

* fix json tests

* return errors on database corruption

* fix tests, json tests

* fix remainder of build

* add Backend bound on state
2017-02-26 13:10:50 +01:00
Robert Habermeier
69e82e15a3 request transaction proofs from on_demand 2017-02-25 20:10:38 +01:00
Robert Habermeier
7c541117b3 fix call bug 2017-02-25 19:01:41 +01:00
Robert Habermeier
eb9ee35d6c Merge pull request #4632 from ethcore/state-backend
Generic state backend
2017-02-25 16:22:42 +01:00
Robert Habermeier
4cf62e816e Merge branch 'state-backend' into remote-tx-exec 2017-02-25 14:31:27 +01:00
Robert Habermeier
7863d1e978 add Backend bound on state 2017-02-25 14:28:26 +01:00
Robert Habermeier
2b671b8476 test for transaction proof message 2017-02-25 12:43:43 +01:00
Robert Habermeier
32f906fe9f transaction proof test 2017-02-25 11:54:32 +01:00
Robert Habermeier
4158693470 network messages for transaction proof 2017-02-25 11:07:38 +01:00
Robert Habermeier
92e5982127 generate transaction proofs from provider 2017-02-25 00:27:48 +01:00
Denis S. Soldatov aka General-Beck
714b46dfef update gitlab-ci
add triggers to docker-build
2017-02-24 23:54:41 +04:00
Robert Habermeier
ee7779df17 proving state backend 2017-02-24 20:16:32 +01:00
Denis S. Soldatov aka General-Beck
bef33a0958 update gitlab-ci
[ci skip] fix `docker-build`
2017-02-24 22:00:08 +04:00
GitLab Build Bot
8bee714452 [ci skip] js-precompiled 20170224-171258 2017-02-24 17:18:20 +00:00
Jaco Greeff
609e24ef04 Enhance dialog layouts (round 1) (#4637)
* Added SelectionList component for selections

* Use SelectionList in DappPermisions

* AddDapps uses SelectionList

* Fix AccountCard to consistent height

* Display type icons in creation dialog

* Complimentary colours

* Convert Signer defaults to SelectionList

* Fix Geth import - actually pass addresses through

* Work from addresses returned via RPC

* Display actual addresses imported (not selected)

* Update tests to cover bug fixed

* Prettyfy Geth import

* Description on selection actions

* SelectionList as entry point

* Update failing tests

* Subtle selection border

* Styling updates for account details

* Add ModalBox summary

* AddAddress updated

* Convert VaultAccounts to SelectionList

* Add tests for SectionList component

* Add tests for ModalBox component

* Re-apply stretch fix

* Apply scroll fixes from lates commit in #4621

* Clear name on switch (test in #4652, not pulling in)

* Remove refs (cleanup)
2017-02-24 18:05:39 +01:00
Jaco Greeff
570e6f32b0 Vault Management UI (round 2) (#4631)
* Add VaultMeta edit dialog

* Updated (WIP)

* Meta & password edit completed

* Added SelectionList component for selections

* Use SelectionList in DappPermisions

* AddDapps uses SelectionList

* Fix AccountCard to consistent height

* Convert Signer defaults to SelectionList

* Subtle selection border

* Display account vault information

* Allow invalid addresses to display icons (e.g. vaults)

* Display vault on edit meta

* Convert VaultAccounts to SelectionList

* Allow editing of Vault in meta

* Add tests for SectionList component

* Add tests for VaultSelector component

* Auto-focus description field (aligns with #4657)

* Apply scroll fixes from lates commit in #4621

* Remove unneeded logs

* Remove extra div, fixing ParityBar overflow

* Disable save if password don't match

* s/disabled/readOnly/

* string -> bool
2017-02-24 18:05:04 +01:00
Nicolas Gotchac
9ff427caaf Fix Portal broad event stopper (#4674) 2017-02-24 18:04:26 +01:00
keorn
7a773b42bf custom dev presets (#4671) 2017-02-24 17:36:52 +01:00
Arkadiy Paronyan
ef7998f473 Max gas limit and min gas price (#4661)
* Max gas limit and min gas price

* Tests

* Limit gas limit ceiling
2017-02-24 17:34:32 +01:00
GitLab Build Bot
af45d05aee [ci skip] js-precompiled 20170224-142855 2017-02-24 14:33:38 +00:00
Jaco Greeff
f670b180d7 Align list displays with SectionList (UI consistency) (#4621)
* Render Dapps via SectionList

* Initial rendering of accounts via SectionList

* Width vars

* Allow classNames in certifications & tags

* Overlay of info on hover

* Adjust hover balances

* Large owner icons (align with vaults)

* Consistent block mined at message

* Attach ParityBackground to html

* Adjust page padding to align

* Lint fixes

* Link to different types of addresses

* Make content parts clickable only (a within a)

* Force Chrome hardware acceleration

* Trust the vendors... don't go crazy with transform :)

* Use faster & default transitions

* Remove extra container (double scrolling)

* Remove unused container style

* Make dapp iframe background white

* Stop event propgation on tag click
2017-02-24 15:21:36 +01:00
GitLab Build Bot
afecf5b148 [ci skip] js-precompiled 20170224-134503 2017-02-24 13:50:10 +00:00
Jaco Greeff
a6ed3dc5dc Add SelectionList component to DRY up (#4639)
* Added SelectionList component for selections

* Use SelectionList in DappPermisions

* AddDapps uses SelectionList

* Fix AccountCard to consistent height

* Convert Signer defaults to SelectionList

* Subtle selection border

* Convert VaultAccounts to SelectionList

* Add tests for SectionList component

* Apply scroll fixes from lates commit in #4621

* Remove unneeded logs

* Remove extra div, fixing ParityBar overflow
2017-02-24 14:37:56 +01:00
GitLab Build Bot
5817cfdf41 [ci skip] js-precompiled 20170224-115159 2017-02-24 11:58:15 +00:00
Jaco Greeff
38cf7d2639 Linting updates (#4662) 2017-02-24 12:44:38 +01:00
Jaco Greeff
0b214450e3 Misc. small UI fixes (#4657)
* Shorten menu items (accounts)

* Shorten menu items (addresses)

* Shorten menu items (contracts)

* Shorten menu items (account)

* Shorten menu items (address)

* Shorten menu items (contract)

* Auto-focus & perform default action

* Auto-focus & default action

* Auto focus for first fields (create account)

* Clear phrase & auto-focus field

* Auto-focus name fields

* Add autoFocus (Add Address)

* autoFocus address (Add Contract)

* Auto focus name field

* Auto-focus name field for EditMeta

* Auto-focus modifications (WalletSettings)

* Verification auto focus

* typo

* Double-up on keys
2017-02-24 12:26:30 +01:00
Maciej Hirsz
f97e775498 More CLI settings for IPFS API (#4608)
* TEMP: Bind to 0.0.0.0, don't check Origin

* More CLI options for IPFS

* CORS and Hosts filtering

* Allow current interface as origin

* Correctly handle CORS settings

* fix grumbles
2017-02-24 10:32:42 +01:00
keorn
9b5bcb81fd Fix Tendermint deadlock (#4654)
* scope read

* consistent step
2017-02-24 10:26:56 +01:00
Bas
56d0ad869a nl translations (#4649)
* translation stings copied from _default to nl

* First batch of nl translations

* Second batch of nl translations

* Syntax fix

* include new nl translation files to index
2017-02-24 10:25:28 +01:00
GitLab Build Bot
c7b3b9a565 [ci skip] js-precompiled 20170224-084932 2017-02-24 08:54:34 +00:00
Jaco Greeff
92fa4249d3 Update condition documentation (Thanks @arkpar) (#4659) 2017-02-24 09:40:38 +01:00
Tomasz Drwięga
daf36739ce Bump hyper versions (#4645) 2017-02-24 09:22:29 +01:00
Gav Wood
76ade2fc2d Sane updater (#4658)
* Make updater avoid downloading earlier versions.

* Disable if files can't be moved.
2017-02-24 01:06:35 +01:00
Robert Habermeier
ddbdfafc05 buffer flow -> request credits 2017-02-23 23:10:29 +01:00
Robert Habermeier
3f78c945d7 Merge pull request #4594 from ethcore/lightrpc
Remainder of RPC APIs implemented for the light client
2017-02-23 19:58:27 +01:00
Robert Habermeier
f169c8dbb0 fix remainder of build 2017-02-23 19:26:20 +01:00
Svyatoslav Nikolsky
88cdc92ed4 preserve vault meta when changing pwd (#4650) 2017-02-23 19:01:12 +01:00
Robert Habermeier
91753c53cd fix tests, json tests 2017-02-23 18:41:01 +01:00
Robert Habermeier
3655601693 return errors on database corruption 2017-02-23 17:40:03 +01:00
GitLab Build Bot
496a6dcfa0 [ci skip] js-precompiled 20170223-141355 2017-02-23 14:21:06 +00:00
Jaco Greeff
3651095651 Fix Geth account import (#4641)
* Fix Geth import - actually pass addresses through

* Work from addresses returned via RPC

* Display actual addresses imported (not selected)

* Update tests to cover bug fixed
2017-02-23 15:04:58 +01:00
Denis S. Soldatov aka General-Beck
e60fa751eb [ci skip] 2017-02-23 03:36:03 +04:00
Denis S. Soldatov aka General-Beck
5c57b42259 [ci skip] 2017-02-23 03:31:43 +04:00
Gav Wood
3182540d9f Tweak some checks. (#4633)
* Tweak some checks.

* Fixed build and added a difficulty test
2017-02-22 18:24:22 +01:00
GitLab Build Bot
f3b5e2074b [ci skip] js-precompiled 20170222-165052 2017-02-22 16:55:55 +00:00
Jannis Redmann
94fa2db986 attempt to fix subscribeToEvents test (#4638) 2017-02-22 17:44:11 +01:00
GitLab Build Bot
cb3c6b1bec [ci skip] js-precompiled 20170222-150433 2017-02-22 15:09:15 +00:00
Jaco Greeff
e66d54910a Fix selection value from RadioButtons (#4636)
* Fix selection value from RadioButtons

* Fix outdated test
2017-02-22 15:57:21 +01:00
GitLab Build Bot
3df1adc3f5 [ci skip] js-precompiled 20170222-143551 2017-02-22 14:40:40 +00:00
Jaco Greeff
6938a7a202 Convert all remaining Modals to use Portal (UI consistency) (#4625)
* FirstRun dialog -> Portal

* CreateAccount Modal -> Portal

* CreateWallet dialog -> Portal

* Transfer dialog -> Portal

* Fix failing tests

* ShapeShift dialog -> Portal

* Verification dialog -> Portal

* EditMeta dialog -> Portal

* PasswordManager dialog -> Portal

* WalletSettings dialog -> Portal

* AddAddress dialog -> Portal

* s/delete address/forget address/

* AddContract dialog -> Portal

* DeployContract dialog -> Portal

* ExceuteContract dialog -> Portal

* LoadContract dialog -> Portal

* SaveContract dialog -> Portal

* UpgradeParity dialog -> Portal

* Convert inline modals (tsk, tsk)

* Remove ui/Modal

* Import dialog i18n

* Button array returns (thanks @derhuerst)

* Unneeded debug

* Typo

* Readability formatting
2017-02-22 15:26:58 +01:00
GitLab Build Bot
49675483c3 [ci skip] js-precompiled 20170222-095134 2017-02-22 09:56:05 +00:00
Robert Habermeier
636b2deb2e fix json tests 2017-02-22 10:52:58 +01:00
Jaco Greeff
5337bf6413 Default account selection update (#4609)
* Default accounts setting - account provider

* RPC support for default accounts

* Updating JS code

* Rename whitelist to addresses

* Set the defaults using default, allowing for null/full lists

* Update failing tests (after merge)

* Fix merge with wrong rpc call names

* One account needs to be selected
2017-02-22 10:43:02 +01:00
Jaco Greeff
0a85fc7a3e Display ETH balance in overlay account selector (#4588)
* Add account balance display from ParityBar

* Ellipsis with title

* Balance display in Dapp permissions

* Add balance to vault account selector

* Add key prop to accounts in Vault

* Fix failing test (missing redux prop)
2017-02-22 10:42:42 +01:00
Robert Habermeier
fba4bda0ff Merge pull request #4627 from raingloom/patch-1
fixed minor grammar mistake in readme
2017-02-22 08:56:14 +01:00
Rain Gloom
df414c8186 fixed minor grammar mistake in readme 2017-02-21 18:08:47 +01:00
Denis S. Soldatov aka General-Beck
502af0e29b [ci skip] update gitlab-ci
fix path to `tools`
add `tools` in `linux-stable-debian`
2017-02-21 16:42:18 +04:00
GitLab Build Bot
80155ef93a [ci skip] js-precompiled 20170221-120741 2017-02-21 12:12:14 +00:00
Jaco Greeff
61e3d036d9 Extract new available i18n strings (#4623) 2017-02-21 12:59:36 +01:00
Robert Habermeier
1fba73c15e minimal state backend trait
make state module public
2017-02-21 12:35:21 +01:00
Robert Habermeier
ac9716a5ce state backend trait mirroring state_db API 2017-02-21 11:13:02 +01:00
Robert Habermeier
d8b1cfe082 Merge branch 'master' into lightrpc 2017-02-20 18:01:29 +01:00
Robert Habermeier
62b340f2b9 Save pending local transactions in the database (#4566)
* Create new column family for local node info

* remove DBTransaction::new reliance on DB

* KeyValueDB trait

* InMemory KeyValueDB implementation

* journaldb generic over KVDB

* make most of `ethcore` generic over KVDB

* fix json tests compilation

* get all tests compiling

* implement local store (just for transactions)

* finish local store API, test

* put everything into place

* better test for skipping bad transactions

* fix warning

* update local store every 15 minutes

* remove superfluous `{}`s
2017-02-20 17:21:55 +01:00
GitLab Build Bot
00351374e4 [ci skip] js-precompiled 20170220-160616 2017-02-20 16:12:01 +00:00
Maciej Hirsz
0af2fb2a48 Merge pull request #4614 from ethcore/mh-bump-cid
Bump CID version to allow compilation on all platforms
2017-02-20 16:44:11 +01:00
maciejhirsz
649cedd818 Updated Cargo.lock 2017-02-20 16:42:09 +01:00
Jaco Greeff
9e210e5eda Vault Management UI (first round) (#4446)
* Add RPCs for parity_vault (create, open, list, etc.)

* WIP

* WIP

* WIP

* WIP (create should create)

* Create & close working

* WIP

* WIP

* WIP

* Open & Close now working

* WIP

* WIP

* Merge relevant changes from js-home

* Hover actions

* WIP (start of account assignment)

* Open, Close & Account assignment works

* Fix margins

* UI updates

* Update tests

* Add the parity_{get|set}VaultMeta calls

* Handle metadata

* Adjust padding in Open/Close modals

* moveAccounts take both in and out

* Adjust padding

* Fix stretch

* Optimize hover stretch

* pre-merge

* Cleanup variable naming (duplication)

* Rename Vault{Close,Open} -> Vault{Lock,Unlock}

* clearVaultFields uses setters

* TODO for small Portal sizes

* Vaults rendering tests

* .only

* libusb compile

* VaultCard rendering tests

* Update message keys (rename gone rouge)

* Display passwordHint op vault unlock

* Update failing tests

* Manually dispatch allAccountsInfo when move completed

* Open/Close always shows vault image in colour

* Password submit submits modal (PR comment)

* Add link to account
2017-02-20 16:40:01 +01:00
keorn
ac6180a6fe seals_internally (#4613) 2017-02-20 16:35:53 +01:00
Jaco Greeff
44769fcd4a Show only known accounts/wallets/addresses on Home (#4612)
* Don't render unknown entries

* Only render non-null items

* Remove (now) invalid failing test
2017-02-20 16:34:38 +01:00
maciejhirsz
348559491a Bump CID version to allow compilation on all platforms 2017-02-20 16:34:16 +01:00
Tomasz Drwięga
72998d3ce3 Proper default accounts RPCs (#4580)
* Default accounts setting - account provider

* RPC support for default accounts

* Updating JS code

* Rename whitelist to addresses
2017-02-20 16:33:12 +01:00
Tomasz Drwięga
1949d44d0c Hash-fetch errors in case upstream returns non-200 (#4599) 2017-02-20 16:30:14 +01:00
Arkadiy Paronyan
0aad8a87ae Added pending transaction info to eth_getTransactionByHash (#4570)
* Return condition info for pending transactions

* Fixed warnings
2017-02-20 16:19:43 +01:00
Svyatoslav Nikolsky
b9665c7cfe Secret store - initial version (#4567)
* initial secret store commit

* various fixes

* license

* (sstore, secstore) -> secretstore

* marked KeyServer trait as IPC-ready

* fixed style

* ignore requests with Origin header

* fixed tests

* fixed Origin header check
2017-02-20 16:13:21 +01:00
Denis S. Soldatov aka General-Beck
68a25d9e14 fix path to tools 2017-02-20 17:16:11 +04:00
GitLab Build Bot
31f5a1d205 [ci skip] js-precompiled 20170220-124210 2017-02-20 12:48:32 +00:00
Jaco Greeff
3fc29b9ae4 Handle invalid ABI retrieved from address_book gracefully (#4606)
* Handle invalid ABI gracefully

* Also include failed abi in log
2017-02-20 13:34:33 +01:00
Denis S. Soldatov aka General-Beck
e86837b878 target evmbin -> evm 2017-02-20 15:25:53 +04:00
Robert Habermeier
998cb0d209 Merge pull request #4583 from ethcore/sstore-opt
Optimize key directory reloads
2017-02-17 22:27:07 +01:00
Robert Habermeier
4de208786d trace API stubs 2017-02-17 22:21:43 +01:00
Robert Habermeier
9e761ba2ea ParitySet stubs 2017-02-17 21:45:06 +01:00
Robert Habermeier
9316eb4ad3 (most of) parity RPC for light client 2017-02-17 21:38:43 +01:00
Denis S. Soldatov aka General-Beck
32023f1ea0 fix build path to tools 2017-02-17 23:33:14 +04:00
Denis S. Soldatov aka General-Beck
163e2af568 update Dockerfile for hub
nightly->latest
2017-02-17 22:11:35 +04:00
GitLab Build Bot
8c9c6744fc [ci skip] js-precompiled 20170217-171830 2017-02-17 17:24:47 +00:00
Nicolas Gotchac
04f3ee90d8 Revert Double Click (#4590) 2017-02-17 18:11:10 +01:00
Robert Habermeier
39237e9d15 Merge pull request #4545 from ethcore/mh-ipfs
IPFS MVP
2017-02-17 17:19:56 +01:00
Robert Habermeier
3b023c82b7 fetch gas price corpus from network when needed 2017-02-17 17:08:46 +01:00
Robert Habermeier
7a857a24ae use new histogram/corpus 2017-02-17 16:18:31 +01:00
Denis S. Soldatov aka General-Beck
a3bbdce613 update Dockerfile for hub
refactoring + small fix
2017-02-17 19:03:40 +04:00
Robert Habermeier
59315b0cb7 stats utility in its own crate 2017-02-17 15:16:28 +01:00
Denis S. Soldatov aka General-Beck
b35e852cb6 cargo fix 2017-02-17 15:46:43 +04:00
Arkadiy Paronyan
c2540dc215 Check for matching session before deregistering (#4563) 2017-02-17 12:20:25 +01:00
Robert Habermeier
54c48d14ec Deprecate eth_compile* RPCs (#4577)
* Deprecate eth_compile* RPCs

* Add deprecation doc comments
2017-02-17 12:00:33 +01:00
Denis S. Soldatov aka General-Beck
aca808b021 update Dockerfile
ENTRYPOINT ["/parity/parity"]
2017-02-17 13:48:37 +04:00
Denis S. Soldatov aka General-Beck
164f1cef81 remove git pul from hub Docker
[ci-skip]
2017-02-17 03:56:09 +04:00
NikVolf
92d8edc1a6 unique_repr, no default impl 2017-02-16 23:04:39 +03:00
NikVolf
444065e294 refactor hashing 2017-02-16 22:53:58 +03:00
Robert Habermeier
48cf591e66 integrate cache in on-demand 2017-02-16 20:46:59 +01:00
NikVolf
513cc6261a plug to store 2017-02-16 22:10:29 +03:00
Denis S. Soldatov aka General-Beck
a9cc9ce140 docker build no-cache
[ci-skip]
2017-02-16 22:58:41 +04:00
maciejhirsz
da696e4a1f Added support for contract code by hash.
This is done by requests sending CID with raw binary codec (0x55).
Note: this functionality is exactly the same as fetching state-trie
due to how db internals work in Parity atm.
2017-02-16 18:39:13 +01:00
Robert Habermeier
3b9741e9d8 Implement the basic data cache 2017-02-16 18:07:28 +01:00
GitLab Build Bot
062c55d51b [ci skip] js-precompiled 20170216-165434 2017-02-16 17:06:15 +00:00
Arkadiy Paronyan
301a707eaa Ledger signing fixed (#4578) 2017-02-16 17:45:12 +01:00
Jannis Redmann
7d890c0687 remove vertx from Webpack config (#4576) 2017-02-16 17:43:27 +01:00
Nicolas Gotchac
b825c8e074 Better display of tags (#4564)
* WIP

* Update accounts on whitelist change in Parity Bar

* Fix AccountCard width in Parity Bar (Signer)

* Added AccountCard Example

* Use horizontal tags

* Better Tags display

* Scrollable tags

* Update PR Grumbles

* Fix tests (add tags)

* PR Grumble
2017-02-16 17:42:19 +01:00
Svyatoslav Nikolsky
00c843afea Added vaults support to ethstore-cli (#4532)
* added vaults support to ethstore-cli

* improved error message
2017-02-16 17:42:01 +01:00
Denis S. Soldatov aka General-Beck
aa83603af8 typo fix in Dockerfile 2017-02-16 20:04:28 +04:00
Denis S. Soldatov aka General-Beck
4cd4572417 add tag ENV in Dockerfile 2017-02-16 20:03:13 +04:00
GitLab Build Bot
5bd1cf352b [ci skip] js-precompiled 20170216-154550 2017-02-16 15:50:43 +00:00
NikVolf
43ce5bef7e file list hash and test 2017-02-16 18:47:58 +03:00
Arkadiy Paronyan
f2027c02ef Fixed fonts URLs (#4579) 2017-02-16 16:37:40 +01:00
NikVolf
d4149b965e files list separate fn, sha3 of the list 2017-02-16 18:20:24 +03:00
Robert Habermeier
2b91c922c1 get signing network ID for light client 2017-02-16 16:08:58 +01:00
maciejhirsz
8d6275bf07 Only allow requests from Origin 127.0.0.1 2017-02-16 16:08:54 +01:00
maciejhirsz
c4b4a22203 Rename parity-ipfs to parity-ipfs-api 2017-02-16 14:51:33 +01:00
maciejhirsz
ad8e3f0230 Added CLI flags 2017-02-16 14:41:33 +01:00
GitLab Build Bot
39d4e46073 [ci skip] js-precompiled 20170216-125519 2017-02-16 12:59:57 +00:00
Jaco Greeff
c14ecefa1d Explicitly set seconds to 0 from selector (#4559)
* Explicitly set seconds/milli to 0

* Use condition time & block setters consistently

* Fix failing test

* test for 0 ms & sec

* It cannot hurt, clone date before setting

* Prettier date test constants (OCD)
2017-02-16 13:47:51 +01:00
maciejhirsz
451cf42452 Adding CLI flags for IPFS 2017-02-15 20:29:29 +01:00
maciejhirsz
9cfa27830c Write output as chunks 2017-02-15 19:25:57 +01:00
Denis S. Soldatov aka General-Beck
c808954413 clean Docker
[ci-skip]
2017-02-15 21:40:23 +04:00
Denis S. Soldatov aka General-Beck
34d8498a2c clean Docker
remove RUST tools from Docker
[ci-ckip]
2017-02-15 21:37:23 +04:00
maciejhirsz
d005410e1a No .expect on mime types 2017-02-15 18:26:35 +01:00
Denis S. Soldatov aka General-Beck
ff2c4d1178 add tools
add `evmbin`, `ethstore`, `ethkey` to the CI
2017-02-15 21:14:07 +04:00
maciejhirsz
eb327338e8 Tests and grumbles 2017-02-15 18:07:30 +01:00
Denis S. Soldatov aka General-Beck
06937be74b add libudev-dev in deb
[ci-skip]
2017-02-15 20:09:47 +04:00
Tomasz Drwięga
efb95a59be Fixing evmbin compilation and added standard build. (#4561) 2017-02-15 16:58:42 +01:00
Tomasz Drwięga
895298fc49 Alias for personal_sendTransaction (#4554) 2017-02-15 16:57:27 +01:00
Nikolay Volf
494a0de1e2 Key derivation in ethstore & rpc (#4515)
* initial in secret store

* generation

* test

* refactor of the derivation

* signing

* account provider

* tests for account provider

* rpc types

* rpc types converts

* rpc tests

* fix warnings

* some extra docs

* derivate -> derive

* secret() -> as_raw()

* secret() -> as_raw() in rpc

* fix merge bug

* align with new serde changes
2017-02-15 16:56:15 +01:00
GitLab Build Bot
4889cff310 [ci skip] js-precompiled 20170215-135145 2017-02-15 13:56:12 +00:00
Nicolas Gotchac
0d289c7732 Skip OOG check for simple transfers (#4550) (#4558) 2017-02-15 14:44:14 +01:00
Robert Habermeier
36ea5550ba Merge pull request #4501 from ethcore/light-txq
Light Client transaction queue, initial LightDispatcher
2017-02-15 14:06:31 +01:00
GitLab Build Bot
b38a874b18 [ci skip] js-precompiled 20170215-124941 2017-02-15 12:54:04 +00:00
Nicolas Gotchac
4bae2c751c Fixes BadgeReg Middleware (#4547) (#4556) 2017-02-15 13:42:55 +01:00
Nicolas Gotchac
8aaa18d75d Fix pasting of value in Input fields (#4555)
* Fix logging and logger issues

* onPaste submit value + pasted text (#4553)
2017-02-15 13:37:58 +01:00
GitLab Build Bot
3218c365e9 [ci skip] js-precompiled 20170215-110429 2017-02-15 11:08:57 +00:00
Jaco Greeff
efe76d7004 Tooltips with react-intl (#4549)
* Tooltips support intl strings

* FormattedMessage for strings to Tooltip

* Fix TabBar tooltip display

* r after o (PR comment)
2017-02-15 11:56:51 +01:00
GitLab Build Bot
812017f9b3 [ci skip] js-precompiled 20170214-215513 2017-02-14 22:00:39 +00:00
Nicolas Gotchac
ac27806a43 Close on double-click for Signer Account selection (#4540)
* Close on double-click + Optimistic UX (#4525)

* PR Gumble + Tests
2017-02-14 22:47:34 +01:00
Tomasz Drwięga
5369a129ae Signer provenance (#4477)
* Signer - Tracking Request Provenance

* Basic UI

* Changing messages

* VecDeque::from

* Fix dapps tests

* Addressing UI grumbles
2017-02-14 22:45:43 +01:00
Tomasz Drwięga
d925cc05da Fix console dapp (#4544)
* Fixing linting issues. Better support for console as secure app

* Fixing linting issues
2017-02-14 22:45:29 +01:00
maciejhirsz
2ee2d2ea45 Added missing GPL header 2017-02-14 20:03:25 +01:00
maciejhirsz
9256aa766b Lock file 2017-02-14 19:58:46 +01:00
maciejhirsz
3c634701dd Squashed 2017-02-14 19:30:37 +01:00
Robert Habermeier
e591b4481b warning on detected inconsistency 2017-02-14 19:16:46 +01:00
GitLab Build Bot
e9eed5206e [ci skip] js-precompiled 20170214-123602 2017-02-14 12:41:22 +00:00
Jaco Greeff
71c0cc867a Extract i18n string into i18n/_defaults (base of translations) (#4514)
* Build script to pull i18n into i18n/_default

* Fix header

* Current strings as extracted

* details_windows without prefix

* clean before build

* Alwasy extract babel strings

* clean & run build before extraction

* Update settings messages

* Put back template string (PR comment)

* PR comment cleanups & logging

* Less complicated string type check (PR comment)

* Remove node cache to extract all keys (Thanks @ngotchac)

* Merge in defaults from i18n/en (Comment by @h3ll0fr13nd)

* Unique index keys only

* Update with latest master strings

* _.defaultsDeep (Thanks to @dehurst)

* Use to-source for string formatting

* Sync with toSource output on latest master

* Updated to use/output sorted objects
2017-02-14 13:16:39 +01:00
Denis S. Soldatov aka General-Beck
7d12e383b2 windows build
switch to RUST stable
2017-02-14 16:09:19 +04:00
Nicolas Gotchac
e8597e2e91 Fix contract queries bug (#4534)
* Fix contract queries and multiple Address Selector issues

* Linting

* Use standard new Error
2017-02-14 13:08:38 +01:00
Robert Habermeier
1d9db578ff ready transactions order documentation 2017-02-14 12:14:02 +01:00
Robert Habermeier
63ad8cb086 store pending transactions only once 2017-02-14 12:12:26 +01:00
Robert Habermeier
e911fc2db9 address grumbles 2017-02-14 12:05:24 +01:00
GitLab Build Bot
fefd53d4f4 [ci skip] js-precompiled 20170214-101112 2017-02-14 10:15:36 +00:00
Tomasz Drwięga
bccd0991f6 Fixing namespace of couple methods in console. (#4538) 2017-02-14 13:03:23 +03:00
GitLab Build Bot
dd0ef6b5ec [ci skip] js-precompiled 20170214-073623 2017-02-14 07:40:43 +00:00
Jaco Greeff
63d2cfcbfc Home landing page (#4178)
* Home entry point (basics)

* WIP store for web

* Add DappUrlInput component

* Updated tests

* WIP store update

* Adjust styling

* Add home tab

* Collapse first/last without extra divs

* Navigation actually navigates

* styling

* Encoding of ethlink.io URLs

* encodedUrl setup

* base58 encoded URLs

* Added decoding, updated tests to Parity-compliant

* Base32 (synced with Rust implementation via tests)

* Split URL into 63 character chunks

* Fix store test

* Cleanups

* s/ethlink/dapplink/

* Display app navigation & histroy

* Start on /accounts (for now, until expanded fully)

* Update tests

* ethlink.io -> web3.site

* Basic list layout

* Store history on navigation

* Show Accounts & Dapps

* Add skeleton for DappIcon (WIP)

* DappIcon WIP

* DappIcon in place

* Split into maneable sub-components

* WIP

* Tests for views/Home

* Swap default entry-point to /home

* Expose registry.get via lookupMeta

* Add getEntry interface, fix instance retrieval (with tests)

* Add news display component

* Add tests for added contracts/registry methods

* Fix GHH test refactoring

* render news via SectionList

* News items store directly

* Images

* News & Urls has new layout

* Convert remainder

* First run-through of MVP for SectionList

* Update tests

* Deploycontract should not override global p styles

* Allow styles overrides for head & body

* Adjust layout styling

* revert Container>flex

* Adjust sizes of history items

* Cleanups

* HistoryStore for tracking relevant routes

* Default route is still /accounts

* Fix tests

* Update 2015-2017

* Add lookupMeta & tests

* Add getEntry & tests

* Split Dapp icon into ui/DappIcon

* Update copyright dates

* Encoding for *.web3.site urls

* Dapp history retrieval

* Grow to only 40% on hover

* Update description

* Add DappUrlInput component

* Update Web views with store

* Update spec description

* Update spec description

* edited url does not allow in-place store edits

* Use /web/<hash> urls for iframe

* Removed (now) unused _list.css

* Mistamtched merge fixed

* Tab split (WIP)

* Split Tab component

* Update tests after merge

* typo

* Remove background !important

* Set item width to parent

* Set width, remove overflow-x: hidden

* Align hover overlays

* Container defaults to some opacity

* Display history from listRecentDapps

* Override styles for a tags

* Open URLs in new window when extension is available

* Fix tests after update

* AccountCard width 100%

* Re-add opening correct url in tab

* Cleanup link rendering

* Remove hardcoded news URL

* pre-merge

* Extra padding at Home bottom (Pr grumble)

* Match js-vaults stretch

* s/Web Apps via URL/Web Apps/ (PR grumble)

* Store recent wallets (PR grumble)

* Simplify inline style matching (PR comment)

* Add store for new retrieval

* Add missing observer

* Auto-link based on account type

* Fix UI overlaps

* Extra spacing

* Only show account when accountInfo is available

* Align timestamp line-heights

* Fix tests

* Update tests

* Really fix failing test (check for Connect(Account))
2017-02-14 08:29:32 +01:00
Nikolay Volf
78917d728d Bump JSON RPC crates versions (#4530)
* json rpc bump

* some error message deviations
2017-02-13 21:34:16 +03:00
Robert Habermeier
443e8d2aed Merge pull request #4531 from ethcore/bump-readme
Update rust version in README
2017-02-13 17:44:42 +01:00
Nikolay Volf
83a8ceb09b Update rust version in readme [ci skip] 2017-02-13 19:39:46 +03:00
Robert Habermeier
073ed1a87c lower default pruning history and memory (#4528)
--pruning-history: 1200 -> 64
--pruning-memory: 150 -> 75
2017-02-13 17:15:25 +01:00
Robert Habermeier
4f1afccf97 best_block_header function 2017-02-13 16:51:40 +01:00
Tomasz Drwięga
f1e99ea2e4 Serde 0.9 (#4508)
* Porting json

* Dapps

* Rpc & Ethstore

* New ethabi

* Last bunch of fixes

* Fixing last test

* Removing build script

* Adding ethcore-ipc-tests back

* Fixing grumbles

* Fixing blockchain tests (inference regression?)
2017-02-13 18:38:47 +03:00
GitLab Build Bot
a2c6cd8f7b [ci skip] js-precompiled 20170213-125552 2017-02-13 13:00:14 +00:00
Nicolas Gotchac
b561ae7b12 Fixes to Token Deploy dapp (#4513)
* Renaming Basiccoin => Tokendeploy

* Rename Basiccoin => Tokendeploy

* UI and bug fixes to the TokenDeploy dapp

* Use decimals for Token Deployment #4311

* Typo

* PR Gumbles
2017-02-13 13:47:11 +01:00
Arkadiy Paronyan
1fa830d19b Fixed receipt decoding (#4521) 2017-02-13 12:14:05 +03:00
Denis S. Soldatov aka General-Beck
5f154b9f4b update Dockerfile
add libudev-dev
2017-02-11 20:48:45 +04:00
GitLab Build Bot
88b91b7e13 [ci skip] js-precompiled 20170210-173450 2017-02-10 17:39:23 +00:00
Nicolas Gotchac
ace5c27211 Several fixes to the Wallet in general (#4504)
* Fix address non-ellipsis on Wallet view

* Add warning if daily limit has been reached

* Add OOG warnings to TxHash

* Fixes to the Warning

* Added stringified version of the changes

* Add wallet link for notifications

* Fix tests

* Use Formatted Messages

* React Intl

* s/ui.walletSettings/walletSettings in React Intl
2017-02-10 18:27:18 +01:00
Nicolas Gotchac
da2e28dad1 Use the current contract name for Solidity compilation (#4510) 2017-02-10 18:26:52 +01:00
Robert Habermeier
c7d83bd88a Merge branch 'master' into light-txq 2017-02-10 17:21:38 +01:00
Robert Habermeier
48ae38eaf9 Merge pull request #4485 from ethcore/lightrpc
Preparation for Light client RPC
2017-02-10 17:15:03 +01:00
GitLab Build Bot
51f74f8d80 [ci skip] js-precompiled 20170210-135944 2017-02-10 14:04:00 +00:00
Bas
325cd0ec0b Fix Dutch translation (#4509)
After compiling + running the recently added Dutch translation I found it didn't work as I had forgotten to add nl to store.js. Now it is working.
2017-02-10 14:52:36 +01:00
Robert Habermeier
2c43b02e13 Merge branch 'lightrpc' into light-txq 2017-02-10 14:31:17 +01:00
Robert Habermeier
b8881215f1 Merge branch 'master' into lightrpc 2017-02-10 13:47:27 +01:00
Arkadiy Paronyan
8fd694ea47 Fixed a warning and bumbed libusb-sys (#4507) 2017-02-10 12:28:57 +01:00
GitLab Build Bot
d36303365f [ci skip] js-precompiled 20170210-075200 2017-02-10 07:56:35 +00:00
Nicolas Gotchac
aebb289ea9 Fix overflow on small screens (#4505) 2017-02-10 08:43:59 +01:00
Robert Habermeier
6bf97de9d8 Merge branch 'master' into lightrpc 2017-02-10 02:44:12 +01:00
GitLab Build Bot
cb772acec7 [ci skip] js-precompiled 20170210-001706 2017-02-10 00:22:18 +00:00
Nicolas Gotchac
515f30eea9 Fix no data sent in TxQueue dapp (#4502)
* Fix wrong PropType req for Embedded Signer

* Fix wrong data for tx #4499
2017-02-09 19:07:35 -05:00
Arkadiy Paronyan
a7e6d8727a Ledger wallet support (#4486)
* Ledger devices support

* structs for RPC types
2017-02-09 19:07:06 -05:00
Robert Habermeier
5e65081d4f remove accidental gap in next nonce 2017-02-09 22:37:56 +01:00
Robert Habermeier
e53d023a8a implement light dispatcher 2017-02-09 21:12:28 +01:00
Robert Habermeier
53774d4792 Merge branch 'lightrpc' into light-txq 2017-02-09 20:41:42 +01:00
Robert Habermeier
0d09a473a7 remove let inner pattern with take_weakf and try_bf 2017-02-09 20:38:47 +01:00
Robert Habermeier
7be2c145de LightDispatcher definition 2017-02-09 20:22:31 +01:00
Robert Habermeier
325c6aaf6a verify raw transactions against Engine 2017-02-09 19:58:29 +01:00
Robert Habermeier
a559dfe9a1 implement send_raw_transaction 2017-02-09 19:17:37 +01:00
Robert Habermeier
baf0dbc6bf LightProvider struct using light transaction queue 2017-02-09 18:42:18 +01:00
Robert Habermeier
6a924770be add several tests + minor bugfixes 2017-02-09 18:10:59 +01:00
GitLab Build Bot
395a44e4a8 [ci skip] js-precompiled 20170209-165020 2017-02-09 16:54:35 +00:00
Nicolas Gotchac
71f84067d9 Add new Componennt for Token Images (#4496) (#4498) 2017-02-09 17:41:27 +01:00
Nicolas Gotchac
48eac51c8a Fix address and accounts links (#4491)
* Add proper links to TxRows (#4314)

* Add proper link to the Signer (#4314)

* Fix and add tests
2017-02-09 17:41:17 +01:00
Nicolas Gotchac
867a593988 Fix Token Reg Dapp issues in Firefox (#4489)
* Fix overflow issues in Firefox (#4348)

* Fix wrong Promise inferance

* Add new Componennt for Token Images (#4496)

* Revert "Add new Componennt for Token Images (#4496)"

This reverts commit 6ffbdab891f85e4d988e3e8e96fc2c651bd68e04.
2017-02-09 17:41:01 +01:00
Robert Habermeier
33266f78d1 initial transaction queue implementation 2017-02-09 17:36:12 +01:00
GitLab Build Bot
2043123db0 [ci skip] js-precompiled 20170209-161356 2017-02-09 16:17:57 +00:00
Jaco Greeff
7a627f88cb parity.js interfaces for vaults (#4497) 2017-02-09 11:07:08 -05:00
GitLab Build Bot
c69f515597 [ci skip] js-precompiled 20170209-155632 2017-02-09 16:02:22 +00:00
Bas
8f6108fdc9 Initial Dutch translations (#4484)
* Create settings.js

* Create index.js

* Update constants.js

* Update languages.js
2017-02-09 10:48:36 -05:00
Svyatoslav Nikolsky
1534bbb7cb Fix key.meta.vault for root dir keys && read vault.meta without vault key (#4482)
* fix vault for root && read vault meta without key

* support for old vaults (wthout meta field)
2017-02-09 10:47:22 -05:00
Nikolay Volf
fea76c07f0 Arbitrary labels for extended keys (u32, H256 built-in) (#4438)
* extend derivatino to arbitrary labels

* fix review

* fix more obsolete comments

* hard test for h256

* fix using only 4 bytes from hash
2017-02-09 10:44:28 -05:00
Arkadiy Paronyan
3da3e8453b Fixing ethstore build (#4492) 2017-02-09 10:42:49 -05:00
Svyatoslav Nikolsky
f35517e213 fixed compilation (#4493) 2017-02-09 15:41:58 +01:00
GitLab Build Bot
1e47133b3f [ci skip] js-precompiled 20170209-143704 2017-02-09 14:41:10 +00:00
Nicolas Gotchac
e8175f4cca Build embedded Parity JS properly and separatly (#4426)
* Add a specific embed webpack build // output assets in JSON

* WIP Embed

* Updated Webpack

* Update exports // Webpack config

* Fix app build fail

* Fix NPm scripts

* Reduce Embed dependencies

* Fix NPM exports

* remvoe stats

* Lazy-Load worker (not to load in embed)

* PR Grumbles + Fix tests
2017-02-09 15:30:57 +01:00
Robert Habermeier
c83d27420c address grumbles 2017-02-09 15:10:14 +01:00
Robert Habermeier
bce6bf92d9 simplify code 2017-02-09 15:01:15 +01:00
Robert Habermeier
bcf0e23a4b take_weakf 2017-02-09 13:24:03 +01:00
Robert Habermeier
656c08976f Merge pull request #4487 from ethcore/snappy-static
Static link for snappy
2017-02-09 00:56:59 +01:00
arkpar
cdc09a6d8a Static link for snappy 2017-02-08 22:43:23 +01:00
Robert Habermeier
869d193d21 Merge branch 'lightrpc' into light-txq 2017-02-08 20:51:11 +01:00
Robert Habermeier
49f49194c5 use Dispatcher when starting RPCs 2017-02-08 20:44:40 +01:00
Robert Habermeier
028dbe5fe2 rename get_header to block_header by convention 2017-02-08 20:22:41 +01:00
Robert Habermeier
b3440babe3 light txq skeleton 2017-02-08 19:21:12 +01:00
Robert Habermeier
0246d5c734 Merge branch 'master' into lightrpc 2017-02-08 19:20:35 +01:00
Robert Habermeier
dd9e3f21ad silence errors temporarily 2017-02-08 19:09:52 +01:00
Denis S. Soldatov aka General-Beck
8773889532 downgrade rust (windows build) 2017-02-08 22:06:09 +04:00
Robert Habermeier
3669d17390 fix tests with loop hack 2017-02-08 17:57:18 +01:00
Robert Habermeier
2ca61151ac squash some warnings 2017-02-08 16:59:04 +01:00
Robert Habermeier
5223e25aa6 use generic dispatcher everywhere, squash errors 2017-02-08 16:55:06 +01:00
Robert Habermeier
e73ea80954 dispatcher abstraction, port most things to it 2017-02-08 15:36:53 +01:00
GitLab Build Bot
68b8724440 [ci skip] js-precompiled 20170208-134350 2017-02-08 13:49:08 +00:00
Jaco Greeff
0b3f97f792 Work with string numbers in contract (Fixes #4472) (#4478) 2017-02-08 08:38:27 -05:00
Svyatoslav Nikolsky
a92bf65181 parity_getVaultMeta && parity_setVaultMeta (#4475) 2017-02-08 07:53:39 -05:00
keorn
b0248cad0b sort corpus when hitting genesis (#4470) 2017-02-08 08:55:56 +01:00
Tomasz Drwięga
5fe993f658 Fixing CORS headers for parity.web3.site (#4461) 2017-02-07 18:11:42 -05:00
Robert Habermeier
4bb45c4f64 use new error-less on_demand 2017-02-07 23:25:17 +01:00
Arkadiy Paronyan
0e8b96a268 Update Dockerfile 2017-02-07 22:15:01 +01:00
Arkadiy Paronyan
b171076215 Update Dockerfile 2017-02-07 22:14:34 +01:00
Arkadiy Paronyan
86dbd50957 Update README.md 2017-02-07 22:13:52 +01:00
Gav Wood
810ec3558a Make signing compatible with geth. (#4468) 2017-02-07 22:09:59 +01:00
GitLab Build Bot
428e8361ce [ci skip] js-precompiled 20170207-191009 2017-02-07 19:16:17 +00:00
Jaco Greeff
2411e674eb Fixing histogram again (#4464) (#4467) 2017-02-07 19:55:58 +01:00
Jaco Greeff
7bca4aa24f Handle registry not found errors (Fixes #4463) (#4465) 2017-02-07 19:42:21 +01:00
Robert Habermeier
1fa5b07321 Merge branch 'master' into lightrpc 2017-02-07 17:13:18 +01:00
Robert Habermeier
6c06a1a5ec expunge error types from OnDemand 2017-02-07 17:06:22 +01:00
Robert Habermeier
04fe72face reassign requests indefinitely 2017-02-07 16:49:14 +01:00
Robert Habermeier
b37124991c enforce validity of on_demand requests 2017-02-07 16:13:56 +01:00
Robert Habermeier
9524ebbff1 on-demand contract code request 2017-02-07 15:29:38 +01:00
Robert Habermeier
d253a9c864 uncle and tx count RPCs 2017-02-07 14:45:48 +01:00
GitLab Build Bot
d341b49bad [ci skip] js-precompiled 20170207-120734 2017-02-07 12:11:54 +00:00
Jaco Greeff
83cf5fc068 Fix Portal scrolling getting stuck (#4455)
* Fix Portal scrolling getting stuck

* DappCard container flex

* Container height to 100%
2017-02-07 13:02:19 +01:00
GitLab Build Bot
1d774835de [ci skip] js-precompiled 20170207-075234 2017-02-07 07:56:44 +00:00
Jaco Greeff
66df4f6410 Fix AccountCard stretch to 100% (#4450) 2017-02-07 08:46:17 +01:00
Robert Habermeier
66692bc0e2 fast paths for block and receipts on_demand 2017-02-06 18:28:13 +01:00
Robert Habermeier
4172a5369c Include total difficulty in CHTs and hide implementation details from consumers (#4428)
* CHT builder and prover

* use CHT abstraction in provider

* hide CHT internals from header chain

* fix itertools conflict by updating all to 0.5

* cht proof checker, use it in on_demand
2017-02-06 17:21:35 +01:00
Robert Habermeier
b32cb7a97d make total difficulty field optional 2017-02-06 15:28:16 +01:00
Maciej Hirsz
127baed385 Merge pull request #4362 from ethcore/mh-tendermintrlpfix
Fix RLP encoding for types recursively calling `RlpStream::append`
2017-02-06 11:13:40 +01:00
GitLab Build Bot
d7e87dbe19 [ci skip] js-precompiled 20170206-083224 2017-02-06 08:36:28 +00:00
Tomasz Drwięga
4ac91b3284 Open popup without attempting inline (#4440)
* Open popup without attempting inline

* Cater for all .web3.site addresses
2017-02-06 09:26:11 +01:00
Svyatoslav Nikolsky
2f340a547a Vaults RPCs (#4366)
* vaults RPCs

* vault.password != vault_account.password

* moved vault RPCs to parityAccounts NS

* parity_listVaults + parity_listOpenedVaults
2017-02-05 10:17:56 -05:00
Nikolay Volf
e257e4e3bd Ethkey - extended keys (#4377)
* data structures initial

* hard derivation

* tabs, docs

* more docs

* soft private derivation

* public derivation

* finalize api, fix warnings

* use simple new()

* keypair api

* bump byteorder

* doc tweaks

* remove heavyness from tests

* added test vector infrastructure and examples

* initialization from seed to key pair

* add comment about panic
2017-02-05 10:17:03 -05:00
Robert Habermeier
def47b4042 make light module public 2017-02-05 15:22:15 +01:00
GitLab Build Bot
f646ffbe61 [ci skip] js-precompiled 20170205-101133 2017-02-05 10:15:32 +00:00
Sebastian Kippe
bcd3cd8467 Use secure websocket from HTTPS clients (#4436)
Currently, the unsecure `ws://` scheme is hardcoded. With this change,
the scheme will dynamically change to the secure `wss://` when the
frontend is requested from an HTTPS origin.
2017-02-05 11:04:17 +01:00
Denis S. Soldatov aka General-Beck
4fa1717a99 Update Dockerfile
remove --verbose from hub build
2017-02-05 02:56:19 +04:00
Denis S. Soldatov aka General-Beck
c5cc5e30ec Update Dockerfile
fix build for docker hub
[ci skip]
2017-02-05 02:39:22 +04:00
Robert Habermeier
7c9064c856 Merge branch 'master' into lightrpc 2017-02-04 22:30:20 +01:00
Robert Habermeier
1e123f1b4d handle TD info in RPC layer 2017-02-04 22:22:57 +01:00
Tomasz Drwięga
248cd5e036 RPC middleware: Informant & Client.keep_alive (#4384)
* Adding RPC informant structs

* RPC informant

* Middleware counting RPC requests

* Moving client keep_alive to middleware
2017-02-04 22:18:19 +01:00
Robert Habermeier
3a7248b964 cht proof checker, use it in on_demand 2017-02-04 17:48:02 +01:00
Robert Habermeier
197695414e correct ready transaction condition 2017-02-04 17:19:39 +01:00
Robert Habermeier
484b93abdc Merge branch 'cht-td' into lightrpc 2017-02-04 17:14:47 +01:00
Robert Habermeier
ca11138ce8 fix itertools conflict by updating all to 0.5 2017-02-04 17:07:39 +01:00
GitLab Build Bot
d7b937fe88 [ci skip] js-precompiled 20170204-152807 2017-02-04 15:32:05 +00:00
Gav Wood
4553f517ce Fix eth_sign/parity_postSign (#4432)
* Fix dispatch for signing.

* Remove console log

* Fix signing & tests.
2017-02-04 16:00:28 +01:00
Jaco Greeff
b4c24d5ab3 Web view with web3.site support (#4313)
* Web-domain based routing

* Support base32-encoded urls

* Proper support for non-domain based routing

* Handling long domain names

* Switching to web3.site

* Encoding for *.web3.site urls

* Add DappUrlInput component

* Update Web views with store

* Update spec description

* Update spec description

* edited url does not allow in-place store edits

* Fixing dapps access on 127.0.0.1:8180

* Use /web/<hash> urls for iframe

* Redirecting to parity.web3.site

* Disabling the redirection
2017-02-04 09:52:14 +01:00
GitLab Build Bot
c9d38cac6e [ci skip] js-precompiled 20170203-221154 2017-02-03 22:18:13 +00:00
Jaco Greeff
c7f5ee481d Extend Portal component with title, buttons & steps (as per Modal) (#4392)
* Allow Portal to take title & buttons props

* Fix tests

* Portal consistent in screen center

* Allow hiding of Close (e.g. FirstRun usage)

* Set overflow style on body based on open

* Don't lock scroll for child popups (overlaps)

* Override buttons to be white

* Expose ~/ui/Modal/Title as re-usable component

* Use ~/ui/Title to render the Title

* Update tests

* Added a portal example with buttons and steps

* Address PR comments

* Fix AddressSelect with new container withing container

* Move legend to "buttons"

* AddressSelect extra padding
2017-02-03 22:44:43 +01:00
GitLab Build Bot
a68ca7444e [ci skip] js-precompiled 20170203-191721 2017-02-03 19:22:26 +00:00
GitLab Build Bot
a39324632d [ci skip] js-precompiled 20170203-190642 2017-02-03 19:12:35 +00:00
Jaco Greeff
f48d8b0ef6 Extension installation overlay (#4423)
* Extension installation overlay

* Pr gumbles

* Spelling

* Update Chrome URL
2017-02-03 20:01:49 +01:00
Jaco Greeff
cd4d489b57 Add block & timestamp conditions to Signer (#4411)
* WIP

* WIP (with lint)

* Update ui/RadioButtons

* transaction.condition

* Date & Time selection in-place

* Swap to condition-only

* Fix tests, align naming

* Pick error properly from validation

* Update tests

* condition: time sent withough ms

* Format numbers as base-10

* override popup styles (zIndex)

* Pass condition to signer

* Update expectation (failing test typo)

* Adjust min/max height for expanded bar

* Fix address display

* Fix name display

* Number inputs for gas/gasPrice/blockNumber

* Default blockNumber to 1 (align with min setting)

* Update tests with min value

* Add Block Number

* Fix failing tests (after blockNumber intro)
2017-02-03 20:01:09 +01:00
Robert Habermeier
02142e3a57 Merge branch 'master' into cht-td 2017-02-03 19:56:52 +01:00
Robert Habermeier
e874df5155 hide CHT internals from header chain 2017-02-03 19:50:23 +01:00
Arkadiy Paronyan
312aa72747 Transaction timestamp condition (#4419)
* Transaction timestamp condtiion

* Updated docs

* Updated docs

* Check agains last block timestamp
2017-02-03 19:32:10 +01:00
Robert Habermeier
1baa824d1e use CHT abstraction in provider 2017-02-03 18:47:03 +01:00
Robert Habermeier
fc8e9e39ec CHT builder and prover 2017-02-03 18:38:28 +01:00
Robert Habermeier
e460421deb generic basic account fetcher, nonce RPC 2017-02-03 17:53:48 +01:00
Robert Habermeier
024e69138a get it compiling 2017-02-03 17:41:25 +01:00
Robert Habermeier
9328067eac start eth RPC API for light client 2017-02-03 16:20:43 +01:00
Robert Habermeier
1dc957e3a5 allow genesis block to be latest 2017-02-03 16:11:09 +01:00
Robert Habermeier
83de16da88 use encoded::Header in HeaderChain 2017-02-03 15:32:22 +01:00
GitLab Build Bot
85e9091b29 [ci skip] js-precompiled 20170203-133154 2017-02-03 13:36:20 +00:00
Jaco Greeff
f48a2df6e5 Poll for defaultAccount to update dapp & overlay subscriptions (#4417)
* Poll for defaultAccount (Fixes #4413)

* Fix nextTimeout on catch

* Store timers

* Re-enable default updates on change detection
2017-02-03 14:24:23 +01:00
GitLab Build Bot
d1728cca28 [ci skip] js-precompiled 20170203-131026 2017-02-03 13:16:08 +00:00
Tomasz Drwięga
853aae2b92 Validate dapps accounts with address book (#4407)
* Parametrize address book

* Improving types in account_provider

* Filtering dapps_accounts

* Fixing RPC tests
2017-02-03 13:56:47 +01:00
Jaco Greeff
acf41d6f27 Dapps use defaultAccount instead of own selectors (#4386)
* Remove account selection from GitHubHint

* Fix naming

* Update to match BasicCoin

* BasicCoin defaultAddress

* typo

* method registry without selector

* Update after manual tests

* IdentityIcon for localtx

* Fix non-secure personal subscriptions

* Query defaultAccount for non-secure apps on send
2017-02-03 13:54:53 +01:00
Denis S. Soldatov aka General-Beck
3af45c6ad9 update depends
Depends: libssl1.0.0 (>=1.0.0)
[ci skip]
2017-02-03 14:47:29 +04:00
Denis S. Soldatov aka General-Beck
0bf9f6c444 change depends
libssl (>=1.0.0)
[ci skip]
2017-02-03 13:17:10 +04:00
keorn
76c39e3e66 Fix lock and rename tracing (#4403)
* tracing, timeouts

* remove env_logger
2017-02-02 19:11:43 +01:00
Tomasz Drwięga
015425d447 Restarting fetch client every now and then (#4399) 2017-02-02 19:11:28 +01:00
GitLab Build Bot
4961422523 [ci skip] js-precompiled 20170202-163010 2017-02-02 16:33:24 +00:00
Maciej Hirsz
1b1d3a297c Perform a sync between Rust and JS when generating markdown instead of in spec tests (#4408)
* Sync RPC on npm run build:markdown

* Helpers

* Added GPL headers
2017-02-02 17:24:15 +01:00
Jannis Redmann
d5aa139e46 registry dapp: make lookup use lower case (#4409) 2017-02-02 17:23:58 +01:00
Robert Habermeier
3b9ac7648c with_context on LightSync 2017-02-02 17:02:46 +01:00
GitLab Build Bot
a0ffb3df20 [ci skip] js-precompiled 20170202-150718 2017-02-02 15:11:11 +00:00
Jaco Greeff
535ebb1f2f Available Dapp selection alignment with Permissions (Portal) (#4374)
* Manage default accounts

* Portal

* Portal

* Allow Portal to be used in as both top-level and popover

* modal/popover variable naming

* Move to Portal

* export Portal in ~/ui

* WIP

* Tags handle empty values

* Export AccountCard in ~/ui

* Allow ETH-only & zero display

* Use ui/Balance for balance display

* Add tests for Balance & Tags component availability

* WIP

* Default overlay display to block (not flex)

* Revert block

* WIP

* Add className, optional handlers only

* WIP

* Properly handle optional onKeyDown

* Selection updated

* Align margins

* Remove old code

* Remove debug logging

* TransitionGroup for animations

* No anim

* Cleanups

* Revert addons removal

* Fix tests

* WIP

* Add onClick to Container

* Create ui/DappCard component

* WIP

* Pass dummy displayApps

* Rename DappsVisible back to AddDapps (easier git diff)

* Rename CSS

* Fix tests after merge
2017-02-02 16:02:45 +01:00
Jannis Redmann
1547af191b more permissive verification process (#4317)
* style fixes 

* verification: find last request

* verification: don't request again if same input

* didRequestWithSameValues -> shallRequestAgain

* bugfixes 🐛, update SMS verification ABI

* verification: hasRequested -> accountHasRequested

* verification: hasIsVerified -> accountIsVerified

* verification: shallRequestAgain -> shallSkipRequest

* verification: show if unable to send req

* email verification: check if email already used

* address style grumbles 🎨
2017-02-02 16:01:37 +01:00
Robert Habermeier
fd44dcda15 rename LES protocol ID 2017-02-02 15:22:38 +01:00
GitLab Build Bot
8e82b2f631 [ci skip] js-precompiled 20170202-125420 2017-02-02 12:57:45 +00:00
Jaco Greeff
12bd207e53 Fix ParityBar account selection overflows (#4405) 2017-02-02 13:30:36 +01:00
arkpar
2b26f0cc28 Fixing yaml script 2017-02-02 13:24:44 +01:00
Arkadiy Paronyan
5817acb582 Mac binaries signing (#4397) 2017-02-02 11:55:20 +01:00
Denis S. Soldatov aka General-Beck
0a28b167a2 Merge pull request #4398 from ethcore/revert-4381-js-ci-skip
Revert "remove [ci skip]"
2017-02-02 13:47:17 +04:00
Denis S. Soldatov aka General-Beck
bc704283a4 Revert "remove [ci skip]" 2017-02-02 13:35:34 +04:00
GitLab Build Bot
3d4545fa91 js-precompiled 20170201-231534 2017-02-01 23:19:04 +00:00
GitLab Build Bot
85f75d39b3 js-precompiled 20170201-225215 2017-02-01 22:55:51 +00:00
GitLab Build Bot
52f40042b0 js-precompiled 20170201-222816 2017-02-01 22:31:43 +00:00
GitLab Build Bot
b8c0d657b4 js-precompiled 20170201-220650 2017-02-01 22:10:13 +00:00
GitLab Build Bot
ffb5ddc08b js-precompiled 20170201-214512 2017-02-01 21:48:38 +00:00
GitLab Build Bot
35e267c4fe js-precompiled 20170201-212208 2017-02-01 21:25:32 +00:00
GitLab Build Bot
43baa461b0 js-precompiled 20170201-205737 2017-02-01 21:01:07 +00:00
GitLab Build Bot
7fae67785c js-precompiled 20170201-203408 2017-02-01 20:37:33 +00:00
GitLab Build Bot
09e933a450 js-precompiled 20170201-200611 2017-02-01 20:09:34 +00:00
GitLab Build Bot
71190f6068 js-precompiled 20170201-194205 2017-02-01 19:45:25 +00:00
Jaco Greeff
bd0891c93c Typo, fixes #4271 (#4391) 2017-02-01 20:36:05 +01:00
GitLab Build Bot
2f299d20e8 js-precompiled 20170201-185153 2017-02-01 18:55:16 +00:00
GitLab Build Bot
bc73416e45 js-precompiled 20170201-182335 2017-02-01 18:27:32 +00:00
GitLab Build Bot
22f0d648c7 js-precompiled 20170201-174728 2017-02-01 17:50:56 +00:00
GitLab Build Bot
6b77d10cac js-precompiled 20170201-172305 2017-02-01 17:26:30 +00:00
GitLab Build Bot
12c1434f09 js-precompiled 20170201-165339 2017-02-01 16:58:21 +00:00
GitLab Build Bot
653bb112bf js-precompiled 20170201-162404 2017-02-01 16:27:37 +00:00
Tomasz Drwięga
4462c18690 Fixing invalid address in docs (#4388) 2017-02-01 17:14:16 +01:00
arkpar
dbafbc29be Killed travis and appveyor 2017-02-01 17:06:44 +01:00
Denis S. Soldatov aka General-Beck
1a8ce3e1f3 Merge pull request #4381 from ethcore/js-ci-skip
remove [ci skip]
2017-02-01 19:59:26 +04:00
GitLab Build Bot
8e35b2c39a [ci skip] js-precompiled 20170201-152542 2017-02-01 15:29:43 +00:00
Tomasz Drwięga
fb7c6c2867 Fixing estimate gas in case histogram is not available (#4387) 2017-02-01 16:18:22 +01:00
Jaco Greeff
3bdd32f9ec Default Account selector in Signer overlay (#4375)
* Manage default accounts

* Portal

* Portal

* Allow Portal to be used in as both top-level and popover

* modal/popover variable naming

* Move to Portal

* export Portal in ~/ui

* WIP

* Tags handle empty values

* Export AccountCard in ~/ui

* Allow ETH-only & zero display

* Use ui/Balance for balance display

* Add tests for Balance & Tags component availability

* WIP

* Default overlay display to block (not flex)

* Revert block

* WIP

* Add className, optional handlers only

* WIP

* Properly handle optional onKeyDown

* Selection updated

* Align margins

* Remove old code

* Remove debug logging

* TransitionGroup for animations

* No anim

* Cleanups

* Revert addons removal

* Fix tests

* defaultAccount

* Selection actually selects

* WIP tests

* tests WIP

* Expand tests

* Container for scrollbars

* Add parity_defaultAccount RPC (with subscription)

* Add jsonrpc interface
2017-02-01 16:18:11 +01:00
GitLab Build Bot
a414729de9 [ci skip] js-precompiled 20170201-142626 2017-02-01 14:29:49 +00:00
Tomasz Drwięga
5526a3a228 Fixing web3 in console (#4382) 2017-02-01 15:19:23 +01:00
GitLab Build Bot
f4a761edb7 [ci skip] js-precompiled 20170201-140028 2017-02-01 14:05:19 +00:00
Jaco Greeff
04fb2afba1 Add parity_defaultAccount RPC (with subscription) (#4383)
* Add parity_defaultAccount RPC (with subscription)

* Add jsonrpc interface
2017-02-01 14:52:15 +01:00
Denis S. Soldatov aka General-Beck
0a7aef1872 remove [ci skip]
remove tag [ci skip] for `js-precompiled`
2017-02-01 15:09:13 +04:00
Maciej Hirsz
ed09a76c91 Full JSON-RPC docs + sync tests. (#4335)
* Extended Markdown generator

* Synced and extended all JSON-RPC interfaces

* Fix linter errors

* Format `parity_listAccounts` output in API

* typo

* Check if interfaces are synced in JS spec tests

* Fixing missing interface errors

* Better #[rpc] attribute parsing

* Fixed RPC JS spec tests

* More examples

* Refactored how dummy data appears in examples

* Complete trace docs!

* fix typo

* Less copy-paste

* All the docs!

* Fix differences between CallRequest and TransactionRequest

* Fix differences between CallRequest and TransactionRequest

* Missing examples

* Grumble fixes
2017-02-01 10:58:09 +01:00
maciejhirsz
687ae4d7fa Removed fixed TODO 2017-02-01 10:38:01 +01:00
Denis S. Soldatov aka General-Beck
b2ecf1c5a4 Update gitlab-ci.yml
try to add `nightly` tag
2017-01-31 20:39:11 +04:00
GitLab Build Bot
867ca0f96c [ci skip] js-precompiled 20170131-163220 2017-01-31 16:35:42 +00:00
Jannis Redmann
5217469e85 expose util as Api.util (#4372) 2017-01-31 17:25:42 +01:00
GitLab Build Bot
f1995b3fb0 [ci skip] js-precompiled 20170131-161018 2017-01-31 16:13:39 +00:00
Jaco Greeff
a935a04449 Dapp Account Selection & Defaults (#4355)
* Manage default accounts

* Portal

* Portal

* Allow Portal to be used in as both top-level and popover

* modal/popover variable naming

* Move to Portal

* export Portal in ~/ui

* WIP

* Tags handle empty values

* Export AccountCard in ~/ui

* Allow ETH-only & zero display

* Use ui/Balance for balance display

* Add tests for Balance & Tags component availability

* WIP

* Default overlay display to block (not flex)

* Revert block

* WIP

* Add className, optional handlers only

* WIP

* Properly handle optional onKeyDown

* Selection updated

* Align margins

* Remove old code

* Remove debug logging

* TransitionGroup for animations

* No anim

* Cleanups

* Revert addons removal

* Fix tests

* Pr gumbles
2017-01-31 17:04:41 +01:00
GitLab Build Bot
12aadc3e2a [ci skip] js-precompiled 20170131-155752 2017-01-31 16:01:16 +00:00
Jaco Greeff
d3ee15c6fb Publish @parity/jsonrpc (#4365)
* Add npm/jsonrpc

* Allow ci:build:jsonrpc

* Publish @parity/jsonrpc
2017-01-31 16:52:48 +01:00
GitLab Build Bot
983a0e3d0b [ci skip] js-precompiled 20170131-132131 2017-01-31 13:24:45 +00:00
Gav Wood
75ecabbd28 Fix signing (#4363)
* Fix signing.

* Fix linting.

* Fix linting.

* Address grumble.
2017-01-31 14:15:08 +01:00
GitLab Build Bot
27d00f6eca [ci skip] js-precompiled 20170131-113939 2017-01-31 11:42:56 +00:00
Tomasz Drwięga
aaed67cfaf Fixing embedded bar not closing in chrome extension (#4367) 2017-01-31 12:34:55 +01:00
GitLab Build Bot
b864d0f6ec [ci skip] js-precompiled 20170131-112711 2017-01-31 11:30:36 +00:00
Jaco Greeff
223c474487 Update AccountCard for re-use (#4350)
* Tags handle empty values

* Export AccountCard in ~/ui

* Allow ETH-only & zero display

* Use ui/Balance for balance display

* Add tests for Balance & Tags component availability

* Add className, optional handlers only

* Remove debug logging

* AccountCard UI update
2017-01-31 12:21:50 +01:00
GitLab Build Bot
ee906467ad [ci skip] js-precompiled 20170131-104521 2017-01-31 10:50:22 +00:00
Nicolas Gotchac
b3a23480de Add proper event listener to Portal (#4359) 2017-01-31 11:38:53 +01:00
Tomasz Drwięga
9fb2be8f2b Optional from field in Transaction Requests (#4332)
* Infering default account when sending transactions if not provided

* Fixing test

* Fixing tests code

* Fixes.

* More fixes.

* Final fix.
2017-01-30 21:08:36 +01:00
maciejhirsz
681fa10d4b Tests checking item sizes for changed types 2017-01-30 20:01:32 +01:00
maciejhirsz
6795068ea4 Fixed other types 2017-01-30 19:13:35 +01:00
Nikolay Volf
4a404a6f33 Update README.md (#4361) 2017-01-30 18:47:12 +01:00
maciejhirsz
5fe54901e7 Fix Step encoding 2017-01-30 18:13:14 +01:00
Robert Habermeier
5b2b4717f6 fix earliest_era on empty db (#4316) 2017-01-30 17:20:41 +01:00
GitLab Build Bot
00c4c71176 [ci skip] js-precompiled 20170130-161417 2017-01-30 16:17:36 +00:00
Arkadiy Paronyan
43cc4ea13d Fixed deadlock in external_url (#4354) 2017-01-30 17:08:21 +01:00
Jaco Greeff
15ffd9a09c Allow Portal to be used as top-level modal (#4338)
* Portal

* Allow Portal to be used in as both top-level and popover

* modal/popover variable naming

* export Portal in ~/ui

* Properly handle optional onKeyDown

* Add simple Playground Example
2017-01-30 17:08:08 +01:00
GitLab Build Bot
4e7b8652c8 [ci skip] js-precompiled 20170130-142718 2017-01-30 14:30:42 +00:00
Gav Wood
ca196d683e Fix postsign (#4347)
* Fix whitespace.

* Fix post sign.

* Fix message.

* Fix tests.

* Rest of the problems.

* All hail the linter and its omniscience.

* ...and its divine omniscience.

* Grumbles and wording.
2017-01-30 15:08:02 +01:00
GitLab Build Bot
5a18ed7c3e [ci skip] js-precompiled 20170130-121240 2017-01-30 12:16:02 +00:00
Tomasz Drwięga
3fb445e198 Renaming signAndSendTransaction to sendTransaction (#4351) 2017-01-30 12:49:08 +01:00
GitLab Build Bot
f627bef08b [ci skip] js-precompiled 20170130-110455 2017-01-30 11:08:16 +00:00
Jaco Greeff
c0468faf58 Add api.util.encodeMethodCall to parity.js (#4330)
* Add api.util.encodeMethodCall

* Update spec description path, strip hex

* Remove options, add encodeMethodCall(name, inputs) signature

* Simplify interface with types-only inputs

* Add abiEncode & abiDecode functions
2017-01-30 11:57:55 +01:00
Svyatoslav Nikolsky
9ac4d83ca3 Initial commit for vaults (#4312)
* initial commit for vaults

* fixed TODO

* public docs

* vault_file.json now contains enc(pwd hash)

* removed doc
2017-01-30 13:44:09 +03:00
Tomasz Drwięga
bf1e7ecfcb Returning default account as coinbase + allow altering sender in signer (#4323)
* Returning first address as coinbase

* Allowing sender alteration in signer

* Adding default account RPC
2017-01-30 11:10:58 +01:00
Tomasz Drwięga
cf348dae60 Persistent tracking of dapps (#4302)
* Tests for RPC

* Extracting dapp_id from Origin and x-parity-origin

* Separate type for DappId

* Persistent tracking of recent dapps

* Fixing tests

* Exposing dapp timestamps

* Fixing import to work on stable

* Fixing test again
2017-01-30 10:59:46 +01:00
Tomasz Drwięga
47e1c5e2f1 Exposing all RPCs over dapps port as CLI option (#4346)
* Exposing all RPC over dapps port as CLI option

* Fix test.
2017-01-30 10:46:50 +01:00
Arkadiy Paronyan
089da2a24a New macOS App (#4345) 2017-01-29 20:22:45 +01:00
GitLab Build Bot
b4dab67f83 [ci skip] js-precompiled 20170127-210258 2017-01-27 21:06:16 +00:00
Jaco Greeff
aef699ebf2 Display QrCode for accounts, addresses & contracts (#4329)
* Display QrCode for accounts, addresses & contracts

* Default size 4

* Fix layouts
2017-01-27 21:55:20 +01:00
GitLab Build Bot
5246d51a1a [ci skip] js-precompiled 20170127-143849 2017-01-27 14:42:01 +00:00
Jaco Greeff
cb8fea3b5a Add QrCode & Copy to ShapeShift (#4322)
* Extract CopyIcon to ~/ui/Icons

* Add copy & QrCode address

* Default size 4

* Add bitcoin: link

* use protocol links applicable to coin exchanged

* Remove .only
2017-01-27 15:33:02 +01:00
GitLab Build Bot
e81787da34 [ci skip] js-precompiled 20170127-134933 2017-01-27 13:53:09 +00:00
Jaco Greeff
076c8b9de7 parity.js api.parity.chainStatus should handle { blockGap: null } (#4327)
* Add tests for null blockGap values

* Handle null blockGap values
2017-01-27 14:42:22 +01:00
Jaco Greeff
1940809dd4 DeleteAccount & LoadContract modal updates (#4320)
* i18n & tests for DeleteAccount

* i18n & tests for LoadContract
2017-01-27 14:42:06 +01:00
Jaco Greeff
b51b7849dc Split Tab from TabBar (#4318)
* Tab split (WIP)

* Split Tab component
2017-01-27 14:41:41 +01:00
GitLab Build Bot
da032e950f [ci skip] js-precompiled 20170126-165810 2017-01-26 17:01:54 +00:00
Jaco Greeff
b74f2d8831 Contracts interface expansion (#4307)
* Add lookupMeta & tests

* Add getEntry & tests

* Formatting

* Remove unneeded .then(console.log)
2017-01-26 17:51:35 +01:00
GitLab Build Bot
f5a73ff4c8 [ci skip] js-precompiled 20170126-164625 2017-01-26 16:49:41 +00:00
Jaco Greeff
7f3b1bd31e HistoryStore for tracking relevant routes (#4305)
* HistoryStore for tracking relevant routes

* Default route is still /accounts

* Fix copyright date-merge issue
2017-01-26 17:37:52 +01:00
GitLab Build Bot
3e2d95b272 [ci skip] js-precompiled 20170126-152421 2017-01-26 15:28:00 +00:00
Jaco Greeff
5ad50ab1e3 Split Dapp icon into ui/DappIcon (#4308) 2017-01-26 16:17:30 +01:00
Nicolas Gotchac
e19c28bb8e Add a Playground for the UI Components (#4301)
* Playground // WIP

* Linting

* Add Examples with code

* CSS Linting

* Linting

* Add Connected Currency Symbol

* 2015-2017

* 2015-2017

* 2015-2017

* 2015-2017

* 2015-2017

* 2015-2017

* 2015-2017

* Added `renderSymbol` tests

* PR grumbles

* Add Eth and Btc QRCode examples

* 2015-2017

* Add tests for playground

* Fixing tests
2017-01-26 16:15:49 +01:00
Jaco Greeff
2ac7655355 Update CreateWallet with FormattedMessage (#4298)
* Allow FormattedMessage as hint & label

* tests for basic rendering

* convert component messages

* Typo

* id typos (insubstantial, but annoying)

* 2015-2017

* 2015-2017

* 2015-2017

* 2015-2017

* 2015-2017
2017-01-26 16:11:04 +01:00
Denis S. Soldatov aka General-Beck
82a7a17e6e Update README.MD
Remove Travis CI badge
2017-01-26 19:06:48 +04:00
Denis S. Soldatov aka General-Beck
b5f46f3976 Update README.MD
Update Gitlab CI badge
2017-01-26 17:03:37 +04:00
GitLab Build Bot
79481b8ab5 [ci skip] js-precompiled 20170126-082319 2017-01-26 08:26:31 +00:00
Jaco Greeff
63e7379d5b Update copyright dates (#4306) 2017-01-26 09:17:38 +01:00
Arkadiy Paronyan
c012dfc3ef EIP-98: Optional transaction state root (#4296)
* EIP98: Optional receipt state root

* Use if-else

* Fixing tests
2017-01-25 20:22:48 +01:00
Denis S. Soldatov aka General-Beck
f5a4b55dae Update gitlab-ci
Fix CI lint errors
2017-01-25 23:01:28 +04:00
Denis S. Soldatov aka General-Beck
c03be11303 Update gitlab-ci
[ci skip] Add `docker` build stage for automated build tagged images and push it to hub.docker.com
2017-01-25 22:48:36 +04:00
Denis S. Soldatov aka General-Beck
0fe6b40e68 Dockerfile for docker hub
[ci skip] automated build on docker hub. tags only
2017-01-25 22:25:52 +04:00
GitLab Build Bot
0c913b45b2 [ci skip] js-precompiled 20170125-181524 2017-01-25 18:18:28 +00:00
Gav Wood
8404edb656 Fix whitespace (#4299)
* Fix whitespace.

* Update copyright years/owner.

* Push release only for tags.
2017-01-25 18:51:41 +01:00
Denis S. Soldatov aka General-Beck
e672e6c5d6 Update gitlab-ci
[ci-skip] Remove `triggers` from stage `push-release`
2017-01-25 19:03:28 +04:00
GitLab Build Bot
33b02febed [ci skip] js-precompiled 20170125-132524 2017-01-25 13:28:44 +00:00
Gav Wood
3125e2d2cc Attempt to fix console. (#4294)
* Attempt to fix console.

* Fixing couple of possible exceptions
2017-01-25 14:10:35 +01:00
GitLab Build Bot
afa1edbeee [ci skip] js-precompiled 20170125-112240 2017-01-25 11:25:48 +00:00
Jaco Greeff
380c0773d1 ui/SectionList component (#4292)
* array chunking utility

* add SectionList component

* Add TODOs to indicate possible future work

* Add missing overlay style (as used in dapps at present)
2017-01-25 12:16:04 +01:00
Nikolay Volf
1acc8031ce Stratum up (#4233)
* flush work

* flush work

* flush work

* flush work

* generalized notifiers

* general setup with modules

* general setup with modules

* all binded

* catch up with master

* all dependencies injected

* stratum another up

* tcp update

* submitwork routine

* finalize & fix warnings

* merge bugs, review fixes

* merge bugs, review fixes

* new cli mess cleanup

* usage.txt swap

* flush work

* cli adopt

* compilation with new cli sorted

* subid space in json

* serialization issues

* grumbles addressed

* more grumbles

* remove last_work note for now

* fix compilation

* fix tests

* merge bugs

* no obliged ipc

* moving notifiers

* no optional feature now

* refactored again

* working on tests

* refactor to new tcp/ip

* stratum lib ok

* ethcore crate ok

* wip on tests

* final test working

* fix warnings, \n-terminated response

* new compatibility

* re-pushing work once anybody submitted

* various review and general fixes

* reviewe fixes

* remove redundant notifier

* one symbol -> huge bug

* ensure write lock isn't held when calling handlers

* extern declarations moved

* options to stratum mod, SocketAddr strongly-typed instantiation

* Minor style fix.

* Whitespace and phrasing

* Whitespace
2017-01-25 11:03:36 +01:00
Tomasz Drwięga
67284cc1a2 Logging transaction duration (#4297)
* Logging transaction duration

* Printing time also on heavy transactions [ci:skip]
2017-01-25 11:02:03 +01:00
GitLab Build Bot
5e18daf29e [ci skip] js-precompiled 20170124-211147 2017-01-24 21:15:10 +00:00
keorn
e9251a9325 Generic engine utilities (#4258)
* move modules up

* make structs generic

* reound to view and tests

* fix
2017-01-24 22:03:03 +01:00
Maciej Hirsz
a58fad06a7 JSON-RPC interfaces with documentation (#4276)
* Extended Markdown generator

* Synced and extended all JSON-RPC interfaces

* Fix linter errors

* Format `parity_listAccounts` output in API

* typo
2017-01-24 22:02:52 +01:00
keorn
c460aec646 Dont decode seal fields (#4263)
* dont decode seal

* add get_block test
2017-01-24 21:57:29 +01:00
GitLab Build Bot
b0e7cd5c9d [ci skip] js-precompiled 20170124-194135 2017-01-24 19:44:54 +00:00
Jaco Greeff
75c2588920 Skip misbehaving test until properly fixed (#4283) 2017-01-24 19:35:01 +00:00
Tomasz Drwięga
fa02b3ae54 Additional logs for own transactions (#4278) 2017-01-24 19:18:52 +00:00
Robert Habermeier
b739704902 ensure write lock isn't held when calling handlers (#4285) 2017-01-24 19:15:59 +00:00
Gav Wood
73b67da3cf No need for geth compat by default. 2017-01-24 20:11:42 +01:00
GitLab Build Bot
7b7b552ed4 [ci skip] js-precompiled 20170124-162740 2017-01-24 16:30:59 +00:00
Jaco Greeff
155bbc328f Feature selector (#4074)
* WIP

* ParityBar verification

* import from index.js

* i18n expansion & tests

* Features component

* Adapt language selector to use features

* Add features to settings view

* typo

* Convert logging

* Fix earlier merge issues resulting in test failures

* Lint failure fixes (new rules)

* Fix additional listing rules

* Re-add FormattedMessage (missing after merge), fix tests

* Fix loader overrides

* grumble: split item rendering (& test)

* grumble: allow enable/disable while testing (default on)

* grumble: move LanguageSelector below Features

* grumble: don't pass visiblity prop (& update tests)

* grumble: missing observable (onClick misbehaving)

* grumble: don't reset to defaults per session

* Fix to single store instance
2017-01-24 17:20:10 +01:00
GitLab Build Bot
5b2dd8deb2 [ci skip] js-precompiled 20170124-152454 2017-01-24 15:28:00 +00:00
Jaco Greeff
06433033d9 AccountCreate updates (#3988)
* Add esjify for mocha + ejs

* First pass through, intl + basic smoketests

* Create store

* Update for renames

* Pass store around

* createType into store

* Move stage into store

* Update labels

* Define stages

* address into store

* Add @observer

* Retrieve name from store

* Store phrase in store

* isWindowsPhrase into store

* gethAddresses to store

* Store manages geth addresses

* passwordHint into store

* Fix build

* rawKey into store

* import json files

* name set direct from component

* No parent change callbacks

* canCreate from store

* createAccounts into store

* expand create tests

* Windows phrase testcases

* Properly bind newError

* FirstRun use of new CreateAccount

* Add fix & test for selectedAddress match

* Call into store from props

* onChangeIdentity fix & test

* Phrase set fix & test

* RecoveryPhrase tested manually (issues addressed via tests)

* Hex import manual test (& tests added for errors)

* New eslint update fixes

* grumble: set default type from store (with test)

* grumble: pass copy of accounts (observable injection)

* grumble: Summary owners can be array or array-like
2017-01-24 16:18:23 +01:00
GitLab Build Bot
153f2ca2f2 [ci skip] js-precompiled 20170124-151134 2017-01-24 15:14:38 +00:00
Maciej Hirsz
a30a108ac9 Extended JS interface -> Markdown generator (#4275)
* Extended Markdown generator

* Fix linter errors

* Review fixes
2017-01-24 16:05:21 +01:00
Konstantin
9d0278e0f8 added 3 warpnodes for ropsten (#4289)
* added 3 warpnodes for ropsten

* Fixed indentation
2017-01-24 14:35:52 +01:00
GitLab Build Bot
7aafa8a7ec [ci skip] js-precompiled 20170124-105551 2017-01-24 10:59:12 +00:00
Jaco Greeff
53bbc76d06 Ledger Communication toolkit (#4268) 2017-01-24 11:46:59 +01:00
keorn
ba0209678b ValidatorSet reporting (#4208)
* remove register_account_provider

* build rpc module

* new dummy client

* common EngineSigner struct

* from -> into

* initial report via call

* separate safe from regular contract

* transact_contract

* fix build

* return Signature, docs

* add sign method to some engines

* add safeContract spec

* update specs to new contracts

* use AuthorityRound for contract spec

* add more reporting

* add reporting test

* use gas floor

* shorter
2017-01-24 12:03:58 +03:00
GitLab Build Bot
b6575cb230 [ci skip] js-precompiled 20170123-184530 2017-01-23 18:48:32 +00:00
Jaco Greeff
ea44555f44 Add parity_accountsInfo as available subscription (#4273) 2017-01-23 19:39:49 +01:00
GitLab Build Bot
1c6e9bc772 [ci skip] js-precompiled 20170123-164245 2017-01-23 16:47:50 +00:00
Jaco Greeff
183efe9d19 Display AccountCard name via IdentityName (#4235)
* Display AccountCard name via IdentityName

* Pass name through (catches registry reverse display)
2017-01-23 17:33:03 +01:00
GitLab Build Bot
f4149cc089 [ci skip] js-precompiled 20170123-160350 2017-01-23 16:06:59 +00:00
GitLab Build Bot
5fce415ac3 [ci skip] js-precompiled 20170123-155126 2017-01-23 15:54:58 +00:00
Jaco Greeff
3d1162e3d9 Dapp visibility save/load tests (#4150)
* Start of tests to replicate issue

* Expand visibility tests

* Cleanups

* typo

* Extend saving tests as requested (pre-emptive)

* tests for new setDisplayApps action

* Address PR oversights
2017-01-23 16:45:56 +01:00
GitLab Build Bot
512612424c [ci skip] js-precompiled 20170123-153219 2017-01-23 15:35:49 +00:00
Nicolas Gotchac
b5a53284cf Fix wrong output format of peers (#4270)
* Fix wrong output format of peers

* Add outPeer tests
2017-01-23 16:25:20 +01:00
keorn
b7f9b304c1 Chain scoring (#4218)
* chain scoring

* use current steps
2017-01-23 17:27:11 +03:00
Nikolay Volf
2034595652 Rust 1.14 for windows builds (#4269) 2017-01-23 15:13:02 +01:00
GitLab Build Bot
9994ca93f7 [ci skip] js-precompiled 20170123-124637 2017-01-23 12:49:32 +00:00
Jaco Greeff
66e540edf8 Eslint formatting updates (#4234)
* Eslint updated (newline-after-var)

* Fix newline-after-var

* Eslint updated (one-var-declaration-per-line)

* Fix one-var-declaration-per-line

* Fix additional errors

* Lint after merge
2017-01-23 13:39:52 +01:00
GitLab Build Bot
cff64233b4 [ci skip] js-precompiled 20170123-121125 2017-01-23 12:14:45 +00:00
Tomasz Drwięga
3e70e886a0 Embeddable ParityBar (#4222)
* Embeddable ParityBar

* Replacing storage with store

* Fixing  references.

* Addressing style issues

* Supporting parity background
2017-01-23 13:04:08 +01:00
Lukas Maerdian
275fd5096c Update deb-build.sh to fix libssl dependency (#4260) 2017-01-22 16:16:15 +01:00
Svyatoslav Nikolsky
092e24b9f2 Integration with zgp whitelist contract (#4215)
* zgp-transactions checker

* polishing

* rename + refactor

* refuse-service-transactions cl option

* fixed tests compilation
2017-01-22 16:15:22 +01:00
GitLab Build Bot
220084d77d [ci skip] js-precompiled 20170121-134923 2017-01-21 13:53:01 +00:00
Nicolas Gotchac
6b52ed4dfa Adjust the location of the signer snippet (#4155)
* Move signer tab

* WIP

* Better movments

* Save Parity Bar position per dapp

* Add position to Dapp Manifest

* Stick Parity Bar to the four corners
2017-01-21 14:44:13 +01:00
GitLab Build Bot
ebe9072836 [ci skip] js-precompiled 20170120-185430 2017-01-20 18:57:26 +00:00
Nicolas Gotchac
8edaab806e Fix wrong token handling (#4254)
* Fixing wrong token displayed

* Linting

* Revert filtering out

* Revert the revert
2017-01-20 19:49:09 +01:00
GitLab Build Bot
6c5167ebb3 [ci skip] js-precompiled 20170120-184412 2017-01-20 18:47:09 +00:00
Jaco Greeff
e9e63a4a88 Additional building-block UI components (#4239)
* Currency WIP

* Expand tests

* Pass className

* Add QrCode

* Export new components in ~/ui

* s/this.props.netSymbol/netSymbol/

* Fix import case
2017-01-20 19:38:18 +01:00
GitLab Build Bot
9ea7ec0252 [ci skip] js-precompiled 20170120-153650 2017-01-20 15:39:49 +00:00
Jaco Greeff
ca2983b407 Bump package.json to 0.3.0 (1.6 track) (#4244) 2017-01-20 16:31:03 +01:00
GitLab Build Bot
888ce1ca3d [ci skip] js-precompiled 20170120-145411 2017-01-20 14:57:00 +00:00
Jaco Greeff
29e91f80d1 Disable notifications (#4243) 2017-01-20 15:48:14 +01:00
Robert Habermeier
203fd8a471 Memory-based pruning history size (#4114)
* prune states based on memory param

* pruning memory CLI and usage in sync

* return purged value from memorydb

* calculate memory used incrementally in overlayrecentdb

* refactor shared history pruning code in client

* Fixed usage alignment

* journal_size function for fast memory calculation
2017-01-20 13:25:53 +01:00
keorn
97a60ceab1 Common EngineSigner (#4189)
* remove register_account_provider

* build rpc module

* new dummy client

* common EngineSigner struct

* from -> into

* return Signature, docs
2017-01-20 13:25:17 +01:00
Jannis Redmann
1f77c4301a verification: don't request a code twice (#4221)
* verification: check if user has received code

* verification: don't request a code twice

* code style :lint:
2017-01-20 13:23:21 +01:00
Jaco Greeff
4e35fd215e s/Delete Contract/Forget Contract/ (#4237) 2017-01-20 13:21:51 +01:00
Robert Habermeier
a791cb50a6 Light protocol syncing improvements (#4212)
* remove old lint silencer

* dispatch requests only to peers with higher TD

* dynamic target for sync rounds

* use round pivots instead of frames, fix test

* fix total difficulty calculation for test client

* fix broken reorg algorithm

* fork test, fix ancestor search
2017-01-20 12:41:59 +01:00
Robert Habermeier
3ff9324ec0 LES Peer Info (#4195)
* connected peers function for network service

* get LES peer info in sync API

* new peer info in RPC
2017-01-20 12:41:49 +01:00
Arkadiy Paronyan
35666f718b Don't panic on uknown git commit hash (#4231) 2017-01-20 10:18:26 +01:00
GitLab Build Bot
685c630b4d [ci skip] js-precompiled 20170120-091224 2017-01-20 09:15:30 +00:00
Jannis Redmann
df9110dd5e cache registry reverses in local storage (#4182)
* cache reverses in localStorage

* bugfixes 🐛, linting fixes 👕

* registry caching: store last block

* registry caching: store per chain

* localStorage -> store

* code style 

* code style 👕
2017-01-20 10:07:47 +01:00
Denis S. Soldatov aka General-Beck
f12bd17c20 update gitlab-ci
revert to 1337
[ci skip]
2017-01-20 02:28:04 +04:00
Denis S. Soldatov aka General-Beck
3e8d5dbe23 update gitlab-ci
comment to curl 1337
[ci skip]
2017-01-20 00:47:53 +04:00
Denis S. Soldatov aka General-Beck
71ed9f5fff update gitlab-ci
fix build docker image in debian
[ci skip]
2017-01-20 00:33:27 +04:00
Denis S. Soldatov aka General-Beck
0e99e527bf update gitlab-ci
add debian build win openssl 1.0.1
[ci skip]
2017-01-19 23:32:52 +04:00
Robert Habermeier
33680f5b82 Merge pull request #4223 from ethcore/rh-readme
update version numbers in README
2017-01-19 18:16:29 +01:00
Robert Habermeier
1be9f9eb1b update version numbers in README
[ci skip]
2017-01-19 17:38:50 +01:00
Robert Habermeier
5830e03201 Merge pull request #4181 from ethcore/cht-full-nodes
CHT calculations for full nodes
2017-01-19 15:12:44 +01:00
Gav
42886fed5a Dont push-release for beta/stable changes 2017-01-19 14:30:52 +01:00
GitLab Build Bot
6db17eb908 [ci skip] js-precompiled 20170119-131530 2017-01-19 13:19:21 +00:00
Jaco Greeff
e62cda36c7 Use single source of info for dapp meta (build & display) (#4217)
* Add skipBuild flag

* Only use builtin.json to specify location

* Re-remove dapps/index.js
2017-01-19 14:07:41 +01:00
GitLab Build Bot
ab073efbd9 [ci skip] js-precompiled 20170119-100631 2017-01-19 10:09:51 +00:00
Jaco Greeff
46081de886 Non-secure for DappReg (#4216) 2017-01-19 10:59:49 +01:00
GitLab Build Bot
a6365577e5 [ci skip] js-precompiled 20170119-093724 2017-01-19 09:41:00 +00:00
Gav Wood
0826bf75d1 Console now has admin (#4220)
Fixes #4210
2017-01-19 10:24:34 +01:00
GitLab Build Bot
f9509cc8b8 [ci skip] js-precompiled 20170119-075016 2017-01-19 07:53:32 +00:00
Jannis Redmann
b9031953e0 verification: add mainnet BadgeReg ids (#4190)
* verification: mainnet BadgeReg ids

* verification: fetch contracts by name

* verification: better wording

* typo

* reregistered badges
2017-01-19 08:45:32 +01:00
Tomasz Drwięga
24aec5191a Fixing minimal transaction queue price (#4204)
* Fixing minimal transaction queue price

* Fixing tests
2017-01-18 19:44:24 +01:00
keorn
73b80869f5 Remove unnecessary Engine method (#4184)
* remove register_account_provider

* build rpc module

* new dummy client
2017-01-18 18:49:50 +01:00
Arkadiy Paronyan
61bfe42d1d Fixed --base-path on windows (#4193)
* Fixed --base-path on windows

* Add support for optional args with default text
2017-01-18 18:45:30 +01:00
Tomasz Drwięga
b4ff08beb8 Fixing etherscan price parsing (#4202)
* Fixing etherscan price parsing

* Handling all errors
2017-01-18 17:56:21 +01:00
Robert Habermeier
3040a1c83e Merge pull request #4093 from ethcore/better-timeouts
LES: Better timeouts + Track failed requests
2017-01-18 15:04:48 +01:00
GitLab Build Bot
779440450f [ci skip] js-precompiled 20170118-121219 2017-01-18 12:15:38 +00:00
Jaco Greeff
08f80f2695 ESLint additional rules (#4186)
* Add eslint rule for consistent block padding

* Fix padding consistency issues

* Eslint test for duplicate imports

* Eslint closing bracket location

* Fix eslint jsx closing bracket

* missed a file

* Formatting

* Manual overrides for auto

* Manual overrides for auto

* More minor auto-override manual adjustments
2017-01-18 13:05:01 +01:00
Arkadiy Paronyan
d608ad2011 jsonr rpc bump for IPC fix (#4200) 2017-01-18 12:54:35 +01:00
GitLab Build Bot
1cb37e53c0 [ci skip] js-precompiled 20170118-114926 2017-01-18 11:52:24 +00:00
Jaco Greeff
c1ce65c870 Poll for upgrades as part of global status (long) (#4197)
* Poll for upgrades as part of global status (long)

* Fix path
2017-01-18 12:44:18 +01:00
Arkadiy Paronyan
7cab6ac263 Updater fixes (#4196)
* Minor typo to ensure it updates only when synced.

* Fix deadlock.

* Skip unneeded arg in making list.

* Allow auto-restart even when not running an update.

* Fix trace.

* Update update info on each loop.

* Fix build.

* Shutdown all sockets

* Remove superfluous use.
2017-01-17 23:34:46 +01:00
Arkadiy Paronyan
8852a05301 Prevent duplicate incoming connections (#4180) 2017-01-17 16:02:29 +01:00
Gav Wood
e95d66832c Minor typo to ensure it updates only when synced. (#4188) 2017-01-17 13:05:02 +01:00
GitLab Build Bot
6339b3c88a [ci skip] js-precompiled 20170117-102646 2017-01-17 10:34:02 +00:00
Evan Saulpaugh
7dde80fdf3 Minor refactor for clarity (#4174)
* Spelling & grammar in TxQueue Viewer description

* minor refactor for clarity

* Fix lint.
2017-01-17 11:17:38 +01:00
Björn Wagner
581604aae4 current release: 1.3 -> 1.4 (#4183) 2017-01-16 19:02:35 +01:00
Robert Habermeier
536df809c6 tests + documentation 2017-01-16 17:42:39 +01:00
Robert Habermeier
b960152d5b CHT calculations for full nodes 2017-01-16 17:10:30 +01:00
Robert Habermeier
31aae4ed78 move cht module up a level 2017-01-16 16:55:23 +01:00
Nikolay Volf
f807aa65a1 Secret - from hash function, also validate data (#4159)
* from hash for secret

* checked from_slice

* move assert

* remove fromhash
2017-01-16 16:50:20 +01:00
Svyatoslav Nikolsky
bac6293309 gas_limit for blocks, mined by Parity will be divisible by 37 (#4154)
* gas_limit for new blocks will divide evenly by 13

* increased PARITY_GAS_LIMIT_DETERMINANT to 37

* separate method for marking mined block

* debug_asserts(gas_limit within protocol range)

* round_block_gas_limit method is now static

* made round_block_gas_limit free-function

* multiplier->multiple [ci skip]
2017-01-16 14:29:51 +01:00
Tomasz Drwięga
76daf50876 Support HTML5-routed dapps (#4173) 2017-01-16 10:49:27 +01:00
Jannis Redmann
1d618faaa6 fix subscribeToEvents test (#4166)
* try to fix freaking test

* fix subscribeToEvents test

This fix is a workaround. I would have used sinon fake timers, but I
couldn't get them to work.

* subscribeToEvent test: simplify code
2017-01-16 10:48:20 +01:00
GitLab Build Bot
aee70c4f16 [ci skip] js-precompiled 20170116-033453 2017-01-16 03:37:54 +00:00
GitLab Build Bot
d6ed42bff5 [ci skip] js-precompiled 20170115-041925 2017-01-15 04:22:19 +00:00
GitLab Build Bot
4b85e3ee57 [ci skip] js-precompiled 20170114-041818 2017-01-14 04:21:24 +00:00
GitLab Build Bot
af00986456 [ci skip] js-precompiled 20170113-172058 2017-01-13 17:23:57 +00:00
Nicolas Gotchac
51ac34f1cc Fix dapps not loading (#4170)
* Add secure to dappsreg

* Remove trailing slash // fix dapps
2017-01-13 18:14:56 +01:00
Nicolas Gotchac
42ddb4f26c Fix token images // Error in Contract Queries (#4169) 2017-01-13 18:14:25 +01:00
Tomasz Drwięga
d0cebc3982 Bumping hyper (#4167) 2017-01-13 16:30:49 +01:00
Gav Wood
c2f4716ee2 icarus -> update, increase web timeout. (#4165)
* icarus -> update, increase web timeout.

* Fix estimate gas
2017-01-13 16:30:16 +01:00
GitLab Build Bot
7611bbd3ee [ci skip] js-precompiled 20170113-145733 2017-01-13 15:00:41 +00:00
Nicolas Gotchac
4a714d4a3e Add a password strength component (#4153)
* Added new PasswordStrength Component

* Added tests

* PR Grumbles
2017-01-13 15:52:42 +01:00
Nicolas Gotchac
57ce845e4c Stop flickering + added loader in AddressSelector (#4149)
* Stop UI flickering + added loader to AddressSelector #4103

* PR Grumbles
2017-01-13 15:52:24 +01:00
Robert Habermeier
f0eab337d8 Merge pull request #4036 from ethcore/on-demand-les-request
On demand LES request
2017-01-13 14:36:48 +01:00
Arkadiy Paronyan
cdc525449a Ropsten fork detection (#4163) 2017-01-13 14:28:10 +01:00
Denis S. Soldatov aka General-Beck
d4cab20425 remove icarus
[ci skip]
2017-01-13 16:27:03 +04:00
GitLab Build Bot
f3717b96ff [ci skip] js-precompiled 20170113-090039 2017-01-13 09:03:30 +00:00
Jaco Greeff
ee4ede915a Pull in console dapp as builtin (#4145)
* Copy static dapps from static (no build)

* Console sources

* Add console to builtins

* Remove console assets

* Disable eslint on console.js

* Enable eslint after disable

* Webpack copy
2017-01-13 08:53:57 +00:00
Arkadiy Paronyan
cfb6dd2ea8 Optimized hash lookups (#4144)
* Optimize hash comparison

* Use libc
2017-01-13 08:52:23 +00:00
Tomasz Drwięga
e11353f94c UnverifiedTransaction type (#4134)
* Introducing ValidSignedTransaction

* Verifiying transactions in engines

* Widening use of VerifiedSignedTransaction

* Renaming Transactions

* Uncommenting banning queue & Fixing tests

* Fixing json tests

* Fixing pre-homestead test

* Fixing imports

* Addressing grumbles

* Fixing test
2017-01-13 08:51:36 +00:00
Jannis Redmann
6f1c55ef5d verification: check if server is running (#4140)
* verification: check if server is running

See also ethcore/email-verification#67c6466 and ethcore/sms-verification#a585e42.

* verification: show in the UI if server is running

* verification: code style , more i18n

* fix i18n key
2017-01-13 08:51:25 +00:00
GitLab Build Bot
3d06456fa5 [ci skip] js-precompiled 20170113-042838 2017-01-13 04:31:31 +00:00
GitLab Build Bot
54b06cea16 [ci skip] js-precompiled 20170112-222827 2017-01-12 22:31:32 +00:00
GitLab Build Bot
887e5f730e [ci skip] js-precompiled 20170112-142354 2017-01-12 14:26:49 +00:00
Jaco Greeff
bff0f8ec5d Remove onSubmit of current (no auto-change on password edit) (#4151)
* Remove onSubmit from current password

* Remove onSubmit from hint
2017-01-12 15:18:16 +01:00
GitLab Build Bot
b4eea05bd3 [ci skip] js-precompiled 20170112-133204 2017-01-12 13:35:58 +00:00
Jaco Greeff
0de34774b1 Trim spaces from InputAddress (#4126)
* Trim spaces for addresses

* onSubmit has only value, not event

* onSubmit (again)

* Length check on trimmed value
2017-01-12 14:25:41 +01:00
Nicolas Gotchac
81beec1352 Don't pop-up notifications after network switch (#4076)
* Better notifications

* Don't pollute with notifs if switched networks

* Better connection close/open events / No more notifs on change network

* PR Grumbles

* Add close and open events to HTTP // Add tests

* Fix tests

* WIP Signer Fix

* Fix Signer // Better reconnection handling

* PR Grumbles

* PR Grumbles

* Fixes wrong fetching of balances + Notifications

* Secure API WIP

* Updated Secure API Connection + Status

* Linting

* Linting

* Updated Secure API Logic

* Proper handling of token updates // Fixing poping notifications

* PR Grumbles

* PR Grumbles

* Fixing tests
2017-01-12 14:25:32 +01:00
GitLab Build Bot
bc2ebdc564 [ci skip] js-precompiled 20170112-130413 2017-01-12 13:07:28 +00:00
Jaco Greeff
389e4e3bc0 Use estimateGas error (as per updated implementation) (#4131)
* Use estimateGas error (as per updated implementation)

* EXCEPTION_ERROR as per #4142
2017-01-12 13:56:37 +01:00
Robert Habermeier
7dde02b25d Merge branch 'master' into on-demand-les-request 2017-01-12 11:23:47 +01:00
Gav Wood
311730ea95 Improvements and optimisations to estimate_gas (#4142)
* Return 0 instead of error with out of gas on estimate_gas

* Fix stuff up.

* Another estimate gas fix.

* Alter balance to maximum possible rather than GP=0.

* Only increase to amount strictly necessary.

* Improvements and optimisations to estimate_gas.

- Introduce proper error type
- Avoid building costly traces

* Fix tests.

* Actually fix testsActually fix tests
2017-01-12 11:06:12 +01:00
Tomasz Drwięga
41da1a0a79 New jsonrpc-core with futures and metadata support (#3859)
* Bumping serde & serde_json

* Super-initial usage of new jsonrpc

* Single event loop for jsonrpc

* Metadata

* Supporting metadata extraction for eth_accounts

* Fixing Cargo.lock

* Removing uneccessary clones

* Fixing unused import

* Unused import

* Fixing test
2017-01-11 20:02:27 +01:00
Gav Wood
c4d96a64a2 Reenable mainnet update server. (#4137) 2017-01-11 20:01:45 +01:00
Jannis Redmann
f0c831d63f temporarily skip failing test (#4138) 2017-01-11 20:01:19 +01:00
Robert Habermeier
78e670812c fix test compilation 2017-01-11 18:57:38 +01:00
Robert Habermeier
e88c62d37d Merge branch 'master' into better-timeouts 2017-01-11 18:55:16 +01:00
Robert Habermeier
7b3c648d3e Merge branch 'master' into better-timeouts 2017-01-11 18:47:09 +01:00
keorn
844b1f8c0d Refactor VoteCollector (#4101)
* dir

* simple validator list

* stub validator contract

* make the engine hold Weak<Client> instead of IoChannel

* validator set factory

* register weak client with ValidatorContract

* check chain security

* add address array to generator

* register provider contract

* update validator set on notify

* add validator contract spec

* simple list test

* split update and contract test

* contract change

* use client in tendermint

* fix deadlock

* step duration in params

* adapt tendermint tests

* add storage fields to test spec

* constructor spec

* execute under wrong address

* create under correct address

* revert

* validator contract constructor

* move genesis block lookup

* add removal ability to contract

* validator contract adding validators

* fix basic authority

* validator changing test

* more docs

* update sync tests

* remove env_logger

* another env_logger

* cameltoe

* hold EngineClient instead of Client

* return error on misbehaviour

* nicer return

* sprinkle docs
2017-01-11 17:56:50 +01:00
Gav Wood
56c546f465 Another minor estimation fix (#4133)
* Return 0 instead of error with out of gas on estimate_gas

* Fix stuff up.

* Another estimate gas fix.

* Alter balance to maximum possible rather than GP=0.

* Only increase to amount strictly necessary.
2017-01-11 17:51:48 +01:00
Nicolas Gotchac
8d3d76c107 Add proper label to method decoding inputs (#4136) 2017-01-11 17:44:56 +01:00
GitLab Build Bot
a4b93b4b88 [ci skip] js-precompiled 20170111-160821 2017-01-11 16:11:45 +00:00
Jaco Greeff
3e74d46a06 Remove bindActionCreators({}, dispatch) (empty) (#4135) 2017-01-11 17:02:53 +01:00
Jaco Greeff
32dbf9958e Better error log reporting & handling (#4128) 2017-01-11 17:02:39 +01:00
Nicolas Gotchac
b54709605a Fix broken transfer total balance (#4127) 2017-01-11 17:01:35 +01:00
Robert Habermeier
7123f19a75 Test harness for lightsync (#4109)
* make on_connect/disconnect public

* free flow params constructor

* Shared ownership of LES handlers

* light provider impl for test client

* skeleton for testing light sync

* have test_client use actual genesis

* fix underflow in provider

* test harnesses for lightsync

* fix tests

* fix test failure caused by test_client changes
2017-01-11 14:39:03 +01:00
Gav Wood
7286d42b7d Fix call/estimate_gas (#4121)
* Return 0 instead of error with out of gas on estimate_gas

* Fix stuff up.
2017-01-11 14:28:27 +01:00
GitLab Build Bot
2edd893f23 [ci skip] js-precompiled 20170111-112556 2017-01-11 11:28:45 +00:00
Tomasz Drwięga
26500af8c0 Fixing decoding API with signatures in names (#4125) 2017-01-11 12:17:04 +01:00
Tomasz Drwięga
21006da125 Get rid of unsafe code in ethkey, propagate incorrect Secret errors. (#4119)
* Implementing secret

* Fixing tests
2017-01-11 12:16:47 +01:00
Jannis Redmann
4ecd9da6e4 basic tests for subscribeToEvents (#4115)
* subscribeToEvent fixtures 

* subscribeToEvent tests 
2017-01-11 12:14:04 +01:00
Robert Habermeier
5b8a7259c1 Merge branch 'master' into on-demand-les-request 2017-01-11 11:39:43 +01:00
GitLab Build Bot
6f3cefe17f [ci skip] js-precompiled 20170110-180532 2017-01-10 18:09:09 +00:00
Tomasz Drwięga
7aa2af3e21 Auto-detect hex encoded bytes in sha3 (#4108)
* Auto-detect hex encoded bytes in sha3

* Using types/isHex

* Removing unused imports
2017-01-10 18:56:56 +01:00
Gav Wood
23feb7998f Use binary chop to estimate gas accurately (#4100)
* Initial sketch.

* Building.

* Fix a few things.

* Fix issue, add tracing.

* Address grumbles

* Raise upper limit if needed

* Fix test.
2017-01-10 18:56:41 +01:00
Denis S. Soldatov aka General-Beck
baa754cc52 Update gitlab-ci
fix curl in arm
2017-01-10 20:26:15 +04:00
Arkadiy Paronyan
148ea37687 v1.6 in master (#4113) 2017-01-10 15:41:59 +01:00
Gav Wood
ae144b7f62 Ignore get_price_info test by default. (#4112) 2017-01-10 15:41:48 +01:00
GitLab Build Bot
6e43903ab7 [ci skip] js-precompiled 20170110-124838 2017-01-10 12:51:37 +00:00
Jaco Greeff
f0e017fe6c Wrong log output address (#4106) 2017-01-10 13:42:29 +01:00
Gav Wood
8117036e0f Avoid comms with not-yet-active release update server. (#4111) 2017-01-10 13:41:21 +01:00
GitLab Build Bot
16e22b7f87 [ci skip] js-precompiled 20170110-123414 2017-01-10 12:37:38 +00:00
Nicolas Gotchac
cee2ac43c0 Update Transfer logic + Better logging (#4098)
* Add logs and better Transfer Store logic

* Fix wallet transfer

* Fix wrong gas in Wallet

* Move log levels to Parity tab
2017-01-10 13:26:30 +01:00
Nicolas Gotchac
ae7619431b Fix Signer (#4104) 2017-01-10 13:19:18 +01:00
GitLab Build Bot
78566cf9bf [ci skip] js-precompiled 20170110-113807 2017-01-10 11:41:00 +00:00
Jannis Redmann
8958603f64 merge #4066 from jr-reverse-caching
cache registry reverses, completion in address selector
2017-01-10 12:30:57 +01:00
keorn
be30c44179 Validator/authority contract (#3937)
* dir

* simple validator list

* stub validator contract

* make the engine hold Weak<Client> instead of IoChannel

* validator set factory

* register weak client with ValidatorContract

* check chain security

* add address array to generator

* register provider contract

* update validator set on notify

* add validator contract spec

* simple list test

* split update and contract test

* contract change

* use client in tendermint

* fix deadlock

* step duration in params

* adapt tendermint tests

* add storage fields to test spec

* constructor spec

* execute under wrong address

* create under correct address

* revert

* validator contract constructor

* move genesis block lookup

* add removal ability to contract

* validator contract adding validators

* fix basic authority

* validator changing test

* more docs

* update sync tests

* remove env_logger

* another env_logger

* cameltoe

* hold EngineClient instead of Client

* add a comment about lock scope
2017-01-10 12:23:59 +01:00
Arkadiy Paronyan
5c5244911e No reorg limit for ancient blocks (#4099) 2017-01-10 12:22:28 +01:00
Arkadiy Paronyan
d67ceec50c Update registration after every write (#4102) 2017-01-10 12:11:32 +01:00
Jannis R
f12937a21e reverse caching: use subscribeToEvents 2017-01-09 19:09:22 +01:00
Jannis R
67c2981975 subscribeToEvent -> subscribeToEvents 2017-01-09 19:09:21 +01:00
Gav Wood
e86b955815 Default to no auto-update. (#4092)
* Default to no auto-update.

* Fix test.
2017-01-09 18:33:53 +01:00
Jannis R
cca7627fb8 reverse caching: PR grumbles 2017-01-09 17:49:06 +01:00
Tomasz Drwięga
a584c6396c Don't remove out of date local transactions (#4094) 2017-01-09 17:01:09 +01:00
Jannis R
61a42cc7e4 reverse caching: pass API into middleware 2017-01-09 16:59:33 +01:00
Jannis R
8c2aa4d87c address selector: unique registry results 2017-01-09 14:24:04 +01:00
Jannis R
f05ffd2e09 address selector: complete reverses by name as well 2017-01-09 14:13:11 +01:00
Jannis R
38734c92c2 address selector: lower case for reverse completion 2017-01-09 14:03:52 +01:00
Jannis R
92742e663a merge master into jr-reverse-caching 2017-01-09 12:50:26 +01:00
keorn
8d256b223d Fix rebroadcast panic (#4084)
* fix

* fix compile

* remove peers trace

* simplify

* Fixing 'simplify'
2017-01-09 12:41:19 +01:00
Jaco Greeff
378739fae1 Use shallow-only rendering in all tests (#4087)
* Container/Title with shallow

* IdentityName with shallow

* IdentityIcon with shallow

* TypedInput to shallow

* DetailsStep to shallow
2017-01-09 12:40:29 +01:00
Robert Habermeier
d515ef9a2a test for id_guard behavior 2017-01-09 12:20:44 +01:00
Robert Habermeier
54058e3712 ensure failed requests considered unfulfilled 2017-01-09 11:29:06 +01:00
Tomasz Drwięga
4c94878cf7 Sending transactions in chunks. (#4089) 2017-01-09 11:20:02 +01:00
Gav Wood
14e65e5c3c Move to new CI servers. (#4091) 2017-01-09 11:16:21 +01:00
Tomasz Drwięga
9fec422a1b Fixing compilation without dapps. (#4088) 2017-01-09 11:16:05 +01:00
Nicolas Gotchac
e1847442cc Fix balances update (#4077)
* Fix balances fetching

* Fix fetching balances while syncing
2017-01-09 11:15:00 +01:00
Nicolas Gotchac
40f0ee004f Key derivation in Worker (#4071)
* Add Signer Key Derivation in Service Worker

* Several fixes throughout the UI

* Hint for external account // working Worker

* Add Worker state change

* PR Grumbles
2017-01-09 11:14:36 +01:00
GitLab Build Bot
ec4b4cfbf2 [ci skip] js-precompiled 20170109-084458 2017-01-09 08:47:45 +00:00
Nicolas Gotchac
cf0a20f08b Display contract block creation (#4069)
* Add contract block creation to metadata

* Display mined block for contract on Contracts view

* Better use of Summary for Accounts

* Add sorted by mined block for contracts

* Proper Block Number sort // display in contract page

* PR Grumble

* Linting issues
2017-01-09 09:38:27 +01:00
Tomasz Drwięga
71e6e24a1f Improving logs for transactions sync and disable re-broadcasting while syncing (#4065)
* Improving logs for transaction propagation

* Propagate only on timer
2017-01-08 17:12:17 +01:00
GitLab Build Bot
33d3c1f999 [ci skip] js-precompiled 20170108-033146 2017-01-08 03:34:41 +00:00
GitLab Build Bot
920d2217c8 [ci skip] js-precompiled 20170107-041806 2017-01-07 04:21:07 +00:00
Jannis R
ba4263e33f fix tests 2017-01-06 18:55:18 +01:00
GitLab Build Bot
c73bb3eed7 [ci skip] js-precompiled 20170106-170326 2017-01-06 17:06:28 +00:00
Nicolas Gotchac
761ed913a8 Passwords are valid by default (#4075)
* Passwords are valid by default #4059

* Actually fixing the issue
2017-01-06 17:56:57 +01:00
GitLab Build Bot
a7f23cbaed [ci skip] js-precompiled 20170106-162807 2017-01-06 16:31:16 +00:00
Nicolas Gotchac
30394bdb1c Add Origin to events table (#4073) 2017-01-06 17:24:35 +01:00
Nicolas Gotchac
81641a5839 Fix tags after Account view (#4070) 2017-01-06 17:23:04 +01:00
Robert Habermeier
9c00eb4e8a Zero-alloc trie lookups (#3998)
* triedb cleanup

* factor out common portion of trie query

* allocate far fewer times in node decoding

* fix bench compilation

* introduce OwnedNode variant to make iter fast again

* generalize recorder trait to Query

* decode trie outputs cost-free in state

* test for passing closure as query
2017-01-06 16:18:45 +01:00
Tomasz Drwięga
e983339edd Opening local dapp (#4041)
* Opening local dapp

* Using Path/PathBuf instead of Strings

* Fixing typo and adding some docs to apps::fs functions
2017-01-06 16:05:58 +01:00
Jannis R
c4f7b8fb96 merge master into jr-reverse-caching 2017-01-06 16:03:05 +01:00
GitLab Build Bot
332a45846d [ci skip] js-precompiled 20170106-144307 2017-01-06 14:46:06 +00:00
Tomasz Drwięga
f6349187ef Bringing back js-sha3 to fix in-browser signing (#4063)
* Bring back Uint8Array sha3 support

* Added SHA3 test with HEX encoding

* Rename hex2Ascii => hexToAscii
Add tests or the api/util/format functions
Use js-sha3 for sha3 with hex encoding support

* Adding Uint8Array test

* Fixing Transaction import
2017-01-06 15:36:24 +01:00
Jannis R
ad3b89dc14 Merge master into jr-reverse-caching 2017-01-06 13:35:50 +01:00
GitLab Build Bot
52d3633473 [ci skip] js-precompiled 20170106-094801 2017-01-06 09:50:58 +00:00
Nicolas Gotchac
9ab9ff2381 Fix wrong transaction input for contract deployments (#4052)
* Fix mutable options in Contract API

* Add Swarm hash and meta data from Solidity

* Updates tests for contract deployment

* Add test for deploy without constructor Params
2017-01-06 10:39:18 +01:00
Tomasz Drwięga
1b93d79a90 Re-broadcast transactions to few random peers on each new block. (#4054)
* Introduce predictable randomness in tests

* Re-broadcasting to few peers
2017-01-06 10:38:49 +01:00
GitLab Build Bot
20aaf17389 [ci skip] js-precompiled 20170106-050640 2017-01-06 05:12:05 +00:00
GitLab Build Bot
c2d4ee7555 [ci skip] js-precompiled 20170105-202446 2017-01-05 20:28:26 +00:00
Tomasz Drwięga
eb0daea9b9 Removing old transactions from the queue (#4046)
* Removing old transactions from the queue

* Addressing grumbles
2017-01-05 21:16:52 +01:00
keorn
fbc9f0d7fb Add block rewards to more Engines (#4055)
* add block rewards

* imports
2017-01-05 21:16:13 +01:00
Robert Habermeier
b4e713efdc return old trie values on insert and remove (#4053)
* return old trie values on insert and remove

* fix json tests
2017-01-05 21:15:43 +01:00
Jannis Redmann
20c1d37b59 let users open urls from dapps view (#4042)
* browser: better url handling

* browser: pass url as param

* dapps: button to open browser

* dapps url button: remove url validation

* PR grumbles, better URL parsing

* code style 

* better URL parsing, react to changed URL fragment
2017-01-05 21:15:01 +01:00
Jannis R
2aa76e5acc address selector: simple completion for reversed addresses 2017-01-05 18:21:15 +01:00
Jannis R
71e80f10d8 reverse caching: optimize timing
Users quickly want all reverses registered in the path,
but don't care so much about live data.
2017-01-05 17:27:25 +01:00
Jannis R
6f492a4945 address selector: use cached reverses 2017-01-05 17:19:26 +01:00
GitLab Build Bot
7d807551e8 [ci skip] js-precompiled 20170105-155705 2017-01-05 15:59:53 +00:00
Jannis R
b38aa8d01f reverse caching: middleware 2017-01-05 16:56:40 +01:00
Jannis R
ac2c678e69 reverse caching: redux boilerplate 2017-01-05 16:56:11 +01:00
Jaco Greeff
20ad2e7d42 Util/validation update (#4051)
* Fix code validation for null inputs

* tests WIP

* tests WIP

* Update validation tests

* Adjust block names, slice (PR comments)
2017-01-05 16:51:27 +01:00
Jaco Greeff
9613145464 Convert ShapeShift modal to store (#4035)
* WIP

* WIP store

* Store in-place

* WIP tests

* Store completed

* Expand option tests for events

* Fix & test for errors found in manual testing

* Add missing @observer (rookie mistake)

* Fix intl formatting error (completed step)

* Pass store to ErrorStep, test all stages for components

* Add warning messages (e.g. no price found)

* Fix typo
2017-01-05 16:51:16 +01:00
Tomasz Drwięga
a076ffaf8c Using local path on Windows (#4017)
* Using non-roaming path on Windows

* Fixing test
2017-01-05 13:12:54 +00:00
Tomasz Drwięga
91f864b2b7 Fixing minGasLimit > ceil limit mining issue (#4018) 2017-01-05 12:59:16 +00:00
Robert Habermeier
75b5acf21d use common BasicAccount type 2017-01-05 13:26:14 +01:00
Robert Habermeier
8446a8354b Merge branch 'master' into on-demand-les-request 2017-01-05 13:18:24 +01:00
Robert Habermeier
f1dd96ca5d Merge pull request #3892 from ethcore/lightsync
Naive light client synchronization
2017-01-05 13:17:14 +01:00
GitLab Build Bot
e7e561024a [ci skip] js-precompiled 20170105-111302 2017-01-05 11:15:57 +00:00
Jaco Greeff
1ef67f68ed Starting on homestead shows reload snackbar (#4043)
* Fix issue where starting on homestead showed reload

* Align snackbar timing with errors (60s)
2017-01-05 12:07:10 +01:00
Nicolas Gotchac
d16ab5eac5 Show contract parameters in MethodDecoding (#4024)
* Add decoding of Inner Contract Deployment params #3715

* Fixed TypedInput when formatted value

* Fix TypedInput

* PR Grumble

* Add test to `Param.toParams`
2017-01-05 12:06:58 +01:00
Jaco Greeff
ddeb06d9cc UI component updates (#4010)
* Update blockStatus & test results

* IdentityIcon rendering tests for #3950

* Update IdentityName with external messages

* Expand to cover basic layout sections

* ConfirmDialog rendering tests

* TxHash expansion & tests

* Cleanup ui/*.spec.js PropType warnings

* Use react-intl plural for confirmation/confirmations (verified manually)
2017-01-05 12:06:46 +01:00
Jaco Greeff
602a4429cc Account view updates (#4008)
* Fix null account render issue, add tests

* Add tests for #3999 fix (merged in #4000)

* Only include sinon-as-promised globally for mocha

* Move transactions state into tested store

* Add esjify for mocha + ejs (cherry-picked)

* Extract store state into store, test it

* Use address (as per PR comments)

* Fix failing test after master merge
2017-01-05 12:06:35 +01:00
Maciej Hirsz
881066243b Merge pull request #4034 from maciejhirsz/mh-pwmsg
Better error messages for PoA chains, closes #4030
2017-01-05 11:13:45 +01:00
keorn
93237045b8 Merge pull request #4019 from ethcore/optional-spec
Make some spec fields optional
2017-01-04 19:25:42 +01:00
Robert Habermeier
99f091ecee Merge pull request #4021 from ethcore/basic-account
Basic account type
2017-01-04 19:00:21 +01:00
Robert Habermeier
f63faea308 test for request_set and remove idle flag 2017-01-04 18:43:11 +01:00
Robert Habermeier
04282be721 use request set to provide better timeouts 2017-01-04 18:00:12 +01:00
maciejhirsz
a4b4263580 Adaptive hints 2017-01-04 16:51:27 +01:00
GitLab Build Bot
7ebf8be12e [ci skip] js-precompiled 20170104-153136 2017-01-04 15:34:36 +00:00
Nicolas Gotchac
fbb52ac58b Fix wallet in main net (#4038) 2017-01-04 16:25:39 +01:00
Robert Habermeier
6ad0a0baaa fix test imports 2017-01-04 16:12:58 +01:00
Robert Habermeier
5a3aa98115 Merge pull request #4032 from ethcore/https-fetch
Removing orphaned Cargo.toml
2017-01-04 15:28:50 +01:00
GitLab Build Bot
6861230bee [ci skip] js-precompiled 20170104-142103 2017-01-04 14:24:09 +00:00
Robert Habermeier
5060370c70 Merge branch 'lightsync' into on-demand-les-request 2017-01-04 15:18:22 +01:00
Jannis Redmann
839ee9afd7 address selector: support reverse lookup (#4033)
* address selector: simplify lookup

* address selector: support reverse lookup
2017-01-04 15:15:36 +01:00
Nicolas Gotchac
71e7a429d7 Only fetch App when necessary (#4023)
* Only fetch App when necessary. Show loadings + 404 #3914

* PR Grumble
2017-01-04 15:15:25 +01:00
Jaco Greeff
cc8e200ed5 Connection UI cleanups & tests for prior PR (#4020)
* Cleanups & tests for #3945

* Externalise icons as per PR comments
2017-01-04 15:15:11 +01:00
Jaco Greeff
7cdfaf1a43 Unsubscribe error on ShapeShift modal close (#4005)
* unsubscribe in onClose (state available)

* Revert "unsubscribe in onClose (state available)"

This reverts commit 1da0a7447563e3cb0d9149b0b9898ec93b483982.

* Fix shapeshift double unsubscribe

* Swap multiple list test addresses
2017-01-04 15:14:51 +01:00
Nicolas Gotchac
63017268ad Add ownership checks the Registry dApp (#4001)
* Fixes to the Registry dApp

* WIP Add Owner Lookup

* Proper sha3 implementation

* Add working owner lookup to reg dApp

* Add errors to Name Reg

* Add records error in Reg dApp

* Add errors for reverse in reg dApp

* PR Grumbles
2017-01-04 15:14:37 +01:00
Robert Habermeier
0b9a0b138b remove --light CLI 2017-01-04 15:07:49 +01:00
Robert Habermeier
ed98c389ca no_peers test 2017-01-04 14:54:50 +01:00
maciejhirsz
516c41c1ee Move hints to constants 2017-01-04 14:48:32 +01:00
Robert Habermeier
62bc92ff4d Merge branch 'master' into on-demand-les-request 2017-01-04 14:33:45 +01:00
Robert Habermeier
38ac84f0c7 reassign requests on failure 2017-01-04 14:33:32 +01:00
maciejhirsz
4b1b67bfeb Analog error messages for unlocking accounts 2017-01-04 14:05:32 +01:00
Robert Habermeier
ca35b345ca separate request dispatch from creation 2017-01-04 13:58:26 +01:00
Robert Habermeier
1d51b6f7e5 handle incoming LES requests 2017-01-04 13:34:50 +01:00
maciejhirsz
8ca0e09ffc Better error messages for PoA chains 2017-01-04 12:50:50 +01:00
Robert Habermeier
4e94f43644 tests for request module 2017-01-04 12:48:07 +01:00
Tomasz Drwięga
8d1a91b3b8 Removing orphaned Cargo.toml 2017-01-04 12:36:37 +01:00
GitLab Build Bot
4c532f9e3d [ci skip] js-precompiled 20170104-033203 2017-01-04 03:34:53 +00:00
Robert Habermeier
01977e60aa finish request module, basic dispatch 2017-01-03 19:13:40 +01:00
GitLab Build Bot
6c3b9327dd [ci skip] js-precompiled 20170103-164739 2017-01-03 16:50:54 +00:00
Jannis Redmann
565a1b510e refresh balances of contacts & contracts when syncing (#4022) 2017-01-03 17:42:05 +01:00
Jannis Redmann
9de8ba0cf5 show message on new chain (#4016)
* clear account infos on new chain

* new chain: show only snackbar

* fix new chain popup 🐛
2017-01-03 17:41:55 +01:00
Nicolas Gotchac
e8ef7b357d Use TypedInputs in Contracts view (#4015)
* Use TypedInput in Contracts

* Add right readOnly Bool TypedInput

* PR Grumbles
2017-01-03 17:41:46 +01:00
Nicolas Gotchac
0f41c5b847 Fix focus on Modal (#4014)
* Fix focus on Modal #3814

* PR Grumble
2017-01-03 17:41:31 +01:00
Jaco Greeff
04ed53e0f2 Fix newError noops when not bound to dispacher (#4013)
* AddContract properly binds newError

* EditMeta properly binds newError

* PasswordManager properly binds newError

* pass null instead of empty mapStateToProps

* Add openSnackbar test & binded prop
2017-01-03 17:41:21 +01:00
Robert Habermeier
5d2cf22ef4 use basic_account in snapshot 2017-01-03 17:05:27 +01:00
Robert Habermeier
eb2b1ad5da move basic_account to types module 2017-01-03 16:43:22 +01:00
Robert Habermeier
7c715aeec3 basic account type 2017-01-03 16:32:50 +01:00
Robert Habermeier
4dbbc3bc88 beginnings of on_demand request module + verification 2017-01-03 16:18:57 +01:00
keorn
e5b3c092c8 Merge branch 'master' into optional-spec 2017-01-03 15:42:56 +01:00
Robert Habermeier
9db3f383e3 Merge pull request #4004 from ethcore/testnet-flag-ropsten
parse testnet chain as ropsten
2017-01-03 12:29:10 +01:00
GitLab Build Bot
efa36545ce [ci skip] js-precompiled 20170103-033107 2017-01-03 03:33:55 +00:00
GitLab Build Bot
5210062a40 [ci skip] js-precompiled 20170102-033239 2017-01-02 03:35:30 +00:00
GitLab Build Bot
2fbb007911 [ci skip] js-precompiled 20170101-042119 2017-01-01 04:24:16 +00:00
GitLab Build Bot
6608027c02 [ci skip] js-precompiled 20161231-133348 2016-12-31 13:36:49 +00:00
Nicolas Gotchac
0c6a9ebbb9 Work on Portal Style (#4003)
* Reduce Portal size and close on click outside

* PR Grumbles
2016-12-31 13:28:16 +00:00
GitLab Build Bot
c93d3c1580 [ci skip] js-precompiled 20161231-033147 2016-12-31 03:34:58 +00:00
Robert Habermeier
29e8b2a3b8 parse testnet chain as ropsten 2016-12-30 15:52:49 +01:00
GitLab Build Bot
2365c714d4 [ci skip] js-precompiled 20161230-113233 2016-12-30 11:35:18 +00:00
Nicolas Gotchac
fd41a10319 Make Wallet first-class citizens (#3990)
* Fixed hint in Address Select + Wallet as first-class-citizen

* Separate Owned and not Owned Wallets

* Fix balance not updating

* Fix MethodDecoding for Contract Deployment

* Fix TypedInput params

* Fix Token Transfer for Wallet

* Small change to contracts

* Fix wallets shown twice

* Fix separation of accounts and wallets in Accounts

* Fix linting

* Execute contract methods from Wallet ✓

* Fixing linting

* Wallet as first-class citizen: Part 1 (Manual) #3784

* Lower level wallet transaction convertion

* Fix linting

* Proper autoFocus on right Signer input

* PR Grumble: don't show Wallets in dApps Permissions

* Add postTransaction and gasEstimate wrapper methods

* Extract Wallet postTx and gasEstimate to utils + PATCH api

* Remove invalid test

It's totally valid for input's length not to be a multiple of 32 bytes. EG. for Wallet Contracts

* Merge master

* Fix linting

* Fix merge issue

* Rename Portal

* Rename Protal => Portal (typo)
2016-12-30 11:28:12 +00:00
GitLab Build Bot
88c0329a31 [ci skip] js-precompiled 20161230-041039 2016-12-30 04:13:29 +00:00
GitLab Build Bot
02ea3ab0f8 [ci skip] js-precompiled 20161229-200742 2016-12-29 20:10:35 +00:00
Jaco Greeff
37c607d7b0 Don't slice non-existent tags (#4000) 2016-12-29 20:01:36 +00:00
GitLab Build Bot
b5f6162630 [ci skip] js-precompiled 20161229-185700 2016-12-29 18:59:55 +00:00
Nicolas Gotchac
75f2644e6a Update dev dependencies and make Webpack less verbose (#3997)
* Update dev dependencies // Less verbose Webpack

* Fix linting fro JSX
2016-12-29 18:48:39 +00:00
Tomasz Drwięga
b24fc97cb6 Correct log index in transaction receipt (#3995)
* Moving logs to separate, testable function

* Adding test

* Fixing log index

* Adding transaction log index

* Fixing rpc tests

* Making interface of  a bit cleaner.
2016-12-29 18:48:28 +00:00
Nicolas Gotchac
9814251a28 Add Email and Registry lookups to Address Selector (#3992)
* Move AccountSelect values to MobX store

* Mail registry + small fixes

* Add Registry to AddressSelect lookups + Nav fixes

* Fix linting

* PR Grumbles

* Fix tests and propTypes
2016-12-29 18:47:53 +00:00
Robert Habermeier
486f7ae684 Merge pull request #3994 from ethcore/remove-dead-journal
remove node journal: dead code
2016-12-29 13:58:41 +01:00
Robert Habermeier
4101396fc4 remove node journal: dead code 2016-12-29 11:06:00 +01:00
GitLab Build Bot
34aee26a2e [ci skip] js-precompiled 20161229-041755 2016-12-29 04:20:52 +00:00
Robert Habermeier
ddf2b944b5 on demand request dispatch 2016-12-28 21:46:55 +01:00
GitLab Build Bot
a3fe74ac69 [ci skip] js-precompiled 20161228-175047 2016-12-28 17:53:25 +00:00
Jaco Greeff
8677c3b91f Cleanup AddContract with store (#3981)
* Splits (WIP)

* Expand getters & setters

* Initial abi type set

* Expand

* Don't rely on passed api

* Store tests in place

* Allow RadioButtons to accept MobX arrays

* Fixes for manual testing
2016-12-28 17:09:54 +00:00
Jaco Greeff
7e600b5a82 Store for EditPassword Modal (#3979)
* External store (WIP)

* address & meta

* Add editable (WIP)

* View converted (WIP)

* Single API stub creation

* Testing (WIP)

* Simplified meta assign

* Tests running

* Fix duplicate exports

* Fix tags not editable
2016-12-28 17:09:45 +00:00
Robert Habermeier
4daa645789 dispatch header requests 2016-12-28 16:20:46 +01:00
Robert Habermeier
5309ba45a8 update peer status from announcement 2016-12-28 16:20:35 +01:00
Robert Habermeier
e6324a83f1 Merge branch 'master' into lightsync 2016-12-28 15:53:11 +01:00
Robert Habermeier
c2ad769fb7 Merge branch 'master' into on-demand-les-request 2016-12-28 14:00:33 +01:00
Tomasz Drwięga
3067a8de3e Additional fetch tests (#3983)
* First bunch of tests

* Dapps zip tests
2016-12-28 12:45:25 +00:00
Robert Habermeier
fe1f542c4f Owning views of blockchain data (#3982)
* owning views of blockchain data

* port blockchain and client traits to owning views

* fix ethcore tests

* use strong headers and bodies in ethcore_light

* port ethsync to use owning views

* port rpc to owning views

* port parity informant and blockchain export
2016-12-28 12:44:51 +00:00
Robert Habermeier
592a3ac623 Merge pull request #3974 from ethcore/mock-net
make test network generic over peer type
2016-12-28 13:32:06 +01:00
Robert Habermeier
428d5db9d1 beginning of on_demand 2016-12-27 16:43:28 +01:00
Tomasz Drwięga
bc3dacc952 Fetch tests (first batch) (#3977)
* Customizable fetch

* Some basic Fetch tests
2016-12-27 15:38:55 +00:00
GitLab Build Bot
a95057abe1 [ci skip] js-precompiled 20161227-152844 2016-12-27 15:31:43 +00:00
Nicolas Gotchac
7581ac635f Fetch certifiers only when needed (#3978)
* Fetch certifiers once + on new Logs

* Linting

* BadgeReg First Query

* Rightly fetching badges on page change

* PR Grumbles

* Only fetch certifiers onces
2016-12-27 15:23:58 +00:00
Jaco Greeff
b27c809c64 Visible accounts for dapps (default whitelist) (#3898)
* Add APIs for Dapp management

* Move AddDapps modal

* Add DappsPermissions Modal (basics)

* Allow whitelist editing

* Add select/unselect tests

* Case

* Case

* Modal render/non-render tests

* UI made slightly prettier

* Adjust spacing

* Allow get/set of null for default whitelist (all)

* Allow null = all for selection

* Adjust selected background

* Address valid comment on formatters location
2016-12-27 15:23:41 +00:00
Robert Habermeier
9b4f90718f Display impl for ReqId 2016-12-27 13:54:51 +01:00
Robert Habermeier
80eae8cc49 remove some old (unused/duplicate) files (#3975) 2016-12-27 12:41:22 +00:00
Robert Habermeier
8125b5690c Port try macro to new ? operator. (#3962)
* initial untry sweep

* restore try in ipc codegen, fix inference

* change a few missed try instances
2016-12-27 12:53:56 +01:00
GitLab Build Bot
b1ef52a6d7 [ci skip] js-precompiled 20161227-114547 2016-12-27 11:48:47 +00:00
Jaco Greeff
19c8e55aa9 Small UI fixes (#3966)
* Load dapp visibility from localStorage

* Align MethodDecoding address svg properly

* Consolidate svg & img classes overrides

* improve isNullAddress check

* readOnly for null display

* disabled || readOnly
2016-12-27 12:40:33 +01:00
Nicolas Gotchac
ce8d9252e7 Fix wrong use of Icons (#3973) 2016-12-27 12:40:16 +01:00
Robert Habermeier
55dbfbf35b address grumbles 2016-12-27 12:24:18 +01:00
Robert Habermeier
84219a0094 make test network generic over peer type 2016-12-27 11:23:57 +01:00
Tomasz Drwięga
7454212b28 Updating dependencies (#3968) 2016-12-27 10:17:50 +00:00
Tomasz Drwięga
c7c309d152 Web Based Dapps (#3956)
* Dapps web

Conflicts:
	dapps/src/apps/fetcher.rs
	dapps/src/handlers/fetch.rs

* Rewriting fetch

* Parity-wide fetch service

* Obey the limits and support cancellation.

* Removing temporary files.

* Actually use Fetch for dapps

* Re-implementing file fetching to avoid temporary files.

* Serde to 0.8.19

* Fixing content & dapps fetch

* Serving web content and injecting scripts

* Don't wait for old content, start a new download

* Supporting timeouts and query

* Simple GUI for the browser

* Proxy tokens validation

* Recovering from invalid web-based requests

* Remember last visisted URL

* Removing unused variables

* Addressing review comments

* Setting default account in web3

* Adding WebBrowser dapp to the list

* Actually prune old entries when generating new token
2016-12-27 10:15:02 +00:00
Jannis Redmann
6842d43491 contract query: render false as false (#3971) 2016-12-27 10:04:14 +00:00
Jannis Redmann
5128438835 email verification: add Terms of Service (#3970) 2016-12-27 10:04:02 +00:00
Nicolas Gotchac
72c65d9c2f Fix method decoding (#3967)
* Fix method decoding

* Restore master version
2016-12-27 10:03:49 +00:00
Jaco Greeff
2bbefcd438 Store for EditMeta modal (#3959)
* Store basics

* Tested
2016-12-27 10:02:53 +00:00
Jannis Redmann
002e8b00d4 registry dapp: cleanup, support reverse entries (#3933)
* style fixes 

* registry dapp: show reverse events

* registry dapp: actions & reducers for isTestnet

* registry dapp: make Hash & Address components

* registry dapp: code style 

* registry dapp: bugfixes 🐛

* registry dapp: postTx helper

* registry dapp: refactor reducers

* registry dapp: use react-redux

* registry dapp: actions & reducers for reverse lookup

* registry dapp: reverse lookup component

* registry dapp: connect Address to redux

* registry dapp: de-DRY recordTypeSelect

In preparation for the next commit.

* registry dapp: support reverse lookup

* registry dapp: render reverse events

* registry dapp: show tx sender, add key prop

* registry dapp: link accounts to etherscan as well

* registry dapp: address style grumbles 💄

* registry dapp: address style grumbles 💄
2016-12-27 10:01:16 +00:00
Nicolas Gotchac
1ffc6ac58c New Address Selector Component (#3829)
* WIP new address selector

* WIP Working New Account Selector

* WIP Fully working Addres Selector (missing keyboards navigation)

* WIP Address Selector

* Fully functionnal new Address Selector!

* Implement disabled prop

* Don't auto-open on focus + Text Selection fix

* Add copy address capabilities

* Better Address Selector Focus

* Search from tags

* [Address Selector] Better Focus // Parity Background

* Linting

* [Adress Selector] Better focused input style

* Better focus support for inputs

* Fix style issue

* Add tags to accounts

* linting

* Add label to address selector

* Removed old address selector + improved styling

* Fixing address selection issues

* fix test

* Better logs...

* PR Grumbles Part 1

* PR Grumbles Part 2

* PR Grumbles Part 3.1

* PR Grumbles Part 3.2

* PR Grumbles Part 3.3

* New Portal Component

* Simpler Transition for Portal

* PR Grumbles Part 4

* Align font-family with rest of UI

* Fix null value input

* Fix Webpack build...
2016-12-27 09:59:37 +00:00
GitLab Build Bot
4e51f93176 [ci skip] js-precompiled 20161227-033404 2016-12-27 03:36:50 +00:00
GitLab Build Bot
7ace4b55c2 [ci skip] js-precompiled 20161226-033142 2016-12-26 03:34:29 +00:00
GitLab Build Bot
3ffc7890cb [ci skip] js-precompiled 20161225-045509 2016-12-25 04:57:52 +00:00
GitLab Build Bot
9cfc72ca43 [ci skip] js-precompiled 20161224-033250 2016-12-24 03:36:00 +00:00
GitLab Build Bot
c39e0aa3ef [ci skip] js-precompiled 20161223-204746 2016-12-23 20:50:31 +00:00
GitLab Build Bot
4893540103 [ci skip] js-precompiled 20161223-181511 2016-12-23 18:17:57 +00:00
Tomasz Drwięga
27ba0e6922 Limiting accounts returned by parity_accountInfo (#3931)
* Limiting accountNames returned by parity_accountNames

* Fixing middleware

* Change RPC interface

* Enhance tests for RPC layer

* UI uses parity_allAccountsInfo

* Update dapps to use parity_accountsInfo

* Don't filter by uuid (deprecated)

* Consistency in calls

* Fix js tests (missed stub call)
2016-12-23 18:52:02 +01:00
Robert Habermeier
546246c56b Unknown block error for RPC (#3965) 2016-12-23 18:46:17 +01:00
Robert Habermeier
612f14188f remove unused fields in informant (#3963) 2016-12-23 18:45:51 +01:00
keorn
afc4cd2785 Allow contract constructors in chain spec (#3932)
* constructor spec

* execute under wrong address

* create under correct address

* revert

* move genesis block lookup

* remove env_logger
2016-12-23 18:44:39 +01:00
Arkadiy Paronyan
5a3c3bcb45 Sync reorg up to history size (#3874)
* Allow sync reorg up to pruning history size

* Peer difficulty tracking

* Abort downloading block if received with NewBlock

* Set pruning history to 1200

* Renamed history size field
2016-12-23 18:43:40 +01:00
GitLab Build Bot
4516f893e5 [ci skip] js-precompiled 20161223-165758 2016-12-23 17:00:39 +00:00
Tomasz Drwięga
6251289b85 Rising the limit for fetch (#3964) 2016-12-23 17:23:31 +01:00
Nikolay Volf
e7ca4445e2 Bring integer arithmetic up to crates.io (#3943)
* split initial

* decouple crate

* fix tests compilation

* fix rlp tests
2016-12-23 16:53:06 +01:00
GitLab Build Bot
0ed45eaf15 [ci skip] js-precompiled 20161223-154928 2016-12-23 15:52:26 +00:00
Jaco Greeff
714298aa9a Eslint rule for block curlies (#3955)
* Add curly rule

* Fix pre-existing issues with new rule
2016-12-23 16:43:13 +01:00
Jaco Greeff
466f84f485 Gas exception warnings on deployment (#3938)
* add deployEstimateGas function

* Render gas warning with Warning component

* estimateGas, display warning on contract deploy

* Update messages

* Removed unused import

* Fix calculated gas usage

* Basic component smoktest

* Only display warning on edit steps
2016-12-23 16:42:48 +01:00
GitLab Build Bot
9529b6fa8c [ci skip] js-precompiled 20161223-144822 2016-12-23 14:52:31 +00:00
Jannis Redmann
db6964acc4 move verification store into modal (#3951)
* move verification store

* address style grumbles 
2016-12-23 15:40:04 +01:00
Jaco Greeff
fc620d0d3e Allow setting of minBlock on sending (#3921)
* minBlock value formatting

* Allow Contract execute to specify minBock

* Transfer allows minBlock

* Cleanups

* Check errors, verify via testing

* Display Submitted/Submission block in MethodDecoding
2016-12-23 15:31:19 +01:00
Jaco Greeff
74efb22230 Allow empty address (#3961) 2016-12-23 15:24:03 +01:00
Jaco Greeff
e006af1edd Fix default import (#3960) 2016-12-23 15:13:43 +01:00
Robert Habermeier
0688ccb003 chain_mem_used function on client 2016-12-23 14:54:31 +01:00
Robert Habermeier
bdf90df56f client report and heap size for header chain 2016-12-23 14:50:42 +01:00
Denis S. Soldatov aka General-Beck
63d68aaeef Update deb-build.sh
Add Depends: libssl
2016-12-23 16:47:50 +04:00
Robert Habermeier
d0194f3ad3 Merge branch 'master' into lightsync 2016-12-23 13:39:06 +01:00
Robert Habermeier
10c56acff6 revert tests submodule 2016-12-23 13:21:29 +01:00
GitLab Build Bot
4623f45686 [ci skip] js-precompiled 20161223-041415 2016-12-23 04:17:11 +00:00
GitLab Build Bot
9a013c4f47 [ci skip] js-precompiled 20161222-173736 2016-12-22 17:40:57 +00:00
Jaco Greeff
077069c452 Display 0x00..00 as null (#3950)
* Display 0x00..00 as null (custom black icon)

* rendering test for null
2016-12-22 18:30:59 +01:00
Tomasz Drwięga
f0387c33c6 Global Fetch Service (#3915)
* Dapps web

Conflicts:
	dapps/src/apps/fetcher.rs
	dapps/src/handlers/fetch.rs

* Rewriting fetch

* Parity-wide fetch service

* Obey the limits and support cancellation.

* Removing temporary files.

* Actually use Fetch for dapps

* Re-implementing file fetching to avoid temporary files.

* Serde to 0.8.19

* Fixing content & dapps fetch
2016-12-22 18:26:39 +01:00
GitLab Build Bot
1645419bc8 [ci skip] js-precompiled 20161222-164848 2016-12-22 16:51:32 +00:00
Jaco Greeff
c2e5b78c5b Update babel-loader for WebPack 2.2-rc (#3953)
* Update babel loader for WebPack 2.2

* Force build
2016-12-22 17:44:29 +01:00
GitLab Build Bot
7dd988860f [ci skip] js-precompiled 20161222-162822 2016-12-22 16:31:24 +00:00
Nicolas Gotchac
1140f9c9f8 Remove ui/views/modals bundles (#3946) 2016-12-22 17:21:59 +01:00
Jaco Greeff
203b419080 Fix manual input token (#3945)
* Fix manual input token (invalid regex)

* .trim() on token

* Add ^ & $ matching
2016-12-22 17:21:48 +01:00
Nicolas Gotchac
692ec97158 Update Webpack to 2.2 RC2 (#3952) 2016-12-22 17:07:18 +01:00
GitLab Build Bot
25f1c1dcc9 [ci skip] js-precompiled 20161222-153857 2016-12-22 15:42:00 +00:00
Jaco Greeff
00f4f128f2 Add missing Ethcore -> Parity headers (#3948) 2016-12-22 16:33:05 +01:00
Paul Peregud
b444d23b3a code example: do start before register_protocol (#3947) 2016-12-22 16:15:26 +01:00
Igor Artamonov
be75cbfaaa set CHAIN_ID for Classic (#3934)
* configurable CHAIN_ID

* set CHAIN_ID for Ethereum Classic
2016-12-22 13:10:58 +01:00
Robert Habermeier
b44cd7b1db Merge pull request #3940 from gguoss/auth-bft
Fixed compile error.
2016-12-22 12:54:14 +01:00
gavinGuo
70c9f7c80d Fixed compile error. 2016-12-22 14:51:25 +08:00
keorn
552a772cc1 make fields defaulting to 0 optional 2016-12-22 07:06:40 +01:00
GitLab Build Bot
a13135de30 [ci skip] js-precompiled 20161222-043246 2016-12-22 04:35:36 +00:00
GitLab Build Bot
8114d50b47 [ci skip] js-precompiled 20161221-183632 2016-12-21 18:39:21 +00:00
Nicolas Gotchac
bce69b2b09 Fix dApps not loading (#3935) 2016-12-21 19:30:49 +01:00
GitLab Build Bot
5ea70b1fd3 [ci skip] js-precompiled 20161221-141855 2016-12-21 14:22:59 +00:00
Nicolas Gotchac
aba38721b1 Fix Secure API hangs (#3927)
* Use proxy for WS in dev

* Update SecureAPI

* Update webpack config

* Fix dev contract

* Update webpack

* Linting fixes

* Refactor Secure API logic : Promise based, no wastes of req

* Fix tests

* Add try 'intitial' token
2016-12-21 15:12:40 +01:00
Robert Habermeier
a9f89b09e0 Merge pull request #3899 from ethcore/warp-sync-rpcs
parity_chainStatus RPC for block gap info
2016-12-21 15:09:45 +01:00
Nikolay Volf
af501e6467 Custom attribute for binary serialization (#3922)
* derive(Binary) -> binary

* ethcore types refact

* fixup ethcore

* make binary optional

* fix common types

* fix updater

* remove condition
2016-12-21 15:09:35 +01:00
Robert Habermeier
01b494ca2c Merge branch 'master' into lightsync 2016-12-21 13:42:07 +01:00
Gav Wood
b369939f20 Merge pull request #3926 from ethcore/split-ci-intermediate-stage
Split intermediate stage into two.
2016-12-20 18:42:11 +01:00
Gav Wood
af5c6af539 Split intermediate stage into two. 2016-12-20 17:54:09 +01:00
GitLab Build Bot
5bccd13111 [ci skip] js-precompiled 20161220-164120 2016-12-20 16:44:23 +00:00
Gav Wood
d486a983ac Merge pull request #3920 from ethcore/curl-rel-before-build
Move release-registering to intermediate stage.
2016-12-20 17:35:34 +01:00
Gav Wood
8f5804eab8 Merge pull request #3894 from ethcore/jg-fix-status-blocktime
Blocktime format rounding
2016-12-20 17:35:08 +01:00
Tomasz Drwięga
9a5bb9470b Ignore dapps_policy.json (#3919)
* Ignore dapps_policy.json

* Produce warning for non-ignored files
2016-12-20 16:34:53 +01:00
Gav Wood
f5a4581fa5 Move release-registering to intermediate stage. 2016-12-20 14:05:07 +01:00
GitLab Build Bot
269338d9bf [ci skip] js-precompiled 20161220-130157 2016-12-20 13:04:47 +00:00
GitLab Build Bot
ee050d4fd8 [ci skip] js-precompiled 20161220-111754 2016-12-20 11:20:41 +00:00
Jaco Greeff
d89ee5432e JS API interface for parity_chainStatus 2016-12-20 12:12:39 +01:00
Gav Wood
854cc604d9 Merge pull request #3912 from ethcore/ng-contract-dev
Fixing Contract Development
2016-12-20 12:12:06 +01:00
Nicolas Gotchac
7b3b82b750 Updating dependencies 2016-12-20 11:43:13 +01:00
Nicolas Gotchac
efb928b8f1 Removed Worker 2016-12-20 03:51:23 +01:00
Nicolas Gotchac
b4c73a52d1 Merge branch 'master' into ng-contract-dev 2016-12-20 02:39:10 +01:00
Nicolas Gotchac
244d1aefc6 linting 2016-12-20 02:38:40 +01:00
Nicolas Gotchac
1627c3fa71 Add import files in Contract Dev 2016-12-20 02:37:16 +01:00
Nicolas Gotchac
5886034265 Add optimize and autocompile toggles 2016-12-20 02:11:04 +01:00
Nicolas Gotchac
f70e808056 Fallback in Contract Dev if no worker 2016-12-20 01:55:57 +01:00
Gav Wood
8fc10c1911 Merge pull request #3911 from ethcore/use-rhash-for-non-native
Use rhash for non-native CI platforms and submit build.
2016-12-20 01:12:15 +01:00
Gav Wood
6659a4ec21 Use rhash for non-native CI platforms and submit build. 2016-12-20 00:21:19 +01:00
Gav Wood
61ade1e710 Merge pull request #3907 from ethcore/no-orbit-off
remove -Zorbit=off from rustflags on windows
2016-12-19 22:24:51 +01:00
Gav Wood
cd8af0a497 Merge pull request #3904 from ethcore/new-dirs
Fixed upgrading keys on the first run
2016-12-19 22:24:37 +01:00
Gav Wood
18965be047 Merge pull request #3903 from ethcore/test-mem-limit-deadlock
fix deadlock in queue drop
2016-12-19 22:23:56 +01:00
Gav Wood
5ba16e4867 Merge pull request #3897 from ethcore/single-provider-functions
require only simpler methods on Provider
2016-12-19 22:23:39 +01:00
Robert Habermeier
11f382ca1b remove -Zorbit=off from rustflags on windows 2016-12-19 19:15:18 +01:00
Robert Habermeier
70d53dcfd6 Merge branch 'master' into lightsync 2016-12-19 18:53:52 +01:00
Robert Habermeier
ae8f77bc7c fix deadlock in queue drop 2016-12-19 18:10:26 +01:00
arkpar
ddb242c969 Fixed upgrading keys on the first run 2016-12-19 17:41:55 +01:00
Robert Habermeier
e0f6f8f97e Merge pull request #3902 from ethcore/rpc-error-grammar
Fix grammar ("you try" -> "you tried" + article)
2016-12-19 16:49:39 +01:00
Robert Habermeier
5b6cd2183b Fix grammar ("you try" -> "you tried" + article) 2016-12-19 16:27:03 +01:00
Robert Habermeier
e1adc9606f parity_chainStatus RPC for block gap info 2016-12-19 15:27:17 +01:00
Gav Wood
002cec9e6f Merge pull request #3872 from ethcore/disable-light-server
remove light server capability temporarily
2016-12-19 15:22:44 +01:00
Gav Wood
1f8a1cac22 Merge pull request #3896 from ethcore/timestamp-ignore
Allow retry for future blocks
2016-12-19 15:21:05 +01:00
Gav Wood
9e3cadc6c3 Merge pull request #3895 from ethcore/rename-engines
Consistent engine and seal names
2016-12-19 15:19:57 +01:00
Robert Habermeier
4c7dc9f2d8 require only simpler methods on Provider 2016-12-19 14:54:10 +01:00
arkpar
d3486b45c5 Allow retry for future blocks 2016-12-19 14:47:48 +01:00
Nicolas Gotchac
e377ec3194 Working ServiceWorker 2016-12-19 14:39:10 +01:00
GitLab Build Bot
776a45af87 [ci skip] js-precompiled 20161219-132051 2016-12-19 13:25:03 +00:00
keorn
46662899da make spec naming consistent 2016-12-19 14:15:39 +01:00
Jannis Redmann
2862e8b92c update email certification ABI (#3893) 2016-12-19 14:14:54 +01:00
Jaco Greeff
6efaec8f8b Blocktime format rounding 2016-12-19 14:07:50 +01:00
Robert Habermeier
2b1f51694b fix cli test 2016-12-19 14:01:19 +01:00
GitLab Build Bot
65f2d2b050 [ci skip] js-precompiled 20161219-122700 2016-12-19 12:30:05 +00:00
Jaco Greeff
1b59ceb7c1 Remove existence & length checks on passwords & phrases (#3854)
* Allow input to receive FormattedMessage errors

* Only do existence checks on phrases & passwords

* Add missing import

* Remove existence checks, display security reminder
2016-12-19 13:17:28 +01:00
Jannis Redmann
7185fb0f37 refresh certifications automatically (#3878)
* certifications: eth.getLogs -> filters

* linting 👕, indentation

* certifications: fetch filter changes

* certifications: prevent overlapping

* certifications: watch blockNumber to refresh

* fix email certification contract

See ethcore/contracts@d86490e302

* update email certification contract
2016-12-19 13:17:15 +01:00
Nicolas Gotchac
670be41b62 Fix Wallet Settings Modal (#3856)
* Fixes wallet settings modal

* Fix linting
2016-12-19 13:16:59 +01:00
Robert Habermeier
a48435ca60 Merge branch 'master' into lightsync 2016-12-19 13:15:37 +01:00
Robert Habermeier
d765611050 allow queue to drain fully when idle 2016-12-19 12:41:00 +01:00
Robert Habermeier
ccdf5d5873 increase tick timer and limit peers to one req 2016-12-19 12:28:42 +01:00
Arkadiy Paronyan
14a9942d14 Update appveyor.yml 2016-12-18 01:11:48 +01:00
Arkadiy Paronyan
fc10d15b75 Update appveyor.yml 2016-12-18 01:11:29 +01:00
Gav Wood
e755c09446 Merge pull request #3884 from ethcore/fix-diff-adj
Fix difficulty adjustment.
2016-12-17 16:35:20 +01:00
Gav Wood
ec5b867a22 Merge pull request #3883 from ethcore/fix-win-ci
Final fixups for updater
2016-12-17 16:10:08 +01:00
Gav Wood
d98f0d8fb5 No need to test windows for every PR. 2016-12-17 16:00:33 +01:00
Gav Wood
023d413610 Fix difficulty adjustment.
Closes #3861
2016-12-17 15:53:06 +01:00
Gav Wood
efd4036a9a Fix build. 2016-12-17 15:40:55 +01:00
Gav Wood
6e12f4f719 Alter port for icarus. 2016-12-17 15:22:31 +01:00
Gav Wood
b418cb8da3 Merge remote-tracking branch 'origin/master' into fix-win-ci 2016-12-17 15:10:17 +01:00
Gav Wood
b2b3a0eb34 Final fixups for updater
- Wire up platforms to match those of CI.
- Introduce "final" feature to tag version with "nightly".
2016-12-17 14:36:30 +01:00
Gav Wood
6634b2e3da Merge pull request #3882 from ethcore/fix-win-ci
Attempt to fix windows CI.
2016-12-17 13:13:08 +01:00
Gav Wood
a81e833fcc Merge pull request #3881 from ethcore/tx-test-fix
Fixing racy test
2016-12-17 12:57:15 +01:00
arkpar
b34d3ee5a2 Fixin racy test 2016-12-17 12:28:31 +01:00
Gav Wood
adb0f6fb26 Merge pull request #3880 from ethcore/fix-updater-permissions
Fix updater permissions
2016-12-17 12:15:05 +01:00
Gav Wood
f00eb060c1 Attempt to fix windows CI. 2016-12-17 12:06:51 +01:00
Robert Habermeier
5b0531e964 fix compiler warnings 2016-12-17 00:44:18 +01:00
Robert Habermeier
bd59ef05ac prettier informant 2016-12-17 00:41:02 +01:00
Robert Habermeier
893892ca12 remove request limiting from sync service 2016-12-17 00:31:21 +01:00
Robert Habermeier
be914ddfc7 fix check for moving backwards 2016-12-16 23:53:36 +01:00
Robert Habermeier
2c0f456e4d guard import order 2016-12-16 23:53:20 +01:00
Robert Habermeier
e57ab96731 fix reverse start block check 2016-12-16 23:21:59 +01:00
Robert Habermeier
08587a1f56 fix subchain request ordering 2016-12-16 23:21:51 +01:00
Robert Habermeier
653363c572 limit to one pending request per peer 2016-12-16 23:21:17 +01:00
Arkadiy Paronyan
4c0741e568 Fixed windows stub signature 2016-12-16 22:26:12 +01:00
Robert Habermeier
a7505be627 fix deadlocks 2016-12-16 22:09:29 +01:00
Robert Habermeier
8970946b74 basic --light parameter 2016-12-16 21:45:51 +01:00
Gav Wood
75c92e9356 Add Parity.png 2016-12-16 20:34:08 +01:00
Gav Wood
83e6e03dd6 Merge pull request #3865 from ethcore/tx-block
Delayed transactions
2016-12-16 20:28:18 +01:00
Gav Wood
6f977f03ae Rename from troublesome filename 2016-12-16 20:26:49 +01:00
Gav Wood
c14d34e347 Merge pull request #3853 from ethcore/jg-token-log
Don't log auth token
2016-12-16 20:24:23 +01:00
Gav Wood
fa721f5cdf Merge pull request #3875 from ethcore/config-fix
Loading default config from default path
2016-12-16 20:24:12 +01:00
Gav Wood
c2448f6c2f Add mac icon. 2016-12-16 18:32:33 +01:00
Gav Wood
14e4fefbcf Fix updater permissions and refactor existing code. 2016-12-16 18:17:15 +01:00
Gav Wood
45f141b52f Merge pull request #3877 from ethcore/path-fix
New paths
2016-12-16 17:38:20 +01:00
Robert Habermeier
8b88ef1844 add light sync service to ethsync 2016-12-16 17:38:16 +01:00
Gav Wood
b9cd68e7e6 Minor paths change 2016-12-16 17:38:02 +01:00
Gav Wood
e8624fda88 Merge pull request #3876 from ethcore/fix-ci
Update tests, gitlabci
2016-12-16 16:56:46 +01:00
Robert Habermeier
f85313fbff Merge branch 'master' into lightsync 2016-12-16 15:29:11 +01:00
Robert Habermeier
ce84215d93 naive and bad request dispatcher 2016-12-16 15:26:39 +01:00
arkpar
6966fd6c63 New paths 2016-12-16 15:25:53 +01:00
Gav Wood
b89d10239b Update tests, gitlabci 2016-12-16 15:12:35 +01:00
Tomasz Drwięga
f345458b65 Loading config from default path 2016-12-16 15:03:31 +01:00
arkpar
65f07e5aa7 Renamed some functions 2016-12-16 14:54:26 +01:00
Robert Habermeier
0d7b638a2d ancestor search response handler 2016-12-16 14:53:36 +01:00
arkpar
6c9de9e6f8 Merge branch 'master' of github.com:ethcore/parity into tx-block 2016-12-16 13:36:07 +01:00
arkpar
f967713d08 Added a test 2016-12-16 13:27:14 +01:00
GitLab Build Bot
3450538208 [ci skip] js-precompiled 20161216-121923 2016-12-16 12:22:56 +00:00
Gav Wood
72f278efed Merge pull request #3868 from ethcore/new-dirs
Base directory option
2016-12-16 13:04:31 +01:00
Gav Wood
6e5a583cb4 Merge pull request #3505 from ethcore/check-updates
Auto-updating
2016-12-16 13:01:49 +01:00
Gav Wood
b437265082 Fix build. 2016-12-16 11:27:00 +01:00
Gav Wood
90d3d330f5 Use info! for blockchain status rather than stdout. 2016-12-16 11:00:17 +01:00
Gav Wood
396ab5b361 Refactor and make is_syncing. 2016-12-16 10:31:10 +01:00
Gav Wood
35b18485d4 Don't check for updates while syncing. 2016-12-16 10:14:44 +01:00
Gav Wood
ba60e046be Tone down logging. 2016-12-16 10:02:42 +01:00
Gav Wood
d9b9172089 Merge pull request #3873 from ethcore/fix-collision
Fix naming collision
2016-12-16 02:09:36 +01:00
keorn
d8470cc5ca revert slack 2016-12-16 00:07:07 +01:00
Robert Habermeier
a1f32de2d9 Merge branch 'master' into lightsync 2016-12-15 23:55:04 +01:00
Robert Habermeier
8f65a7bcc8 remove light server capability temporarily 2016-12-15 23:50:16 +01:00
keorn
447196398a fix start_step 2016-12-15 23:36:06 +01:00
Gav Wood
6ea5638240 Merge pull request #3858 from ethcore/fetcher-ref
Get rid of unecessary redirection while fetching content
2016-12-15 23:08:37 +01:00
Gav Wood
a6a8e431f5 Fix lint 2016-12-15 22:46:36 +01:00
Gav Wood
7cac50601f Add JS tests for parity_netPeers 2016-12-15 22:45:35 +01:00
Robert Habermeier
8622ab66dc skeleton for maintain_sync: all but dispatch 2016-12-15 22:42:24 +01:00
Gav Wood
869fbf5108 Fix linting. 2016-12-15 22:07:25 +01:00
Gav Wood
ca0d87da10 125 -> 69. 2016-12-15 22:05:54 +01:00
arkpar
e2371632c5 Base dir option 2016-12-15 21:56:45 +01:00
Robert Habermeier
9c7340307e handle events, minimal state machine 2016-12-15 21:51:08 +01:00
arkpar
060cc799a6 Minor tweaks 2016-12-15 21:44:31 +01:00
GitLab Build Bot
3e83aeeb17 [ci skip] js-precompiled 20161215-201838 2016-12-15 20:21:20 +00:00
arkpar
e1dd986c41 Hex-encoded block numbers 2016-12-15 21:16:32 +01:00
Gav Wood
5bab14e0c0 Merge remote-tracking branch 'origin/master' into check-updates 2016-12-15 21:15:25 +01:00
Gav Wood
5fb34573c6 Merge pull request #3864 from ethcore/jr-fix-verification
fix verification stores
2016-12-15 21:13:05 +01:00
Gav Wood
1a790b784f Fix centos's reported build platform. 2016-12-15 20:49:09 +01:00
Jannis R
d2962fe47b store certifier index in constant 2016-12-15 20:47:41 +01:00
arkpar
27580586e0 Minor tweaks 2016-12-15 20:09:05 +01:00
keorn
b7b531ca75 more slack in test 2016-12-15 19:54:28 +01:00
Gav Wood
4410fb635a Respect system paths. 2016-12-15 19:53:13 +01:00
arkpar
450a9d2867 Merge branch 'master' of github.com:ethcore/parity into tx-block 2016-12-15 19:41:19 +01:00
Nicolas Gotchac
1d04f25a0a Add error toString 2016-12-15 19:35:16 +01:00
arkpar
3ac0794d28 Bump jsonrpc-core for rpc_cli 2016-12-15 19:31:26 +01:00
keorn
b88d50dc9b fix naming collision 2016-12-15 19:27:06 +01:00
Robert Habermeier
72f7391551 add BasicContext trait for handler ticking 2016-12-15 19:25:52 +01:00
Gav Wood
801596395e --release-track. 2016-12-15 19:23:25 +01:00
Gav Wood
995fafebee Fix last remaining test. 2016-12-15 19:19:50 +01:00
Gav Wood
d737de0fc0 Fix tests. 2016-12-15 19:17:44 +01:00
arkpar
f8961484c1 Merge branch 'master' of github.com:ethcore/parity into tx-block 2016-12-15 19:10:33 +01:00
Nicolas Gotchac
5983a0c1a5 Linting fixes 2016-12-15 19:07:13 +01:00
Nicolas Gotchac
365ab60fed Use ServiceWorker for Contract compilation 2016-12-15 19:06:05 +01:00
Gav Wood
4a2b418fc2 Configurable update tracks to help testing. 2016-12-15 18:51:59 +01:00
Robert Habermeier
5346539ef8 minimal header import and client service 2016-12-15 18:47:26 +01:00
Tomasz Drwięga
99e42db2f5 Merge branch 'master' into fetcher-ref 2016-12-15 18:33:58 +01:00
Gav Wood
fa319ff64c Remove duplicate line. 2016-12-15 18:24:18 +01:00
GitLab Build Bot
867fdb9eac [ci skip] js-precompiled 20161215-172100 2016-12-15 17:23:53 +00:00
Gav Wood
c12702fc51 Merge remote-tracking branch 'origin/master' into check-updates 2016-12-15 18:23:02 +01:00
arkpar
2952ea1b85 Delayed transactions 2016-12-15 18:19:19 +01:00
Jannis Redmann
5939575c87 Merge #3863 from ethcore/jg-contract-subid
Store subscriptionId, align with main subscription model
2016-12-15 18:14:33 +01:00
Jannis R
7fdcc70825 Merge jg-contract-subid into jr-fix-verification 2016-12-15 18:12:45 +01:00
Jaco Greeff
1f1dc8b89d Store subscriptionId, use it to send changes 2016-12-15 18:09:59 +01:00
Jannis R
0e963da27b fix verification stores 🐛 2016-12-15 18:09:52 +01:00
Gav Wood
4d6b4d9d72 Merge pull request #3792 from ethcore/dapps-accounts-rpc
Additional RPCs for dapps accounts management
2016-12-15 18:09:40 +01:00
Jaco Greeff
2be5247567 Merge branch 'master' into jg-contract-subid 2016-12-15 18:06:45 +01:00
Gav Wood
eb90d70be1 Merge pull request #3830 from ethcore/cli-rpc
Add Ws Json rpc client and command line utils (take 2)
2016-12-15 18:04:35 +01:00
GitLab Build Bot
87f1486907 [ci skip] js-precompiled 20161215-170041 2016-12-15 17:03:27 +00:00
Jannis Redmann
29457c11ef Merge #3862 from ethcore/jg-fix-contracts-send
Fix typo in method call (broken contract interface)
2016-12-15 17:54:42 +01:00
Jaco Greeff
17781a5ac4 Fix typo in method call 2016-12-15 17:52:28 +01:00
Robert Habermeier
f776f48023 drain prepared headers from sync round 2016-12-15 17:33:25 +01:00
Gav Wood
943f58487c Merge remote-tracking branch 'origin/master' into cli-rpc 2016-12-15 17:13:51 +01:00
Gav Wood
d455ac4a40 Merge remote-tracking branch 'origin/master' into dapps-accounts-rpc 2016-12-15 17:12:18 +01:00
Gav Wood
db2e1dd01a Merge remote-tracking branch 'origin/master' into check-updates 2016-12-15 17:11:22 +01:00
Gav Wood
2e02db2d3e Merge pull request #3860 from ethcore/fix-channel
Fix flaky test
2016-12-15 17:10:41 +01:00
keorn
ee653bc262 unused import 2016-12-15 16:53:28 +01:00
keorn
9bfa69c6bd fix channel 2016-12-15 16:52:39 +01:00
Robert Habermeier
71e96aca10 handle abandoned requests 2016-12-15 16:19:28 +01:00
Tomasz Drwięga
2be6223eb3 Updating submodules to latest 2016-12-15 15:57:21 +01:00
Jaco Greeff
9dd1268b69 Add keys for steps (future-proof) 2016-12-15 15:56:58 +01:00
Robert Habermeier
ec88a992e3 provide response context to response handler 2016-12-15 15:50:36 +01:00
Tomasz Drwięga
b85f7b7433 Merge branch 'master' into fetcher-ref 2016-12-15 15:44:14 +01:00
Gav Wood
5e59e0b9d3 Fix build. 2016-12-15 15:35:46 +01:00
Tomasz Drwięga
dedf9d6dce Getting rid of redirection 2016-12-15 15:32:53 +01:00
Gav Wood
817a58cf64 Merge pull request #3844 from ethcore/trace-macros
Converting traces API to AutoArgs
2016-12-15 15:21:35 +01:00
Gav Wood
590428e7f2 Merge remote-tracking branch 'origin/master' into check-updates 2016-12-15 15:12:09 +01:00
Gav Wood
d1040e4127 Whitespace 2016-12-15 15:03:34 +01:00
Gav Wood
8f5e0cf7d9 Fix build 2016-12-15 14:54:02 +01:00
GitLab Build Bot
7e76d6494c [ci skip] js-precompiled 20161215-134858 2016-12-15 13:52:59 +00:00
Gav Wood
ca63bc2f44 Update parking_lot dep 2016-12-15 14:46:31 +01:00
Gav Wood
0da564a4c2 Merge branch 'master' into cli-rpc 2016-12-15 14:45:15 +01:00
Gav Wood
d76239ed48 Merge pull request #3768 from ethcore/jr-use-badge-reg
get certifications from BadgeReg, show them in accounts overview
2016-12-15 14:43:05 +01:00
Gav Wood
20b2f84d48 Merge pull request #3828 from ethcore/new-dirs
New directory structure
2016-12-15 14:34:01 +01:00
GitLab Build Bot
6dfcbd4156 [ci skip] js-precompiled 20161215-130206 2016-12-15 13:06:03 +00:00
Jaco Greeff
054a6a9daf Merge branch 'master' into check-updates
# Conflicts:
#	.gitlab-ci.yml
#	js/webpack/dev.server.js
2016-12-15 13:52:28 +01:00
Gav Wood
be0d5ca516 Merge pull request #3827 from ethcore/jr-first-run
first run: skip account creation if they already have accounts
2016-12-15 13:52:01 +01:00
Jannis R
4c42dedcad sort props 💄 2016-12-15 13:51:44 +01:00
Gav Wood
1ea521ea7d Merge remote-tracking branch 'origin/master' into dapps-accounts-rpc 2016-12-15 13:51:22 +01:00
Gav Wood
9440c2600f Merge pull request #3857 from ethcore/tender-seal
Tendermint seal
2016-12-15 13:50:49 +01:00
Jannis R
f59f7c5773 address style grumbles 💄 2016-12-15 13:48:40 +01:00
keorn
0b9ab0797f fix build 2016-12-15 13:45:22 +01:00
keorn
943efc21bb add tendermint seal 2016-12-15 13:41:04 +01:00
Gav Wood
69eec105a7 Change default back to permissive for now. 2016-12-15 13:40:44 +01:00
Gav Wood
db73b0d66f Merge remote-tracking branch 'origin/master' into dapps-accounts-rpc 2016-12-15 13:28:37 +01:00
Jannis R
afba259506 merge master into jr-use-badge-reg 2016-12-15 13:25:35 +01:00
Gav Wood
a74bce2c06 Merge pull request #3759 from ethcore/auth-bft
Tendermint Engine
2016-12-15 13:18:15 +01:00
Gav Wood
1ebbb8ae3d Merge pull request #3852 from ethcore/js-css-lint
Expand lint to catch css issues
2016-12-15 13:09:51 +01:00
Gav Wood
8fa00a20e6 Merge pull request #3851 from ethcore/js-inject-all
inject exports both partiy & web3
2016-12-15 13:09:29 +01:00
Gav Wood
0562d85a0e Merge pull request #3848 from ethcore/ng-webpack-talkative
Let Webpack talk again
2016-12-15 13:09:06 +01:00
Gav Wood
a660024eac Merge pull request #3843 from ethcore/auth-round-seal
AuthorityRound seal and simplify Generic seal Spec
2016-12-15 13:08:50 +01:00
Gav Wood
c4406c9198 Merge pull request #3691 from ethcore/rotating-key
Signing transactions with rotating token
2016-12-15 13:08:19 +01:00
Robert Habermeier
5d8bfd8758 handle responses for round scaffold and frames 2016-12-15 13:05:38 +01:00
arkpar
6d41168bbe Change build order 2016-12-15 12:07:09 +01:00
Tomasz Drwięga
c6912c8e0a Removing on_done 2016-12-15 11:43:36 +01:00
Jaco Greeff
701399fc77 Don't log auth token 2016-12-15 10:23:01 +01:00
Jaco Greeff
88a26ec53f Support lint:cached 2016-12-15 10:08:57 +01:00
Jaco Greeff
9fc3c47bcb inject exports both partiy & web3 2016-12-15 10:05:52 +01:00
Denis S. Soldatov aka General-Beck
03db4d0373 Update gitlab-ci
add `cargo clean` in darwin build
2016-12-15 14:15:27 +07:00
Nicolas Gotchac
15050da1cd Let Webpack talk again 2016-12-15 00:07:49 +01:00
Robert Habermeier
0768a61944 light: add LightChainClient trait 2016-12-14 23:26:15 +01:00
Robert Habermeier
1bcfc9348d light: specialize Downloader to SyncRound 2016-12-14 23:25:51 +01:00
Robert Habermeier
91b8fa7039 light: downloader state machine stub 2016-12-14 22:57:30 +01:00
Gav Wood
bf7fb84937 Don't put sha3s. 2016-12-14 21:59:00 +01:00
Robert Habermeier
2966b88a7a Merge pull request #3835 from ethcore/bump-dev
Bump dev chain
2016-12-14 21:37:14 +01:00
Robert Habermeier
0d466fa8d0 light: tests for response module 2016-12-14 20:27:03 +01:00
Denis S. Soldatov aka General-Beck
245c8581bb Update .gitlab-ci.yml 2016-12-15 02:17:59 +07:00
Denis S. Soldatov aka General-Beck
244761782e Update gitlab-ci
Remove armv6 from `nightly`
remove `-j 8` key from windows builds
Remove `test-windows` from `nightly`
2016-12-15 02:14:15 +07:00
Tomasz Drwięga
d2b9bc5bd8 Traces to AutoArgs 2016-12-14 20:09:14 +01:00
Tomasz Drwięga
6e51b23e30 Adding traces tests 2016-12-14 20:07:33 +01:00
Robert Habermeier
887bcfb88a light: response decoding and verification module 2016-12-14 19:36:48 +01:00
Jaco Greeff
3df092f29d Add lint:css 2016-12-14 16:42:26 +01:00
Jaco Greeff
7330612bfb Toggle upgrade modal via upgrade link 2016-12-14 15:56:01 +01:00
Vincent Serpoul
339b889ac4 spelling (#3839) 2016-12-14 15:15:19 +01:00
Tomasz Drwięga
366f9a8cd7 Fixing tests 2016-12-14 14:44:09 +01:00
Jaco Greeff
2588aea6b2 Merge branch 'master' into check-updates 2016-12-14 14:37:38 +01:00
Jaco Greeff
a8f428ccca Display capability status on statusbar 2016-12-14 14:37:25 +01:00
Tomasz Drwięga
1d80725f66 Merge branch 'master' into cli-rpc 2016-12-14 14:12:27 +01:00
Tomasz Drwięga
7eb9112613 Merge branch 'master' into rotating-key
Conflicts:
	rpc/src/v1/traits/signer.rs
2016-12-14 14:10:44 +01:00
Jaco Greeff
d28ec2ff97 Make enode available on Status page 2016-12-14 13:41:29 +01:00
keorn
f686fa3d6f update specs and generic conversion 2016-12-14 12:50:32 +01:00
Jannis R
bbcae3d27b merge master into jr-first-run 2016-12-14 12:28:55 +01:00
Jannis R
240bab230c merge master into jr-use-badge-reg 2016-12-14 12:26:18 +01:00
keorn
8509a183ed deserialize new seal 2016-12-14 12:14:04 +01:00
keorn
ae98a56e8b revert submodule 2016-12-14 11:42:47 +01:00
keorn
e1d83d15b7 bump dev chain 2016-12-14 11:34:19 +01:00
arkpar
3280f071b1 Fixed moving dirs on windows 2016-12-14 01:33:57 +01:00
arkpar
be5fefe772 Merge branch 'master' of github.com:ethcore/parity into new-dirs 2016-12-14 00:04:11 +01:00
arkpar
6e3e1ea88b XDG paths 2016-12-13 23:38:29 +01:00
Gav Wood
d1653567d9 Add contract ABI auto-generatr.
o
2016-12-13 22:32:34 +01:00
Robert Habermeier
359d433292 light: pass incoming responses to peer state machine 2016-12-13 22:26:06 +01:00
Gav Wood
597c3a4770 Ensure chain state is at threshold security level before looking for updates. 2016-12-13 21:21:07 +01:00
Robert Habermeier
6fb71527e4 light: search for common ancestor with peers 2016-12-13 21:09:57 +01:00
Robert Habermeier
8c64400654 light: change sync module name 2016-12-13 21:09:43 +01:00
Gav Wood
805b8cab2c Add missing file. 2016-12-13 20:50:33 +01:00
Gav Wood
4424155d39 Similar checks on file changes to other tests. 2016-12-13 20:49:26 +01:00
Gav Wood
aaf6d59bda Disable windows tests until it works. 2016-12-13 20:22:04 +01:00
Gav Wood
6a48e9d9e5 Print output for commands, don't info! 2016-12-13 20:20:10 +01:00
Robert Habermeier
484023b171 light: max requests as 0 on unknown peer 2016-12-13 20:13:55 +01:00
Robert Habermeier
2a01b43bd1 light: block status and CHT module 2016-12-13 20:13:16 +01:00
keorn
c96826beaa expect instead of index 2016-12-13 18:22:56 +01:00
GitLab Build Bot
1a9a142a69 [ci skip] js-precompiled 20161213-171715 2016-12-13 17:19:48 +00:00
Gav Wood
72b8ee84c7 Merge pull request #3766 from ethcore/jr-email-verification
email verification
2016-12-13 18:09:41 +01:00
Gav Wood
80d6e49070 Merge pull request #3812 from ethereumproject/splix/classic-replay-protection
Network configuration for Ethereum Classic
2016-12-13 17:39:33 +01:00
Gav Wood
c6281fc1c7 Merge remote-tracking branch 'origin/master' into check-updates 2016-12-13 17:26:09 +01:00
Gav Wood
575afd8bac Merge branch 'check-updates' of github.com:ethcore/parity into check-updates 2016-12-13 17:25:16 +01:00
Gav Wood
e099e0d93c Add auth code. 2016-12-13 17:23:48 +01:00
Robert Habermeier
0b69e41bd1 Merge pull request #3831 from ethcore/rpc-macros
Using jsonrpc-macros
2016-12-13 17:16:29 +01:00
Gav Wood
119f253be9 Fix windows test. 2016-12-13 17:14:18 +01:00
Gav Wood
362b201532 Don't run git unnecessarily. 2016-12-13 16:32:03 +01:00
Gav Wood
7e269fe3d3 GLitlab-CI script pushes build info. 2016-12-13 16:21:26 +01:00
Tomasz Drwięga
65d62ccf04 Altering the order [ci:skip] 2016-12-13 14:59:19 +01:00
Robert Habermeier
45ef986c04 light: finish basic header chain and add tests 2016-12-13 14:48:03 +01:00
Tomasz Drwięga
f47be50843 Using jsonrpc-macros 2016-12-13 14:40:35 +01:00
arkpar
49ae375605 Don't coneect peers on each sync 2016-12-13 13:23:10 +01:00
Tomasz Drwięga
5affefc763 Fixing CLI signer 2016-12-13 12:17:01 +01:00
GitLab Build Bot
1114ad3ca7 [ci skip] js-precompiled 20161213-051314 2016-12-13 05:15:44 +00:00
Robert Habermeier
c2264bed27 light: skeleton for sync service 2016-12-13 00:08:39 +01:00
Jaco Greeff
51b544c2db Simplify icon exports 2016-12-12 23:53:29 +01:00
arkpar
5fd2e15313 Style and docs 2016-12-12 23:21:44 +01:00
Jaco Greeff
dbc6b42267 Lint fixes 2016-12-12 23:14:44 +01:00
Jaco Greeff
9931d7657a Merge remote-tracking branch 'origin/check-updates' into check-updates 2016-12-12 23:07:41 +01:00
Robert Habermeier
4173ecf2a5 light: begin header chain 2016-12-12 22:59:05 +01:00
Jaco Greeff
e170134d97 Merge branch 'master' into check-updates 2016-12-12 22:45:12 +01:00
Jaco Greeff
f15671c74b UI interface completed, to be tested 2016-12-12 22:45:09 +01:00
keorn
fa504e510f Merge branch 'master' into auth-bft 2016-12-12 21:28:46 +01:00
Igor Artamonov
e61d14d7f7 reuse Morden for Classic Testnet 2016-12-12 19:50:32 +00:00
keorn
19adb84527 TestNet flushing and cleanup 2016-12-12 19:44:24 +01:00
Jaco Greeff
a8ae9b02f9 Typo 2016-12-12 18:58:31 +01:00
Jaco Greeff
a2a89f7e59 Basic UI structure in-place 2016-12-12 18:30:41 +01:00
Jaco Greeff
7a0fccf417 Add shared icons 2016-12-12 18:30:05 +01:00
Jaco Greeff
9a26caf548 Build settings 2016-12-12 18:29:45 +01:00
arkpar
85fd62917a Updated tests 2016-12-12 17:53:17 +01:00
keorn
722cd4d086 AuthorityRound fork test 2016-12-12 17:24:48 +01:00
keorn
f8ed5cf022 finalize unit tests 2016-12-12 17:20:20 +01:00
arkpar
edb853ca35 KillDB command 2016-12-12 17:19:41 +01:00
arkpar
6601fde328 New data paths with upgrade 2016-12-12 16:51:07 +01:00
Gav Wood
988ac8a22d Add forks supported. 2016-12-12 16:47:57 +01:00
Gav Wood
ab4d666681 Merge remote-tracking branch 'origin/master' into check-updates 2016-12-12 16:35:11 +01:00
Jaco Greeff
1135674eaa WIP UI (dialog available) 2016-12-12 15:51:36 +01:00
Jaco Greeff
c784ab55d2 Extend jsapi interfaces with documentation 2016-12-12 15:43:59 +01:00
Jaco Greeff
a659adfd33 Only ignore parity.* files in root 2016-12-12 15:43:24 +01:00
GitLab Build Bot
d2a34acdfd [ci skip] js-precompiled 20161212-143454 2016-12-12 14:37:25 +00:00
Gav Wood
3a16247655 Merge pull request #3823 from ethcore/jg-typedinput-tests
Fixed bool dropdown in contract execution
2016-12-12 15:28:58 +01:00
Jannis R
b980e7a329 add skip button to first run modal 2016-12-12 14:32:55 +01:00
Jannis R
085adbaffd make showFirstRun in localStorage a bool 2016-12-12 14:15:26 +01:00
keorn
8ed89bb74f propagate proposal to all peers 2016-12-12 13:00:51 +01:00
Jaco Greeff
3a7e30ec5c Fix issue with bool type dropdown 2016-12-12 12:49:40 +01:00
Jaco Greeff
563c8c75f9 Tests for DetailsStep (only bool dropdown) 2016-12-12 12:49:04 +01:00
Jaco Greeff
c5c4e5e901 Updated 2016-12-12 12:48:43 +01:00
Jaco Greeff
29674a0e65 Small testability fixes 2016-12-12 12:48:32 +01:00
Jaco Greeff
23234fb1aa Allow operation in test mode 2016-12-12 12:48:16 +01:00
Jannis R
c43944584d fix import 2016-12-12 12:33:58 +01:00
Jannis R
723e9e55db merge master into jr-email-verification 2016-12-12 12:21:06 +01:00
Jannis R
d67a9388ff merge master into jr-use-badge-reg 2016-12-12 12:13:49 +01:00
Jaco Greeff
28be8d6f6c Test for bool TypedInput 2016-12-12 10:55:20 +01:00
Jaco Greeff
f9b5a056cf Merge branch 'master' into jg-typedinput-tests 2016-12-12 10:14:29 +01:00
Jaco Greeff
2c4c6ba4e4 Basic smoketest 2016-12-12 10:12:12 +01:00
GitLab Build Bot
1db4647327 [ci skip] js-precompiled 20161212-052342 2016-12-12 05:26:15 +00:00
GitLab Build Bot
f1096619a5 [ci skip] js-precompiled 20161212-034026 2016-12-12 03:43:28 +00:00
Gav Wood
7975d475e1 Flesh out RPC tests. 2016-12-12 04:29:55 +01:00
Gav Wood
c0a2d5c8f5 Merge pull request #3796 from ethcore/tx-broadcast
Avoid broadcasting transactions to peers that send them
2016-12-12 04:13:56 +01:00
Gav Wood
2844a4e85e Merge pull request #3800 from ethcore/eth-sign
eth_sign RPC now hashes given data instead of getting the hash
2016-12-12 04:12:27 +01:00
Gav Wood
4c9ea55e49 Add an Updater mockup and provide a test for it. 2016-12-12 03:49:50 +01:00
Gav Wood
77cb937065 Please info!s in updater target. 2016-12-12 03:02:27 +01:00
Gav Wood
382a0b2d8b Avoid warning. 2016-12-12 03:00:18 +01:00
Gav Wood
32746df706 Add missing ;s 2016-12-12 02:58:35 +01:00
Gav Wood
758744449f Expose all other RPCs. 2016-12-12 02:57:19 +01:00
GitLab Build Bot
29af24519d [ci skip] js-precompiled 20161211-234535 2016-12-11 23:48:03 +00:00
Nicolas Gotchac
0cb16ae589 Add store for MethodDecoding (#3821)
* Add Loader to Transactions

* Add Method Decoding Store (better fetching of methods)

* Load locally stored ABI in MethodDecodingStore

* Fixes UI glitches along the way

* Linting

* Add method decoding from User Contracts
2016-12-12 00:38:47 +01:00
Jaco Greeff
22ac80d98f Add store for AddAddress (#3819)
* WIP

* Updated tests

* Final round of fixes

* Header update
2016-12-12 00:38:38 +01:00
Gav Wood
2d0d4682ad Add first Updater RPC. 2016-12-11 23:36:38 +01:00
Gav Wood
d81d9d77b2 Wire-in Updater to parity RPC 2016-12-11 23:15:52 +01:00
keorn
3c5d5856d2 nicer tracing 2016-12-11 22:54:48 +01:00
Gav Wood
d8ad09b654 Make updater an IPC module. 2016-12-11 22:47:43 +01:00
GitLab Build Bot
2de64bb5e4 [ci skip] js-precompiled 20161211-202217 2016-12-11 20:24:36 +00:00
Tomasz Drwięga
83d9bc189b Fixing test 2016-12-11 21:08:15 +01:00
Nicolas Gotchac
4c3dea2a0b Fix React-Router in i18n locale change (#3815)
* Routes in routes config => no more react router error message

* Add LocalStorage for Locale Selection

* Ethcore to Parity LTD
2016-12-11 21:03:48 +01:00
Nicolas Gotchac
4dbfcf231d Cache fetched Dapps (#3804)
* Have a singleton DappsFetcher so we don't realod them at each page load

* Better dapps Fetcher : event based listener
  Update on meta change

* Remove dapps fetcher => all in singleton dapps store + utils

* Modify header to Parity
2016-12-11 21:03:40 +01:00
GitLab Build Bot
f4134cf634 [ci skip] js-precompiled 20161211-193650 2016-12-11 19:39:15 +00:00
Gav Wood
e528ac9217 Merge remote-tracking branch 'origin/master' into check-updates 2016-12-11 20:20:09 +01:00
Gav Wood
972aa79f9f Merge pull request #3818 from ethcore/consistent-crate-info
authors & homepage => Parity
2016-12-11 20:17:40 +01:00
Gav Wood
3aab5dec9b Refactor into a service. 2016-12-11 20:14:18 +01:00
GitLab Build Bot
282178e1fa [ci skip] js-precompiled 20161211-190404 2016-12-11 19:06:28 +00:00
Gav Wood
94f5501c61 authors & homepage => Parity 2016-12-11 19:43:58 +01:00
Gav Wood
15bb3f9b0a Merge remote-tracking branch 'origin/master' into check-updates 2016-12-11 19:38:04 +01:00
Gav Wood
c33901bd9f Merge pull request #3817 from ethcore/rename-ethcore-parity
Rename Ethcore -> Parity Technologies
2016-12-11 19:36:21 +01:00
Gav Wood
58b72c521d Rename ethcore -> parity in licenses. 2016-12-11 19:31:31 +01:00
Gav Wood
17cc2be4b5 Rename ethcore -> parity in license. 2016-12-11 19:30:54 +01:00
Gav Wood
33f266fffe Merge remote-tracking branch 'origin/master' into check-updates 2016-12-11 19:26:24 +01:00
Gav Wood
35b037e055 Add renamed files. 2016-12-11 19:15:58 +01:00
Gav Wood
10b0898bdf Crate tidyups.
- Move Updater into its own crate.
- Change ethcore -> parity in authors, homepages and licenses.
2016-12-11 19:14:42 +01:00
keorn
a4bf914683 Merge branch 'auth-bft' of https://github.com/ethcore/parity into auth-bft 2016-12-11 18:23:54 +01:00
Tomasz Drwięga
627b8a8414 Changing default policy 2016-12-11 17:56:12 +01:00
GitLab Build Bot
797d787a7b [ci skip] js-precompiled 20161211-164839 2016-12-11 16:51:09 +00:00
keorn
d4c9493b00 verification cache retrieval 2016-12-11 17:50:12 +01:00
Jaco Greeff
929b6ee0f7 Allow editing of gasPrice & gas in Signer (#3777)
* Rework gas display (maintainable)

* Move GasPriceSelector to ui

* Allow opening of gas component (WIP)

* Merge

* Consistency

* Adjust for Signer display

* Set maximum height based on screen size

* Gas editor displays in-place

* Cleanups

* Merge

* Style fixes

* Fixup stash mishap (again)

* Add store test

* Allow edited values to refrect on the display

* Fix properties

* Adjust styling to show different rows

* git mv

* git mv

* Style fixes

* Style updates

* Pass gas & gasPrice with confirmation

* Fix build (case)

* Style fixes

* Basic GasPriceEditor smoketest

* manual move 1

* manual move 2

* manual move 1

* manual move 2

* NODE_ENV=test ace fix

* UI smoketests

* Style

* Format options via formatter

* Initial version

* Re-add even/odd class

* re-add gasLimit to embedded passing

* style

* Updated for passing gas & price to store

* Allow gas/price overrides when none available

* Fix slider value, pass as number
2016-12-11 17:43:51 +01:00
Jaco Greeff
885d6eaa4d i18n string dictionaries (#3532)
* TabBar & Settings -> Views i18n enabled

* Proxy i18n

* Settings i18n

* defaultLocale

* Introduce thin Translate wrapper

* PropTypes util caters for multiples

* Translate & LanguageSelector under ui

* Update location & proptypes

* Add UI Language selector

* German settings pages

* Add German language selection

* Corrected umlaut encoding

* Lint

* Re-apply pre-merge conflict changes

* better German i18n

* Language names in locale language

* i8n -> index

* Allow for development/production operation

* Use Yahoo react-intl (as opposed to react-i18nify)

* Use default messages wih expansions

* Remove non-reused variable definitions

* Use FormattedMessage directly, opens up WebPack & Babel opportunities

* Add flat to flatten

* Extract default messages via babel

* Webpack to aggegrate i18n defaultMessage

* Re-add react-intl after merge

* Update proptype references (merge)

* Strip down external dictionary

* i18n for dapps

* Restore tests submodule

* Allow language changes to reflect

* Style updates
2016-12-11 17:42:35 +01:00
Tomasz Drwięga
b56f12adc6 Merge branch 'master' into tx-broadcast
Conflicts:
	ethcore/light/src/net/context.rs
	ethcore/light/src/net/tests/mod.rs
2016-12-11 17:31:56 +01:00
Gav Wood
e09b1faf20 Fix semver version issues. 2016-12-11 17:13:26 +01:00
GitLab Build Bot
839e3385dd [ci skip] js-precompiled 20161211-155716 2016-12-11 16:00:49 +00:00
Gav Wood
22cb5753d0 Improve capability information and disable old clients. 2016-12-11 16:52:41 +01:00
Nicolas Gotchac
13509a9e83 Fix padding in App, again... (#3813) 2016-12-11 16:49:38 +01:00
Gav Wood
74a6203f72 Merge remote-tracking branch 'origin/master' into check-updates 2016-12-11 15:43:28 +01:00
Gav Wood
0e17cf8d3a Fix tests. 2016-12-11 15:41:49 +01:00
Robert Habermeier
6724f574d6 Light server improvements and protocol adjustments (#3801)
* light: basic transaction pool

* light: network timeouts

* fix dead code warnings

* les: update to new message format

* fix indentation

* les: hash or number in headers req, not both
2016-12-11 15:40:31 +01:00
Igor Artamonov
6742b080f5 use decimals for block numbers in config 2016-12-11 20:38:37 +06:00
Igor Artamonov
4e3c49c809 revert ETC to correct Network ID 2016-12-11 20:34:46 +06:00
Gav Wood
e6444cd106 Merge pull request #3810 from ethcore/defaults-parse-fix
Tolerate errors in user_defaults
2016-12-11 15:15:43 +01:00
GitLab Build Bot
778f5bbfaf [ci skip] js-precompiled 20161211-141210 2016-12-11 14:14:41 +00:00
Gav Wood
b28537aa9a Merge pull request #3809 from ethcore/mining-min-gas-limit
block: enforce gas limit falls within engine bounds
2016-12-11 15:08:30 +01:00
Nicolas Gotchac
d3077c51fc Target Babel to latest Chrome Versions in dev (#3806)
* Use `babel-preset-env` to target Babel to latest Chrome Versions

* Opt-In mechanism for Babel Preset Env
2016-12-11 15:05:10 +01:00
arkpar
05dcf951d1 Merge w master 2016-12-11 14:59:57 +01:00
Igor Artamonov
aed633d7df Testnet for Ethereum Classic 2016-12-11 19:25:02 +06:00
Gav Wood
5bf9fa9168 Allow reuse of previous logger. 2016-12-11 13:35:00 +01:00
arkpar
a49ff3fb32 Merge branch 'master' of github.com:ethcore/parity into cli-rpc 2016-12-11 13:30:48 +01:00
Igor Artamonov
7b5bc115e9 EIP-160 configuration for Ethereum Classic 2016-12-11 18:29:40 +06:00
Igor Artamonov
592ff53bab EIP-155 configuration for Ethereum Classic 2016-12-11 18:28:37 +06:00
arkpar
2c653d2c2e Merge w master 2016-12-11 13:11:08 +01:00
Gav Wood
8d7a63bbea Join up the final dots. 2016-12-11 13:10:33 +01:00
arkpar
a56443aa6c Tolerate error is user_defaults 2016-12-11 13:00:49 +01:00
Robert Habermeier
9252ebf93d block: enforce gas limit falls within engine bounds 2016-12-11 12:50:48 +01:00
arkpar
c777362d02 Sync channel for consensus test 2016-12-11 12:32:01 +01:00
GitLab Build Bot
95af942fc9 [ci skip] js-precompiled 20161211-093638 2016-12-11 09:40:44 +00:00
Jaco Greeff
0a37288aa4 Lowercase npm packages (#3807) 2016-12-11 10:30:30 +01:00
GitLab Build Bot
17dee5f1a2 [ci skip] js-precompiled 20161211-091947 2016-12-11 09:22:07 +00:00
Jaco Greeff
36b8e4b6a8 Extended publishing of libraries to npm (#3786)
* Extended publishing of libraries to npm

* Update source links

* Add some tests before publishing NPM library

* Fix Shapeshift tests
2016-12-11 10:13:34 +01:00
Gav Wood
d9f6ea56ef Don't restart if we're not in the cradle. 2016-12-11 04:05:02 +01:00
Gav Wood
2865cbaf70 Use file contents instead of symlink. 2016-12-11 03:33:10 +01:00
Gav Wood
7a1539cfb5 Fix deadlock. 2016-12-11 02:39:56 +01:00
GitLab Build Bot
bfb684a641 [ci skip] js-precompiled 20161211-012647 2016-12-11 01:28:52 +00:00
Gav Wood
078feaadd5 Merge pull request #3799 from ethcore/ng-ui-fixes
Several Fixes to the UI
2016-12-11 02:16:21 +01:00
Gav Wood
0a494962e4 Merge remote-tracking branch 'origin/master' into check-updates 2016-12-11 02:13:52 +01:00
Gav Wood
120564ff29 Avoid pulling in hash_fetch. 2016-12-11 02:12:52 +01:00
Gav Wood
0302d582d2 Fix build. 2016-12-11 02:02:40 +01:00
Nicolas Gotchac
ba3bfcc54d Merge branch 'master' into ng-ui-fixes 2016-12-11 01:26:55 +01:00
Gav Wood
068201a01b Merge pull request #3805 from ethcore/fix-ci
Remove "s
2016-12-11 00:30:28 +01:00
Gav Wood
7c2c9c89a4 Stricter search for rust changes. 2016-12-11 00:20:19 +01:00
Gav Wood
c14d8da350 Use real arithmetic operator rather than '=' 2016-12-11 00:09:04 +01:00
GitLab Build Bot
62492a915e [ci skip] js-precompiled 20161210-230517 2016-12-10 23:07:55 +00:00
Gav Wood
12df3adfeb Merge branch 'master' into fix-ci 2016-12-11 00:02:48 +01:00
Gav Wood
854eb1080c Remove "s 2016-12-10 23:59:50 +01:00
Gav Wood
fa30dfd4b9 Refactor into system service, add exe redirect. 2016-12-10 23:58:39 +01:00
Nicolas Gotchac
b44e7bb292 Extract CSS to file in production builds (#3783)
* Extract CSS to file if production build

* Use DAPPS_URL for testing purposes + better assets in Webpack

* Delete comments
2016-12-10 23:55:57 +01:00
Nicolas Gotchac
b0f1665f11 Notify user on transaction received (#3782)
* Notify user on new transaction #2556

* Add routing to account on notification click

* Timeout of notif set to 20s
2016-12-10 23:55:36 +01:00
Gav Wood
aa30619b6f Merge pull request #3772 from ethcore/txqueue-gc
Removing all old entries from transaction queue
2016-12-10 23:53:24 +01:00
Tomasz Drwięga
1e8638608c fixing tests 2016-12-10 22:59:35 +01:00
Nicolas Gotchac
e5c73b29d8 'contract/write' to 'contract/develop' 2016-12-10 22:42:49 +01:00
GitLab Build Bot
5ec1ff43ea [ci skip] js-precompiled 20161210-212741 2016-12-10 21:29:53 +00:00
Nicolas Gotchac
9dbccfda2f Fix padding bottom // Status bar fixed 2016-12-10 22:22:14 +01:00
Jaco Greeff
173a88804a Status page updates (#3774)
* Allow Page to create optional Actionbar

* Typo

* Display last block.timestamp

* Remove unnneeded console.log

* Re-do git mv

* git mv

* Force build changes

* Resolving case sensitivity issues

* Swapped to margin at bottom
2016-12-10 22:21:32 +01:00
Nicolas Gotchac
7401358543 PR grumbles 2016-12-10 22:15:56 +01:00
Tomasz Drwięga
b5020d3c8d Fixing Light context API 2016-12-10 21:25:28 +01:00
Tomasz Drwięga
19ca9ad460 Prevent broadcasting transactions to peer that send them. 2016-12-10 21:22:19 +01:00
Nicolas Gotchac
70eab0da03 PR grumbles 2016-12-10 20:29:22 +01:00
Nicolas Gotchac
89ed76497e Merge branch 'master' into ng-ui-fixes 2016-12-10 20:23:09 +01:00
Tomasz Drwięga
08a47ea2d4 Allow modifications of gas when confirming in signer (#3798) 2016-12-10 20:18:42 +01:00
Tomasz Drwięga
9b5fd93290 removing println [ci:skip] 2016-12-10 20:07:12 +01:00
Tomasz Drwięga
76a93d4eff eth_sign RPC now hashes given data 2016-12-10 20:01:04 +01:00
Nicolas Gotchac
0f6681d3e8 Linting issue 2016-12-10 19:15:45 +01:00
Nicolas Gotchac
69c0086ada Better Autocomplete Divider 2016-12-10 19:14:29 +01:00
Nicolas Gotchac
2346f29731 Add dividers to AutoComplete 2016-12-10 18:35:54 +01:00
keorn
b6c7ed24b7 Client trait reorg 2016-12-10 18:35:29 +01:00
keorn
f3af0f46be Merge branch 'master' into auth-bft 2016-12-10 18:14:35 +01:00
keorn
1611d190ba initial tendetmint consensus test 2016-12-10 17:40:53 +01:00
keorn
b9909da8b1 move Sealing methods to MiningBlockChainClient 2016-12-10 17:40:20 +01:00
Tomasz Drwięga
c408861c29 Updating submodules 2016-12-10 17:36:29 +01:00
Nicolas Gotchac
cd6ab07217 Use the new onClose autocomplete prop 2016-12-10 17:06:44 +01:00
Tomasz Drwięga
42c2d2291a Merge branch 'master' into rotating-key 2016-12-10 17:00:59 +01:00
Tomasz Drwięga
1f9adc8622 Merge branch 'master' into txqueue-gc
Conflicts:
	ethcore/src/miner/miner.rs
2016-12-10 17:00:29 +01:00
Nicolas Gotchac
84116130f6 Add sender balances to contract (exec/deploy) 2016-12-10 16:58:03 +01:00
Tomasz Drwięga
aaf6da4c00 Returning persistent node id 2016-12-10 16:55:29 +01:00
Robert Habermeier
a6fcd8a0d9 Merge pull request #3794 from ethcore/net-fix
Network connectivity fixes
2016-12-10 16:55:17 +01:00
keorn
239ba61a99 move transition message to to_step 2016-12-10 16:50:23 +01:00
Nicolas Gotchac
d9da8a48ff Add sender balance in transfer modal 2016-12-10 16:46:00 +01:00
Tomasz Drwięga
e66157f922 fixing test 2016-12-10 16:40:32 +01:00
Nicolas Gotchac
054b4810d5 Fix wallet data's prop types 2016-12-10 15:30:39 +01:00
Tomasz Drwięga
704054ef40 Merge branch 'master' into tx-broadcast
Conflicts:
	ethcore/src/client/traits.rs
2016-12-10 15:23:53 +01:00
Nicolas Gotchac
ef93262311 See addresses outside address book + Save them 2016-12-10 15:19:05 +01:00
Tomasz Drwięga
e1ade5b375 Maintaining a list of transactions propagated from other peers 2016-12-10 15:18:44 +01:00
Tomasz Drwięga
27503e8e8c Merge branch 'master' into rotating-key
Conflicts:
	ethstore/src/ethstore.rs
	ethstore/src/secret_store.rs
2016-12-10 15:13:58 +01:00
Nicolas Gotchac
65f586ed14 Fix tab bar active style 2016-12-10 14:32:54 +01:00
Nicolas Gotchac
81c5085b35 Don't create new Contracts instance if already exists 2016-12-10 14:31:20 +01:00
Nicolas Gotchac
13607d48be Better use of Tab Bar 2016-12-10 14:26:35 +01:00
arkpar
02c788a403 Network connectivity fixes 2016-12-10 14:20:34 +01:00
Nicolas Gotchac
591d086f42 Better use of React-Router (maintaining old routes) 2016-12-10 14:19:15 +01:00
Gav Wood
316c25d9f8 Merge remote-tracking branch 'origin/master' into check-updates 2016-12-10 14:08:41 +01:00
Gav Wood
60ea787bd1 Merge pull request #3781 from ethcore/consistent-id
Make *ID names consistent with std Rust (Id)
2016-12-10 14:04:07 +01:00
Gav Wood
0977b82eeb More fixes. 2016-12-10 13:54:17 +01:00
Gav Wood
7eb30b1249 Fix build. 2016-12-10 13:52:43 +01:00
Gav Wood
82efa2675e Merge remote-tracking branch 'origin/master' into consistent-id 2016-12-10 13:36:30 +01:00
Nicolas Gotchac
51b9034a5e Don't show addresses while loading balances (fix flash of unsorted) 2016-12-10 12:44:48 +01:00
Tomasz Drwięga
4696d7f606 Additional RPCs for dapps accounts management 2016-12-10 12:36:04 +01:00
keorn
e5f8044cad Merge branch 'master' into auth-bft 2016-12-10 11:01:23 +01:00
Jaco Greeff
6eb63a7316 Update CI builds (#3780)
* Only run languages tests in appropriate areas

* Drop echo
2016-12-10 10:49:39 +01:00
keorn
5f09eb9d04 update tests to new spec (#3790) 2016-12-10 10:38:10 +01:00
Nicolas Gotchac
0d9b1882a3 Treat tabs as real link (enable Ctrl+Click for new Tab) 2016-12-10 01:56:38 +01:00
Nicolas Gotchac
f6564dcc2f Fix dapps separation 2016-12-10 01:32:39 +01:00
Nicolas Gotchac
b9c04fcd00 Fixes to the Wallet UI (#3787)
* Correct number of transactions for contracts

* Remove daily limit info if set to 0

* Hide tx count for contracts
2016-12-10 01:26:47 +01:00
Nicolas Gotchac
6655e7e3c0 Add support for wallets without getOwner() interface (#3779)
* Make Wallet Mist compatible #3282

* Owners icons on load

* Fix oversized logo on load

* Don't fetch registry twice (even when pending)

* Better logging...

* Better contract view : show if no events // show loading events

* Better decimal typed input

* PR grumble
2016-12-10 01:26:28 +01:00
Nicolas Gotchac
923f85d90d Update Material-UI (#3785)
* Update MUI => Fixes wrong error styled inputs

* Update postcss import
2016-12-10 01:26:03 +01:00
Nicolas Gotchac
5c555aa18f Fixes error in Transfer modal (mix between props and own property) (#3788) 2016-12-10 01:25:23 +01:00
Robert Habermeier
4d25445af5 Merge pull request #3755 from ethcore/lightserv
LES Part 3: Event handlers and handling responses
2016-12-10 00:40:46 +01:00
Gav Wood
341777dbb6 Merge pull request #3743 from ethcore/jg-test-ui
Basic UI rendering tests
2016-12-09 23:16:11 +01:00
Gav Wood
edd5e76050 Merge branch 'consistent-id' into check-updates 2016-12-09 23:12:36 +01:00
Gav Wood
5f1fcf95e0 Make *ID names consistent with std Rust (Id) 2016-12-09 23:01:43 +01:00
Robert Habermeier
d427d60156 Merge pull request #3776 from ethcore/p2p-event-ordering
network: process packets only after connection handler finishes
2016-12-09 23:00:59 +01:00
Kristoffer Ström
0e516162c3 Rebased on master 2016-12-09 22:27:32 +01:00
Kristoffer Ström
6552319074 Style rewrite 2016-12-09 22:26:08 +01:00
Kristoffer Ström
1d0ccb1c30 Move format_ether into transaction_request.rs 2016-12-09 22:26:08 +01:00
Kristoffer Ström
a7e10cebbd Remove forgotten test debug 2016-12-09 22:26:08 +01:00
Kristoffer Ström
e202b9c79a Fix Cargo.toml formating 2016-12-09 22:26:08 +01:00
Kristoffer Ström
68df68ca1d Use Signer mock from the signer crate 2016-12-09 22:26:08 +01:00
Kristoffer Ström
b2b00e9dbe Use Mutex from util 2016-12-09 22:26:08 +01:00
Kristoffer Ström
f700aa39fe Switch to jsonrpc request/response types 2016-12-09 22:26:07 +01:00
Kristoffer Ström
91b7780eb5 comment formating 2016-12-09 22:26:07 +01:00
Kristoffer Ström
7a176094d5 * Use try!/map_err instead of match
* Use jsonrpc_core for serializing/deserializing rpc messages
* Factor out unwraps
* Remove mem::replace
* Add nicer formating of ConfirmationRequests
2016-12-09 22:26:07 +01:00
Kristoffer Ström
273d7c00c3 Pass cli tests, remove compiler warnings 2016-12-09 22:26:07 +01:00
Kristoffer Ström
4e3f8bab10 Add Ws Json rpc client and command line utils 2016-12-09 22:26:05 +01:00
Robert Habermeier
503b126c93 Merge branch 'master' into lightserv 2016-12-09 21:37:55 +01:00
Robert Habermeier
b772901d77 network: process packets only after connection handler finishes 2016-12-09 21:17:05 +01:00
Gav Wood
2226324495 Merge pull request #3778 from ethcore/auth-round-test
AuthorityRound network simulation test
2016-12-09 20:58:05 +01:00
keorn
b15edd095e Merge branch 'auth-bft' of https://github.com/ethcore/parity into auth-bft 2016-12-09 20:51:42 +01:00
Gav Wood
c82754874c Fix typo. 2016-12-09 20:48:52 +01:00
keorn
08e7e79bfd more test 2016-12-09 20:48:05 +01:00
Gav Wood
46af3d18da Merge remote-tracking branch 'origin/master' into check-updates 2016-12-09 20:45:15 +01:00
Gav Wood
e5e6b77984 Cleanups and avoid redownloading. 2016-12-09 20:40:24 +01:00
arkpar
97f358ced9 AuthorityRound network simulation test 2016-12-09 20:38:06 +01:00
Gav Wood
fe27b0f313 Merge pull request #3775 from ethcore/auth-bft-test
AuthorityRound network simulation test
2016-12-09 20:25:51 +01:00
Tomasz Drwięga
c91a614c3d Fixing tests 2016-12-09 20:24:33 +01:00
Gav Wood
598fd42856 Merge pull request #3770 from ethcore/jg-execute-gas
GasPrice selection for contract execution
2016-12-09 20:24:10 +01:00
Gav Wood
0a4e63b462 Merge pull request #3762 from ethcore/tx-check
Reject existing transactions
2016-12-09 20:17:28 +01:00
Gav Wood
45ec84e627 Merge pull request #3752 from ethcore/jg-subscription-check
Allow autoRemove from api.subscribe based on callback return values
2016-12-09 20:16:34 +01:00
Gav Wood
2e1e167397 Merge pull request #3753 from ethcore/jg-fix-gitlab.yml
Replace misplaced & with && in gitlab-ci.yml
2016-12-09 20:16:10 +01:00
arkpar
ca7406773f AuthorityRound network simulation test 2016-12-09 19:27:16 +01:00
GitLab Build Bot
647b62b4a2 [ci skip] js-precompiled 20161209-182130 2016-12-09 18:23:46 +00:00
Gav Wood
cf0b1bb9b2 use path prefix 2016-12-09 19:21:39 +01:00
Gav Wood
b99403740a Merge pull request #3773 from ethcore/ng-enhanced-multisig
Lower gas usage for creating a Multisig Wallet
2016-12-09 19:15:46 +01:00
Arkadiy Paronyan
5758bb7cac Rust files are all non-js files 2016-12-09 19:11:00 +01:00
Gav Wood
c2b6be95c8 Fetch and place in updates path. 2016-12-09 19:02:42 +01:00
Gav Wood
9bfceeea21 Merge pull request #3761 from ethcore/io-stop
Added IO service explicit stop
2016-12-09 19:00:46 +01:00
Gav Wood
d5d9d78bd9 It's not either-or. 2016-12-09 18:58:37 +01:00
Jaco Greeff
a73e0a987e Merge branch 'master' into jg-test-ui 2016-12-09 18:34:58 +01:00
Jaco Greeff
290a4a40ff Merge branch 'master' into jg-subscription-check 2016-12-09 18:17:36 +01:00
Jaco Greeff
0cbef30508 Unsubscribe on true 2016-12-09 18:17:31 +01:00
Jaco Greeff
99846e2ad2 Merge branch 'master' into jg-subscription-check 2016-12-09 18:14:09 +01:00
Jaco Greeff
1b0945940b Test for boolean result before unsubscribe 2016-12-09 18:14:05 +01:00
GitLab Build Bot
fd23a2972c [ci skip] js-precompiled 20161209-165845 2016-12-09 17:00:59 +00:00
Jaco Greeff
ffd8314a11 Be lenient around invalid owners map (#3764)
* Be lenient around invalid owners map

* Filter invalid owners before render
2016-12-09 17:52:25 +01:00
Nicolas Gotchac
ff11634e1d PR Grumble 2016-12-09 16:55:43 +01:00
Jannis R
bc33231f7c merge master into jr-use-badge-reg 2016-12-09 16:53:14 +01:00
Jannis R
eb1429237b merge master into jr-email-verification 2016-12-09 16:52:44 +01:00
Jannis R
c249c51dd3 certification: use BadgeReg to load the contract 2016-12-09 16:40:45 +01:00
Nicolas Gotchac
bace05b154 Merge branch 'master' into ng-enhanced-multisig 2016-12-09 16:40:07 +01:00
Nicolas Gotchac
caf3a96c19 Add fallback Full Fleshed Wallet if no library 2016-12-09 16:29:57 +01:00
Nicolas Gotchac
efee55ae84 Updated Wallet Version ! Now only 500k gas for Wallet creation 2016-12-09 16:24:11 +01:00
Jannis R
452b8c9c74 split sms & email verification 3rdparty code
We might want to bundle the code in `3rdparty`.

React & presentational components don't belong in there. At the
same time, the terms of service are strictly related to the use
of these external services. We decided to not bundle them, but
still keep them in a file called `terms-of-service.js`.

The commit also moves the "how it works" section into the
presentational part in `modals/Verification`.
2016-12-09 16:23:13 +01:00
Jaco Greeff
d992c642ff Adjust to final step on rejected/completed 2016-12-09 15:55:50 +01:00
Tomasz Drwięga
cee07fef74 Trigger remove_old on new block 2016-12-09 15:54:13 +01:00
Nicolas Gotchac
63137b1548 Add enhanced Wallet solidity code 2016-12-09 15:52:28 +01:00
Jaco Greeff
d2494d1425 GasPrice selection for contract execution 2016-12-09 15:43:24 +01:00
Robert Habermeier
415fccfffb add ethcore-light cov target 2016-12-09 15:20:45 +01:00
Robert Habermeier
9a4dfbd211 Merge branch 'lightserv' of github.com:ethcore/parity into lightserv 2016-12-09 15:20:12 +01:00
Tomasz Drwięga
5d054f08c3 Clearing old transactions 2016-12-09 15:05:03 +01:00
Robert Habermeier
5f37c93659 les: use negotiated protocol version 2016-12-09 15:04:54 +01:00
keorn
56e9dab9de add Engine stop method 2016-12-09 14:52:08 +01:00
arkpar
cc8c2ea58d Reject existing tx 2016-12-09 14:37:11 +01:00
keorn
c7f1260775 Merge branch 'io-stop' of https://github.com/ethcore/parity into auth-bft 2016-12-09 14:27:39 +01:00
Jannis R
6d20592f76 remove certification on Revoke 2016-12-09 14:06:02 +01:00
GitLab Build Bot
1213ada59c [ci skip] js-precompiled 20161209-125036 2016-12-09 12:52:50 +00:00
Jaco Greeff
2582514b58 GasEditor component (#3750)
* Initial split of component (WIP)

* GasPriceEditor externalised

* Fix lint
2016-12-09 13:44:35 +01:00
Jaco Greeff
befcc9cc1a Cleanups (#3742)
* Remove unused file

* Combine tx checks into single file

* Move UI components into UI

* DRY links

* Unused rollup config

* Cleanup util paths

* Revert "Move UI components into UI"

This reverts commit 3379e61246cde635c296d31322b71e63395a5cd4.

* Re-apply ~/util/tx move

* Cleanup unused styles
2016-12-09 13:44:10 +01:00
Jaco Greeff
00c53a8d18 Merge branch 'master' into jg-test-ui 2016-12-09 13:36:50 +01:00
Jaco Greeff
bb209424ac IdentityName flags testing 2016-12-09 13:36:46 +01:00
Jannis R
fd88421e88 store id with certifiers 2016-12-09 13:35:10 +01:00
arkpar
364dd9dda4 Make stop const 2016-12-09 13:25:02 +01:00
Jannis R
3dc943e854 merge master into jr-use-badge-reg 2016-12-09 13:14:35 +01:00
Jaco Greeff
1f4c84cbf1 Theme tests 2016-12-09 13:03:46 +01:00
keorn
475d4bcf3f Merge branch 'io-stop' into auth-bft 2016-12-09 12:37:55 +01:00
Jannis R
a94bbea7a5 more user-friendly method selection 2016-12-09 12:37:36 +01:00
keorn
762e5f1e3e proposed block sync tests 2016-12-09 12:05:56 +01:00
Tomasz Drwięga
3ccdb7c143 Fixing unused imports 2016-12-09 10:52:42 +00:00
Tomasz Drwięga
c76b7cf8f8 Fixing tests submodule 2016-12-09 10:48:46 +00:00
arkpar
22a63f6fd3 Added IO Service explicit stop 2016-12-09 11:45:16 +01:00
keorn
fb71caffbd remove double registration 2016-12-09 11:05:44 +01:00
Jaco Greeff
296301e284 Extend tests for TxList 2016-12-09 10:55:46 +01:00
keorn
42c34b5c1b ignore flaky test 2016-12-09 10:53:38 +01:00
Tomasz Drwięga
930183831b Adding tests for ethstore 2016-12-09 09:45:34 +00:00
Jaco Greeff
a133e41e16 Merge branch 'master' into jg-test-ui 2016-12-09 09:53:55 +01:00
Tomasz Drwięga
8596134c0f Clearer updates handling 2016-12-09 08:31:58 +00:00
Tomasz Drwięga
93230dd4c2 Merge branch 'master' into rotating-key
Conflicts:
	ethcore/src/account_provider/mod.rs
	rpc/src/v1/types/mod.rs.in
2016-12-09 07:37:34 +00:00
GitLab Build Bot
83f791fa5d [ci skip] js-precompiled 20161209-044115 2016-12-09 04:43:19 +00:00
GitLab Build Bot
12592689dd [ci skip] js-precompiled 20161209-014235 2016-12-09 01:44:45 +00:00
Jaco Greeff
7eeac232b4 Merge branch 'master' into lightserv 2016-12-09 02:36:55 +01:00
Jaco Greeff
8f9fdb350c Merge branch 'master' into jg-subscription-check 2016-12-09 02:34:07 +01:00
Jaco Greeff
f9a24f3c8e Update babel, fix CI build due to breaking changes (#3754)
* Update babel to latest version

* Re-add circular deps plugin

* Bump for build

* Fixes for babel build
2016-12-09 02:33:12 +01:00
Jaco Greeff
6b65a1f872 Merge branch 'master' into jg-subscription-check 2016-12-09 01:41:44 +01:00
GitLab Build Bot
e1ad347cdb [ci skip] js-precompiled 20161209-003004 2016-12-09 00:32:45 +00:00
Robert Habermeier
eec1929658 Merge branch 'master' into lightserv 2016-12-09 01:29:46 +01:00
Nicolas Gotchac
09334ca3bd Small fixes to contract (#3751)
* Fix contracts execution will fallback function

* Fix contract execute modal

* Working execute from Contract

* Don't dupliacet events

* Gas * 1.2 in wallet confirmations
2016-12-09 01:21:51 +01:00
Robert Habermeier
07d7a37319 les: make peer buffer flow params optional 2016-12-09 01:06:51 +01:00
Jaco Greeff
b76a717720 Fix & with && 2016-12-09 00:58:53 +01:00
Jaco Greeff
13f962ae01 Attempt to fix ci webpack 2016-12-09 00:56:12 +01:00
Jaco Greeff
10c356de65 Simplify, consolidate uses between subscription managers 2016-12-09 00:52:21 +01:00
Jannis R
5418c56b01 remove Prepare step
The modal got really crowded and the preparation step had
only been shown for fractions of a second anyways. The
"loading" message is now part of the next step.
2016-12-09 00:39:16 +01:00
Jannis R
dfc445b6d6 fix bugs & linting issues 2016-12-09 00:39:16 +01:00
Jannis R
162420f4c2 send emailHash with request, update ABI 2016-12-09 00:39:16 +01:00
Jannis R
0e0f602d5e pass fields to query into QueryCode 2016-12-09 00:39:16 +01:00
Jannis R
052f9258a5 pass fields to query into GatherData 2016-12-09 00:39:15 +01:00
Jannis R
d3fd71d953 add email-specific contract, helpers, store 2016-12-09 00:39:15 +01:00
Jannis R
1ac3421f33 step to select verification method 2016-12-09 00:39:15 +01:00
Jannis R
1672cbad7b factor out SMS-specific logic 2016-12-09 00:39:15 +01:00
Jannis R
b5b529f8c2 modals/SMSVerification -> modals/Verification 2016-12-09 00:39:15 +01:00
Jannis R
600a7e5ccc make SMS verification contract general purpose 2016-12-09 00:39:15 +01:00
Jannis R
e536290892 fix linting issues 2016-12-09 00:38:44 +01:00
Jannis R
a84cd9143f show certifications in accounts list 2016-12-09 00:36:27 +01:00
Robert Habermeier
d53c47aa69 more tracing 2016-12-09 00:35:34 +01:00
Jannis R
5862f2a9eb Certifications: read dappsUrl from state 2016-12-09 00:34:59 +01:00
Jannis R
e1c5796a5c fetch certifications in account view 2016-12-09 00:34:59 +01:00
Jannis R
409c4adfbf fetch certifiers from BadgeReg 2016-12-09 00:34:58 +01:00
Jannis R
b32b636697 fetch certifiers by id 2016-12-09 00:34:58 +01:00
Jannis R
2b34d76b8c pull out fetchMeta 2016-12-09 00:34:58 +01:00
Jaco Greeff
3989e2642b Typo 2016-12-09 00:25:50 +01:00
Jaco Greeff
1ecda93de9 Align api.subscribe with contract 2016-12-09 00:15:39 +01:00
Jaco Greeff
4ce3142c63 Add autoRemove functionality to api.contract.subscribe 2016-12-09 00:15:27 +01:00
Jaco Greeff
ad971a444c Add autoRemove functionality for api.subscribe 2016-12-09 00:00:56 +01:00
Robert Habermeier
e7ce8c9558 light: broadcast status updates to peers 2016-12-08 23:57:09 +01:00
Robert Habermeier
6f5f1f5e26 light: integrate with sync + serve_light CLI 2016-12-08 23:21:47 +01:00
keorn
7c42241466 remove merge code 2016-12-08 22:00:26 +01:00
keorn
74770e4773 better docstrings 2016-12-08 21:49:55 +01:00
keorn
cc284dd86f Merge branch 'master' into auth-bft 2016-12-08 21:35:08 +01:00
keorn
79ef64349c remove assert 2016-12-08 21:27:49 +01:00
keorn
9ecb07434f fix informant 2016-12-08 21:13:32 +01:00
Gav Wood
2d6656fc43 Merge pull request #3725 from ethcore/engine-password
Make engine hold AccountProvider
2016-12-08 20:52:12 +01:00
keorn
dca752e9bb docs, tweaks 2016-12-08 20:09:30 +01:00
Robert Habermeier
efd66f566d ethsync: optional ipc codegen 2016-12-08 19:52:48 +01:00
Jaco Greeff
9d5de519b6 Merge remote-tracking branch 'origin/jg-test-ui' into jg-test-ui 2016-12-08 17:33:15 +01:00
Jaco Greeff
0544e0e786 Merge branch 'jg-test-ui-2' into jg-test-ui 2016-12-08 17:33:02 +01:00
Jaco Greeff
96d4569cf3 Update test describe paths 2016-12-08 17:31:41 +01:00
Jaco Greeff
ae49251c81 Remove .only 2016-12-08 17:04:21 +01:00
Jaco Greeff
507b4b68a1 Merge branch 'master' into jg-test-ui 2016-12-08 16:50:23 +01:00
Jaco Greeff
9e8fb616d3 Add store tests, fix issue with pending sort to top 2016-12-08 16:50:19 +01:00
Robert Habermeier
2e87e31157 light: no default features 2016-12-08 16:46:58 +01:00
Robert Habermeier
64ebcd0f24 fix contract code response encoding; add test 2016-12-08 16:12:00 +01:00
GitLab Build Bot
4e1b72b45c [ci skip] js-precompiled 20161208-150237 2016-12-08 15:04:38 +00:00
Jaco Greeff
a1fb1240a7 Properly delete addresses/contracts in addressbook (#3739)
* Remove previously market addresses at startup

* Remove meta.deleted checks

* Remove artifact from code move
2016-12-08 15:54:23 +01:00
Nicolas Gotchac
d38da1f3b4 Display Wallet Owners in Accounts list (#3741) 2016-12-08 15:53:46 +01:00
Nicolas Gotchac
715761a714 Edit Multisig Wallet settings (#3740)
* WIP Sending tokens in multi-sig wallet

* Working Token transfer for multi-sig wallet #3282

* Add operation hash to transfer modal

* Add existing wallet from address #3282

* Wallet delete redirect to Wallets/Accounts #3282

* Rightly check balance in Transfer // Get all accounts balances #3282

* Fix linting

* Better Header UI for Wallet

* Use the `~` webpack alias

* Use Webpack `~` alias

* Add `ETH` format to number typed input

* Fix wallet creation hint && eth input type

* Update dailylimit #3282

* Fix too long copied message

* WIP Wallet settings modification #3282

* WIP edit contract parameters #3282

* Edit Wallet parameters #3282

* Don't show wallets if none

* Fix Transfer for Wallet #3282

* Optimized version of contract code

* Fix wrong max in Wallet creation // Round gas in API
2016-12-08 15:53:29 +01:00
GitLab Build Bot
69e010bbf9 [ci skip] js-precompiled 20161208-144436 2016-12-08 14:46:49 +00:00
Jaco Greeff
328db0c124 Replace build directory completely (#3748) 2016-12-08 15:39:27 +01:00
Jaco Greeff
fb80cf6190 Add existing release files before merge (#3747) 2016-12-08 15:20:53 +01:00
Jaco Greeff
5d224df2d5 Release script back to using fetch/merge (#3746)
* Update with -X only for merge

* Release back to using fetch/merge
2016-12-08 15:02:45 +01:00
Jaco Greeff
1ab4ee3781 Update Button with correct proptypes 2016-12-08 14:53:57 +01:00
Jaco Greeff
cbd5fe7c07 Update with -X only for merge (#3745) 2016-12-08 14:48:09 +01:00
Robert Habermeier
3e8ee9d423 light IPC feature and mock state proofs 2016-12-08 13:44:17 +01:00
Jaco Greeff
a5b5277a88 Expanded basic tests for #2289 2016-12-08 13:00:29 +01:00
Jaco Greeff
543428fe5d NODE_ENV=test for all tests 2016-12-08 12:59:59 +01:00
Jaco Greeff
699a821775 Merge branch 'master' into jg-test-ui 2016-12-08 12:45:40 +01:00
Robert Habermeier
de4715bc67 Merge pull request #3732 from ethcore/jg-duplicate-accounts
Give accounts precedence over address_book entries
2016-12-08 12:27:26 +01:00
Jaco Greeff
b3f7c00780 ui/Container tests as per #2289 2016-12-08 12:22:40 +01:00
Robert Habermeier
8d16f73795 first few LES tests, fix get_header logic bug 2016-12-08 12:20:18 +01:00
Jaco Greeff
ad8a191e95 Adjust specs to show location 2016-12-08 12:19:03 +01:00
Jaco Greeff
88e5ed9ea5 Allow mocha to use webpack aliasses via babel 2016-12-08 12:18:43 +01:00
keorn
3ebfa1481d better proposal block handling 2016-12-08 12:03:34 +01:00
Arkadiy Paronyan
15ec63750e Enable Panic=abort (#3423)
* Enable panic=abort

* Update remaining crate versions to 1.5

* Run tests in release mode

* Enable panic=abort for release profile only

* Added travis_wait

* Travis timeout set to 40
2016-12-08 11:31:57 +01:00
Jaco Greeff
5f1021822d Cleanups on js-precompiled (#3738)
* Cleanups on js-precompiled

* Combined

* Adjust based on Pr comments
2016-12-07 21:38:28 +01:00
Gav Wood
8903384840 Merge branch 'master' into check-updates 2016-12-07 19:19:44 +01:00
GitLab Build Bot
9e8d90b5ba [ci skip] js-precompiled 20161207-173717 2016-12-07 17:39:18 +00:00
Gav Wood
342357302b Merge pull request #3735 from ethcore/jg-addressbook-delete
Add parity_removeAddress RPC
2016-12-07 18:31:22 +01:00
Jaco Greeff
dba8cf3a3b Add test for RPC side 2016-12-07 17:58:22 +01:00
Robert Habermeier
2d1a3ff091 les: generalize network and event contexts with traits 2016-12-07 17:52:10 +01:00
Jaco Greeff
7c054d2da0 Remove unneeded block scope 2016-12-07 17:07:28 +01:00
Jaco Greeff
46840d36c9 Add parity_removeAddress RPC 2016-12-07 16:53:46 +01:00
keorn
347634ac6c dont rebroadcast propose 2016-12-07 16:42:58 +01:00
keorn
aa9caac750 revert cli default 2016-12-07 15:36:20 +01:00
Robert Habermeier
10d75b6de0 light: implement all response handlers 2016-12-07 15:27:04 +01:00
keorn
b73689f041 Merge branch 'engine-password' into auth-bft 2016-12-07 15:17:49 +01:00
keorn
727ace0561 add test 2016-12-07 15:14:21 +01:00
keorn
e9743a3a75 Merge branch 'master' into auth-bft 2016-12-07 14:50:17 +01:00
keorn
4361cb53e7 Merge branch 'engine-password' into auth-bft 2016-12-07 14:49:42 +01:00
keorn
5faa4a85cb remove dummy type 2016-12-07 14:49:07 +01:00
keorn
6440ca2f68 move stuff around 2016-12-07 14:39:37 +01:00
Gav Wood
1f0a02b638 Merge pull request #3633 from ethcore/fix-tx-rpc
Fix up the transaction JSON serialisation for RPC.
2016-12-07 14:34:51 +01:00
Robert Habermeier
cdc758368a les: flesh out event handler 2016-12-07 13:52:45 +01:00
Robert Habermeier
89726356a3 Merge pull request #3709 from ethcore/opt-in-verifier-scaling
queue: CLI for auto-scaling and num verifiers
2016-12-07 13:40:42 +01:00
GitLab Build Bot
3388eab76a [ci skip] js-precompiled 20161207-123833 2016-12-07 12:40:35 +00:00
GitLab Build Bot
2e40a00768 [ci skip] js-precompiled 20161207-122336 2016-12-07 12:26:14 +00:00
Nicolas Gotchac
8dbd56888d Add functionalities to multi-sig wallet (#3729)
* WIP Sending tokens in multi-sig wallet

* Working Token transfer for multi-sig wallet #3282

* Add operation hash to transfer modal

* Add existing wallet from address #3282

* Wallet delete redirect to Wallets/Accounts #3282

* Rightly check balance in Transfer // Get all accounts balances #3282

* Fix linting

* Better Header UI for Wallet

* Use the `~` webpack alias

* Use Webpack `~` alias
2016-12-07 12:47:44 +01:00
Jaco Greeff
5bdb6e4f22 Ignore meta.deleted for account name display 2016-12-07 11:51:48 +01:00
Jaco Greeff
f7586109df Ignore meta.deleted for accounts 2016-12-07 11:48:08 +01:00
Jaco Greeff
21a3cf7b65 Swap order of addressbook & acocunts merge 2016-12-07 11:44:45 +01:00
keorn
c582540746 Merge branch 'engine-password' into auth-bft 2016-12-07 11:41:38 +01:00
keorn
3ae09de019 restore is_new_best 2016-12-07 11:40:46 +01:00
keorn
a296c5e226 test client message handling 2016-12-07 11:38:09 +01:00
Robert Habermeier
b38d95328d light: conditional compilation 2016-12-07 10:50:24 +01:00
Jaco Greeff
be90245ecb PropTypes as function call (#3731) 2016-12-07 10:46:46 +01:00
keorn
da030fed51 Merge branch 'master' into auth-bft 2016-12-07 10:41:07 +01:00
keorn
5c333fce31 Merge branch 'engine-password' into auth-bft 2016-12-07 10:35:52 +01:00
keorn
71a96588b0 add the methods to engines 2016-12-07 10:34:06 +01:00
Jaco Greeff
e2bb8ef6d1 Unify proptypes in util/proptypes.js (#3728)
* Unify proptypes in util/proptypes.js

* Add missing use of nodeOrStringProptype
2016-12-07 10:25:57 +01:00
keorn
d9eb5e7f1d remove uncles 2016-12-07 09:32:36 +01:00
Robert Habermeier
60680e1913 Merge pull request #3730 from ethcore/jsonrpc-ipc-bump
bump jsonrpc-ipc-server to fix windows build
2016-12-07 09:32:10 +01:00
Robert Habermeier
085b8ad553 Merge pull request #3527 from ethcore/client-provider
LES Part 2
2016-12-07 09:31:50 +01:00
GitLab Build Bot
97e60a6e9c [ci skip] js-precompiled 20161207-042556 2016-12-07 04:28:25 +00:00
Robert Habermeier
d28f615482 bump jsonrpc-ipc-server to fix windows build 2016-12-06 19:32:19 +01:00
Robert Habermeier
398b94e6e2 Merge branch 'master' into opt-in-verifier-scaling 2016-12-06 15:37:10 +01:00
keorn
8f641e67f3 Merge branch 'engine-password' into auth-bft 2016-12-06 13:13:02 +00:00
GitLab Build Bot
0f76533713 [ci skip] js-precompiled 20161206-084538 2016-12-06 08:47:58 +00:00
keorn
b089aa7a6b fix password loading 2016-12-06 08:38:41 +00:00
Nicolas Gotchac
bec3539651 First draft of the MultiSig Wallet (#3700)
* Wallet Creation Modal #3282

* Name and description to Wallet #3282

* Add Wallet to the Account Page and Wallet Page #3282

* Fix Linting

* Crete MobX store for Transfer modal

* WIP Wallet Redux Store

* Basic Details for Wallet #3282

* Fixing linting

* Refactoring Transfer store for Wallet

* Working wallet init transfer #3282

* Optional gas in MethodDecoding + better input

* Show confirmations for Wallet #3282

* Order confirmations

* Method Decoding selections

* MultiSig txs and confirm pending #3282

* MultiSig Wallet Revoke #3282

* Confirmations and Txs Update #3282

* Feedback for Confirmations #3282

* Merging master fixes...

* Remove unused CSS
2016-12-06 09:37:59 +01:00
keorn
0a2ec319ac rename to engine_signer 2016-12-05 21:31:38 +00:00
keorn
92d566c900 Merge branch 'master' into engine-password 2016-12-05 19:30:08 +00:00
keorn
46dd2543e5 rename rpc to match cli 2016-12-05 19:27:24 +00:00
keorn
5e7c21ad4a add a cli flag 2016-12-05 19:23:03 +00:00
Gav Wood
ff7b918d82 Fix build. 2016-12-05 10:55:53 -08:00
Gav Wood
5e1fdc4b11 Merge remote-tracking branch 'origin/master' into fix-tx-rpc 2016-12-05 10:44:19 -08:00
Gav Wood
ad36743122 Merge pull request #3719 from ethcore/engine-block-ordering
Engine block ordering
2016-12-05 10:37:36 -08:00
Gav Wood
d708922d29 Merge pull request #3716 from ethcore/fdlimit
Use fdlimit utility crate from crates.io
2016-12-05 10:36:42 -08:00
GitLab Build Bot
98bfbdc5cb [ci skip] js-precompiled 20161205-174841 2016-12-05 17:50:43 +00:00
Jaco Greeff
873f451df1 Move decoding for contract deployment logic earlier (#3714)
* Move decoding deployment logic earlier

* Removed rendunant isContract
2016-12-05 18:42:44 +01:00
keorn
01bf483b63 remove unnecessary impls 2016-12-05 17:29:47 +00:00
Robert Habermeier
1b6ebe1a6d possible fix for queue drop deadlock (#3702)
* possible fix for #3686

* queue: simplify conclusion, don't block on joining

* queue: park verifiers with timeout to prevent race

* more robust verification loop

* queue: re-introduce wait for verifier joining
2016-12-05 18:18:56 +01:00
NikVolf
ebd4173d21 bump version 2016-12-05 20:15:05 +03:00
keorn
81a756394a Merge branch 'master' into engine-password 2016-12-05 17:08:57 +00:00
keorn
529a7fc33c add password and AccountProvider 2016-12-05 17:08:16 +00:00
keorn
6fc943ca6d Merge branch 'master' into auth-bft 2016-12-05 16:37:35 +00:00
keorn
4f857642b5 rename set_sealer 2016-12-05 16:28:56 +00:00
Robert Habermeier
a726472023 Merge pull request #3713 from ethcore/fix-v-u64
Encode networkid as a u64.
2016-12-05 17:14:07 +01:00
Robert Habermeier
5db93cd433 light: fix compile errors 2016-12-05 17:09:05 +01:00
Robert Habermeier
a6c2408562 IPC codegen in ethcore-light; remove network dependency 2016-12-05 16:56:21 +01:00
Robert Habermeier
61c3358447 move light to its own crate again 2016-12-05 16:55:33 +01:00
keorn
53b479fb7a pass engine to snapshot service 2016-12-05 15:43:46 +00:00
keorn
94302f3f61 throw out difficulty checks 2016-12-05 15:27:44 +00:00
keorn
c61a0e97b3 make engine determine block order 2016-12-05 15:20:32 +00:00
Gav Wood
afe4cc6a05 Merge remote-tracking branch 'origin/master' into check-updates 2016-12-05 07:09:42 -08:00
GitLab Build Bot
e6ed49b2c9 [ci skip] js-precompiled 20161205-150312 2016-12-05 15:05:10 +00:00
Gav Wood
84c923ff6d Merge pull request #3717 from ethcore/spec-rlp-loading
Use valid RLP in generic genesis seal spec
2016-12-05 06:57:24 -08:00
Gav Wood
43ec3d8f79 network_id -> u64 2016-12-05 06:54:31 -08:00
Gav Wood
459babb1a8 Logging. 2016-12-05 06:39:56 -08:00
keorn
db59bd8731 update genesis seal 2016-12-05 14:28:50 +00:00
keorn
c39d504167 Merge branch 'spec-rlp-loading' into auth-bft 2016-12-05 14:11:06 +00:00
keorn
0860a3a767 ignore variable 2016-12-05 14:09:41 +00:00
keorn
22632e6324 make generic seal take valid rlp 2016-12-05 14:07:31 +00:00
NikVolf
42fc770d30 use crates.io crate 2016-12-05 16:25:03 +03:00
keorn
b30c1d5602 fix tests 2016-12-05 13:24:22 +00:00
Robert Habermeier
767d486014 fix config test 2016-12-05 14:12:40 +01:00
keorn
c946ffebf3 Merge branch 'master' into auth-bft 2016-12-05 11:30:11 +00:00
GitLab Build Bot
cf796d3ea4 [ci skip] js-precompiled 20161205-105433 2016-12-05 10:56:28 +00:00
Nicolas Gotchac
9a43e6d6c8 Update JS dependencies (#3710)
* Minor Versions NPM updates

* Remove unused packages

* No longer relevant JS test

* Update some major versions // Revert Rechartjs

* Update Redux/React-{Ace, RouterRedux}

* Updated React Tooltips

* Update mock-socket // Update tests to pass

* Updated React Router

* Removed `history` module that isn't necessary (instead of updating it)

* Updated redux-actions

* Removed commented hot store reload
2016-12-05 11:48:43 +01:00
Nicolas Gotchac
52b4ce0dd7 Use Webpack Aliases (#3711)
* Adds aliases to Webpack Build

* Use `ui` Webpack alias

* Use `views` alias

* Use `modals` aliase

* Use `providers` aliase

* Use `contracts` aliase

* Use '~' aliase

* from `ui` to from `~/ui`

* from  to from

* from `modals` to from `~/modals`

* from `providers` to from `~/redux/providers`

* from `contracts` to from `~/contracts`

* Updated Webpack App config
2016-12-05 11:47:13 +01:00
Gav Wood
9d79cac36b Cleanups. 2016-12-04 11:56:12 -08:00
keorn
f7a01b87b5 better gossip, better proposal collection 2016-12-04 19:43:24 +00:00
keorn
edef7a185f remove tracing 2016-12-04 19:42:53 +00:00
Gav Wood
2911c549e3 Encode networkid as a u64. 2016-12-04 10:48:26 -08:00
Gav Wood
b8c492644b Fix more build. 2016-12-04 10:47:05 -08:00
Gav Wood
356aca2db5 Fix build. 2016-12-04 09:13:23 -08:00
Gav Wood
90a20a217f Merge branch 'master' into check-updates 2016-12-04 09:01:50 -08:00
Gav Wood
0c7b7fc8bc Merge pull request #3627 from ethcore/rpc-middleware
Dapps-specific accounts
2016-12-04 08:46:05 -08:00
GitLab Build Bot
a9424bdf26 [ci skip] js-precompiled 20161204-042533 2016-12-04 04:27:27 +00:00
keorn
f1542b5612 better genesis seal rlp 2016-12-03 16:19:51 +00:00
GitLab Build Bot
ca4aa42615 [ci skip] js-precompiled 20161203-062111 2016-12-03 06:23:18 +00:00
Gav Wood
be7401c8bf Merge pull request #3671 from ethcore/jg-signer-decoding
Signer method parameter decoding & destination info
2016-12-02 22:13:35 -08:00
GitLab Build Bot
f093b077a4 [ci skip] js-precompiled 20161203-043512 2016-12-03 04:37:04 +00:00
GitLab Build Bot
f15906fe8d [ci skip] js-precompiled 20161202-201514 2016-12-02 20:18:10 +00:00
Jaco Greeff
b2a5d66c99 Fix slice test (#3712) 2016-12-02 21:10:22 +01:00
keorn
9084e6242d lock ordering 2016-12-02 20:04:12 +00:00
keorn
ff6240eff3 insert block into queue when sealing 2016-12-02 20:03:15 +00:00
Robert Habermeier
80f98bc8b7 fix tests 2016-12-02 18:52:02 +01:00
Robert Habermeier
cd5b6fdf59 queue: CLI for auto-scaling and num verifiers 2016-12-02 18:21:54 +01:00
GitLab Build Bot
4c32d3ced4 [ci skip] js-precompiled 20161202-142708 2016-12-02 14:29:56 +00:00
Jaco Greeff
fbd3738096 Merge branch 'master' into jg-signer-decoding 2016-12-02 15:27:56 +01:00
Jaco Greeff
b8b9086dae React library update (#3704)
* Update React & MaterialUI

* Adjust TabBar layouts for new MUI
2016-12-02 15:21:25 +01:00
Nicolas Gotchac
456b50639c Adds Loading Component (#3707) 2016-12-02 15:21:11 +01:00
Nicolas Gotchac
c892a4f7ae Refactoring Transfer Modal (#3705)
* Better Token Select in Transfer > Details

* Better Autocomplete

* Crete MobX store for Transfer modal

* Remove unused var

* Update Webpack Conf

* Small changes...

* Optional gas in MethodDecoding + better input

* New Contract `getAll` method // TxList Row component

* Method Decoding selections

* Rename `getAll` to `getAllLogs`
2016-12-02 15:21:01 +01:00
Jaco Greeff
bd2e2b630c Fix extra scrollbars in dapps (#3706)
* Fix extra scrollbars in dapps

* Dapps list padding

* spelling

* lint

* Height overflow fix
2016-12-02 15:10:38 +01:00
keorn
c8a3db4c52 new error proposal test 2016-12-02 13:59:54 +00:00
keorn
91099f62c9 add more gossip if step is stuck 2016-12-02 13:37:49 +00:00
keorn
e0f2fac441 new error type 2016-12-02 13:32:00 +00:00
keorn
0eb55cbd4d update message test 2016-12-02 13:31:28 +00:00
keorn
2c8c090598 stricter size verification 2016-12-02 13:30:43 +00:00
Jaco Greeff
2dd2004ed5 Merge branch 'master' into jg-signer-decoding
# Conflicts:
#	js/src/views/Signer/components/RequestFinished/requestFinished.js
2016-12-02 11:21:17 +01:00
Robert Habermeier
6e1a1f9dec Merge branch 'master' into client-provider 2016-12-02 10:06:09 +01:00
Robert Habermeier
3837114eb2 Merge pull request #3431 from ethcore/state-tests-indentation
indent state tests
2016-12-02 09:09:35 +01:00
GitLab Build Bot
986e8ef9a2 [ci skip] js-precompiled 20161202-052414 2016-12-02 05:26:08 +00:00
GitLab Build Bot
f30a8f79f2 [ci skip] js-precompiled 20161202-034812 2016-12-02 03:50:41 +00:00
Gav Wood
1dd13372b6 Merge remote-tracking branch 'origin/master' into rpc-middleware 2016-12-01 19:43:31 -08:00
Gav Wood
21a76c22fc Merge pull request #3698 from ethcore/jg-null-transaction
Filter null transactions for display (not available on node)
2016-12-01 19:40:16 -08:00
Gav Wood
5b829aece7 Merge pull request #3697 from ethcore/jr-move-recovery-print
move recovery phrase print button
2016-12-01 19:38:31 -08:00
keorn
f0e9eae244 remove difficulty check 2016-12-01 22:07:18 +00:00
keorn
df1cce8e7f simplify seal verification 2016-12-01 21:56:38 +00:00
keorn
e76ead40d1 update tracing message 2016-12-01 21:55:43 +00:00
keorn
39ea703c69 vote on message generation 2016-12-01 20:50:24 +00:00
arkpar
f1ef4a4935 Import sealed block immedtiatelly 2016-12-01 19:11:36 +01:00
Jannis Redmann
d4ec9049f6 merge #3701 from ethcore/ng-status-fix
Fix padding bottom needed after fixed status
2016-12-01 19:09:13 +01:00
Jannis R
9512794c7f prevent status bar overlapping 2016-12-01 19:08:19 +01:00
Nicolas Gotchac
d5c630c1d2 Fix padding bottom needed after fixed status 2016-12-01 18:45:59 +01:00
keorn
9290fdde85 fix tests 2016-12-01 17:21:51 +00:00
keorn
498b2fb0b1 show verification error 2016-12-01 17:20:16 +00:00
keorn
e40e398eaa clean up some tracing 2016-12-01 17:19:40 +00:00
arkpar
4eca687bbb Fixed network context 2016-12-01 15:49:26 +01:00
Jannis R
7049336800 show recovery print button on first run 2016-12-01 15:40:20 +01:00
Gav Wood
f77a9aa007 Merge remote-tracking branch 'origin/master' into fix-tx-rpc 2016-12-01 06:31:09 -08:00
Jannis R
a1c1746667 show recovery print button if recovered account 2016-12-01 15:19:42 +01:00
keorn
344999aaf7 return signing failure error 2016-12-01 14:10:42 +00:00
keorn
66b4f1ac47 remove unnecessary option 2016-12-01 14:10:22 +00:00
Jaco Greeff
9087560344 gumbles 2016-12-01 14:08:32 +01:00
Jaco Greeff
077f32dce6 Cater for completely empty lists 2016-12-01 13:39:38 +01:00
Jaco Greeff
d5373e26b8 Filter null transactions (not available on node) 2016-12-01 13:36:23 +01:00
Jannis R
6822433a83 recovery phrase: move print helpers 2016-12-01 12:19:12 +01:00
Jannis R
08a6be5d62 recovery phrase: move print button to modal actions 2016-12-01 12:19:09 +01:00
GitLab Build Bot
0f987a2206 [ci skip] js-precompiled 20161201-044643 2016-12-01 04:48:29 +00:00
GitLab Build Bot
3ef569329a [ci skip] js-precompiled 20161201-011624 2016-12-01 01:21:59 +00:00
Gav Wood
d3e684698a Merge remote-tracking branch 'origin/master' into fix-tx-rpc 2016-11-30 17:15:05 -08:00
Gav Wood
ec38c68e30 Merge pull request #3695 from ethcore/snapshot-share
Don't share the snapshot while downloading old blocks
2016-12-01 01:11:22 +00:00
Gav Wood
6420ea4429 Merge pull request #3694 from ethcore/jr-print-recovery-phrase
button to print recovery phrase
2016-12-01 01:11:01 +00:00
Gav Wood
9053e2f27b Merge pull request #3692 from ethcore/jr-fixed-status
fix status bar to bottom of the screen
2016-12-01 01:09:29 +00:00
Gav Wood
c630fc5c1c Merge pull request #3642 from ethcore/confirmation
Splitting serialization of signTransaction and sendTransaction confirmation requests
2016-12-01 01:09:07 +00:00
Denis S. Soldatov aka General-Beck
61eb2a9104 Update test.sh
add -j 8 for test
2016-12-01 07:48:06 +07:00
Denis S. Soldatov aka General-Beck
70c6aebca5 Update gitlab-ci
-j $(nproc) in build
2016-12-01 07:15:35 +07:00
Denis S. Soldatov aka General-Beck
c4125a84b1 Update gitlab-ci
CARGOFLAGS -> -j $(nproc)
2016-12-01 07:07:52 +07:00
arkpar
b7dc60ace5 Don't share the snapshot while downloading old blocks 2016-11-30 23:33:17 +01:00
GitLab Build Bot
4f4bfb2239 [ci skip] js-precompiled 20161130-204501 2016-11-30 20:46:47 +00:00
Jannis Redmann
784dcaff7c implement basic badges/certifications/flair (#3665)
* sms verification: Certifications component

* sms verification: actions & reducers for certifications

* sms verification: put Certifications component into place

* sms verification: show certification icons

* sms verification: show certification titles

* sms verification: default icon for certifications

* sms verificaiton: lint issue 👕, fix testnet detection

The sms verification store got created when `isTestnet` (from the
Redux state) was still `undefined`.

* move certification helpers into middleware file

* connect Certifications to Redux

* don't pass certifications as prop

* move default certification icon into assets

* separate file for BadgeReg.sol

* don't pass certifications as prop

* Fix import name

* make BadgeReg a class

* make certifications middleware a class

* Certifications: pass in certifications of account
2016-11-30 21:39:06 +01:00
Jannis R
e43457a6ce recovery page: add Parity logo 2016-11-30 20:42:55 +01:00
Jannis R
cf85d1978f recovery page: add ItendityIcon 2016-11-30 20:10:29 +01:00
Jannis R
35fe4de622 add recovery page print button 2016-11-30 20:01:35 +01:00
Jannis R
eee03b542d add account recovery phrase page 2016-11-30 19:51:03 +01:00
Jannis R
60a8aabe19 differentiate Snackbar from background 2016-11-30 17:58:18 +01:00
Jannis R
890f880a89 status bar: beautify enode icon 2016-11-30 17:46:50 +01:00
Jannis R
f9f91837c2 rework status bar layout
- floats -> Flexbox
- align to content width
2016-11-30 17:46:48 +01:00
Jannis R
cce195a98b fix status bar to bottom of the screen 2016-11-30 17:45:54 +01:00
keorn
dbf82c2e98 fix tests 2016-11-30 16:40:16 +00:00
Tomasz Drwięga
dcb7e1e638 Implementing RPC 2016-11-30 17:08:45 +01:00
keorn
d128c20dc2 remove proposer_nonce 2016-11-30 16:02:05 +00:00
keorn
bb8347477a gossip when not enough votes 2016-11-30 16:01:20 +00:00
arkpar
84cf27c3ef Advertise protocol version 2 2016-11-30 16:48:30 +01:00
Tomasz Drwięga
1d76bb7048 Fixing ethstore tests 2016-11-30 16:41:37 +01:00
Tomasz Drwięga
022ccb5bce Fixing tests 2016-11-30 16:33:42 +01:00
Tomasz Drwięga
c028f106b1 RPC for confirming with token 2016-11-30 16:11:41 +01:00
keorn
ca87d2cde9 add set_sealer rpc test 2016-11-30 15:01:43 +00:00
keorn
73e7908325 test password registration 2016-11-30 14:30:21 +00:00
Tomasz Drwięga
6397556cbb Sign with token support 2016-11-30 15:08:38 +01:00
keorn
61f1699c0e fix merge 2016-11-30 13:39:28 +00:00
keorn
155da50fcd Merge branch 'master' into auth-bft 2016-11-30 13:06:21 +00:00
keorn
34d5017950 hold password in engine, add rpc 2016-11-30 12:59:33 +00:00
keorn
4ef5badcea fix parity tests merge 2016-11-30 12:58:45 +00:00
Tomasz Drwięga
ad440a12bd EthMultiStore 2016-11-30 13:47:14 +01:00
GitLab Build Bot
837ff1bc7d [ci skip] js-precompiled 20161130-104916 2016-11-30 10:54:38 +00:00
Jannis Redmann
f1b3463015 Merge #3680 from ethcore/jg-container-title
Simplify Container title rendering
2016-11-30 11:42:23 +01:00
Tomasz Drwięga
8e2aca719f Shared hash-fetch 2016-11-30 10:16:18 +01:00
Denis S. Soldatov aka General-Beck
79e79473bf Update gitlab-ci
armv6 only triggers
2016-11-30 16:15:45 +07:00
Denis S. Soldatov aka General-Beck
21ed95d0a1 Update gitlab-ci 2016-11-30 12:57:55 +07:00
Denis S. Soldatov aka General-Beck
7a446fae05 Update gitlab-ci
tst
2016-11-30 08:45:03 +07:00
Denis S. Soldatov aka General-Beck
74f5f67055 Update gitlab-ci
test
2016-11-30 08:29:34 +07:00
Denis S. Soldatov aka General-Beck
95c2a41264 Update gitlab-ci 2016-11-30 07:48:57 +07:00
Jaco Greeff
8fd8bdf0f5 Update loading splash to fit in with l&f (#3685) 2016-11-30 00:06:58 +01:00
Denis S. Soldatov aka General-Beck
7cfec1e1c8 Update gitlab-ci
remove NIGHTLY ENV
2016-11-30 06:02:52 +07:00
Jaco Greeff
7f1391c7a2 Safari UI fixes (#3678)
* Minimum content height for overlay

* Fix Safari TabBar clicks

* Fix extra vertical scrollbar on Chrome

* Swap to em heights
2016-11-30 00:01:42 +01:00
Jaco Greeff
1a53ab78e8 Remove strict mode (work-around for upgrade) (#3681) 2016-11-29 19:26:36 +01:00
Gav Wood
d525a6d7f0 Merge pull request #3654 from ethcore/clippy-bump
Bumping clippy
2016-11-29 18:00:13 +01:00
Gav Wood
d58905ae13 fix comment 2016-11-29 17:59:17 +01:00
Jaco Greeff
6f24010424 Merge branch 'master' into jg-container-title 2016-11-29 17:50:36 +01:00
Tomasz Drwięga
df3c07b0a9 adding proof to a panicker 2016-11-29 17:14:34 +01:00
Jaco Greeff
7e2a072a2b Remove finished rendering completely 2016-11-29 16:59:44 +01:00
Jaco Greeff
0ddd33c643 Trim unused components 2016-11-29 16:55:59 +01:00
arkpar
95f81b2a2f Moved consensus networking into Parity handler 2016-11-29 16:54:30 +01:00
Gav Wood
9115214cea Merge pull request #3636 from ethcore/fatdb
Return of the Fat DB
2016-11-29 16:47:09 +01:00
Jaco Greeff
efd4e6f96a Pass MethodDecoding as to/destination view 2016-11-29 16:37:25 +01:00
Jaco Greeff
6a69e22b28 Methods use either input or data elements 2016-11-29 16:36:54 +01:00
Gav Wood
33d3287ed3 Merge pull request #3652 from ethereumproject/splix/block-ts-validation
Invalidate blocks from future
2016-11-29 16:34:29 +01:00
keorn
7929a145e7 fix deadlock 2016-11-29 14:55:54 +00:00
Gav Wood
63c28253d8 Merge remote-tracking branch 'origin/master' into fix-tx-rpc 2016-11-29 15:37:49 +01:00
Tomasz Drwięga
762d8b89d6 Removing unused imports 2016-11-29 14:03:21 +01:00
Jaco Greeff
907606ab69 Merge branch 'master' into jg-container-title 2016-11-29 13:54:30 +01:00
keorn
294e89e5c0 use EngineError instead of BlockError 2016-11-29 12:51:27 +00:00
Jannis Redmann
e667d33778 make Modal always scrollable (#3667) 2016-11-29 13:50:22 +01:00
Jaco Greeff
5e8f6f271d Display local/completed transactions (#3630)
* Initial fetch of local transactions

* Container allows for title specification

* Introduce TxList component

* Display local transactions in signer list

* Simplify

* Pass only hashes from calling components

* Simplify no pending display

* Render pending blocks at the top

* Get rid of time for 0 blocks

* Indeed sort Pending to the top

* Allow retrieval of pending transactions

* setTimeout with clearTimeout
2016-11-29 13:50:09 +01:00
Gav Wood
0e0bdc8ae9 Deduplicate code. 2016-11-29 13:48:28 +01:00
Gav Wood
436016ef02 Introduce to_hex() utility in bigint. Fix tests. 2016-11-29 13:46:06 +01:00
Konstantin
a578e10c49 added build-essential dep to dockerfiles (#3666) 2016-11-29 13:23:53 +01:00
Tomasz Drwięga
c97c59f62f returning errors with extra fields in config file (#3663) 2016-11-29 13:23:28 +01:00
keorn
e784fa906e warn on double vote 2016-11-29 12:20:38 +00:00
keorn
49b953a9f4 order invariant seal equality 2016-11-29 11:18:40 +00:00
Igor Artamonov
8ec8bcd626 fix after code review, rel [748260b] 2016-11-29 17:18:33 +06:00
Gav Wood
1166013c2b Merge pull request #3662 from ethcore/strict-rpc
Strict deserialization
2016-11-29 12:10:31 +01:00
Gav Wood
7c2cccc60c Merge pull request #3655 from ethcore/sync
Disable peer if no common block found
2016-11-29 12:10:19 +01:00
Jaco Greeff
b6efd6b1fd DRY-er Container with title 2016-11-29 11:58:00 +01:00
Tomasz Drwięga
44314c5d02 Merge branch 'master' into clippy-bump
Conflicts:
	rpc/src/v1/types/filter.rs
2016-11-29 11:56:55 +01:00
keorn
d0eab4a0d8 old message removal, avoid too many recoveries 2016-11-29 10:55:24 +00:00
Tomasz Drwięga
1a6ee533ed Addressing tiny grumbles 2016-11-29 11:52:55 +01:00
GitLab Build Bot
cfc1dabd57 [ci skip] js-precompiled 20161129-050158 2016-11-29 05:07:32 +00:00
GitLab Build Bot
261aa29db3 [ci skip] js-precompiled 20161128-232953 2016-11-28 23:31:43 +00:00
Jannis Redmann
65f4ba8372 show snackbar on password change (#3661)
* show snackbar on password change

* Swap last two words
2016-11-29 00:21:54 +01:00
keorn
61cf8b8b7e vote propose 2016-11-28 18:58:15 +00:00
keorn
0f1eefc00d disallow None seal sigs 2016-11-28 18:37:00 +00:00
Gav Wood
54b656ba05 Merge pull request #3660 from ethcore/pv62-sync
Bring back PV62 support
2016-11-28 18:19:34 +01:00
Gav Wood
77ebbedbba Merge pull request #3659 from ethcore/unlock-rpc
Unlock expecting quantity
2016-11-28 18:18:15 +01:00
Gav Wood
5cab951429 Merge pull request #3643 from ethcore/ng-webpack-update
Update Webpack => v2
2016-11-28 18:14:59 +01:00
Tomasz Drwięga
a418dcd8ea Fix manifest deserialisation 2016-11-28 17:59:50 +01:00
Nicolas Gotchac
d78de18385 Merge branch 'master' into ng-webpack-update 2016-11-28 17:56:47 +01:00
Tomasz Drwięga
24f72716b9 Strict deserialization 2016-11-28 17:55:46 +01:00
GitLab Build Bot
3c9983cf25 [ci skip] js-precompiled 20161128-164710 2016-11-28 16:48:55 +00:00
Tomasz Drwięga
64b1b898f1 Fixing compilation on stable 2016-11-28 17:43:38 +01:00
Jannis Redmann
5f570edf3b update SMS verification (#3579)
* add isTestnet helper

* sms verification: use different port on testnet

* subscribeToEvent helper

* sms verification: await Puzzled event

* sms verification: bugfixes 🐛, move awaitPuzzle

* sms verification: check upfront if code is valid

* sms verification: more helpful phone input label

* isTestnet helper -> redux state
2016-11-28 17:39:55 +01:00
Jannis Redmann
2b178d8233 simplify tx confirmations display (#3559)
* Hash component

* DRY code by using Hash component

* TxHash component: show hash inline

* TxHash component: less verbose confirmations display

* TxHash component: rename ui/Hash to ui/ShortenedHash

* signer: center message in TransactionFinished

* style fixes
2016-11-28 17:39:32 +01:00
arkpar
bae8acee74 Allow pv62 peers 2016-11-28 17:24:02 +01:00
Tomasz Drwięga
f5a899606e Merge branch 'master' into rpc-middleware 2016-11-28 17:20:02 +01:00
Nicolas Gotchac
eec99ebad8 Fixes overflow in Signer tx data #3138 (#3657) 2016-11-28 17:18:27 +01:00
Tomasz Drwięga
424638f89d Unlock expecting quantity 2016-11-28 17:15:40 +01:00
Nicolas Gotchac
1d194f9ae8 Fix linting 2016-11-28 17:00:51 +01:00
Nicolas Gotchac
9248303416 Fix Circular Deps 2016-11-28 17:00:33 +01:00
keorn
e4ff614966 remove unused tracing 2016-11-28 15:50:55 +00:00
keorn
b454f7e307 use Io queue for messages 2016-11-28 15:42:36 +00:00
arkpar
cf5b409fed Disaable peer if no common block found 2016-11-28 16:30:36 +01:00
keorn
1326c6cf5a rebroadcast unseen messages 2016-11-28 15:24:22 +00:00
keorn
7d97ba5ee0 seal sigs test 2016-11-28 15:23:39 +00:00
GitLab Build Bot
ecf283e2fc [ci skip] js-precompiled 20161128-151919 2016-11-28 15:21:01 +00:00
Nicolas Gotchac
6be08d8ce4 Fixed tab bar not updating #3631 (#3653) 2016-11-28 16:13:02 +01:00
Nicolas Gotchac
d41c60da54 Renaming webpack/config to webpack/app 2016-11-28 16:06:27 +01:00
Tomasz Drwięga
2b3d100de2 Fixing some clippy warnings 2016-11-28 15:54:22 +01:00
Igor Artamonov
748260bebe invalidate blocks from future 2016-11-28 20:14:43 +06:00
keorn
ef4ecce7bf nicer vote counting + test 2016-11-28 14:08:38 +00:00
Nicolas Gotchac
50530aec37 Default npm install to tilde #3520 2016-11-28 13:14:37 +01:00
Nicolas Gotchac
3675095201 Merge branch 'master' into ng-webpack-update 2016-11-28 13:02:03 +01:00
Nicolas Gotchac
3dd5f350f9 Webpack config update 2016-11-28 13:01:17 +01:00
keorn
09c28806d6 proper test IoHandler 2016-11-28 11:47:33 +00:00
Nicolas Gotchac
b823b675a4 Working HOT RELOAD !! 2016-11-28 12:37:13 +01:00
Tomasz Drwięga
e1e7886918 Bumping clippy 2016-11-28 12:23:06 +01:00
Tomasz Drwięga
8686339b0c Fixing UI to support both send and signTransaction 2016-11-28 12:14:14 +01:00
arkpar
dfd17949ef Added a test 2016-11-28 12:08:12 +01:00
Tomasz Drwięga
3e69ff0b88 Separating serialization of send and signTransaction 2016-11-28 11:41:46 +01:00
keorn
5c0e89ae9a Merge branch 'master' into auth-bft 2016-11-28 09:50:22 +00:00
keorn
89f0bd714d test whole transitioning 2016-11-28 09:42:50 +00:00
arkpar
fa45413a90 Extened API 2016-11-28 01:37:25 +01:00
arkpar
c7b359fcee Style 2016-11-28 01:37:25 +01:00
arkpar
d0c80a6903 Updated tests 2016-11-28 01:37:25 +01:00
arkpar
3aceac60de Use sha3 for fat key 2016-11-28 01:37:24 +01:00
arkpar
e91f7977fb Storage export 2016-11-28 01:37:24 +01:00
arkpar
b0555fbe7c State export 2016-11-28 01:37:24 +01:00
arkpar
8b3cdc513b Seekable iterator 2016-11-28 01:37:24 +01:00
Gav Wood
ce3f4911a2 Merge remote-tracking branch 'origin/master' into check-updates 2016-11-27 15:01:17 +01:00
Gav Wood
0cf8db58b8 Fix tests. 2016-11-27 14:49:30 +01:00
Gav Wood
3b6d886860 Fix up the transaction JSON serialisation for RPC. 2016-11-27 14:11:37 +01:00
Nicolas Gotchac
f9b3a98ff7 Fixing mocha tests 2016-11-26 17:27:44 +01:00
Nicolas Gotchac
44e099000d Working webpack build // Without Hot Reload 2016-11-26 17:12:52 +01:00
Nicolas Gotchac
353b6c06db Removed Circular Dependencies 2016-11-26 17:06:37 +01:00
Nicolas Gotchac
002c793f53 Added Webpack check circular deps 2016-11-26 16:53:24 +01:00
Denis S. Soldatov aka General-Beck
a7037f8e5b Update gitlab-ci
js-release &->&&
2016-11-26 03:52:29 +07:00
Tomasz Drwięga
3b595a01ad Merge branch 'master' into rpc-middleware 2016-11-25 21:46:35 +01:00
Tomasz Drwięga
a9028ca986 Merge branch 'master' into rpc-middleware
Conflicts:
	Cargo.lock
	rpc/src/v1/tests/mocked/parity_accounts.rs
2016-11-25 21:18:02 +01:00
Denis S. Soldatov aka General-Beck
8ca1781ab9 Update gitlab-ci
add js-test as diff
2016-11-26 01:57:58 +07:00
Nicolas Gotchac
f77afd072b Updated ESLINT and fixing linting issues 2016-11-25 19:48:06 +01:00
Nicolas Gotchac
8392090861 WIP - Webpack 2 building 2016-11-25 19:32:58 +01:00
Gav Wood
de8dd47ff9 Fetch binaries. 2016-11-25 19:29:13 +01:00
Gav Wood
699f462d56 Merge pull request #3617 from ethcore/default-gas-price
Set default min tx price to $0.0025
2016-11-25 18:46:29 +01:00
Gav Wood
a51066bdca Merge pull request #3618 from ethcore/jg-list-accounts
Use accountsInfo instead of eth_accounts for first check
2016-11-25 18:46:07 +01:00
Gav Wood
b274d082c3 Merge pull request #3619 from ethcore/ng-copy-clip-fix
Fix Copy to Clipboard Snackbar
2016-11-25 18:45:49 +01:00
Jaco Greeff
50585763aa Manually add \r to Windows phrases pre 1.4.5 (#3615)
* Manually add \r to Windows phrases pre 1.4.4

* < 1.4.5

* Only support 1.4.x dictionary
2016-11-25 18:43:28 +01:00
keorn
a7afbf4d25 tracing and vote test 2016-11-25 16:45:32 +00:00
keorn
8f72017bcc add transition tracing 2016-11-25 16:44:57 +00:00
keorn
f59746b2da order messages by signature 2016-11-25 16:44:18 +00:00
keorn
d2099d9f13 derive Eq for tests 2016-11-25 16:43:26 +00:00
Nicolas Gotchac
a534949b2d Updated packages version... 2016-11-25 17:33:18 +01:00
Jaco Greeff
e95ef0160f Signer layouts to flexbox (#3600)
* Use variables for signer form widths

* Simplify signer layouts with flex

* Fix styling issues with Signer
2016-11-25 17:20:16 +01:00
Nicolas Gotchac
807790ce95 Merge branch 'master' into ng-webpack-update 2016-11-25 17:17:06 +01:00
Nicolas Gotchac
7610336596 Fixing tokens sent as Array (#3621) 2016-11-25 17:10:02 +01:00
Jaco Greeff
6d6e942d9d Add dappreg link to apps list (#3568)
* Fix rendering when contract is empty

* Add registration dapp to app list
2016-11-25 16:46:57 +01:00
Nicolas Gotchac
08c507daaa Smarter balance fetching (#3605)
* Smarter dApps Manifest fetching...

* Fetching only visible accounts (and don't delete other balances) #3590

* Moved balances action into BalancesActions #3590

* Fetch balances for accounts and contracts #3590

* Add balances to contract/address/account views #3590

* Fix transaction not fetching on first load

* Remove console.warn

* Fix pending tokens not showing #3154

* Fix tokens image update

* Remove unused name in Header

* Separate Tokens and ETH fetching #3590

* Remove unused isTest

* Fetch Tokens Balance via Filter #3590

* Fix linting

* Fix updating tokens image (#3590)

* Fix contract balances

* Improved Status

* Fixing secureApi issues...

* Fetch all tokens every 2 minutes (for safety) #3590

* PR changes fix

* Fix Account error
2016-11-25 16:46:35 +01:00
Nicolas Gotchac
9fdab84305 Merge pull request #3597 from ethcore/jg-iframe-sandbox
Dapp iframe allow forms, allow target=_blank
2016-11-25 16:31:32 +01:00
Tomasz Drwięga
789d6608cf Bumping jsonrpc 2016-11-25 16:16:24 +01:00
Nicolas Gotchac
9b21c96e3a Fix Copy to Clipboard Snackbar 2016-11-25 15:52:23 +01:00
Gav Wood
8cddf9976a Better information. 2016-11-25 15:43:49 +01:00
Tomasz Drwięga
f080f33c41 JSON-RPC bump / update hyper
Conflicts:
	Cargo.lock
2016-11-25 15:21:18 +01:00
Jaco Greeff
2958546653 Use accountsInfo instead of eth_accounts for first check 2016-11-25 15:19:14 +01:00
arkpar
ffa123c949 Set default tx price to 0.0025 USD 2016-11-25 15:13:51 +01:00
Nicolas Gotchac
0d6c2dd51d Merge pull request #3604 from ethcore/jr-input-copy-button
align copy button to input field
2016-11-25 15:12:53 +01:00
Nicolas Gotchac
24bdf1cb98 Use webpack hot/dev middlewares 2016-11-25 13:14:30 +01:00
Tomasz Drwięga
9b9bdaa1b1 Appending logs by default (#3609) 2016-11-25 13:04:02 +01:00
Gav Wood
d0312b89ad Update test, fix number. (#3612) 2016-11-25 13:03:15 +01:00
Tomasz Drwięga
0e2cd1d080 Fixing phrases generated on windows (#3614) 2016-11-25 12:59:15 +01:00
GitLab Build Bot
686978fa97 [ci skip] js-precompiled 20161125-113155 2016-11-25 11:36:32 +00:00
keorn
a143da2cb8 fix complete build 2016-11-25 11:36:25 +00:00
Gav Wood
d0d01ca39b Merge pull request #3602 from ethcore/jg-network-id-match
Check for network ID for live/test matching
2016-11-25 12:28:58 +01:00
Gav Wood
befb0bf2bd Merge branch 'fix-number' into check-updates 2016-11-25 12:17:58 +01:00
keorn
1692c07ba6 Merge branch 'master' into auth-bft 2016-11-25 10:51:06 +00:00
Denis S. Soldatov aka General-Beck
86522c8f71 Update gitlab-ci
if fix
2016-11-25 07:02:54 +07:00
Denis S. Soldatov aka General-Beck
202739689d Update gitlab-ci
small fix for test's and js-build
2016-11-25 06:27:07 +07:00
GitLab Build Bot
4d9492a01d [ci skip] js-precompiled 20161124-231507 2016-11-24 23:16:52 +00:00
Denis S. Soldatov aka General-Beck
30c3b13518 Update gitlab-ci
https://github.com/ethcore/parity/issues/3185
2016-11-25 06:10:36 +07:00
Denis S. Soldatov aka General-Beck
2d79eee454 Update gitlab-ci
[ci skip]
add darwin installer in master
2016-11-25 04:10:37 +07:00
keorn
da499b0a4a self contained test proposal 2016-11-24 19:59:08 +00:00
keorn
f867372dfe increase default proposal time 2016-11-24 19:58:29 +00:00
keorn
04acdd6ca0 reuse rlp generation 2016-11-24 19:57:58 +00:00
Gav Wood
45017c599a Update test, fix number. 2016-11-24 19:11:29 +01:00
GitLab Build Bot
815cdc6ba1 [ci skip] js-precompiled 20161124-164849 2016-11-24 16:50:27 +00:00
GitLab Build Bot
51afc3afbe [ci skip] js-precompiled 20161124-163141 2016-11-24 16:40:11 +00:00
Gav Wood
735df6c30f More work. 2016-11-24 17:19:48 +01:00
Jannis R
fa1343e8af align copy button to input field 2016-11-24 17:17:14 +01:00
Gav Wood
e9197f5862 Merge pull request #3603 from ethcore/trace-fix
Always insert traces for genesis.
2016-11-24 17:16:37 +01:00
Gav Wood
46e5a84bc5 Merge pull request #3540 from ethcore/delete-accounts
Real deleting accounts
2016-11-24 17:16:26 +01:00
GitLab Build Bot
905d0c0b43 [ci skip] js-precompiled 20161124-154751 2016-11-24 15:50:50 +00:00
Nicolas Gotchac
d449b3c3f1 Merge pull request #3599 from ethcore/jg-phrase-whitespace
Trim whitespace from input recovery phrase
2016-11-24 16:22:56 +01:00
Jaco Greeff
6b9b31ad37 check for network ID for live/test matching 2016-11-24 15:46:25 +01:00
Tomasz Drwięga
aa52c72bda Traces for genesis are always present. 2016-11-24 15:05:52 +01:00
keorn
8f37807d4b seal checks 2016-11-24 13:57:54 +00:00
keorn
38f25fc195 message tests and fixes 2016-11-24 13:57:04 +00:00
Jaco Greeff
67771f39de Trim whitespace from recovery phrase 2016-11-24 14:56:39 +01:00
keorn
a3730b3042 change proposer address 2016-11-24 13:56:27 +00:00
keorn
207364929c improve error types 2016-11-24 13:55:16 +00:00
Denis S. Soldatov aka General-Beck
54ad70313c Update gitlab-ci
close https://github.com/ethcore/parity/issues/3515
2016-11-24 18:36:02 +07:00
Jaco Greeff
30526da094 Allow forms, allow target=_blank 2016-11-24 11:46:27 +01:00
Denis S. Soldatov aka General-Beck
4dc24c9e87 Update gitlab-ci
[ci skip]
fix S3_BUCKET in Windows build
2016-11-24 17:37:42 +07:00
Denis S. Soldatov aka General-Beck
6d6a2a8f1b Update gitlab-ci
[ci skip]
small fix in S# windows
2016-11-24 14:59:45 +07:00
Nicolas Gotchac
d188435fd8 Add Loading splashscreen 2016-11-24 03:40:22 +01:00
Nicolas Gotchac
e676f00dfa Wepback dapps 2016-11-24 03:26:38 +01:00
Nicolas Gotchac
259b91da50 Webpack Reuse proxies 2016-11-24 03:20:12 +01:00
Nicolas Gotchac
0750d82115 Reuse Webpack Configs 2016-11-24 03:11:54 +01:00
Nicolas Gotchac
52bd9eabb6 Don't add commons chunk in prod 2016-11-24 02:36:08 +01:00
Nicolas Gotchac
1291130f9e Simpler Webpack config : create HTML files for dapps 2016-11-24 02:28:33 +01:00
Denis S. Soldatov aka General-Beck
0bb9a4aba7 Update gitlab-ci
[ci skip]
small fix
2016-11-24 06:33:22 +07:00
Denis S. Soldatov aka General-Beck
4d1c3b2a3d Update gitlab-ci
[ci skip]
small fix for S3 windows
temp off alpine
2016-11-24 06:24:17 +07:00
Denis S. Soldatov aka General-Beck
f3512967a7 Update gitlab-ci
[ci scip]
restore test & js-build
2016-11-24 06:05:07 +07:00
Denis S. Soldatov aka General-Beck
51e771428c Update gitlab-ci
[ci skip]
small fix
2016-11-24 05:45:07 +07:00
Denis S. Soldatov aka General-Beck
f01cde89b6 Update gitlab-ci
fix windows s3 and alpine
2016-11-24 05:39:53 +07:00
Denis S. Soldatov aka General-Beck
d76081a269 Update gitlab-ci
initial support alpine linux
fix https://github.com/ethcore/parity/pull/3548
2016-11-24 05:23:26 +07:00
Jaco Greeff
97ec5053f0 PR grumbles, wording, isRequired, no close on error 2016-11-23 22:17:36 +01:00
GitLab Build Bot
8f9f5cd5a3 [ci skip] js-precompiled 20161123-205310 2016-11-23 20:55:02 +00:00
Nicolas Gotchac
d429f5526f Fix local tx requests (#3589)
* [localtx] Poll every second, dettach on unmount

* Fixed webpack config for dapps

* Fixed webpack PROXY config
2016-11-23 21:35:10 +01:00
Denis S. Soldatov aka General-Beck
2996499a06 Update gitlab-ci
[ci skip]
2016-11-24 02:48:58 +07:00
Gav Wood
6c686023e0 Use tester.accounts 2016-11-23 20:37:35 +01:00
Gav Wood
03ef95ba50 Compiles. 2016-11-23 20:35:21 +01:00
Gav Wood
9f3a042f55 Update message 2016-11-23 20:16:33 +01:00
Gav Wood
90b5d1c62d Merge remote-tracking branch 'origin/master' into check-updates 2016-11-23 20:13:47 +01:00
Gav Wood
34ab265b68 Merge pull request #3592 from ethcore/mio-cpu-fix
Fix CPU usage when idle
2016-11-23 19:58:39 +01:00
Gav Wood
0501658d1b Merge pull request #3591 from ethcore/ng-sync-ws
Don't fetch balances on every new block if syncing
2016-11-23 19:58:14 +01:00
GitLab Build Bot
273165e982 [ci skip] js-precompiled 20161123-185249 2016-11-23 18:54:40 +00:00
Gav Wood
7e800b7a63 Merge pull request #3587 from ethcore/ng-ws-improved
Work around WS in UI
2016-11-23 19:29:02 +01:00
Nicolas Gotchac
cd88f2ad1b Don't fetch balances on every new block if syncing #3582 2016-11-23 19:12:32 +01:00
arkpar
4e9c690640 Use patched MIO 2016-11-23 19:08:40 +01:00
Nicolas Gotchac
0c3d87f0d3 Removed check node up from WS #3587 2016-11-23 18:20:18 +01:00
Gav Wood
5d62cfdf6f Merge remote-tracking branch 'origin/master' into check-updates 2016-11-23 18:15:21 +01:00
Nicolas Gotchac
bb6fe16478 Fixed ping and comment #3587 2016-11-23 18:08:53 +01:00
Nicolas Gotchac
ab212fcdb5 Localstorage SignerToken first #3587 2016-11-23 17:51:08 +01:00
Nicolas Gotchac
abcccbe7cc Merge branch 'master' into ng-ws-improved 2016-11-23 17:48:06 +01:00
Nicolas Gotchac
f800dd1eee WebSocket Improvments #3544 2016-11-23 17:37:04 +01:00
Gav Wood
9d3b2352cc More work. 2016-11-23 16:29:15 +01:00
Tomasz Drwięga
cd6f565f69 RPC Middleware & Get/Set dapp-specific accounts 2016-11-23 16:27:05 +01:00
Gav Wood
820e291ac8 Merge pull request #3573 from ethcore/no-bg-download
CLI option to disable ancient block downloading
2016-11-23 16:06:45 +01:00
Gav Wood
7ed4a21a02 Merge pull request #3531 from ethcore/jg-signer-api-queries-2
Move Signer balance queries to store for component-wide re-use
2016-11-23 16:03:45 +01:00
Gav Wood
4c9bb5aa25 Merge remote-tracking branch 'origin/master' into check-updates 2016-11-23 14:45:55 +01:00
GitLab Build Bot
e7dd222142 [ci skip] js-precompiled 20161123-131908 2016-11-23 13:20:46 +00:00
Nicolas Gotchac
93f8a1494e Fix contract method name (#3580) 2016-11-23 13:59:21 +01:00
Nicolas Gotchac
a22469ade5 Fix contract method name 2016-11-23 13:56:48 +01:00
Jaco Greeff
e9eebb3088 Optimise multi-balance fetching (one set) 2016-11-23 12:32:50 +01:00
Jaco Greeff
dddb8752f2 Merge branch 'master' into jg-signer-api-queries-2 2016-11-23 12:32:21 +01:00
GitLab Build Bot
24ffb30bc2 [ci skip] js-precompiled 20161123-105837 2016-11-23 11:00:19 +00:00
GitLab Build Bot
5bd6d5e3ac [ci skip] js-precompiled 20161123-102835 2016-11-23 10:32:27 +00:00
Jaco Greeff
78ffd10236 Typo in description 2016-11-23 10:33:04 +01:00
Nicolas Gotchac
33dd49160f Smarter Tokens fetching (#3546)
* Don't auto-subscribe for contracts #3240

* Smarter Balance : don't re-instantiate contracts, fetch tokens #3240

* Smarter Balance Tokens fetching (update image when needed) #3240

* Attaching to TokenReg Events instead of fetching for each block #3240

* Unsubscribe from shapeshit... #3240

* Unsubscribe from EthFilter if used once (resolved) #3240

* Remove warning

* PR review fix

* Typo

* Better contract JS API : one subscribe for all #3546

* Fixed test
2016-11-23 10:30:47 +01:00
Arkadiy Paronyan
a969c008d1 Fix panic on importing own invalid transaction (#3550) 2016-11-23 08:46:55 +01:00
GitLab Build Bot
cbeb2dc3f9 [ci skip] js-precompiled 20161122-175502 2016-11-22 17:57:03 +00:00
arkpar
7da8f019d5 --no-ancient-blocks 2016-11-22 18:15:55 +01:00
keorn
d5b15d4560 change authorities for testing 2016-11-22 17:15:42 +00:00
keorn
8f6a464c51 new error types 2016-11-22 17:15:22 +00:00
Gav Wood
03d3e585af Merge pull request #2445 from ethcore/adaptive_queue_threads
Use an adaptive number of threads in the verification queue
2016-11-22 17:39:11 +01:00
Jaco Greeff
59f4252011 Merge branch 'master' into jg-signer-api-queries-2 2016-11-22 17:31:27 +01:00
Jaco Greeff
d8cb32d49b Typo 2016-11-22 17:31:25 +01:00
GitLab Build Bot
9f74c76f07 [ci skip] js-precompiled 20161122-162239 2016-11-22 16:25:02 +00:00
keorn
340d377930 Revert "dont keep account provider in miner"
This reverts commit 11ccacd6d0.
2016-11-22 16:05:27 +00:00
Gav Wood
490b39cc85 Merge pull request #3555 from ethcore/ng-fast-ui
Faster UI - React Tweaks
2016-11-22 17:05:23 +01:00
Gav Wood
a722bac304 Merge pull request #3512 from ethcore/jg-transact-gas-warnings
Send value & contract execute gas limit warnings
2016-11-22 17:04:13 +01:00
Jaco Greeff
7f7ffd7284 Monitor killAccount for refresh 2016-11-22 16:46:40 +01:00
Jaco Greeff
609e8912d8 Merge branch 'master' into delete-accounts 2016-11-22 16:19:40 +01:00
Jaco Greeff
cce5b217ed Delete account dialog 2016-11-22 16:19:36 +01:00
GitLab Build Bot
12ff42a513 [ci skip] js-precompiled 20161122-151225 2016-11-22 15:14:06 +00:00
Jaco Greeff
3db5e3e627 jsapi interface for parity_killAccount 2016-11-22 15:52:23 +01:00
Jaco Greeff
57ff0e5747 Add visibility specifier (not added between merges) (#3566) 2016-11-22 13:36:23 +01:00
Jaco Greeff
bd6f343cbe DappRegistry (#3405)
* Initial version, just loading

* Warning dialog

* Retrive & show applications

* Display completed

* Edit/New mode start

* Display distry state, resolve hashes to urls

* Move buttons to top-level

* Rework display

* Update error handling & dirty checks

* Formatting

* Split sections into components

* Styling updates

* Slight styling adjustments

* Start delete modal

* Add modals for register & update

* Flesh-out register modal

* Register error handling

* Register registers

* List refresh on add & remove

* Update operational

* Simplify, remove bg image

* Really remove bg

* fix case

* Collapse text-only components
2016-11-22 11:54:20 +01:00
Gav Wood
bf9ed2d444 Merge remote-tracking branch 'origin/master' into check-updates 2016-11-22 10:25:34 +01:00
Gav Wood
45dead9d49 Naming consistency and make Updater improvements.
- ID -> Id (consistency with rust libs)
2016-11-22 10:24:22 +01:00
Jaco Greeff
a475c2166c Merge branch 'master' into jg-signer-api-queries-2 2016-11-22 09:49:17 +01:00
Jaco Greeff
4c08f7ebba Merge branch 'master' into jg-signer-api-queries-2 2016-11-22 09:48:32 +01:00
GitLab Build Bot
b97763e13d [ci skip] js-precompiled 20161121-233309 2016-11-21 23:35:10 +00:00
Gav Wood
4c83eff912 Merge pull request #3552 from ethcore/import-msg
Import account message
2016-11-22 00:03:36 +01:00
Gav Wood
7e5553a872 Merge pull request #3551 from ethcore/ropsten
--testnet set to ropsten
2016-11-22 00:03:11 +01:00
Gav Wood
818e54d44e Merge pull request #3547 from ethcore/fix-flaky-auth
Fix flaky test
2016-11-22 00:01:51 +01:00
Jannis Redmann
f9ecea8f4d sms verification code style (#3564)
* sms verification: fix code style

* sms verification: move server-related code to 3rdparty

* sms verification: adapt to ropsten
2016-11-21 20:45:47 +01:00
Nicolas Gotchac
5735d948f5 [Registry] Clear input and working buttons (#3563)
* onClick to onTouchTap #3556

* onClick to onTouchTap 2 #3556

* Registry dApp clear input + check Signer #3557
2016-11-21 20:44:37 +01:00
Nicolas Gotchac
8a1b585da2 Fix peers not displaying (#3561)
* Add peers count to status polling

* Array destruct for better readability
2016-11-21 20:44:07 +01:00
keorn
32bcd08b94 test utilities 2016-11-21 18:54:16 +00:00
keorn
66526af5a8 pass engine in tests 2016-11-21 18:53:53 +00:00
GitLab Build Bot
eb94eda30b [ci skip] js-precompiled 20161121-181249 2016-11-21 18:16:10 +00:00
GitLab Build Bot
65785475f3 [ci skip] js-precompiled 20161121-173542 2016-11-21 17:37:37 +00:00
Gav Wood
10e64847a4 Merge remote-tracking branch 'origin/master' into check-updates 2016-11-21 18:17:31 +01:00
Jaco Greeff
af0db9f80e New registry contract address for ropsten (#3549)
* New registry for ropsten

* Registry address

* Registry with payable modifier
2016-11-21 18:14:23 +01:00
keorn
84fdaf966a correct seal verification 2016-11-21 16:02:26 +00:00
keorn
841d0941e0 remove WithSome block hash 2016-11-21 16:01:52 +00:00
keorn
12dbdc1d6e dont pass ap 2016-11-21 16:01:34 +00:00
Nicolas Gotchac
a6430c6086 Merge pull request #3554 from ethcore/jg-registry-fee
Use contract Registry fee, not a hard-coded value
2016-11-21 15:59:19 +01:00
Nicolas Gotchac
ba8460c65b Fix summary update 2016-11-21 15:54:51 +01:00
Jaco Greeff
42964e9a8e lint fixes 2016-11-21 15:48:46 +01:00
Jaco Greeff
e90743ecbf Use actual registry fee 2016-11-21 15:47:36 +01:00
Nicolas Gotchac
35fdbf3352 Progressive Accounts List Rendering #3240 2016-11-21 15:45:58 +01:00
arkpar
efdf017c43 Import account message 2016-11-21 15:03:20 +01:00
Robert Habermeier
53afb8d22d queue: park directly instead of through condvar 2016-11-21 14:48:25 +01:00
arkpar
8bb8ecac2d --testnet set to ropset 2016-11-21 14:39:26 +01:00
Nicolas Gotchac
a317e4fdbf Better TabBar #3240 2016-11-21 14:31:06 +01:00
Robert Habermeier
133796b7ff queue: verifier scaling tests 2016-11-21 14:23:34 +01:00
Nicolas Gotchac
47f5a6d005 Merge pull request #3524 from ethcore/jg-signer-api-queries
Don't query chain in Signer, use Redux isTest
2016-11-21 14:16:33 +01:00
Nicolas Gotchac
ca5fd0b23d React Perf in dev mode // Smarter background component #3240 2016-11-21 14:14:25 +01:00
keorn
42ef7767da delete unused message type 2016-11-21 12:23:27 +00:00
keorn
6e0bd4072b Merge branch 'master' into auth-bft 2016-11-21 12:17:00 +00:00
keorn
959ccc705a fix indent 2016-11-21 12:07:43 +00:00
keorn
c6db157554 fix flaky test, clean up specs 2016-11-21 12:06:14 +00:00
Jaco Greeff
278b1e3bd5 ropsten updates as per comment 2016-11-21 13:04:32 +01:00
keorn
e69be670de message serialization 2016-11-21 11:36:07 +00:00
Jaco Greeff
d48391d6be ropsten 2016-11-21 12:26:38 +01:00
Robert Habermeier
06f5bf809f Merge branch 'master' into client-provider 2016-11-21 12:19:11 +01:00
Gav Wood
601e0fb0fd Merge remote-tracking branch 'origin/master' into check-updates 2016-11-21 11:43:29 +01:00
Gav Wood
2d9369e5ba Introduce test. 2016-11-21 11:03:18 +01:00
GitLab Build Bot
21b2b4ac27 [ci skip] js-precompiled 20161121-093611 2016-11-21 09:37:54 +00:00
Gav Wood
9c0b630d20 Merge pull request #3543 from ethcore/hash-fetch
Moving fetching of hash-addressed dapps/content to separate crate.
2016-11-21 10:16:40 +01:00
Tomasz Drwięga
94328e9784 Fixing main 2016-11-20 22:40:23 +01:00
Tomasz Drwięga
cc8a9d410b Adding fetch API to the crate 2016-11-20 18:44:23 +01:00
Tomasz Drwięga
845bc52e36 Moving contract resolver to separate crate 2016-11-20 17:40:28 +01:00
GitLab Build Bot
92a34d9dd8 [ci skip] js-precompiled 20161120-160026 2016-11-20 16:06:52 +00:00
Arkadiy Paronyan
efd1d9bd0e Ropsten network (#3539)
* Ropsten network

* Sorted premine

* Comas

* Removed trailing coma
2016-11-20 16:38:45 +01:00
Gav Wood
2b8bed434c RPC for deleting accounts. 2016-11-20 16:17:57 +01:00
GitLab Build Bot
9832be395f [ci skip] js-precompiled 20161120-133314 2016-11-20 13:35:00 +00:00
GitLab Build Bot
ab4941b5ee [ci skip] js-precompiled 20161120-132620 2016-11-20 13:28:04 +00:00
Gav Wood
017aaa346c Merge pull request #3534 from sandakersmann/patch-2
Add simple one-line installer to README.md
2016-11-20 14:11:07 +01:00
Gav Wood
efca40a733 Merge pull request #3491 from ethcore/transactions-propagate
Propagations & local transactions tracking
2016-11-20 14:10:27 +01:00
Gav Wood
0848a9ec3c Merge branch 'master' into transactions-propagate 2016-11-20 13:24:08 +01:00
Gav Wood
27a8608624 More information in the updater. 2016-11-20 13:18:56 +01:00
sandakersmann
306ee068f5 Add simple one-line installer to README.md
Add simple one-line installer for Mac and Ubuntu to README.md
2016-11-19 19:22:26 +01:00
Gav Wood
44eda379ad Merge remote-tracking branch 'origin/master' into check-updates 2016-11-19 03:43:43 +01:00
Jaco Greeff
1c4779683f Rename Request{Pending,Finished}Web3 -> Request{Pending,Finished} 2016-11-18 22:30:36 +01:00
Jaco Greeff
d1e6b9ec5e Introduce mobx store for component balances 2016-11-18 22:26:52 +01:00
Jaco Greeff
4498fd54a4 Typo slipped through 2016-11-18 21:55:55 +01:00
GitLab Build Bot
60922b61c9 [ci skip] js-precompiled 20161118-192308 2016-11-18 19:27:32 +00:00
Gav Wood
c4f2b71f1b Merge pull request #3503 from ethcore/signTransaction-format
Correct format of eth_signTransaction
2016-11-19 02:58:53 +08:00
Gav Wood
c9d1eb085c Merge pull request #3518 from ethcore/ng-solc-combined-fix
ABI can be empty and auto-fill contract name
2016-11-19 02:50:23 +08:00
Gav Wood
be2aabc7a1 Merge pull request #3516 from ethcore/ng-fix-npm-versions
Fix versions for NPM
2016-11-19 02:50:09 +08:00
Gav Wood
a97e08fbc8 Merge pull request #3498 from ethcore/jg-ghh-info-display
Better GHH event display & tracking
2016-11-19 02:49:56 +08:00
Gav Wood
80288f8680 Merge pull request #3438 from ethcore/jg-external-dapps
Dapp section & visibility changes
2016-11-19 02:49:41 +08:00
Nicolas Gotchac
53fcfa658f Fix parity.js badly built (#3526) 2016-11-18 19:49:30 +01:00
Konstantin
d870b71636 updated the european warp bootnode addresses (#3528) 2016-11-18 19:41:39 +01:00
Robert Habermeier
58ca93c123 document lock order 2016-11-18 19:27:32 +01:00
Robert Habermeier
48df2e12fa exclusive access to each peer at a time 2016-11-18 19:26:05 +01:00
Arkadiy Paronyan
9c62dd3916 Limit sync reorg to 20 blocks (#3519)
* Limit sync reorg

* Fixed tests
2016-11-18 19:17:35 +01:00
Robert Habermeier
4fd9670b33 support request sending 2016-11-18 19:12:20 +01:00
Jaco Greeff
1686d23522 Don't query chain in Signer, use Redux isTest 2016-11-18 19:07:13 +01:00
Jaco Greeff
be1e5ae52f Updated overlay size as per comments 2016-11-18 18:20:14 +01:00
Nicolas Gotchac
128cd2a8e4 Fixing JS tests 2016-11-18 18:14:34 +01:00
Jaco Greeff
1382c3bbf4 PR grumble 2016-11-18 18:12:38 +01:00
Nicolas Gotchac
8fc1506c57 ABI can be empty and auto-fill contract name #3511 2016-11-18 17:54:25 +01:00
Arkadiy Paronyan
51012d1fae Revert "Limit sync reorganization to 20 blocks" (#3517) 2016-11-18 17:50:27 +01:00
Arkadiy Paronyan
4a3bdf13df Check transaction signature when adding to the queue (#3508) 2016-11-18 17:45:19 +01:00
Arkadiy Paronyan
15702a875c Limit sync reorg (#3509) 2016-11-18 17:45:00 +01:00
Nicolas Gotchac
ffc94343fe Fix version for NPM 2016-11-18 17:44:40 +01:00
Jaco Greeff
f827ade616 debug log removal 2016-11-18 16:32:57 +01:00
keorn
9456c160c2 Merge branch 'master' into auth-bft 2016-11-18 15:22:20 +00:00
Robert Habermeier
f1c665081a Merge branch 'master' into client-provider 2016-11-18 16:07:50 +01:00
Robert Habermeier
63aa54cfc7 trigger event handlers, update capabilities 2016-11-18 15:30:06 +01:00
Jaco Greeff
8d339ad379 Adjust styling 2016-11-18 15:13:37 +01:00
Jaco Greeff
b433e7e9a0 Updated, contract execution in-place 2016-11-18 15:05:02 +01:00
GitLab Build Bot
55a3da8f0a [ci skip] js-precompiled 20161118-134410 2016-11-18 13:46:22 +00:00
keorn
49cbd6ef98 unused imports, proposer_nonce 2016-11-18 13:38:04 +00:00
keorn
2f3b801296 rename transition 2016-11-18 13:37:47 +00:00
Jaco Greeff
bf58aab6a3 Merge branch 'master' into jg-transact-gas-warnings 2016-11-18 14:24:04 +01:00
Nicolas Gotchac
aa43990456 Merge pull request #3506 from ethcore/jg-block-gasLimit
Keep track of block gasLimit
2016-11-18 14:21:13 +01:00
Jaco Greeff
e69b7f66a3 Gas calculation & limit errors 2016-11-18 14:18:50 +01:00
keorn
e90d814193 lock rounds 2016-11-18 12:27:00 +00:00
Gav Wood
4fd575b5ec Add traces. 2016-11-18 19:52:11 +08:00
Robert Habermeier
3fabad5c0f event struct types 2016-11-18 12:36:31 +01:00
Jaco Greeff
2de38c9238 Merge branch 'master' into jg-block-gasLimit 2016-11-18 12:25:04 +01:00
Jaco Greeff
5dcb3cbffb Retrieve gasLimit on new blocks 2016-11-18 12:24:32 +01:00
Gav Wood
9f030db6fb Merge remote-tracking branch 'origin/master' into check-updates 2016-11-18 19:23:22 +08:00
Gav Wood
cd770490ff Remove unneeded file. 2016-11-18 19:22:47 +08:00
Gav Wood
3f2ba96e97 Merge pull request #3504 from ethcore/ng-faster-ui
Smarter Status Polling
2016-11-18 19:18:28 +08:00
Gav Wood
dd50c63912 Merge pull request #3496 from ethcore/ng-solc-output
Handle solc combined output
2016-11-18 19:17:49 +08:00
Gav Wood
b9add2fa6b Merge pull request #3481 from ethcore/no-auto-uuid-name
Wallet names shouldn't use UUID
2016-11-18 19:17:42 +08:00
Gav Wood
d0cbbe2ec3 Merge pull request #3475 from ethcore/ng-fix-parity-jsapi
Make parity.js usable by Node and Browser
2016-11-18 19:17:33 +08:00
Gav Wood
401a4a37c1 Initial structure for auto-updater.
- Add auto-gen'ed Operations and Registry ABIs.
- Add Updater for managing updates.
- Add fields in Client to enable update checking and registry.
2016-11-18 19:14:52 +08:00
Tomasz Drwięga
5897e01dbd Correct format of eth_signTransaction 2016-11-18 11:03:29 +01:00
Gav Wood
28aabcdb6c Merge branch 'master' into check-updates 2016-11-18 11:45:04 +08:00
keorn
c62795d09b ap registration 2016-11-17 23:36:24 +00:00
keorn
9d61071dd7 Merge branch 'miner-no-ap' into auth-bft 2016-11-17 22:04:07 +00:00
Nicolas Gotchac
1c3923c9e8 Smarter Polling #3240
Only refresh statuses when on Status Page for
  some statuses (eg. hashrate)
2016-11-17 20:19:11 +01:00
keorn
9d8ac7a09b extra line [ci skip] 2016-11-17 19:08:00 +00:00
keorn
a521fda24e update rpc module test 2016-11-17 19:04:02 +00:00
keorn
11b6578bc3 update tests 2016-11-17 18:46:50 +00:00
Jaco Greeff
0c26eddd7f Better GHH event display & tracking 2016-11-17 19:37:08 +01:00
keorn
11ccacd6d0 dont keep account provider in miner 2016-11-17 18:32:12 +00:00
Nicolas Gotchac
5fd66d2c97 Smarter pinging. Don't waster resources #3240 2016-11-17 19:20:58 +01:00
Nicolas Gotchac
868fdd68ab Smarter Status Redux fixed 2016-11-17 18:45:23 +01:00
Nicolas Gotchac
50473a69f4 Smarter Status Redux dispatch #3240 2016-11-17 18:44:01 +01:00
keorn
3bac68419a last_lock 2016-11-17 17:12:37 +00:00
Robert Habermeier
8c0e511ebe rewrite scaling logic 2016-11-17 18:10:09 +01:00
Nicolas Gotchac
18e40f3ece Merge branch 'master' into ng-solc-output 2016-11-17 17:51:32 +01:00
Nicolas Gotchac
3ec256cd7b Merge branch 'master' into ng-fix-parity-jsapi 2016-11-17 17:51:05 +01:00
Nicolas Gotchac
a1cbe449fa Use a single step and input for ABI/solc output #3196 2016-11-17 17:45:04 +01:00
GitLab Build Bot
b79d65c0f3 [ci skip] js-precompiled 20161117-160039 2016-11-17 16:02:23 +00:00
Nicolas Gotchac
4f50a63dbc Remove node_modules dir after tests 2016-11-17 16:44:19 +01:00
Nicolas Gotchac
b633631f42 Npm install in npm test 2016-11-17 16:43:41 +01:00
Gav Wood
25a7ff1433 Merge pull request #3336 from ethcore/sms-verification-modal
sms verification modal
2016-11-17 23:42:12 +08:00
Gav Wood
e02d4d9205 Fix test. 2016-11-17 23:39:48 +08:00
Nicolas Gotchac
73b4b4d241 Added library test (node only) #3471 2016-11-17 16:39:36 +01:00
Robert Habermeier
546cd00659 allocate verifiers up front, hibernate when not needed 2016-11-17 16:00:23 +01:00
Nicolas Gotchac
6fd17540f3 Use the right webpack file // Export to window.Parity #3471 2016-11-17 15:54:13 +01:00
Nicolas Gotchac
830c762b75 Working desc and name fields #3196 2016-11-17 15:24:55 +01:00
GitLab Build Bot
7b866b4a1b [ci skip] js-precompiled 20161117-141135 2016-11-17 14:13:10 +00:00
Gav Wood
5c4a9f71d7 Merge pull request #3488 from ethcore/mac-uninstall
sudo -c is not supported on Mac
2016-11-17 21:56:34 +08:00
Gav Wood
9c8b7b25c9 Merge pull request #3492 from ethcore/jg-trace-apis
Add trace_{call, rawTransaction, replayTransaction}
2016-11-17 21:56:19 +08:00
Gav Wood
8befeb29a0 Merge pull request #3490 from ethcore/scrypt-sweep-panics
Check for possible panics in scrypt key derivation
2016-11-17 21:54:35 +08:00
Gav Wood
2532b1527e Merge pull request #3477 from ethcore/sync-opt
Sync traffic optimization
2016-11-17 21:53:05 +08:00
Tomasz Drwięga
3bfd6c5998 Merge branch 'master' into transactions-propagate 2016-11-17 14:37:29 +01:00
Jannis R
4ae58f7d33 move nullable PropType helper 2016-11-17 14:31:25 +01:00
Tomasz Drwięga
afef5b5316 Mocking API for tests 2016-11-17 14:30:53 +01:00
keorn
ce711e321a remove unused vote accumulators 2016-11-17 13:28:29 +00:00
keorn
51ac38318a save proposal hash 2016-11-17 13:26:57 +00:00
Jannis R
179078d31a sms verification: loading step 2016-11-17 14:23:59 +01:00
Jannis R
fff8743ee6 sms verification: fetch contract address from Registry 2016-11-17 14:23:47 +01:00
Tomasz Drwięga
45c7a28585 Fixing JS tests 2016-11-17 14:13:59 +01:00
Nicolas Gotchac
52f3d3cccd Add solc text helper #3196 2016-11-17 14:09:02 +01:00
Jaco Greeff
1b5f7f2241 Remove dangling only 2016-11-17 14:07:34 +01:00
Jaco Greeff
139e66932d Add trace_{call, rawTransaction, replayTransaction} 2016-11-17 14:05:11 +01:00
Tomasz Drwięga
be6eb79296 Fixing JS lints 2016-11-17 14:00:53 +01:00
Nicolas Gotchac
d41efcc84e Add input from Solc compiler #3196 2016-11-17 13:59:13 +01:00
Tomasz Drwięga
5c62e38a7c Cleanup 2016-11-17 13:52:09 +01:00
Tomasz Drwięga
fc4b51fe68 Prioritizing local transactions regardless of nonce 2016-11-17 13:42:45 +01:00
Tomasz Drwięga
74bf2c75f0 Transaction queue improvements 2016-11-17 13:32:13 +01:00
NikVolf
9bbaa03932 check for sanity 2016-11-17 15:30:08 +03:00
keorn
6cb892f605 Merge remote-tracking branch 'parity/master' into bft 2016-11-17 12:19:30 +00:00
keorn
9563ccfbd2 message broadcasting methods 2016-11-17 12:18:20 +00:00
keorn
45027ea306 add new client messaging 2016-11-17 12:17:48 +00:00
Robert Habermeier
44dcd6bc3b increase readjustment period 2016-11-17 13:10:33 +01:00
Jannis R
3f0053f884 sms verification: move helper functions
- checkIfTxFailed & waitForBlockConfirmations are both general-purpose
- checkIfVerified, checkIfRequested & postToServer are sms verification-specific
2016-11-17 13:07:36 +01:00
arkpar
d890dd6f42 Updated sync algo desription 2016-11-17 13:02:44 +01:00
Robert Habermeier
ada9d2b760 Merge branch 'master' into adaptive_queue_threads 2016-11-17 13:00:24 +01:00
Jannis R
a59526099d merge master into sms-verification-modal 2016-11-17 12:40:22 +01:00
Jannis R
13448930e9 sms verification: fix styling 2016-11-17 12:31:06 +01:00
Arkadiy Paronyan
2928da07e4 sudo -c Is not supported on Mac 2016-11-17 12:30:56 +01:00
Nicolas Gotchac
c8fadbec69 Add a new RadioButtons Component #3196 2016-11-17 12:06:35 +01:00
Gav Wood
64a4b60857 Merge pull request #3378 from ethcore/fix-wallet-naming
Wallet files shouldn't give away the address
2016-11-17 18:30:04 +08:00
GitLab Build Bot
76ac87af8b [ci skip] js-precompiled 20161117-101458 2016-11-17 10:16:40 +00:00
Tomasz Drwięga
e45fa62ed5 Fixing tests, fixing refreshing precompiled (#3483)
* Fixing tests, fixing refreshing precompiled

* Commit only js and Cargo.lock

* Moving commands to the right place

* Adding js content as well
2016-11-17 10:58:07 +01:00
Tomasz Drwięga
ff27bbcb4f Simple GUI for local transactions 2016-11-17 10:15:11 +01:00
Gav Wood
4c41195d5c Merge pull request #3478 from ethcore/ng-errors-overlay
Better Errors Snackbar in UI
2016-11-17 08:34:49 +08:00
Gav Wood
a9f017648a Merge pull request #3476 from ethcore/ng-signer-reject
Handle Signer Rejection
2016-11-17 08:33:26 +08:00
Gav Wood
4fa361c988 Wallet names shouldn't include uuid.
Fixes #3368
2016-11-17 08:29:28 +08:00
Nicolas Gotchac
05dc1ab05e Better Erros Snackbar in UI #3473 2016-11-16 19:57:41 +01:00
arkpar
5bddcd8003 Sync bandwidth optimization 2016-11-16 19:34:58 +01:00
Nicolas Gotchac
3ad7e873e1 Better use of Webpack #3471 2016-11-16 19:16:55 +01:00
keorn
802d5c669d transition rules 2016-11-16 18:01:09 +00:00
Nicolas Gotchac
6c60aaec08 Merge branch 'master' into ng-fix-parity-jsapi 2016-11-16 18:58:15 +01:00
Nicolas Gotchac
7144da5d7e Handle Signer Rejection // Real Custom Errors #3153 2016-11-16 18:55:53 +01:00
Tomasz Drwięga
cd686b5d68 Merge branch 'master' into transactions-propagate 2016-11-16 18:07:44 +01:00
Nicolas Gotchac
18f570327e Enhanced MethodDecoding in Transactions list (#3454)
* Better MethodDecoding UI // No empty params #3452

* Display input if ASCII in transactions #3434

* Fixes UI for #3454

* Better MethodDecoding contract detection #3454
2016-11-16 18:03:59 +01:00
Tomasz Drwięga
2cd2b10327 Local transactions RPC 2016-11-16 17:54:54 +01:00
GitLab Build Bot
a7574a1108 [ci skip] js-precompiled 20161116-161024 2016-11-16 16:12:55 +00:00
keorn
51bbad66d0 add a path to submit seal from engine 2016-11-16 15:56:16 +00:00
Nicolas Gotchac
6fa863f2cc Make parity.js usable by Node and Browser #3471 2016-11-16 16:52:05 +01:00
Gav Wood
25950345db Merge pull request #3379 from ethcore/new-token
Signer new-token generates a link and opens browser
2016-11-16 23:48:21 +08:00
Nicolas Gotchac
6f2c818f9f Make tokenreg dapp fast again (#3474)
* Using proper TokenReg Instance in TokenReg dApp #3371

* remove unnecessary logs in tokereg dapp

* Improved Redux managment in TokeReg dApp #3371

* Fixfing linting
2016-11-16 16:43:21 +01:00
Tomasz Drwięga
66e327dfcb Keep track of local transactions 2016-11-16 15:58:14 +01:00
keorn
3b0d5503b1 fix compilation 2016-11-16 13:13:21 +00:00
Tomasz Drwięga
78b5c743f6 Stats RPC 2016-11-16 13:54:58 +01:00
keorn
2fa34fd6a8 step transition messaging 2016-11-16 12:43:21 +00:00
Jannis R
ed2b8e14fc merge master into sms-verification-modal 2016-11-16 13:29:46 +01:00
Jannis R
da8c70fbe7 sms verification: check if tx failed, minor UI fixes
- checks if the tx failed by the amount of gas used
- don't show the pending indicator if an error occured
2016-11-16 13:28:52 +01:00
Jaco Greeff
bbf6d1768d Overal + acceptance in-place 2016-11-16 13:08:08 +01:00
Jaco Greeff
d14801f4ea Merge branch 'master' into jg-external-dapps 2016-11-16 12:36:43 +01:00
Jaco Greeff
68efa70977 Update styling 2016-11-16 12:36:27 +01:00
Jaco Greeff
501c7369b0 External app overlay 2016-11-16 12:36:27 +01:00
keorn
8ac989cbeb Merge remote-tracking branch 'parity/master' into bft 2016-11-16 10:29:54 +00:00
Tomasz Drwięga
4febd0eb93 Maintaining the statistics for propagation of pending transactions 2016-11-16 10:45:55 +01:00
Tomasz Drwięga
29271383dd signer new-token doesn't open the browser 2016-11-16 09:38:09 +01:00
Arkadiy Paronyan
df1fbf50d8 Build fix (#3470) 2016-11-16 08:47:50 +01:00
Gav Wood
b7a76be23a Merge pull request #3447 from ethcore/jg-basiccoin
Display deployed Basic token addresses
2016-11-16 11:46:20 +08:00
Gav Wood
9bd6378e42 Typo 2016-11-16 11:37:25 +08:00
Gav Wood
b9e9544841 Merge pull request #2866 from ethcore/ng-accounts-backup
Export accounts as JSON or CSV
2016-11-16 11:31:18 +08:00
Gav Wood
a5c6cc34cf Merge pull request #3466 from ethcore/hf2-block-num
Set HF2 block number
2016-11-16 11:21:59 +08:00
Gav Wood
9c8a85fa4e Merge pull request #3461 from ethcore/jr-better-wordlist
better word list for secret phrase generation
2016-11-16 11:21:17 +08:00
Gav Wood
8ad2526826 Merge pull request #3460 from ethcore/drop-spec
drop spec when no longer useful
2016-11-16 11:20:13 +08:00
Gav Wood
4d5ce8fde4 Merge pull request #3459 from ethcore/ng-abi-fallback
Add fallback check in ABI validation
2016-11-16 11:19:50 +08:00
Gav Wood
130fd3f9c1 Merge pull request #3457 from ethcore/ng-save-sorting
Save sort order in LocalStorage
2016-11-16 11:19:19 +08:00
Gav Wood
06112255ae Merge pull request #3456 from ethcore/ng-paste-input-submit
Adds onPaste event to Inputs
2016-11-16 11:18:29 +08:00
Gav Wood
53cb033b17 Merge pull request #3450 from ethcore/jg-signer-overflow
Update signer to take care of text overflows
2016-11-16 11:18:20 +08:00
Gav Wood
1daba384cc Merge pull request #3426 from ethcore/auth-round
Authority round consensus engine
2016-11-16 11:18:01 +08:00
GitLab Build Bot
a9596abf5c [ci skip] js-precompiled 20161115-212437 2016-11-15 21:26:09 +00:00
arkpar
be4311540d Set HF block number 2016-11-15 22:04:25 +01:00
Jaco Greeff
df901379b3 Fix transfer token decimal calculation (#3445)
* Fix decimal calculation

* Recalc when shorcutting estimate
2016-11-15 22:00:14 +01:00
GitLab Build Bot
3addae9313 [ci skip] js-precompiled 20161115-194902 2016-11-15 19:50:43 +00:00
Arkadiy Paronyan
4464231c3d Merge pull request #3363 from ethcore/eip-170
Restrict max code size for EIP-150 and after.
2016-11-15 20:33:02 +01:00
Arkadiy Paronyan
4016c58ee9 Update test client with max code size 2016-11-15 19:48:15 +01:00
arkpar
e795f84664 fixed test 2016-11-15 19:46:25 +01:00
Jannis R
373441373d better word list for secret phrase generation 2016-11-15 19:37:45 +01:00
Jannis R
8d4b1a332b sms verification: bugfixes 🐛
- fixed imports
- renamed `uiSteps` to `phases` to make the distinction between
  actual (tiny) steps and visible UI steps clear
- lookup `requestTx` if request has already been sent
- change code regex to match ethcore/sms-verification@59acb73
2016-11-15 19:22:44 +01:00
Jaco Greeff
6efdc08044 Queries display IdentityIcons (#3453) 2016-11-15 19:08:16 +01:00
Robert Habermeier
8c8bf30de5 drop spec when no longer useful 2016-11-15 19:07:23 +01:00
Nicolas Gotchac
3b8286f474 Add fallback check in ABI validation #3392 2016-11-15 18:53:53 +01:00
Nicolas Gotchac
22e47a68a3 Save sort order in LocalStorage #3402 2016-11-15 18:39:11 +01:00
Robert Habermeier
7bfb9e4003 handle all LES requests 2016-11-15 18:19:16 +01:00
Gav Wood
b5704f8056 Update max code size. 2016-11-15 17:58:29 +01:00
Gav Wood
062d55a046 Fix test. 2016-11-15 17:58:28 +01:00
Gav Wood
30ea921329 Introduce the actual max code size. 2016-11-15 17:58:28 +01:00
Gav Wood
528bf17af5 Restrict max code size to 23999 bytes for EIP-150 and after. 2016-11-15 17:58:28 +01:00
Nicolas Gotchac
aae7af6895 Adds onPaste event to Inputs #3127 2016-11-15 17:58:11 +01:00
Jannis R
7a83fb8595 merge master into sms-verification-modal 2016-11-15 17:04:36 +01:00
Jannis R
aa8fc554fe sms verification: simplify code
- moved the steps into named exports
- moved the store creation into the Accounts component
- fix a linting issue
2016-11-15 17:04:34 +01:00
Nicolas Gotchac
039bd3c9f9 Use Babel in vendor when needed #3419 (#3451) 2016-11-15 16:46:48 +01:00
Jannis R
3e879aac35 sms verification: use Mobx store 2016-11-15 16:30:55 +01:00
keorn
1c958695c3 timeout loading 2016-11-15 15:25:30 +00:00
Jannis R
bfcc8d33d6 sms verification: make Done component dumb 2016-11-15 16:22:19 +01:00
Jannis R
90df237ca5 sms verification: make SendConfirmation component dumb 2016-11-15 16:22:19 +01:00
Jannis R
377c16cf78 sms verification: make QueryCode component dumb 2016-11-15 16:22:19 +01:00
Jannis R
f48a341c32 sms verification: make SendRequest component dumb 2016-11-15 16:22:18 +01:00
Jannis R
71986249e5 sms verification: make GatherData component dumb 2016-11-15 16:22:16 +01:00
Jannis R
8ef9fff8ba sms verification: put process into MobX store 2016-11-15 16:05:00 +01:00
Nicolas Gotchac
20185e5aac Use signature of functions instead of names (#3448)
* Use signature of functions instead of names #3411

* Fixes contract tests #3448
2016-11-15 15:58:33 +01:00
Robert Habermeier
cb54152c23 cut off headers after first missing 2016-11-15 15:47:08 +01:00
Jaco Greeff
37ebca6d34 Merge branch 'master' into jg-external-dapps 2016-11-15 15:27:27 +01:00
GitLab Build Bot
b5dedd8aeb [ci skip] js-precompiled 20161115-135402 2016-11-15 13:55:35 +00:00
Robert Habermeier
abf39fde0a implement provider for client 2016-11-15 14:53:30 +01:00
Jaco Greeff
28f11be200 Merge pull request #3430 from ethcore/ng-array-parameters
Handle contract constructor inputs
2016-11-15 14:35:10 +01:00
keorn
7d0eafd5cd fix extra_info 2016-11-15 13:33:11 +00:00
Jaco Greeff
a1ec3146eb Update signer to take care of text overflows 2016-11-15 14:32:29 +01:00
keorn
8efaf08da3 typos and warning 2016-11-15 13:02:46 +00:00
GitLab Build Bot
19b8b48579 [ci skip] js-precompiled 20161115-130035 2016-11-15 13:02:08 +00:00
Jaco Greeff
10c503b5c7 Merge pull request #3446 from ethcore/ng-tokenreg-correct-owner
Use Contract owner for unregistering Token
2016-11-15 13:45:57 +01:00
Nicolas Gotchac
125ac1a69a Better close icons in Modals 2016-11-15 12:52:37 +01:00
Nicolas Gotchac
723005635a Close and not Cancel on deploy contract #3393 2016-11-15 12:50:20 +01:00
GitLab Build Bot
771ce13ddc [ci skip] js-precompiled 20161115-114313 2016-11-15 11:44:42 +00:00
Nicolas Gotchac
2b30d4b75f Empty default Address Field #3395 2016-11-15 12:35:50 +01:00
Jaco Greeff
0181b8a245 Display token addresses 2016-11-15 12:35:43 +01:00
Nicolas Gotchac
3a01352744 Use Contract owner for unregistering Token #3440 2016-11-15 12:30:08 +01:00
Robert Habermeier
db518ecdd4 Merge pull request #3442 from ethcore/lenient-dirs
Create directories only if feature is enabled
2016-11-15 12:28:33 +01:00
keorn
06e5416537 header fns, extra_info 2016-11-15 11:27:09 +00:00
keorn
fde6ff2186 nicer extra info 2016-11-15 11:10:32 +00:00
keorn
d19e8c5505 Merge remote-tracking branch 'parity/master' into bft 2016-11-15 10:26:37 +00:00
keorn
ff2dc5dd57 vote counting 2016-11-15 10:21:49 +00:00
keorn
54e4956345 return errors from constructor 2016-11-15 10:21:18 +00:00
Tomasz Drwięga
8dc7fcbe07 Don't clear propagated transactions 2016-11-15 11:20:54 +01:00
keorn
dd8ed42270 update timeouts 2016-11-15 10:20:42 +00:00
keorn
55a5402bf5 simplify messages 2016-11-15 10:20:14 +00:00
Tomasz Drwięga
6ea4b25859 Create directories only if feature is enabled 2016-11-15 10:28:52 +01:00
GitLab Build Bot
9857f632d8 [ci skip] js-precompiled 20161115-085029 2016-11-15 08:52:53 +00:00
Jaco Greeff
601cef226b Merge branch 'master' into jg-external-dapps 2016-11-15 09:25:42 +01:00
Jaco Greeff
604be3e463 Import AddresBook from exported JSON (#3433)
* Adds error handler in Importer // Import AddressBook #2885

* More robust import #2885
2016-11-15 09:24:59 +01:00
Jaco Greeff
1e155ae548 Render selection inside areas 2016-11-14 21:57:28 +01:00
GitLab Build Bot
c4885a1423 [ci skip] js-precompiled 20161114-201022 2016-11-14 20:11:54 +00:00
Denis S. Soldatov aka General-Beck
85fdcc7bf3 Update gitlab-ci
remove -Zorbit=off
switch to rust 1.13
2016-11-14 23:45:58 +04:00
Nicolas Gotchac
b9f3c4b266 Merge branch 'master' into ng-accounts-backup 2016-11-14 20:31:10 +01:00
Nicolas Gotchac
5322727617 Fixing linting issues #3430 2016-11-14 20:29:37 +01:00
Nicolas Gotchac
09ec0c1f2f More robust import #2885 2016-11-14 20:26:21 +01:00
keorn
071e66c9a8 fix flaky test 2016-11-14 19:03:02 +00:00
keorn
9d46401626 revert to try! 2016-11-14 18:25:42 +00:00
keorn
ae5ae765a6 Merge branch 'master' into auth-round 2016-11-14 18:04:44 +00:00
GitLab Build Bot
3bfa56c72a [ci skip] js-precompiled 20161114-174654 2016-11-14 17:48:20 +00:00
keorn
06ebd5fa1a remove most panics 2016-11-14 17:42:56 +00:00
Nicolas Gotchac
134622ea3a Adds error handler in Importer // Import AddressBook #2885 2016-11-14 18:34:05 +01:00
Gav Wood
cfbd5bd713 Merge pull request #3427 from ethcore/ng-address-input-improv
Scrollable accounts in autocomplete
2016-11-14 18:30:50 +01:00
Jannis R
b5560d27a0 sms verification: pull out postToVerificationServer 2016-11-14 18:03:07 +01:00
Robert Habermeier
25b0b8641e indent state tests 2016-11-14 17:47:56 +01:00
Nicolas Gotchac
29442673f8 Clean-Up #3314 2016-11-14 17:39:45 +01:00
Nicolas Gotchac
97378daee5 Merge branch 'master' into ng-array-parameters 2016-11-14 17:06:02 +01:00
Jaco Greeff
5a6e2f89dd Hide external apps by default 2016-11-14 17:02:45 +01:00
Nicolas Gotchac
9e2214c513 Working add/remove fields for var. length #3314 2016-11-14 17:00:36 +01:00
keorn
1e3ae9fff9 typos, header functions 2016-11-14 15:56:19 +00:00
GitLab Build Bot
5127b997eb [ci skip] js-precompiled 20161114-155241 2016-11-14 15:54:09 +00:00
GitLab Build Bot
c061eae64b [ci skip] js-precompiled 20161114-154454 2016-11-14 15:46:21 +00:00
Gav Wood
ef471af4ee Merge pull request #3428 from ethcore/ws-rs
Bump ws-rs
2016-11-14 16:32:33 +01:00
Gav Wood
d98c6fb717 Merge pull request #3425 from ethcore/jg-tokenreg-decimals
Swap TokenReg dapp from base to decimals
2016-11-14 16:32:12 +01:00
Gav Wood
3eb019064b Merge pull request #3421 from ethcore/travis-beta
Change beta builds to stable on Travis
2016-11-14 16:29:34 +01:00
Gav Wood
1418c3175a Merge pull request #3420 from ethcore/refactor-copy-to-clipboard
refactor copy to clipboard functionality
2016-11-14 16:29:09 +01:00
Gav Wood
ae67bd5371 Merge pull request #3385 from ethcore/dev-chain
Dev chain
2016-11-14 16:28:58 +01:00
Gav Wood
2989ab9dfc fetch known code from the database during restoration (#3377)
* fetch known code from the database during restoration

previously it kept all seen code in memory, leading to
high memory usage by the end of state restoration

* whitespace

[ci:skip]

* test previous code fetch
2016-11-14 16:28:15 +01:00
Nicolas Gotchac
89f83b8cd7 Fixes #3397 : fake blur handled 2016-11-14 16:11:00 +01:00
Tomasz Drwięga
d66cc0907d Bump ws-rs 2016-11-14 16:10:04 +01:00
Jannis R
9df0d33709 merge master into sms-verification-modal 2016-11-14 16:00:16 +01:00
Nicolas Gotchac
ecb89d3670 Scrollable Accounts list // Tab;Enter;Keydown for first input #3396 2016-11-14 15:35:25 +01:00
keorn
0b5a9a6e60 nicer bundled spec message 2016-11-14 14:29:33 +00:00
GitLab Build Bot
6fc7c15644 [ci skip] js-precompiled 20161114-142451 2016-11-14 14:26:16 +00:00
Jaco Greeff
48b2252029 Swap from base to decimals 2016-11-14 15:16:57 +01:00
Robert Habermeier
3c7533831e Merge branch 'master' into client-provider 2016-11-14 15:16:26 +01:00
keorn
5de7d50bf8 add test for multi proposals 2016-11-14 14:15:31 +00:00
keorn
8be8b3e1cd ensure no double proposals 2016-11-14 13:35:45 +00:00
keorn
8a86c11375 enable force sealing 2016-11-14 13:35:16 +00:00
Arkadiy Paronyan
b4ef3f3255 Fixing benches (#3422) 2016-11-14 14:21:35 +01:00
Robert Habermeier
18153b8d9e Merge branch 'master' into missing-code-by-prefix 2016-11-14 14:02:19 +01:00
Tomasz Drwięga
9f002a8a94 Fixing benches 2016-11-14 13:29:49 +01:00
Tomasz Drwięga
d02afc0e40 Beta -> Stable 2016-11-14 13:21:08 +01:00
keorn
165e2bef75 modify proposer test 2016-11-14 11:34:54 +00:00
Jannis R
b1fcee73a5 sms verification: less block confirmations 2016-11-14 12:33:29 +01:00
Jannis R
8ce362b224 sms verification: add terms of service 2016-11-14 12:31:26 +01:00
Tomasz Drwięga
2795f40464 Merge branch 'new-token' of github.com:ethcore/parity into new-token 2016-11-14 12:17:29 +01:00
Tomasz Drwięga
7f011afacb Tokens retention policy 2016-11-14 12:17:05 +01:00
Jaco Greeff
665504c414 Only use #/auth token as fallback 2016-11-14 12:10:03 +01:00
keorn
b5c891814a fix merge 2016-11-14 11:09:57 +00:00
GitLab Build Bot
594bd35a5e [ci skip] js-precompiled 20161113-131856 2016-11-14 11:57:54 +01:00
GitLab Build Bot
1e696c41f7 [ci skip] js-precompiled 20161113-131228 2016-11-14 11:57:54 +01:00
Gav Wood
8db3414de9 Merge branch 'master' into sms-verification-modal 2016-11-14 11:56:37 +01:00
Gav Wood
2fa2f8342a isLatest works. 2016-11-14 11:49:56 +01:00
Jannis R
4d01fbc4c4 merge master into refactor-copy-to-clipboard 2016-11-14 11:46:58 +01:00
Jannis R
e9e9475830 CopyToClipboard: remove tooltip 2016-11-14 11:39:36 +01:00
keorn
501f6d3f49 Merge branch 'master' into auth-round 2016-11-14 10:08:14 +00:00
keorn
d8e6dbd981 Merge branch 'master' into dev-chain 2016-11-14 10:05:34 +00:00
keorn
2d4b4cf5c9 revert moves to Spec 2016-11-14 10:04:34 +00:00
Tomasz Drwięga
6957634ee7 Merge branch 'master' into new-token 2016-11-14 09:22:06 +01:00
Gav Wood
4bb4ed9551 Initial checking. 2016-11-13 15:52:33 +01:00
GitLab Build Bot
d1848117ef [ci skip] js-precompiled 20161113-131856 2016-11-13 13:20:20 +00:00
GitLab Build Bot
5a259be290 [ci skip] js-precompiled 20161113-131228 2016-11-13 13:13:54 +00:00
Gav Wood
4a92668c56 Fix chainspec storage field. (#3406)
Add a test.
2016-11-13 13:58:42 +01:00
Robert Habermeier
37f49aac1b abort snapshot restoration faster (#3356)
* abort snapshot restoration faster

* flag-checking tests
2016-11-13 13:52:53 +01:00
GitLab Build Bot
0c302376b6 [ci skip] js-precompiled 20161113-011451 2016-11-13 01:16:28 +00:00
Jaco Greeff
3ff9c3e6d6 Remove addresses, display non-refundable warning (#3403) 2016-11-12 22:28:50 +01:00
Jaco Greeff
c57738b9b6 Don't unsubscribe when subscriber callback throws (#3401) 2016-11-12 22:26:50 +01:00
Jaco Greeff
6b33899239 Fix dapp account selection (#3399)
* Fix GHH accounts (filter non accounts)

* SignatureReg handle undefined ABI names gracefully

* SignatureReg fix accounts (filter non accounts)

* TokenReg fix accounts (filter non accounts)

* Registry fix accounts (filter non accounts)
2016-11-12 22:24:55 +01:00
GitLab Build Bot
e5486f5d58 [ci skip] js-precompiled 20161112-202502 2016-11-12 20:26:39 +00:00
Robert Habermeier
ee11d104bf Merge pull request #3381 from ethcore/fix-travis
Fix travis build: remove unused import
2016-11-12 21:03:40 +01:00
Jaco Greeff
7ca317912f Set signer token via #/auth=token={} 2016-11-12 17:09:55 +01:00
Jaco Greeff
373eb6c01b Merge branch 'master' into new-token 2016-11-12 16:25:21 +01:00
Gav Wood
86eb84fd81 Switch --signer- to --ui- 2016-11-12 15:21:51 +01:00
Arkadiy Paronyan
67fa58db14 Optimize memory footprint (#3376) 2016-11-12 12:07:02 +01:00
Tomasz Drwięga
c17ef2c1a4 Fixing parsing passwords from file (#3367)
* fixing parsing passwords as inputs

* Fixing typo in test
2016-11-12 10:06:40 +01:00
keorn
15d748c2f7 Merge branch 'master' into dev-chain 2016-11-11 20:40:05 +00:00
keorn
aa296c3c0d update rpc tests 2016-11-11 19:12:32 +00:00
keorn
ea9c479fff update json_tests 2016-11-11 18:57:57 +00:00
keorn
cc39b24599 update chain name 2016-11-11 18:41:04 +00:00
keorn
4a65394269 change instant spec, update doc 2016-11-11 18:38:44 +00:00
Robert Habermeier
7e41f1c901 Fix travis build: remove unused import 2016-11-11 18:41:25 +01:00
keorn
53258cca6c add new dev spec 2016-11-11 17:27:20 +00:00
keorn
e63b7e51fb update instant_seal schedule 2016-11-11 17:26:41 +00:00
Robert Habermeier
87c668ba9c test previous code fetch 2016-11-11 18:24:12 +01:00
keorn
225d0b02e7 update parity module 2016-11-11 17:10:47 +00:00
Tomasz Drwięga
ba699fdb25 new line [ci:skip] 2016-11-11 18:02:36 +01:00
keorn
beaa014543 tix doc test 2016-11-11 16:59:22 +00:00
Tomasz Drwięga
be6023b602 Opening a browser 2016-11-11 17:56:52 +01:00
Tomasz Drwięga
aa147461b0 Generating browser link on signer new-token 2016-11-11 17:38:45 +01:00
keorn
a719b91b63 move spec constructors to spec 2016-11-11 16:37:44 +00:00
Gav Wood
a7ad75d851 whitespace
[ci:skip]
2016-11-11 17:32:54 +01:00
Gav Wood
24cb0ae905 Wallet names shouldn't include address.
(Actually wallet files shouldn't contain it either, but we'll
leave that for a later PR).
2016-11-11 17:28:03 +01:00
GitLab Build Bot
c656b53ce6 [ci skip] js-precompiled 20161111-161748 2016-11-11 16:19:10 +00:00
Robert Habermeier
ed135bb9dc fetch known code from the database during restoration
previously it kept all seen code in memory, leading to
high memory usage by the end of state restoration
2016-11-11 17:18:31 +01:00
Tomasz Drwięga
4bf75d6f2f Remove some unwraps from parity/helpers (#3364)
* Fixing no stdin

* Removing unwrap when reading passwords
2016-11-11 16:53:51 +01:00
Jaco Greeff
80606cdd7d Load external, builtin & local apps in parallel (#3340) 2016-11-11 16:53:10 +01:00
GitLab Build Bot
d5d1c1b674 [ci skip] js-precompiled 20161111-141616 2016-11-11 14:17:40 +00:00
Nicolas Gotchac
0e4ef539fc Solidity Compiler in UI (#3279)
* Added new Deploy Contract page // Use Brace in React #2276

* Adding Web Wrokers WIP

* Compiling Solidity code // Getting mandatory params #2276

* Working editor and deployment #2276

* WIP : displaying source code

* Added Solidity hightling, editor component in UI

* Re-adding the standard Deploy Modal #2276

* Using MobX in Contract Edition // Save to Localstorage #2276

* User select Solidity version #2276

* Loading Solidity versions and closing worker properly #2276

* Adds export to solidity editor #2276

* Adding Import to Contract Editor #2276

* Persistent Worker => Don't load twice Solidity Code #2276

* UI Fixes

* Editor tweaks

* Added Details with ABI in Contract view

* Adds Save capabilities to contract editor // WIP on Load #3279

* Working Load and Save contracts... #3231

* Adding loader of Snippets // Export with name #3279

* Added snippets / Importing from files and from URL

* Fix wrong ID in saved Contract

* Fix lint

* Fixed Formal errors as warning #3279

* Fixing lint issues

* Use NPM Module for valid URL (fixes linting issue too)

* Don't clobber tests.
2016-11-11 15:00:04 +01:00
Nicolas Gotchac
046d2f2333 Scrollable 2016-11-11 13:09:16 +01:00
Nicolas Gotchac
deaf863c9e Fixing linting 2016-11-11 12:41:44 +01:00
Nicolas Gotchac
b59df1d7b8 WIP // Real ABI params in Deploy Constructor #3314 2016-11-11 12:37:01 +01:00
Nicolas Gotchac
94b80cc08a Merge branch 'master' into ng-array-parameters 2016-11-11 11:18:17 +01:00
GitLab Build Bot
5d8f74ed57 [ci skip] js-precompiled 20161111-082057 2016-11-11 08:22:24 +00:00
Jaco Greeff
c7b99cd7e6 Determine real-time HTTP connected status (#3335)
* Determine real-time HTTP connected status

* Update failing tests, no polluting polling
2016-11-11 09:01:28 +01:00
Chuck LeDuc Díaz
7cc88b175f Clarify error message to indicate (#3359)
Indicate that Signer *needs* to be re-enabled, not that it *was* re-enabled.
2016-11-11 08:52:52 +01:00
Jaco Greeff
0b176e7013 Cater for home.parity hostname in dappsUrl (#3341)
* Cater for home.parity hostname

* Cater for 0.0.0.0 & default dappsInterface

* Extra check
2016-11-10 20:45:03 +01:00
Nicolas Gotchac
cd143e475a WIP refacto typed input 2016-11-10 20:35:47 +01:00
GitLab Build Bot
0456d4e5d0 [ci skip] js-precompiled 20161110-180734 2016-11-10 18:08:55 +00:00
Jannis R
522b7108f9 CopyToClipboard: show SnackBar 2016-11-10 18:47:17 +01:00
Nicolas Gotchac
eb56b82f43 Check totalBalance > 0 // Better account selection (#3347) 2016-11-10 18:46:03 +01:00
Nicolas Gotchac
cb84e61d06 Fixed Unregister for Contract Owner only #3321 (#3346) 2016-11-10 18:44:11 +01:00
Robert Habermeier
3854b8a689 LES Part 1 (#3322)
* stub implementations of light client trait

* Light provider trait

* light client sync stubs

* LES boilerplate

* stub implementation of provider for client

* skeleton and request traits

* request definitions

* new_list -> begin_list

* handle unknown packet

* revise light implementation strategy

* make verification module public

* Move all light client work to own crate

* experiment with answering requests

* buffer flow scaffolding

* remove LESv2 requests

* buffer flow basics, implement cost table

* begin status module

* implement handshake parsing and creation

* implement announcement serialization

* errors, punishment, and handshake

* handle announcements

* making announcements, clean up warnings

* allow dead code temporarily
2016-11-10 18:30:17 +01:00
Jannis R
e9b69bceab Account Header: use CopyToClipboard 2016-11-10 18:09:54 +01:00
GitLab Build Bot
529633e9b2 [ci skip] js-precompiled 20161110-163203 2016-11-10 16:33:24 +00:00
Jannis R
87c39f066c Form/Input: use CopyToClipboard 2016-11-10 17:27:53 +01:00
Jannis R
acbaed59c0 CopyToClipboard: clear timeout on unmount 2016-11-10 17:27:53 +01:00
Jaco Greeff
a97e68a030 Make transactions load (#3348) 2016-11-10 16:38:47 +01:00
Jannis R
01f14901ce merge master into sms-verification-modal 2016-11-10 16:23:43 +01:00
Jannis R
bd839d019c sms verification: polish UI, linting issues 👕 2016-11-10 16:23:09 +01:00
Jannis R
afdda48ab5 sms verification: polish UI
This introduces another "Done" step, making clear the process has finished.

Also, steps 2 ("Request") and 4 ("Confirm") now have a pending indicator.
2016-11-10 16:09:41 +01:00
GitLab Build Bot
0ed8114726 [ci skip] js-precompiled 20161110-141839 2016-11-10 14:20:08 +00:00
GitLab Build Bot
aa0f05a186 [ci skip] js-precompiled 20161110-140631 2016-11-10 14:07:52 +00:00
Jaco Greeff
561f008c91 Manual bump of package.json (#3345) 2016-11-10 15:01:07 +01:00
Arkadiy Paronyan
bb5da2379b Windows app and installer fixes (#3338)
* Windows app and installer fixes

* Sorted out comments
2016-11-10 14:49:16 +01:00
Nicolas Gotchac
6ad909e7b3 Removed unnecessary test (#3342) 2016-11-10 14:26:06 +01:00
Robert Habermeier
8c2c048444 clean up errors 2016-11-10 14:05:47 +01:00
Jannis R
2309e53fe6 sms verification: polish UI, linting issues 👕 2016-11-10 13:54:17 +01:00
Jannis R
ac80276ad8 sms verification: refactor checks & confirmation 2016-11-10 13:37:32 +01:00
Nicolas Gotchac
1deeb0d901 Git pre-push checks for UI (#3072)
* Added eslint cached option (#2291)

* Added pre-push script running linting (#2291)

* Modifies pre-push hook to run if eslint installed // auto install hook

* Update pre-push script comment

* Added husky for git hooks (#3072)
2016-11-10 11:42:00 +01:00
Arkadiy Paronyan
6ffaab15a3 Disarm the HF and add more bootnodes (#3323)
* Disarm the HF

* More bootnodes

* Updated tests
2016-11-10 11:28:27 +01:00
Nicolas Gotchac
67ac05ef39 Default contract type on UI (#3310)
* Added Token and Wallet ABI in Watch Contract #3126

* Improved ABI Validator #3281

* Select contract type on first screen #3126

* Added types decsription

* Add ABI type to Contract metadata // Custom as default type #3310
2016-11-10 11:27:35 +01:00
Tomasz Drwięga
2f98169539 In-browser signing support (#3231)
* Signer RAW confirmations

* Returning address book as eth_accounts

* UI support for in-browser signing

* Post review fixes

* Adding new methods to jsonrpc

* Fixing eth_accounts

* Deterministic accounts ordering
2016-11-10 11:27:05 +01:00
Robert Habermeier
11e6b08f02 Move ethcore-light crate into ethcore/light module 2016-11-09 23:39:56 +01:00
Robert Habermeier
ebff010d16 partial implementation of provider for client types 2016-11-09 23:25:54 +01:00
Jaco Greeff
90ff810e36 Handle redirects from /api/content on manifest.json gracefully (#3315)
* Add redirect follow mode to manifest.json

* Remove (now) unused count parameter

* autoRewrite: true for dev mode proxy redirects
2016-11-09 20:05:08 +01:00
Tomasz Drwięga
88c9cea04d Dapps interface RPC (#3311)
* Dapps Interface RPC

* Adding JS apis

* Support for signer interface in proxypac and embeds

* Fixing tests

* fixing tests again
2016-11-09 19:41:47 +01:00
Arkadiy Paronyan
eba0dd5023 Additional snapshot sync checks (#3318)
* Additional snapshot sync checks

* Proper checks

* Proper highset block check
2016-11-09 19:40:36 +01:00
Jannis R
89c1d9c25c merge master into sms-verification-modal 2016-11-09 19:04:31 +01:00
Jannis R
cde9f454eb sms verification: polish UI 2016-11-09 19:04:13 +01:00
Jannis R
8028c0fd65 sms verification: check if already requested 2016-11-09 19:02:33 +01:00
Tomasz Drwięga
915766c7bf Fix spurious signer tests failures (#3312)
* Increasing sleep time for signer tests

* Attempt re-connections instead of delaying tests execution
2016-11-09 18:26:35 +01:00
Jaco Greeff
877cfe9b53 Fix signer token updates (#3302)
* Manual bump of package.json (recovery)

* Debug

* Simplify status connections
2016-11-09 18:26:10 +01:00
GitLab Build Bot
29aecc2cff [ci skip] js-precompiled 20161109-171832 2016-11-09 17:19:59 +00:00
Nicolas Gotchac
92333ab875 Merge pull request #3316 from ethcore/jg-update-phrase
Update account recovery phrase hint
2016-11-09 18:07:13 +01:00
Robert Habermeier
60a8728121 Merge branch 'master' into les-impl 2016-11-09 18:06:12 +01:00
Robert Habermeier
6c23d53f04 allow dead code temporarily 2016-11-09 18:05:56 +01:00
Robert Habermeier
25d5efac15 making announcements, clean up warnings 2016-11-09 18:05:00 +01:00
Jannis R
01cf88d71a sms verification: merge step 1 & 2 2016-11-09 18:02:33 +01:00
Gav Wood
4712b882e5 New transaction tests (#3313)
* Add new transaction tests.

* Add new test.
2016-11-09 18:02:24 +01:00
Jannis R
a42140edde sms verification: send confirmation tx 2016-11-09 17:34:21 +01:00
Jannis R
f08e2a4b17 sms verification: query code 2016-11-09 16:56:01 +01:00
Jannis R
7996ac47ec sms verification: polish UI, fix linting issues 👕 2016-11-09 16:55:59 +01:00
Jannis R
e7113e7eb4 sms verification: show fee in consent form 2016-11-09 16:54:57 +01:00
Jannis R
e84531f31c sms verification: refactor contract call 2016-11-09 16:54:57 +01:00
Jannis R
ebf742f2af sms verification: update contract address & ABI 2016-11-09 16:54:57 +01:00
Jannis R
a56a1d3aef sms verification: request SMS 2016-11-09 16:54:56 +01:00
Jannis R
4931381e0e txHash component: add maxConfirmations prop 2016-11-09 16:54:56 +01:00
Jannis R
3ef54f9172 sms verification: wait for tx confirmations 2016-11-09 16:54:56 +01:00
Jannis R
d0d737d1e3 sms verification: post request transaction 2016-11-09 16:54:56 +01:00
Jannis R
89a2917935 boilerplate for third step 2016-11-09 16:54:56 +01:00
Jannis R
4c199ef716 sms verification: collect data 2016-11-09 16:54:55 +01:00
Jannis R
14da2d2805 sms verification: check if certified 2016-11-09 16:54:55 +01:00
Jannis R
435d3c24db SendRequest -> GatherData 2016-11-09 16:54:55 +01:00
Jannis R
1a245405e5 query phone number & consent 2016-11-09 16:54:55 +01:00
Jannis R
fc76fa9252 sms verification: basic stepper 2016-11-09 16:54:54 +01:00
Jannis R
f96e69309f SMS verification modal 2016-11-09 16:54:54 +01:00
Jannis R
7cb724bfbe put SMS verification into action bar 2016-11-09 16:54:54 +01:00
Robert Habermeier
c132775bb1 handle announcements 2016-11-09 16:21:09 +01:00
Jaco Greeff
22faee2099 Update account recovery phrase hint 2016-11-09 15:48:45 +01:00
Robert Habermeier
ec1b982b52 errors, punishment, and handshake 2016-11-09 15:36:26 +01:00
GitLab Build Bot
599f214ad9 [ci skip] js-precompiled 20161109-132407 2016-11-09 13:25:39 +00:00
Jaco Greeff
95e03f87fa Remove 127.0.0.1 references (#3303) 2016-11-09 14:01:59 +01:00
arkpar
f568730aa8 Fixed MD5 generation 2016-11-09 13:44:48 +01:00
Arkadiy Paronyan
8ecbec8d6c Fixes for open UI after installation (#3300) 2016-11-09 13:17:57 +01:00
Arkadiy Paronyan
85ade4a2ec Fixed uncle details (#3299) 2016-11-09 13:17:40 +01:00
Jaco Greeff
b17ce6c9a5 Updated blance display with max decimals (#3266) 2016-11-09 13:16:17 +01:00
Tomasz Drwięga
b33b237f76 Refactoring Signer to auto_args + eth_signTransaction (#3261)
* Sign transaction initial

* Refactoring signer to auto_args
2016-11-09 13:13:35 +01:00
Björn Wagner
3c6f148a16 Fix typo (#3298) 2016-11-09 13:12:28 +01:00
GitLab Build Bot
29add4e40a [ci skip] js-precompiled 20161109-111303 2016-11-09 11:14:24 +00:00
Jaco Greeff
6a1b17d5a9 Change to more common focused spelling (#3264) 2016-11-09 11:53:40 +01:00
keorn
49f2a72d5d Merge branch 'master' into auth-round 2016-11-09 10:35:00 +00:00
arkpar
ad18a30535 Corrected startup executable 2016-11-09 01:14:32 +01:00
GitLab Build Bot
9325fe44f3 [ci skip] js-precompiled 20161108-234705 2016-11-08 23:48:24 +00:00
Jaco Greeff
044a3f409b Manual bump of package.json (recovery) (#3295) 2016-11-09 00:07:06 +01:00
Jaco Greeff
f9dc766ae2 Fix initial token generation (#3289)
* Fix initial token generation

* Remove extra debug info
2016-11-08 23:17:33 +01:00
Gav Wood
7b5824d4a2 Fixes for 1.4 (#3260)
* Fix --geth

* Fix mac installer.

* Fix up installer.

* Additional tweaks.

* Fix for empty APIs

* Another case of empty apis
2016-11-08 21:45:22 +01:00
Arkadiy Paronyan
f1e61c87b4 Fixed IO service shutdown (#3286) 2016-11-08 21:07:18 +01:00
keorn
4e36550890 message revamp 2016-11-08 18:01:31 +00:00
Robert Habermeier
ca25deb4e6 implement announcement serialization 2016-11-08 19:00:37 +01:00
Arkadiy Paronyan
b453ae1db2 Autostart checkbox (#3269) 2016-11-08 18:52:09 +01:00
Denis S. Soldatov aka General-Beck
d8eafa91b8 Update gitlab-ci
remove ubuntu 14.04
remove tags from js-release
2016-11-09 00:32:20 +07:00
Denis S. Soldatov aka General-Beck
82990ee464 Update gitlab-ci
skip js-release in nightly builds
[ci skip]
2016-11-08 23:46:22 +07:00
Robert Habermeier
b369cdd573 Merge branch 'master' into les-impl 2016-11-08 17:14:19 +01:00
Robert Habermeier
440f5e537f implement handshake parsing and creation 2016-11-08 17:13:43 +01:00
arkpar
b2fe406666 Updated signing path 2016-11-08 11:07:18 +01:00
Arkadiy Paronyan
318a3d29e1 Build tray app for x64 (#3255)
* Build tray app for x64

* Fixed command
2016-11-08 10:23:23 +01:00
Denis S. Soldatov aka General-Beck
7a657a2e85 Update gitlab-ci
remove trigger from js-release
[ci skip]
2016-11-08 14:50:30 +07:00
Jaco Greeff
51aa0e28eb Add secure flag back (#3244) 2016-11-07 20:07:08 +01:00
Robert Habermeier
d18bb9d152 verify chunk hashes in cli restore (#3241) 2016-11-07 19:33:55 +01:00
Robert Habermeier
4ba4861734 begin status module 2016-11-07 19:16:23 +01:00
Jaco Greeff
6ab6c0709d Load network apps manifests as contentHash (no coding) (#3235)
* Add mobx

* Use mobx store for dapps

* Cleanup hidden reads

* Remove (now) unused hidden.js

* _ denotes internal functions

* s/visibleApps/visible/

* AddDapps now use the mobx store as well

* Move modalOpen state to store

* Simplify

* Complete master merge

* Remove extra indirection

* Remove unneeded check

* Readability improvements

* Remove final debug info

* Load network manifests from the network

* Swallow manifest errors

* introduce fetchManifest
2016-11-07 18:08:16 +01:00
GitLab Build Bot
418474ad27 [ci skip] js-precompiled 20161107-170338 2016-11-07 17:04:56 +00:00
Arkadiy Paronyan
108452d082 Fixed some typos (#3236) 2016-11-07 17:42:17 +01:00
keorn
52ea597d6f Rename cli and config options signer->ui (#3232)
* rename options signer->ui

* rename config signer->ui
2016-11-07 17:40:53 +01:00
Denis S. Soldatov aka General-Beck
01602ec0b5 Update gitlab-ci
prepare to nightly builds
2016-11-07 23:16:34 +07:00
Robert Habermeier
051effe9f8 buffer flow basics, implement cost table 2016-11-07 15:40:34 +01:00
GitLab Build Bot
43ec40d572 [ci skip] js-precompiled 20161107-142633 2016-11-07 14:27:49 +00:00
Jaco Greeff
f0054aa201 Add store for dapps state (#3211)
* Add mobx

* Use mobx store for dapps

* Cleanup hidden reads

* Remove (now) unused hidden.js

* _ denotes internal functions

* s/visibleApps/visible/

* AddDapps now use the mobx store as well

* Move modalOpen state to store

* Simplify

* Complete master merge

* Remove extra indirection

* Remove unneeded check

* Readability improvements

* Remove final debug info
2016-11-07 15:22:46 +01:00
Denis S. Soldatov aka General-Beck
834c0703fe Update gitlab-ci
Add i686
cache optimization
add triggers
2016-11-07 21:07:37 +07:00
keorn
ea960f1c27 Merge remote-tracking branch 'parity/master' into bft 2016-11-07 11:34:45 +00:00
GitLab Build Bot
6388c814ea [ci skip] js-precompiled 20161107-113204 2016-11-07 11:33:25 +00:00
arkpar
8cad185a57 Set version to unstable 2016-11-07 12:10:29 +01:00
Robert Habermeier
d573ef3cc2 remove LESv2 requests 2016-11-06 20:02:15 +01:00
Robert Habermeier
44e36596c9 buffer flow scaffolding 2016-11-06 19:04:30 +01:00
GitLab Build Bot
eb0c92e8c8 [ci skip] js-precompiled 20161106-165954 2016-11-06 17:01:11 +00:00
GitLab Build Bot
a453f99885 [ci skip] js-precompiled 20161106-165021 2016-11-06 16:51:51 +00:00
Jaco Greeff
a4cc6058dd Don't push empty tags to input (#3222) 2016-11-06 17:42:50 +01:00
Jaco Greeff
44266115b6 Fix /parity-utils/{web3,parity}.js webpack errors (#3221)
* Don't override library builds

* Don't override libraries on build

* Enhance working blockNumber display
2016-11-06 17:42:25 +01:00
Björn Wagner
d8a95084cb Improve 'invalid raw key' error msg (#3219) 2016-11-06 17:31:26 +01:00
GitLab Build Bot
d172c83c26 [ci skip] js-precompiled 20161106-120902 2016-11-06 12:10:21 +00:00
Tomasz Drwięga
9c4979681c Cleaning up polluted namespaces (#3143)
* Renaming ethcore_ to parity_

* Renaming files

* Renaming poluted EthSigning

* Tidy up the namespaces

* Renaming files to match new structure

* Splitting EthSigning into separate traits

* jsapi move ethcore.* -> parity.*

* Move jsonrpc parity definitions

* Update UI API calls for parity interfaces

* Move jsapi signer interfaces from personal to signer

* Update UI to use signer.* where applicable

* Updsate jsapi subscriptions for signer

* Fix dodgy merge.

* Update README.

* Fix some tests.

* Move parity-only personal.* to parity.*

* Update UI for personal -> parity API moves

* Update subscription APIs after personal -> parity move

* personal. generateAuthorizationToken -> parity. generateAuthorizationToken (UI)

* enode, dappsPort & signerPort (UI)

* Update subscription tests (accountsInfo)

* subscription update

* personal -> parity

* Additional error logging on method failures

* move postTransaction to parity

* Additional debug info with method failures

* Fix personal tests.

* Console wrning shows parameters, error object does not

* Include parity_ signing methods.

* Console log http transport info

* Fix failing tests

* Add RPC stubs for parity_accounts.

* Allow some secure built-in dapps

* Use parity_accounts in place of accountsInfo

* Improve error reporting

* Cleanup GHH error handling
2016-11-06 12:51:53 +01:00
GitLab Build Bot
78f2d88182 [ci skip] js-precompiled 20161105-173004 2016-11-05 17:31:24 +00:00
Denis S. Soldatov aka General-Beck
19406fb0fa Update gitlab-ci
add $NIGTHLY to var
2016-11-06 00:07:08 +07:00
Denis S. Soldatov aka General-Beck
022a718b6f Update gitlab-ci 2016-11-06 00:02:44 +07:00
Denis S. Soldatov aka General-Beck
cb6003f40d Update gitlab-ci
$(git --no-pager diff --name-only HEAD HEAD@{1} | grep \.js | wc -l)
2016-11-05 22:39:51 +07:00
GitLab Build Bot
f2faf3609b [ci skip] js-precompiled 20161105-144817 2016-11-05 14:49:31 +00:00
Arkadiy Paronyan
77136b8f84 Set passive mode for first run only (#3214) 2016-11-05 14:38:04 +01:00
GitLab Build Bot
2cb41f96f5 [ci skip] js-precompiled 20161105-112525 2016-11-05 11:26:40 +00:00
Jaco Greeff
458ee4cbad Parity configuration settings, i.e. mode (#3212)
* Add initial page

* Add parity icon

* opacity for parity icon

* Mode selector

* Actually set mode when value changes
2016-11-05 12:08:14 +01:00
GitLab Build Bot
7b043047f0 [ci skip] js-precompiled 20161105-095429 2016-11-05 09:55:44 +00:00
Robert Habermeier
56fd88d1e8 ethash unsafety cleanup (#3210) 2016-11-05 10:39:15 +01:00
Gav Wood
744501c454 Mode improvements for UI (#3109)
* `--mode=off` now works.

* Add Mode::Off as a persistent CLI option.

* "last" not "auto" as default.

* Commit accidentally unsaved file.

* Whitespace

[ci:skip]

* Mode CLI parse fix

* or offline

* Save mode when it gets changed.

* Fix Offline mode

* Fix up mode operations.

* Make passive default, but not overriding.

* Fix test

* Maybe not everyone wants to run an archive node...
2016-11-05 10:38:00 +01:00
GitLab Build Bot
8351c5d500 [ci skip] js-precompiled 20161105-053734 2016-11-05 05:38:51 +00:00
GitLab Build Bot
0e9d70a85d [ci skip] js-precompiled 20161105-053249 2016-11-05 05:34:04 +00:00
Robert Habermeier
52abbc0643 experiment with answering requests 2016-11-04 23:50:56 +01:00
GitLab Build Bot
08d92fe3aa [ci skip] js-precompiled 20161104-222946 2016-11-04 22:31:01 +00:00
GitLab Build Bot
67715da827 [ci skip] js-precompiled 20161104-222646 2016-11-04 22:28:04 +00:00
GitLab Build Bot
20bb0e5f59 [ci skip] js-precompiled 20161104-222329 2016-11-04 22:24:43 +00:00
Igor Artamonov
2a19c33b8d delay bomb for Classic (ECIP-1010) (#3179)
* delay bomb for classic (ECIP-1010)

* formatting fix after core review, rel [e6b5093]
2016-11-04 23:09:23 +01:00
Jaco Greeff
c2e85dc4d5 Use ethcore_dappsPort when constructing URLs (#3139)
* Upon connect, retrieve the available api ports

* Update dapps to load from dappsPort

* Update dapps summary with dappsPort

* Allow proxy to use dappsPort

* Replace /api/ping with HEAD /

* Dynamic port for available apps

* Retrieve content images with dappsPort

* Fix /

* Transfer token dropdown image fix

* IdentityIcon loads images via contentHash

* Update apps fetch to cater for dev & prod

* DRY up 127.0.0.1:${dappsPort} with ${dappsUrl}
2016-11-04 23:08:12 +01:00
Jaco Greeff
f9f37f1c84 Add copy address button to Contract deploy (#3199)
* Allow copy of deployed address

* Pre-parse/clean JSON inputs

* Revert cleanup
2016-11-04 23:06:03 +01:00
GitLab Build Bot
9db28e12ac [ci skip] js-precompiled 20161104-191028 2016-11-04 19:11:43 +00:00
Jaco Greeff
83beedc27e expose api as window.secureApi (#3207) 2016-11-04 19:52:39 +01:00
Robert Habermeier
c1a6dbe75f Move all light client work to own crate 2016-11-04 19:40:11 +01:00
Robert Habermeier
5cabb3008f make verification module public 2016-11-04 19:21:48 +01:00
GitLab Build Bot
7f0310921d [ci skip] js-precompiled 20161104-175104 2016-11-04 17:52:19 +00:00
Robert Habermeier
edf17d00c4 revise light implementation strategy 2016-11-04 18:40:31 +01:00
Tomasz Drwięga
501b2cdd18 Add error for sendRawTransaction and estimateGas (#3194)
* sendRawTransaction invalid RLP error

* Returning proper error for estimate_gas
2016-11-04 18:33:10 +01:00
GitLab Build Bot
2563189316 [ci skip] js-precompiled 20161104-170459 2016-11-04 17:06:13 +00:00
Robert Habermeier
90a2c37977 handle unknown packet 2016-11-04 17:35:31 +01:00
Tomasz Drwięga
f31d42d0c5 Exposing engine extra info in block RPC (#3169)
* Exposing extra info in RPC

* Proper serialization and client trait API
2016-11-04 17:35:02 +01:00
Arkadiy Paronyan
d37f4cc82f v1.5 (#3195) 2016-11-04 17:27:11 +01:00
GitLab Build Bot
75d100476e [ci skip] js-precompiled 20161104-162426 2016-11-04 16:25:41 +00:00
Robert Habermeier
5d011fe577 new_list -> begin_list 2016-11-04 17:25:26 +01:00
Robert Habermeier
eef9a355af request definitions 2016-11-04 17:19:01 +01:00
Jaco Greeff
858962ca0d Remove dapp logos (GHH points to dapp-assets) (#3192) 2016-11-04 17:03:28 +01:00
Tomasz Drwięga
145e766db2 Fixing possible race condition in ethcore_hashContent (#3191) 2016-11-04 16:59:42 +01:00
keorn
a8b688b469 allow permanent unlock for internal sealing 2016-11-04 15:50:56 +00:00
keorn
0e5060db18 update schedule 2016-11-04 15:04:19 +00:00
Jaco Greeff
caab72394d Bump package.json version (1.5 is master) (#3193)
* Bump package.json version (1.5 is master)

* Updated maintainers
2016-11-04 15:58:44 +01:00
Gav Wood
0f16942186 EIP-155 update with Vitalik's new test vectors (#3166)
* Vitalik's new test vectors.

* Update to latest EIP155 spec.

* Fix txs.

* Another fix.
2016-11-04 15:13:51 +01:00
Robert Habermeier
1bc124f980 Merge branch 'master' into les-impl 2016-11-04 15:00:05 +01:00
keorn
9de910cf9c Merge branch 'master' into auth-round 2016-11-04 13:47:29 +00:00
GitLab Build Bot
df33aa920b [ci skip] js-precompiled 20161104-130943 2016-11-04 13:11:00 +00:00
GitLab Build Bot
67b1bde355 [ci skip] js-precompiled 20161104-121251 2016-11-04 12:14:06 +00:00
Jaco Greeff
e80771b3ca Back to real root (#3178) 2016-11-04 12:54:23 +01:00
Jaco Greeff
6667373a80 Remove extra cd js (#3177) 2016-11-04 12:45:50 +01:00
Nicolas Gotchac
bf94a5b82b Fixes #3171 (#3175) 2016-11-04 12:38:05 +01:00
keorn
255ec0c139 Merge branch 'master' into auth-round 2016-11-04 11:35:17 +00:00
Tomasz Drwięga
2e47842d66 Exposing state root and logsBloom in RPC receipts (#3174) 2016-11-04 12:33:13 +01:00
Tomasz Drwięga
7ff73a9533 Exposing v,r,s from transaction signature in RPC (#3172) 2016-11-04 12:05:10 +01:00
Jaco Greeff
fa875aed05 Push precompiled for beta/stable, npm only master (#3163)
* Push precompiled for beta/stable, npm only master

* Release to npm before comitting updates
2016-11-04 12:02:09 +01:00
GitLab Build Bot
f9274d178b [ci skip] js-precompiled 20161104-104936 2016-11-04 10:50:43 +00:00
Denis S. Soldatov aka General-Beck
3ae5ad1bea Update gitlab-ci
add $NIGHTLY ENV for future nightly builds
2016-11-04 17:29:21 +07:00
GitLab Build Bot
4b92881592 [ci skip] js-precompiled 20161104-094125 2016-11-04 09:42:28 +00:00
Denis S. Soldatov aka General-Beck
6f046f8d84 Update gitlab-ci
stages:
  - test
  - js-build
  - build
2016-11-04 16:16:40 +07:00
GitLab Build Bot
0ee332f8e2 [ci skip] js-precompiled 20161104-090141 2016-11-04 09:02:49 +00:00
Denis S. Soldatov aka General-Beck
514d2cb7db Update gilab-ci
js-release
  only:
    - master
    - beta
    - stable
    - tags
2016-11-04 15:59:17 +07:00
Tomasz Drwięga
68f60596dc Enabling personal RPC over IPC by default (#3165) 2016-11-04 09:58:39 +01:00
Denis S. Soldatov aka General-Beck
c532032372 Update README.MD (#3164)
Add badge build status from Gitlab CI -master
2016-11-04 09:58:08 +01:00
Arkadiy Paronyan
26b09b1513 Dependencies in README (#3162) 2016-11-04 09:57:47 +01:00
Gav Wood
af9de37756 Make the footer a bit less ugly. (#3160)
* Make the footer a bit less ugly.

* Whitespace.
2016-11-04 09:57:21 +01:00
GitLab Build Bot
155eb02c69 [ci skip] js-precompiled 20161104-085547 2016-11-04 08:56:51 +00:00
Denis S. Soldatov aka General-Beck
1ac002ec4d Update gitlab-ci
rename stages
2016-11-04 15:51:35 +07:00
Denis S. Soldatov aka General-Beck
27472dfe44 Update gitlab-ci
fix lint
remove rust-beta and rust-nightly test's
add new job 'js-test' 'js-build'
2016-11-04 15:46:27 +07:00
Denis S. Soldatov aka General-Beck
38bd84257f Update gitlab-ci
change tags `rust-test` - `rust-stable` etc
add rust stable, beta, nightly test's
2016-11-04 14:29:16 +07:00
Denis S. Soldatov aka General-Beck
8575dfdea6 Update gitlab-ci
fix lint error in gitlab-ci.yml
2016-11-04 14:01:13 +07:00
Denis S. Soldatov aka General-Beck
72a1db8d01 Update gilab-ci
1. Builds only  beta, stable, tags
2. test script for check js changes in `test-linux`
3. `js-test` and `js-release` only for jg* ng* ui* brances
2016-11-04 13:59:48 +07:00
GitLab Build Bot
a892fcd723 [ci skip] js-precompiled 20161104-063713 2016-11-04 06:38:42 +00:00
Administrator
065f3644b9 Update build-server.js 2016-11-04 07:35:42 +01:00
GitLab Build Bot
e267405893 [ci skip] js-precompiled 20161104-054932 2016-11-04 05:50:39 +00:00
Administrator
8dd3d628c6 Update .gitlab-ci.yml 2016-11-04 06:49:21 +01:00
Administrator
331b1be715 Update .gitlab-ci.yml 2016-11-04 06:45:26 +01:00
GitLab Build Bot
4f548952db [ci skip] js-precompiled 20161104-033042 2016-11-04 03:31:46 +00:00
Administrator
a1f6b86945 Update .gitlab-ci.yml 2016-11-04 04:25:48 +01:00
GitLab Build Bot
471bdf7c22 [ci skip] js-precompiled 20161103-235828 2016-11-03 23:59:34 +00:00
Jaco Greeff
71512cf90d Linux build case sensitivity fix (#3161) 2016-11-04 00:35:07 +01:00
Arkadiy Paronyan
e8b2635545 Version=beta (#3157) 2016-11-04 00:24:36 +01:00
GitLab Build Bot
084492e71e [ci skip] js-precompiled 20161103-215018 2016-11-03 21:51:28 +00:00
GitLab Build Bot
3aba31114c [ci skip] js-precompiled 20161103-213602 2016-11-03 21:37:24 +00:00
Jannis Redmann
c79e3286ca abbreviated enode, CopyToClipboard component (#3131)
* show abbreviated enode

* CopyToClipboard component

* CopyToClipboard: improved styling

* put CopyToClipboard into enode status

* Rename CopyToClipboard.js to copyToClipboard.js
2016-11-03 22:22:53 +01:00
Gav Wood
d3de475205 EIPs 155, 160, 161 (#2976)
* The front-end for each hard-fork, also EIP-160.

* Address EIP161 a/c

* Include EIP-161b

* EIP-161 part d.

* Fix test build.

* Fix one test, add another.

* Fix use of bloom & renaming.

* Initial groundwork for EIP-155

* Fix minor bug.

* Fix all tests finally.

* Rest of EIP-155.

* Add tests for EIP-155 algorithm.

Update transaction tests validation.

* Minor reformat.

* Address grumbles.

* Remove unused code.

* Fix SUICIDE gas mechanism and add consensus tests.

* Remove commented code.

* Set Frontier hardfork block number

* Fix warning.

* Transaction tests,
2016-11-03 22:22:25 +01:00
GitLab Build Bot
7e592e5389 [ci skip] js-precompiled 20161103-202525 2016-11-03 20:26:28 +00:00
keorn
0c2cfc9b6e Fix histogram (#3150)
* fix histogram

* remove outdated comment
2016-11-03 21:15:27 +01:00
GitLab Build Bot
f32c6af6c4 [ci skip] js-precompiled 20161103-194213 2016-11-03 19:43:20 +00:00
GitLab Build Bot
b447d69b88 [ci skip] js-precompiled 20161103-192710 2016-11-03 19:28:14 +00:00
Jaco Greeff
2f665ba115 Remove network label from TabBar (#3142) 2016-11-03 20:17:59 +01:00
Jaco Greeff
34e3c1e0c2 Speed up unresponsive Contract events & Account transactions (#3145)
* Don't load method via redux

* Don't redux fetchTransaction (contracts)

* Move isTest to top-level passing

* transaction list with local blocks/transactions

* Combine calls (allows future chunking)

* Progressive loading of transactions

* Cleanups

* Never try tracing
2016-11-03 20:08:35 +01:00
GitLab Build Bot
29c8350bf2 [ci skip] js-precompiled 20161103-190201 2016-11-03 19:03:12 +00:00
Arkadiy Paronyan
d1b9aa7d73 Better shortcut (#3147) 2016-11-03 20:01:03 +01:00
keorn
12125dcfee Merge branch 'master' into auth-round 2016-11-03 16:51:38 +00:00
GitLab Build Bot
3cb355d06a [ci skip] js-precompiled 20161103-160437 2016-11-03 16:05:42 +00:00
GitLab Build Bot
03bb226947 [ci skip] js-precompiled 20161103-155801 2016-11-03 15:59:10 +00:00
GitLab Build Bot
98af662056 [ci skip] js-precompiled 20161103-154219 2016-11-03 15:43:26 +00:00
Tomasz Drwięga
2bd4f7182e Redirecting to the same address the request came. (#3133) 2016-11-03 16:12:46 +01:00
Arkadiy Paronyan
3413989c8a Fixed peer ping timeout (#3137) 2016-11-03 16:12:25 +01:00
Arkadiy Paronyan
8f4bd3590a Fix windows build (#3125) 2016-11-03 16:11:08 +01:00
Jaco Greeff
7a804d8b01 Fix AddessInput icon position (#3132) 2016-11-03 16:10:40 +01:00
GitLab Build Bot
5bd9814470 [ci skip] js-precompiled 20161103-142158 2016-11-03 14:23:04 +00:00
Nicolas Gotchac
1481ed2dcb Fixed not scrollable accounts (#3128) 2016-11-03 15:20:40 +01:00
GitLab Build Bot
0affd61ebc [ci skip] js-precompiled 20161103-130130 2016-11-03 13:02:39 +00:00
Denis S. Soldatov aka General-Beck
2ed237a6d2 Update gitlab-ci
Optimize build's
1. remove arm* from master
2. `js-pack` + `js-test` + `js-lint`
2016-11-03 19:19:13 +07:00
GitLab Build Bot
b2b8d78bcc [ci skip] js-precompiled 20161103-121148 2016-11-03 12:13:11 +00:00
GitLab Build Bot
c2adce4a5c [ci skip] js-precompiled 20161103-120015 2016-11-03 12:01:36 +00:00
Tomasz Drwięga
e9cd2f4d56 Returning cache headers for network content (#3123) 2016-11-03 12:40:53 +01:00
Jaco Greeff
3a1f3c0a80 Optimise contract events display (#3120)
* Adjust to last 25 events

* Adjust event address widths

* Slight column size adjustment
2016-11-03 12:23:53 +01:00
Jaco Greeff
e4fcf4da2b Add basic validation for contract execute values (#3118) 2016-11-03 12:23:25 +01:00
Tomasz Drwięga
e251fd49a1 Dapps errors embeddable on signer (#3115) 2016-11-03 12:22:28 +01:00
Nicolas Gotchac
d99f1b517c Use enode RPC in UI (#3108)
* add enode rpc

* spaces -> tabs

* Added Enode to JSAPI // Use it to display in Status (#3106)

* Added enode to JSON RPC Interfaces #3108
2016-11-03 12:04:25 +01:00
Arkadiy Paronyan
d101cb5247 Windows tray app (#3103)
* Check if already running in ui command

* Windows tray app

* Upadted CI scripts
2016-11-03 12:00:39 +01:00
Tomasz Drwięga
7fb39d1511 Displaying errors on stderr (#3116) 2016-11-03 12:00:26 +01:00
Jannis Redmann
5ae737f307 new InputAddressSelect component (#3071)
* basic address autocomplete

* validate input, propagate changes

* show IdentityIcon in menu

* show IdentityIcon next to input

* refactoring, better variable names, linting

* show default IdentityIcon if search by name

* port #3065 over

* show accounts in the beginning

* show accounts before contacts

* filter deleted accounts

* UX improvements

- limit number of search results shown
- hint text

* only render identity icon if valid address

* UX improvements

- align IdentityIcon
- better hint text

* align label & error with other inputs

This probably needs to be changed soon again. Therefore this ugly hack has been put in place.

* Align component with coding style for app

* Use standard/tested AddressAutocmplete (WIP)

* Address selection & inputs operational

* Update TODOs, remove unused CSS

* only handle input changes when editing

* Simplify

* Cleanup unused modules

* Add contracts to address search

* Updates Address Selector to handle valid input address #3071

* Added Address Selector to contracts read queries
2016-11-03 11:57:43 +01:00
Arkadiy Paronyan
0f9451efe8 Bump mio (#3117) 2016-11-03 11:52:44 +01:00
GitLab Build Bot
d7eeda3341 [ci skip] js-precompiled 20161103-073434 2016-11-03 07:35:41 +00:00
Gav Wood
f9a389c4b6 Minor typo fixed. (#3110) 2016-11-03 08:22:35 +01:00
GitLab Build Bot
0dd9b2a2f1 [ci skip] js-precompiled 20161102-223654 2016-11-02 22:37:59 +00:00
Nicolas Gotchac
391f408653 Sort by ETH balance and contract by date (#3107)
* Added timestamps to contract creation // Sort by date (#3070)

* Added sort by ETH balance (#3070)

* Added timestamp meta to accounts / addresses entry creations (#3107)
2016-11-02 23:09:00 +01:00
GitLab Build Bot
6098f008ce [ci skip] js-precompiled 20161102-220144 2016-11-02 22:03:03 +00:00
keorn
36d17d5c28 Add RPC enode lookup (#3096)
* add enode rpc

* spaces -> tabs
2016-11-02 19:43:21 +01:00
Tomasz Drwięga
cf8f27ce0f Initializing logger for each command (#3090)
* Initializing logger for each command

* Single logger setup

* Whitespace [ci:skip]
2016-11-02 19:42:21 +01:00
keorn
045a65c99c Merge remote-tracking branch 'auth/auth-round-no-mocknet' into auth-round 2016-11-02 17:43:54 +00:00
keorn
00a3619392 header methods 2016-11-02 17:42:56 +00:00
keorn
b2a3851972 Merge remote-tracking branch 'auth/auth-round-no-mocknet' into auth-round 2016-11-02 17:22:41 +00:00
Jaco Greeff
b3d502ba78 Allow registration of content bundles in GitHubHint (#3094)
* Clear woner & error on success

* WIP buttons

* Selection bar

* Sanitize GitHub urls

* Complete hint registration

* button-row icons

* PR comments, url check & validation TODO

* PR comments, TODO for validation to show intent
2016-11-02 18:16:50 +01:00
Nicolas Gotchac
e4c75bde4c Add read-only inputs to UI plus Copy to Clipboard buttons (#3095)
* Adds readOnly prop to Input, convert disabled props to it (#3066)

* WIP

* Adds copy icon to readOnly Input (#3009)

* Added Copy to Clipboard buttons on the UI (#3009)

* copiable to allowCopy props #3095

* Padded copy icons (#3095)

* Fixed password width in account creation

* Copyable value in MethodDecoding
2016-11-02 17:25:34 +01:00
Jaco Greeff
f3d4aa43f3 Allow boolean dropdowns for contract deploy (#3077)
* Allow boolean dropdowns for contract deploy

* Be explicit in deployment types

* Extra line as per PR comments
2016-11-02 17:25:21 +01:00
Gav Wood
9b1f67b2dd Add mac installer files (#2995)
* Add mac installer files.

* Add shortcut for Applications.

* Rework installer to run under user.

* Fix up script further.

* Add App stub

* Introduce better information.
2016-11-02 17:03:21 +01:00
keorn
03c9760de2 Merge remote-tracking branch 'parity/master' into auth-round-no-mocknet 2016-11-02 13:01:31 +00:00
GitLab Build Bot
0e8e2d7245 [ci skip] js-precompiled 20161102-125818 2016-11-02 12:59:29 +00:00
GitLab Build Bot
79ab756e96 [ci skip] js-precompiled 20161102-122506 2016-11-02 12:26:17 +00:00
keorn
26155f51d5 proper calculation of remaining step time 2016-11-02 12:13:47 +00:00
keorn
da3253133c ignore block timeout when sealing internally 2016-11-02 12:13:12 +00:00
Nicolas Gotchac
ed89e1efab Fixing dapps sorting (#3086)
* Fixing dapps sorting (#3076)

* PR Grumble

* PR Grumble #2
2016-11-02 12:58:03 +01:00
GitLab Build Bot
feffe59fd4 [ci skip] js-precompiled 20161102-115346 2016-11-02 11:54:58 +00:00
The Gitter Badger
5fff63a085 Add Gitter badge (#3092) 2016-11-02 12:18:56 +01:00
Nicolas Gotchac
27ce6659d3 Fixes webpack HTML loader (#3089) 2016-11-02 12:08:22 +01:00
GitLab Build Bot
f4863c12b7 [ci skip] js-precompiled 20161102-110620 2016-11-02 11:07:27 +00:00
Tomasz Drwięga
f7b7a3a1c5 Redirecting /home to new UI (#3084) 2016-11-02 11:29:18 +01:00
Jaco Greeff
d47c6db713 Allow owner to update content url (#3083) 2016-11-02 11:28:23 +01:00
Jaco Greeff
5336f65cf5 Remove assets moved to ethcore/dapps-assets (#3082) 2016-11-02 11:28:04 +01:00
Jaco Greeff
0912160220 Goodbye Gavcoin, Hello Gavcoin (#3080) 2016-11-02 11:27:47 +01:00
Jaco Greeff
274b109f3f Load network dapps (#3078)
* Initial load of network apps

* Load network dapps

* Cleanups

* Update

* Updated

* Fix builtin apps loading
2016-11-02 11:27:28 +01:00
GitLab Build Bot
bd1bfd01bc [ci skip] js-precompiled 20161101-231432 2016-11-01 23:15:40 +00:00
GitLab Build Bot
dffa06d18f [ci skip] js-precompiled 20161101-224217 2016-11-01 22:43:26 +00:00
GitLab Build Bot
dc66778097 [ci skip] js-precompiled 20161101-220850 2016-11-01 22:10:05 +00:00
Jaco Greeff
eeee017f4f Swap account phrase to normal input (non-multiline) (#3060) 2016-11-01 22:45:20 +01:00
Gav Wood
94e3a98524 Fix minor type in informant (#3056) 2016-11-01 22:44:24 +01:00
Jaco Greeff
efbbe507ee Warp sync status display (#3045)
* Warp sync status display

* Add BlockStatus component (re-usable)
2016-11-01 22:43:22 +01:00
GitLab Build Bot
e6a486b647 [ci skip] js-precompiled 20161101-203737 2016-11-01 20:38:43 +00:00
GitLab Build Bot
5dfd834c12 [ci skip] js-precompiled 20161101-200259 2016-11-01 20:04:05 +00:00
Nicolas Gotchac
bb120ece59 Enhance address input (#3065)
* Don't show identity icon when invalid address / add 0x on valid (#3057)

* Removed unused `isEmpty`
2016-11-01 20:41:16 +01:00
Nicolas Gotchac
183b54af84 Go to Accounts Page if Tooltips are displayed (#3054) (#3063) 2016-11-01 20:37:00 +01:00
keorn
3a6b56e99c check double signing, tracing 2016-11-01 18:12:06 +00:00
GitLab Build Bot
d0d8cde0a5 [ci skip] js-precompiled 20161101-181028 2016-11-01 18:11:48 +00:00
keorn
a33e2f2e0d fix deadlock after merge 2016-11-01 17:52:52 +00:00
Jaco Greeff
314eb59081 Change contract Execute bool values & query bool value display (#3024)
* Allow for boolean value selection

* Updated

* Explicitly display bool as true/false (string)

* Really fix boolean display
2016-11-01 18:42:36 +01:00
Jaco Greeff
556827400c Update Parity logo (#3036)
* Add new parity logos

* FirstRun logo

* Tabbar logo

* Remove duplicated block image

* Parity favicons

* Remove images to be replaced

* Paritybar logo

* Add favicon

* Adding HTML Loader for Webpack for image linking
2016-11-01 18:12:40 +01:00
GitLab Build Bot
57c00066c1 [ci skip] js-precompiled 20161101-171004 2016-11-01 17:11:17 +00:00
Jannis Redmann
145a88d401 settings: replace background patterns (inline) (#3047)
* replace generated background patterns

* move button to overview section

* keep selected background

* show current background pattern
2016-11-01 18:05:10 +01:00
Nicolas Gotchac
6fc89f69c1 Multiple line description for dapps and Masonry like layout (#2905) (#3058) 2016-11-01 17:47:02 +01:00
Nicolas Gotchac
9e7313afc8 Proper order for status logs (#3055) (#3062) 2016-11-01 17:44:59 +01:00
GitLab Build Bot
a02a8d3a17 [ci skip] js-precompiled 20161101-160426 2016-11-01 16:05:25 +00:00
Denis S. Soldatov aka General-Beck
14094a09b3 Update gitlab-ci
skip darwin and windows tests
2016-11-01 22:39:48 +07:00
GitLab Build Bot
7f92b50f95 [ci skip] js-precompiled 20161101-142007 2016-11-01 14:21:15 +00:00
Nicolas Gotchac
84ca3d7a7d Graphical gas price selection (#2898)
* Added gasPriceStatistics

* WIP graph fas price stats (#2142)

* Chart to select gas price in Extra Tx (#2142)

* Gas Selection UI

* Gas Price Selection: better UI (right octiles, point on graph) (#2142)

* Gas Price Selection chart update using D3 (#2142)

* Working UI, more fluid... (#2142)

* Using the new gasPriceHistogram Call: display histogram (#2142)

* Code Clean

* Updated gas Selection explaination

* PR grumble // Gas Price Selector (#2898)

* Fixing linting issues
2016-11-01 15:04:51 +01:00
GitLab Build Bot
3b6c969398 [ci skip] js-precompiled 20161101-140045 2016-11-01 14:01:50 +00:00
Nicolas Gotchac
297a09399d [Registry dApp] Actions not available before selecting accounts (#3032)
* Removed hasAccount from actions, now in Application [RegDapp] (#2931)

* Linting issues
2016-11-01 14:40:50 +01:00
Robert Habermeier
19d5f93745 Merge pull request #3020 from ethcore/fix-old-migrations
apply post-consolidation migrations after consolidating
2016-11-01 14:32:23 +01:00
GitLab Build Bot
03a2d46e8a [ci skip] js-precompiled 20161101-132539 2016-11-01 13:26:56 +00:00
Jannis Redmann
09c42973f1 fix chain badge padding (#3046) 2016-11-01 14:10:17 +01:00
GitLab Build Bot
65db6c80b7 [ci skip] js-precompiled 20161101-130412 2016-11-01 13:05:11 +00:00
Nicolas Gotchac
ff04c622f3 Fixes tab on Chip Input (#3022) (#3044) 2016-11-01 13:51:02 +01:00
GitLab Build Bot
4d4b124efd [ci skip] js-precompiled 20161101-105638 2016-11-01 10:57:40 +00:00
GitLab Build Bot
c938114580 [ci skip] js-precompiled 20161101-104257 2016-11-01 10:43:57 +00:00
Tomasz Drwięga
8c1f8700ec Fixing last hashes for ethcall (#3043) 2016-11-01 11:24:46 +01:00
Jaco Greeff
71662bb219 Remove signer icons (#3039)
* Remove signer icons

* Linting fixes
2016-11-01 11:11:20 +01:00
Robert Habermeier
42010acd68 execute periodic snapshot in new thread (#3029)
to ensure that the I/O worker isn't stalled.
2016-11-01 11:09:46 +01:00
GitLab Build Bot
cb3bb2469d [ci skip] js-precompiled 20161101-062958 2016-11-01 06:31:01 +00:00
Denis S. Soldatov aka General-Beck
1dc97c7bac Update gitlab-ci
allow_failure: true -> windows test
2016-11-01 13:18:29 +07:00
GitLab Build Bot
28e4f93d32 [ci skip] js-precompiled 20161101-052312 2016-11-01 05:24:13 +00:00
Denis S. Soldatov aka General-Beck
975c01b43a Update gitlab-ci
replace stage: test to build
2016-11-01 12:09:21 +07:00
GitLab Build Bot
c553c3c94b [ci skip] js-precompiled 20161101-042855 2016-11-01 04:29:59 +00:00
Denis S. Soldatov aka General-Beck
92752f13c6 Update gitlab-ci
fix windows test
2016-11-01 11:13:27 +07:00
GitLab Build Bot
38160c05bb [ci skip] js-precompiled 20161031-224932 2016-10-31 22:50:31 +00:00
Jannis Redmann
93400810db fix background of embedded signer (#3026) 2016-10-31 23:37:12 +01:00
Jannis Redmann
e024afacf3 registry dapp: fix reducer (#3028) 2016-10-31 23:28:49 +01:00
Nicolas Gotchac
b8bcb8e622 Replace Execute by Query in contract button (#3015) (#3031) 2016-10-31 23:28:26 +01:00
Nicolas Gotchac
d29de96a59 Fixing GavCoin dApp overflow issues (#2953) (#3030) 2016-10-31 23:25:25 +01:00
Jannis Redmann
55cdc7c265 execute contract function: validate address (#3013)
* execute contract fn: validate address

* forgot import

* execute contract fn: set value
2016-10-31 23:24:12 +01:00
Jaco Greeff
381af547fa Align tag inputs with other input boxes (#2965)
* Wrap tag input component

* Postcss nested selectors

* Chips has same size as in ui

* Input matches with sizes/paddings of others

* Adjust colours, move hint text

* Added ChipInput from search in wrapper

* Using InputChip Wrapper in search (#2965)
2016-10-31 23:22:22 +01:00
GitLab Build Bot
04432b2766 [ci skip] js-precompiled 20161031-194842 2016-10-31 19:49:41 +00:00
GitLab Build Bot
714cb22f89 [ci skip] js-precompiled 20161031-192549 2016-10-31 19:27:04 +00:00
Arkadiy Paronyan
2e70abdc40 Sweep panickers from IO and network (#3018)
* Sweep panickers from IO and network

* Typo and logging
2016-10-31 19:58:47 +01:00
Denis S. Soldatov aka General-Beck
60df9857ce Update gitlab-ci
Reorganize build queue
windows test
2016-11-01 01:51:29 +07:00
Jaco Greeff
f8a38a8a1e Terms & Conditions (#3019) 2016-10-31 19:05:39 +01:00
Robert Habermeier
5d41d38dff open column families after reparing db corruption (#3017) 2016-10-31 18:21:44 +01:00
Robert Habermeier
8599a11a0b Snapshot sync and block gap info in eth_syncing (#2948)
* provide snapshot sync info in eth_syncing

* specify block gap in eth_syncing

* Extend eth_syncing with warp, format the output properly

* adjust serialization tests for sync info

* whitespace
2016-10-31 17:32:53 +01:00
Tomasz Drwięga
ff90fac125 Moving personal_ to autoargs (#3000) 2016-10-31 17:11:56 +01:00
Gav Wood
547871f933 RPCs for mode change (#3002)
* Allow warnings.

* Add RPCs to allow ad-hoc mode changes.

* Add the JSAPI interfaces

* Add missing file.
2016-10-31 16:58:35 +01:00
Gav Wood
54a408fd88 Fix a test sensitive to slow execution. (#3014) 2016-10-31 16:55:30 +01:00
Robert Habermeier
0139dfcc39 apply post-consolidation migrations after consolidating 2016-10-31 16:18:20 +01:00
Nicolas Gotchac
8c24e64a5e Fixes search filtering issues (#2966) (#3011) 2016-10-31 15:00:23 +01:00
Arkadiy Paronyan
b7bebdbc75 Restart sync if no more peers with snapshots (#3007) 2016-10-31 14:59:41 +01:00
Jaco Greeff
10fcf7f051 Allow empty input arrays for ABIs (#3001) 2016-10-31 14:59:02 +01:00
Jaco Greeff
ea784d7419 Allow operation when no registry is available (#2980)
* Allow retrieval of native network balances without registry

* Remove debugging address

* Disable dapps when no registry is available
2016-10-31 14:24:33 +01:00
GitLab Build Bot
1255105490 [ci skip] js-precompiled 20161031-124811 2016-10-31 12:49:10 +00:00
GitLab Build Bot
b9f055677f [ci skip] js-precompiled 20161031-123449 2016-10-31 12:36:00 +00:00
GitLab Build Bot
180f16af7c [ci skip] js-precompiled 20161031-122556 2016-10-31 12:27:03 +00:00
Jaco Greeff
346fe0b509 Make JS lint & test run on Travis (#2894)
* Make JS lint & test run on Travis

* Update node version required

* 6, any latest node 6

* Travis node_version

* query node & npm versions

* last attempt, use nvm directly
2016-10-31 13:00:02 +01:00
Jaco Greeff
d086251e89 Update account dropdowns (#2959)
* Simplify & consolidate address items

* Adjust dropdown background
2016-10-31 12:58:25 +01:00
keorn
7af20a5db0 Modify gas price statistics (#2947)
* gas price distribution + median + tests

* put histogram in util

* use the util histogram

* remove the default gas price implementation

* histogram rpc

* fix empty corpus

* Add JS ethcore_gasPriceHistogram

* Fix typo (s/types/type/) & subsequent failing test

* Fix return type & formatting

* bucketBounds

* Add jsapi e2e test verification
2016-10-31 12:57:48 +01:00
Nicolas Gotchac
8bf577e0fe Fixes pending/mined transactions in registry dApp (#3004)
* Fixing React Errors

* Fixes pending and mined events in Registry dApp (#2930)

* PR grumbles (#2930)
2016-10-31 12:56:53 +01:00
Arkadiy Paronyan
568a18d8bd Prevent connecting to self (#2997) 2016-10-31 12:54:50 +01:00
GitLab Build Bot
455059f6b1 [ci skip] js-precompiled 20161031-093746 2016-10-31 09:38:45 +00:00
Gav Wood
477dbf36f5 Disable verbose in gitlab CI (#2999)
* Allow warnings.

* Disable verbose.
2016-10-31 10:36:30 +01:00
GitLab Build Bot
c2c7585619 [ci skip] js-precompiled 20161031-090648 2016-10-31 09:07:51 +00:00
Gav Wood
f5f3edf239 Allow warnings. (#2998)
Allow warnings in gitlab
2016-10-31 09:55:24 +01:00
GitLab Build Bot
921fde43a7 [ci skip] js-precompiled 20161031-084918 2016-10-31 08:50:17 +00:00
Denis S. Soldatov aka General-Beck
ce20b226a5 Update gitlab-ci 2016-10-31 15:47:47 +07:00
GitLab Build Bot
0ff5b18bcb [ci skip] js-precompiled 20161031-071713 2016-10-31 07:18:12 +00:00
Denis S. Soldatov aka General-Beck
f4332933e9 Update gilab-ci
add --no-release test option
RUSTFLAGS="-D warnings"
2016-10-31 14:16:06 +07:00
GitLab Build Bot
aa4b124005 [ci skip] js-precompiled 20161031-053203 2016-10-31 05:33:10 +00:00
Gav Wood
29cdfa9061 Fix the brainwallet functionality. (#2994) 2016-10-31 00:01:23 +01:00
keorn
fc4664ab12 Merge branch 'master' into auth-round-no-mocknet 2016-10-30 21:18:52 +00:00
keorn
37ca1fa497 Merge remote-tracking branch 'parity/master' 2016-10-30 20:45:28 +00:00
Jaco Greeff
6da02e0a7a s/Used/Provided/ gas (#2993) 2016-10-30 20:38:07 +01:00
GitLab Build Bot
3e8900db3e [ci skip] js-precompiled 20161030-164930 2016-10-30 16:50:29 +00:00
Arkadiy Paronyan
cf027d74f9 Print messages to stderr (#2991) 2016-10-30 17:48:36 +01:00
GitLab Build Bot
6b85d58ae7 [ci skip] js-precompiled 20161030-144119 2016-10-30 14:42:20 +00:00
Arkadiy Paronyan
6931878ff1 Networking and syncing tweaks (#2990)
* Reduce periodic snapshot delay

* Prevent connecting to peers over the min_peers limit

* Smaller block requests for slower connections
2016-10-30 15:39:36 +01:00
GitLab Build Bot
d3a2f7dce9 [ci skip] js-precompiled 20161030-120641 2016-10-30 12:07:40 +00:00
Arkadiy Paronyan
43f40d37f6 Allow build warnings (#2985) 2016-10-30 13:05:33 +01:00
GitLab Build Bot
0b835323b9 [ci skip] js-precompiled 20161030-113341 2016-10-30 11:34:48 +00:00
Jaco Greeff
10a6e95d8a Display network status for finished Signer requests (#2983)
* Display confirmation for finished requests

* Update box padding
2016-10-30 12:20:52 +01:00
Arkadiy Paronyan
4ded10fcbe Fixed transaction propagation (#2984) 2016-10-30 12:19:20 +01:00
GitLab Build Bot
0189481ee6 [ci skip] js-precompiled 20161030-090922 2016-10-30 09:10:18 +00:00
Arkadiy Paronyan
bccc56b6b0 mio version bump (#2982) 2016-10-30 09:56:34 +01:00
Jaco Greeff
70f87ea002 Publish parity.js to npmjs registry (#2978)
* Skeleton packages

* Publish parity.js package to npm

* [ci skip] js-precompiled 20161029-190427

* Extra step information

* [ci skip] js-precompiled 20161029-192209

* Use autToken for npmjs (cannot run headless in docker)

* [ci skip] js-precompiled 20161029-193414

* Correct package.json structure

* [ci skip] js-precompiled 20161029-194003

* Scope package to public

* [ci skip] js-precompiled 20161029-194529

* Start package version at 0.1.0

* Build proper umd library

* [ci skip] js-precompiled 20161029-231233

* Update build/release stage

* [ci skip] js-precompiled 20161030-071454

* Basic README.md to satisfy npmjs

* [ci skip] js-precompiled 20161030-073150

* CommonJs format

* [ci skip] js-precompiled 20161030-075034

* Update README.md

* update dependencies

* [ci skip] js-precompiled 20161030-075727

* Starting package version

* Build only on master
2016-10-30 09:55:46 +01:00
Jaco Greeff
acaa40e221 Import raw private key (#2945)
* Initial selection screen

* UI in-place

* Make actual import API calls

* Simplify value checking logic
2016-10-30 09:54:21 +01:00
GitLab Build Bot
3002219250 [ci skip] js-precompiled 20161030-083815 2016-10-30 08:39:09 +00:00
Jannis Redmann
86c0dbeedc refactor etherscan.io links (#2896)
* use proper querystring builder

* etherscan.txLink helper

* refactor to etherscan.txLink

* etherscan.addressLink helper

* refactor to etherscan.addressLink

* move txLink & addressLink into common file
2016-10-30 09:37:15 +01:00
GitLab Build Bot
222b2b70ea [ci skip] js-precompiled 20161029-192902 2016-10-29 19:29:59 +00:00
Arkadiy Paronyan
8796574e5a Use separate lock for code cache (#2977) 2016-10-29 21:27:53 +02:00
GitLab Build Bot
5a8cee9557 [ci skip] js-precompiled 20161029-185701 2016-10-29 18:57:56 +00:00
arkpar
ffb9cc7b18 Fixed build 2016-10-29 20:41:07 +02:00
Jaco Greeff
e304a2f3fe Add favicon (#2974)
* Add favicon.ico

* Add favicon to all html pages

* Cleanup favicon background
2016-10-29 19:06:33 +02:00
GitLab Build Bot
c24ac577fb [ci skip] js-precompiled 20161029-160033 2016-10-29 16:01:29 +00:00
arkpar
fca545ce98 Removed junk file 2016-10-29 17:59:27 +02:00
GitLab Build Bot
e2b82e1e37 [ci skip] js-precompiled 20161029-154241 2016-10-29 15:44:04 +00:00
Jaco Greeff
4d1cfd6706 Align password change dialog with create (#2970) 2016-10-29 17:39:08 +02:00
Arkadiy Paronyan
c342fa3035 WS bump (#2973) 2016-10-29 17:38:50 +02:00
Arkadiy Paronyan
99d6d87e78 Discovery performance optimization (#2972) 2016-10-29 17:38:34 +02:00
GitLab Build Bot
3a6c1c377c [ci skip] js-precompiled 20161029-133354 2016-10-29 13:34:58 +00:00
Jaco Greeff
49a7b84f14 Pass gas & gasPrice to token transfers (#2964) 2016-10-29 15:32:10 +02:00
Tomasz Drwięga
144930f12c Updating ws-rs (#2962) 2016-10-29 15:31:13 +02:00
GitLab Build Bot
fe02f93e4c [ci skip] js-precompiled 20161029-114119 2016-10-29 11:42:16 +00:00
GitLab Build Bot
598679000c [ci skip] js-precompiled 20161029-112814 2016-10-29 11:29:09 +00:00
GitLab Build Bot
1a258fc0a7 [ci skip] js-precompiled 20161029-112006 2016-10-29 11:21:07 +00:00
Robert Habermeier
227bf4b8c5 Run cargo with verbose flag when testing (#2943)
* Run cargo with verbose flag when testing

* use full verbose flag
2016-10-29 13:09:16 +02:00
Tomasz Drwięga
f17cad9dff Fixing clippy warnings 2 (#2961) 2016-10-29 13:08:49 +02:00
Arkadiy Paronyan
9e82eeccfe Snapshot sync improvements (#2960)
* Status packet timeout

* Snapshot collection state

* Pause snapshot download

* Updated tests
2016-10-29 13:07:06 +02:00
GitLab Build Bot
290ed3343f [ci skip] js-precompiled 20161029-110604 2016-10-29 11:06:59 +00:00
Jaco Greeff
65c985bef3 Gavcoin event display updates (#2956)
* Mapp all known addresses

* Display timestamp in event log

* Shorten addresses

* Display "Pending" timestamps as well

* Pending/Loading with empty timestamp
2016-10-29 13:04:47 +02:00
GitLab Build Bot
e1cf6f7dd0 [ci skip] js-precompiled 20161029-075744 2016-10-29 07:58:45 +00:00
Jaco Greeff
c61526f8d5 Eslint fixes (package upgrade) (#2957) 2016-10-29 09:55:55 +02:00
GitLab Build Bot
3e3230aa34 [ci skip] js-precompiled 20161028-184917 2016-10-28 18:50:17 +00:00
Denis S. Soldatov aka General-Beck
40d794ddfd Update gitlab-ci 2016-10-29 01:47:05 +07:00
keorn
7976f46231 Merge branch 'master' into auth-round-no-mocknet 2016-10-28 17:53:23 +01:00
keorn
63cc5c0e60 Merge remote-tracking branch 'parity/master' 2016-10-28 17:52:48 +01:00
GitLab Build Bot
8cd66f14d5 [ci skip] js-precompiled 20161028-160553 2016-10-28 16:06:51 +00:00
Denis S. Soldatov aka General-Beck
1094dfbe6b Update gitlab-ci
add darwin and windows tests
2016-10-28 23:04:00 +07:00
GitLab Build Bot
ef0ed5833a [ci skip] js-precompiled 20161028-155009 2016-10-28 15:51:18 +00:00
Jaco Greeff
8d66fc50e2 Add import of raw private key RPCs (#2942)
* Importing an account from raw secret

* Add jsapi & jsonrpc for personal_newAccountFromSecret
2016-10-28 16:46:25 +02:00
Jaco Greeff
6abd08f5b2 Bring in styling queues from original Gavcoin (#2936)
* Bring in styling queues from original

* NewTranch background colour update
2016-10-28 16:46:11 +02:00
Tomasz Drwięga
0f0334275e Validating minimal required gas for a transaction (#2937)
* Validating minimal required gas for a transaction

* Adding RPC case and note

* Fixing whitespace [ci skip]
2016-10-28 16:42:24 +02:00
Robert Habermeier
2806f1d4c9 Even more snapshot validity checks (#2935)
* clarify "cancelled periodic snapshot" message

* more rigorous checks for snapshot validity

* verify ancient blocks on import

* limit number of fed blocks

* make it possible to feed snapshot service canonical hashes

* fix failing test build

* swap ethash DAG only when more recent
2016-10-28 16:10:30 +02:00
Robert Habermeier
29ab4ecac1 Shared code cache (#2921)
* add a global code cache

* extract memory-limited lru cache to util

* use memory-limited code cache

* account for code cache size in mem_used
2016-10-28 16:04:44 +02:00
Tomasz Drwięga
956a059a06 Updating bootnodes for ETC (#2938) 2016-10-28 16:02:23 +02:00
Arkadiy Paronyan
55efa16e42 More bootnodes (#2926) 2016-10-28 12:00:01 +02:00
GitLab Build Bot
151ec869a6 [ci skip] js-precompiled 20161027-204107 2016-10-27 22:41:22 +02:00
Jaco Greeff
908e563f18 Revert hash updates until testable (#2925)
* Revert hash updates until testable

* Re-add hash to echo (debug info)
2016-10-27 22:26:47 +02:00
Jaco Greeff
a9e7f59203 Merge branch 'master' into jg-js-release-fix (#2924)
# Conflicts:
#	js/scripts/release.sh
2016-10-27 21:15:41 +02:00
Jaco Greeff
9fd8ac6a15 additional release.sh debugging info (#2922) 2016-10-27 21:05:47 +02:00
GitLab Build Bot
22af04e81d [ci skip] js-precompiled 20161027-175225 2016-10-27 17:53:23 +00:00
Jaco Greeff
a4e84c375e Pass the js-precompiled commit hash to cargo update (#2920) 2016-10-27 19:30:13 +02:00
Tomasz Drwięga
07fca24b44 Next nonce RPC (#2917) 2016-10-27 19:29:55 +02:00
Tomasz Drwięga
dedc4d5cfc Get rid of duplicated code (#2915) 2016-10-27 19:29:23 +02:00
Tomasz Drwięga
152a551e8b Transaction Queue banning (#2524)
* Blacklisting transaction queue

* Using blacklisting queue in miner

* Restoring todo [ci:skip]

* Blacklisting recipients and code

* Renaming blacklisting->banning

* CLI option for banning.

* Fixing submodule commit [ci:skip]

* Fixing RPC tests

* Additional logging when dropping transactions

* whitespace

[ci:skip]

* Configurable ban duration

* Reverting fix for pruning history from config file
2016-10-27 19:28:34 +02:00
Tomasz Drwięga
ce37b6dcb9 Revert to gas price ordering (#2919) 2016-10-27 19:27:08 +02:00
Jaco Greeff
8dff4012a6 Personal split (#2879)
* Split personal namespace into Safe and Unsafe part

* Re-add api.personal.accountsInfo() calls to dapps

* Removing listGethAccounts from safe personal
2016-10-27 19:26:34 +02:00
GitLab Build Bot
abb1da5f4b [ci skip] js-precompiled 20161027-164817 2016-10-27 16:49:18 +00:00
Denis S. Soldatov aka General-Beck
90aa2fefc2 Update gitlab-ci
fix darwin md5
2016-10-27 23:13:51 +07:00
GitLab Build Bot
bb14eea66c [ci skip] js-precompiled 20161027-150816 2016-10-27 15:09:11 +00:00
Tomasz Drwięga
8cef517788 Fixing config values for pruning_history (#2918) 2016-10-27 16:56:18 +02:00
GitLab Build Bot
7c6112e9f0 [ci skip] js-precompiled 20161027-143256 2016-10-27 14:33:50 +00:00
arkpar
6978042c16 Packet id tracing 2016-10-27 16:20:11 +02:00
Robert Habermeier
3a5843c40f skeleton and request traits 2016-10-27 15:45:59 +02:00
GitLab Build Bot
123b75179c [ci skip] js-precompiled 20161027-133941 2016-10-27 13:40:42 +00:00
Nikolay Volf
d315ec29e1 Apply pending block details on commit (#2254)
* failing test

* Cache pending details

* [ci skip] updated comment
2016-10-27 15:26:29 +02:00
Arkadiy Paronyan
3edd9e4bee Fixed GetNodeData output (#2892) 2016-10-27 15:25:54 +02:00
Robert Habermeier
a7e420d9ec stub implementation of provider for client 2016-10-27 15:09:17 +02:00
GitLab Build Bot
176dc0e945 [ci skip] js-precompiled 20161027-115054 2016-10-27 11:51:52 +00:00
Arkadiy Paronyan
bdc372462a Change sync protocol ID (#2912) 2016-10-27 13:49:44 +02:00
GitLab Build Bot
02b6d3943d [ci skip] js-precompiled 20161027-070811 2016-10-27 07:09:06 +00:00
Denis S. Soldatov aka General-Beck
3347d59042 Update gitlab-ci
add to arm*
export HOST_CC=gcc
export HOST_CXX=g++
2016-10-27 14:00:05 +07:00
GitLab Build Bot
005bdd5d07 [ci skip] js-precompiled 20161027-065456 2016-10-27 06:55:53 +00:00
Denis S. Soldatov aka General-Beck
8e6ca7fc61 Update gitlab-ci
remove armv6 from master
[ci skip]
2016-10-27 13:45:16 +07:00
Denis S. Soldatov aka General-Beck
ae46361b33 Update gitlab-ci
fix windows HOST_CC HOST_CXX -> x86_64-pc-windows-msvc
2016-10-27 13:42:09 +07:00
GitLab Build Bot
6c79decdda [ci skip] js-precompiled 20161027-062905 2016-10-27 06:30:05 +00:00
Tomasz Drwięga
88997801d0 Clippy bump (#2877)
* Bumping clippy

* Fixing warnings

* Fix the "fix"
2016-10-27 08:28:12 +02:00
GitLab Build Bot
9bfb8094cc [ci skip] js-precompiled 20161027-025520 2016-10-27 02:56:17 +00:00
Denis S. Soldatov aka General-Beck
e668fc4c55 Update gitlab-ci
fix arm* build ENV
2016-10-27 09:53:51 +07:00
GitLab Build Bot
a08b331856 [ci skip] js-precompiled 20161026-203802 2016-10-26 20:39:01 +00:00
Jaco Greeff
d72ea19e54 iconomi token images (#2906) 2016-10-26 22:25:51 +02:00
GitLab Build Bot
58b963b93d [ci skip] js-precompiled 20161026-194241 2016-10-26 19:44:08 +00:00
Nicolas Gotchac
f7259c26d1 Fixes too long desc and Token Balance Value (#2891) (#2902) 2016-10-26 21:25:03 +02:00
Denis S. Soldatov aka General-Beck
0e14738147 Update gitlab-ci
enable arm* in master branch
2016-10-27 02:12:05 +07:00
GitLab Build Bot
f58ccfb435 [ci skip] js-precompiled 20161026-165632 2016-10-26 16:57:31 +00:00
keorn
3ff26dd544 Merge branch 'master' into auth-round-no-mocknet 2016-10-26 17:50:04 +01:00
Nicolas Gotchac
6b2cffd312 Merge branch 'master' into ng-accounts-backup 2016-10-26 18:43:05 +02:00
Nicolas Gotchac
e018739ba9 Removed unused Format => Use JSON for Export 2016-10-26 18:42:52 +02:00
keorn
4ee669b77e Merge remote-tracking branch 'parity/master' 2016-10-26 16:53:30 +01:00
Jaco Greeff
e449477f23 Add mising imgages for local dapps (#2890) 2016-10-26 17:04:48 +02:00
GitLab Build Bot
215c82d744 [ci skip] js-precompiled 20161026-144207 2016-10-26 14:43:01 +00:00
Nicolas Gotchac
99fab5cdb9 Fix Webpack, again (#2895)
* Add inject to "bundle everything" list

* Fixes the `build-server` script // Updates Webpack config (#2872)

* New Webpack config file for libraries

* Added `parity-utils` path

* Removed parity in CommonChunks prod

* Fixes CI build

* Re-Add Libs in Webpack Config
2016-10-26 16:27:53 +02:00
keorn
a1745624ce enable suicide test (#2893) 2016-10-26 16:27:38 +02:00
GitLab Build Bot
6901d087dd [ci skip] js-precompiled 20161026-141507 2016-10-26 14:16:03 +00:00
Arkadiy Paronyan
f024acd329 More snapshot fixes and optimizations (#2883)
* More snapshot fixes and optimizations

* db drop
2016-10-26 16:14:13 +02:00
GitLab Build Bot
c36202fcf5 [ci skip] js-precompiled 20161026-131806 2016-10-26 13:19:04 +00:00
Nicolas Gotchac
af27bfe868 Fixes CI JS precompiled build (#2886)
* Add inject to "bundle everything" list

* Fixes the `build-server` script // Updates Webpack config (#2872)

* New Webpack config file for libraries

* Added `parity-utils` path

* Removed parity in CommonChunks prod

* Fixes CI build
2016-10-26 14:59:45 +02:00
Jannis Redmann
49d44cfccc merge #2884 from ng-empty-tag-fix
Fix empty tags modification
2016-10-26 14:57:47 +02:00
Robert Habermeier
4b82392371 merge with master 2016-10-26 14:17:13 +02:00
GitLab Build Bot
909fb1d54e [ci skip] js-precompiled 20161026-121420 2016-10-26 12:15:18 +00:00
GitLab Build Bot
cdc348d955 [ci skip] js-precompiled 20161026-120247 2016-10-26 12:03:52 +00:00
Gav Wood
c9298981f8 Fix up informant. (#2865)
Just ensure as many transactions/blocks are reported as possible.
2016-10-26 13:57:54 +02:00
Nicolas Gotchac
0441babb5f Fix empty tags modif. (#2882) 2016-10-26 13:55:41 +02:00
Arkadiy Paronyan
5b978be034 Get rid of MemoryDB denote (#2881) 2016-10-26 13:53:47 +02:00
GitLab Build Bot
436b7c213d [ci skip] js-precompiled 20161026-114541 2016-10-26 11:46:34 +00:00
Jaco Greeff
c8809b3396 Add inject to "bundle everything" list (#2871)
* Add inject to "bundle everything" list

* Fixes the `build-server` script // Updates Webpack config (#2872)

* New Webpack config file for libraries

* Added `parity-utils` path

* Removed parity in CommonChunks prod
2016-10-26 13:44:38 +02:00
GitLab Build Bot
71e973cb0b [ci skip] js-precompiled 20161026-100446 2016-10-26 10:05:40 +00:00
Nicolas Gotchac
1b0a87cdde Removed CSV Export option (#2147) 2016-10-26 11:59:25 +02:00
Nicolas Gotchac
c05430e25e Fixes signer errors throwing // MaterialUI Update errors too (#2867) (#2876) 2016-10-26 11:56:38 +02:00
GitLab Build Bot
3cd724d056 [ci skip] js-precompiled 20161026-095510 2016-10-26 09:56:14 +00:00
Nicolas Gotchac
14014dd208 Merge pull request #2878 from ethcore/jg-fix-tests
Fix failing tests after log parsing updates
2016-10-26 11:53:24 +02:00
GitLab Build Bot
e1c2cff957 fix failing tests after log parsing updates 2016-10-26 10:41:46 +02:00
GitLab Build Bot
162d1a032b [ci skip] js-precompiled 20161026-044349 2016-10-26 04:44:46 +00:00
Denis S. Soldatov aka General-Beck
d28af0a3ab Update deb-build.sh
change email
2016-10-26 11:41:54 +07:00
Denis S. Soldatov aka General-Beck
70d6ad6682 Create deb-build.sh
[ci skip]
add sh for deb build
2016-10-26 11:36:07 +07:00
GitLab Build Bot
7b7ce4a0b1 [ci skip] js-precompiled 20161026-040753 2016-10-26 04:08:54 +00:00
Denis S. Soldatov aka General-Beck
51a78d290e Update gitlab-ci
add arm* bulds
add deb packages (amd64,arm64,armhf)
2016-10-26 10:57:35 +07:00
GitLab Build Bot
20d43b9c26 [ci skip] js-precompiled 20161025-203648 2016-10-25 20:37:47 +00:00
Robert Habermeier
33748c2046 Sweep some more panics (#2848)
* purge unwraps from ethcrypto, ethstore

* sweep panics from util
2016-10-25 22:34:52 +02:00
Jaco Greeff
d1d82e787b Make GitLab js-precompiled really update Cargo.toml in main repo (#2869)
* Src outputs into build.sh

* reset detatched head

* add .dist

* testing for this branch

* update comments, be explicit is what we are doing

* [ci skip] js-precompiled 20161025-173946

* Revert "[ci skip] js-precompiled 20161025-173946"

This reverts commit 0d23f7683c6e18e4642566313963c130684afa90.

* remove testing branch

* typo
2016-10-25 22:27:13 +02:00
Nikolay Volf
014e47a50a Merge pull request #2870 from ethcore/ipc-bump-5
IPC version bump
2016-10-25 23:23:42 +03:00
NikVolf
f81787d603 ipc version bump 2016-10-25 21:28:54 +03:00
Arkadiy Paronyan
135d5d0e4c Snapshot fixes and optimizations (#2863) 2016-10-25 18:40:01 +02:00
Nicolas Gotchac
61f41cdbe2 Add exporting to CSV (#2147) 2016-10-25 18:26:47 +02:00
Nicolas Gotchac
92bdfb1234 Add Export button to Accounts (#2147) 2016-10-25 18:06:05 +02:00
Nicolas Gotchac
2d2e9c4d6e Add Check and Change Password for an Account (#2861)
* Added new RPC endpoints to JSAPI (#2389)

* Added modal in Account Page to test & modify password (#2389)

* Modify hint with password change // Better tabs (#2556)
2016-10-25 17:54:01 +02:00
Jaco Greeff
e71c752210 Output git fetch/push to log files (#2862)
* add -q options for fetch & push

* Store log in .gitignored location

* update GITLOG command location

* Remove test branch
2016-10-25 17:39:19 +02:00
GitLab Build Bot
03e2aa61e2 [ci skip] js-precompiled 20161025-153329 2016-10-25 17:33:46 +02:00
Jaco Greeff
7eacf07629 Align contract event log l&f with transactions (#2812)
* Event into own component, align with transactions

* Pass value & type through from event log params

* Reformat display columns
2016-10-25 16:02:12 +02:00
keorn
8d0cff3599 Nicer port in use errors (#2859)
* dapps port

* rpc port

* signer port

* different instance as possible cause

* network port
2016-10-25 15:55:53 +02:00
Jaco Greeff
4fc1c5f42e Remove personal_* calls from dapps (#2860)
* remove accountsInfo & listAccounts

* registry accounts selector works
2016-10-25 15:15:22 +02:00
Jaco Greeff
b6f2628018 Token sorting, zero-ETH transfer & token decimals (#2805)
* Error trapping for decimals (Fixes #2799)

* Sort tokens by tag (Closes #2789)

* PR comments

* Always display ETH

* Recalculate in all cases (traps >available)
2016-10-25 13:22:27 +02:00
Gav Wood
a6fd922ffb Don't fail badly when no transactions in last 100 blocks. (#2856) 2016-10-25 12:21:21 +02:00
Tomasz Drwięga
5ae87a64b1 Bumping ws-rs (#2851) 2016-10-25 12:12:09 +02:00
Tomasz Drwięga
1af40a3db3 Fixing UI compilation (#2853) 2016-10-25 12:11:56 +02:00
Nicolas Gotchac
037a8c7625 Removes event name in unsubscribe API + Tests (#2364) (#2844) 2016-10-25 11:43:24 +02:00
Jaco Greeff
9f6da3f829 Don't return empty names as clickable titles (#2809)
* Don't return empty names (Fixes #2786)

* add trim in validation
2016-10-25 11:43:05 +02:00
Jaco Greeff
285727e2fd Auto-bump js-precompiled on release (#2828)
* Auto-bump js-precompiled on release

* [ci skip] js-precompiled 20161022-232245

* Remove old GitLab tests

* Only move file.ext (get rid of error)

* allow add, commit & push failures (auto-bump)
2016-10-25 09:36:42 +02:00
Denis S. Soldatov aka General-Beck
cf67ed964e Update gitlab-ci
fix windows RUSTFLAGS
2016-10-25 04:54:43 +07:00
Denis S. Soldatov aka General-Beck
97cdc2b4ac Update gitlab-ci
fix RUSTFLAGS in win build
2016-10-25 04:48:38 +07:00
Denis S. Soldatov aka General-Beck
df23c9931c Update gitlab-ci
Add Global ENV RUSTFLAGS="-D warnings"
2016-10-25 03:31:22 +07:00
Robert Habermeier
0fedc27332 Remove ethcore::common re-export module (#2792)
* no longer export action_params

* remove transaction, header, receipt re-rexports from common

* remove env_info and builtins re-exports from common

* remove everything but util export from common

* replace common usages with util, remove module

* add a prelude module for ethcore-bigint
2016-10-24 18:35:25 +02:00
Arkadiy Paronyan
edbd667696 Prevent database corruption on OOM (#2832)
* Prevent database corruption on OOM

* Renamed write_flushing
2016-10-24 18:32:06 +02:00
Nicolas Gotchac
1b42e9a9af Added Export Component in Actionbar => export Addressbook (#2153) (#2847) 2016-10-24 18:27:35 +02:00
Robert Habermeier
bc81ae0407 Snapshot and blockchain stability improvements (#2843)
* allow taking snapshot from just-restored database without error

* make creation informant less spammy

* Ancestry iterator failure-resilient

* make uncle hash searching resilient to incomplete chain

* deduce pre-chunk info from last written block's details
2016-10-24 18:27:23 +02:00
Arkadiy Paronyan
1a5bae8ef1 Extended network options (#2845)
* More network configuration options

* Filter UDP requests

* Fixed tests

* Fixed test warning
2016-10-24 18:25:27 +02:00
Robert Habermeier
7f210b05bb fix failing master test build (#2846) 2016-10-24 16:38:32 +02:00
Tomasz Drwięga
16ec413508 Local dapps embeddable on signer port (#2815) 2016-10-24 16:36:15 +02:00
Nicolas Gotchac
487da9c9c6 Trigger accounts/contracts search on search input change (#2838)
* Styling Chips in search bar (#2766)

* Styling search chips // Add chip on space/comma/... (#2766)

* Update search on input (#2766)

* Fixing search triggers bugs (#2766)

* removed console logs

* Use props instead of weird CSS selectors for Search Bar

* Add tags on space and commas in EditMeta modal (#2766)

* Fixed empty input in EditMeta modal ; tokens input
2016-10-24 16:35:43 +02:00
keorn
aa05823afe Merge remote-tracking branch 'parity/master' into auth-round-no-mocknet 2016-10-24 15:32:30 +01:00
arkpar
24fa2888ab Merge branch 'master' of github.com:ethcore/parity 2016-10-24 16:31:55 +02:00
arkpar
f543108cf5 Fixed tests 2016-10-24 16:31:37 +02:00
Arkadiy Paronyan
9ec091e0cf Move snapshot sync to a subprotocol (#2820) 2016-10-24 16:24:35 +02:00
Jannis Redmann
ff347da8d3 fix node log being reversed (#2839) 2016-10-24 15:11:32 +02:00
Nicolas Gotchac
f4203a2571 Fixes currency symbol font size in Shapeshift modal (#2840)
* Fix case error in Dapps import

* Fixed big input in modal and currency symbols size (#2718)

* `em` instead of `rem`
2016-10-24 15:10:27 +02:00
Tomasz Drwięga
4ea67ff91d Disable personal APIs by default (#2834) 2016-10-24 15:10:13 +02:00
Tomasz Drwięga
a293493f93 Clear cached content (#2833) 2016-10-24 15:09:47 +02:00
Jaco Greeff
e0207b594b Add ethcore_[dapps|signer]Port APIs (#2821)
* Add ethcore_[dapps|signer]Port APIs

* typo
2016-10-24 15:09:33 +02:00
Arkadiy Paronyan
44a560e964 CLI option to skip seal check when importing (#2842) 2016-10-24 15:09:13 +02:00
Jannis Redmann
9500f2b83d merge #2837 from ng-import-case-fix
Fix case error in Dapps import
2016-10-24 13:13:39 +02:00
Jannis Redmann
a3d92857dc merge #2841 from ng-fix-address-select
Double click on address in account detail view should select it
2016-10-24 13:12:21 +02:00
Nicolas Gotchac
35925db825 Double click on address in account detail view should select it 2016-10-24 13:03:44 +02:00
Jaco Greeff
66a8d534ef Bump js-precompiled to 20161022-223915 UTC (#2826) 2016-10-24 12:28:32 +02:00
Jaco Greeff
7e84b078dd Adjust paths to handle CORS changes (#2816)
* Adjust :8080 paths for CORS & development

* No need to redirect, Node takes care of it
2016-10-24 12:21:52 +02:00
Tomasz Drwięga
e5f86c62ad Dapps port RPC (#2819) 2016-10-24 12:21:15 +02:00
Nicolas Gotchac
bd040d4cfd Fix case error in Dapps import 2016-10-24 10:28:18 +02:00
Jaco Greeff
8cf9934cab Update build to working version on repo (#2825) 2016-10-23 00:28:19 +02:00
Jaco Greeff
3637c6ad9a Adjust network name badge colours (darker) (#2823) 2016-10-22 22:29:47 +02:00
Tomasz Drwięga
aca82fb84b Removing submodule in favour of rust crate (#2756)
* Removing submodule

* Fixing UI dependency structure.

* Merging RS and JS package

* Updating release script to push also rs files

* fix merge gone wrong

* Fixing compilation
2016-10-22 20:07:12 +02:00
Tomasz Drwięga
20591e882e Return old-ish content even when syncing (#2757) 2016-10-22 20:06:30 +02:00
Jannis Redmann
bf827a758f fix Signer UI (#2750)
* fix Signer UI

* resolve conflicts
2016-10-22 19:25:30 +02:00
Jaco Greeff
cf9ad991db USG, GBP, Euro & Yuan updates (#2818) 2016-10-22 18:02:48 +02:00
Jaco Greeff
a1266fccb7 Make local apps available (Fixes #2771) (#2808) 2016-10-22 15:49:39 +02:00
Gav Wood
37a2ee98de Additional RPCs for password management (#2779)
* Add personal_testPassword and stub for personal_changePassword

* Add change-password functionality.

* Address grumble.

* Update tests.

* Update build.
2016-10-22 14:24:02 +01:00
Robert Habermeier
7bd37e3972 flush DB changes on drop (#2795) 2016-10-22 14:22:34 +01:00
Robert Habermeier
8e5c9ff162 rename State::snapshot to checkpoint to avoid confusion (#2796) 2016-10-22 14:22:16 +01:00
Tomasz Drwięga
3ff1ca81f4 Missing changes required to make new UI work (#2793)
* Getting rid of old dapps

* Updating proxypac and allowing home.parity on signer

* CORS support for API

* Fixing CORS - origin is sent with protocol

* Fixing signer with proxy

* Fixing grumbles

* Fix expect msg [ci:skip]
2016-10-22 14:21:41 +01:00
Nicolas Gotchac
9150fce2f1 Merge pull request #2810 from ethcore/jg-tx-formatting
Cleanup method decoding (Fixes #2811)
2016-10-22 10:56:45 +02:00
jacogr
82496ae525 validate meta properly 2016-10-22 10:38:48 +02:00
jacogr
8a60ed1315 empty data is allowed 2016-10-22 10:38:34 +02:00
jacogr
c312f4fb92 don't attempt to map empty types 2016-10-22 10:21:33 +02:00
jacogr
db4f1c382e format blockNumber consistently 2016-10-22 09:58:50 +02:00
Nicolas Gotchac
76cded7fa4 Use trace API for decentralized transaction list (#2784)
* Using traces when available to get accounts transactions (#2148)

* Fixed traceMode detection and transactions rendering (#2148)

* [WIP] Use Redux Thunk in main UI => Async Actions (#2148)

* Using Redux for Transaction / Block / Methods... (#2148)

* Use BigNumber comparedTo function to sort txs (#2148)
2016-10-22 09:45:54 +02:00
keorn
479657b23b Automatic compaction selection on Linux (#2785)
* add auto compaction types

* pass db paths

* detect drive type on Linux

* use base db path

* add docstring

* limit the test to be side effect free

* use base db path

* more docs

* fix parsing test

* update error

* detect only on Linux

* make test Linux only

* add second device letter, update cli doc

* use spaces in cli doc

* import only on linux

* default->auto
2016-10-21 23:21:57 +02:00
Jaco Greeff
df799362bf Update token images (#2804)
* Additional token images

* Add HKG image token

* Updated token images
2016-10-21 21:24:12 +02:00
Jaco Greeff
2689b13681 Hackergold token images (#2801)
* Additional token images

* Add HKG image token
2016-10-21 21:02:10 +02:00
Jaco Greeff
87f52f092e Additional token images (#2800) 2016-10-21 20:59:29 +02:00
Robert Habermeier
49ef9a1aa4 Add empty account existence test from beta. (#2769)
* add bloom filter existence test from beta

* fix U256 instantiation for master
2016-10-21 20:36:40 +02:00
Jaco Greeff
f58bdf2ccf Additional token images (#2798) 2016-10-21 19:50:17 +02:00
Arkadiy Paronyan
6f7b7638f4 Resolve morden fork (#2773) 2016-10-21 19:23:05 +02:00
Robert Habermeier
115f782935 Merge pull request #2778 from ethcore/siphasher
Using SipHashes from crates.io
2016-10-21 17:36:06 +02:00
Nicolas Gotchac
dc5dd6b941 Bumped Material UI version (fixing issues with AutoComplete) (#2790)
Fixed issues with Searchable addresses
2016-10-21 17:01:06 +02:00
Nicolas Gotchac
c24f4e87ad Merge pull request #2788 from ethcore/jg-images-currency
Currency icons
2016-10-21 15:23:32 +02:00
jacogr
cb68599a6d Currency icons 2016-10-21 15:22:14 +02:00
Jaco Greeff
dc8fcfde20 Update token images (#2783) 2016-10-21 13:44:34 +02:00
Robert Habermeier
31bb0c59f0 Merge pull request #2775 from ethcore/fix-master
Fix warning in master
2016-10-21 12:11:24 +02:00
Tomasz Drwięga
d3ae463a75 Using SipHasher from crates.io 2016-10-21 11:57:30 +02:00
Tomasz Drwięga
5aadda95c3 Using DefaultHasher instead of SipHasher 2016-10-21 11:26:29 +02:00
keorn
9ecea24a89 fix warning 2016-10-21 10:10:12 +01:00
Nicolas Gotchac
b2da168ff2 Merge pull request #2768 from ethcore/jg-basiccoin
Update name of basiccoin manager
2016-10-21 09:54:54 +01:00
jacogr
e55d6def73 Update name of basiccoin manager 2016-10-21 00:21:08 +02:00
Robert Habermeier
96f4c10453 sweep most unwraps from ethcore crate, dapps crate (#2762)
* sweep most unwraps from ethcore crate

* purge unwrap from dapps server

* whitespace

[ci:none]
2016-10-20 23:41:15 +02:00
keorn
866ab9c7a3 Check queue to determine major importing (#2763)
* simplify major sync detection

* fix typos

* fix merge

* more realistic EthTester

* add new synced state

* remove Blocks synced state

* move is_major_importing to rpc crate and check queue

* add tests
2016-10-20 23:36:18 +02:00
Nicolas Gotchac
236fb82886 Trace filtering fix (#2760)
* (#2751) Trace filtering fix:
  Don't test contract address against empty array in trace filtering

* Fixes spaces/typo

* Simplify the Trace Filtering (#2751)

* Removed unused `strictly_matches` fn
2016-10-20 23:35:56 +02:00
Jaco Greeff
7efffea34b Update js precompiled to 20161020-141636 (#2761) 2016-10-20 17:40:51 +02:00
Robert Habermeier
7359af8588 Incrementally calculate verification queue heap size (#2749)
* incrementally calculate queue heap size

* query the correct queue sizes
2016-10-20 17:19:31 +02:00
Arkadiy Paronyan
ae853a7557 Don't add empty accounts to bloom (#2753) 2016-10-20 16:49:27 +02:00
Jannis Redmann
68efbe32bf fix contract deployments not showing up (#2759)
* fix contract deployments not showing up

I'm really not happy with this.

Since the Signer consists of many, deeply nested, components, which in many cases
just pass props through, it's hard to trace this. `<TransactionPending>` is
supposed to fetch data from Parity (smart component) and pass it on to its (dumb)
children. For that, it needs to know implementation details of them.

* eslint 💄
2016-10-20 16:37:25 +02:00
Nicolas Gotchac
5c49168a66 Fix positionning issue of Icon in Address Selection (#2754) 2016-10-20 16:35:08 +02:00
Jannis Redmann
67f734cb20 fix linting issues (#2758) 2016-10-20 16:09:58 +02:00
Denis S. Soldatov aka General-Beck
d70503b874 Dockerfile for ubuntu stable
Add Dockerfile for parity stable branch
2016-10-20 21:00:09 +07:00
Tomasz Drwięga
0017a43364 Making Trie.iter non-recursive (#2733) 2016-10-20 14:49:44 +02:00
Arkadiy Paronyan
906dcd7bfe Block import optimization (#2748)
* Block import optimization

* whitespace

[ci:none]
2016-10-20 14:49:12 +02:00
Jaco Greeff
8ef598990a Update js-precompiled to 20161020-110858 (#2752) 2016-10-20 14:35:48 +02:00
Tomasz Drwięga
cd4e21e1b4 Fixing small files fetching (#2742)
* Fixing small files fetching

* Fixing a case where tranfer encoding is not chunked
2016-10-20 12:57:48 +02:00
Arkadiy Paronyan
7db42df1db Fixed stalled sync (#2747) 2016-10-20 12:56:37 +02:00
Jannis Redmann
d2e4bafaa5 refactor signer components (#2691)
* remove TransactionPendingWeb3

* remove TransactionFinishedWeb3

* remove SignRequestWeb3
2016-10-20 11:31:23 +02:00
Jaco Greeff
81f8e86e47 Png images with backgrounds from original svg (#2740) 2016-10-20 11:25:36 +02:00
Nicolas Gotchac
1e21b07e07 Make address selection searchable (#2739)
* Remove padding on address input if empty (#2141)

* Use Autocomplete to make address selection searchable (#2141)

* Adds AutoComplete Wrapper (#2141)
2016-10-20 11:25:20 +02:00
Jannis Redmann
9b246245bf very basic dapp add/remove interface (#2721)
* refactor dapp loading

* basic modal window

* UI for removing dapps

* button to open modal

* eslint 💄, make dialog scrollable

* Dialog -> ui/Modal

* show dapp hash
2016-10-20 11:22:25 +02:00
Arkadiy Paronyan
20e1d575da Frontport commits from beta to master (#2743)
* Remove count limit for local transactions (#2634)

* Fixed stalled sync
2016-10-20 00:33:00 +02:00
Denis S. Soldatov aka General-Beck
3b8247b631 Update gitlab-ci
git submodule update --init - windows
2016-10-20 02:53:16 +07:00
Nicolas Gotchac
248437fa1d Implements Trace API Formatter (#2732)
* Add formatter for Traces API output (#2700)

* Adding formatter tests (#2700)
2016-10-19 20:15:27 +02:00
Robert Habermeier
146cefdb32 bump parking_lot to 0.3.x series (#2702) 2016-10-19 18:35:56 +02:00
keorn
aa52b04e31 Unify major syncing detection (#2699)
* simplify major sync detection

* fix typos

* fix merge

* more realistic EthTester

* add new synced state
2016-10-19 18:35:39 +02:00
Nicolas Gotchac
319cfb278c Custom Input props value change must be reflected (#2734) (#2735) 2016-10-19 18:34:56 +02:00
Tomasz Drwięga
048d6968b0 Fixing build UI stuff along with Rust (#2726) 2016-10-19 18:33:24 +02:00
Jaco Greeff
a71006ebc4 Merge pull request #2731 from ethcore/ng-copy-clipboard-fix
Fixed Snackbar not showing and/or behind transactions (#2730)
2016-10-19 18:04:18 +02:00
Denis S. Soldatov aka General-Beck
5eca5f7bd0 Update gitlab-ci
allow_failure: true to Wondows build
2016-10-19 22:47:14 +07:00
keorn
b039323793 Merge pull request #2728 from ethcore/tests-bump
Updating json tests to latest develop commit
2016-10-19 16:30:56 +01:00
Denis S. Soldatov aka General-Beck
d8dd3a8019 Update gitlab-ci
git submodule update --init
2016-10-19 22:27:35 +07:00
Nicolas Gotchac
c50ef499b3 Fixed Snackbar not showing and/or behind transactions (#2730) 2016-10-19 16:58:14 +02:00
Jannis Redmann
9a615da8b2 merge #2727 from dapps-show-errors
dapps: show errors
2016-10-19 16:51:05 +02:00
Jannis R
dd51c7ef42 dapps: show errors 2016-10-19 16:40:39 +02:00
Tomasz Drwięga
9869a85ed5 Bumping json tests 2016-10-19 16:31:51 +02:00
Jannis Redmann
60c01e8cc3 merge #2722 from logs-break-lines
node logs: break lines
2016-10-19 15:17:55 +02:00
Denis S. Soldatov aka General-Beck
d5a898e761 Update gitlab-ci
Add `git submodule init && git submodule update` in Windows build
2016-10-19 19:35:53 +07:00
Jannis R
c4b60b8552 fix styling 2016-10-19 14:03:33 +02:00
Jannis R
6c6ad6d660 node logs: break lines 2016-10-19 13:36:08 +02:00
Tomasz Drwięga
fcac518644 Bumping JSON-RPC http server (#2714) 2016-10-19 13:24:48 +02:00
Nicolas Gotchac
dd89ecea43 Add 'Copy to Clipboard' icon in Accounts Header (#2167) (#2716) 2016-10-19 13:24:22 +02:00
Jannis Redmann
cf170418d5 merge #2720 from ng-ui-tags-fixes
Sort tags when displaying ; use AND for search results
2016-10-19 13:21:54 +02:00
Jaco Greeff
b9a4e42bbe allow-same-origin for iframe (#2711) 2016-10-19 13:18:58 +02:00
Nicolas Gotchac
749e1e44b9 Use Array.prototype.some instead of filter then length 2016-10-19 13:15:01 +02:00
Nicolas Gotchac
88eb72468e Use AND instead of OR for tags search // Sort tags when displayed (#2719) 2016-10-19 13:01:06 +02:00
Jaco Greeff
57f33c45cc Update Registry.sol address (mainnet) (#2713) 2016-10-19 12:35:56 +02:00
Nicolas Gotchac
cc10f412dc Allow tags for Accounts, Addresses and Contracts (#2712)
* Added tag to the editMeta Modal (#2643)

* Added Tags to ui and to contract/address/account Header (#2643)

* Added tags to summary (#2643)

* Added Search capabilities to contracts/address book/accounts from tokens
(#2643)

* fixes eslint

* Using Chips/Tokens for search (#2643)

* Add search tokens, clickable from List (#2643)

* Add sort capabilities to Accounts / Addresses / Contracts (#2643)

* Fixes formatting issues + state updates after component unmount bug
(#2643)

* Remove unused import

* Small fixes for PR #2697

* Added default sort order for Contracts/Addresses/Accounts

* Using official `material-ui-chip-input` NPM package

* Removed LESS from webpack
2016-10-19 11:51:02 +02:00
Jaco Greeff
dadd6b1e7c Correct parameters for eth_sign (#2703)
* Cherry-pick eth_sign update/fix

* Correct sign documentation (signs txhash)
2016-10-19 11:04:26 +02:00
Jaco Greeff
6aed6a45d3 Bump js-precompiled to 20161018-161705 (#2698)
* Global fetch before specific sha fetch

* Update to js-precompiled 20161018-161705
2016-10-19 11:03:08 +02:00
Jaco Greeff
b359e09bb6 Add inject.js (for web3 exposed) (#2692) 2016-10-19 11:02:42 +02:00
Tomasz Drwięga
5e67c89b4b Remove obsolete dapps and update security headers (#2694)
* Embed allowed only on signer port

* Adding security headers to dapps

* Adding security headers to signer

* Removing old dapps
2016-10-19 11:02:21 +02:00
Arkadiy Paronyan
487dfb0208 Snapshot sync part 2 (#2098)
* Split block downloader into a module

* Snapshot sync progress

* Warp sync CLI option

* Increased snapshot chunk and ping timeouts

* Fixed an issue with delayed writes

* Updated bootnodes

* Don't run pending IO tasks on shutdown

* Optional first_block; removed insert_snapshot_block

* Fixing expect calls

* Fixed stalled sync

* style and docs

* Update block_sync.rs

[ci:skip]
2016-10-18 18:16:00 +02:00
Nikolay Volf
dba2d79b56 fix issues with no test dir present (#2659) 2016-10-18 16:44:40 +02:00
Jaco Greeff
3c0b02ffe6 Apply UI PRs after master merge (#2690) 2016-10-18 16:44:09 +02:00
Tomasz Drwięga
4d48054cee Fixing importing traces for non-canon blockS (#2683) 2016-10-18 16:43:42 +02:00
Arkadiy Paronyan
ed804341bd Fixing random test failures (#2577) 2016-10-18 16:36:43 +02:00
Nikolay Volf
723eb164d1 disable ipc by default (#2657) 2016-10-18 14:03:36 +02:00
Robert Habermeier
0eb8cb453b Merge pull request #2658 from ethcore/snapshot-earliest-era
use pruning history in CLI snapshots
2016-10-18 13:57:43 +02:00
Tomasz Drwięga
70c3001d2d Fixing --no-default-features again and evmbin (#2670)
* Fixing --no-default-features again and evmbin

* Fixing evmbin Result
2016-10-18 12:13:49 +02:00
Jaco Greeff
1e6a2cb378 Initial new UI source code import (#2607)
* address -> name mappings

* expanding, loading all coin details

* send use only actual BasicCoin tokens registered (any reg)

* sending token & accounts

* form styling updates

* send form layout in place

* coin send working as expected

* api subscriptions on multiple addresses

* bring in events

* simplify

* basic events display in-place, functionally complete

* basic functionality in-place

* fix horrible event address issue

* rwork display of events slightly

* test TLA availability

* table for owner -> tokens

* fix signature lookup address

* fix signature lookup address

* basic overview styling

* txhash links

* page layout adjustments

* background import

* adjust colors

* no global registration, simplify color selection

* updated styling

* connection dialog for "busy connecting"

* initial token connection - WIP

* init token updates take place

* basic test for manual token

* rework connection display

* allow updates of the secure token

* first stab at making the build build

* update runner tags

* fix linting issues

* skip tests requiring network (should be e2e, TODO)

* re-enable javascript tag/runner

* release push does the trick

* push to any branch, CI name

* javscript-test runner as well

* swap dependencies build requires test

* revert stages swap

* retrieve images associated with tokens

* remove js build deps order

* null image when hash = 0x0

* 6x64 images (hashes for registries)

* don't pass tokens as prop to IdentityIcon

* check images against content hash pictures

* cleanup signer after connection changes

* fix naming typo

* display unknownImages for balances (not available as content hash)

* unknownImage for transfer dialog

* basic githubhint layout

* single input for commit/filename

* ethcore_hashContent call

* lookup hash

* registration in place

* fixes

* events is using a proper table

* pass value through as-is

* stop wrongly using main app IdentityIcon

* NEVER export class instance functions

* alignment back to normal

* typo  in definition

* set & get images working (mostly)

* show content retrieval info

* set exitcode via ||

* use javascript:latest images

* disable npm progress bar

* rename phase I

* rename phase II

* only send build output to GitHub on major branches

* also run the build step as part of the test (until comprehensive)

* ci-specific build (no webpack progress)

* allow for account creation via recovery phrase

* display account uuid (where available), closes #2546

* connection dialog now shows up in dapps as well, closes #2538

* token images show up as expected

* IdentityName component added and deployed

* fix padding tests

* adjust tests to map to stricter 0x-prefixed hex

* render names via common component for the address -> name

* split lint into seperate script (early exit)

* test phases changed to lint, test & pack

* pack part of test phase

* remove files marked for deletion (cleanup)

* Signer cleanups, start moving in the direction of the rest

* add personal signer methods

* basic signer request subscription

* don't poll blockNumber when not connected

* missing return, creating massive ws queue backlogs

* ΞTH -> ETH

* fix failing tests

* registry uses setAddress to actually set addresses now

* bytes mapping operates on lowerCase hex strings

* sha3 ids for each application

* add dappreg to list of contracts

* adjust alignment of queries

* show gas estimation log

* abi with payable for register function

* add key as required

* image retrieval from dappreg

* use proper Image urls

* embed and link apps from Parity, retrieved via /api/apps

* filter apps that has been replaced

* proxy entry for parity-utils

* add basiccoin abi

* add support for fallback abi type

* capture constructor paramaters

* merge master into js

* move images to assets/images/

* add font assets

* import fonts as part of build

* don't inline woff files

* Revert "merge master into js"

This reverts commit cfcfa81bd26f1b3cbc748d3afa1eb5c670b363fe.

* remove unused npm packages

* information on gas estimates (like almost everywhere else)

* don't pass gas & gasPrice to estimation

* display account passwordhint when available

* signer subscriptions based on polling & function trapping

* pending requests retrieved via jsapi

* update signer middleware

* remove all web3 instances

* remove web3 package

* last web3 dependencies removed

* no need to toChecksumAddress - api takes care of it

* expand description for personal_confirmRequest

* Signer conversion from web3 -> parity.js completed

* explicit in no return

* green circle background

* remove generated background

* convert /api/* paths to localhost:8080/api/* paths (hard-coded, temporary)

* change dapps to load from localhost:8080/ui/*

* remove dangling web3 files

* update manager test for signer

* /api/ping -> /

* additional token images

* additional token images

* add missing styles.css for 8180 error pages

* cater for txhash returning null/empty object

* adjust output directories

* Release merge with origin with ours strategy

* additional token images

* cater for development server

* s/localhost/127.0.0.1/ (cater for origin)

* Fix address selection for contract deployment

* Adjust z-index for error overlay

* better text on unique background pattern

* fix signer rejections

* Don't allow gavcoin transfer with no balance

* fix txhash rendering in signer

* remove unnecessary ParityBackground

* script to update js-precompiled

* Redirect from :8080 to :8180

* Remove extra return

* Dapp logo images
2016-10-18 11:52:56 +02:00
Robert Habermeier
c2dd37bb69 use pruning history in CLI snapshots 2016-10-17 13:05:57 +02:00
Tomasz Drwięga
6c7af57529 Initial import of new UI (compiled JS code) (#2220)
* Normalizing dapps format for signer.

* Adding new ui

* Adding New UI to dapps

* Adding parity styles for signer errors

* Adding pre-compiled JS as submodule

* Fixing struct declaration [ci:skip]

* Bumping js

* Adding styles

* build dest

* Correct whitespace

@tomusdrw please note the alterations - no mixing tabs and spaces in the indentation portion and always just one tab per indent.
2016-10-17 11:56:42 +02:00
Tomasz Drwięga
238840d74e Fixing evmbin compilation (#2652) 2016-10-17 11:55:47 +02:00
Gav Wood
b5c65e3df5 Fix up ETC EIP-150 transition to 2,500,000. (#2636) 2016-10-16 13:44:56 +02:00
Tomasz Drwięga
709f00ceb7 Fixing compilation without default features (#2638)
* Fixing compilation without default features

* Removing unused import
2016-10-16 00:20:11 +02:00
keorn
303f922ebd steps based on unix epoch 2016-10-15 13:55:10 +01:00
Tomasz Drwięga
cceca916a1 [frontport] CLI to specify queue ordering strategy (#2494) (#2623)
* CLI to specify queue ordering strategy (#2494)

* Alter gas priorities to include gas_price also

* CLI options and tests

* Adding ordering by gas

* whitespace

Conflicts:
	ethcore/src/miner/miner.rs
	ethcore/src/miner/mod.rs
	ethcore/src/miner/transaction_queue.rs
	parity/cli/usage.txt
	parity/configuration.rs

* fix build
2016-10-15 14:46:33 +02:00
Tomasz Drwięga
03c1559ead Support for decryption in Signer (#2421)
* Adding some tests

* Implementing decrypt in queue

* Removing code duplication.

* Printing public key in ethstore

* Bump UI

* Normalizing dapps format for signer.

* Fixing tests compilation

* fix whitespace

[ci:skip]
2016-10-15 14:44:08 +02:00
Gav Wood
85eeb3ea6e EIP150.1c (#2591)
* EIP150.1b first part.

* Add documentation.

[ci:skip]

* Tweak comment

* Fix some tests.

* Fix create

* Add the new EIP150 test. (#2563)

* Fix create some more.

* Another fix for create.

* Final fixes.

* Enable EIP150 test.

* Revert the costly suicides to respect EIP150.1b.

* Fixups for EIP150.1c

* Update tests.

* Updating tests

* Adding state tests

* Updating tests

* Updating HF block

* Removing flushln [ci:skip]

* Commenting out suicide test

* New tests.

* Switch to EIP tests.

* Rename some stuff, combine transition tests.

* Fix U256 overflows.

* Name cleanups and an effort to fix tests.

* Rename back for clarity.

* Fix non-EIP-150 OOG CALLs

* New transition block number & additional EIP150 tests

* Morden transition block set; Tests updated

* Added missing test
2016-10-15 14:39:15 +02:00
Robert Habermeier
8263bd4be2 snapshot: single byte for empty accounts (#2625) 2016-10-14 15:45:45 +03:00
Robert Habermeier
f28b8352c1 Configurable history size in master (#2606)
* split journaldb commit into two functions: journal_under and mark_canonical

* use new commit mechanism in client

* Configurable history size in master

* Reduce DB history

* Configurable history size

* Set min history size

* Test

* Fixed a test and reduced the limit
2016-10-14 15:44:56 +03:00
Arkadiy Paronyan
835cd13c0e Database performance tweaks (#2619) 2016-10-14 15:44:11 +03:00
keorn
8ad1582208 enable suicide json test (#2626) 2016-10-14 14:28:02 +02:00
Robert Habermeier
19e6cbe0b2 Merge pull request #2329 from ethcore/journaldb_commit
Split journaldb commit into two functions: journal_under and mark_canonical
2016-10-14 13:57:17 +02:00
Arkadiy Paronyan
f9440f20b8 Fixed tx queue limit for local transactions (#2616)
* Fixed tx queue limit for local tx

* Fixing test

* Increas gas limit to 20x
2016-10-14 13:56:00 +02:00
Tomasz Drwięga
dbc25cf4e7 Additional logs when transactions is removed from queue (#2617) 2016-10-14 13:55:48 +02:00
Robert Habermeier
4581469e78 mitigate refcell conflict in state diffing (#2601)
* mitigate refcell conflict in state diffing

Also uses RefCell::get_mut in a few places.

* Add test case
2016-10-13 23:28:56 +02:00
Robert Habermeier
92f7f46fd3 Merge branch 'master' into journaldb_commit 2016-10-13 13:02:53 +02:00
Robert Habermeier
4bcc9e3b49 Merge pull request #2516 from ethcore/canon-cache-size
Mostly configurable canonical cache size
2016-10-12 21:48:29 +02:00
Svyatoslav Nikolsky
c9ce25c8f3 Added peers details to ethcore_netPeers RPC (#2580)
* added peers details to ethcore_netPeers RPC

* fixed build (traits autoimplemented)

* - documentation fixes
- spaces -> tabs
- Rust-way Option's handling

* prepare for new protocols in ethcore_netPeers

* commas & documentation
2016-10-12 20:18:59 +02:00
keorn
44f42ac7d3 Merge remote-tracking branch 'parity/master' into auth-round-no-mocknet
Conflicts:
	ethcore/src/state/mod.rs
	ethcore/src/tests/mod.rs
2016-10-12 18:39:31 +01:00
Denis S. Soldatov aka General-Beck
693b0ec402 Update gitlab-ci
copy CI yml beta -> master
2016-10-13 00:21:33 +07:00
Denis S. Soldatov aka General-Beck
559a441701 Update gitlab-ci
correct lint errors
2016-10-12 23:39:58 +07:00
Denis S. Soldatov aka General-Beck
d27924cc6c Update gitlab-ci
beta - > master
2016-10-12 22:37:26 +07:00
Denis S. Soldatov aka General-Beck
eb40750cbe Update gitlab-ci
fix windows installer
2016-10-12 16:20:30 +07:00
keorn
0189096caf Update json test suite (#2574)
* update json test suite

* comment out the incomplete test
2016-10-12 10:06:23 +02:00
Denis S. Soldatov aka General-Beck
c24123e09c Update gitlab-ci
fix errors in windows build
2016-10-12 13:26:37 +07:00
Denis S. Soldatov aka General-Beck
c658171d30 Update gitlab-ci
[ci:skip]
Deny warnings in windows build
2016-10-12 01:50:55 +07:00
Denis S. Soldatov aka General-Beck
0e7508e0c2 Update gitlab-ci
switch to curl in win build
2016-10-12 01:38:23 +07:00
keorn
214916a414 new vote counter 2016-10-11 18:38:05 +01:00
keorn
e343153f06 mixed merge and changes... 2016-10-11 18:37:31 +01:00
Denis S. Soldatov aka General-Beck
327f5e0dd0 Update gitlab-ci
add windows installer
remove arm build from master
2016-10-12 00:09:59 +07:00
Robert Habermeier
ea68546616 Network-specific nodes file (#2569)
* network-specific nodes.json

* save nodes.json periodically

* squash warnings
2016-10-11 18:42:20 +02:00
keorn
5e24a35272 dont close block if is_invalid (#2572) 2016-10-11 16:19:00 +02:00
Robert Habermeier
303654da38 deny compiler warnings in CI (#2570) 2016-10-11 15:53:22 +02:00
Robert Habermeier
86d4e5b94a Merge pull request #2562 from ethcore/bump-bigint-version
update ethcore-bigint crate to 0.1.1
2016-10-11 14:13:12 +02:00
Robert Habermeier
5e22d23994 update bigint crate to 0.1.1 2016-10-11 12:53:50 +02:00
Arkadiy Paronyan
55dbd5bb1f Fixed race condition in trace import (#2555) 2016-10-10 23:07:29 +02:00
Arkadiy Paronyan
193cdb1326 Don't activate peers on connect; Test (#2537) 2016-10-10 23:05:41 +02:00
Arkadiy Paronyan
26d7712d30 TX queue gas limit config and allow local transactions over the gas limit (#2553)
* Gas limit config; Allow local transactions over the limit

* Fix typo

[ci:skip]
2016-10-10 23:04:43 +02:00
Robert Habermeier
91f0c6896c LES boilerplate 2016-10-10 18:48:47 +02:00
keorn
64f6f836ab Remove unwrap from client module (#2554)
* remove unwraps in client

* imporve block hash expect message
2016-10-10 17:43:44 +02:00
Arkadiy Paronyan
ae6c965176 Removing unwarps from sync module (#2551) 2016-10-10 17:43:05 +02:00
Jaco Greeff
06df5357e9 adjust app_id where /api/content/<hash> is called, fixes #2541 (#2543) 2016-10-10 16:34:16 +02:00
keorn
271bcf4d5d Return errors from eth_call RPC (#2498)
* propagate call errors

* add error code for execution error
2016-10-09 11:45:12 +02:00
Arkadiy Paronyan
d6cad29f49 Print backtrace on panic (#2535) 2016-10-08 17:33:38 +02:00
Arkadiy Paronyan
f200eb2cfe Backports to master (#2530)
* Transaction queue limited by gas (#2528)

* Use global state cache when mining (#2529)
2016-10-08 10:35:54 +02:00
Robert Habermeier
4276ab8a5f fix JSON tests 2016-10-07 13:59:50 +02:00
Robert Habermeier
19e5bede7f Merge branch 'master' into canon-cache-size 2016-10-07 13:55:20 +02:00
Arkadiy Paronyan
72ec9366ad Handle reorganizations in the state cache (#2490)
* Handle reorganizations in the state cache

* Renamed and documented a few methods

* Basic test

* Renamed pending to buffered

* Updated cache on sealed block

* More renames and updated documentation

* Minor doc tweaks
2016-10-07 12:34:32 +01:00
Nikolay Volf
5354a0905e terminate after 30 seconds (#2513) 2016-10-07 12:10:53 +01:00
Robert Habermeier
299ceb8092 Merge branch 'master' into canon-cache-size 2016-10-07 12:42:51 +02:00
Robert Habermeier
8a0e98d4cc configurable jump table cache size 2016-10-07 12:18:42 +02:00
Tomasz Drwięga
4655fd04a5 Using pending block only if not old (#2514) 2016-10-07 11:13:15 +01:00
Arkadiy Paronyan
7756031d06 Caching optimizations (#2505) 2016-10-07 11:10:12 +01:00
Arkadiy Paronyan
533af43313 Fixed overflow panic in handshake_panic (#2495) 2016-10-07 10:34:06 +02:00
keorn
5f0ed9ddce Trim password from file (#2503)
* trim password

* indicate trimming in doc
2016-10-07 09:39:16 +02:00
Tomasz Drwięga
d9ca01cb6b Fixing RPC Filter conversion to EthFilter (#2500) 2016-10-07 09:18:32 +02:00
Robert Habermeier
745a50dfdf configurable state cache size 2016-10-07 00:28:42 +02:00
Tomasz Drwięga
0c7a28779d Fixing error message for transactions (#2496) 2016-10-06 20:35:31 +02:00
Nikolay Volf
ac0ae2442f Adjustable stack size for EVM (#2483)
* stack size for io workers & evm threshold

* rust way to remember stack size

* right value

* 24kb size

* some stack reduction
2016-10-06 18:42:54 +02:00
Tomasz Drwięga
75d9174294 Fixing penalization in future (#2499) 2016-10-06 18:40:40 +02:00
Arkadiy Paronyan
6c1b2fbed5 Preserve cache on reverting the snapshot (#2488)
* Preserve cache on reverting the snapshot

* Renamed merge_with into replace_with

* Renamed and documented snapshotting methods
2016-10-06 14:54:05 +01:00
Arkadiy Paronyan
e380955c34 RocksDB version bump (#2492) 2016-10-06 15:24:47 +02:00
Robert Habermeier
5a959c67e4 Merge pull request #2489 from ethcore/txqueuesize
Increase default size of transaction queue
2016-10-06 12:44:16 +02:00
Arkadiy Paronyan
b1ab0d0cbf EVM optimization (#2487) 2016-10-06 11:14:05 +02:00
Tomasz Drwięga
a9391f91f7 Increase size of transaction queue by default 2016-10-06 10:20:05 +02:00
Arkadiy Paronyan
ecf098e9a4 Track dirty accounts in the state (#2461)
* State to track dirty accounts

* Removed clone_for_snapshot

* Renaming stuff

* Documentation and other minor fixes

* Replaced MaybeAccount with Option
2016-10-06 01:53:23 +02:00
Jaco Greeff
33abb47222 update registrar test with generic non-empty test (#2476)
* update registrar test with generic non-empty test

* updated test, length check + parsing
2016-10-05 19:44:09 +02:00
Nikolay Volf
7526b1d44b Derive IPC interface only when ipc feature is on (#2463)
* derive -> ipc

* accident repair

* conditional ipc deriving

* fix test
2016-10-05 19:42:57 +02:00
keorn
1f56588b87 Merge remote-tracking branch 'parity/master' into bft
Conflicts:
	ethcore/src/client/client.rs
2016-10-05 14:57:14 +01:00
Arkadiy Paronyan
eae2466107 Merge pull request #2471 from ethcore/fix-keys
Fix ethstore opening all key files in the directory at once
2016-10-05 15:41:12 +02:00
Robert Habermeier
8d7244c09f light client sync stubs 2016-10-05 15:35:31 +02:00
keorn
096b71feb2 add Vote generation 2016-10-05 14:33:07 +01:00
keorn
cb2c9938a1 keep author as validator 2016-10-05 14:32:15 +01:00
keorn
64d7bcbd0c validators -> authorities 2016-10-05 14:31:31 +01:00
keorn
a03db2ff29 add is_new_best method to engines 2016-10-05 14:30:44 +01:00
keorn
67c24dcb95 use Engine to order blockchain 2016-10-05 14:29:35 +01:00
Nikolay Volf
eddfb475c6 get rid of collects 2016-10-05 14:37:27 +03:00
Robert Habermeier
ed06572bd4 Light provider trait 2016-10-05 13:22:49 +02:00
Robert Habermeier
e3c4695274 stub implementations of light client trait 2016-10-05 13:21:07 +02:00
Nikolay Volf
1782b659d1 Merge pull request #2460 from ethcore/ipc-codegen
Merge IPC codegen attributes into one
2016-10-05 14:30:21 +04:00
Robert Habermeier
8a5576d133 balance rates of draining and importing 2016-10-05 12:10:28 +02:00
Nikolay Volf
02c04a3193 Merge pull request #2464 from svyatonik/master
Close after importing keys from geth
2016-10-05 11:54:15 +04:00
Nikolay Volf
a7e09d8842 Update codegen.rs 2016-10-05 10:36:09 +03:00
Denis S. Soldatov aka General-Beck
ced597e282 Update gitlab-ci
fix windows checksum
2016-10-05 10:53:19 +07:00
svyatonik
0e8dda740f * PR 2464: human-readable error message + struct documentation 2016-10-05 00:13:07 +03:00
Robert Habermeier
abbf3b3c58 verification-rate based thread scaling 2016-10-04 20:09:54 +02:00
Robert Habermeier
b7814fa65c Port a couple more RPC APIs to the new auto args (#2325)
* add auto-args deserialization for RPC

* make block param member public

* change BlockParam to a more generic Trailing<T> mechanism

* define work type

* build_rpc_trait macro, implement eth protocol

* fix up tests

* move eth_filter API to new macro

* port ethcore module to new rpc macro

* port ethcore_set to auto_args

* port net RPC to auto_args

* port rpc meta api to new

* skeleton for async RPC auto_args

* macro implementations for strongly-typed async RPC wrapper

* clarify docs

* reflect new required Rust version in README

[ci skip]
2016-10-04 19:05:46 +02:00
Nikolay Volf
0002bfadab accident repair 2016-10-04 19:22:26 +03:00
Nikolay Volf
2b147616fd derive -> ipc 2016-10-04 19:20:16 +03:00
Robert Habermeier
6e477951ba update rustc for appveyor to 1.12.0 (#2423)
* update rustc for appveyor to 1.12.0

* turn off MIR for windows builds
2016-10-04 17:32:26 +02:00
svyatonik
abc5db0f80 Remove redundant Box-ing. 2016-10-04 16:01:39 +03:00
svyatonik
cb0e0abc4a closes ethcore/parity#1918 2016-10-04 11:44:47 +03:00
Tomasz Drwięga
48bb890045 Better EVM informant & Slow transactions warning (#2436)
* EVM informant. Slow transactions tracking

* Additional feature for tests
2016-10-03 23:29:46 +02:00
Robert Habermeier
2d28c703d6 reuse add_verifier instrumentation, rolling sample of 5 ticks 2016-10-03 20:39:52 +02:00
Robert Habermeier
d205c0800c Merge pull request #2437 from ethcore/signer
Fixing Signer token RPC API
2016-10-03 20:34:55 +02:00
Robert Habermeier
5e382602dd fix logging accuracy 2016-10-03 20:09:57 +02:00
Robert Habermeier
a7b5dff252 ethash unsafety cleanup 2016-10-03 19:47:07 +02:00
Robert Habermeier
2d907f3322 auto-adjust number of verification threads 2016-10-03 19:41:00 +02:00
Arkadiy Paronyan
10d572e24f Fixed FatDB check (#2443) 2016-10-03 19:31:50 +02:00
Tomasz Drwięga
a0a13600ef Fixing Signer token RPC API 2016-10-03 15:01:10 +02:00
Nikolay Volf
e1d3b3fff8 Accounts bloom in master (#2426)
* bloom crate link

* database layout and outdated tests

* state db alterations

* v10 migration run

* using arc

* bloom migration

* migration fixes and mess

* fix tests
2016-10-03 12:02:43 +02:00
Marek Kotewicz
06fe768ac2 Polishing Actually enable fat db pr (#1974) (#2048)
* Actually enable fat db, and do RPCs for it.

* Implement HashDB traits for AccountDB.

* user defaults

* finished user defaults

* user defaults are network-dependent

* added tests for newly added functions, logger is initialized first

* dir cleanup in progress

* user_file is placed next to snapshots

* fixing requested change
2016-10-03 11:13:10 +02:00
Arkadiy Paronyan
0dcdaa7a2a Jumptable cache (#2427)
* Jumptable cache

* Updated registrar address
2016-10-02 18:45:36 +02:00
Arkadiy Paronyan
80afb78c7f Disabling debug symbols due to rustc 1.12 memory usage 2016-10-02 09:40:54 +02:00
Jaco Greeff
b1d8b84eb9 update Morden registry address (#2417) 2016-10-01 15:16:23 +02:00
Nikolay Volf
1029f8438c using arc (#2420) 2016-10-01 14:33:19 +02:00
Nikolay Volf
1d3e242d37 Merge pull request #2395 from ethcore/bloom-crate
Journaling bloom filter crate in util
2016-10-01 01:08:26 +04:00
NikVolf
18630496d5 asterisk space 2016-09-30 21:02:16 +03:00
NikVolf
fa050246af removed redundant memcopy 2016-09-30 20:43:57 +03:00
Denis S. Soldatov aka General-Beck
43e0970a54 Update gitlab-ci
add checksum
2016-09-30 21:02:33 +07:00
keorn
76d7ec84bb new block ordering engine method 2016-09-30 14:43:52 +01:00
keorn
9ca938f740 Merge remote-tracking branch 'parity/master' into bft
Conflicts:
	ethcore/src/client/client.rs
	sync/src/api.rs
2016-09-30 12:44:52 +01:00
keorn
8a51ae02aa simplify seal 2016-09-30 12:22:46 +01:00
Tomasz Drwięga
443eb19739 Fixing logs-receipt matching (#2403) 2016-09-30 11:14:30 +02:00
Robert Habermeier
a37def823e Merge pull request #2405 from ethcore/fix-beta-eq
fix broken beta compilation
2016-09-29 18:58:46 +02:00
keorn
d59e9e816e fix tests compilation 2016-09-29 16:57:52 +01:00
Robert Habermeier
eb4e00114c fix broken beta compilation 2016-09-29 17:55:39 +02:00
keorn
d085146254 separate params out 2016-09-29 15:32:49 +01:00
keorn
6cbb859bd2 add tendermint message types and deserialization 2016-09-29 14:44:42 +01:00
Tomasz Drwięga
01018b417a Fixing transaction queue (#2392) 2016-09-29 12:46:04 +02:00
NikVolf
59c0551ff4 separate mod for tests 2016-09-29 13:39:13 +03:00
NikVolf
b477ca17fe bloom filter crate 2016-09-29 13:19:39 +03:00
Tomasz Drwięga
1c61d7c813 Fixing Delegate Call in JIT (#2378)
* Detecting DELEGATE_CALL in JIT

* Fixing evmjit tests
2016-09-28 23:33:12 +02:00
Tomasz Drwięga
424b46b428 Prioritizing re-imported transactions (#2372)
* Prioritizing re-imported transactions

* Fixing compilation on beta
2016-09-28 23:32:32 +02:00
Gav Wood
bb96849620 Revert #2172, pretty much. (#2387)
* Revert #2172, pretty much.

* Tidy up whitespace.

[ci:skip]

* Force CI.
2016-09-28 23:31:59 +02:00
Robert Habermeier
f4dfbada0a correct sync memory usage calculation (#2385) 2016-09-28 23:00:12 +02:00
Denis S. Soldatov aka General-Beck
6b541bc774 Update gitlab-ci
add RUST_BACKTRACE=1 in test stage
2016-09-29 02:50:37 +07:00
Nikolay Volf
6df1c3d157 Merge pull request #2334 from ethcore/fix-migrations
fix migration system for post-consolidation migrations, better errors
2016-09-28 19:54:34 +04:00
Gav Wood
948b614f40 Fix the traceAddress field in transaction traces. (#2373)
* Fix the traceAddress field in transaction traces.

* Add test

* Fix warning.

* Fix test

* Additional fix.

* Fix tests content.
2016-09-28 17:24:26 +02:00
Tomasz Drwięga
baa2feaca6 Removing extras data from retracted blocks. (#2375)
* Removing extras data from retracted blocks.

* Adding a test case
2016-09-28 15:49:42 +02:00
Marek Kotewicz
c0e72209e8 fixed #2263, geth keys with ciphertext shorter than 32 bytes (#2318)
* fixed #2263, geth keys with ciphertext shorter than 32 bytes

* replace unwrap with more helpful expect

* tests for decrypting short secrets
2016-09-28 15:47:52 +02:00
Gav Wood
15a14a5f49 Expanse compatibility (#2369)
* Add support for Expanse.

* Fix build.

* Refactor to be able to alter the eth subprotocol name

* Fix JSON.

* Support exp hardfork.

* Fix exp json again.

* Fixed test

* Fix tests.
2016-09-28 14:21:59 +02:00
Robert Habermeier
fb92a98451 Specify column cache sizes explicitly; default fallback of 2MB (#2358)
* allow specifying cache sizes for specific columns

* initialize client with correct cache size

* set cache size in client service

* default cache size for unspecified columns

* fix comment

* fix column selection logic

* fix migrations module
2016-09-27 18:16:32 +02:00
Arkadiy Paronyan
ad63780b4d Canonical state cache (master) (#2311)
* State cache

* Reduced copying data between caches

Whitespace and optional symbols

* Reduced copying data between caches

Whitespace and optional symbols

* Set a limit on storage cache

* Style and docs
2016-09-27 18:02:11 +02:00
keorn
7e1d7148c7 block time in decimal 2016-09-27 16:06:13 +01:00
keorn
1c801c99af revert random path drop panic 2016-09-27 15:54:10 +01:00
Robert Habermeier
9d4bee4922 make block queue into a more generic verification queue and fix block heap size calculation (#2095)
* move block queue to own module, a couple readability changes

* make block queue generic over verifiable data

also fixes heap size calculation

* make block queue into a more generic verification queue

* some module reoganization

* implement header queue

* clean up verification error messages
2016-09-27 16:50:24 +02:00
keorn
28cf91c7a5 remove mocknet stuff, clean up debug 2016-09-27 15:50:16 +01:00
Tomasz Drwięga
d7bbc5cc3f Hash Content RPC method (#2355)
* Moving file fetching to separate crate.

* ethcore_hashContent

* Tests running on mocked fetch.

* Limiting size of downloadable assets
2016-09-27 16:27:06 +02:00
keorn
0c69d4a1ce Merge remote-tracking branch 'parity/master' into auth-round
Conflicts:
	devtools/src/random_path.rs
2016-09-27 12:39:25 +02:00
keorn
fd6900bbb3 Merge remote-tracking branch 'parity/master' into bft
Conflicts:
	Cargo.lock
2016-09-27 12:37:43 +02:00
Gav Wood
3fb3f1f54e Reorder transaction_by_hash to favour canon search (#2332)
* Reorder transaction_by_hash to favour canon search

* Fix build.

* Slightly cleaner function.

* Fix test.
2016-09-27 12:17:02 +02:00
keorn
5fac941738 Merge remote-tracking branch 'parity/master' 2016-09-27 12:14:40 +02:00
keorn
cf88641f99 more mocknet tests 2016-09-27 12:13:21 +02:00
keorn
ec058cdb50 reseal on timeout 2016-09-27 12:12:18 +02:00
Arkadiy Paronyan
bc4cbaac2b DIV optimization (#2327) 2016-09-27 11:27:11 +02:00
Tomasz Drwięga
2135ba467c Error when deserializing invalid hex (#2339)
Conflicts:
	rpc/src/v1/types/bytes.rs
2016-09-27 11:26:23 +02:00
sandakersmann
09210269c9 Changed http:// to https:// on some links (#2349)
Changed http:// to https:// on some links in README.md
2016-09-27 08:02:26 +02:00
Marek Kotewicz
56eb97abbf user defaults (#2014)
* user defaults

* finished user defaults

* user defaults are network-dependent

* added tests for newly added functions, logger is initialized first

* dir cleanup in progress

* user_file is placed next to snapshots
2016-09-26 19:21:25 +02:00
Tomasz Drwięga
598e9cea85 Fixing jit feature compilation (#2310) 2016-09-26 18:38:54 +02:00
Robert Habermeier
fe4f10382b Merge pull request #2292 from ethcore/txqueue
Tx Queue improvements
2016-09-26 18:29:29 +02:00
Robert Habermeier
b8b3f066c4 add a test 2016-09-26 18:25:11 +02:00
Robert Habermeier
3ebfbf3342 fix migration system, better errors 2016-09-26 18:08:04 +02:00
Robert Habermeier
e26a16c70c use new commit mechanism in client 2016-09-26 17:27:48 +02:00
Robert Habermeier
238b4962f0 split journaldb commit into two functions: journal_under and mark_canonical 2016-09-26 17:14:44 +02:00
Tomasz Drwięga
92451ef268 Lenient bytes deserialization (#2036)
* Lenient bytes deserialization

* Printing warning
2016-09-26 15:55:44 +02:00
Tomusdrw
4acd6cbe3b Fixing tests 2016-09-26 12:24:52 +02:00
Tomusdrw
ef1c8b1fc7 Merge branch 'master' into txqueue 2016-09-26 12:18:22 +02:00
Denis S. Soldatov aka General-Beck
abcdc8176f Update gitlab-ci
fix
2016-09-24 05:02:26 +07:00
Denis S. Soldatov aka General-Beck
f9d60d19d6 Update gitlab-ci
copy from beta
2016-09-24 04:34:42 +07:00
Tomasz Drwięga
97fcd60e56 saturating add
Conflicts:
	ethcore/src/miner/transaction_queue.rs
2016-09-23 20:59:41 +02:00
Gav Wood
06fc494d03 Remove crufty code 2016-09-23 20:53:37 +02:00
Gav Wood
5e7955b1f1 saturating not overflowing 2016-09-23 20:53:30 +02:00
Tomasz Drwięga
3e474216ac Peek transaction queue via RPC (#2270)
* Handle RLP to string UTF-8 decoding errors (#2217)

* pending transactions

Conflicts:
	rpc/src/v1/impls/ethcore.rs
	rpc/src/v1/traits/ethcore.rs
2016-09-23 20:53:21 +02:00
Tomasz Drwięga
efaef85565 Avoid penalizing legit transactions 2016-09-23 20:51:41 +02:00
Tomasz Drwięga
2874f464aa Penalize transactions with gas above gas limit
Conflicts:
	ethcore/src/miner/transaction_queue.rs
2016-09-23 20:49:02 +02:00
Tomasz Drwięga
62cbf9ce97 Improving txqueue logs 2016-09-23 20:30:12 +02:00
Robert Habermeier
ff0be9f361 Separate RPC serialization from implementation (#2072)
* add auto-args deserialization for RPC

* make block param member public

* change BlockParam to a more generic Trailing<T> mechanism

* define work type

* build_rpc_trait macro, implement eth protocol

* fix up tests

* move eth_filter API to new macro
2016-09-23 19:42:33 +02:00
Gav Wood
84ba75f7cb Add hash as CLI function (#1995)
* Add hash as CLI function

* Use streaming SHA3.
2016-09-23 15:28:09 +02:00
Tomasz Drwięga
aae6d19df9 Separate path for ext code size (#2251)
* Separate path for code size

* Actually use it for EVM

* add extcodesize to TestExt
2016-09-22 19:58:42 +02:00
Robert Habermeier
723d837d05 Snapshot format changes (#2234)
Closes #2213
Omit transaction and receipt roots from abridged block.
No longer use RLP compression.

Make ordered_trie_root generic over an iterator to save an allocation.

Breaks snapshot format backwards compatibility (with other 1.4 snapshots -- it's already been broken with 1.3).

Documentation will need updating
2016-09-22 19:47:03 +02:00
Tomasz Drwięga
862feb7172 Serving content at /api/content/<hash> (#2248) 2016-09-22 18:05:36 +02:00
Tomasz Drwięga
368aca521b Fails when deserializing non-hex uints (#2247) 2016-09-22 18:02:47 +02:00
Tomasz Drwięga
15488b3e40 Fixing output of eth_call and Bytes deserialization (#2230)
* Fixing eth_call to builtins

* Fixing bytes deserialization

* Removing comment
2016-09-22 14:50:00 +02:00
Gav Wood
07b5e9a5c7 Encryption, decryption and public key RPCs. (#1946)
* Fix up pending receipts details.

* Add support for additional params and registry over RPC.

* Fix tests.

* Add test, additional fix.

Fixes #1932.

* Fix up tests.

* Fix test.

* Fix test.

* Remove unused use.

* Add encryption, decryption and public-key RPCs.

* Remove &
2016-09-22 14:48:22 +02:00
Denis S. Soldatov aka General-Beck
5e0dcd0892 Update gitlab-ci
fix x86_64-pc-windows-msvc
2016-09-21 22:37:34 +07:00
Denis S. Soldatov aka General-Beck
79ce410299 Update .gitlab-ci.yml 2016-09-21 21:19:34 +07:00
Denis S. Soldatov aka General-Beck
e0afb8cd53 Update gitlab-ci
update deploy
2016-09-21 20:48:01 +07:00
Denis S. Soldatov aka General-Beck
5d0491f9af Update gitlab-ci
add deploy to S3
2016-09-21 18:45:21 +07:00
Arkadiy Paronyan
0688716af6 Handle RLP to string UTF-8 decoding errors (#2217) 2016-09-21 12:59:46 +02:00
Robert Habermeier
a100b9d09e Remove panickers from trie iterators (#2209)
* port trie iterators to use error handling

* use new trie iterators in snapshot

allows proper recovery from a premature periodic snapshot
2016-09-21 12:56:13 +02:00
Tomasz Drwięga
8c111da70b Limit for logs filter. (#2180)
* Limit for logs filter.

* Moving limit inside the filter object

* Fixing tests
2016-09-21 11:51:10 +01:00
Tomasz Drwięga
2e6684dae8 Various state copy optimizations (#2172)
* Avoid cloning clean stuff

* Don't clone state when closing/locking blocks

* handle errors in commit

* revert `close_and_lock` changes

* defer state root update until post state commit
2016-09-21 11:49:11 +01:00
Tomasz Drwięga
b7e2afd5c0 New signer token RPC & Initial signer connection without token. (#2096)
* Allowing signer to use initial token

* Generating new tokens via RPC

* Fixing RPC tests

* Fixing signer doctest

* whitespace

[ci:skip]

* whitespace

[ci:skip]
2016-09-21 11:44:49 +01:00
keorn
c57e3cefe4 sync check method 2016-09-21 10:29:44 +02:00
Robert Habermeier
93f82a1164 Merge pull request #2161 from ethcore/fixes
Fixing evm-debug
2016-09-20 19:21:25 +02:00
Denis S. Soldatov aka General-Beck
9b6d30f729 Update gitlab-ci
remove -export
2016-09-20 22:01:50 +07:00
Tomasz Drwięga
0921dffd86 Fixing trait definition 2016-09-20 16:25:22 +02:00
Robert Habermeier
28adfc32a1 Merge pull request #2204 from ethcore/sync-fix
Fix syncing with pv63 peers
2016-09-20 15:50:57 +02:00
keorn
9d23915caf more simulation methods 2016-09-20 15:48:17 +02:00
arkpar
302f8a190f Fix syncing with pv63 peers 2016-09-20 17:36:56 +08:00
keorn
44c4845d84 fix up step switching test 2016-09-19 18:40:25 +02:00
keorn
d84f94975f add proposer step to seal 2016-09-19 18:00:39 +02:00
keorn
7f177f27d8 revert dummy_client changes 2016-09-19 14:52:43 +02:00
keorn
49fba0b548 Merge branch 'master' into auth-round
Conflicts:
	ethcore/src/miner/miner.rs
	sync/Cargo.toml
2016-09-19 14:35:44 +02:00
keorn
551b5d7b6c Merge remote-tracking branch 'parity/master' 2016-09-19 14:33:59 +02:00
keorn
ce3e8750c9 additional consensus test 2016-09-19 14:33:11 +02:00
Robert Habermeier
48be60905d Merge pull request #2162 from ethcore/jsonrpc-bump
Bumping jsonrpc-core & jsonrpc-http-server
2016-09-19 13:02:23 +02:00
Tomusdrw
b6df3759c8 Breaking the line 2016-09-19 12:16:22 +02:00
Tomusdrw
98ee2e44f7 Fixing tests 2016-09-19 12:12:50 +02:00
keorn
49b8e144fd initial mocknet with chain notify 2016-09-19 10:43:01 +02:00
keorn
fdcda41280 add tracing 2016-09-19 10:42:36 +02:00
keorn
6af888f9e4 disable TemporaryPath panic 2016-09-19 10:41:35 +02:00
keorn
c6c45db1d0 add devtools dependency 2016-09-19 10:41:01 +02:00
keorn
b31e732ebe temporary is_sealer check disable 2016-09-19 10:39:57 +02:00
keorn
b144bd2b84 add tracing 2016-09-19 10:38:47 +02:00
Tomusdrw
110e58607f Bumping jsonrpc-core & jsonrpc-http-server 2016-09-19 01:54:44 +02:00
Tomusdrw
9bf29a555a Fixing evm-debug 2016-09-19 01:51:59 +02:00
Tomasz Drwięga
7f7e74869c Bump clippy & Fix warnings (#2109)
* Bump clippy

* Fixing warnings
2016-09-16 23:03:26 +02:00
Robert Habermeier
851b639ecb Merge pull request #2102 from ethcore/import-stats
Import command summary
2016-09-16 13:05:03 +02:00
arkpar
0124f985c3 Added docs 2016-09-16 12:18:27 +02:00
Robert Habermeier
f8f39c4369 check for existence of deprecated ethash file before attempting delete (#2103) 2016-09-16 08:57:38 +02:00
arkpar
cc845c61d3 Import summary 2016-09-15 16:56:10 +02:00
Robert Habermeier
c16bf7face Merge pull request #2078 from ethcore/bigint_crates
Get bigint on crates.io
2016-09-15 16:54:30 +02:00
keorn
167cfd4caa Enable sealing if Engine provides internal sealing given author (#2084)
* enable internal sealing based on author

* add tests, keep track of engine sealing status

* method to check if default address is_sealer

* simplify constructors

* fix typo
2016-09-15 12:12:15 +02:00
keorn
3419549c16 revamp dummy_client to take accounts 2016-09-14 17:30:57 +02:00
keorn
44fe864826 new highway to miner, set_author 2016-09-14 17:30:09 +02:00
keorn
d3ec8588c4 new constructor that takes AccountProvider 2016-09-14 17:29:35 +02:00
keorn
bb59c2288e docs on authority spec 2016-09-14 17:28:57 +02:00
keorn
c482b8ffb6 enable sealing only is authority 2016-09-14 17:28:15 +02:00
Robert Habermeier
c8533a31fa Merge pull request #2070 from ethcore/config-files
Config files
2016-09-14 15:16:04 +02:00
keorn
a44e2b0497 Merge remote-tracking branch 'parity/should-seal' into auth-round 2016-09-14 14:38:47 +02:00
keorn
7c82a10ecc fix typo 2016-09-14 14:34:47 +02:00
keorn
c6c951dd15 Merge remote-tracking branch 'parity/should-seal' into auth-round 2016-09-14 14:05:17 +02:00
Denis S. Soldatov aka General-Beck
77a3bf1a62 Update gitlab-ci
add allow_failure: true to rust beta
2016-09-14 19:00:43 +07:00
keorn
68fd862671 simplify constructors 2016-09-14 13:56:28 +02:00
Robert Habermeier
9dbc49b76e adjust targets.sh to new bigint name 2016-09-14 12:26:54 +02:00
kristoffer
2ba4968cd5 Remove old cache data (#2081) 2016-09-14 12:02:52 +02:00
Tomasz Drwięga
9ed9857fba Logs limit & log_index bug (#2073)
* Limiting number of logs

* Test for logs

* Fixing logs ordering and indexing

* Fixing sort

* unwrap -> expect

* Revert "unwrap -> expect"

This reverts commit e99e6e77f37692fe568448e768aa72775de8d0cd.
2016-09-14 12:02:30 +02:00
keorn
b2c0a9d531 introduce ethkey dependency to generate txs 2016-09-14 11:26:39 +02:00
keorn
faa9c7fb1b add new TestNet transaction issuing 2016-09-14 11:25:23 +02:00
keorn
7eac946fdb remove unused original TestNet method 2016-09-14 11:24:38 +02:00
keorn
28a088eea7 add client own_tx import through client 2016-09-14 11:22:43 +02:00
keorn
bedbe6e65e update test spec loading 2016-09-14 11:20:22 +02:00
keorn
ddb6fec171 add new test specs 2016-09-14 11:17:39 +02:00
keorn
7f05021075 Merge remote-tracking branch 'parity/should-seal' into auth-round 2016-09-14 10:59:33 +02:00
keorn
0880d4ad8f method to check if default address is_sealer 2016-09-14 10:49:44 +02:00
Denis S. Soldatov aka General-Beck
21cc368066 Update gitlab-ci
update name
2016-09-14 14:35:09 +07:00
keorn
2bd82269e8 add tests, keep track of engine sealing status 2016-09-14 00:00:26 +02:00
Denis S. Soldatov aka General-Beck
2d96af4229 Delete deploy.sh 2016-09-14 03:06:12 +07:00
Denis S. Soldatov aka General-Beck
06353f2beb Create deploy.sh
move deploy.sh to scripts
2016-09-14 03:05:19 +07:00
keorn
fef94205e3 enable internal sealing based on author 2016-09-13 19:59:34 +02:00
Denis S. Soldatov aka General-Beck
aa949c3f04 Update gitlab-ci 2016-09-14 00:42:02 +07:00
Denis S. Soldatov aka General-Beck
a872484891 Add new file deploy.sh
Deploy binaries
2016-09-13 22:03:50 +07:00
keorn
bdba4230aa Merge remote-tracking branch 'parity/master' 2016-09-13 16:01:51 +02:00
keorn
099468107e Merge remote-tracking branch 'parity/master' into auth-round 2016-09-13 16:01:19 +02:00
keorn
da2f117aef new test_net holding Client 2016-09-13 15:58:32 +02:00
Tomasz Drwięga
325967cadb Fixing removal from gas price when moving future->current (#2076)
* Fixing removal from gas price when moving future->current

* unwrap -> expect
2016-09-13 15:41:38 +02:00
Robert Habermeier
42a8ea0002 prepare bigint for crates.io 2016-09-13 15:27:18 +02:00
keorn
341e06481e Split internal sealing from work preparation (#2071)
* separate block preparation methods

* Split internal sealing from work sealing, add cli option

* replace cli with engine method, simplify

* More docs about sealing types. Bypass work in external txs.

* split requires_reseal, add test and new test miner
2016-09-13 15:09:07 +02:00
keorn
eee6be1ce3 implement new predicate trait 2016-09-13 14:23:52 +02:00
keorn
6a33f8b369 state constructor used only in tests 2016-09-13 14:22:44 +02:00
keorn
67601327af make test helpers not test, add some docs 2016-09-13 14:21:12 +02:00
keorn
8b9e7c0ba5 Merge remote-tracking branch 'parity/split-internal-seal' into auth-round 2016-09-13 12:57:52 +02:00
keorn
e41b6c410f split requires_reseal, add test and new test miner 2016-09-13 12:52:14 +02:00
Robert Habermeier
83ddce011d ensure the target folder doesn't exist before renaming (#2074) 2016-09-13 10:33:03 +02:00
Tomasz Drwięga
27d30fca22 Fixing tests 2016-09-12 14:18:33 +02:00
keorn
1e20716bf9 Merge remote-tracking branch 'parity/split-internal-seal' into auth-round 2016-09-12 12:50:50 +02:00
keorn
4bfdeea9e5 More docs about sealing types. Bypass work in external txs. 2016-09-12 12:46:03 +02:00
Robert Habermeier
bc9b7cbcc1 Merge pull request #2055 from ethcore/dapp-norefresh
Get rid of 'Dapp is being downloaded' page
2016-09-12 11:36:37 +02:00
keorn
d98f69cf58 Merge remote-tracking branch 'parity/split-internal-seal' into auth-round 2016-09-12 11:36:16 +02:00
keorn
d6e5637459 Merge branch 'master' into split-internal-seal 2016-09-12 11:11:42 +02:00
keorn
c0201bd891 replace cli with engine method, simplify 2016-09-12 11:07:40 +02:00
Tomasz Drwięga
d046a7d5d4 no-config flag 2016-09-12 09:01:47 +02:00
Tomasz Drwięga
db59d9a4ae Merge branch 'master' into config-files 2016-09-12 00:57:25 +02:00
Tomasz Drwięga
b7bf10d62d Adding nice error messages for invalid configs. 2016-09-12 00:36:38 +02:00
Robert Habermeier
edcc4080d5 fix failing master build: update tests to new init_restore signature. (#2069) 2016-09-11 20:17:05 +02:00
Robert Habermeier
dcfd7eab6d Local snapshot restore (#2058)
* restore from local snapshot

* update status with chunks done

* rework local restore trigger
2016-09-11 14:05:59 +02:00
Robert Habermeier
fd4361e284 import: keep informant going until finished (#2065) 2016-09-11 14:04:56 +02:00
Robert Habermeier
835460a098 Merge pull request #2059 from ethcore/snap_service_tests
Add a few tests for the snapshot service
2016-09-11 13:27:57 +02:00
keorn
cadca6403a Split internal sealing from work sealing, add cli option 2016-09-11 13:23:32 +02:00
Tomasz Drwięga
62de1c3891 Config files WiP 2016-09-10 22:14:15 +02:00
keorn
4e75686ef8 separate block preparation methods 2016-09-10 14:41:41 +02:00
Tomusdrw
151606e7f4 Merge branch 'master' into dapp-norefresh
Conflicts:
	dapps/src/apps/fetcher.rs
	dapps/src/handlers/fetch.rs
2016-09-10 11:28:23 +02:00
Robert Habermeier
53b22da1c1 Merge pull request #2046 from ethcore/ipc-tweaks-3
IPC tweaks
2016-09-09 17:31:59 +02:00
Robert Habermeier
ff65ac7106 Merge pull request #2064 from General-Beck/master
Update arm* Docker
2016-09-09 17:13:05 +02:00
Denis S. Soldatov aka General-Beck
e59694f60d Update Ubuntu arm Dockerfile
remove CC and CXX
2016-09-09 19:31:54 +07:00
Denis S. Soldatov aka General-Beck
eebdc862dc Update Dockerfile ubuntu-aarch64
remove CC and CXX
2016-09-09 19:31:01 +07:00
keorn
965dde8223 enable TestNet with custom spec 2016-09-09 11:49:03 +02:00
Denis S. Soldatov aka General-Beck
9caafa01d9 Update gitlab-ci
deploy only:
    - master
    - beta
    - tags
    - stable
2016-09-09 16:32:11 +07:00
Robert Habermeier
8b971966b3 Merge pull request #2050 from ethcore/dapps-content
Fetching any content-addressed content
2016-09-08 17:38:37 +02:00
Denis S. Soldatov aka General-Beck
860bc5ff17 Update gitlab-ci
Add test runner
2016-09-08 21:58:18 +07:00
keorn
fc3d01ec71 add tests, fixes, simplifications 2016-09-08 16:27:54 +02:00
Robert Habermeier
bcd96398c6 Merge github.com:ethcore/parity into snapshot_tests 2016-09-08 12:46:15 +02:00
Robert Habermeier
ff17174cf1 also test abort_restore 2016-09-08 12:44:10 +02:00
keorn
747898d8e7 add new engine to spec 2016-09-08 12:28:59 +02:00
Robert Habermeier
756b7a3e67 test folder-deleting guards 2016-09-08 12:27:13 +02:00
Robert Habermeier
c65a5c8e9c add restored_is_equivalent test 2016-09-08 12:14:53 +02:00
keorn
3a68fab066 new simple authority engine 2016-09-08 12:12:24 +02:00
keorn
c31eab53ea add non renewing timer 2016-09-08 10:36:19 +02:00
keorn
9fe62d9750 adjust default timeouts 2016-09-08 10:31:46 +02:00
Denis S. Soldatov aka General-Beck
012a1f328b Update gitlab-ci 2016-09-08 01:50:05 +07:00
Denis S. Soldatov aka General-Beck
ebad54a3a6 Update gitlab-ci
replace test with build and add CXX to armv7
2016-09-08 01:47:34 +07:00
Robert Habermeier
b0f6bf2e78 remove client_db field from snapshot service 2016-09-07 19:38:59 +02:00
Denis S. Soldatov aka General-Beck
a2f475986f Update gitlab-ci
add allow_failure: true to armv7
2016-09-08 00:26:18 +07:00
Denis S. Soldatov aka General-Beck
1c4f5b98a5 Update gitlab-ci 2016-09-07 23:49:44 +07:00
keorn
4ccbec1148 Merge remote-tracking branch 'parity/master' into bft
Conflicts:
	sync/src/api.rs
	sync/src/lib.rs
2016-09-07 16:54:39 +02:00
keorn
ba21bafd7b tests and fixes 2016-09-07 16:25:42 +02:00
Robert Habermeier
57d5c35bb6 Use proper database configuration in snapshots. (#2052)
* use proper database config in snapshot service

* add snapshot path to parity directories struct

* fix RPC tests
2016-09-07 15:27:28 +02:00
Robert Habermeier
541b14a4ab periodic snapshot tweaks (#2054)
* periodic snapshot tweaks

* set SNAPSHOT_HISTORY to 500
2016-09-07 15:27:14 +02:00
Marek Kotewicz
7bde9dc372 Merge pull request #2057 from ethcore/ethkey-cli
ethkey-cli
2016-09-07 14:20:41 +02:00
debris
e9593e0abb ethkey-cli 2016-09-07 13:59:14 +02:00
Marek Kotewicz
e12788f3a4 Merge pull request #2056 from ethcore/ethstore-cli
Forward ethstore-cli feature
2016-09-07 13:52:40 +02:00
arkpar
fca2b1a242 Forward ethstore-cli feature 2016-09-07 13:49:11 +02:00
Robert Habermeier
916ce03c10 Merge pull request #2049 from ethcore/spec_load_errors
handling invalid spec jsons properly, additional tests, closes #1840
2016-09-07 11:52:11 +02:00
debris
61d3d74934 fixed compiling rpc tests 2016-09-07 10:36:18 +02:00
debris
ba806a6359 Merge branch 'master' of github.com:ethcore/parity into spec_load_errors 2016-09-07 10:24:58 +02:00
Tomasz Drwięga
6f88b7f084 Get rid of 'Dapp is being downloaded' page 2016-09-07 00:10:09 +02:00
Robert Habermeier
31cd965d66 Merge pull request #2044 from ethcore/periodic_snapshot
Periodic snapshots
2016-09-06 18:34:31 +02:00
Robert Habermeier
f054a7b8d5 more info on current periodic snapshot 2016-09-06 17:44:11 +02:00
Robert Habermeier
46581e173d check block queue size before taking periodic snapshot 2016-09-06 15:49:44 +02:00
Robert Habermeier
1e2cdedc9b merge with master 2016-09-06 15:41:56 +02:00
Arkadiy Paronyan
5c5d9c8ccd Snapshot sync (#2047)
* PV64 sync

* Tests

* Client DB restore

* Snapshot restoration over IPC

* Upating test

* Minor tweaks

* Upating test
2016-09-06 15:31:13 +02:00
keorn
45e6b4ac9d seal generation and verificatio 2016-09-06 12:26:06 +02:00
Robert Habermeier
09bc675e6a address grumbles 2016-09-05 22:59:34 +02:00
Tomasz Drwięga
8460733e31 Add test for urlhint 2016-09-05 22:31:24 +02:00
Tomasz Drwięga
96778d8e93 Fixing content path creation 2016-09-05 21:58:48 +02:00
Tomasz Drwięga
840b64b813 Merge branch 'master' into dapps-content
Conflicts:
	dapps/src/apps/fetcher.rs
	dapps/src/apps/urlhint.rs
	dapps/src/handlers/client/mod.rs
	dapps/src/handlers/fetch.rs
	dapps/src/lib.rs
	dapps/src/page/local.rs
2016-09-05 20:05:59 +02:00
Tomasz Drwięga
8c86405798 Content resolving 2016-09-05 19:07:13 +02:00
keorn
91fbaf935c Merge remote-tracking branch 'parity/master' into bft
Conflicts:
	ethcore/src/client/client.rs
2016-09-05 18:16:09 +02:00
keorn
0af4bf23a9 add internal timeout service, test proposer switching 2016-09-05 17:51:29 +02:00
debris
aa8b871e49 handling invalid spec jsons properly, additional tests, closes #1840 2016-09-05 17:41:34 +02:00
keorn
8851acec7c fix propose collect locking 2016-09-05 17:06:43 +02:00
Marek Kotewicz
9655920896 Merge pull request #2033 from ethcore/dapps-sync
Nice error pages for Dapps & Signer
2016-09-05 15:33:50 +02:00
Robert Habermeier
46b1224f7c Merge branch 'master' into periodic_snapshot 2016-09-05 14:50:43 +02:00
Robert Habermeier
f0ef5e6943 keep snapshot watcher alive 2016-09-05 14:25:56 +02:00
Robert Habermeier
4e466f09db Add a few small snapshot tests (#2038)
* add manifest data test

* begin tests for io

* add unit tests for snapshot io

* service smoke test

* remove empty service module
2016-09-05 12:24:03 +02:00
Robert Habermeier
2bf235e226 use more mocking in tests 2016-09-05 12:17:21 +02:00
Marek Kotewicz
da2c2e5fc6 facelift for traces, added errors (#2042)
* evm errors facelift

* facelift for traces, added errors with description

* additional tests for traces json serialization
2016-09-05 11:56:44 +02:00
Tomasz Drwięga
e2377dd510 Merge branch 'master' into dapps-sync
Conflicts:
	dapps/src/handlers/fetch.rs
2016-09-05 08:43:07 +02:00
Nikolay Volf
2fc70902e7 further tweaking of ipc entities lifecycle 2016-09-03 11:31:29 +03:00
Tomasz Drwięga
59f18ab958 Fetching content from HTTPS using rustls (#2024)
* Fetching https

* Fetching dispatcher (HTTP, HTTPS)

* Fetching from github

* Chunked encoding parser

* Abort support

* Fixing tests and review comments

* Cargo.lock order [ci skip]

* Relaxed -> SeqCst
2016-09-03 01:34:32 +02:00
Tomasz Drwięga
c0b097832b Skipping log when there are no transactions were sent (#2045) 2016-09-03 01:33:34 +02:00
Robert Habermeier
a0541738ab disabling of periodic snapshots with the --no-periodic-snapshot flag 2016-09-02 20:30:06 +02:00
Robert Habermeier
d9eb87cae7 add guard for temporary directories 2016-09-02 19:00:20 +02:00
Robert Habermeier
1c450f616d register the watcher as a ChainNotify 2016-09-02 18:48:07 +02:00
Robert Habermeier
e3749b3bc4 implement snapshot watcher 2016-09-02 18:28:47 +02:00
Robert Habermeier
04dee54cb3 add take_snapshot to snapshot service 2016-09-02 16:15:25 +02:00
Tomasz Drwięga
b5863cc6ad Merge branch 'master' into dapps-https
Conflicts:
	Cargo.lock
2016-09-02 14:22:37 +02:00
Robert Habermeier
e0feaa9d4d Merge pull request #2034 from ethcore/rlp-crate
rlp as separate crate
2016-09-02 13:48:09 +02:00
Tomasz Drwięga
e2e6b11dc7 Fixing uint serialization (#2037) 2016-09-02 11:38:15 +02:00
Tomasz Drwięga
5b27ea3b4d Fixing new transactions without alternating (#2039) 2016-09-02 11:37:45 +02:00
Tomasz Drwięga
d0bc80e58a Fixign tests 2016-09-02 10:10:51 +02:00
Tomasz Drwięga
cabb028c1c Propagating transactions to peers on timer. (#2035) 2016-09-01 19:07:58 +02:00
Tomasz Drwięga
9f8482e968 Consistent capitalization of titles 2016-09-01 15:33:26 +02:00
Robert Habermeier
bb6243c550 merge with master 2016-09-01 15:07:06 +02:00
Tomasz Drwięga
f93bbe7917 Cargo.lock order [ci skip] 2016-09-01 15:02:14 +02:00
Robert Habermeier
74ffcff99c port parity itself 2016-09-01 14:55:07 +02:00
Robert Habermeier
d763664d16 port network, sync, rpc 2016-09-01 14:49:12 +02:00
Robert Habermeier
5dd56aa070 port ethcore 2016-09-01 14:29:59 +02:00
keorn
83c371e6d4 add non renewing timer 2016-09-01 14:12:26 +02:00
Tomasz Drwięga
36c83a456b Merge branch 'master' into dapps-https
Conflicts:
	Cargo.lock
2016-09-01 13:37:23 +02:00
Robert Habermeier
eb7b62a61c move rlp to separate crate, port ethcore-util to it 2016-09-01 13:36:32 +02:00
Tomasz Drwięga
31dbbf5431 Merge branch 'master' into dapps-sync
Conflicts:
	Cargo.lock
	dapps/src/router/mod.rs
	signer/src/ws_server/session.rs
2016-09-01 13:36:28 +02:00
Robert Habermeier
9a5668f802 get rid of populatable and bytesconvertable traits (#2019) 2016-09-01 12:23:31 +02:00
Nikolay Volf
3439c06a1c Synchronization tweaks for IPC services (#2028)
* using sequentally consistent checks

* making shutdown method synchronous

* redndant line
2016-09-01 12:04:19 +02:00
Tomasz Drwięga
b4f3c4bd7a Asynchronous RPC support (#2017)
* Async RPC

* Limiting number of transactions in queue

* Fixing tests

* Bumping serde and jsonrpc-core

* serde updated to 0.8

* fixed failing tests

* Bumping ipc server

* Fixing API for endpoints

* Experimenting with tests without --release mode
2016-09-01 12:00:00 +02:00
Tomasz Drwięga
a9bc021022 404 pages for dapps resources 2016-09-01 11:54:09 +02:00
Robert Habermeier
ca03cfa58a Merge pull request #2016 from ethcore/archivedb-assert
Disable ArchiveDB counter check
2016-09-01 11:50:48 +02:00
Tomasz Drwięga
055ff91464 Bumping ui 2016-09-01 11:29:40 +02:00
Robert Habermeier
c8f3be2d93 Merge pull request #2025 from ethcore/triedbmut_double_insert
always process trie death row on commit, add more tracing
2016-09-01 11:19:22 +02:00
Tomasz Drwięga
89f1444c51 Displaying special page when syncing. 404 instead of redirection 2016-09-01 11:16:19 +02:00
Tomasz Drwięga
9c4d31f548 Signer errors 2016-09-01 10:26:25 +02:00
Marek Kotewicz
e159b5f413 Merge pull request #2026 from ethcore/fixed_transaction_addresses
fixed transaction addresses mapping, fixes #1971
2016-09-01 10:21:10 +02:00
keorn
0fcbf8d99f fix after merge 2016-08-31 18:43:24 +02:00
keorn
2f3d162f57 Merge remote-tracking branch 'parity/master' into bft 2016-08-31 18:19:24 +02:00
keorn
e475d0bf4c initial timeouts 2016-08-31 18:18:02 +02:00
debris
f5f4736e7c simplified iterator 2016-08-31 17:36:49 +02:00
debris
996b4b9dc0 fixed transaction addresses mapping, fixes #1971 2016-08-31 16:55:43 +02:00
Tomasz Drwięga
2789824a51 Much nicer error pages 2016-08-31 16:53:22 +02:00
Robert Habermeier
c61da07516 always process trie death row on commit, add more tracing 2016-08-31 14:28:56 +02:00
Tomasz Drwięga
99acd4914e Fixing tests and review comments 2016-08-31 13:28:54 +02:00
Arkadiy Paronyan
25e6a4e45f Adding tests for dapps server. (#2021)
* Fixing redirection. Adding tests

* Adding proof
2016-08-31 12:56:53 +02:00
Marek Kotewicz
a88440ebae Merge pull request #2018 from ethcore/builtin_trait
builtin trait refactoring
2016-08-31 12:01:54 +02:00
Tomasz Drwięga
8f13b550d8 Abort support 2016-08-31 11:45:09 +02:00
Tomasz Drwięga
0f0af9c1a5 Merge branch 'master' into dapps-https
Conflicts:
	Cargo.lock
	dapps/src/handlers/fetch.rs
2016-08-31 11:29:23 +02:00
Tomasz Drwięga
bff847b90c Chunked encoding parser 2016-08-31 11:22:25 +02:00
Robert Habermeier
6945dc37de Merge pull request #1967 from gabx/master
Start parity with systemd
2016-08-30 18:25:55 +02:00
Arno Gaboury
0e0e770a5a Merge pull request #1 from arkpar/patch-1
Updated wording
2016-08-30 18:23:32 +02:00
Tomasz Drwięga
dcea5c2526 Adding proof 2016-08-30 16:56:46 +02:00
Tomasz Drwięga
76966ab2fc Fixing redirection. Adding tests 2016-08-30 16:06:20 +02:00
Tomasz Drwięga
2a549386a6 Fetching from github 2016-08-30 15:14:22 +02:00
Nikolay Volf
efc846bb3e Control service for IPC (#2013)
* hypervisor extension

* sorted with shutdown-wait

* hypervisor lifecycle alter
2016-08-30 14:05:02 +02:00
Tomasz Drwięga
6f321d9849 LRU cache for dapps (#2006)
Conflicts:
	dapps/Cargo.toml
	dapps/src/lib.rs
2016-08-30 14:04:52 +02:00
Robert Habermeier
a34bd389ce builtin trait refactoring 2016-08-30 13:55:37 +02:00
Tomasz Drwięga
61879ef144 Fetching dispatcher (HTTP, HTTPS) 2016-08-30 13:27:43 +02:00
Marek Kotewicz
6da60afaba Merge pull request #2005 from ethcore/dapps-hosts
CLI for valid hosts for dapps server
2016-08-29 16:58:09 +02:00
Tomasz Drwięga
25fc919913 Fetching https 2016-08-29 16:34:37 +02:00
keorn
d7499044e3 move seal into commit 2016-08-29 14:32:37 +02:00
keorn
4025645188 accumulate seal in precommit 2016-08-29 12:09:51 +02:00
arkpar
4394c31a21 Disabled counter check 2016-08-29 12:07:49 +02:00
Nipunn Koorapati
4389742ca3 Make the block header struct's internals private (#2000)
* Make the block header struct's internals private

Currently, this involves a lot of explicit cloning, but we
could migrate the return types of the get_* functions to
be copies rather than references since they are mostly copy
types anyway.

I opted to eliminate the constructor in favor of using
Default::default() plus calling a bunch of setters. This
is similar to the model that a Google Protobuf client uses
and I think it looks fine.

* Drop some unnecessary cloning by comparing references

* Fix compiler errors from callsites in tests.
2016-08-29 11:35:23 +02:00
Arkadiy Paronyan
3fa0cfe803 Updated wording
Updating wording a bit and fixed remaining capitalization issues.
2016-08-29 11:33:42 +02:00
Denis S. Soldatov aka General-Beck
2d883c43c9 Update gitlab-ci.yml
add export to see ENV
2016-08-27 02:58:32 +07:00
keorn
a12a764d6c add rounds check, simplify tests 2016-08-26 19:27:50 +02:00
keorn
f60d4645ed move vote with addresses, remove recover check 2016-08-26 19:27:02 +02:00
Denis S. Soldatov aka General-Beck
73958ae8f8 Update gitlab-ci
replace build positions
2016-08-26 23:12:44 +07:00
Denis S. Soldatov aka General-Beck
7b945fcda4 Update gitlab-ci
add test stage
2016-08-26 22:07:05 +07:00
keorn
a4ba7262ad update Signature and ipc usage 2016-08-26 13:16:56 +02:00
keorn
e7a9bf4df8 impl Clone for Signature 2016-08-26 11:27:54 +02:00
keorn
2cc2bd6518 impl Hash for Signature 2016-08-26 10:40:00 +02:00
Robert Habermeier
1c19a807d9 Take control of recovered snapshots, start restoration asynchronously (#2010)
* take control of given snapshot

* start snapshot restoration asynchronously,
2016-08-25 22:20:44 +02:00
keorn
8bd0034ced Merge remote-tracking branch 'parity/master' into bft
Conflicts:
	ethcore/src/error.rs
2016-08-25 19:24:29 +02:00
keorn
fcae03e55f propose message test 2016-08-25 19:22:10 +02:00
Robert Habermeier
2aef81cf90 remove internal locking from DBTransaction (#2003) 2016-08-25 16:43:56 +02:00
Robert Habermeier
b18407b9e3 Snapshot optimizations (#1991)
* apply RLP compression to abridged blocks

* add memorydb consolidate

* code hash optimization

* add warning to snapshot restoration CLI
2016-08-25 14:28:45 +02:00
Marek Kotewicz
09e0842f56 Revert removing ecies (#2009)
* revert removing ECIES without MAC

* removed reverted change in encrypt
2016-08-25 12:11:06 +02:00
Tomasz Drwięga
0baa8a53a5 dapps-hosts configuration 2016-08-25 09:00:05 +02:00
Denis S. Soldatov aka General-Beck
3e07135df3 Update gitlab-ci
remove linker from arm* target
2016-08-25 02:54:23 +07:00
Denis S. Soldatov aka General-Beck
d0a5e9f148 Update gitlab-ci
remove failure from armv7 (pi2)
2016-08-25 02:10:02 +07:00
Robert Habermeier
d47361270a Merge pull request #1998 from ethcore/bloom_optimization
small blooms optimization
2016-08-24 20:39:39 +02:00
Marek Kotewicz
f6b8dd0e78 protection from adding empty traces && assertion in traces db (#1994)
* protection from readding empty traces && assertion in traces db

* simplified assert
2016-08-24 18:35:53 +02:00
Nikolay Volf
d631162440 Stratum IPC service (#1959)
* boot binaries reorg & helpers

* stratum ipc service

* spaces in cli
2016-08-24 18:35:38 +02:00
Marek Kotewicz
b0d462c6c9 Signature cleanup (#1921)
* Address renamed to H160 at bigint library level

* moved uint specific test from util to bigint library

* naming

* unifing hashes in progress

* unifing hashes

* cleanup redundant unwraps in tests

* Removing util/crypto in progress.

* fixed compiling

* signature cleanup in progress

* new module - ethcrypto used by ethstore and ethcore-network

* fixed compiling

* fixed compiling

* fixed merge
2016-08-24 18:35:21 +02:00
Arkadiy Paronyan
f07a1e6baf Fixed neighbours collection (#1996) 2016-08-24 17:00:14 +02:00
Robert Habermeier
190e4db266 Trie query recording and AccountDB factory for no mangling (#1944)
* optionally use no mangling for accountdb

* add the recorder module

* get_recorded for tries, no virtual dispatch on readonly tries

* add recording test
2016-08-24 16:53:36 +02:00
Tomasz Drwięga
33e0a234f2 Validating sha3 of a dapp bundle (#1993)
* Validating sha3 of a file

* sha3 in utils

* Removing devtools
2016-08-24 16:53:07 +02:00
keorn
77f06be7fb fix error propagation 2016-08-24 15:55:47 +02:00
debris
b96d4eaddb bloom optimization 2016-08-24 13:59:50 +02:00
Nipunn Koorapati
3dd1bdda50 Improve eth_getWork timeout test rpc_get_work_should_timeout (#1992) 2016-08-24 13:20:15 +02:00
keorn
1cb3c164da propose step 2016-08-24 11:58:49 +02:00
Gabx
a8d26470e2 capitalize some words 2016-08-23 23:17:06 +02:00
Gabx
ef0bb691bc capitalize some words 2016-08-23 20:10:13 +02:00
Tomasz Drwięga
124a5da75e Resolving URLs from contract (#1964)
* Fetching dapp from github.

* Unpacking dapp

* Removing hardcodes

* Proper Host validation

* Randomizing paths

* Splitting into files

* Serving donwloaded apps from different path

* Extracting URLHint to separate module

* Whitespace and docs

* Resolving from URLHint contract

* Fixing test

* Resolving githubhint url from registrar

* Proper redirections

* Fixing test

* fixing ethstore [ci skip]

* Correct version of registrar

* Removing superfluous Box
2016-08-23 19:28:21 +02:00
Denis S. Soldatov aka General-Beck
dda57d9294 Update gitlab-ci
add allow_failure: true to arm*
2016-08-23 23:18:13 +07:00
keorn
99a143eb37 change broadcast interface, add basic message handling 2016-08-23 17:19:23 +02:00
Nipunn Koorapati
2a550c2adf Add timeout for eth_getWork call (#1975) 2016-08-23 17:07:00 +02:00
Tomasz Drwięga
59ede63eda CLI for Signer interface (#1980)
* # This is a combination of 2 commits.
# The first commit's message is:

CLI to specify signer interface

# This is the 2nd commit message:

Fixing paths on windows

* CLI to specify signer interface
2016-08-23 16:53:24 +02:00
Nikolay Volf
9fc144cc2f timeout multiplied (#1990) 2016-08-23 16:51:23 +02:00
arkpar
207f9d02f2 Started inf networking 2016-08-23 15:52:05 +02:00
keorn
535c502771 delete old test 2016-08-23 15:44:01 +02:00
Nikolay Volf
f2be2aec68 Merge pull request #1983 from ethcore/ipc-rel-dir
Use relative path for IPC sockets
2016-08-23 16:36:23 +04:00
Marek Kotewicz
d4777f9296 fixed #1933 (#1979) 2016-08-23 13:31:03 +02:00
Gav Wood
35ecb396b6 Market-orientated transaction pricing (#1963)
* Market-orientated transaction pricing

Avoid a strict gas-limit and let the market decide through using
a priority queue based around gas pricing for transactions. In
periods of low transaction volume, they'll be processed for a lower
fee.

* Fix tests, add/clarify documentation, fix some logic.

* Change default to reflect CLI.

* Specify type.

* Make test more precise.

* Fix doc test
2016-08-23 13:30:33 +02:00
keorn
3aa862c9c2 add test, start tendermint 2016-08-23 12:58:40 +02:00
Nikolay Volf
2d0a7c33bb address grumbles 2016-08-23 13:41:12 +03:00
Tomasz Drwięga
f4826d1b2a Bump clippy (#1982) 2016-08-23 10:10:19 +02:00
Tomasz Drwięga
6cb439fbc8 Fixing serde overflow error (#1977) 2016-08-23 10:10:12 +02:00
Tomasz Drwięga
81ac3a1936 Merge pull request #1984 from wdv4758h/fix-open
Fix open on FreeBSD
2016-08-23 08:54:33 +02:00
Chiu-Hsiang Hsu
869803f60e Fix open on FreeBSD 2016-08-23 13:53:27 +08:00
keorn
3515a72fa0 proposal vote collector 2016-08-22 20:00:41 +02:00
Nikolay Volf
7c5435d3bb fix to use relative socket path 2016-08-22 19:41:58 +03:00
keorn
89011dcc34 fix locking patterns, add simple test 2016-08-22 17:33:04 +02:00
Nipunn Koorapati
880b7b811e Upgrade hyper dependency to 0.9 (#1973) 2016-08-22 15:16:23 +02:00
keorn
2f5aeda44f reusable voting on hashes 2016-08-22 13:19:23 +02:00
Gabx
32530c61ed fix typos 2016-08-21 19:41:54 +02:00
keorn
a20a0de48f add spec 2016-08-21 15:28:40 +02:00
keorn
74939a43d6 fix types and lifetimes 2016-08-21 15:27:39 +02:00
Tomasz Drwięga
f69b3f8522 Create network-specific nodes files (#1970) 2016-08-21 11:23:47 +02:00
Nikolay Volf
fcfacc76d5 Merge pull request #1965 from ethcore/removing-syntex
Getting rid of syntex
2016-08-19 20:17:50 +04:00
keorn
8da38fa98b intro simple seal bft engine 2016-08-19 17:18:30 +02:00
Gabx
87b882dec1 start parity with systemd 2016-08-19 16:53:38 +02:00
Nikolay Volf
34de330ed9 remove binaries from hypervisor (#1960) 2016-08-19 14:49:58 +02:00
Tomasz Drwięga
d996754927 Getting rid of syntex 2016-08-19 14:26:03 +02:00
Gabx
a41db5469a add systemd service file 2016-08-19 13:38:32 +02:00
Nikolay Volf
070a2157e6 Stratum protocol general (#1954)
* stratum stub

* basic subscription

* workers, authorizations stubs

* push messages

* authorizing workers

* push tests (failing)

* traits.rs forgotten

* version bump

* parking lot rwlock

* trace for else

* various fixes

* fix last test

* bump version

* logger under test mod

* dependencies dependant

* extra line demolition
2016-08-19 10:20:39 +02:00
Robert Habermeier
0e0cc20d84 keep track of first block in blockchain (#1937) 2016-08-18 22:01:57 +02:00
Nikolay Volf
d7c184bd72 Merge pull request #1953 from ethcore/state_module
introduce ethcore/state module
2016-08-18 21:56:08 +04:00
Nikolay Volf
0c38197b43 Merge pull request #1956 from ethcore/db-cache
Apply settings to column families
2016-08-18 21:55:53 +04:00
Denis S. Soldatov aka General-Beck
32d07c7339 update gitlab-ci
Defines the names of branches and tags for which the job will be built
  only:
    - master
    - beta
    - tags
    - stable
2016-08-18 23:41:33 +07:00
Robert Habermeier
9adf77581c move column family constants into db module (#1955) 2016-08-18 18:24:49 +02:00
Robert Habermeier
8c9f7a3e64 fix up tests, remove dead code 2016-08-18 18:17:21 +02:00
Robert Habermeier
eed7d006f1 Fix up tests, remove dead state-diff code 2016-08-18 18:13:32 +02:00
Arkadiy Paronyan
8159d743ef ECIES without MAC (#1948)
* Use random IV for ECIES AES

* ECIES encrypt/decrypt for a single message

* Derive IV from shared secret
2016-08-18 18:08:02 +02:00
arkpar
f0cb835f44 Apply settings to column families 2016-08-18 18:04:54 +02:00
Robert Habermeier
b5c64da612 file moving 2016-08-18 17:56:05 +02:00
Nikolay Volf
d279794c32 remove unused imports (#1951) 2016-08-18 15:01:24 +02:00
Tomasz Drwięga
0620a03e56 Fetchable dapps (#1949)
* Fetching dapp from github.

* Unpacking dapp

* Removing hardcodes

* Proper Host validation

* Randomizing paths

* Splitting into files

* Serving donwloaded apps from different path

* Extracting URLHint to separate module

* Whitespace and docs
2016-08-18 12:19:09 +02:00
Robert Habermeier
57dbdaada9 remove impossible panickers related to infallible db transaction (#1947) 2016-08-18 09:43:56 +02:00
Arkadiy Paronyan
108024e98d Cache address hash (#1943) 2016-08-18 09:42:46 +02:00
Robert Habermeier
eed3ef403a remove randomness from bigint benches, fix warnings (#1945) 2016-08-17 22:36:55 +02:00
Gav Wood
ccdf80f4dc Fix several RPCs (#1926)
* Fix up pending receipts details.

* Add support for additional params and registry over RPC.

* Fix tests.

* Add test, additional fix.

Fixes #1932.

* Fix up tests.

* Fix test.

* Fix test.
2016-08-17 19:25:02 +02:00
Tomasz Drwięga
bcf6b0b7d8 Bump clippy, fix warnings (#1939)
* Bumping clippy

* Fixing warnings
2016-08-17 16:06:41 +02:00
Arkadiy Paronyan
e2cf8a894f DB WAL size limit (#1935)
* Limit WAL size

* Check pruning by db modification date (#1924)
2016-08-17 15:55:26 +02:00
Nikolay Volf
46f029e65c Use explicit global namespaces in codegen (#1928)
* ipc as a deault feature

* first part of purge

* second part of ns purge
2016-08-17 15:54:24 +02:00
Nikolay Volf
e01ba60dd9 add drop with timeout (#1934) 2016-08-17 15:53:34 +02:00
Nikolay Volf
8710b4a3f4 ipc as a deault feature (#1927) 2016-08-17 15:52:57 +02:00
NikVolf
b45020fc7f add doc for address 2016-08-16 11:47:12 +03:00
Nikolay Volf
9e88acb8c8 fix benches compilation (#1931) 2016-08-15 22:02:53 +02:00
Denis S. Soldatov aka General-Beck
751c76917d Update gitlab-ci (#1929)
[ci skip] remove CC&CXX from arm* builds
2016-08-15 19:29:50 +02:00
Arkadiy Paronyan
72a546e22e Update README.md 2016-08-15 17:37:52 +02:00
Marek Kotewicz
c39761c042 ethkey and ethstore use hash structures from bigint (#1851)
* Address renamed to H160 at bigint library level

* moved uint specific test from util to bigint library

* naming

* unifing hashes in progress

* unifing hashes

* cleanup redundant unwraps in tests

* fixed compiling
2016-08-15 15:09:00 +02:00
Tomasz Drwięga
e6d9fb2ad3 Bumping Parity UI [ci skip] (#1920) 2016-08-12 11:21:18 +02:00
Tomasz Drwięga
f5a8c73be5 Adding entrypoints to docker images (#1909) 2016-08-12 09:18:42 +02:00
Arkadiy Paronyan
0e7b06d3eb Save nodes removed from backing_overlay until commit (#1917) 2016-08-11 18:58:11 +02:00
Gav Wood
ca54b8e493 RPC for importing geth keys (#1916)
* Address book for local addresses.

* Simple disk-backed address book.

* Add test and keep file with keys.

* View and import Geth keys.

* Fix test.

* Fix up author info.

[ci:skip]
2016-08-11 18:31:28 +02:00
Tomasz Drwięga
f114a933a3 Peers RPC + UI displaying active/connected/max peers (#1915)
* Peers API

* Bumping Parity-UI

* Fixing tests
2016-08-11 17:19:20 +02:00
Tomasz Drwięga
07844d611e Merge pull request #1912 from ethcore/rpc-address-from-phrase
RPC for deriving address from phrase.
2016-08-11 10:49:36 +02:00
Gav Wood
6ab78a0091 RPC for deriving address from phrase.
Fixed #1911
2016-08-10 21:23:17 +02:00
Nikolay Volf
588529e578 polling & connection timeouts (#1910) 2016-08-10 21:07:01 +02:00
Arkadiy Paronyan
417b70f90f Don't return deleted nodes that are not yet flushed (#1908) 2016-08-10 20:49:26 +02:00
Gav Wood
286b67d54b Wallet rpcs (#1898)
* Add wallet RPCs.

* Add wordlist file.

* Add standard brain wallet tests.

* Allow import of JSON wallets.

* Address grumble.
2016-08-10 17:57:40 +02:00
Nikolay Volf
c32244ea4a Fix binary serialization bug (#1907)
* fix compilation and add it to the ci run

* no separator?

* use quotes and spaces

* literal macro and some tests

* reproduced in a failing test

* fix

* literal macro and some tests

* reproduced in a failing test

* fix
2016-08-10 16:50:23 +02:00
Marek Kotewicz
464516d01d fixed #1889, .DS_Store is no longer treated as key file (#1892)
* fixed #1889, .DS_Store is no longer treated as key file

* ethstore filters directories, hidden files and common system files

* fixed compiling
2016-08-10 16:42:15 +02:00
Tomasz Drwięga
a427208f79 Purging .derefs, fixing clippy warnings. (#1890)
* Fixing clippy warnings

* Purging derefs

* Simplifying engine derefs

* Simplifying more engine derefs
2016-08-10 16:29:40 +02:00
Robert Habermeier
8018b69440 Merge pull request #1904 from ethcore/db-repair
RocksDB version bump
2016-08-10 14:58:39 +02:00
arkpar
0a06c9d3aa RocksDB version bump 2016-08-10 13:23:39 +02:00
Nikolay Volf
4ae83f3004 Fix ipc compilation and add ipc feature to test targets (#1902)
* fix compilation and add it to the ci run

* no separator?

* use quotes and spaces
2016-08-10 13:06:24 +02:00
Robert Habermeier
4efddb9c50 Merge pull request #1896 from ethcore/fix-geth-2
Autocreating geth dir if none and geth mode on
2016-08-09 22:15:18 +02:00
NikVolf
26ff6af948 Merge branch 'fix-geth-2' of github.com:ethcore/parity into fix-geth-2 2016-08-09 19:00:36 +03:00
NikVolf
dcdd42fec4 fix regression with geth dir 2016-08-09 18:59:01 +03:00
NikVolf
0fb318e982 fix regression with geth dir 2016-08-09 18:38:44 +03:00
Nikolay Volf
7f5c178b1c Merge pull request #1886 from ethcore/ver-bump
v1.4.0 in master
2016-08-09 17:15:01 +03:00
Nikolay Volf
8bc92dacee Merge pull request #1891 from ethcore/miner-log
Adding more details to miner log
2016-08-09 17:13:59 +03:00
Marek Kotewicz
3b6bc974f3 Merge pull request #1827 from ethcore/move_hash
moved hash.rs to bigint library
2016-08-09 14:57:57 +02:00
Marek Kotewicz
505a054d10 Merge pull request #1877 from ethcore/cache_manager_order
fixed cache_manager lock order
2016-08-09 14:12:58 +02:00
Tomasz Drwięga
73c19fd4b5 Fixing miner deadlock (#1885) 2016-08-09 11:45:07 +02:00
arkpar
69d1c1f237 v1.4.0 2016-08-09 11:40:57 +02:00
debris
974d537849 Merge branch 'master' of github.com:ethcore/parity into move_hash 2016-08-09 09:58:18 +02:00
Marek Kotewicz
ab8b763ea5 Merge pull request #1882 from ethcore/ws-rs
Updating WS + Increasing token validity
2016-08-09 09:39:03 +02:00
Tomasz Drwięga
3f076869c5 Fixing test 2016-08-08 22:53:54 +02:00
Tomasz Drwięga
fe8a57451a Merge branch 'master' into ws-rs 2016-08-08 21:24:52 +02:00
Tomusdrw
74e66c3f0e ws-rs update 2016-08-08 21:24:10 +02:00
Robert Habermeier
2f1ade8116 take snapshot at specified block and slightly better informants (#1873)
* prettier informant for snapshot creation

* allow taking snapshot at a given block

* minor tweaks

* elaborate on cli
2016-08-08 18:41:30 +02:00
Tomasz Drwięga
59b0f8c7a3 RPC errors & logs (#1845)
* Refactoring errors in RPC

* Updating jsonrpc-core

* Fixing code_at

* Avoid mentioning obvious segments in proof

[ci:skip]
2016-08-08 17:25:15 +02:00
Arkadiy Paronyan
7ed4bded52 Reduce max open files (#1876) 2016-08-08 17:18:29 +02:00
Arkadiy Paronyan
2e5a6ea1ff Send new block hashes to all peers (#1875) 2016-08-08 17:18:10 +02:00
Arkadiy Paronyan
6762447229 Use UntrustedRlp for block verification (#1872) 2016-08-08 16:56:35 +02:00
Robert Habermeier
9732da5101 replace cache manager with mutex; reduce lock hold times 2016-08-08 16:25:48 +02:00
debris
c5a0024eeb fixed cache_manager lock order 2016-08-08 16:14:37 +02:00
Arkadiy Paronyan
35451e31d4 Update cache usage on commiting block info (#1871) 2016-08-08 13:47:00 +02:00
Marek Kotewicz
3f261690a5 Merge pull request #1870 from ethcore/evm-mem
Validating conversion U256->usize when doing gas calculation (for 32bits)
2016-08-08 11:32:54 +02:00
debris
8269887949 parse().unwrap() -> into() 2016-08-08 11:18:48 +02:00
debris
e9b42d59e8 Merge branch 'master' of github.com:ethcore/parity into move_hash 2016-08-08 10:49:16 +02:00
Tomasz Drwięga
10b18db833 Validating u256->usize conversion 2016-08-08 10:26:28 +02:00
Tomasz Drwięga
bdf6a5660e Fixing gas conversion 2016-08-08 09:59:00 +02:00
Arkadiy Paronyan
4f32a9ccc1 Sync to peers with confirmed fork block only (#1863) 2016-08-07 22:42:35 +02:00
debris
88c5f555a9 Merge branch 'master' of github.com:ethcore/parity into move_hash 2016-08-06 00:03:07 +02:00
debris
74c9ecbfd6 fixed compiling 2016-08-05 14:09:21 +02:00
debris
e79623704e Merge branch 'master' of github.com:ethcore/parity into move_hash 2016-08-05 14:05:51 +02:00
debris
316c9093db Merge branch 'master' of github.com:ethcore/parity into move_hash 2016-08-05 10:53:34 +02:00
debris
df29fcff1a Merge branch 'split_hash' into move_hash 2016-08-05 09:56:36 +02:00
debris
1ed2de1d9b Merge branch 'master' of github.com:ethcore/parity into move_hash 2016-08-05 09:30:01 +02:00
debris
a1867a7ba6 bloomable trait 2016-08-04 15:38:16 +02:00
debris
24c7392500 removed redundant helper methods 2016-08-04 14:48:09 +02:00
debris
efca92b766 Merge branch 'master' into move_hash 2016-08-04 14:22:16 +02:00
debris
4051524462 improved naming 2016-08-04 08:52:31 +02:00
debris
03c3d16744 Merge branch 'master' of github.com:ethcore/parity into move_hash 2016-08-04 08:41:30 +02:00
debris
e8c451ac82 cleaning up hash reexports 2016-08-03 18:05:17 +02:00
debris
573e775ef9 Merge branch 'fixed_hash_util' into move_hash 2016-08-03 16:35:55 +02:00
debris
cad7125acc Merge branch 'master' of github.com:ethcore/parity into fixed_hash_util 2016-08-03 16:31:13 +02:00
debris
17bfc113c1 removed unused code from util and unnecessary dependency of FixedHash 2016-08-03 16:29:36 +02:00
debris
e9b3740ea8 Merge branch 'master' of github.com:ethcore/parity into move_hash 2016-07-30 14:14:25 +02:00
debris
4dc1d42a93 moving hash.rs to bigint in progress 2016-07-25 20:19:33 +02:00
Tomasz Drwięga
605d9d24a4 Adding more details to miner log 2016-07-18 13:50:45 +02:00
1175 changed files with 236408 additions and 92307 deletions

3
.cargo/config Normal file
View File

@@ -0,0 +1,3 @@
[target.x86_64-pc-windows-msvc]
# Link the C runtime statically ; https://github.com/paritytech/parity-ethereum/issues/6643
rustflags = ["-Ctarget-feature=+crt-static"]

22
.dockerignore Normal file
View File

@@ -0,0 +1,22 @@
# Generated by Cargo
# will have compiled files and executables
target
*.swp
*.swo
*.swn
*.DS_Store
# Visual Studio Code stuff
.vscode
# GitEye stuff
.project
# idea ide
.idea
# git stuff
.git
ethcore/res/ethereum/tests

View File

@@ -9,7 +9,7 @@ trim_trailing_whitespace=true
max_line_length=120
insert_final_newline=true
[.travis.yml]
[*.{yml,sh}]
indent_style=space
indent_size=2
tab_width=8

84
.github/CODE_OF_CONDUCT.md vendored Normal file
View File

@@ -0,0 +1,84 @@
# Code of Conduct
## 1. Purpose
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 Parity to help us create safe and positive experiences for everyone.
## 2. Open Source Citizenship
A supplemental goal of this Code of Conduct is to increase open source citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community.
Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society.
If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, we want to know.
## 3. Expected Behavior
The following behaviors are expected and requested of all community members:
* Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community.
* Exercise consideration and respect in your speech and actions.
* Attempt collaboration before conflict.
* Refrain from demeaning, discriminatory, or harassing behavior and speech.
* Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential.
* Remember that community event venues may be shared with members of the public; please be respectful to all patrons of these locations.
## 4. Unacceptable Behavior
The following behaviors are considered harassment and are unacceptable within our community:
* Violence, threats of violence or violent language directed against another person.
* Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language.
* Posting or displaying sexually explicit or violent material.
* Posting or threatening to post other peoples personally identifying information ("doxing").
* Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability.
* Inappropriate photography or recording.
* Inappropriate physical contact. You should have someones consent before touching them.
* Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances.
* Deliberate intimidation, stalking or following (online or in person).
* Advocating for, or encouraging, any of the above behavior.
* Sustained disruption of community events, including talks and presentations.
## 5. Consequences of Unacceptable Behavior
Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated.
Anyone asked to stop unacceptable behavior is expected to comply immediately.
If a community member engages in unacceptable behavior, the community organizers may take any action they deem appropriate, up to and including a temporary ban or permanent expulsion from the community without warning (and without refund in the case of a paid event).
## 6. Reporting Guidelines
If you are subject to or witness unacceptable behavior, or have any other concerns, please notify a community organizer as soon as possible. community@parity.io.
Link to reporting guidelines: [CONTRIBUTING.md](CONTRIBUTING.md)
Link to security policy: [SECURITY.md](../SECURITY.md)
Additionally, community organizers are available to help community members engage with local law enforcement or to otherwise help those experiencing unacceptable behavior feel safe. In the context of in-person events, organizers will also provide escorts as desired by the person experiencing distress.
## 7. Addressing Grievances
If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should notify Parity Technologies with a concise description of your grievance. Your grievance will be handled in accordance with our existing governing policies.
## 8. Scope
We expect all community participants (contributors, paid or otherwise; sponsors; and other guests) to abide by this Code of Conduct in all community venuesonline and in-personas well as in all one-on-one communications pertaining to community business.
This code of conduct and its related procedures also applies to unacceptable behavior occurring outside the scope of community activities when such behavior has the potential to adversely affect the safety and well-being of community members.
## 9. Contact info
You can contact Parity via Email: community@parity.io
## 10. License and attribution
This Code of Conduct is distributed under a [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/).
Portions of text derived from the [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Geek Feminism Anti-Harassment Policy](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy).
Retrieved on November 22, 2016 from [http://citizencodeofconduct.org/](http://citizencodeofconduct.org/)

33
.github/CONTRIBUTING.md vendored Normal file
View File

@@ -0,0 +1,33 @@
# Contributing Guidelines
## Do you have a question?
Check out our [Basic Usage](https://wiki.parity.io/Basic-Usage), [Configuration](https://wiki.parity.io/Configuring-Parity-Ethereum), and [FAQ](https://wiki.parity.io/FAQ) articles on our [wiki](https://wiki.parity.io/)!
See also frequently asked questions [tagged with `parity`](https://ethereum.stackexchange.com/questions/tagged/parity?sort=votes&pageSize=50) on Stack Exchange.
## Report bugs!
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/paritytech/parity-ethereum/issues/new) in our repository and state:
- What's your Parity Ethereum version?
- What's your operating system and version?
- How did you install Parity Ethereum?
- Is your node fully synchronized?
- Did you try turning it off and on again?
Also, try to include **steps to reproduce** the issue and expand on the **actual versus expected behavior**.
## Contribute!
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).
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 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.

11
.github/ISSUE_TEMPLATE.md vendored Normal file
View File

@@ -0,0 +1,11 @@
_Before filing a new issue, please **provide the following information**._
- **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 / kovan / ...
- **Restarted**: no / yes
_Your issue description goes here below. Try to include **actual** vs. **expected behavior** and **steps to reproduce** the issue._

13
.gitignore vendored
View File

@@ -15,10 +15,18 @@
# vim stuff
*.swp
*.swo
# mac stuff
.DS_Store
# npm stuff
npm-debug.log
node_modules
# js build artifacts
.git-release.log
# gdb files
.gdb_history
@@ -30,3 +38,8 @@
# Build artifacts
out/
parity-clib-examples/cpp/build/
.vscode
rls/
/parity.*

View File

@@ -1,166 +1,206 @@
stages:
- test
- build
- deploy
- publish
- publish-onchain
- optional
image: parity/rust:gitlab-ci
variables:
GIT_DEPTH: "3"
SIMPLECOV: "true"
RUST_BACKTRACE: "1"
cache:
key: "$CI_BUILD_NAME/$CI_BUILD_REF_NAME"
untracked: true
linux-beta:
stage: build
image: ethcore/rust:beta
script:
- cargo build --release --verbose
- strip target/release/parity
tags:
- rust
- rust-beta
GIT_STRATEGY: fetch
GIT_SUBMODULE_STRATEGY: recursive
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:
- target/release/parity
name: "${CI_BUILD_NAME}_parity"
linux-stable:
stage: build
image: ethcore/rust:stable
- 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:
- cargo build --release --verbose
- strip target/release/parity
- scripts/gitlab/test-all.sh
- sccache -s
tags:
- rust
- rust-stable
artifacts:
paths:
- target/release/parity
name: "${CI_BUILD_NAME}_parity"
linux-nightly:
stage: build
image: ethcore/rust:nightly
- linux-docker
test-audit:
stage: test
script:
- cargo build --release --verbose
- strip target/release/parity
- set -e
- set -u
- cargo audit
tags:
- rust
- rust-nightly
artifacts:
paths:
- target/release/parity
name: "${CI_BUILD_NAME}_parity"
linux-centos:
stage: build
image: ethcore/rust-centos:latest
- linux-docker
build-linux:
stage: build
only: *releaseable_branches
script:
- export CXX="g++"
- export CC="gcc"
- cargo build --release --verbose
- strip target/release/parity
- scripts/gitlab/build-unix.sh
- sccache -s
<<: *collect_artifacts
tags:
- rust
- rust-centos
artifacts:
paths:
- target/release/parity
name: "${CI_BUILD_NAME}_parity"
linux-armv7:
stage: build
image: ethcore/rust-arm:latest
- linux-docker
build-darwin:
stage: build
only: *releaseable_branches
variables:
CARGO_TARGET: x86_64-apple-darwin
CC: gcc
CXX: g++
script:
- export CXX=arm-linux-gnueabihf-g++
- export CC=arm-linux-gnueabihf-gcc
- mkdir -p .cargo
- echo "[target.armv7-unknown-linux-gnueabihf]" >> .cargo/config
- echo "linker= \"arm-linux-gnueabihf-gcc\"" >> .cargo/config
- cat .cargo/config
- cargo build --target armv7-unknown-linux-gnueabihf --release --verbose
- arm-linux-gnueabihf-strip target/armv7-unknown-linux-gnueabihf/release/parity
- scripts/gitlab/build-unix.sh
tags:
- rust
- rust-arm
artifacts:
paths:
- target/armv7-unknown-linux-gnueabihf/release/parity
name: "${CI_BUILD_NAME}_parity"
linux-arm:
stage: build
image: ethcore/rust-arm:latest
- rust-osx
<<: *collect_artifacts
build-windows:
stage: build
only: *releaseable_branches
variables:
CARGO_TARGET: x86_64-pc-windows-msvc
script:
- export CXX=arm-linux-gnueabihf-g++
- export CC=arm-linux-gnueabihf-gcc
- mkdir -p .cargo
- echo "[target.arm-unknown-linux-gnueabihf]" >> .cargo/config
- echo "linker= \"arm-linux-gnueabihf-gcc\"" >> .cargo/config
- cat .cargo/config
- cargo build --target arm-unknown-linux-gnueabihf --release --verbose
- arm-linux-gnueabihf-strip target/arm-unknown-linux-gnueabihf/release/parity
tags:
- rust
- rust-arm
artifacts:
paths:
- target/arm-unknown-linux-gnueabihf/release/parity
name: "${CI_BUILD_NAME}_parity"
linux-armv6:
stage: build
image: ethcore/rust-arm:latest
script:
- export CXX=arm-linux-gnueabi-g++
- export CC=arm-linux-gnueabi-gcc
- mkdir -p .cargo
- echo "[target.arm-unknown-linux-gnueabi]" >> .cargo/config
- echo "linker= \"arm-linux-gnueabi-gcc\"" >> .cargo/config
- cat .cargo/config
- cargo build --target arm-unknown-linux-gnueabi --release --verbose
- arm-linux-gnueabi-strip target/arm-unknown-linux-gnueabi/release/parity
tags:
- rust
- rust-arm
artifacts:
paths:
- target/arm-unknown-linux-gnueabi/release/parity
name: "${CI_BUILD_NAME}_parity"
linux-aarch64:
stage: build
image: ethcore/rust-arm:latest
script:
- export CXX=aarch64-linux-gnu-g++
- export CC=aarch64-linux-gnu-gcc
- mkdir -p .cargo
- echo "[target.aarch64-unknown-linux-gnu]" >> .cargo/config
- echo "linker= \"aarch64-linux-gnu-gcc\"" >> .cargo/config
- cat .cargo/config
- cargo build --target aarch64-unknown-linux-gnu --release --verbose
- aarch64-linux-gnu-strip target/aarch64-unknown-linux-gnu/release/parity
tags:
- rust
- rust-arm
artifacts:
paths:
- target/aarch64-unknown-linux-gnu/release/parity
name: "${CI_BUILD_NAME}_parity"
darwin:
stage: build
script:
- cargo build --release --verbose
tags:
- osx
artifacts:
paths:
- target/release/parity
name: "${CI_BUILD_NAME}_parity"
windows:
stage: build
script:
- set INCLUDE=C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include;C:\vs2015\VC\include;C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt
- set LIB=C:\vs2015\VC\lib;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\x64
- set RUST_BACKTRACE=1
- SET
- rustup default stable-x86_64-pc-windows-msvc
- cargo build --release --verbose
- sh scripts/gitlab/build-windows.sh
tags:
- rust-windows
artifacts:
paths:
- target/release/parity.exe
- target/release/parity.pdb
name: "${CI_BUILD_NAME}_parity"
<<: *collect_artifacts
publish-docker:
stage: publish
only: *releaseable_branches
cache: {}
dependencies:
- build-linux
tags:
- shell
script:
- scripts/gitlab/publish-docker.sh parity
publish-snap:
stage: optional #publish
only: *releaseable_branches
image: snapcore/snapcraft
variables:
BUILD_ARCH: amd64
cache: {}
before_script: *determine_version
dependencies:
- build-linux
tags:
- rust-stable
script:
- scripts/gitlab/publish-snap.sh
allow_failure: true
<<: *collect_artifacts
publish-onnet-update:
stage: publish-onchain
only: *releaseable_branches
cache: {}
dependencies:
- build-linux
- build-darwin
- build-windows
- publish-awss3-release
before_script: *determine_version
script:
- scripts/gitlab/publish-onnet-update.sh
tags:
- linux-docker
# configures aws for fast uploads/syncs
.s3-before-script: &s3-before-script
before_script:
- mkdir -p ${HOME}/.aws
- |
cat > ${HOME}/.aws/config <<EOC
[default]
s3 =
max_concurrent_requests = 20
max_queue_size = 10000
multipart_threshold = 64MB
multipart_chunksize = 16MB
max_bandwidth = 50MB/s
use_accelerate_endpoint = false
addressing_style = path
EOC
publish-awss3-release:
image: parity/awscli:latest
stage: publish
only: *releaseable_branches
cache: {}
dependencies:
- build-linux
- build-darwin
- build-windows
variables:
GIT_STRATEGY: none
<<: *s3-before-script
script:
- echo "__________Push binaries to AWS S3____________"
- case "${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}" in
(beta|stable|nightly)
export BUCKET=releases.parity.io/ethereum;
;;
(*)
export BUCKET=builds-parity;
;;
esac
- aws s3 sync ./artifacts s3://${BUCKET}/${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}/
after_script:
- aws s3 ls s3://${BUCKET}/${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}/
--recursive --human-readable --summarize
tags:
- linux-docker
publish-docs:
stage: publish
only:
- tags
except:
- nightly
cache: {}
script:
- scripts/gitlab/publish-docs.sh
tags:
- linux-docker
build-android:
stage: optional
image: parity/rust-android:gitlab-ci
variables:
CARGO_TARGET: armv7-linux-androideabi
script:
- scripts/gitlab/build-unix.sh
tags:
- linux-docker
allow_failure: true
<<: *collect_artifacts

3
.gitmodules vendored
View File

@@ -2,3 +2,6 @@
path = ethcore/res/ethereum/tests
url = https://github.com/ethereum/tests.git
branch = develop
[submodule "ethcore/res/wasm-tests"]
path = ethcore/res/wasm-tests
url = https://github.com/paritytech/wasm-tests

View File

@@ -1,77 +0,0 @@
sudo: required
dist: trusty
language: rust
branches:
only:
- master
- /^beta-.*$/
- /^stable-.*$/
- /^beta$/
- /^stable$/
git:
depth: 3
matrix:
include:
- rust: stable
env: RUN_TESTS="true"
- rust: beta
env: RUN_COVERAGE="true"
- rust: stable
env: RUN_DOCS="true"
env:
global:
- CXX="g++-4.8"
- CC="gcc-4.8"
- RUST_BACKTRACE="1"
- RUN_TESTS="false"
- RUN_COVERAGE="false"
- RUN_DOCS="false"
# GH_TOKEN for documentation
- secure: bumJASbZSU8bxJ0EyPUJmu16AiV9EXOpyOj86Jlq/Ty9CfwGqsSXt96uDyE+OUJf34RUFQMsw0nk37/zC4lcn6kqk2wpuH3N/o85Zo/cVZY/NusBWLQqtT5VbYWsV+u2Ua4Tmmsw8yVYQhYwU2ZOejNpflL+Cs9XGgORp1L+/gMRMC2y5Se6ZhwnKPQlRJ8LGsG1dzjQULxzADIt3/zuspNBS8a2urJwlHfGMkvHDoUWCviP/GXoSqw3TZR7FmKyxE19I8n9+iSvm9+oZZquvcgfUxMHn8Gq/b44UbPvjtFOg2yam4xdWXF/RyWCHdc/R9EHorSABeCbefIsm+zcUF3/YQxwpSxM4IZEeH2rTiC7dcrsKw3XsO16xFQz5YI5Bay+CT/wTdMmJd7DdYz7Dyf+pOvcM9WOf/zorxYWSBOMYy0uzbusU2iyIghQ82s7E/Ahg+WARtPgkuTLSB5aL1oCTBKHqQscMr7lo5Ti6RpWLxEdTQMBznc+bMr+6dEtkEcG9zqc6cE9XX+ox3wTU6+HVMfQ1ltCntJ4UKcw3A6INEbw9wgocQa812CIASQ2fE+SCAbz6JxBjIAlFUnD1lUB7S8PdMPwn9plfQgKQ2A5YZqg6FnBdf0rQXIJYxQWKHXj/rBHSUCT0tHACDlzTA+EwWggvkP5AGIxRxm8jhw=
- KCOV_CMD="./kcov-master/tmp/usr/local/bin/kcov"
cache:
apt: true
directories:
- $TRAVIS_BUILD_DIR/target
- $TRAVIS_BUILD_DIR/kcov-master
- $HOME/.cargo
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- libcurl4-openssl-dev
- libelf-dev
- libdw-dev
- gcc-4.8
- g++-4.8
install:
- ([ "$RUN_COVERAGE" = "false" ]) || (test -x $KCOV_CMD) || (
wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz &&
tar xzf master.tar.gz &&
mkdir -p kcov-master/build &&
cd kcov-master/build &&
cmake .. &&
make && make install DESTDIR=../tmp &&
cd
)
script:
- if [ "$RUN_TESTS" = "true" ]; then ./test.sh --verbose; fi
- if [ "$RUN_COVERAGE" = "true" ]; then ./scripts/cov.sh "$KCOV_CMD"; fi
after_success: |
[ $TRAVIS_BRANCH = master ] &&
[ $TRAVIS_PULL_REQUEST = false ] &&
[ "$RUN_DOCS" = "true" ] &&
./scripts/doc.sh &&
pip install --user ghp-import &&
/home/travis/.local/bin/ghp-import -n target/doc &&
git push -fq https://${GH_TOKEN}@github.com/${TRAVIS_REPO_SLUG}.git gh-pages

873
CHANGELOG.md Normal file
View File

@@ -0,0 +1,873 @@
## Parity-Ethereum [v2.1.3](https://github.com/paritytech/parity-ethereum/releases/tag/v2.1.3) (2018-10-16)
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:
- 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)

4606
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,72 +1,142 @@
[package]
description = "Ethcore client."
name = "parity"
version = "1.3.0"
description = "Parity Ethereum client"
name = "parity-ethereum"
# NOTE Make sure to update util/version/Cargo.toml as well
version = "2.2.10"
license = "GPL-3.0"
authors = ["Ethcore <admin@ethcore.io>"]
build = "build.rs"
[build-dependencies]
rustc_version = "0.1"
syntex = "*"
ethcore-ipc-codegen = { path = "ipc/codegen" }
ethcore-ipc-tests = { path = "ipc/tests" }
authors = ["Parity Technologies <admin@parity.io>"]
[dependencies]
log = "0.3"
env_logger = "0.3"
rustc-serialize = "0.3"
docopt = "0.6"
time = "0.1"
num_cpus = "0.2"
blooms-db = { path = "util/blooms-db" }
log = "0.4"
env_logger = "0.5"
rustc-hex = "1.0"
docopt = "0.8"
clap = "2"
term_size = "0.3"
textwrap = "0.9"
num_cpus = "1.2"
number_prefix = "0.2"
rpassword = "0.2.1"
semver = "0.2"
ansi_term = "0.7"
lazy_static = "0.2"
regex = "0.1"
isatty = "0.1"
ctrlc = { git = "https://github.com/ethcore/rust-ctrlc.git" }
fdlimit = { path = "util/fdlimit" }
ethcore = { path = "ethcore" }
ethcore-util = { path = "util" }
ethsync = { path = "sync" }
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"] }
parity-bytes = "0.1"
ethcore-io = { path = "util/io" }
ethcore-devtools = { path = "devtools" }
ethcore-rpc = { path = "rpc" }
ethcore-signer = { path = "signer" }
ethcore-ipc-nano = { path = "ipc/nano" }
ethcore-ipc = { path = "ipc/rpc" }
ethcore-ipc-hypervisor = { path = "ipc/hypervisor" }
ethcore-light = { path = "ethcore/light" }
ethcore-logger = { path = "logger" }
json-ipc-server = { git = "https://github.com/ethcore/json-ipc-server.git" }
ethcore-dapps = { path = "dapps", optional = true }
clippy = { version = "0.0.80", optional = true}
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" }
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-rpc-client = { path = "rpc_client" }
parity-updater = { path = "updater" }
parity-version = { path = "util/version" }
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"
[dev-dependencies]
pretty_assertions = "0.1"
ipnetwork = "0.12.6"
tempdir = "0.3"
fake-fetch = { path = "util/fake-fetch" }
[target.'cfg(windows)'.dependencies]
winapi = "0.2"
winapi = { version = "0.3.4", features = ["winsock2", "winuser", "shellapi"] }
[target.'cfg(not(windows))'.dependencies]
daemonize = "0.2"
[dependencies.hyper]
version = "0.8"
default-features = false
daemonize = "0.3"
[features]
default = ["ui", "use-precompiled-js"]
ui = ["dapps", "ethcore-signer/ui"]
use-precompiled-js = ["ethcore-dapps/use-precompiled-js", "ethcore-signer/use-precompiled-js"]
dapps = ["ethcore-dapps"]
ipc = ["ethcore/ipc"]
dev = ["clippy", "ethcore/dev", "ethcore-util/dev", "ethsync/dev", "ethcore-rpc/dev", "ethcore-dapps/dev", "ethcore-signer/dev"]
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 = ["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
test-updater = ["parity-updater/test-updater"]
[lib]
path = "parity/lib.rs"
[[bin]]
path = "parity/main.rs"
name = "parity"
[profile.release]
debug = true
lto = false
[profile.dev]
[profile.release]
debug = false
[workspace]
members = [
"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",
]
[patch.crates-io]
heapsize = { git = "https://github.com/cheme/heapsize.git", branch = "ec-macfix" }

183
README.md
View File

@@ -1,92 +1,155 @@
# [Parity](https://ethcore.io/parity.html)
### Fast, light, and robust Ethereum implementation
![Parity Ethereum](docs/logo-parity-ethereum.svg)
[![Build Status][travis-image]][travis-url] [![Coverage Status][coveralls-image]][coveralls-url] [![Join the chat at https://gitter.im/ethcore/parity][gitter-image]][gitter-url] [![GPLv3][license-image]][license-url]
## The fastest and most advanced Ethereum client.
[Internal Documentation][doc-url]
<p align="center"><strong><a href="https://github.com/paritytech/parity-ethereum/releases/latest">» Download the latest release «</a></strong></p>
Be sure to check out [our wiki][wiki-url] for more information.
<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>
[travis-image]: https://travis-ci.org/ethcore/parity.svg?branch=master
[travis-url]: https://travis-ci.org/ethcore/parity
[coveralls-image]: https://coveralls.io/repos/github/ethcore/parity/badge.svg?branch=master
[coveralls-url]: https://coveralls.io/github/ethcore/parity?branch=master
[gitter-image]: https://badges.gitter.im/Join%20Chat.svg
[gitter-url]: https://gitter.im/ethcore/parity?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
[license-image]: https://img.shields.io/badge/license-GPL%20v3-green.svg
[license-url]: http://www.gnu.org/licenses/gpl-3.0.en.html
[doc-url]: http://ethcore.github.io/parity/ethcore/index.html
[wiki-url]: https://github.com/ethcore/parity/wiki
**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
- Minimal memory and storage footprint
- Synchronise in hours, not days with Warp Sync
- Modular for light integration into your service or product
## About Parity
## Technical Overview
Parity's goal is to be the fastest, lightest, and most secure Ethereum client. We are developing Parity using the sophisticated and
cutting-edge Rust programming language. Parity 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, Parity will run a JSONRPC server on `127.0.0.1:8545`. This is fully configurable and supports a number
of RPC 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.
Parity also runs a server for running decentralized apps, or "Dapps", on `http://127.0.0.1:8080`.
This includes a few useful Dapps, including Ethereum Wallet, Maker OTC, and a node status page.
In a near-future release, it will be easy to install Dapps and use them through this web interface.
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).
If you run into an issue while using parity, feel free to file one in this repository
or hop on our [gitter chat room][gitter-url] to ask a question. We are glad to help!
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.
Parity's current release is 1.2. You can download it at https://ethcore.io/parity.html or follow the instructions
below to build from source.
## Build Dependencies
----
Parity Ethereum requires **Rust version 1.29.x** to build.
## Build dependencies
We recommend installing Rust through [rustup](https://www.rustup.rs/). If you don't already have `rustup`, you can install it like this:
Parity is fully compatible with Stable Rust.
- Linux:
```bash
$ curl https://sh.rustup.rs -sSf | sh
```
We recommend installing Rust through [rustup](https://www.rustup.rs/). If you don't already have rustup, you can install it like this:
Parity Ethereum also requires `gcc`, `g++`, `libudev-dev`, `pkg-config`, `file`, `make`, and `cmake` packages to be installed.
- Linux and OSX:
```bash
$ curl https://sh.rustup.rs -sSf | sh
```
- OSX:
```bash
$ curl https://sh.rustup.rs -sSf | sh
```
`clang` is required. It comes with Xcode command line tools or can be installed with homebrew.
- 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
$ rustup default stable-x86_64-pc-windows-msvc
```
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:
```
$ rustup default stable-x86_64-pc-windows-msvc
```
Once you have `rustup` installed, then you need to install:
* [Perl](https://www.perl.org)
* [Yasm](https://yasm.tortall.net)
Once you have rustup, install parity or download and build from source
Make sure that these binaries are in your `PATH`. After that, you should be able to build Parity Ethereum from source.
----
## Quick install
## Build from Source Code
```bash
cargo install --git https://github.com/ethcore/parity.git parity
```
----
## Build from source
```bash
# download Parity code
$ git clone https://github.com/ethcore/parity
$ cd parity
# download Parity Ethereum code
$ git clone https://github.com/paritytech/parity-ethereum
$ cd parity-ethereum
# build in release mode
$ cargo build --release
$ cargo build --release --features final
```
This will produce an executable in the `./target/release` subdirectory.
This produces an executable in the `./target/release` subdirectory.
Note: if cargo fails to parse manifest try:
```bash
$ ~/.cargo/bin/cargo build --release
```
Note, when compiling a crate and you receive errors, it's in most cases your outdated version of Rust, or some of your crates have to be recompiled. Cleaning the repository will most likely solve the issue if you are on the latest stable version of Rust, try:
```bash
$ cargo clean
```
This always compiles the latest nightly builds. If you want to build stable or beta, do a
```bash
$ git checkout stable
```
or
```bash
$ git checkout beta
```
## Simple One-Line Installer for Mac and Linux
```bash
bash <(curl https://get.parity.io -L)
```
The one-line installer always defaults to the latest beta release. To install a stable release, run:
```bash
bash <(curl https://get.parity.io -L) -r stable
```
## Start Parity Ethereum
### Manually
To start Parity Ethereum manually, just run
To get started, just run
```bash
$ ./target/release/parity
```
and parity will begin syncing the Ethereum blockchain.
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. 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.
## Parity Ethereum toolchain
In addition to the Parity Ethereum client, there are additional tools in this repository available:
- [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.
## Join the chat!
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)
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)
## Documentation
Official website: https://parity.io
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 @@
environment:
matrix:
- TARGET: x86_64-pc-windows-msvc
cert:
secure: ESPpYVVAMG1fbJx6kq4ct/g9SQTXac4Hs6xXr6Oh4Zrk2dwYglNjxmzErdPnvu7gs/gekzrJ6KEQHYRc+5+4dKg6rRADQ681NLVx9vOggBs=
certpass:
secure: 0BgXJqxq9Ei34/hZ7121FQ==
keyfile: C:\users\appveyor\Certificates.p12
branches:
only:
- master
- /^beta-.*$/
- /^stable-.*$/
- /^beta$/
- /^stable$/
install:
- git submodule update --init --recursive
- ps: Install-Product node 6
- ps: Start-FileDownload "https://static.rust-lang.org/dist/rust-1.10.0-x86_64-pc-windows-msvc.exe"
- ps: Start-FileDownload "https://github.com/ethcore/win-build/raw/master/SimpleFC.dll" -FileName nsis\SimpleFC.dll
- ps: Start-FileDownload "https://github.com/ethcore/win-build/raw/master/vc_redist.x64.exe" -FileName nsis\vc_redist.x64.exe
- rust-1.10.0-x86_64-pc-windows-msvc.exe /VERYSILENT /NORESTART /DIR="C:\Program Files (x86)\Rust"
- SET PATH=%PATH%;C:\Program Files (x86)\Rust\bin;C:\Program Files (x86)\NSIS;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin
- rustc -V
- cargo -V
- node -v
- npm -v
build: off
test_script:
- cargo test --verbose --release
after_test:
- cargo build --verbose --release
- ps: if($env:cert) { Start-FileDownload $env:cert -FileName $env:keyfile }
- ps: if($env:cert) { signtool sign /f $env:keyfile /p $env:certpass target\release\parity.exe }
- makensis.exe nsis\installer.nsi
- ps: if($env:cert) { signtool sign /f $env:keyfile /p $env:certpass nsis\installer.exe }
artifacts:
- path: nsis\installer.exe
name: Windows Installer (x86_64)
cache:
- target
- C:\users\appveyor\.cargo -> appveyor.yml

8
chainspec/Cargo.toml Normal file
View File

@@ -0,0 +1,8 @@
[package]
name = "chainspec"
version = "0.1.0"
authors = ["Marek Kotewicz <marek@parity.io>"]
[dependencies]
ethjson = { path = "../json" }
serde_json = "1.0"

49
chainspec/src/main.rs Normal file
View File

@@ -0,0 +1,49 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
extern crate serde_json;
extern crate ethjson;
use std::{fs, env, process};
use ethjson::spec::Spec;
fn quit(s: &str) -> ! {
println!("{}", s);
process::exit(1);
}
fn main() {
let mut args = env::args();
if args.len() != 2 {
quit("You need to specify chainspec.json\n\
\n\
./chainspec <chainspec.json>");
}
let path = args.nth(1).expect("args.len() == 2; qed");
let file = match fs::File::open(&path) {
Ok(file) => file,
Err(_) => quit(&format!("{} could not be opened", path)),
};
let spec: Result<Spec, _> = serde_json::from_reader(file);
if let Err(err) = spec {
quit(&format!("{} {}", path, err.to_string()));
}
println!("{} is valid", path);
}

View File

@@ -1,46 +0,0 @@
[package]
description = "Parity Dapps crate"
name = "ethcore-dapps"
version = "1.3.0"
license = "GPL-3.0"
authors = ["Ethcore <admin@ethcore.io"]
build = "build.rs"
[lib]
[dependencies]
log = "0.3"
jsonrpc-core = "2.0"
jsonrpc-http-server = { git = "https://github.com/ethcore/jsonrpc-http-server.git" }
hyper = { default-features = false, git = "https://github.com/ethcore/hyper" }
unicase = "1.3"
url = "1.0"
rustc-serialize = "0.3"
serde = "0.7.0"
serde_json = "0.7.0"
serde_macros = { version = "0.7.0", optional = true }
ethcore-rpc = { path = "../rpc" }
ethcore-util = { path = "../util" }
parity-dapps = { git = "https://github.com/ethcore/parity-ui.git", version = "0.6" }
# List of apps
parity-dapps-status = { git = "https://github.com/ethcore/parity-ui.git", version = "0.6" }
parity-dapps-home = { git = "https://github.com/ethcore/parity-ui.git", version = "0.6" }
parity-dapps-wallet = { git = "https://github.com/ethcore/parity-ui.git", version = "0.6", optional = true }
mime_guess = { version = "1.6.1" }
clippy = { version = "0.0.80", optional = true}
[build-dependencies]
serde_codegen = { version = "0.7.0", optional = true }
syntex = "*"
[features]
default = ["serde_codegen", "extra-dapps"]
extra-dapps = ["parity-dapps-wallet"]
nightly = ["serde_macros"]
dev = ["clippy", "ethcore-rpc/dev", "ethcore-util/dev"]
use-precompiled-js = [
"parity-dapps-status/use-precompiled-js",
"parity-dapps-home/use-precompiled-js",
"parity-dapps-wallet/use-precompiled-js"
]

View File

@@ -1,101 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
use std::sync::Arc;
use hyper::{server, net, Decoder, Encoder, Next};
use api::types::{App, ApiError};
use api::response::{as_json, as_json_error, ping_response};
use handlers::extract_url;
use endpoint::{Endpoint, Endpoints, Handler, EndpointPath};
#[derive(Clone)]
pub struct RestApi {
local_domain: String,
endpoints: Arc<Endpoints>,
}
impl RestApi {
pub fn new(local_domain: String, endpoints: Arc<Endpoints>) -> Box<Endpoint> {
Box::new(RestApi {
local_domain: local_domain,
endpoints: endpoints,
})
}
fn list_apps(&self) -> Vec<App> {
self.endpoints.iter().filter_map(|(ref k, ref e)| {
e.info().map(|ref info| App::from_info(k, info))
}).collect()
}
}
impl Endpoint for RestApi {
fn to_handler(&self, _path: EndpointPath) -> Box<Handler> {
Box::new(RestApiRouter {
api: self.clone(),
handler: as_json_error(&ApiError {
code: "404".into(),
title: "Not Found".into(),
detail: "Resource you requested has not been found.".into(),
}),
})
}
}
struct RestApiRouter {
api: RestApi,
handler: Box<Handler>,
}
impl server::Handler<net::HttpStream> for RestApiRouter {
fn on_request(&mut self, request: server::Request<net::HttpStream>) -> Next {
let url = extract_url(&request);
if url.is_none() {
// Just return 404 if we can't parse URL
return Next::write();
}
let url = url.expect("Check for None is above; qed");
let endpoint = url.path.get(1).map(|v| v.as_str());
let handler = endpoint.and_then(|v| match v {
"apps" => Some(as_json(&self.api.list_apps())),
"ping" => Some(ping_response(&self.api.local_domain)),
_ => None,
});
// Overwrite default
if let Some(h) = handler {
self.handler = h;
}
self.handler.on_request(request)
}
fn on_request_readable(&mut self, decoder: &mut Decoder<net::HttpStream>) -> Next {
self.handler.on_request_readable(decoder)
}
fn on_response(&mut self, res: &mut server::Response) -> Next {
self.handler.on_response(res)
}
fn on_response_writable(&mut self, encoder: &mut Encoder<net::HttpStream>) -> Next {
self.handler.on_response_writable(encoder)
}
}

View File

@@ -1,36 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
use serde::Serialize;
use serde_json;
use endpoint::Handler;
use handlers::{ContentHandler, EchoHandler};
pub fn as_json<T : Serialize>(val: &T) -> Box<Handler> {
Box::new(ContentHandler::ok(serde_json::to_string(val).unwrap(), "application/json".to_owned()))
}
pub fn as_json_error<T : Serialize>(val: &T) -> Box<Handler> {
Box::new(ContentHandler::not_found(serde_json::to_string(val).unwrap(), "application/json".to_owned()))
}
pub fn ping_response(local_domain: &str) -> Box<Handler> {
Box::new(EchoHandler::cors(vec![
format!("http://{}", local_domain),
// Allow CORS calls also for localhost
format!("http://{}", local_domain.replace("127.0.0.1", "localhost")),
]))
}

View File

@@ -1,21 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
#[cfg(feature = "serde_macros")]
include!("types.rs.in");
#[cfg(not(feature = "serde_macros"))]
include!(concat!(env!("OUT_DIR"), "/types.rs"));

View File

@@ -1,50 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
use endpoint::EndpointInfo;
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub struct App {
pub id: String,
pub name: String,
pub description: String,
pub version: String,
pub author: String,
#[serde(rename="iconUrl")]
pub icon_url: String,
}
impl App {
/// Creates `App` instance from `EndpointInfo` and `id`.
pub fn from_info(id: &str, info: &EndpointInfo) -> Self {
App {
id: id.to_owned(),
name: info.name.to_owned(),
description: info.description.to_owned(),
version: info.version.to_owned(),
author: info.author.to_owned(),
icon_url: info.icon_url.to_owned(),
}
}
}
#[derive(Debug, PartialEq, Serialize, Deserialize)]
pub struct ApiError {
pub code: String,
pub title: String,
pub detail: String,
}

View File

@@ -1,116 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
use serde_json;
use std::io;
use std::io::Read;
use std::fs;
use std::path::PathBuf;
use page::LocalPageEndpoint;
use endpoint::{Endpoints, EndpointInfo};
use api::App;
struct LocalDapp {
id: String,
path: PathBuf,
info: EndpointInfo,
}
fn local_dapps(dapps_path: String) -> Vec<LocalDapp> {
let files = fs::read_dir(dapps_path.as_str());
if let Err(e) = files {
warn!(target: "dapps", "Unable to load local dapps from: {}. Reason: {:?}", dapps_path, e);
return vec![];
}
let files = files.expect("Check is done earlier");
files.map(|dir| {
let entry = try!(dir);
let file_type = try!(entry.file_type());
// skip files
if file_type.is_file() {
return Err(io::Error::new(io::ErrorKind::NotFound, "Not a file"));
}
// take directory name and path
entry.file_name().into_string()
.map(|name| (name, entry.path()))
.map_err(|e| {
info!(target: "dapps", "Unable to load dapp: {:?}. Reason: {:?}", entry.path(), e);
io::Error::new(io::ErrorKind::NotFound, "Invalid name")
})
})
.filter_map(|m| {
if let Err(ref e) = m {
debug!(target: "dapps", "Ignoring local dapp: {:?}", e);
}
m.ok()
})
.map(|(name, path)| {
// try to get manifest file
let info = read_manifest(&name, path.clone());
LocalDapp {
id: name,
path: path,
info: info,
}
})
.collect()
}
fn read_manifest(name: &str, mut path: PathBuf) -> EndpointInfo {
path.push("manifest.json");
fs::File::open(path.clone())
.map_err(|e| format!("{:?}", e))
.and_then(|mut f| {
// Reat file
let mut s = String::new();
try!(f.read_to_string(&mut s).map_err(|e| format!("{:?}", e)));
// Try to deserialize manifest
serde_json::from_str::<App>(&s).map_err(|e| format!("{:?}", e))
})
.map(|app| EndpointInfo {
name: app.name,
description: app.description,
version: app.version,
author: app.author,
icon_url: app.icon_url,
})
.unwrap_or_else(|e| {
warn!(target: "dapps", "Cannot read manifest file at: {:?}. Error: {:?}", path, e);
EndpointInfo {
name: name.into(),
description: name.into(),
version: "0.0.0".into(),
author: "?".into(),
icon_url: "icon.png".into(),
}
})
}
pub fn local_endpoints(dapps_path: String) -> Endpoints {
let mut pages = Endpoints::new();
for dapp in local_dapps(dapps_path) {
pages.insert(
dapp.id,
Box::new(LocalPageEndpoint::new(dapp.path, dapp.info))
);
}
pages
}

View File

@@ -1,69 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
use endpoint::{Endpoints, Endpoint};
use page::PageEndpoint;
use proxypac::ProxyPac;
use parity_dapps::WebApp;
mod fs;
extern crate parity_dapps_status;
extern crate parity_dapps_home;
pub const DAPPS_DOMAIN : &'static str = ".parity";
pub const RPC_PATH : &'static str = "rpc";
pub const API_PATH : &'static str = "api";
pub const UTILS_PATH : &'static str = "parity-utils";
pub fn main_page() -> &'static str {
"/home/"
}
pub fn utils() -> Box<Endpoint> {
Box::new(PageEndpoint::with_prefix(parity_dapps_home::App::default(), UTILS_PATH.to_owned()))
}
pub fn all_endpoints(dapps_path: String) -> Endpoints {
// fetch fs dapps at first to avoid overwriting builtins
let mut pages = fs::local_endpoints(dapps_path);
// Home page needs to be safe embed
// because we use Cross-Origin LocalStorage.
// TODO [ToDr] Account naming should be moved to parity.
pages.insert("home".into(), Box::new(
PageEndpoint::new_safe_to_embed(parity_dapps_home::App::default())
));
pages.insert("proxy".into(), ProxyPac::boxed());
insert::<parity_dapps_status::App>(&mut pages, "parity");
insert::<parity_dapps_status::App>(&mut pages, "status");
// Optional dapps
wallet_page(&mut pages);
pages
}
#[cfg(feature = "parity-dapps-wallet")]
fn wallet_page(pages: &mut Endpoints) {
extern crate parity_dapps_wallet;
insert::<parity_dapps_wallet::App>(pages, "wallet");
}
#[cfg(not(feature = "parity-dapps-wallet"))]
fn wallet_page(_pages: &mut Endpoints) {}
fn insert<T : WebApp + Default + 'static>(pages: &mut Endpoints, id: &str) {
pages.insert(id.to_owned(), Box::new(PageEndpoint::new(T::default())));
}

View File

@@ -1,45 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! URL Endpoint traits
use hyper::{server, net};
use std::collections::BTreeMap;
#[derive(Debug, PartialEq, Default, Clone)]
pub struct EndpointPath {
pub app_id: String,
pub host: String,
pub port: u16,
}
#[derive(Debug, PartialEq, Clone)]
pub struct EndpointInfo {
pub name: String,
pub description: String,
pub version: String,
pub author: String,
pub icon_url: String,
}
pub trait Endpoint : Send + Sync {
fn info(&self) -> Option<&EndpointInfo> { None }
fn to_handler(&self, path: EndpointPath) -> Box<server::Handler<net::HttpStream> + Send>;
}
pub type Endpoints = BTreeMap<String, Box<Endpoint>>;
pub type Handler = server::Handler<net::HttpStream> + Send;

View File

@@ -1,44 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Authorization Handlers
use hyper::{server, Decoder, Encoder, Next};
use hyper::net::HttpStream;
use hyper::status::StatusCode;
pub struct AuthRequiredHandler;
impl server::Handler<HttpStream> for AuthRequiredHandler {
fn on_request(&mut self, _request: server::Request<HttpStream>) -> Next {
Next::write()
}
fn on_request_readable(&mut self, _decoder: &mut Decoder<HttpStream>) -> Next {
Next::write()
}
fn on_response(&mut self, res: &mut server::Response) -> Next {
res.set_status(StatusCode::Unauthorized);
res.headers_mut().set_raw("WWW-Authenticate", vec![b"Basic realm=\"Parity\"".to_vec()]);
Next::write()
}
fn on_response_writable(&mut self, _encoder: &mut Encoder<HttpStream>) -> Next {
Next::end()
}
}

View File

@@ -1,101 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Simple Content Handler
use std::io::Write;
use hyper::{header, server, Decoder, Encoder, Next};
use hyper::net::HttpStream;
use hyper::status::StatusCode;
pub struct ContentHandler {
code: StatusCode,
content: String,
mimetype: String,
write_pos: usize,
}
impl ContentHandler {
pub fn ok(content: String, mimetype: String) -> Self {
ContentHandler {
code: StatusCode::Ok,
content: content,
mimetype: mimetype,
write_pos: 0
}
}
pub fn forbidden(content: String, mimetype: String) -> Self {
ContentHandler {
code: StatusCode::Forbidden,
content: content,
mimetype: mimetype,
write_pos: 0
}
}
pub fn not_found(content: String, mimetype: String) -> Self {
ContentHandler {
code: StatusCode::NotFound,
content: content,
mimetype: mimetype,
write_pos: 0
}
}
pub fn new(code: StatusCode, content: String, mimetype: String) -> Self {
ContentHandler {
code: code,
content: content,
mimetype: mimetype,
write_pos: 0,
}
}
}
impl server::Handler<HttpStream> for ContentHandler {
fn on_request(&mut self, _request: server::Request<HttpStream>) -> Next {
Next::write()
}
fn on_request_readable(&mut self, _decoder: &mut Decoder<HttpStream>) -> Next {
Next::write()
}
fn on_response(&mut self, res: &mut server::Response) -> Next {
res.set_status(self.code);
res.headers_mut().set(header::ContentType(self.mimetype.parse().unwrap()));
Next::write()
}
fn on_response_writable(&mut self, encoder: &mut Encoder<HttpStream>) -> Next {
let bytes = self.content.as_bytes();
if self.write_pos == bytes.len() {
return Next::end();
}
match encoder.write(&bytes[self.write_pos..]) {
Ok(bytes) => {
self.write_pos += bytes;
Next::write()
},
Err(e) => match e.kind() {
::std::io::ErrorKind::WouldBlock => Next::write(),
_ => Next::end()
},
}
}
}

View File

@@ -1,148 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Echo Handler
use std::io::Read;
use hyper::{header, server, Decoder, Encoder, Next};
use hyper::method::Method;
use hyper::net::HttpStream;
use unicase::UniCase;
use super::ContentHandler;
#[derive(Debug, PartialEq)]
/// Type of Cross-Origin request
enum Cors {
/// Not a Cross-Origin request - no headers needed
No,
/// Cross-Origin request with valid Origin
Allowed(String),
/// Cross-Origin request with invalid Origin
Forbidden,
}
pub struct EchoHandler {
safe_origins: Vec<String>,
content: String,
cors: Cors,
handler: Option<ContentHandler>,
}
impl EchoHandler {
pub fn cors(safe_origins: Vec<String>) -> Self {
EchoHandler {
safe_origins: safe_origins,
content: String::new(),
cors: Cors::Forbidden,
handler: None,
}
}
fn cors_header(&self, origin: Option<String>) -> Cors {
fn origin_is_allowed(origin: &str, safe_origins: &[String]) -> bool {
for safe in safe_origins {
if origin.starts_with(safe) {
return true;
}
}
false
}
match origin {
Some(ref origin) if origin_is_allowed(origin, &self.safe_origins) => {
Cors::Allowed(origin.clone())
},
None => Cors::No,
_ => Cors::Forbidden,
}
}
}
impl server::Handler<HttpStream> for EchoHandler {
fn on_request(&mut self, request: server::Request<HttpStream>) -> Next {
let origin = request.headers().get_raw("origin")
.and_then(|list| list.get(0))
.and_then(|origin| String::from_utf8(origin.clone()).ok());
self.cors = self.cors_header(origin);
// Don't even read the payload if origin is forbidden!
if let Cors::Forbidden = self.cors {
self.handler = Some(ContentHandler::ok(String::new(), "text/plain".into()));
Next::write()
} else {
Next::read()
}
}
fn on_request_readable(&mut self, decoder: &mut Decoder<HttpStream>) -> Next {
match decoder.read_to_string(&mut self.content) {
Ok(0) => {
self.handler = Some(ContentHandler::ok(self.content.clone(), "application/json".into()));
Next::write()
},
Ok(_) => Next::read(),
Err(e) => match e.kind() {
::std::io::ErrorKind::WouldBlock => Next::read(),
_ => Next::end(),
}
}
}
fn on_response(&mut self, res: &mut server::Response) -> Next {
if let Cors::Allowed(ref domain) = self.cors {
let mut headers = res.headers_mut();
headers.set(header::Allow(vec![Method::Options, Method::Post, Method::Get]));
headers.set(header::AccessControlAllowHeaders(vec![
UniCase("origin".to_owned()),
UniCase("content-type".to_owned()),
UniCase("accept".to_owned()),
]));
headers.set(header::AccessControlAllowOrigin::Value(domain.clone()));
}
self.handler.as_mut().unwrap().on_response(res)
}
fn on_response_writable(&mut self, encoder: &mut Encoder<HttpStream>) -> Next {
self.handler.as_mut().unwrap().on_response_writable(encoder)
}
}
#[test]
fn should_return_correct_cors_value() {
// given
let safe_origins = vec!["chrome-extension://".to_owned(), "http://localhost:8080".to_owned()];
let cut = EchoHandler {
safe_origins: safe_origins,
content: String::new(),
cors: Cors::No,
handler: None,
};
// when
let res1 = cut.cors_header(Some("http://ethcore.io".into()));
let res2 = cut.cors_header(Some("http://localhost:8080".into()));
let res3 = cut.cors_header(Some("chrome-extension://deadbeefcafe".into()));
let res4 = cut.cors_header(None);
// then
assert_eq!(res1, Cors::Forbidden);
assert_eq!(res2, Cors::Allowed("http://localhost:8080".into()));
assert_eq!(res3, Cors::Allowed("chrome-extension://deadbeefcafe".into()));
assert_eq!(res4, Cors::No);
}

View File

@@ -1,57 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Hyper handlers implementations.
mod auth;
mod echo;
mod content;
mod redirect;
pub use self::auth::AuthRequiredHandler;
pub use self::echo::EchoHandler;
pub use self::content::ContentHandler;
pub use self::redirect::Redirection;
use url::Url;
use hyper::{server, header, net, uri};
pub fn extract_url(req: &server::Request<net::HttpStream>) -> Option<Url> {
match *req.uri() {
uri::RequestUri::AbsoluteUri(ref url) => {
match Url::from_generic_url(url.clone()) {
Ok(url) => Some(url),
_ => None,
}
},
uri::RequestUri::AbsolutePath(ref path) => {
// Attempt to prepend the Host header (mandatory in HTTP/1.1)
let url_string = match req.headers().get::<header::Host>() {
Some(ref host) => {
format!("http://{}:{}{}", host.hostname, host.port.unwrap_or(80), path)
},
None => return None,
};
match Url::parse(&url_string) {
Ok(url) => Some(url),
_ => None,
}
},
_ => None,
}
}

View File

@@ -1,55 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! HTTP Redirection hyper handler
use hyper::{header, server, Decoder, Encoder, Next};
use hyper::net::HttpStream;
use hyper::status::StatusCode;
pub struct Redirection {
to_url: &'static str
}
impl Redirection {
pub fn new(url: &'static str) -> Box<Self> {
Box::new(Redirection {
to_url: url
})
}
}
impl server::Handler<HttpStream> for Redirection {
fn on_request(&mut self, _request: server::Request<HttpStream>) -> Next {
Next::write()
}
fn on_request_readable(&mut self, _decoder: &mut Decoder<HttpStream>) -> Next {
Next::write()
}
fn on_response(&mut self, res: &mut server::Response) -> Next {
res.set_status(StatusCode::MovedPermanently);
res.headers_mut().set(header::Location(self.to_url.to_owned()));
Next::write()
}
fn on_response_writable(&mut self, _encoder: &mut Encoder<HttpStream>) -> Next {
Next::end()
}
}

View File

@@ -1,184 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Ethcore Webapplications for Parity
//! ```
//! extern crate jsonrpc_core;
//! extern crate ethcore_dapps;
//!
//! use std::sync::Arc;
//! use jsonrpc_core::IoHandler;
//! use ethcore_dapps::*;
//!
//! struct SayHello;
//! impl MethodCommand for SayHello {
//! fn execute(&self, _params: Params) -> Result<Value, Error> {
//! Ok(Value::String("hello".to_string()))
//! }
//! }
//!
//! fn main() {
//! let io = IoHandler::new();
//! io.add_method("say_hello", SayHello);
//! let _server = Server::start_unsecure_http(
//! &"127.0.0.1:3030".parse().unwrap(),
//! Arc::new(io)
//! );
//! }
//! ```
//!
#![warn(missing_docs)]
#![cfg_attr(feature="nightly", plugin(clippy))]
#[macro_use]
extern crate log;
extern crate url as url_lib;
extern crate hyper;
extern crate unicase;
extern crate serde;
extern crate serde_json;
extern crate jsonrpc_core;
extern crate jsonrpc_http_server;
extern crate parity_dapps;
extern crate ethcore_rpc;
extern crate ethcore_util;
extern crate mime_guess;
mod endpoint;
mod apps;
mod page;
mod router;
mod handlers;
mod rpc;
mod api;
mod proxypac;
mod url;
use std::sync::{Arc, Mutex};
use std::net::SocketAddr;
use std::collections::HashMap;
use jsonrpc_core::{IoHandler, IoDelegate};
use router::auth::{Authorization, NoAuth, HttpBasicAuth};
use ethcore_rpc::Extendable;
static DAPPS_DOMAIN : &'static str = ".parity";
/// Webapps HTTP+RPC server build.
pub struct ServerBuilder {
dapps_path: String,
handler: Arc<IoHandler>,
}
impl Extendable for ServerBuilder {
fn add_delegate<D: Send + Sync + 'static>(&self, delegate: IoDelegate<D>) {
self.handler.add_delegate(delegate);
}
}
impl ServerBuilder {
/// Construct new dapps server
pub fn new(dapps_path: String) -> Self {
ServerBuilder {
dapps_path: dapps_path,
handler: Arc::new(IoHandler::new())
}
}
/// Asynchronously start server with no authentication,
/// returns result with `Server` handle on success or an error.
pub fn start_unsecure_http(&self, addr: &SocketAddr) -> Result<Server, ServerError> {
Server::start_http(addr, NoAuth, self.handler.clone(), self.dapps_path.clone())
}
/// Asynchronously start server with `HTTP Basic Authentication`,
/// return result with `Server` handle on success or an error.
pub fn start_basic_auth_http(&self, addr: &SocketAddr, username: &str, password: &str) -> Result<Server, ServerError> {
Server::start_http(addr, HttpBasicAuth::single_user(username, password), self.handler.clone(), self.dapps_path.clone())
}
}
/// Webapps HTTP server.
pub struct Server {
server: Option<hyper::server::Listening>,
panic_handler: Arc<Mutex<Option<Box<Fn() -> () + Send>>>>,
}
impl Server {
fn start_http<A: Authorization + 'static>(addr: &SocketAddr, authorization: A, handler: Arc<IoHandler>, dapps_path: String) -> Result<Server, ServerError> {
let panic_handler = Arc::new(Mutex::new(None));
let authorization = Arc::new(authorization);
let endpoints = Arc::new(apps::all_endpoints(dapps_path));
let special = Arc::new({
let mut special = HashMap::new();
special.insert(router::SpecialEndpoint::Rpc, rpc::rpc(handler, panic_handler.clone()));
special.insert(router::SpecialEndpoint::Api, api::RestApi::new(format!("{}", addr), endpoints.clone()));
special.insert(router::SpecialEndpoint::Utils, apps::utils());
special
});
let bind_address = format!("{}", addr);
try!(hyper::Server::http(addr))
.handle(move |_| router::Router::new(
apps::main_page(),
endpoints.clone(),
special.clone(),
authorization.clone(),
bind_address.clone(),
))
.map(|(l, srv)| {
::std::thread::spawn(move || {
srv.run();
});
Server {
server: Some(l),
panic_handler: panic_handler,
}
})
.map_err(ServerError::from)
}
/// Set callback for panics.
pub fn set_panic_handler<F>(&self, handler: F) where F : Fn() -> () + Send + 'static {
*self.panic_handler.lock().unwrap() = Some(Box::new(handler));
}
}
impl Drop for Server {
fn drop(&mut self) {
self.server.take().unwrap().close()
}
}
/// Webapp Server startup error
#[derive(Debug)]
pub enum ServerError {
/// Wrapped `std::io::Error`
IoError(std::io::Error),
/// Other `hyper` error
Other(hyper::error::Error),
}
impl From<hyper::error::Error> for ServerError {
fn from(err: hyper::error::Error) -> Self {
match err {
hyper::error::Error::Io(e) => ServerError::IoError(e),
e => ServerError::Other(e),
}
}
}

View File

@@ -1,154 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
use page::handler;
use std::sync::Arc;
use endpoint::{Endpoint, EndpointInfo, EndpointPath, Handler};
use parity_dapps::{WebApp, File, Info};
pub struct PageEndpoint<T : WebApp + 'static> {
/// Content of the files
pub app: Arc<T>,
/// Prefix to strip from the path (when `None` deducted from `app_id`)
pub prefix: Option<String>,
/// Safe to be loaded in frame by other origin. (use wisely!)
safe_to_embed: bool,
info: EndpointInfo,
}
impl<T: WebApp + 'static> PageEndpoint<T> {
/// Creates new `PageEndpoint` for builtin (compile time) Dapp.
pub fn new(app: T) -> Self {
let info = app.info();
PageEndpoint {
app: Arc::new(app),
prefix: None,
safe_to_embed: false,
info: EndpointInfo::from(info),
}
}
/// Create new `PageEndpoint` and specify prefix that should be removed before looking for a file.
/// It's used only for special endpoints (i.e. `/parity-utils/`)
/// So `/parity-utils/inject.js` will be resolved to `/inject.js` is prefix is set.
pub fn with_prefix(app: T, prefix: String) -> Self {
let info = app.info();
PageEndpoint {
app: Arc::new(app),
prefix: Some(prefix),
safe_to_embed: false,
info: EndpointInfo::from(info),
}
}
/// Creates new `PageEndpoint` which can be safely used in iframe
/// even from different origin. It might be dangerous (clickjacking).
/// Use wisely!
pub fn new_safe_to_embed(app: T) -> Self {
let info = app.info();
PageEndpoint {
app: Arc::new(app),
prefix: None,
safe_to_embed: true,
info: EndpointInfo::from(info),
}
}
}
impl<T: WebApp> Endpoint for PageEndpoint<T> {
fn info(&self) -> Option<&EndpointInfo> {
Some(&self.info)
}
fn to_handler(&self, path: EndpointPath) -> Box<Handler> {
Box::new(handler::PageHandler {
app: BuiltinDapp::new(self.app.clone()),
prefix: self.prefix.clone(),
path: path,
file: None,
safe_to_embed: self.safe_to_embed,
})
}
}
impl From<Info> for EndpointInfo {
fn from(info: Info) -> Self {
EndpointInfo {
name: info.name.into(),
description: info.description.into(),
author: info.author.into(),
icon_url: info.icon_url.into(),
version: info.version.into(),
}
}
}
struct BuiltinDapp<T: WebApp + 'static> {
app: Arc<T>,
}
impl<T: WebApp + 'static> BuiltinDapp<T> {
fn new(app: Arc<T>) -> Self {
BuiltinDapp {
app: app,
}
}
}
impl<T: WebApp + 'static> handler::Dapp for BuiltinDapp<T> {
type DappFile = BuiltinDappFile<T>;
fn file(&self, path: &str) -> Option<Self::DappFile> {
self.app.file(path).map(|_| {
BuiltinDappFile {
app: self.app.clone(),
path: path.into(),
write_pos: 0,
}
})
}
}
struct BuiltinDappFile<T: WebApp + 'static> {
app: Arc<T>,
path: String,
write_pos: usize,
}
impl<T: WebApp + 'static> BuiltinDappFile<T> {
fn file(&self) -> &File {
self.app.file(&self.path).expect("Check is done when structure is created.")
}
}
impl<T: WebApp + 'static> handler::DappFile for BuiltinDappFile<T> {
fn content_type(&self) -> &str {
self.file().content_type
}
fn is_drained(&self) -> bool {
self.write_pos == self.file().content.len()
}
fn next_chunk(&mut self) -> &[u8] {
&self.file().content[self.write_pos..]
}
fn bytes_written(&mut self, bytes: usize) {
self.write_pos += bytes;
}
}

View File

@@ -1,207 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
use std::io::Write;
use hyper::header;
use hyper::server;
use hyper::uri::RequestUri;
use hyper::net::HttpStream;
use hyper::status::StatusCode;
use hyper::{Decoder, Encoder, Next};
use endpoint::EndpointPath;
/// Represents a file that can be sent to client.
/// Implementation should keep track of bytes already sent internally.
pub trait DappFile: Send {
/// Returns a content-type of this file.
fn content_type(&self) -> &str;
/// Checks if all bytes from that file were written.
fn is_drained(&self) -> bool;
/// Fetch next chunk to write to the client.
fn next_chunk(&mut self) -> &[u8];
/// How many files have been written to the client.
fn bytes_written(&mut self, bytes: usize);
}
/// Dapp as a (dynamic) set of files.
pub trait Dapp: Send + 'static {
/// File type
type DappFile: DappFile;
/// Returns file under given path.
fn file(&self, path: &str) -> Option<Self::DappFile>;
}
/// A handler for a single webapp.
/// Resolves correct paths and serves as a plumbing code between
/// hyper server and dapp.
pub struct PageHandler<T: Dapp> {
/// A Dapp.
pub app: T,
/// File currently being served (or `None` if file does not exist).
pub file: Option<T::DappFile>,
/// Optional prefix to strip from path.
pub prefix: Option<String>,
/// Requested path.
pub path: EndpointPath,
/// Flag indicating if the file can be safely embeded (put in iframe).
pub safe_to_embed: bool,
}
impl<T: Dapp> PageHandler<T> {
fn extract_path(&self, path: &str) -> String {
let app_id = &self.path.app_id;
let prefix = "/".to_owned() + self.prefix.as_ref().unwrap_or(app_id);
let prefix_with_slash = prefix.clone() + "/";
let query_pos = path.find('?').unwrap_or_else(|| path.len());
// Index file support
match path == "/" || path == &prefix || path == &prefix_with_slash {
true => "index.html".to_owned(),
false => if path.starts_with(&prefix_with_slash) {
path[prefix_with_slash.len()..query_pos].to_owned()
} else if path.starts_with("/") {
path[1..query_pos].to_owned()
} else {
path[0..query_pos].to_owned()
}
}
}
}
impl<T: Dapp> server::Handler<HttpStream> for PageHandler<T> {
fn on_request(&mut self, req: server::Request<HttpStream>) -> Next {
self.file = match *req.uri() {
RequestUri::AbsolutePath(ref path) => {
self.app.file(&self.extract_path(path))
},
RequestUri::AbsoluteUri(ref url) => {
self.app.file(&self.extract_path(url.path()))
},
_ => None,
};
Next::write()
}
fn on_request_readable(&mut self, _decoder: &mut Decoder<HttpStream>) -> Next {
Next::write()
}
fn on_response(&mut self, res: &mut server::Response) -> Next {
if let Some(ref f) = self.file {
res.set_status(StatusCode::Ok);
res.headers_mut().set(header::ContentType(f.content_type().parse().unwrap()));
if !self.safe_to_embed {
res.headers_mut().set_raw("X-Frame-Options", vec![b"SAMEORIGIN".to_vec()]);
}
Next::write()
} else {
res.set_status(StatusCode::NotFound);
Next::write()
}
}
fn on_response_writable(&mut self, encoder: &mut Encoder<HttpStream>) -> Next {
match self.file {
None => Next::end(),
Some(ref f) if f.is_drained() => Next::end(),
Some(ref mut f) => match encoder.write(f.next_chunk()) {
Ok(bytes) => {
f.bytes_written(bytes);
Next::write()
},
Err(e) => match e.kind() {
::std::io::ErrorKind::WouldBlock => Next::write(),
_ => Next::end(),
},
}
}
}
}
#[cfg(test)]
mod test {
use super::*;
pub struct TestWebAppFile;
impl DappFile for TestWebAppFile {
fn content_type(&self) -> &str {
unimplemented!()
}
fn is_drained(&self) -> bool {
unimplemented!()
}
fn next_chunk(&mut self) -> &[u8] {
unimplemented!()
}
fn bytes_written(&mut self, _bytes: usize) {
unimplemented!()
}
}
#[derive(Default)]
pub struct TestWebapp;
impl Dapp for TestWebapp {
type DappFile = TestWebAppFile;
fn file(&self, _path: &str) -> Option<Self::DappFile> {
None
}
}
}
#[test]
fn should_extract_path_with_appid() {
// given
let path1 = "/";
let path2= "/test.css";
let path3 = "/app/myfile.txt";
let path4 = "/app/myfile.txt?query=123";
let page_handler = PageHandler {
app: test::TestWebapp,
prefix: None,
path: EndpointPath {
app_id: "app".to_owned(),
host: "".to_owned(),
port: 8080
},
file: None,
safe_to_embed: true,
};
// when
let res1 = page_handler.extract_path(path1);
let res2 = page_handler.extract_path(path2);
let res3 = page_handler.extract_path(path3);
let res4 = page_handler.extract_path(path4);
// then
assert_eq!(&res1, "index.html");
assert_eq!(&res2, "test.css");
assert_eq!(&res3, "myfile.txt");
assert_eq!(&res4, "myfile.txt");
}

View File

@@ -1,118 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
use mime_guess;
use std::io::{Seek, Read, SeekFrom};
use std::fs;
use std::path::PathBuf;
use page::handler;
use endpoint::{Endpoint, EndpointInfo, EndpointPath, Handler};
pub struct LocalPageEndpoint {
path: PathBuf,
info: EndpointInfo,
}
impl LocalPageEndpoint {
pub fn new(path: PathBuf, info: EndpointInfo) -> Self {
LocalPageEndpoint {
path: path,
info: info,
}
}
}
impl Endpoint for LocalPageEndpoint {
fn info(&self) -> Option<&EndpointInfo> {
Some(&self.info)
}
fn to_handler(&self, path: EndpointPath) -> Box<Handler> {
Box::new(handler::PageHandler {
app: LocalDapp::new(self.path.clone()),
prefix: None,
path: path,
file: None,
safe_to_embed: false,
})
}
}
struct LocalDapp {
path: PathBuf,
}
impl LocalDapp {
fn new(path: PathBuf) -> Self {
LocalDapp {
path: path
}
}
}
impl handler::Dapp for LocalDapp {
type DappFile = LocalFile;
fn file(&self, file_path: &str) -> Option<Self::DappFile> {
let mut path = self.path.clone();
for part in file_path.split('/') {
path.push(part);
}
// Check if file exists
fs::File::open(path.clone()).ok().map(|file| {
let content_type = mime_guess::guess_mime_type(path);
let len = file.metadata().ok().map_or(0, |meta| meta.len());
LocalFile {
content_type: content_type.to_string(),
buffer: [0; 4096],
file: file,
pos: 0,
len: len,
}
})
}
}
struct LocalFile {
content_type: String,
buffer: [u8; 4096],
file: fs::File,
len: u64,
pos: u64,
}
impl handler::DappFile for LocalFile {
fn content_type(&self) -> &str {
&self.content_type
}
fn is_drained(&self) -> bool {
self.pos == self.len
}
fn next_chunk(&mut self) -> &[u8] {
let _ = self.file.seek(SeekFrom::Start(self.pos));
if let Ok(n) = self.file.read(&mut self.buffer) {
&self.buffer[0..n]
} else {
&self.buffer[0..0]
}
}
fn bytes_written(&mut self, bytes: usize) {
self.pos += bytes as u64;
}
}

View File

@@ -1,104 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! HTTP Authorization implementations
use std::collections::HashMap;
use hyper::{server, net, header, status};
use endpoint::Handler;
use handlers::{AuthRequiredHandler, ContentHandler};
/// Authorization result
pub enum Authorized {
/// Authorization was successful.
Yes,
/// Unsuccessful authorization. Handler for further work is returned.
No(Box<Handler>),
}
/// Authorization interface
pub trait Authorization : Send + Sync {
/// Checks if authorization is valid.
fn is_authorized(&self, req: &server::Request<net::HttpStream>)-> Authorized;
}
/// HTTP Basic Authorization handler
pub struct HttpBasicAuth {
users: HashMap<String, String>,
}
/// No-authorization implementation (authorization disabled)
pub struct NoAuth;
impl Authorization for NoAuth {
fn is_authorized(&self, _req: &server::Request<net::HttpStream>)-> Authorized {
Authorized::Yes
}
}
impl Authorization for HttpBasicAuth {
fn is_authorized(&self, req: &server::Request<net::HttpStream>) -> Authorized {
let auth = self.check_auth(&req);
match auth {
Access::Denied => {
Authorized::No(Box::new(ContentHandler::new(
status::StatusCode::Unauthorized,
"<h1>Unauthorized</h1>".into(),
"text/html".into(),
)))
},
Access::AuthRequired => {
Authorized::No(Box::new(AuthRequiredHandler))
},
Access::Granted => {
Authorized::Yes
},
}
}
}
#[derive(Debug)]
enum Access {
Granted,
Denied,
AuthRequired,
}
impl HttpBasicAuth {
/// Creates `HttpBasicAuth` instance with only one user.
pub fn single_user(username: &str, password: &str) -> Self {
let mut users = HashMap::new();
users.insert(username.to_owned(), password.to_owned());
HttpBasicAuth {
users: users
}
}
fn is_authorized(&self, username: &str, password: &str) -> bool {
self.users.get(&username.to_owned()).map_or(false, |pass| pass == password)
}
fn check_auth(&self, req: &server::Request<net::HttpStream>) -> Access {
match req.headers().get::<header::Authorization<header::Basic>>() {
Some(&header::Authorization(
header::Basic { ref username, password: Some(ref password) }
)) if self.is_authorized(username, password) => Access::Granted,
Some(_) => Access::Denied,
None => Access::AuthRequired,
}
}
}

View File

@@ -1,45 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
use DAPPS_DOMAIN;
use hyper::server;
use hyper::net::HttpStream;
use jsonrpc_http_server::{is_host_header_valid};
use handlers::ContentHandler;
pub fn is_valid(request: &server::Request<HttpStream>, bind_address: &str, endpoints: Vec<String>) -> bool {
let mut endpoints = endpoints.into_iter()
.map(|endpoint| format!("{}{}", endpoint, DAPPS_DOMAIN))
.collect::<Vec<String>>();
// Add localhost domain as valid too if listening on loopback interface.
endpoints.push(bind_address.replace("127.0.0.1", "localhost").into());
endpoints.push(bind_address.into());
is_host_header_valid(request, &endpoints)
}
pub fn host_invalid_response() -> Box<server::Handler<HttpStream> + Send> {
Box::new(ContentHandler::forbidden(
r#"
<h1>Request with disallowed <code>Host</code> header has been blocked.</h1>
<p>Check the URL in your browser address bar.</p>
"#.into(),
"text/html".into()
))
}

View File

@@ -1,234 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Router implementation
//! Processes request handling authorization and dispatching it to proper application.
pub mod auth;
mod host_validation;
use DAPPS_DOMAIN;
use std::sync::Arc;
use std::collections::HashMap;
use url::{Url, Host};
use hyper::{self, server, Next, Encoder, Decoder};
use hyper::net::HttpStream;
use apps;
use endpoint::{Endpoint, Endpoints, EndpointPath};
use handlers::{Redirection, extract_url};
use self::auth::{Authorization, Authorized};
/// Special endpoints are accessible on every domain (every dapp)
#[derive(Debug, PartialEq, Hash, Eq)]
pub enum SpecialEndpoint {
Rpc,
Api,
Utils,
None,
}
pub struct Router<A: Authorization + 'static> {
main_page: &'static str,
endpoints: Arc<Endpoints>,
special: Arc<HashMap<SpecialEndpoint, Box<Endpoint>>>,
authorization: Arc<A>,
bind_address: String,
handler: Box<server::Handler<HttpStream> + Send>,
}
impl<A: Authorization + 'static> server::Handler<HttpStream> for Router<A> {
fn on_request(&mut self, req: server::Request<HttpStream>) -> Next {
// Validate Host header
if !host_validation::is_valid(&req, &self.bind_address, self.endpoints.keys().cloned().collect()) {
self.handler = host_validation::host_invalid_response();
return self.handler.on_request(req);
}
// Check authorization
let auth = self.authorization.is_authorized(&req);
if let Authorized::No(handler) = auth {
self.handler = handler;
return self.handler.on_request(req);
}
// Choose proper handler depending on path / domain
let url = extract_url(&req);
let endpoint = extract_endpoint(&url);
self.handler = match endpoint {
// First check special endpoints
(ref path, ref endpoint) if self.special.contains_key(endpoint) => {
self.special.get(endpoint).unwrap().to_handler(path.clone().unwrap_or_default())
},
// Then delegate to dapp
(Some(ref path), _) if self.endpoints.contains_key(&path.app_id) => {
self.endpoints.get(&path.app_id).unwrap().to_handler(path.clone())
},
// Redirection to main page
_ if *req.method() == hyper::method::Method::Get => {
Redirection::new(self.main_page)
},
// RPC by default
_ => {
self.special.get(&SpecialEndpoint::Rpc).unwrap().to_handler(EndpointPath::default())
}
};
// Delegate on_request to proper handler
self.handler.on_request(req)
}
/// This event occurs each time the `Request` is ready to be read from.
fn on_request_readable(&mut self, decoder: &mut Decoder<HttpStream>) -> Next {
self.handler.on_request_readable(decoder)
}
/// This event occurs after the first time this handled signals `Next::write()`.
fn on_response(&mut self, response: &mut server::Response) -> Next {
self.handler.on_response(response)
}
/// This event occurs each time the `Response` is ready to be written to.
fn on_response_writable(&mut self, encoder: &mut Encoder<HttpStream>) -> Next {
self.handler.on_response_writable(encoder)
}
}
impl<A: Authorization> Router<A> {
pub fn new(
main_page: &'static str,
endpoints: Arc<Endpoints>,
special: Arc<HashMap<SpecialEndpoint, Box<Endpoint>>>,
authorization: Arc<A>,
bind_address: String,
) -> Self {
let handler = special.get(&SpecialEndpoint::Rpc).unwrap().to_handler(EndpointPath::default());
Router {
main_page: main_page,
endpoints: endpoints,
special: special,
authorization: authorization,
bind_address: bind_address,
handler: handler,
}
}
}
fn extract_endpoint(url: &Option<Url>) -> (Option<EndpointPath>, SpecialEndpoint) {
fn special_endpoint(url: &Url) -> SpecialEndpoint {
if url.path.len() <= 1 {
return SpecialEndpoint::None;
}
match url.path[0].as_ref() {
apps::RPC_PATH => SpecialEndpoint::Rpc,
apps::API_PATH => SpecialEndpoint::Api,
apps::UTILS_PATH => SpecialEndpoint::Utils,
_ => SpecialEndpoint::None,
}
}
match *url {
Some(ref url) => match url.host {
Host::Domain(ref domain) if domain.ends_with(DAPPS_DOMAIN) => {
let len = domain.len() - DAPPS_DOMAIN.len();
let id = domain[0..len].to_owned();
(Some(EndpointPath {
app_id: id,
host: domain.clone(),
port: url.port,
}), special_endpoint(url))
},
_ if url.path.len() > 1 => {
let id = url.path[0].clone();
(Some(EndpointPath {
app_id: id.clone(),
host: format!("{}", url.host),
port: url.port,
}), special_endpoint(url))
},
_ => (None, special_endpoint(url)),
},
_ => (None, SpecialEndpoint::None)
}
}
#[test]
fn should_extract_endpoint() {
assert_eq!(extract_endpoint(&None), (None, SpecialEndpoint::None));
// With path prefix
assert_eq!(
extract_endpoint(&Url::parse("http://localhost:8080/status/index.html").ok()),
(Some(EndpointPath {
app_id: "status".to_owned(),
host: "localhost".to_owned(),
port: 8080,
}), SpecialEndpoint::None)
);
// With path prefix
assert_eq!(
extract_endpoint(&Url::parse("http://localhost:8080/rpc/").ok()),
(Some(EndpointPath {
app_id: "rpc".to_owned(),
host: "localhost".to_owned(),
port: 8080,
}), SpecialEndpoint::Rpc)
);
assert_eq!(
extract_endpoint(&Url::parse("http://my.status.parity/parity-utils/inject.js").ok()),
(Some(EndpointPath {
app_id: "my.status".to_owned(),
host: "my.status.parity".to_owned(),
port: 80,
}), SpecialEndpoint::Utils)
);
// By Subdomain
assert_eq!(
extract_endpoint(&Url::parse("http://my.status.parity/test.html").ok()),
(Some(EndpointPath {
app_id: "my.status".to_owned(),
host: "my.status.parity".to_owned(),
port: 80,
}), SpecialEndpoint::None)
);
// RPC by subdomain
assert_eq!(
extract_endpoint(&Url::parse("http://my.status.parity/rpc/").ok()),
(Some(EndpointPath {
app_id: "my.status".to_owned(),
host: "my.status.parity".to_owned(),
port: 80,
}), SpecialEndpoint::Rpc)
);
// API by subdomain
assert_eq!(
extract_endpoint(&Url::parse("http://my.status.parity/api/").ok()),
(Some(EndpointPath {
app_id: "my.status".to_owned(),
host: "my.status.parity".to_owned(),
port: 80,
}), SpecialEndpoint::Api)
);
}

View File

@@ -1,44 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
use std::sync::{Arc, Mutex};
use jsonrpc_core::IoHandler;
use jsonrpc_http_server::{ServerHandler, PanicHandler, AccessControlAllowOrigin};
use endpoint::{Endpoint, EndpointPath, Handler};
pub fn rpc(handler: Arc<IoHandler>, panic_handler: Arc<Mutex<Option<Box<Fn() -> () + Send>>>>) -> Box<Endpoint> {
Box::new(RpcEndpoint {
handler: handler,
panic_handler: panic_handler,
cors_domain: Some(vec![AccessControlAllowOrigin::Null]),
// NOTE [ToDr] We don't need to do any hosts validation here. It's already done in router.
allowed_hosts: None,
})
}
struct RpcEndpoint {
handler: Arc<IoHandler>,
panic_handler: Arc<Mutex<Option<Box<Fn() -> () + Send>>>>,
cors_domain: Option<Vec<AccessControlAllowOrigin>>,
allowed_hosts: Option<Vec<String>>,
}
impl Endpoint for RpcEndpoint {
fn to_handler(&self, _path: EndpointPath) -> Box<Handler> {
let panic_handler = PanicHandler { handler: self.panic_handler.clone() };
Box::new(ServerHandler::new(self.handler.clone(), self.cors_domain.clone(), self.allowed_hosts.clone(), panic_handler))
}
}

View File

@@ -1,145 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! HTTP/HTTPS URL type. Based on URL type from Iron library.
use url_lib::{self};
pub use url_lib::Host;
/// HTTP/HTTPS URL type for Iron.
#[derive(PartialEq, Eq, Clone, Debug)]
pub struct Url {
/// Raw url of url
pub raw: url_lib::Url,
/// The host field of the URL, probably a domain.
pub host: Host,
/// The connection port.
pub port: u16,
/// The URL path, the resource to be accessed.
///
/// A *non-empty* vector encoding the parts of the URL path.
/// Empty entries of `""` correspond to trailing slashes.
pub path: Vec<String>,
/// The URL username field, from the userinfo section of the URL.
///
/// `None` if the `@` character was not part of the input OR
/// if a blank username was provided.
/// Otherwise, a non-empty string.
pub username: Option<String>,
/// The URL password field, from the userinfo section of the URL.
///
/// `None` if the `@` character was not part of the input OR
/// if a blank password was provided.
/// Otherwise, a non-empty string.
pub password: Option<String>,
}
impl Url {
/// Create a URL from a string.
///
/// The input must be a valid URL with a special scheme for this to succeed.
///
/// HTTP and HTTPS are special schemes.
///
/// See: http://url.spec.whatwg.org/#special-scheme
pub fn parse(input: &str) -> Result<Url, String> {
// Parse the string using rust-url, then convert.
match url_lib::Url::parse(input) {
Ok(raw_url) => Url::from_generic_url(raw_url),
Err(e) => Err(format!("{}", e))
}
}
/// Create a `Url` from a `rust-url` `Url`.
pub fn from_generic_url(raw_url: url_lib::Url) -> Result<Url, String> {
// Map empty usernames to None.
let username = match raw_url.username() {
"" => None,
username => Some(username.to_owned())
};
// Map empty passwords to None.
let password = match raw_url.password() {
Some(password) if !password.is_empty() => Some(password.to_owned()),
_ => None,
};
let port = try!(raw_url.port_or_known_default().ok_or_else(|| format!("Unknown port for scheme: `{}`", raw_url.scheme())));
let host = try!(raw_url.host().ok_or_else(|| "Valid host, because only data:, mailto: protocols does not have host.".to_owned())).to_owned();
let path = try!(raw_url.path_segments().ok_or_else(|| "Valid path segments. In HTTP we won't get cannot-be-a-base URLs".to_owned()))
.map(|part| part.to_owned()).collect();
Ok(Url {
port: port,
host: host,
path: path,
raw: raw_url,
username: username,
password: password,
})
}
}
#[cfg(test)]
mod test {
use super::Url;
#[test]
fn test_default_port() {
assert_eq!(Url::parse("http://example.com/wow").unwrap().port, 80u16);
assert_eq!(Url::parse("https://example.com/wow").unwrap().port, 443u16);
}
#[test]
fn test_explicit_port() {
assert_eq!(Url::parse("http://localhost:3097").unwrap().port, 3097u16);
}
#[test]
fn test_empty_username() {
assert!(Url::parse("http://@example.com").unwrap().username.is_none());
assert!(Url::parse("http://:password@example.com").unwrap().username.is_none());
}
#[test]
fn test_not_empty_username() {
let user = Url::parse("http://john:pass@example.com").unwrap().username;
assert_eq!(user.unwrap(), "john");
let user = Url::parse("http://john:@example.com").unwrap().username;
assert_eq!(user.unwrap(), "john");
}
#[test]
fn test_empty_password() {
assert!(Url::parse("http://michael@example.com").unwrap().password.is_none());
assert!(Url::parse("http://:@example.com").unwrap().password.is_none());
}
#[test]
fn test_not_empty_password() {
let pass = Url::parse("http://michael:pass@example.com").unwrap().password;
assert_eq!(pass.unwrap(), "pass");
let pass = Url::parse("http://:pass@example.com").unwrap().password;
assert_eq!(pass.unwrap(), "pass");
}
}

View File

@@ -1,26 +0,0 @@
[package]
description = "Ethcore Database"
homepage = "http://ethcore.io"
license = "GPL-3.0"
name = "ethcore-db"
version = "1.3.0"
authors = ["Ethcore <admin@ethcore.io>"]
build = "build.rs"
[build-dependencies]
syntex = "*"
ethcore-ipc-codegen = { path = "../ipc/codegen" }
[dependencies]
clippy = { version = "0.0.80", optional = true}
ethcore-devtools = { path = "../devtools" }
ethcore-ipc = { path = "../ipc/rpc" }
rocksdb = { git = "https://github.com/ethcore/rust-rocksdb" }
semver = "0.2"
ethcore-ipc-nano = { path = "../ipc/nano" }
nanomsg = { git = "https://github.com/ethcore/nanomsg.rs.git" }
crossbeam = "0.2"
ethcore-util = { path = "../util" }
[features]
dev = ["clippy"]

View File

@@ -1,566 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Ethcore rocksdb ipc service
use traits::*;
use rocksdb::{DB, Writable, WriteBatch, IteratorMode, DBIterator, IndexType, Options, DBCompactionStyle, BlockBasedOptions, Direction};
use std::sync::{RwLock, Arc};
use std::convert::From;
use ipc::IpcConfig;
use std::mem;
use ipc::binary::BinaryConvertError;
use std::collections::{VecDeque, HashMap, BTreeMap};
enum WriteCacheEntry {
Remove,
Write(Vec<u8>),
}
pub struct WriteCache {
entries: HashMap<Vec<u8>, WriteCacheEntry>,
preferred_len: usize,
}
const FLUSH_BATCH_SIZE: usize = 4096;
impl WriteCache {
fn new(cache_len: usize) -> WriteCache {
WriteCache {
entries: HashMap::new(),
preferred_len: cache_len,
}
}
fn write(&mut self, key: Vec<u8>, val: Vec<u8>) {
self.entries.insert(key, WriteCacheEntry::Write(val));
}
fn remove(&mut self, key: Vec<u8>) {
self.entries.insert(key, WriteCacheEntry::Remove);
}
fn get(&self, key: &[u8]) -> Option<Vec<u8>> {
self.entries.get(key).and_then(
|vec_ref| match vec_ref {
&WriteCacheEntry::Write(ref val) => Some(val.clone()),
&WriteCacheEntry::Remove => None
})
}
/// WriteCache should be locked for this
fn flush(&mut self, db: &DB, amount: usize) -> Result<(), Error> {
let batch = WriteBatch::new();
let mut removed_so_far = 0;
while removed_so_far < amount {
if self.entries.len() == 0 { break; }
let removed_key = {
let (key, cache_entry) = self.entries.iter().nth(0)
.expect("if entries.len == 0, we should have break in the loop, still we got here somehow");
match *cache_entry {
WriteCacheEntry::Write(ref val) => {
try!(batch.put(&key, val));
},
WriteCacheEntry::Remove => {
try!(batch.delete(&key));
},
}
key.clone()
};
self.entries.remove(&removed_key);
removed_so_far = removed_so_far + 1;
}
if removed_so_far > 0 {
try!(db.write(batch));
}
Ok(())
}
/// flushes until cache is empty
fn flush_all(&mut self, db: &DB) -> Result<(), Error> {
while !self.is_empty() { try!(self.flush(db, FLUSH_BATCH_SIZE)); }
Ok(())
}
fn is_empty(&self) -> bool {
self.entries.is_empty()
}
fn try_shrink(&mut self, db: &DB) -> Result<(), Error> {
if self.entries.len() > self.preferred_len {
try!(self.flush(db, FLUSH_BATCH_SIZE));
}
Ok(())
}
}
pub struct Database {
db: RwLock<Option<DB>>,
/// Iterators - dont't use between threads!
iterators: RwLock<BTreeMap<IteratorHandle, DBIterator>>,
write_cache: RwLock<WriteCache>,
}
unsafe impl Send for Database {}
unsafe impl Sync for Database {}
impl Database {
pub fn new() -> Database {
Database {
db: RwLock::new(None),
iterators: RwLock::new(BTreeMap::new()),
write_cache: RwLock::new(WriteCache::new(DEFAULT_CACHE_LEN)),
}
}
pub fn flush(&self) -> Result<(), Error> {
let mut cache_lock = self.write_cache.write();
let db_lock = self.db.read();
if db_lock.is_none() { return Ok(()); }
let db = db_lock.as_ref().unwrap();
try!(cache_lock.try_shrink(&db));
Ok(())
}
pub fn flush_all(&self) -> Result<(), Error> {
let mut cache_lock = self.write_cache.write();
let db_lock = self.db.read();
if db_lock.is_none() { return Ok(()); }
let db = db_lock.as_ref().expect("we should have exited with Ok(()) on the previous step");
try!(cache_lock.flush_all(&db));
Ok(())
}
}
impl Drop for Database {
fn drop(&mut self) {
self.flush().unwrap();
}
}
#[derive(Ipc)]
impl DatabaseService for Database {
fn open(&self, config: DatabaseConfig, path: String) -> Result<(), Error> {
let mut db = self.db.write();
if db.is_some() { return Err(Error::AlreadyOpen); }
let mut opts = Options::new();
opts.set_max_open_files(256);
opts.create_if_missing(true);
opts.set_use_fsync(false);
opts.set_compaction_style(DBCompactionStyle::DBUniversalCompaction);
if let Some(size) = config.prefix_size {
let mut block_opts = BlockBasedOptions::new();
block_opts.set_index_type(IndexType::HashSearch);
opts.set_block_based_table_factory(&block_opts);
opts.set_prefix_extractor_fixed_size(size);
}
*db = Some(try!(DB::open(&opts, &path)));
Ok(())
}
/// Opens database in the specified path with the default config
fn open_default(&self, path: String) -> Result<(), Error> {
self.open(DatabaseConfig::default(), path)
}
fn close(&self) -> Result<(), Error> {
try!(self.flush_all());
let mut db = self.db.write();
if db.is_none() { return Err(Error::IsClosed); }
*db = None;
Ok(())
}
fn put(&self, key: &[u8], value: &[u8]) -> Result<(), Error> {
let mut cache_lock = self.write_cache.write();
cache_lock.write(key.to_vec(), value.to_vec());
Ok(())
}
fn delete(&self, key: &[u8]) -> Result<(), Error> {
let mut cache_lock = self.write_cache.write();
cache_lock.remove(key.to_vec());
Ok(())
}
fn write(&self, transaction: DBTransaction) -> Result<(), Error> {
let mut cache_lock = self.write_cache.write();
let mut writes = transaction.writes.borrow_mut();
for kv in writes.drain(..) {
cache_lock.write(kv.key, kv.value);
}
let mut removes = transaction.removes.borrow_mut();
for k in removes.drain(..) {
cache_lock.remove(k);
}
Ok(())
}
fn get(&self, key: &[u8]) -> Result<Option<Vec<u8>>, Error> {
{
let key_vec = key.to_vec();
let cache_hit = self.write_cache.read().get(&key_vec);
if cache_hit.is_some() {
return Ok(Some(cache_hit.expect("cache_hit.is_some() = true, still there is none somehow here")))
}
}
let db_lock = self.db.read();
let db = try!(db_lock.as_ref().ok_or(Error::IsClosed));
match try!(db.get(key)) {
Some(db_vec) => {
Ok(Some(db_vec.to_vec()))
},
None => Ok(None),
}
}
fn get_by_prefix(&self, prefix: &[u8]) -> Result<Option<Vec<u8>>, Error> {
let db_lock = self.db.read();
let db = try!(db_lock.as_ref().ok_or(Error::IsClosed));
let mut iter = db.iterator(IteratorMode::From(prefix, Direction::Forward));
match iter.next() {
// TODO: use prefix_same_as_start read option (not availabele in C API currently)
Some((k, v)) => if k[0 .. prefix.len()] == prefix[..] { Ok(Some(v.to_vec())) } else { Ok(None) },
_ => Ok(None)
}
}
fn is_empty(&self) -> Result<bool, Error> {
let db_lock = self.db.read();
let db = try!(db_lock.as_ref().ok_or(Error::IsClosed));
Ok(db.iterator(IteratorMode::Start).next().is_none())
}
fn iter(&self) -> Result<IteratorHandle, Error> {
let db_lock = self.db.read();
let db = try!(db_lock.as_ref().ok_or(Error::IsClosed));
let mut iterators = self.iterators.write();
let next_iterator = iterators.keys().last().unwrap_or(&0) + 1;
iterators.insert(next_iterator, db.iterator(IteratorMode::Start));
Ok(next_iterator)
}
fn iter_next(&self, handle: IteratorHandle) -> Option<KeyValue>
{
let mut iterators = self.iterators.write();
let mut iterator = match iterators.get_mut(&handle) {
Some(some_iterator) => some_iterator,
None => { return None; },
};
iterator.next().and_then(|(some_key, some_val)| {
Some(KeyValue {
key: some_key.to_vec(),
value: some_val.to_vec(),
})
})
}
fn dispose_iter(&self, handle: IteratorHandle) -> Result<(), Error> {
let mut iterators = self.iterators.write();
iterators.remove(&handle);
Ok(())
}
}
// TODO : put proper at compile-time
impl IpcConfig for Database {}
/// Database iterator
pub struct DatabaseIterator {
client: Arc<DatabaseClient<::nanomsg::Socket>>,
handle: IteratorHandle,
}
impl Iterator for DatabaseIterator {
type Item = (Vec<u8>, Vec<u8>);
fn next(&mut self) -> Option<Self::Item> {
self.client.iter_next(self.handle).and_then(|kv| Some((kv.key, kv.value)))
}
}
impl Drop for DatabaseIterator {
fn drop(&mut self) {
self.client.dispose_iter(self.handle).unwrap();
}
}
#[cfg(test)]
mod test {
use super::Database;
use traits::*;
use devtools::*;
#[test]
fn can_be_created() {
let db = Database::new();
assert!(db.is_empty().is_err());
}
#[test]
fn can_be_open_empty() {
let db = Database::new();
let path = RandomTempPath::create_dir();
db.open_default(path.as_str().to_owned()).unwrap();
assert!(db.is_empty().is_ok());
}
#[test]
fn can_store_key() {
let db = Database::new();
let path = RandomTempPath::create_dir();
db.open_default(path.as_str().to_owned()).unwrap();
db.put("xxx".as_bytes(), "1".as_bytes()).unwrap();
db.flush_all().unwrap();
assert!(!db.is_empty().unwrap());
}
#[test]
fn can_retrieve() {
let db = Database::new();
let path = RandomTempPath::create_dir();
db.open_default(path.as_str().to_owned()).unwrap();
db.put("xxx".as_bytes(), "1".as_bytes()).unwrap();
db.close().unwrap();
db.open_default(path.as_str().to_owned()).unwrap();
assert_eq!(db.get("xxx".as_bytes()).unwrap().unwrap(), "1".as_bytes().to_vec());
}
}
#[cfg(test)]
mod write_cache_tests {
use super::Database;
use traits::*;
use devtools::*;
#[test]
fn cache_write_flush() {
let db = Database::new();
let path = RandomTempPath::create_dir();
db.open_default(path.as_str().to_owned()).unwrap();
db.put("100500".as_bytes(), "1".as_bytes()).unwrap();
db.delete("100500".as_bytes()).unwrap();
db.flush_all().unwrap();
let val = db.get("100500".as_bytes()).unwrap();
assert!(val.is_none());
}
}
#[cfg(test)]
mod client_tests {
use super::{DatabaseClient, Database};
use traits::*;
use devtools::*;
use nanoipc;
use std::sync::Arc;
use std::sync::atomic::{Ordering, AtomicBool};
use crossbeam;
use run_worker;
fn init_worker(addr: &str) -> nanoipc::Worker<Database> {
let mut worker = nanoipc::Worker::<Database>::new(&Arc::new(Database::new()));
worker.add_duplex(addr).unwrap();
worker
}
#[test]
fn can_call_handshake() {
let url = "ipc:///tmp/parity-db-ipc-test-10.ipc";
let worker_should_exit = Arc::new(AtomicBool::new(false));
let worker_is_ready = Arc::new(AtomicBool::new(false));
let c_worker_should_exit = worker_should_exit.clone();
let c_worker_is_ready = worker_is_ready.clone();
::std::thread::spawn(move || {
let mut worker = init_worker(url);
while !c_worker_should_exit.load(Ordering::Relaxed) {
worker.poll();
c_worker_is_ready.store(true, Ordering::Relaxed);
}
});
while !worker_is_ready.load(Ordering::Relaxed) { }
let client = nanoipc::init_duplex_client::<DatabaseClient<_>>(url).unwrap();
let hs = client.handshake();
worker_should_exit.store(true, Ordering::Relaxed);
assert!(hs.is_ok());
}
#[test]
fn can_open_db() {
let url = "ipc:///tmp/parity-db-ipc-test-20.ipc";
let path = RandomTempPath::create_dir();
let worker_should_exit = Arc::new(AtomicBool::new(false));
let worker_is_ready = Arc::new(AtomicBool::new(false));
let c_worker_should_exit = worker_should_exit.clone();
let c_worker_is_ready = worker_is_ready.clone();
::std::thread::spawn(move || {
let mut worker = init_worker(url);
while !c_worker_should_exit.load(Ordering::Relaxed) {
worker.poll();
c_worker_is_ready.store(true, Ordering::Relaxed);
}
});
while !worker_is_ready.load(Ordering::Relaxed) { }
let client = nanoipc::init_duplex_client::<DatabaseClient<_>>(url).unwrap();
client.open_default(path.as_str().to_owned()).unwrap();
assert!(client.is_empty().unwrap());
worker_should_exit.store(true, Ordering::Relaxed);
}
#[test]
fn can_put() {
let url = "ipc:///tmp/parity-db-ipc-test-30.ipc";
let path = RandomTempPath::create_dir();
crossbeam::scope(move |scope| {
let stop = Arc::new(AtomicBool::new(false));
run_worker(scope, stop.clone(), url);
let client = nanoipc::init_client::<DatabaseClient<_>>(url).unwrap();
client.open_default(path.as_str().to_owned()).unwrap();
client.put("xxx".as_bytes(), "1".as_bytes()).unwrap();
client.close().unwrap();
stop.store(true, Ordering::Relaxed);
});
}
#[test]
fn can_put_and_read() {
let url = "ipc:///tmp/parity-db-ipc-test-40.ipc";
let path = RandomTempPath::create_dir();
crossbeam::scope(move |scope| {
let stop = Arc::new(AtomicBool::new(false));
run_worker(scope, stop.clone(), url);
let client = nanoipc::init_client::<DatabaseClient<_>>(url).unwrap();
client.open_default(path.as_str().to_owned()).unwrap();
client.put("xxx".as_bytes(), "1".as_bytes()).unwrap();
client.close().unwrap();
client.open_default(path.as_str().to_owned()).unwrap();
assert_eq!(client.get("xxx".as_bytes()).unwrap().unwrap(), "1".as_bytes().to_vec());
stop.store(true, Ordering::Relaxed);
});
}
#[test]
fn can_read_empty() {
let url = "ipc:///tmp/parity-db-ipc-test-45.ipc";
let path = RandomTempPath::create_dir();
crossbeam::scope(move |scope| {
let stop = Arc::new(AtomicBool::new(false));
run_worker(scope, stop.clone(), url);
let client = nanoipc::init_client::<DatabaseClient<_>>(url).unwrap();
client.open_default(path.as_str().to_owned()).unwrap();
assert!(client.get("xxx".as_bytes()).unwrap().is_none());
stop.store(true, Ordering::Relaxed);
});
}
#[test]
fn can_commit_client_transaction() {
let url = "ipc:///tmp/parity-db-ipc-test-60.ipc";
let path = RandomTempPath::create_dir();
crossbeam::scope(move |scope| {
let stop = Arc::new(AtomicBool::new(false));
run_worker(scope, stop.clone(), url);
let client = nanoipc::init_client::<DatabaseClient<_>>(url).unwrap();
client.open_default(path.as_str().to_owned()).unwrap();
let transaction = DBTransaction::new();
transaction.put("xxx".as_bytes(), "1".as_bytes());
client.write(transaction).unwrap();
client.close().unwrap();
client.open_default(path.as_str().to_owned()).unwrap();
assert_eq!(client.get("xxx".as_bytes()).unwrap().unwrap(), "1".as_bytes().to_vec());
stop.store(true, Ordering::Relaxed);
});
}
#[test]
fn key_write_read_ipc() {
let url = "ipc:///tmp/parity-db-ipc-test-70.ipc";
let path = RandomTempPath::create_dir();
crossbeam::scope(|scope| {
let stop = StopGuard::new();
run_worker(&scope, stop.share(), url);
let client = nanoipc::init_client::<DatabaseClient<_>>(url).unwrap();
client.open_default(path.as_str().to_owned()).unwrap();
let mut batch = Vec::new();
for _ in 0..100 {
batch.push((random_str(256).as_bytes().to_vec(), random_str(256).as_bytes().to_vec()));
batch.push((random_str(256).as_bytes().to_vec(), random_str(2048).as_bytes().to_vec()));
batch.push((random_str(2048).as_bytes().to_vec(), random_str(2048).as_bytes().to_vec()));
batch.push((random_str(2048).as_bytes().to_vec(), random_str(256).as_bytes().to_vec()));
}
for &(ref k, ref v) in batch.iter() {
client.put(k, v).unwrap();
}
client.close().unwrap();
client.open_default(path.as_str().to_owned()).unwrap();
for &(ref k, ref v) in batch.iter() {
assert_eq!(v, &client.get(k).unwrap().unwrap());
}
});
}
}

View File

@@ -1,20 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Database ipc service
#![allow(dead_code, unused_assignments, unused_variables)] // codegen issues
include!(concat!(env!("OUT_DIR"), "/lib.rs"));

View File

@@ -1,89 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
extern crate ethcore_ipc as ipc;
extern crate rocksdb;
extern crate ethcore_devtools as devtools;
extern crate semver;
extern crate ethcore_ipc_nano as nanoipc;
extern crate nanomsg;
extern crate crossbeam;
extern crate ethcore_util as util;
pub mod database;
pub mod traits;
pub use traits::{DatabaseService, DBTransaction, Error};
pub use database::{Database, DatabaseClient, DatabaseIterator};
use std::sync::Arc;
use std::sync::atomic::*;
use std::path::PathBuf;
pub type DatabaseNanoClient = DatabaseClient<::nanomsg::Socket>;
pub type DatabaseConnection = nanoipc::GuardedSocket<DatabaseNanoClient>;
#[derive(Debug)]
pub enum ServiceError {
Io(std::io::Error),
Socket(nanoipc::SocketError),
}
impl std::convert::From<std::io::Error> for ServiceError {
fn from(io_error: std::io::Error) -> ServiceError { ServiceError::Io(io_error) }
}
impl std::convert::From<nanoipc::SocketError> for ServiceError {
fn from(socket_error: nanoipc::SocketError) -> ServiceError { ServiceError::Socket(socket_error) }
}
pub fn blocks_service_url(db_path: &str) -> Result<String, std::io::Error> {
let mut path = PathBuf::from(db_path);
try!(::std::fs::create_dir_all(db_path));
path.push("blocks.ipc");
Ok(format!("ipc://{}", path.to_str().unwrap()))
}
pub fn extras_service_url(db_path: &str) -> Result<String, ::std::io::Error> {
let mut path = PathBuf::from(db_path);
try!(::std::fs::create_dir_all(db_path));
path.push("extras.ipc");
Ok(format!("ipc://{}", path.to_str().unwrap()))
}
pub fn blocks_client(db_path: &str) -> Result<DatabaseConnection, ServiceError> {
let url = try!(blocks_service_url(db_path));
let client = try!(nanoipc::init_client::<DatabaseClient<_>>(&url));
Ok(client)
}
pub fn extras_client(db_path: &str) -> Result<DatabaseConnection, ServiceError> {
let url = try!(extras_service_url(db_path));
let client = try!(nanoipc::init_client::<DatabaseClient<_>>(&url));
Ok(client)
}
// for tests
pub fn run_worker(scope: &crossbeam::Scope, stop: Arc<AtomicBool>, socket_path: &str) {
let socket_path = socket_path.to_owned();
scope.spawn(move || {
let mut worker = nanoipc::Worker::new(&Arc::new(Database::new()));
worker.add_reqrep(&socket_path).unwrap();
while !stop.load(Ordering::Relaxed) {
worker.poll();
}
});
}

View File

@@ -1,138 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Ethcore database trait
use std::mem;
use ipc::binary::BinaryConvertError;
use std::collections::VecDeque;
use std::cell::RefCell;
pub type IteratorHandle = u32;
pub const DEFAULT_CACHE_LEN: usize = 12288;
#[derive(Binary)]
pub struct KeyValue {
pub key: Vec<u8>,
pub value: Vec<u8>,
}
#[derive(Debug, Binary)]
pub enum Error {
AlreadyOpen,
IsClosed,
RocksDb(String),
TransactionUnknown,
IteratorUnknown,
UncommitedTransactions,
}
impl From<String> for Error {
fn from(s: String) -> Error {
Error::RocksDb(s)
}
}
/// Database configuration
#[derive(Binary)]
pub struct DatabaseConfig {
/// Optional prefix size in bytes. Allows lookup by partial key.
pub prefix_size: Option<usize>,
/// write cache length
pub cache: usize,
}
impl Default for DatabaseConfig {
fn default() -> DatabaseConfig {
DatabaseConfig {
prefix_size: None,
cache: DEFAULT_CACHE_LEN,
}
}
}
impl DatabaseConfig {
fn with_prefix(prefix: usize) -> DatabaseConfig {
DatabaseConfig {
prefix_size: Some(prefix),
cache: DEFAULT_CACHE_LEN,
}
}
}
pub trait DatabaseService : Sized {
/// Opens database in the specified path
fn open(&self, config: DatabaseConfig, path: String) -> Result<(), Error>;
/// Opens database in the specified path with the default config
fn open_default(&self, path: String) -> Result<(), Error>;
/// Closes database
fn close(&self) -> Result<(), Error>;
/// Insert a key-value pair in the transaction. Any existing value value will be overwritten.
fn put(&self, key: &[u8], value: &[u8]) -> Result<(), Error>;
/// Delete value by key.
fn delete(&self, key: &[u8]) -> Result<(), Error>;
/// Get value by key.
fn get(&self, key: &[u8]) -> Result<Option<Vec<u8>>, Error>;
/// Get value by partial key. Prefix size should match configured prefix size.
fn get_by_prefix(&self, prefix: &[u8]) -> Result<Option<Vec<u8>>, Error>;
/// Check if there is anything in the database.
fn is_empty(&self) -> Result<bool, Error>;
/// Get handle to iterate through keys
fn iter(&self) -> Result<IteratorHandle, Error>;
/// Next key-value for the the given iterator
fn iter_next(&self, iterator: IteratorHandle) -> Option<KeyValue>;
/// Dispose iteration that is no longer needed
fn dispose_iter(&self, handle: IteratorHandle) -> Result<(), Error>;
/// Write client transaction
fn write(&self, transaction: DBTransaction) -> Result<(), Error>;
}
#[derive(Binary)]
pub struct DBTransaction {
pub writes: RefCell<Vec<KeyValue>>,
pub removes: RefCell<Vec<Vec<u8>>>,
}
impl DBTransaction {
pub fn new() -> DBTransaction {
DBTransaction {
writes: RefCell::new(Vec::new()),
removes: RefCell::new(Vec::new()),
}
}
pub fn put(&self, key: &[u8], value: &[u8]) {
let mut brw = self.writes.borrow_mut();
brw.push(KeyValue { key: key.to_vec(), value: value.to_vec() });
}
pub fn delete(&self, key: &[u8]) {
let mut brw = self.removes.borrow_mut();
brw.push(key.to_vec());
}
}

View File

@@ -1,16 +1,7 @@
[package]
description = "Ethcore development/test/build tools"
homepage = "http://ethcore.io"
homepage = "http://parity.io"
license = "GPL-3.0"
name = "ethcore-devtools"
version = "1.3.0"
authors = ["Ethcore <admin@ethcore.io>"]
[dependencies]
rand = "0.3"
[features]
[lib]
path = "src/lib.rs"
test = true
version = "1.12.0"
authors = ["Parity Technologies <admin@parity.io>"]

132
devtools/src/http_client.rs Normal file
View File

@@ -0,0 +1,132 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
use std::thread;
use std::time::Duration;
use std::io::{self, Read, Write};
use std::str::{self, Lines};
use std::net::{TcpStream, SocketAddr};
pub struct Response {
pub status: String,
pub headers: Vec<String>,
pub headers_raw: String,
pub body: String,
}
impl Response {
pub fn assert_header(&self, header: &str, value: &str) {
let header = format!("{}: {}", header, value);
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) {
assert_eq!(self.status, status.to_owned(), "Got unexpected code. Body: {:?}", self.body);
}
pub fn assert_security_headers_present(&self, port: Option<u16>) {
assert_security_headers_present(&self.headers, port)
}
}
pub fn read_block(lines: &mut Lines, all: bool) -> String {
let mut block = String::new();
loop {
let line = lines.next();
match line {
None => break,
Some("") if !all => break,
Some(v) => {
block.push_str(v);
block.push_str("\n");
},
}
}
block
}
fn connect(address: &SocketAddr) -> TcpStream {
let mut retries = 0;
let mut last_error = None;
while retries < 10 {
retries += 1;
let res = TcpStream::connect(address);
match res {
Ok(stream) => {
return stream;
},
Err(e) => {
last_error = Some(e);
thread::sleep(Duration::from_millis(retries * 10));
}
}
}
panic!("Unable to connect to the server. Last error: {:?}", last_error);
}
pub fn request(address: &SocketAddr, request: &str) -> Response {
let mut req = connect(address);
req.set_read_timeout(Some(Duration::from_secs(2))).unwrap();
req.write_all(request.as_bytes()).unwrap();
let mut response = Vec::new();
loop {
let mut chunk = [0; 32 *1024];
match req.read(&mut chunk) {
Err(ref err) if err.kind() == io::ErrorKind::WouldBlock => break,
Err(err) => panic!("Unable to read response: {:?}", err),
Ok(0) => break,
Ok(read) => response.extend_from_slice(&chunk[..read]),
}
}
let response = String::from_utf8_lossy(&response).into_owned();
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(|v| v.to_owned()).collect();
let body = read_block(&mut lines, true);
Response {
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 let None = port {
assert!(
headers.iter().find(|header| header.as_str() == "X-Frame-Options: SAMEORIGIN").is_some(),
"X-Frame-Options: SAMEORIGIN missing: {:?}", headers
);
}
assert!(
headers.iter().find(|header| header.as_str() == "X-XSS-Protection: 1; mode=block").is_some(),
"X-XSS-Protection missing: {:?}", headers
);
assert!(
headers.iter().find(|header| header.as_str() == "X-Content-Type-Options: nosniff").is_some(),
"X-Content-Type-Options missing: {:?}", headers
);
assert!(
headers.iter().find(|header| header.starts_with("Content-Security-Policy: ")).is_some(),
"Content-Security-Policy missing: {:?}", headers
)
}

View File

@@ -1,4 +1,4 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Parity is free software: you can redistribute it and/or modify
@@ -16,13 +16,4 @@
//! dev-tools
extern crate rand;
mod random_path;
mod test_socket;
mod stop_guard;
pub use random_path::*;
pub use test_socket::*;
pub use stop_guard::*;
pub mod http_client;

View File

@@ -1,129 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Random path
use std::path::*;
use std::fs;
use std::env;
use std::ops::{Deref, DerefMut};
use rand::random;
pub struct RandomTempPath {
path: PathBuf
}
pub fn random_filename() -> String {
random_str(8)
}
pub fn random_str(len: usize) -> String {
(0..len).map(|_| ((random::<f32>() * 26.0) as u8 + 97) as char).collect()
}
impl RandomTempPath {
pub fn new() -> RandomTempPath {
let mut dir = env::temp_dir();
dir.push(random_filename());
RandomTempPath {
path: dir.clone()
}
}
pub fn create_dir() -> RandomTempPath {
let mut dir = env::temp_dir();
dir.push(random_filename());
fs::create_dir_all(dir.as_path()).unwrap();
RandomTempPath {
path: dir.clone()
}
}
pub fn as_path(&self) -> &PathBuf {
&self.path
}
pub fn as_str(&self) -> &str {
self.path.to_str().unwrap()
}
pub fn new_in(&self, name: &str) -> String {
let mut path = self.path.clone();
path.push(name);
path.to_str().unwrap().to_owned()
}
}
impl Drop for RandomTempPath {
fn drop(&mut self) {
if let Err(e) = fs::remove_dir_all(self.as_path()) {
panic!("Failed to remove temp directory. Here's what prevented this from happening: ({})", e);
}
}
}
pub struct GuardedTempResult<T> {
pub result: Option<T>,
pub _temp: RandomTempPath
}
impl<T> GuardedTempResult<T> {
pub fn reference(&self) -> &T {
self.result.as_ref().unwrap()
}
pub fn reference_mut(&mut self) -> &mut T {
self.result.as_mut().unwrap()
}
pub fn take(&mut self) -> T {
self.result.take().unwrap()
}
}
impl<T> Deref for GuardedTempResult<T> {
type Target = T;
fn deref(&self) -> &T { self.result.as_ref().unwrap() }
}
impl<T> DerefMut for GuardedTempResult<T> {
fn deref_mut(&mut self) -> &mut T { self.result.as_mut().unwrap() }
}
#[test]
fn creates_dir() {
let temp = RandomTempPath::create_dir();
assert!(fs::metadata(temp.as_path()).unwrap().is_dir());
}
#[test]
fn destroys_dir() {
let path_buf = {
let temp = RandomTempPath::create_dir();
assert!(fs::metadata(temp.as_path()).unwrap().is_dir());
let path_buf = temp.as_path().to_path_buf();
path_buf
};
assert!(fs::metadata(&path_buf).is_err());
}
#[test]
fn provides_random() {
let temp = RandomTempPath::create_dir();
assert!(temp.as_path().to_str().is_some());
}

View File

@@ -1,95 +0,0 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
use std::io::*;
use std::cmp;
pub struct TestSocket {
pub read_buffer: Vec<u8>,
pub write_buffer: Vec<u8>,
pub cursor: usize,
pub buf_size: usize,
}
impl Default for TestSocket {
fn default() -> Self {
TestSocket::new()
}
}
impl TestSocket {
pub fn new() -> Self {
TestSocket {
read_buffer: vec![],
write_buffer: vec![],
cursor: 0,
buf_size: 0,
}
}
pub fn new_buf(buf_size: usize) -> TestSocket {
TestSocket {
read_buffer: vec![],
write_buffer: vec![],
cursor: 0,
buf_size: buf_size,
}
}
pub fn new_ready(data: Vec<u8>) -> TestSocket {
TestSocket {
read_buffer: data,
write_buffer: vec![],
cursor: 0,
buf_size: 0,
}
}
}
impl Read for TestSocket {
fn read(&mut self, buf: &mut [u8]) -> Result<usize> {
let end_position = cmp::min(self.read_buffer.len(), self.cursor+buf.len());
if self.cursor > end_position { return Ok(0) }
let len = cmp::max(end_position - self.cursor, 0);
match len {
0 => Ok(0),
_ => {
for i in self.cursor..end_position {
buf[i-self.cursor] = self.read_buffer[i];
}
self.cursor = end_position;
Ok(len)
}
}
}
}
impl Write for TestSocket {
fn write(&mut self, buf: &[u8]) -> Result<usize> {
if self.buf_size == 0 || buf.len() < self.buf_size {
self.write_buffer.extend(buf.iter().cloned());
Ok(buf.len())
}
else {
self.write_buffer.extend(buf.iter().take(self.buf_size).cloned());
Ok(self.buf_size)
}
}
fn flush(&mut self) -> Result<()> {
unimplemented!();
}
}

View File

@@ -1,29 +0,0 @@
FROM centos:latest
WORKDIR /build
# install tools and dependencies
RUN yum -y update&& \
yum install -y git make gcc-c++ gcc file binutils
# install rustup
RUN curl -sSf https://static.rust-lang.org/rustup.sh -o rustup.sh &&\
ls&&\
sh rustup.sh -s -- --disable-sudo
# show backtraces
ENV RUST_BACKTRACE 1
# set compiler
ENV CXX g++
ENV CC gcc
# show tools
RUN rustc -vV && \
cargo -V && \
gcc -v &&\
g++ -v
# build parity
RUN git clone https://github.com/ethcore/parity && \
cd parity&&\
git checkout beta && \
git pull && \
ls -a&&\
cargo build --release --verbose && \
ls /build/parity/target/release/parity && \
strip /build/parity/target/release/parity
RUN file /build/parity/target/release/parity

View File

@@ -1,49 +0,0 @@
FROM ubuntu:14.04
WORKDIR /build
# install tools and dependencies
RUN apt-get -y update && \
apt-get install -y --force-yes --no-install-recommends \
curl git make g++ gcc-aarch64-linux-gnu g++-aarch64-linux-gnu \
libc6-arm64-cross libc6-dev-arm64-cross wget file ca-certificates \
binutils-aarch64-linux-gnu \
&& \
apt-get clean
# install rustup
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
# rustup directory
ENV PATH /root/.cargo/bin:$PATH
ENV RUST_TARGETS="aarch64-unknown-linux-gnu"
# multirust add arm--linux-gnuabhf toolchain
RUN rustup target add aarch64-unknown-linux-gnu
# show backtraces
ENV RUST_BACKTRACE 1
# set compilers
ENV CXX aarch64-linux-gnu-g++
ENV CC aarch64-linux-gnu-gcc
# show tools
RUN rustc -vV && \
cargo -V && \
gcc -v &&\
g++ -v
# build parity
RUN git clone https://github.com/ethcore/parity && \
cd parity && \
git checkout beta && \
git pull && \
mkdir -p .cargo && \
echo '[target.aarch64-unknown-linux-gnu]\n\
linker = "aarch64-linux-gnu-gcc"\n'\
>>.cargo/config && \
cat .cargo/config && \
cargo build --target aarch64-unknown-linux-gnu --release --verbose && \
ls /build/parity/target/aarch64-unknown-linux-gnu/release/parity && \
/usr/bin/aarch64-linux-gnu-strip /build/parity/target/aarch64-unknown-linux-gnu/release/parity
RUN file /build/parity/target/aarch64-unknown-linux-gnu/release/parity

View File

@@ -1,37 +0,0 @@
FROM ubuntu:14.04
# install tools and dependencies
RUN apt-get update && \
apt-get install -y \
# make
build-essential \
# add-apt-repository
software-properties-common \
curl \
g++ \
wget \
git \
# evmjit dependencies
zlib1g-dev \
libedit-dev
# cmake, llvm and rocksdb ppas. then update ppas
RUN add-apt-repository -y "ppa:george-edison55/cmake-3.x" && \
add-apt-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.7 main" && \
apt-get update && \
apt-get install -y --force-yes cmake llvm-3.7-dev
# install evmjit
RUN git clone https://github.com/debris/evmjit && \
cd evmjit && \
mkdir build && cd build && \
cmake .. && make && make install && cd
# install rustup
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
# rustup directory
ENV PATH /root/.cargo/bin:$PATH
# show backtraces
ENV RUST_BACKTRACE 1

View File

@@ -1,55 +0,0 @@
FROM ubuntu:14.04
WORKDIR /build
# install tools and dependencies
RUN apt-get update && \
apt-get install -y \
# make
build-essential \
# add-apt-repository
software-properties-common \
curl \
wget \
git \
g++ \
binutils \
file \
# evmjit dependencies
zlib1g-dev \
libedit-dev
# cmake and llvm ppas. then update ppas
RUN add-apt-repository -y "ppa:george-edison55/cmake-3.x" && \
add-apt-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.7 main" && \
apt-get update && \
apt-get install -y --force-yes cmake llvm-3.7-dev
# install evmjit
RUN git clone https://github.com/debris/evmjit && \
cd evmjit && \
mkdir build && cd build && \
cmake .. && make && make install && cd
# install rustup
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
# rustup directory
ENV PATH /root/.cargo/bin:$PATH
# show backtraces
ENV RUST_BACKTRACE 1
# show tools
RUN rustc -vV && \
cargo -V && \
gcc -v &&\
g++ -v
# build parity
RUN git clone https://github.com/ethcore/parity && \
cd parity && \
git checkout beta && \
git pull && \
cargo build --release --features ethcore/jit --verbose && \
ls /build/parity/target/release/parity && \
strip /build/parity/target/release/parity
RUN file /build/parity/target/release/parity

View File

@@ -1,36 +0,0 @@
FROM ubuntu:14.04
WORKDIR /build
# install tools and dependencies
RUN apt-get update && \
apt-get install -y \
g++ \
curl \
git \
file \
binutils
# install rustup
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
# rustup directory
ENV PATH /root/.cargo/bin:$PATH
# show backtraces
ENV RUST_BACKTRACE 1
# show tools
RUN rustc -vV && \
cargo -V && \
gcc -v &&\
g++ -v
# build parity
RUN git clone https://github.com/ethcore/parity && \
cd parity && \
git checkout beta && \
git pull && \
cargo build --release --verbose && \
ls /build/parity/target/release/parity && \
strip /build/parity/target/release/parity
ENTRYPOINT ["/build/parity/target/release/parity"]

228
docs/CHANGELOG-0.9.md Normal file
View File

@@ -0,0 +1,228 @@
Note: Parity 0.9 reached End-of-Life on 2016-05-02 (EOL).
## 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/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/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/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)

317
docs/CHANGELOG-1.0.md Normal file
View File

@@ -0,0 +1,317 @@
Note: Parity 1.0 reached End-of-Life on 2016-06-24 (EOL).
## 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/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/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/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/paritytech/parity/releases/tag/v1.0.0) (2016-03-24)
Parity 1.0.0 release adds the following features:
- Standard JsonRPC interface.
- Full Homestead compatibility.
- Transaction management.
- Mining with external miner.
- Account management.
- Geth key chain compatibility.
- Additional command line options.
- State trie pruning.
- Cache and queue footprint.
- Network discovery & NAT traversal.
- Custom chain specification files.
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/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/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/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)

154
docs/CHANGELOG-1.1.md Normal file
View File

@@ -0,0 +1,154 @@
Note: Parity 1.1 reached End-of-Life on 2016-08-12 (EOL).
## Parity [v1.1.0](https://github.com/paritytech/parity/releases/tag/v1.1.0) (2016-05-02)
Parity 1.1.0 introduces:
- Transaction tracing. Parity now optionally indexes & stores message-call/"internal transaction" information and provides additional RPC for querying.
- Web interface for logs, status & JSON RPC.
- Improved JSON RPC compatibility.
- Reduced memory footprint.
- Optimized EVM interpreter performance.
Full Changes:
- 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)

469
docs/CHANGELOG-1.10.md Normal file
View File

@@ -0,0 +1,469 @@
Note: Parity 1.10 reached End-of-Life on 2018-07-18 (EOL).
## 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/paritytech/parity/pull/9016))
- Parity-version: bump stable to 1.10.9
- 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/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
- Aura: use correct validator set epoch number when reporting
- Aura: use epoch set when verifying blocks
- Aura: report skipped primaries when generating seal
- Aura: handle immediate transitions
- Aura: don't report skipped steps from genesis to first block
- Aura: fix reporting test
- Aura: refactor duplicate code to handle immediate_transitions
- Aura: let reporting fail on verify_block_basic
- Aura: add comment about possible failure of reporting
## 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/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/paritytech/parity/pull/8977))
- Remove js-glue from workspace
- 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/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/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/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/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/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/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/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/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/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.
If you can not upgrade to 1.10+ yet, please use the following branches and build your own binaries from source:
- git checkout [old-stable-1.9](https://github.com/paritytech/parity/tree/old-stable-1.9) # `v1.9.8` (EOL)
- git checkout [old-stable-1.8](https://github.com/paritytech/parity/tree/old-stable-1.8) # `v1.8.12` (EOL)
- git checkout [old-stable-1.7](https://github.com/paritytech/parity/tree/old-stable-1.7) # `v1.7.14` (EOL)
The full list of included changes:
- 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/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/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/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/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/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/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/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/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/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/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/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/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/paritytech/parity/pull/8463))
- Fetch logs by hash in blockchain database
- Fix tests
- Add unit test for branch block logs fetching
- Add docs that blocks must already be sorted
- Handle branch block cases properly
- typo: empty -> is_empty
- Remove return_empty_if_none by using a closure
- Use BTreeSet to avoid sorting again
- Move is_canon to BlockChain
- 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/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
- Use state query directly because of suicided accounts
- Fix a RefCell borrow issue
- Add tests for unmodified storage trace
- Address grumbles
- typo: remove unwanted empty line
- ensure_cached compiles with the original signature
- 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/paritytech/parity/pull/8474))
- Stabelize 1.10
- Bump stable to 1.10.3
- Update Gitlab scripts
- 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/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/paritytech/parity/pull/8455))
- Update Parity beta to 1.10.2
- 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/paritytech/parity/pull/8452))
- Fix Cargo.lock
- 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/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/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/paritytech/parity/pull/8350))
- Bump beta to 1.10.1
- Unflag critical release
- 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/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/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/paritytech/parity/pull/8164)) ([#8205](https://github.com/paritytech/parity/pull/8205))
- Change name Wallet -> UI
- Make warning bold
- 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/paritytech/parity/releases/tag/v1.10.0) (2018-03-22)
This is the Parity 1.10.0-beta release! Cool!
### Disabling the Parity Wallet
The **Parity Wallet (a.k.a. "UI") is now disabled by default**. We are preparing to split the wallet from the core client.
To reactivate the parity wallet, you have to run Parity either with `parity --force-ui` (not recommended) or `parity ui` (deprecated) from the command line. Or, if you feel super fancy and want to test our pre-releases of the stand-alone electron wallet, head over to the [Parity-JS repositories and check the releases](https://github.com/Parity-JS/shell/releases).
Further reading:
- [Docs: Parity Wallet](https://wiki.parity.io/Parity-Wallet)
- [Docs: How to customize Parity UI?](https://wiki.parity.io/FAQ-Customize-Parity-UI.html)
- [Github: Parity-JS](https://github.com/parity-js)
### Introducing the Wasm VM
We are excited to announce support for **Wasm Smart Contracts on Kovan network**. The hard-fork to activate the Wasm-VM will take place on block `6_600_000`.
To enable Wasm contracts on your custom network, just schedule a `wasmActivationTransition` at your favorite block number (e.g., `42`, `666`, or `0xbada55`). To hack your first Wasm smart contracts in Rust, have a look at the [Parity Wasm Tutorials](https://github.com/paritytech/pwasm-tutorial).
Further reading:
- [Docs: WebAssembly (wasm)](https://wiki.parity.io/WebAssembly-Home)
- [Docs: Wasm VM Design](https://wiki.parity.io/WebAssembly-Design)
- [Docs: Wasm tutorials and examples](https://wiki.parity.io/WebAssembly-Links)
### Empty step messages in PoA
To **reduce blockchain bloat, proof-of-authority networks can now enable _empty step messages_ which replace empty blocks**. Each step message will be signed and broadcasted by the issuing authorities, and included and rewarded in the next non-empty block.
To enable empty step messages, set the `emptyStepsTransition` to your favorite block number. You can also specify a maximum number of empty steps with `maximumEmptySteps` in your chain spec.
### Other noteworthy changes
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/paritytech/parity/issues/7166).
We reduced the default USD per transaction value to 0.0001. Thanks, @MysticRyuujin!
The Musicoin chain is now enabled with Byzantium features starting at block `2_222_222`.
### Overview of all changes included
The full list of included changes:
- 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/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/paritytech/parity/pull/8067))
- Enable code size limit on kovan
- Fix formatting.
- Limit incoming connections. ([#8060](https://github.com/paritytech/parity/pull/8060))
- Limit ingress connections
- Optimized handshakes logging
- 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/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/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/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/paritytech/parity/pull/8137))
- ethcore: postpone Kovan hard fork
- util: update version fork metadata
- 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/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
- ethcore: update musicoin byzantium block number
- ethcore: update musicoin bootnodes
- Update musicoin.json
- More bootnodes.
- 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/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
- [CHANGELOG-1.9](docs/CHANGELOG-1.9.md) (_stable_)
- [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)

804
docs/CHANGELOG-1.11.md Normal file
View File

@@ -0,0 +1,804 @@
Note: Parity 1.11 reached End-of-Life on 2018-09-19 (EOL).
## Parity-Ethereum [v1.11.11](https://github.com/paritytech/parity-ethereum/releases/tag/v1.11.11) (2018-09-11)
Parity-Ethereum 1.11.11-stable is a bug-fix release to improve performance and stability.
The full list of included changes:
- Stable backports 1.11.11 ([#9443](https://github.com/paritytech/parity-ethereum/pull/9443))
- Parity-version: bump stable to 1.11.11
- 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: print correct keys path on startup ([#9501](https://github.com/paritytech/parity-ethereum/pull/9501))
- 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
## Parity-Ethereum [v1.11.10](https://github.com/paritytech/parity-ethereum/releases/tag/v1.11.10) (2018-08-31)
Parity-Ethereum 1.11.10-stable is a bug-fix release to improve performance and stability.
The full list of included changes:
- Stable backports for 1.11.10 ([#9228](https://github.com/paritytech/parity-ethereum/pull/9228))
- Parity-version: bump stable to 1.11.9
- Fix compilation error on nightly rust ([#8707](https://github.com/paritytech/parity-ethereum/pull/8707))
- On nightly rust passing `public_url` works but that breaks on stable. This works for both.
- Parity-version: bump stable to 1.11.10
- 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/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/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))
- Update tobalaba.json ([#9313](https://github.com/paritytech/parity-ethereum/pull/9313))
- 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
- Ethcore: kovan: delay activation of strict score validation ([#9406](https://github.com/paritytech/parity-ethereum/pull/9406))
- Use impl Future in the light client RPC helpers ([#8628](https://github.com/paritytech/parity-ethereum/pull/8628))
- 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.
- Propagate transactions for next 4 blocks. ([#9265](https://github.com/paritytech/parity-ethereum/pull/9265))
- 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.
- 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
- Add snapcraft cmake build dependency ([#9243](https://github.com/paritytech/parity-ethereum/pull/9243))
## Parity-Ethereum [v1.11.8](https://github.com/paritytech/parity-ethereum/releases/tag/v1.11.8) (2018-07-27)
Parity 1.11.8-stable is a bug-fix release to improve performance and stability.
Note, authorities in PoA networks based on the Aura engine, should upgrade their nodes immediately as this release includes a critical fix.
The full list of included changes:
- Backports to 1.11.8-stable ([#9144](https://github.com/paritytech/parity-ethereum/pull/9144))
- Parity-version: bump stable to 1.11.8
- 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
- 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/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/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/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/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
- Docker: fix tab indentation in hub dockerfile
- Ethcore: update to parity-wasm 0.31
- Rpc: fix broken merge
## Parity-Ethereum [v1.11.7](https://github.com/paritytech/parity-ethereum/releases/tag/v1.11.7) "Prosperity" (2018-07-17)
Parity 1.11.7 "Prosperity" is a bug-fix release to improve performance and stability that marks the 1.11 release track as `stable`. Among other fixes, this release significantly addresses peering and synchronization issues. If you experienced such issues before, upgrading is highly recommended. If you rely on old versions of Parity, check out the `old-stable-1.10` branch, cherry-pick fixes, and compile your binaries independently. There will be no official support for any versions prior to 1.11.7, however (EOL).
If you are upgrading directly from versions 1.10.9 or earlier, please note important changes to our transaction-queue implementation, namely:
- The pool now limits transactions per-sender (see `--tx-queue-per-sender`), local transactions also have to obey that limit. Consider increasing the limit via CLI-flag when running benchmarks or sending a lot of transactions at once.
- In case the pool is full, transactions received over the network, but originating from accounts that you have private keys for might not get accepted to the pool any more with higher priority. Consider running with larger pool size or submitting the transactions directly on the node via `eth_sendRawTransaction`.
The full list of included changes:
- Backports to 1.11.7-stable ([#9093](https://github.com/paritytech/parity/pull/9093))
- Parity-version: stabilize 1.11
- Parity-version: bump stable to 1.11.7
- Don't fetch snapshot chunks at random ([#9088](https://github.com/paritytech/parity/pull/9088))
- Offload cull to IoWorker. ([#9099](https://github.com/paritytech/parity/pull/9099))
- Limit the number of transactions in pending set ([#8777](https://github.com/paritytech/parity/pull/8777))
- Unordered iterator.
- Use unordered and limited set if full not required.
- Split timeout work into smaller timers.
- Avoid collecting all pending transactions when mining
- Remove println.
- Use priority ordering in eth-filter.
- Fix ethcore-miner tests and tx propagation.
- Review grumbles addressed.
- Add test for unordered not populating the cache.
- Fix ethcore tests.
- Fix light tests.
- Fix ethcore-sync tests.
- Fix RPC tests.
- Make sure to produce full blocks. ([#9115](https://github.com/paritytech/parity/pull/9115))
- Update hidapi, fixes [#7542](https://github.com/paritytech/parity-ethereum/issues/7542) ([#9108](https://github.com/paritytech/parity/pull/9108))
- Docker: add cmake dependency ([#9111](https://github.com/paritytech/parity/pull/9111))
- Fix miner tests.
- Revert "Make sure to produce full blocks."
- This reverts commit b12d592.
- Update light client hardcoded headers ([#9098](https://github.com/paritytech/parity/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/paritytech/parity/pull/9115))
- Insert ETC (classic) hardcoded headers until block 6170625 ([#9121](https://github.com/paritytech/parity/pull/9121))
- Fix verification in ethcore-sync collect_blocks ([#9135](https://github.com/paritytech/parity/pull/9135))
- `evm bench` fix broken dependencies ([#9134](https://github.com/paritytech/parity/pull/9134))
- `evm bench` use valid dependencies
- Fix warnings
## Parity [v1.11.6](https://github.com/paritytech/parity/releases/tag/v1.11.6) (2018-07-09)
Parity 1.11.6 is a bug-fix release to improve performance and stability.
The full list of included changes:
- Beta: 1.11.6 backports ([#9015](https://github.com/paritytech/parity/pull/9015))
- Parity-version: bump beta to 1.11.6
- Scripts: remove md5 checksums ([#8884](https://github.com/paritytech/parity/pull/8884))
- Add support for --chain tobalaba
- Convert indents to tabs :)
- 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
- Aura: use correct validator set epoch number when reporting
- Aura: use epoch set when verifying blocks
- Aura: report skipped primaries when generating seal
- Aura: handle immediate transitions
- Aura: don't report skipped steps from genesis to first block
- Aura: fix reporting test
- Aura: refactor duplicate code to handle immediate_transitions
- Aura: let reporting fail on verify_block_basic
- Aura: add comment about possible failure of reporting
- Only return error log for rustls ([#9025](https://github.com/paritytech/parity/pull/9025))
- Transaction Pool improvements ([#8470](https://github.com/paritytech/parity/pull/8470))
- Don't use ethereum_types in transaction pool.
- Hide internal insertion_id.
- Fix tests.
- Review grumbles.
- Improve should_replace on NonceAndGasPrice ([#8980](https://github.com/paritytech/parity/pull/8980))
- Additional tests for NonceAndGasPrice::should_replace.
- Fix should_replace in the distinct sender case.
- Use natural priority ordering to simplify should_replace.
- Minimal effective gas price in the queue ([#8934](https://github.com/paritytech/parity/pull/8934))
- Minimal effective gas price.
- Fix naming, add test
- Fix minimal entry score and add test.
- Fix worst_transaction.
- Remove effective gas price threshold.
- Don't leak gas_price decisions out of Scoring.
- Never drop local transactions from different senders. ([#9002](https://github.com/paritytech/parity/pull/9002))
- Recently rejected cache for transaction queue ([#9005](https://github.com/paritytech/parity/pull/9005))
- Store recently rejected transactions.
- Don't cache AlreadyImported rejections.
- Make the size of transaction verification queue dependent on pool size.
- Add a test for recently rejected.
- Fix logging for recently rejected.
- Make rejection cache smaller.
- Obsolete test removed
- Obsolete test removed
- Construct cache with_capacity.
- Optimize pending transactions filter ([#9026](https://github.com/paritytech/parity/pull/9026))
- Rpc: return unordered transactions in pending transactions filter
- Ethcore: use LruCache for nonce cache
- Only clear the nonce cache when a block is retracted
- Revert "ethcore: use LruCache for nonce cache"
- This reverts commit b382c19.
- Use only cached nonces when computing pending hashes.
- Give filters their own locks, so that they don't block one another.
- Fix pending transaction count if not sealing.
- Clear cache only when block is enacted.
- Fix RPC tests.
- Address review comments.
- A last bunch of txqueue performance optimizations ([#9024](https://github.com/paritytech/parity/pull/9024))
- Clear cache only when block is enacted.
- Add tracing for cull.
- Cull split.
- Cull after creating pending block.
- Add constant, remove sync::read tracing.
- Reset debug.
- Remove excessive tracing.
- Use struct for NonceCache.
- Fix build
- Remove warnings.
- Fix build again.
- Miner: add missing macro use for trace_time
- Ci: remove md5 merge leftovers
## Parity [v1.11.5](https://github.com/paritytech/parity/releases/tag/v1.11.5) (2018-06-29)
Parity 1.11.5 is a bug-fix release to improve performance and stability.
The full list of included changes:
- Bump beta to 1.11.5 / Backports ([#8955](https://github.com/paritytech/parity/pull/8955))
- Parity-version: bump beta to 1.11.5
- Update ropsten.json ([#8926](https://github.com/paritytech/parity/pull/8926))
- Update hardcoded headers ([#8925](https://github.com/paritytech/parity/pull/8925))
- Update kovan.json
- Update Kovan to block 7693549
- Update foundation.json
- Updated to block 5812225
- Update ropsten.json
- Update to 3465217
- 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: 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))
- 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/paritytech/parity/pull/8977))
- Remove js-glue from workspace
- This fixes test error on Rust 1.27 but also prevents js-glue from building itself.
- Builtin dapp users can still use js-glue from crates.io.
- Fix Android build on beta ([#9003](https://github.com/paritytech/parity/pull/9003))
## Parity [v1.11.4](https://github.com/paritytech/parity/releases/tag/v1.11.4) (2018-06-20)
Parity 1.11.4 is a bug-fix release to improve performance and stability.
The full list of included changes:
- Backports ([#8916](https://github.com/paritytech/parity/pull/8916))
- `Duration_ns: u64 -> duration: Duration` ([#8457](https://github.com/paritytech/parity/pull/8457))
- Duration_ns: u64 -> duration: Duration
- Format on millis {:.2} -> {}
- Keep all enacted blocks notify in order ([#8524](https://github.com/paritytech/parity/pull/8524))
- Keep all enacted blocks notify in order
- Collect is unnecessary
- Update ChainNotify to use ChainRouteType
- Fix all ethcore fn defs
- Wrap the type within ChainRoute
- Fix private-tx and sync api
- Fix secret_store API
- Fix updater API
- Fix rpc api
- Fix informant api
- Eagerly cache enacted/retracted and remove contain_enacted/retracted
- Fix indent
- Tests: should use full expr form for struct constructor
- Use into_enacted_retracted to further avoid copy
- Typo: not a function
- Rpc/tests: ChainRoute -> ChainRoute::new
- Handle removed logs in filter changes and add geth compatibility field ([#8796](https://github.com/paritytech/parity/pull/8796))
- Add removed geth compatibility field in log
- Fix mocked tests
- Add field block hash in PollFilter
- Store last block hash info for log filters
- Implement canon route
- Use canon logs for fetching reorg logs
- Make sure removed flag is set
- Address grumbles
- 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
- Ethcore: fix ancient block error msg handling ([#8832](https://github.com/paritytech/parity/pull/8832))
- Disable parallel verification and skip verifiying already imported txs. ([#8834](https://github.com/paritytech/parity/pull/8834))
- Reject transactions that are already in pool without verifying them.
- Avoid verifying already imported transactions.
- 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"
- Don't allocate in expect_valid_rlp unless necessary ([#8867](https://github.com/paritytech/parity/pull/8867))
- Don't allocate via format! in case there's no error
- Fix test?
- Fixed ipc leak, closes [#8774](https://github.com/paritytech/parity/issues/8774) ([#8876](https://github.com/paritytech/parity/pull/8876))
- 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/paritytech/parity/pull/8891))
- 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
- Check whether we need resealing in miner and unwrap has_account in account_provider ([#8853](https://github.com/paritytech/parity/pull/8853))
- Remove unused Result wrap in has_account
- Check whether we need to reseal for external transactions
- Fix reference to has_account interface
- Typo: missing )
- Refactor duplicates to prepare_and_update_sealing
- Fix build
- Allow disabling local-by-default for transactions with new config entry ([#8882](https://github.com/paritytech/parity/pull/8882))
- Add tx_queue_allow_unknown_local config option
- Refactor flag name + don't change import_own_tx behaviour
- Add fn to TestMinerService
- Avoid race condition from trusted sources
- Parity-version: beta release 1.11.4 ([#8856](https://github.com/paritytech/parity/pull/8856))
- Cherry-pick network-specific release flag ([#8821](https://github.com/paritytech/parity/pull/8821))
- Parity-version: bump beta to 1.11.4
- Parity-version: remove merge leftovers
## Parity [v1.11.3](https://github.com/paritytech/parity/releases/tag/v1.11.3) (2018-06-06)
Parity 1.11.3 is a security-relevant release. Please upgrade your nodes as soon as possible to [v1.10.6](https://github.com/paritytech/parity/releases/tag/v1.10.6) or [v1.11.3](https://github.com/paritytech/parity/releases/tag/v1.11.3).
The full list of included changes:
- Parity-version: bump beta to 1.11.3 ([#8806](https://github.com/paritytech/parity/pull/8806))
- Parity-version: bump beta to 1.11.3
- Disallow unsigned transactions in case EIP-86 is disabled ([#8802](https://github.com/paritytech/parity/pull/8802))
- Fix ancient blocks queue deadlock ([#8751](https://github.com/paritytech/parity/pull/8751))
- Update shell32-sys to fix windows build ([#8792](https://github.com/paritytech/parity/pull/8792))
- Backports ([#8785](https://github.com/paritytech/parity/pull/8785))
- Fix light sync with initial validator-set contract ([#8528](https://github.com/paritytech/parity/pull/8528))
- Fix [#8468](https://github.com/paritytech/parity-ethereum/issues/8468)
- Use U256::max_value() instead
- Also change initial transaction gas
- Resumable warp-sync / Seed downloaded snapshots ([#8544](https://github.com/paritytech/parity/pull/8544))
- Start dividing sync chain : first supplier method
- WIP - updated chain sync supplier
- Finish refactoring the Chain Sync Supplier
- Create Chain Sync Requester
- Add Propagator for Chain Sync
- Add the Chain Sync Handler
- Move tests from mod -> handler
- Move tests to propagator
- Refactor SyncRequester arguments
- Refactoring peer fork header handler
- Fix wrong highest block number in snapshot sync
- Small refactor...
- Resume warp-sync downloaded chunks
- Refactoring the previous chunks import
- Address PR grumbles
- Fix not seeding current snapshot
- Update SnapshotService readiness check
- Early abort importing previous chunks
- Update Gitlab CI config
- SyncState back to Waiting when Manifest peers disconnect
- Revert GitLab CI changes
- Refactor resuming snapshots
- Revert "Refactor resuming snapshots"
- Update informant log
- Refactor resuming snapshots
- Update informant message : show chunks done
- Don't open Browser post-install on Mac ([#8641](https://github.com/paritytech/parity/pull/8641))
- Fix not downloading old blocks ([#8642](https://github.com/paritytech/parity/pull/8642))
- Fix PoW blockchains sealing notifications in chain_new_blocks ([#8656](https://github.com/paritytech/parity/pull/8656))
- Shutdown the Snapshot Service early ([#8658](https://github.com/paritytech/parity/pull/8658))
- Shutdown the Snapshot Service when shutting down the runner
- Rename `service` to `client_service`
- Fix tests
- Fix cli signer ([#8682](https://github.com/paritytech/parity/pull/8682))
- Update ethereum-types so `{:#x}` applies 0x prefix
- 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
- Network-devp2p: handle UselessPeer disconnect ([#8686](https://github.com/paritytech/parity/pull/8686))
- Fix local transactions policy. ([#8691](https://github.com/paritytech/parity/pull/8691))
- CI: Fixes for Android Pipeline ([#8745](https://github.com/paritytech/parity/pull/8745))
- Ci: Remove check for shared libraries in gitlab script
- Ci: allow android arm build to fail
- Custom Error Messages on ENFILE and EMFILE IO Errors ([#8744](https://github.com/paritytech/parity/pull/8744))
- Custom Error Messages on ENFILE and EMFILE IO Errors
- Use assert-matches for more readable tests
- Fix Wording and consistency
- Ethcore-sync: fix connection to peers behind chain fork block ([#8710](https://github.com/paritytech/parity/pull/8710))
- Parity-version: bump beta to 1.11.2 ([#8750](https://github.com/paritytech/parity/pull/8750))
- Parity-version: bump beta to 1.11.2
- Parity-version: unset critical flag
## Parity [v1.11.1](https://github.com/paritytech/parity/releases/tag/v1.11.1) (2018-05-15)
This is the Parity 1.11.1-beta release! Hurray!
Notable changes in reversed alphabetical order:
- TOOLING: **Whisper CLI** [#8201](https://github.com/paritytech/parity/pull/8201)
- `whisper-cli` is a standalone tool to communicate with the Whisper protocol.
- It provides functionality to specify `whisper-pool-size`, `port` and `address` to use.
- All whisper RPC APIs are enabled and can be directly accessed.
- JSON-RPC API: **Return error in case eth_call returns VM errors** [#8448](https://github.com/paritytech/parity/pull/8448)
- This changes the behaviors of `eth_call` to respect VM errors if any.
- In case of `REVERT`, it will also return the reverted return data in hex format.
- ENGINES: **Block Reward Contract** [#8419](https://github.com/paritytech/parity/pull/8419)
- The _AuRa_ PoA engine has now support for having a contract to calculate the block rewards.
- The engine passes a list of benefactors and reward types to the contract which then returns a list of addresses and respective rewards.
- CORE: **Private Transactions** [#6422](https://github.com/paritytech/parity/pull/6422)
- Parity now provides a private transactions system.
- Please, check out our wiki to get an [overview and setup instructions](https://wiki.parity.io/Private-Transactions.html).
- CORE: **New Transaction Queue implementation** [#8074](https://github.com/paritytech/parity/pull/8074)
- Verification is now done in parallel.
- Previous queue had `O(1)` time to get pending set, but `O(n^2)` insertion time. And obviously insertion/removal happens much more often than retrieving the pending set (only for propagation and pending block building) Currently we have `O(n * log(senders))` pending set time (with cache) and `O(tx_per_sender)` (usually within `log(tx_per_sender)`) insertion time.
- `Scoring` and `Readiness` are separated from the pool, so it's easier to customize them or introduce different definitions (for instance for [EIP-859](https://github.com/ethereum/EIPs/issues/859) or private transactions, etc).
- Banning removed, soft-penalization introduced instead: if transaction exceeds the limit other transactions from that sender get lower priority.
- There is no explicit distinction between current and future transactions in the pool - `Readiness` determines that. Because of this we additionally remove `future` transactions that occupy the pool for long time.
- CONFIGURATION: **Warp-only sync with --warp-barrier [block-number] flag.** [#8228](https://github.com/paritytech/parity/pull/8228)
- Enables warp-only sync in case `--warp-barrier [block-number]` is provided.
- This avoids clients to warp to outdated snapshots that are too far away from the best block.
- This avoids clients to fall back to normal sync if there are no recent snapshots available currently.
- CONFIGURATION: **Disable UI by default.** [#8105](https://github.com/paritytech/parity/pull/8105)
- The user interface is now disabled by default. It still can be activated with the `--force-ui` flag.
- To get the stand-alone Parity UI, please check the dedicated [releases page](https://github.com/parity-js/shell/releases).
- CONFIGURATION: **Auto-updater improvements** [#8078](https://github.com/paritytech/parity/pull/8078)
- Added `--auto-update-delay` to randomly delay updates by `n` blocks. This takes into account the number of the block of the update release (old updates aren't delayed).
- Added `--auto-update-check-frequency` to define the periodicity of auto-update checks in number of blocks.
- This is an important improvement to ensure the network does not update all clients at the same time.
- CHAIN SPECS: **Enable WebAssembly and Byzantium for Ellaism** [#8520](https://github.com/paritytech/parity/pull/8520)
- This activates the Ellaism Byzantium hardfork ([2018-0004-byzantium](https://github.com/ellaism/specs/blob/master/specs/2018-0004-byzantium.md)) at block `2_000_000`.
- This enables the Wasm VM on Ellaism ([2018-0003-wasm-hardfork](https://github.com/ellaism/specs/blob/master/specs/2018-0003-wasm-hardfork.md)) at block `2_000_000`.
- Please, upgrade your clients if you run an Ellaism configuration.
- CHAIN SPECS: **Dev chain - increase gasLimit to 8_000_000** [#8362](https://github.com/paritytech/parity/pull/8362)
- This increases the default block gas limit on development chains to `8_000_000`.
- Please note, this makes previous dev chain configurations incompatible.
- CHAIN SPECS: **Add MCIP-6 Byzyantium transition to Musicoin spec** [#7841](https://github.com/paritytech/parity/pull/7841)
- This activates the Musicoin Byzantium hardfork ([MCIP-6](https://github.com/Musicoin/MCIPs/blob/master/MCIPS/mcip-6.md)) at block `2_222_222`.
- Please, upgrade your clients if you run a Musicoin configuration.
The full list of included changes:
- Backports ([#8624](https://github.com/paritytech/parity/pull/8624))
- 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 precompiles
- Use is_transferred instead of transferred
- Return error if RLP size of transaction exceeds the limit ([#8473](https://github.com/paritytech/parity/pull/8473))
- Return error if RLP size of transaction exceeds the limit
- Review comments fixed
- RLP check moved to verifier, corresponding pool test added
- Don't block sync when importing old blocks ([#8530](https://github.com/paritytech/parity/pull/8530))
- Alter IO queueing.
- Don't require IoMessages to be Clone
- Ancient blocks imported via IoChannel.
- Get rid of private transactions io message.
- Get rid of deadlock and fix disconnected handler.
- Revert to old disconnect condition.
- Fix tests.
- Fix deadlock.
- Refactoring `ethcore-sync` - Fixing warp-sync barrier ([#8543](https://github.com/paritytech/parity/pull/8543))
- Start dividing sync chain : first supplier method
- WIP - updated chain sync supplier
- Finish refactoring the Chain Sync Supplier
- Create Chain Sync Requester
- Add Propagator for Chain Sync
- Add the Chain Sync Handler
- Move tests from mod -> handler
- Move tests to propagator
- Refactor SyncRequester arguments
- Refactoring peer fork header handler
- Fix wrong highest block number in snapshot sync
- Small refactor...
- Address PR grumbles
- Retry failed CI job
- Fix tests
- PR Grumbles
- Handle socket address parsing errors ([#8545](https://github.com/paritytech/parity/pull/8545))
- Fix packet count when talking with PAR2 peers ([#8555](https://github.com/paritytech/parity/pull/8555))
- Support diferent packet counts in different protocol versions.
- Fix light timeouts and eclipse protection.
- Fix devp2p tests.
- Fix whisper-cli compilation.
- Fix compilation.
- Fix ethcore-sync tests.
- Revert "Fix light timeouts and eclipse protection."
- Increase timeouts.
- Add whisper CLI to the pipelines ([#8578](https://github.com/paritytech/parity/pull/8578))
- Add whisper CLI to the pipelines
- Address todo, ref [#8579](https://github.com/paritytech/parity/pull/8579)
- Rename `whisper-cli binary` to `whisper` ([#8579](https://github.com/paritytech/parity/pull/8579))
- Rename whisper-cli binary to whisper
- Fix tests
- Remove manually added text to the errors ([#8595](https://github.com/paritytech/parity/pull/8595))
- Fix account list double 0x display ([#8596](https://github.com/paritytech/parity/pull/8596))
- Remove unused self import
- Fix account list double 0x display
- Fix BlockReward contract "arithmetic operation overflow" ([#8611](https://github.com/paritytech/parity/pull/8611))
- Fix BlockReward contract "arithmetic operation overflow"
- Add docs on how execute_as_system works
- Fix typo
- Rlp decode returns Result ([#8527](https://github.com/paritytech/parity/pull/8527))
- Remove expect ([#8536](https://github.com/paritytech/parity/pull/8536))
- Remove expect and propagate rlp::DecoderErrors as TrieErrors
- Decoding headers can fail ([#8570](https://github.com/paritytech/parity/pull/8570))
- Rlp::decode returns Result
- Fix journaldb to handle rlp::decode Result
- Fix ethcore to work with rlp::decode returning Result
- Light client handles rlp::decode returning Result
- Fix tests in rlp_derive
- Fix tests
- Cleanup
- Cleanup
- Allow panic rather than breaking out of iterator
- Let decoding failures when reading from disk blow up
- Syntax
- Fix the trivial grumbles
- Fix failing tests
- Make Account::from_rlp return Result
- Syntx, sigh
- Temp-fix for decoding failures
- Header::decode returns Result
- Do not continue reading from the DB when a value could not be read
- Fix tests
- Handle header decoding in light_sync
- Handling header decoding errors
- Let the DecodeError bubble up unchanged
- Remove redundant error conversion
- Fix compiler warning ([#8590](https://github.com/paritytech/parity/pull/8590))
- Attempt to fix intermittent test failures ([#8584](https://github.com/paritytech/parity/pull/8584))
- Block_header can fail so return Result ([#8581](https://github.com/paritytech/parity/pull/8581))
- Block_header can fail so return Result
- Restore previous return type based on feedback
- Fix failing doc tests running on non-code
- Block::decode() returns Result ([#8586](https://github.com/paritytech/parity/pull/8586))
- 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 beta to 1.11.1 ([#8627](https://github.com/paritytech/parity/pull/8627))
## Parity [v1.11.0](https://github.com/paritytech/parity/releases/tag/v1.11.0) (2018-05-09)
This is the Parity 1.11.0-beta release! ~~Hurray!~~ This release has been pulled due to peering issues, please use 1.11.1-beta.
The full list of included changes:
- Backports ([#8558](https://github.com/paritytech/parity/pull/8558))
- 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
- Add docs that blocks must already be sorted
- Handle branch block cases properly
- typo: empty -> is_empty
- Remove return_empty_if_none by using a closure
- Use BTreeSet to avoid sorting again
- Move is_canon to BlockChain
- 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/paritytech/parity/pull/8491))
- Pass on storage keys even if it is not modified
- typo: account and storage query
- Fix tests
- Use state query directly because of suicided accounts
- Fix a RefCell borrow issue
- Add tests for unmodified storage trace
- Address grumbles
- typo: remove unwanted empty line
- ensure_cached compiles with the original signature
- 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
- Show imported messages for light client ([#8517](https://github.com/paritytech/parity/pull/8517))
- 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
- Don't panic in import_block if invalid rlp ([#8522](https://github.com/paritytech/parity/pull/8522))
- Don't panic in import_block if invalid rlp
- Remove redundant type annotation
- Replace RLP header view usage with safe decoding
- 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
- Betalize 1.11 :) ([#8475](https://github.com/paritytech/parity/pull/8475))
- Betalize 1.11 :)
- Update Gitlab scripts
- Use master as gitlab latest
- Fix snap builds ([#8483](https://github.com/paritytech/parity/pull/8483))
- Update hardcodedSync for Ethereum, Kovan, and Ropsten ([#8489](https://github.com/paritytech/parity/pull/8489))
- Fix typos in vm description comment ([#8446](https://github.com/paritytech/parity/pull/8446))
- Add changelog for 1.9.7 and 1.10.2 ([#8460](https://github.com/paritytech/parity/pull/8460))
- Fix docker build ([#8462](https://github.com/paritytech/parity/pull/8462))
- Parityshell::open `Return result` ([#8377](https://github.com/paritytech/parity/pull/8377))
- Return error in case eth_call returns VM errors ([#8448](https://github.com/paritytech/parity/pull/8448))
- Update wasmi ([#8452](https://github.com/paritytech/parity/pull/8452))
- Allow 32 bit pipelines to fail ([#8454](https://github.com/paritytech/parity/pull/8454))
- Update Cargo hidapi-rs dependency ([#8447](https://github.com/paritytech/parity/pull/8447))
- Private transactions processing error handling ([#8431](https://github.com/paritytech/parity/pull/8431))
- Improve VM executor stack size estimation rules ([#8439](https://github.com/paritytech/parity/pull/8439))
- Block reward contract ([#8419](https://github.com/paritytech/parity/pull/8419))
- Permission fix ([#8441](https://github.com/paritytech/parity/pull/8441))
- Use forked app_dirs crate for reverted Windows dir behavior ([#8438](https://github.com/paritytech/parity/pull/8438))
- Remove From::from. ([#8390](https://github.com/paritytech/parity/pull/8390))
- Move ethcore::Error to error_chain ([#8386](https://github.com/paritytech/parity/pull/8386))
- Changelogs for 1.9.6 and 1.10.1 ([#8411](https://github.com/paritytech/parity/pull/8411))
- Fix receipts stripping. ([#8414](https://github.com/paritytech/parity/pull/8414))
- Typo, docs parity_chainId: empty string -> None ([#8434](https://github.com/paritytech/parity/pull/8434))
- Update zip to 0.3 ([#8381](https://github.com/paritytech/parity/pull/8381))
- Fix TODO comments ([#8413](https://github.com/paritytech/parity/pull/8413))
- Replace legacy Rlp with UntrustedRlp and use in ethcore rlp views ([#8316](https://github.com/paritytech/parity/pull/8316))
- Tokio-core v0.1.16 -> v0.1.17 ([#8408](https://github.com/paritytech/parity/pull/8408))
- More code refactoring to integrate Duration ([#8322](https://github.com/paritytech/parity/pull/8322))
- Remove Tendermint extra_info due to seal inconsistencies ([#8367](https://github.com/paritytech/parity/pull/8367))
- Use tokio::spawn in secret_store listener and fix Uri ([#8373](https://github.com/paritytech/parity/pull/8373))
- Unify and limit rocksdb dependency places ([#8371](https://github.com/paritytech/parity/pull/8371))
- Clarify that windows need perl and yasm ([#8402](https://github.com/paritytech/parity/pull/8402))
- New Transaction Queue implementation ([#8074](https://github.com/paritytech/parity/pull/8074))
- Some tweaks to main.rs for parity as a library ([#8370](https://github.com/paritytech/parity/pull/8370))
- Handle queue import errors a bit more gracefully ([#8385](https://github.com/paritytech/parity/pull/8385))
- Ci: fix change detection in master builds ([#8382](https://github.com/paritytech/parity/pull/8382))
- Fix config test by adding no-hardcodec-sync ([#8380](https://github.com/paritytech/parity/pull/8380))
- Fixed unsafe shell call on windows ([#8372](https://github.com/paritytech/parity/pull/8372))
- Parity uses winapi 0.3.4 ([#8366](https://github.com/paritytech/parity/pull/8366))
- No hardcoded client name ([#8368](https://github.com/paritytech/parity/pull/8368))
- Add `util/mem` to zero out memory on drop. ([#8356](https://github.com/paritytech/parity/pull/8356))
- Use atty instead of isatty ([#8365](https://github.com/paritytech/parity/pull/8365))
- Increase gasLimit to 8'000'000 ([#8362](https://github.com/paritytech/parity/pull/8362))
- Util `fake-fetch` ([#8363](https://github.com/paritytech/parity/pull/8363))
- Bump snappy and ring, use single rayon version, closes [#8296](https://github.com/paritytech/parity/issues/8296) ([#8364](https://github.com/paritytech/parity/pull/8364))
- Use async hyper server in secret_store and upgrade igd ([#8359](https://github.com/paritytech/parity/pull/8359))
- Enable UI by default, but only display deprecation notice ([#8262](https://github.com/paritytech/parity/pull/8262))
- Ethcrypto renamed to ethcore-crypto and moved to ethcore dir ([#8340](https://github.com/paritytech/parity/pull/8340))
- Use hyper 0.11 in ethcore-miner and improvements in parity-reactor ([#8335](https://github.com/paritytech/parity/pull/8335))
- Ethcore-sync ([#8347](https://github.com/paritytech/parity/pull/8347))
- Rpc, eth_filter: return error if the filter id does not exist ([#8341](https://github.com/paritytech/parity/pull/8341))
- Ethcore-stratum crate moved to ethcore directory ([#8338](https://github.com/paritytech/parity/pull/8338))
- Secretstore: get rid of engine.signer dependency ([#8173](https://github.com/paritytech/parity/pull/8173))
- Whisper cli ([#8201](https://github.com/paritytech/parity/pull/8201))
- Replace_home for password_files, reserved_peers and log_file ([#8324](https://github.com/paritytech/parity/pull/8324))
- Add Ethereum Social support ([#8325](https://github.com/paritytech/parity/pull/8325))
- Private transactions integration pr ([#6422](https://github.com/paritytech/parity/pull/6422))
- Decouple rocksdb dependency from ethcore ([#8320](https://github.com/paritytech/parity/pull/8320))
- Remove the clone operation of code_cache ([#8334](https://github.com/paritytech/parity/pull/8334))
- Fix the JSONRPC API not running with the light client ([#8326](https://github.com/paritytech/parity/pull/8326))
- Read registry_address from block with REQUEST_CONFIRMATIONS_REQUIRED ([#8309](https://github.com/paritytech/parity/pull/8309))
- Tweaks and add a Dockerfile for Android ([#8036](https://github.com/paritytech/parity/pull/8036))
- Use associated type M::Error instead of Error ([#8308](https://github.com/paritytech/parity/pull/8308))
- Remove InvalidParentHash in favor of assert! ([#8300](https://github.com/paritytech/parity/pull/8300))
- Bump proc macro deps ([#8310](https://github.com/paritytech/parity/pull/8310))
- Decouple timestamp open-block-assignment/verification to Engine ([#8305](https://github.com/paritytech/parity/pull/8305))
- Validate if gas limit is not zero ([#8307](https://github.com/paritytech/parity/pull/8307))
- Implement Easthub chain spec ([#8295](https://github.com/paritytech/parity/pull/8295))
- Update some dependencies ([#8285](https://github.com/paritytech/parity/pull/8285))
- Ethcore now uses Rayon 1.0 as a dependency ([#8296](https://github.com/paritytech/parity/pull/8296)) ([#8304](https://github.com/paritytech/parity/pull/8304))
- Upgrader `remove raw unwrap` and bump semver ([#8251](https://github.com/paritytech/parity/pull/8251))
- Cleaner binary shutdown system ([#8284](https://github.com/paritytech/parity/pull/8284))
- Ethcore now uses rayon to 0.9 as a dependency ([#8296](https://github.com/paritytech/parity/pull/8296)) ([#8302](https://github.com/paritytech/parity/pull/8302))
- Include suicided accounts in state diff ([#8297](https://github.com/paritytech/parity/pull/8297))
- Remove evmjit ([#8229](https://github.com/paritytech/parity/pull/8229))
- Build: fix updater rand dependency in Cargo.lock ([#8298](https://github.com/paritytech/parity/pull/8298))
- Honor --max-peers if --min-peers is not specified ([#8087](https://github.com/paritytech/parity/pull/8087))
- Auto-updater improvements ([#8078](https://github.com/paritytech/parity/pull/8078))
- Dapps-fetcher: calculate keccak in-flight while reading the response ([#8294](https://github.com/paritytech/parity/pull/8294))
- Cleanup Ellaism bootnodes ([#8276](https://github.com/paritytech/parity/pull/8276))
- Allow unsafe js eval on Parity Wallet. ([#8204](https://github.com/paritytech/parity/pull/8204))
- Remove RefCell from Header ([#8227](https://github.com/paritytech/parity/pull/8227))
- Typo fix: todo with no content ([#8292](https://github.com/paritytech/parity/pull/8292))
- Revert "ci: disable link-dead-code in coverage build ([#8118](https://github.com/paritytech/parity/pull/8118))" ([#8287](https://github.com/paritytech/parity/pull/8287))
- Bump ethabi & ethereum-types. ([#8258](https://github.com/paritytech/parity/pull/8258))
- Allow customization of max WS connections. ([#8257](https://github.com/paritytech/parity/pull/8257))
- Supress TemporaryInvalid verification failures. ([#8256](https://github.com/paritytech/parity/pull/8256))
- Return null number for pending block in eth_getBlockByNumber ([#8281](https://github.com/paritytech/parity/pull/8281))
- Use constant durations ([#8278](https://github.com/paritytech/parity/pull/8278))
- Typo fix: Mode doc - RLP should be client ([#8283](https://github.com/paritytech/parity/pull/8283))
- Eth_uninstallfilter should return false for non-existent filter ([#8280](https://github.com/paritytech/parity/pull/8280))
- Update `app_dirs` to 1.2.1 ([#8268](https://github.com/paritytech/parity/pull/8268))
- Add missing license header for runtime.rs ([#8252](https://github.com/paritytech/parity/pull/8252))
- Warp-only sync with warp-barrier [blocknumber] flag. ([#8228](https://github.com/paritytech/parity/pull/8228))
- Replace all Rlp usages with UntrustedRlp except for ethcore views ([#8233](https://github.com/paritytech/parity/pull/8233))
- Add test for ethstore-cli, fixes [#8027](https://github.com/paritytech/parity/issues/8027) ([#8187](https://github.com/paritytech/parity/pull/8187))
- Update musicoin spec in line with gmc v2.6.2 ([#8242](https://github.com/paritytech/parity/pull/8242))
- Fixed ethcore tx_filter ([#8200](https://github.com/paritytech/parity/pull/8200))
- Update CLI help for jsonrpc-apis, ws-apis and ipc-apis ([#8234](https://github.com/paritytech/parity/pull/8234))
- Remove network stats ([#8225](https://github.com/paritytech/parity/pull/8225))
- Node-filter does not use ChainNotify ([#8231](https://github.com/paritytech/parity/pull/8231))
- Implement hardcoded sync in the light client ([#8075](https://github.com/paritytech/parity/pull/8075))
- Update some of the dependencies for WASM ([#8223](https://github.com/paritytech/parity/pull/8223))
- Bump wasmi version ([#8209](https://github.com/paritytech/parity/pull/8209))
- Updated jsonrpc to point to the 1.11 branch ([#8180](https://github.com/paritytech/parity/pull/8180))
- Change name Wallet -> UI ([#8164](https://github.com/paritytech/parity/pull/8164))
- Introduce Parity UI ([#8202](https://github.com/paritytech/parity/pull/8202))
- Update Changelogs ([#8175](https://github.com/paritytech/parity/pull/8175))
- Returns number of topcis to take fr.. ([#8199](https://github.com/paritytech/parity/pull/8199))
- Make docopt usage non-const ([#8189](https://github.com/paritytech/parity/pull/8189))
- Avoid allocations when computing triehash. ([#8176](https://github.com/paritytech/parity/pull/8176))
- Handle rlp decoding Result in patricia trie ([#8166](https://github.com/paritytech/parity/pull/8166))
- Bump wasm libs ([#8171](https://github.com/paritytech/parity/pull/8171))
- Re-enable signer, even with no UI. ([#8167](https://github.com/paritytech/parity/pull/8167))
- Update daemonize ([#8165](https://github.com/paritytech/parity/pull/8165))
- Some tiny modifications. ([#8163](https://github.com/paritytech/parity/pull/8163))
- Secretstore: store key author address in db ([#7887](https://github.com/paritytech/parity/pull/7887))
- Rename DatabaseValueView::new to from_rlp ([#8159](https://github.com/paritytech/parity/pull/8159))
- Dapps: update parity-ui dependencies ([#8160](https://github.com/paritytech/parity/pull/8160))
- Disable UI by default. ([#8105](https://github.com/paritytech/parity/pull/8105))
- Fix wasmi x32 builds ([#8155](https://github.com/paritytech/parity/pull/8155))
- Postpone Kovan hard fork ([#8137](https://github.com/paritytech/parity/pull/8137))
- Secretstore: ability to identify requester via Public/Address ([#7886](https://github.com/paritytech/parity/pull/7886))
- Optional dependency on secp256k1 for ethcrypto ([#8109](https://github.com/paritytech/parity/pull/8109))
- Network: init discovery using healthy nodes ([#8061](https://github.com/paritytech/parity/pull/8061))
- Check one step deeper if we're on release track branches ([#8134](https://github.com/paritytech/parity/pull/8134))
- Explicitly mention pruning_history uses RAM ([#8130](https://github.com/paritytech/parity/pull/8130))
- Remove `ethcrypto::{en,de}crypt_single_message`. ([#8126](https://github.com/paritytech/parity/pull/8126))
- Fix typo ([#8124](https://github.com/paritytech/parity/pull/8124))
- Secret_store: use `ecies::encrypt`/`ecies::decrypt`. ([#8125](https://github.com/paritytech/parity/pull/8125))
- Fix comment for fn gas() in wasm/runtime ([#8122](https://github.com/paritytech/parity/pull/8122))
- Structured rlp encoding in journaldb ([#8047](https://github.com/paritytech/parity/pull/8047))
- Ci: disable link-dead-code in coverage build ([#8118](https://github.com/paritytech/parity/pull/8118))
- Fix trace filter returning returning unrelated reward calls, closes [#8070](https://github.com/paritytech/parity/issues/8070) ([#8098](https://github.com/paritytech/parity/pull/8098))
- Const time comparison ([#8113](https://github.com/paritytech/parity/pull/8113))
- Replace reqwest with hyper ([#8099](https://github.com/paritytech/parity/pull/8099))
- More dos protection ([#8104](https://github.com/paritytech/parity/pull/8104))
- Remove the time dependency where possible ([#8100](https://github.com/paritytech/parity/pull/8100))
- Fix comment for gas extern in Wasm runtime ([#8101](https://github.com/paritytech/parity/pull/8101))
- Replace std::env::temp_dir with tempdir in tests ([#8103](https://github.com/paritytech/parity/pull/8103))
- Fix Cargo.lock not parsable ([#8102](https://github.com/paritytech/parity/pull/8102))
- Additional data in EVMTestClient ([#7964](https://github.com/paritytech/parity/pull/7964))
- Update serde, serde-derive, ethabi-derive, syn, quote and rlp_derive ([#8085](https://github.com/paritytech/parity/pull/8085))
- Ethcore-service ([#8089](https://github.com/paritytech/parity/pull/8089))
- [contract-client] refactor ([#7978](https://github.com/paritytech/parity/pull/7978))
- Revert removing blooms ([#8066](https://github.com/paritytech/parity/pull/8066))
- Ethcore test::helpers cleanup ([#8086](https://github.com/paritytech/parity/pull/8086))
- Add some dos protection ([#8084](https://github.com/paritytech/parity/pull/8084))
- Wasm libraries bump ([#7970](https://github.com/paritytech/parity/pull/7970))
- Echo back the message hash of a ping in the pong request ([#8042](https://github.com/paritytech/parity/pull/8042))
- Add Kovan WASM activation blocknumber ([#8057](https://github.com/paritytech/parity/pull/8057))
- [ethkey] Unify debug/display for Address/Public/Secret ([#8076](https://github.com/paritytech/parity/pull/8076))
- Limit incoming connections. ([#8060](https://github.com/paritytech/parity/pull/8060))
- Max code size on Kovan ([#8067](https://github.com/paritytech/parity/pull/8067))
- Updater: apply exponential backoff after download failure ([#8059](https://github.com/paritytech/parity/pull/8059))
- Make blockchain functions more idiomatic, avoid needless writes to cache_man ([#8054](https://github.com/paritytech/parity/pull/8054))
- Make patricia-trie more idiomatic and remove redundant code ([#8056](https://github.com/paritytech/parity/pull/8056))
- Abstract devp2p ([#8048](https://github.com/paritytech/parity/pull/8048))
- Update refs to shell ([#8051](https://github.com/paritytech/parity/pull/8051))
- Fix cache & snapcraft CI build ([#8052](https://github.com/paritytech/parity/pull/8052))
- Prelude to the block module cleanup ([#8025](https://github.com/paritytech/parity/pull/8025))
- Add MCIP-6 Byzyantium transition to Musicoin spec ([#7841](https://github.com/paritytech/parity/pull/7841))
- Bump master to 1.11.0 ([#8021](https://github.com/paritytech/parity/pull/8021))
- `client` refactoring ([#7038](https://github.com/paritytech/parity/pull/7038))
- [hardware wallet] sleeping -> pollling ([#8018](https://github.com/paritytech/parity/pull/8018))
- Fixed broken link in README ([#8012](https://github.com/paritytech/parity/pull/8012))
- Support parity protocol. ([#8035](https://github.com/paritytech/parity/pull/8035))
- Add changelog for 1.8.11 stable and 1.9.4 beta ([#8017](https://github.com/paritytech/parity/pull/8017))
- Fix for verify_block_basic crashing on invalid transaction rlp ([#8032](https://github.com/paritytech/parity/pull/8032))
- Extract the hard dependency on rocksdb from the light client ([#8034](https://github.com/paritytech/parity/pull/8034))
- Fixed parsing ethash seals and verify_block_undordered ([#8031](https://github.com/paritytech/parity/pull/8031))
- Fixed ethstore sign ([#8026](https://github.com/paritytech/parity/pull/8026))
- Ci: Fix cargo cache ([#7968](https://github.com/paritytech/parity/pull/7968))
- Update ref to new shell ([#8024](https://github.com/paritytech/parity/pull/8024))

376
docs/CHANGELOG-1.2.md Normal file
View File

@@ -0,0 +1,376 @@
Note: Parity 1.2 reached End-of-Life on 2016-11-07 (EOL).
## 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/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/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/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.
#### Tracing API changes
- Added tracing for `CALLCODE`, `DELEGATECALL` and `SUICIDE`
- `trace_call` returns traces in flat format
- Added 2 new methods: `trace_rawTransaction` and `trace_replayTransaction`
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/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/paritytech/parity/releases/tag/v1.2.2) (2016-07-16)
#### New
- DAO hard-fork.
DAO hard-fork implementation conforms to the [specification](https://blog.slock.it/hard-fork-specification-24b889e70703) and is enabled by default.
#### Changed
- `--reseal-on-txs` defaults to `own`.
- DAO soft-fork support has been removed along with related command line options.
#### Resolved issues
- `--db-cache-size` consuming too much memory.
`eth_getWork` RPC response additionally includes the block number.
- Skipping transactions with invalid nonces when pushing to block.
- Update sealing just once when externally importing many blocks (#1541).
- Transaction tracing skipping simple transactions (#1606).
- Other small fixes and improvements.
Full changelog
- 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/paritytech/parity/releases/tag/v1.2.1) (2016-07-01)
#### New
- Options for more precise mining tuning (see below).
- Informative notification when block mined.
- HTTP signal on new work-package.
- Optimised database insertion for self-mined blocks.
- Short-circuit for local transaction gas-price approval.
- A number of issues related to mining have been fixed.
##### Mining options
- `--author` is now required for mining.
- `--reseal-on-txs` Specify which transactions should force the node to reseal a block. By default parity updates the seal on incoming transactions to reduce transaction latency. Set this option to `none` to force updates on new blocks only.
- `--reseal-min-period` Can be used to control how often a new pending block is generated if `none` is not selected on prior option.
- `--work-queue-size` Controls how many pending blocks to keep in memory.
- `--relay-set` Can be used to enable more strict transaction verification.
- `--remove-solved` Move solved blocks from the work package queue instead of cloning them. This gives a slightly faster import speed, but means that extra solutions submitted for the same work package will go unused.
- `--notify-work` Accepts a list of URLs that will receive a POST request when new work package is available. The body of the POST message is JSON encoded and has the same format as `eth_getWork` RPC response.
##### RPC
`eth_getWork` RPC response additionally includes the block number.
##### DAO soft-fork
DAO soft-fork control options have been replaced by the single `--fork` option which disables the soft-fork by default.
#### Changes
- 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/paritytech/parity/releases/tag/v1.2.0) (2016-06-24)
[Blog post](https://blog.parity.io/announcing-parity-1-2/)
#### New
- Transaction signing UI.
- IPC/RPC module.
- Optimised mining support.
- Windows build.
- DAO soft-fork support.
##### Transaction signing UI
This is a new framework for signing transactions. It fulfills three requirements:
- You should never have to type your passwords into a Dapp.
- No Javascript code should ever hold a secret.
- No transaction should ever be signed without the consent of the user.
The feature is enabled through the `--signer` flag. When enabled, the user must ensure at least one "Signer UI" is set-up for managing transaction confirmation. There are two such UIs available; one through a Google Chrome Extension, separately installable and the second through a special web page hosted locally. Set-up must be done once for each such UI, through copying and pasting a token from the output console of Parity into the UI. Specific instructions are given in the UI.
From this point on, no transaction may ever be signed by Parity except through one of these allowed Signer UIs, and no password should ever be entered anywhere else.
##### IPC/RPC module and Mist/Geth compatibility
Should be started with `--geth` to ensure Mist compatibility.
##### Optimised mining support
Numerous improvements and optimisations have been added to our mining implementation. A large "active queue" ensures that late-included transactions are included in the mined block without sacrificing older results from latent-reported `ethminer` results.
##### Windows build
We're happy to announce full Windows support with 1.2!
##### Soft-fork
This release includes support for the proposed [DAO soft-fork](https://docs.google.com/document/d/10RktunzjKNfp6Y8Cu4EhR5V9IqxEZq42LU126EYhWY4/pub). Upon upgrade, all mining nodes can vote for or against the soft fork (this is done through altering the block gas limit; a gas limit of at most 4M results in the soft-fork being triggered).
By default, nodes vote "for" the DAO soft-fork (and try to reduce the gas limit to 3.1M). To vote against the soft-fork (keeping it at 4.7M), run with `--dont-help-rescue-dao`. Not upgrading is not recommended; if the majority votes with a soft-fork, an upgrade will be necessary to mine on the correct chain.
#### Changed
- Fast pruning method is now default for a fresh sync.
- Web UI renamed to Dapps UI.
- JSONRPC and Dapps UI enabled by default.
- CLI options ending `-off` renamed to GNU-consistent prefix `--no-`.
- Dynamic gas-pricing (data feed and statistical techniques used to determine optimum gas prices).
Full changes:
- 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)

502
docs/CHANGELOG-1.3.md Normal file
View File

@@ -0,0 +1,502 @@
Note: Parity 1.3 reached End-of-Life on 2017-01-19 (EOL).
## 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/paritytech/parity/pull/3793)
## 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/paritytech/parity/pull/3616)
## 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/paritytech/parity/pull/3521)
- Fix Stable Docker Build [#3479](https://github.com/paritytech/parity/pull/3479)
## 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/paritytech/parity/pull/3462)
- #3035 Backport to stable [#3441](https://github.com/paritytech/parity/pull/3441)
## 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/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/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/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/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/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/paritytech/parity/releases/tag/v1.3.8) (2016-10-15)
Parity 1.3.8 is our EIP150 hard-fork compliant release.
Running this will enact a mild change of the protocol at block number 2,463,000 which should occur on Tuesday 18th October 2016 at approximately 12:20 London time (BST). This change alters the gas prices for a number of operations, mainly centring around i/o intensive Merkle trie lookups (`BALANCE`, `EXTCODESIZE` &c.) and state-trie polluters (`SUICIDE`, `CREATE` and `CALL`). These operations were heavily underpriced, an oversight which lead to the recent degradation of network service. The full details of the alteration are specified in [EIP-150](https://github.com/ethereum/EIPs/issues/150).
Additionally several issues have been fixed including:
- a transaction queue limitation leading to dropped transactions;
- a synchronisation issue leading to stalls when syncing;
And some small features including database performance improvements and additional logging.
#### Upgrading private chain specification files.
All the chain specification files now have EIP-150 rules enabled by default. To continue using the chain add the `eip150Transition` key under `Engine/ethash/params` and set it to a future transition block as shown in [this example](https://github.com/paritytech/parity/blob/85eeb3ea6e5e21ad8e5644241edf82eb8069f536/ethcore/res/ethereum/morden.json#L13).
The key related to homestead transition has been renamed from `frontierCompatibilityModeLimit` to `homesteadTransition`.
#### Full changes
- [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/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/paritytech/parity/pull/2587)
- Backports to beta [#2592](https://github.com/paritytech/parity/pull/2592)
## 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/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/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/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/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.
It also introduces an ability for miners to choose a transaction ordering strategy:
--tx-queue-strategy S Prioritization strategy used to order transactions
in the queue. S may be:
gas - Prioritize txs with low gas limit;
gas_price - Prioritize txs with high gas price;
gas_factor - Prioritize txs using gas price
and gas limit ratio [default: gas_factor].
- 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/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/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/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/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/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/paritytech/parity/pull/1979
- 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/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.
- **Database compression** Databases take as much as 30% less storage than before.
- **State snapshotting** An installation synchronised from scratch in 1-2 minutes can be made after downloading the 140MB state snapshot. See [the wiki](https://github.com/paritytech/parity/wiki/Getting-Synced) for more information.
- **Process isolation** The networking/chain-synchronisation is now a fully independent process.
Incremental improvements include:
- Additional [RPCs](https://github.com/paritytech/parity/wiki/JSONRPC) for transaction tracing, state diffing, VM tracing, asynchronous transaction posting, accounts metadata and message signing.
- Improved logging, including for chain reorganisations.
- Added a `--fast-and-loose` option for additional speed-ups which can compromise integrity on a dirty shutdown.
- Column families to ensure maximal inter-database integrity.
- Key naming includes date/time of creation.
- Various improvements to networking robustness and performance.
- Solidity compilation supported through RPC if `solc` is available.
- 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/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)

746
docs/CHANGELOG-1.4.md Normal file
View File

@@ -0,0 +1,746 @@
Note: Parity 1.4 reached End-of-Life on 2017-03-13 (EOL).
## Parity [v1.4.12](https://github.com/paritytech/parity/releases/tag/v1.4.12) (2017-02-22)
This stable release fixes an issue with block uncle validation. Parity now allows uncle headers to have timestamp set to arbitrary future value.
- Stable Backporting ([#4633](https://github.com/paritytech/parity/pull/4633)) [#4642](https://github.com/paritytech/parity/pull/4642)
- Tweak some checks.
- Fixed build and added a difficulty test
- Bump to v1.4.12
- Add missing maxCodeSize [#4585](https://github.com/paritytech/parity/pull/4585)
## Parity [v1.4.11](https://github.com/paritytech/parity/releases/tag/v1.4.11) (2017-02-17)
This release corrects the Ropsten chain specification file.
- Bump to v1.4.11 [#4587](https://github.com/paritytech/parity/pull/4587)
- Fixing etherscan price parsing ([#4202](https://github.com/paritytech/parity/pull/4202)) [#4209](https://github.com/paritytech/parity/pull/4209)
- Fixing etherscan price parsing
- Handling all errors
- Removed pdbs
- Add missing maxCodeSize [#4585](https://github.com/paritytech/parity/pull/4585)
## Parity [v1.4.10](https://github.com/paritytech/parity/releases/tag/v1.4.10) (2017-01-18)
Parity 1.4.10 is a first stable release of 1.4.x series. It includes a few minor networking fixes.
- Gas_limit for blocks, mined by Parity will be divisible by 37 (#4154) [#4179](https://github.com/paritytech/parity/pull/4179)
- gas_limit for new blocks will divide evenly by 13
- increased PARITY_GAS_LIMIT_DETERMINANT to 37
- separate method for marking mined block
- debug_asserts(gas_limit within protocol range)
- round_block_gas_limit method is now static
- made round_block_gas_limit free-function
- multiplier->multiple
- Backporing to 1.4.10-stable [#4110](https://github.com/paritytech/parity/pull/4110)
- Bump to v1.4.10
- No reorg limit for ancient blocks
- Update registration after every write
## Parity [v1.4.9](https://github.com/paritytech/parity/releases/tag/v1.4.9) (2017-01-09)
This fixes an issue introduced in 1.4.8 that causes Parity to panic on propagating transactions in some cases.
- v1.4.9 in beta [#4097](https://github.com/paritytech/parity/pull/4097)
- Bump to v1.4.9
- Disable armv6 build
- beta Fix queue deadlock [#4095](https://github.com/paritytech/parity/pull/4095)
- Fix rebroadcast panic beta [#4085](https://github.com/paritytech/parity/pull/4085)
- fix compile
- fix backport
- clean up old method
- remove unnecessary reference
- simplify
- Fixing 'simplify'
## Parity [v1.4.8](https://github.com/paritytech/parity/releases/tag/v1.4.8) (2017-01-06)
Ethereum Classic Hard Fork ready release containing various bugfixes:
- Fix for excessive transactions propagation
- Fix for inconsistent `logIndex` in transaction receipts
See [full list of changes](https://github.com/paritytech/parity/compare/v1.4.7...v1.4.8):
- Beta backports [#4067](https://github.com/paritytech/parity/pull/4067)
- Re-broadcast transactions to few random peers on each new block. (#4054) [#4061](https://github.com/paritytech/parity/pull/4061)
- Tolerate errors in user_defaults [#4060](https://github.com/paritytech/parity/pull/4060)
- ETC Config change backport [#4056](https://github.com/paritytech/parity/pull/4056)
- [beta] Avoid re-broadcasting transactions on each block [#4047](https://github.com/paritytech/parity/pull/4047)
- Beta Backports [#4012](https://github.com/paritytech/parity/pull/4012)
## Parity [v1.4.7](https://github.com/paritytech/parity/releases/tag/v1.4.7) (2016-12-27)
This maintenance release fixes an issue with sync falling behind occasionally.
- Backporting to beta [#3980](https://github.com/paritytech/parity/pull/3980)
- [beta] enforce gas limit falls within engine bounds [#3816](https://github.com/paritytech/parity/pull/3816)
## Parity [v1.4.6](https://github.com/paritytech/parity/releases/tag/v1.4.6) (2016-12-05)
This patch release fixes an issue with syncing on the Ropsten test network.
- Backporting to beta [#3718](https://github.com/paritytech/parity/pull/3718)
- [beta] scrollable contract deploy & execute modals [#3656](https://github.com/paritytech/parity/pull/3656)
## Parity [v1.4.5](https://github.com/paritytech/parity/releases/tag/v1.4.5) (2016-11-26)
1.4.5 release fixes a number of issues, notably:
- High CPU usage when idle.
- Key recovery phrases generated on windows now can be imported.
#### Configuration changes
- `--usd-per-tx` is now set to 0.0025 by default.
#### New features
- Support for Ropsten test network is introduced with `--chain=ropsten` or `--testnet`. Morden network is still available via `--chain=morden`
#### Full changes
- [beta] Pin package versions for React [#3628](https://github.com/paritytech/parity/pull/3628)
- Backporting to beta [#3623](https://github.com/paritytech/parity/pull/3623)
- [beta] Ropsten chain for UI [#3622](https://github.com/paritytech/parity/pull/3622)
## Parity [v1.4.4](https://github.com/paritytech/parity/releases/tag/v1.4.4) (2016-11-18)
This is a maintenance release that fixes an issue with EIP-155 transactions being added to the transaction pool. It also improves syncing stability and resolved a number of UI issues.
Full changelog is available [here.](https://github.com/paritytech/parity/commit/3e0d033eaf789cfdf517f4a97effc500f1f9263b)
- [beta] apps typo fix [#3533](https://github.com/paritytech/parity/pull/3533)
- Backporting to beta [#3525](https://github.com/paritytech/parity/pull/3525)
## Parity [v1.4.3](https://github.com/paritytech/parity/releases/tag/v1.4.3) (2016-11-16)
This release includes memory footprint optimization as well as a few fixes in the UI.
EIP-155/160/161/170 hardfork is enabled at block 2675000 (1885000 for test network).
Full changelog is available [here.](https://github.com/paritytech/parity/compare/v1.4.2...v1.4.3)
- [beta] EIP-170 [#3464](https://github.com/paritytech/parity/pull/3464)
- Backports to beta [#3465](https://github.com/paritytech/parity/pull/3465)
- Backport: additional fields on transaction and receipt [#3463](https://github.com/paritytech/parity/pull/3463)
- v1.4.3 in beta [#3424](https://github.com/paritytech/parity/pull/3424)
## Parity [v1.4.2](https://github.com/paritytech/parity/releases/tag/v1.4.2) (2016-11-10)
This release fixes a few additional issues:
- Parity now correctly handles external `--dapps-interface` and `--ui-interface` in the UI.
- Crash in `eth_getUncle*` has been fixed.
- macOS installer now includes an uninstall script.
- Security token input UI has been fixed.
- Correct display for tokens with minimum decimals.
And some additional minor changes. Full changelog is [available](https://github.com/paritytech/parity/compare/v1.4.1...v1.4.2)
- Backporting to beta [#3344](https://github.com/paritytech/parity/pull/3344)
- Backporting to beta [#3324](https://github.com/paritytech/parity/pull/3324)
## Parity [v1.4.1](https://github.com/paritytech/parity/releases/tag/v1.4.1) (2016-11-09)
This is a hotfix release to address a couple of issues with 1.4.0:
- UI token is requested instead of being supplied automatically.
- Running with `--geth` results in an error.
- Backporting to beta [#3293](https://github.com/paritytech/parity/pull/3293)
## Parity [v1.4.0](https://github.com/paritytech/parity/releases/tag/v1.4.0) (2016-11-07)
First beta release of the 1.4 series.
This includes the new Parity Wallet and Warp-Sync synchronisation as well as several optimisations and fixes.
- Add secure flag back [#3246](https://github.com/paritytech/parity/pull/3246)
- [BETA] verify chunk hashes in cli restore [#3242](https://github.com/paritytech/parity/pull/3242)
- Backporting to beta [#3239](https://github.com/paritytech/parity/pull/3239)
- UI fixes backporting [#3234](https://github.com/paritytech/parity/pull/3234)
- Backporting to beta [#3229](https://github.com/paritytech/parity/pull/3229)
- Beta branch cleanup [#3226](https://github.com/paritytech/parity/pull/3226)
- [beta] Set passive mode for first run only (#3214) [#3216](https://github.com/paritytech/parity/pull/3216)
- Mode configuration backported to beta [#3213](https://github.com/paritytech/parity/pull/3213)
- Backporting [#3198](https://github.com/paritytech/parity/pull/3198)
- [beta] EIP-155 update with Vitalik's new test vectors (#3166) [#3189](https://github.com/paritytech/parity/pull/3189)
- Backporting to beta [#3176](https://github.com/paritytech/parity/pull/3176)
- parity-ui-precompiled pinned to beta [#3168](https://github.com/paritytech/parity/pull/3168)
- EIP-155 update with Vitalik's new test vectors [#3166](https://github.com/paritytech/parity/pull/3166)
- Push precompiled for beta/stable, npm only master [#3163](https://github.com/paritytech/parity/pull/3163)
- Back to real root after npm publish [#3178](https://github.com/paritytech/parity/pull/3178)
- Remove extra cd js [#3177](https://github.com/paritytech/parity/pull/3177)
- Fixes Gas price selection bug [#3175](https://github.com/paritytech/parity/pull/3175)
- Exposing state root and logsBloom in RPC receipts [#3174](https://github.com/paritytech/parity/pull/3174)
- Exposing v,r,s from transaction signature in RPC [#3172](https://github.com/paritytech/parity/pull/3172)
- Enabling personal RPC over IPC by default [#3165](https://github.com/paritytech/parity/pull/3165)
- Gitlab CI badge [#3164](https://github.com/paritytech/parity/pull/3164)
- Dependencies in README [#3162](https://github.com/paritytech/parity/pull/3162)
- Make the footer a bit less ugly. [#3160](https://github.com/paritytech/parity/pull/3160)
- Linux build case sensitivity fix [#3161](https://github.com/paritytech/parity/pull/3161)
- abbreviated enode, `CopyToClipboard` component [#3131](https://github.com/paritytech/parity/pull/3131)
- EIPs 155, 160, 161 [#2976](https://github.com/paritytech/parity/pull/2976)
- beta reset to 1.4.0 [#3157](https://github.com/paritytech/parity/pull/3157)
- Fix histogram [#3150](https://github.com/paritytech/parity/pull/3150)
- Remove network label from TabBar [#3142](https://github.com/paritytech/parity/pull/3142)
- Speed up unresponsive Contract events & Account transactions [#3145](https://github.com/paritytech/parity/pull/3145)
- Better windows shortcut [#3147](https://github.com/paritytech/parity/pull/3147)
- Redirect content to the same address as requested [#3133](https://github.com/paritytech/parity/pull/3133)
- Fixed peer ping timeout [#3137](https://github.com/paritytech/parity/pull/3137)
- Fix for windows build [#3125](https://github.com/paritytech/parity/pull/3125)
- Fix AddessInput icon position [#3132](https://github.com/paritytech/parity/pull/3132)
- Fixed not scrollable accounts in tokenreg dapp [#3128](https://github.com/paritytech/parity/pull/3128)
- Returning cache headers for network content [#3123](https://github.com/paritytech/parity/pull/3123)
- Optimise contract events display [#3120](https://github.com/paritytech/parity/pull/3120)
- Add basic validation for contract execute values [#3118](https://github.com/paritytech/parity/pull/3118)
- Dapps errors embeddable on signer [#3115](https://github.com/paritytech/parity/pull/3115)
- Use enode RPC in UI [#3108](https://github.com/paritytech/parity/pull/3108)
- Windows tray app [#3103](https://github.com/paritytech/parity/pull/3103)
- Displaying CLI errors on stderr [#3116](https://github.com/paritytech/parity/pull/3116)
- new InputAddressSelect component [#3071](https://github.com/paritytech/parity/pull/3071)
- Bump mio [#3117](https://github.com/paritytech/parity/pull/3117)
- Minor typo fixed. [#3110](https://github.com/paritytech/parity/pull/3110)
- Sort by ETH balance and contract by date [#3107](https://github.com/paritytech/parity/pull/3107)
- Add RPC enode lookup [#3096](https://github.com/paritytech/parity/pull/3096)
- Initializing logger for each command [#3090](https://github.com/paritytech/parity/pull/3090)
- Allow registration of content bundles in GitHubHint [#3094](https://github.com/paritytech/parity/pull/3094)
- Add read-only inputs to UI plus Copy to Clipboard buttons [#3095](https://github.com/paritytech/parity/pull/3095)
- Allow boolean dropdowns for contract deploy [#3077](https://github.com/paritytech/parity/pull/3077)
- Add mac installer files [#2995](https://github.com/paritytech/parity/pull/2995)
- Fixing dapps sorting [#3086](https://github.com/paritytech/parity/pull/3086)
- Add a Gitter chat badge to README.md [#3092](https://github.com/paritytech/parity/pull/3092)
- Fixes webpack HTML loader [#3089](https://github.com/paritytech/parity/pull/3089)
- Redirecting /home to new UI [#3084](https://github.com/paritytech/parity/pull/3084)
- Allow GitHubHint content owner to update url [#3083](https://github.com/paritytech/parity/pull/3083)
- Remove token assets (moved to ethcore/dapps-assets) [#3082](https://github.com/paritytech/parity/pull/3082)
- Goodbye Gavcoin, Hello Gavcoin [#3080](https://github.com/paritytech/parity/pull/3080)
- Load network dapps [#3078](https://github.com/paritytech/parity/pull/3078)
- Swap account phrase input to normal (non-multiline) [#3060](https://github.com/paritytech/parity/pull/3060)
- Fix minor typo in informant [#3056](https://github.com/paritytech/parity/pull/3056)
- Warp sync status display [#3045](https://github.com/paritytech/parity/pull/3045)
- Enhance address input [#3065](https://github.com/paritytech/parity/pull/3065)
- Go to Accounts Page if Tooltips are displayed [#3063](https://github.com/paritytech/parity/pull/3063)
- Change contract Execute bool values & query bool value display [#3024](https://github.com/paritytech/parity/pull/3024)
- Update Parity logo [#3036](https://github.com/paritytech/parity/pull/3036)
- settings: replace background patterns (inline) [#3047](https://github.com/paritytech/parity/pull/3047)
- Multiple line description for dapps [#3058](https://github.com/paritytech/parity/pull/3058)
- Fix status log order [#3062](https://github.com/paritytech/parity/pull/3062)
- Graphical gas price selection [#2898](https://github.com/paritytech/parity/pull/2898)
- [Registry dApp] Actions not available before selecting accounts [#3032](https://github.com/paritytech/parity/pull/3032)
- apply post-consolidation migrations after consolidating [#3020](https://github.com/paritytech/parity/pull/3020)
- fix chain badge padding [#3046](https://github.com/paritytech/parity/pull/3046)
- Don't delete Tags input on blur (eg. tab) [#3044](https://github.com/paritytech/parity/pull/3044)
- Fixing last hashes for ethcall [#3043](https://github.com/paritytech/parity/pull/3043)
- Remove signer icons [#3039](https://github.com/paritytech/parity/pull/3039)
- execute periodic snapshot in new thread [#3029](https://github.com/paritytech/parity/pull/3029)
- fix background of embedded signer [#3026](https://github.com/paritytech/parity/pull/3026)
- registry dapp: fix reducer [#3028](https://github.com/paritytech/parity/pull/3028)
- Replace Execute by Query in contract button [#3031](https://github.com/paritytech/parity/pull/3031)
- Fixing GavCoin dApp overflow issues [#3030](https://github.com/paritytech/parity/pull/3030)
- execute contract function: validate address [#3013](https://github.com/paritytech/parity/pull/3013)
- Align tag inputs with other input boxes [#2965](https://github.com/paritytech/parity/pull/2965)
- Sweep panickers from IO and network [#3018](https://github.com/paritytech/parity/pull/3018)
- Terms & Conditions [#3019](https://github.com/paritytech/parity/pull/3019)
- open column families after reparing db corruption [#3017](https://github.com/paritytech/parity/pull/3017)
- Snapshot sync and block gap info in `eth_syncing` [#2948](https://github.com/paritytech/parity/pull/2948)
- personal_ RPCs to AutoArgs [#3000](https://github.com/paritytech/parity/pull/3000)
- RPCs for mode change [#3002](https://github.com/paritytech/parity/pull/3002)
- Fix a test sensitive to slow execution. [#3014](https://github.com/paritytech/parity/pull/3014)
- Fixes search filtering issues [#3011](https://github.com/paritytech/parity/pull/3011)
- Restart sync if no more peers with snapshots [#3007](https://github.com/paritytech/parity/pull/3007)
- Allow empty/non-existant input arrays for ABIs in contract view [#3001](https://github.com/paritytech/parity/pull/3001)
- Allow operation when no registry is available [#2980](https://github.com/paritytech/parity/pull/2980)
- Make JS lint & test run on Travis [#2894](https://github.com/paritytech/parity/pull/2894)
- Update account dropdowns [#2959](https://github.com/paritytech/parity/pull/2959)
- Modify gas price statistics [#2947](https://github.com/paritytech/parity/pull/2947)
- Fixes pending/mined transactions in registry dApp [#3004](https://github.com/paritytech/parity/pull/3004)
- Prevent connecting to self [#2997](https://github.com/paritytech/parity/pull/2997)
- Disable verbose in gitlab CI [#2999](https://github.com/paritytech/parity/pull/2999)
- Allow warnings in gitlab [#2998](https://github.com/paritytech/parity/pull/2998)
- Fix the brainwallet functionality. [#2994](https://github.com/paritytech/parity/pull/2994)
- Provided gas description update [#2993](https://github.com/paritytech/parity/pull/2993)
- Print messages to stderr [#2991](https://github.com/paritytech/parity/pull/2991)
- Networking and syncing tweaks [#2990](https://github.com/paritytech/parity/pull/2990)
- Allow build warnings [#2985](https://github.com/paritytech/parity/pull/2985)
- Display network status for finished Signer requests [#2983](https://github.com/paritytech/parity/pull/2983)
- Fixed rejecting transactions [#2984](https://github.com/paritytech/parity/pull/2984)
- mio version bump [#2982](https://github.com/paritytech/parity/pull/2982)
- Publish parity.js to npmjs registry [#2978](https://github.com/paritytech/parity/pull/2978)
- Import raw private key [#2945](https://github.com/paritytech/parity/pull/2945)
- refactor etherscan.io links [#2896](https://github.com/paritytech/parity/pull/2896)
- Use separate lock for code cache [#2977](https://github.com/paritytech/parity/pull/2977)
- Add favicon [#2974](https://github.com/paritytech/parity/pull/2974)
- Align password change dialog with create dialog ordering [#2970](https://github.com/paritytech/parity/pull/2970)
- WS bump [#2973](https://github.com/paritytech/parity/pull/2973)
- Discovery performance optimization [#2972](https://github.com/paritytech/parity/pull/2972)
- Pass gas & gasPrice to token transfers [#2964](https://github.com/paritytech/parity/pull/2964)
- Updating ws-rs [#2962](https://github.com/paritytech/parity/pull/2962)
- Run cargo with verbose flag when testing [#2943](https://github.com/paritytech/parity/pull/2943)
- Fixing clippy warnings take two [#2961](https://github.com/paritytech/parity/pull/2961)
- Snapshot sync improvements [#2960](https://github.com/paritytech/parity/pull/2960)
- Gavcoin event display updates [#2956](https://github.com/paritytech/parity/pull/2956)
- Eslint fixes [#2957](https://github.com/paritytech/parity/pull/2957)
- Add import of raw private key RPCs [#2942](https://github.com/paritytech/parity/pull/2942)
- Bring in styling queues from original Gavcoin [#2936](https://github.com/paritytech/parity/pull/2936)
- Validating minimal required gas for a transaction [#2937](https://github.com/paritytech/parity/pull/2937)
- Even more snapshot validity checks [#2935](https://github.com/paritytech/parity/pull/2935)
- Shared code cache [#2921](https://github.com/paritytech/parity/pull/2921)
- Updating bootnodes for ETC [#2938](https://github.com/paritytech/parity/pull/2938)
- More bootnodes [#2926](https://github.com/paritytech/parity/pull/2926)
- Revert hash updates until testable [#2925](https://github.com/paritytech/parity/pull/2925)
- Release.sh verbose output [#2924](https://github.com/paritytech/parity/pull/2924)
- additional release.sh debugging info [#2922](https://github.com/paritytech/parity/pull/2922)
- Pass the js-precompiled commit hash to cargo update [#2920](https://github.com/paritytech/parity/pull/2920)
- Next nonce RPC [#2917](https://github.com/paritytech/parity/pull/2917)
- Get rid of duplicated code in EVM [#2915](https://github.com/paritytech/parity/pull/2915)
- Transaction Queue banning [#2524](https://github.com/paritytech/parity/pull/2524)
- Revert to gas price ordering [#2919](https://github.com/paritytech/parity/pull/2919)
- Personal split [#2879](https://github.com/paritytech/parity/pull/2879)
- Fixing config values for pruning_history [#2918](https://github.com/paritytech/parity/pull/2918)
- Apply pending block details on commit [#2254](https://github.com/paritytech/parity/pull/2254)
- Fixed GetNodeData output [#2892](https://github.com/paritytech/parity/pull/2892)
- New sync protocol ID [#2912](https://github.com/paritytech/parity/pull/2912)
- Clippy bump [#2877](https://github.com/paritytech/parity/pull/2877)
- iconomi token images [#2906](https://github.com/paritytech/parity/pull/2906)
- Fixes too long description and Token balance value in Dapps/Accounts [#2902](https://github.com/paritytech/parity/pull/2902)
- Add missing images for local dapps [#2890](https://github.com/paritytech/parity/pull/2890)
- Fix Webpack, again [#2895](https://github.com/paritytech/parity/pull/2895)
- Enable suicide json test [#2893](https://github.com/paritytech/parity/pull/2893)
- More snapshot fixes and optimizations [#2883](https://github.com/paritytech/parity/pull/2883)
- Fixes CI JS precompiled build [#2886](https://github.com/paritytech/parity/pull/2886)
- Fix empty tags modification [#2884](https://github.com/paritytech/parity/pull/2884)
- Fix up informant. [#2865](https://github.com/paritytech/parity/pull/2865)
- Get rid of MemoryDB denote [#2881](https://github.com/paritytech/parity/pull/2881)
- Add inject to "bundle everything" list [#2871](https://github.com/paritytech/parity/pull/2871)
- Fixes signer and MUI errors throwing [#2876](https://github.com/paritytech/parity/pull/2876)
- Fix failing tests after log parsing updates [#2878](https://github.com/paritytech/parity/pull/2878)
- Sweep some more panics [#2848](https://github.com/paritytech/parity/pull/2848)
- Make GitLab js-precompiled really update Cargo.toml in main repo [#2869](https://github.com/paritytech/parity/pull/2869)
- IPC version bump [#2870](https://github.com/paritytech/parity/pull/2870)
- Snapshot sync fixes and optimizations [#2863](https://github.com/paritytech/parity/pull/2863)
- Add Check and Change Password for an Account [#2861](https://github.com/paritytech/parity/pull/2861)
- Output git fetch/push to log files [#2862](https://github.com/paritytech/parity/pull/2862)
- Align contract event log l&f with transactions [#2812](https://github.com/paritytech/parity/pull/2812)
- Nicer port in use errors [#2859](https://github.com/paritytech/parity/pull/2859)
- Remove personal_* calls from dapps [#2860](https://github.com/paritytech/parity/pull/2860)
- Token sorting, zero-ETH transfer & token decimals [#2805](https://github.com/paritytech/parity/pull/2805)
- Don't fail badly when no transactions in last 100 blocks. [#2856](https://github.com/paritytech/parity/pull/2856)
- Fixing home.parity address for new signer [#2851](https://github.com/paritytech/parity/pull/2851)
- Enabling UI build back [#2853](https://github.com/paritytech/parity/pull/2853)
- Remove eventName in unsubscribe API arguments [#2844](https://github.com/paritytech/parity/pull/2844)
- Don't return empty names as clickable titles [#2809](https://github.com/paritytech/parity/pull/2809)
- Auto-bump js-precompiled on release [#2828](https://github.com/paritytech/parity/pull/2828)
- Remove ethcore::common re-export module [#2792](https://github.com/paritytech/parity/pull/2792)
- Prevent database corruption on OOM [#2832](https://github.com/paritytech/parity/pull/2832)
- Download/Export Addressbook [#2847](https://github.com/paritytech/parity/pull/2847)
- Snapshot and blockchain stability improvements [#2843](https://github.com/paritytech/parity/pull/2843)
- Extended network options [#2845](https://github.com/paritytech/parity/pull/2845)
- fix failing master test build [#2846](https://github.com/paritytech/parity/pull/2846)
- Local dapps embeddable on signer port [#2815](https://github.com/paritytech/parity/pull/2815)
- Trigger accounts/contracts search on search input change [#2838](https://github.com/paritytech/parity/pull/2838)
- Move snapshot sync to a subprotocol [#2820](https://github.com/paritytech/parity/pull/2820)
- fix node log being reversed [#2839](https://github.com/paritytech/parity/pull/2839)
- Fixes currency symbol font size in Shapeshift modal [#2840](https://github.com/paritytech/parity/pull/2840)
- Disable personal APIs by default for security reasons [#2834](https://github.com/paritytech/parity/pull/2834)
- Clear cached content [#2833](https://github.com/paritytech/parity/pull/2833)
- Add ethcore_[dapps|signer]Port APIs [#2821](https://github.com/paritytech/parity/pull/2821)
- CLI option to skip seal check when importing [#2842](https://github.com/paritytech/parity/pull/2842)
- Fix case error in Dapps import [#2837](https://github.com/paritytech/parity/pull/2837)
- Double click on address in account detail view should select it [#2841](https://github.com/paritytech/parity/pull/2841)
- Bump js-precompiled to 20161022-223915 UTC [#2826](https://github.com/paritytech/parity/pull/2826)
- Adjust paths to handle CORS changes [#2816](https://github.com/paritytech/parity/pull/2816)
- RPC for dapps port and signer port [#2819](https://github.com/paritytech/parity/pull/2819)
- Update build to working version on pre-compiled repo [#2825](https://github.com/paritytech/parity/pull/2825)
- Adjust network name badge colours (darker) [#2823](https://github.com/paritytech/parity/pull/2823)
- Removing submodule in favour of rust crate [#2756](https://github.com/paritytech/parity/pull/2756)
- Return old-ish content even when syncing [#2757](https://github.com/paritytech/parity/pull/2757)
- fix Signer UI [#2750](https://github.com/paritytech/parity/pull/2750)
- USG, GBP, Euro & Yuan updates [#2818](https://github.com/paritytech/parity/pull/2818)
- Make locally installed apps available again (Fixes #2771) [#2808](https://github.com/paritytech/parity/pull/2808)
- Additional RPCs for password management [#2779](https://github.com/paritytech/parity/pull/2779)
- flush DB changes on drop [#2795](https://github.com/paritytech/parity/pull/2795)
- rename State::snapshot to checkpoint to avoid confusion [#2796](https://github.com/paritytech/parity/pull/2796)
- Missing changes required to make new UI work [#2793](https://github.com/paritytech/parity/pull/2793)
- Cleanup method decoding (Fixes #2811) [#2810](https://github.com/paritytech/parity/pull/2810)
- Use trace API for decentralized transaction list [#2784](https://github.com/paritytech/parity/pull/2784)
- Automatic compaction selection on Linux [#2785](https://github.com/paritytech/parity/pull/2785)
- Update token images [#2804](https://github.com/paritytech/parity/pull/2804)
- Hackergold token images [#2801](https://github.com/paritytech/parity/pull/2801)
- Additional token images [#2800](https://github.com/paritytech/parity/pull/2800)
- Additional token images [#2798](https://github.com/paritytech/parity/pull/2798)
- Resolve morden fork [#2773](https://github.com/paritytech/parity/pull/2773)
- Using SipHashes from crates.io [#2778](https://github.com/paritytech/parity/pull/2778)
- Fixed issues on Searchable Addresses [#2790](https://github.com/paritytech/parity/pull/2790)
- Currency icons [#2788](https://github.com/paritytech/parity/pull/2788)
- Update token images [#2783](https://github.com/paritytech/parity/pull/2783)
- Fix warning in master [#2775](https://github.com/paritytech/parity/pull/2775)
- Add empty account existence test from beta. [#2769](https://github.com/paritytech/parity/pull/2769)
- Update name of basiccoin manager [#2768](https://github.com/paritytech/parity/pull/2768)
- sweep most unwraps from ethcore crate, dapps crate [#2762](https://github.com/paritytech/parity/pull/2762)
- Check queue to determine major importing [#2763](https://github.com/paritytech/parity/pull/2763)
- Trace filtering fix [#2760](https://github.com/paritytech/parity/pull/2760)
- Update js precompiled to 20161020-141636 [#2761](https://github.com/paritytech/parity/pull/2761)
- Incrementally calculate verification queue heap size [#2749](https://github.com/paritytech/parity/pull/2749)
- Don't add empty accounts to bloom [#2753](https://github.com/paritytech/parity/pull/2753)
- fix contract deployments not showing up [#2759](https://github.com/paritytech/parity/pull/2759)
- Fixes a positioning issue in Address Selection component [#2754](https://github.com/paritytech/parity/pull/2754)
- fix linting issues [#2758](https://github.com/paritytech/parity/pull/2758)
- Making Trie.iter non-recursive [#2733](https://github.com/paritytech/parity/pull/2733)
- Block import optimization [#2748](https://github.com/paritytech/parity/pull/2748)
- Update js-precompiled to 20161020-110858 [#2752](https://github.com/paritytech/parity/pull/2752)
- Fixing small files fetching [#2742](https://github.com/paritytech/parity/pull/2742)
- Fixing stalled sync [#2747](https://github.com/paritytech/parity/pull/2747)
- refactor signer components [#2691](https://github.com/paritytech/parity/pull/2691)
- Png images with backgrounds (original svg) [#2740](https://github.com/paritytech/parity/pull/2740)
- Make address selection searchable [#2739](https://github.com/paritytech/parity/pull/2739)
- very basic dapp add/remove interface [#2721](https://github.com/paritytech/parity/pull/2721)
- Frontport commits from beta to master [#2743](https://github.com/paritytech/parity/pull/2743)
- Implements Trace API Formatter [#2732](https://github.com/paritytech/parity/pull/2732)
- bump parking_lot to 0.3.x series [#2702](https://github.com/paritytech/parity/pull/2702)
- Unify major syncing detection [#2699](https://github.com/paritytech/parity/pull/2699)
- Fixes gas/gasPrice change not reflected in transaction modal [#2735](https://github.com/paritytech/parity/pull/2735)
- Fixing build UI stuff along with Rust [#2726](https://github.com/paritytech/parity/pull/2726)
- Fixed Snackbar not showing and/or behind transactions (#2730) [#2731](https://github.com/paritytech/parity/pull/2731)
- Updating json tests to latest develop commit [#2728](https://github.com/paritytech/parity/pull/2728)
- dapps: show errors [#2727](https://github.com/paritytech/parity/pull/2727)
- node logs: break lines [#2722](https://github.com/paritytech/parity/pull/2722)
- Bumping JSON-RPC http server [#2714](https://github.com/paritytech/parity/pull/2714)
- Add ability to copy address to the clipboard [#2716](https://github.com/paritytech/parity/pull/2716)
- Sort tags when displaying ; use AND for search results [#2720](https://github.com/paritytech/parity/pull/2720)
- allow-same-origin for iframe [#2711](https://github.com/paritytech/parity/pull/2711)
- Update Registry address (mainnet) [#2713](https://github.com/paritytech/parity/pull/2713)
- Allow tags for Accounts, Addresses and Contracts [#2712](https://github.com/paritytech/parity/pull/2712)
- Correct parameters for eth_sign [#2703](https://github.com/paritytech/parity/pull/2703)
- Bump js-precompiled to 20161018-161705 [#2698](https://github.com/paritytech/parity/pull/2698)
- Add inject.js (for web3 exposed) [#2692](https://github.com/paritytech/parity/pull/2692)
- Remove obsolete dapps and update security headers [#2694](https://github.com/paritytech/parity/pull/2694)
- Snapshot sync part 2 [#2098](https://github.com/paritytech/parity/pull/2098)
- Fix issues with no ethereum test dir present (2382) [#2659](https://github.com/paritytech/parity/pull/2659)
- Apply UI PRs after master merge [#2690](https://github.com/paritytech/parity/pull/2690)
- Fix importing traces for non-canon blocks [#2683](https://github.com/paritytech/parity/pull/2683)
- Fixing random test failures [#2577](https://github.com/paritytech/parity/pull/2577)
- Disable IPC in default build for 1.4 [#2657](https://github.com/paritytech/parity/pull/2657)
- use pruning history in CLI snapshots [#2658](https://github.com/paritytech/parity/pull/2658)
- Fixing --no-default-features again and evmbin [#2670](https://github.com/paritytech/parity/pull/2670)
- Settings > Proxy for proxy.pac setup instructions [#2678](https://github.com/paritytech/parity/pull/2678)
- Re-instate transaitions to allow updating busy indicator [#2682](https://github.com/paritytech/parity/pull/2682)
- signer: remove reject counter [#2685](https://github.com/paritytech/parity/pull/2685)
- Initial new UI source code import [#2607](https://github.com/paritytech/parity/pull/2607)
- Additional dapp logo images [#2677](https://github.com/paritytech/parity/pull/2677)
- Redirect from :8080 to :8180 [#2676](https://github.com/paritytech/parity/pull/2676)
- script to update js-precompiled [#2673](https://github.com/paritytech/parity/pull/2673)
- Styling in FF is not 100% [#2669](https://github.com/paritytech/parity/pull/2669)
- Don't allow gavcoin transfer with no balances [#2667](https://github.com/paritytech/parity/pull/2667)
- fix signer rejections [#2666](https://github.com/paritytech/parity/pull/2666)
- better text on unique background pattern [#2664](https://github.com/paritytech/parity/pull/2664)
- Adjust z-index for error overlay [#2662](https://github.com/paritytech/parity/pull/2662)
- Fix address selection for contract deployment [#2660](https://github.com/paritytech/parity/pull/2660)
- Add additional contract images [#2655](https://github.com/paritytech/parity/pull/2655)
- Update /api/* to point to :8080/api/* (first generation interface) [#2612](https://github.com/paritytech/parity/pull/2612)
- Initial import of new UI (compiled JS code) [#2220](https://github.com/paritytech/parity/pull/2220)
- Fixing evmbin compilation [#2652](https://github.com/paritytech/parity/pull/2652)
- Fix up ETC EIP-150 transition to 2,500,000. [#2636](https://github.com/paritytech/parity/pull/2636)
- Fixing compilation without default features [#2638](https://github.com/paritytech/parity/pull/2638)
- [frontport] CLI to specify queue ordering strategy (#2494) [#2623](https://github.com/paritytech/parity/pull/2623)
- Support for decryption in Signer [#2421](https://github.com/paritytech/parity/pull/2421)
- EIP150.1c [#2591](https://github.com/paritytech/parity/pull/2591)
- Release merge with origin with ours strategy [#2631](https://github.com/paritytech/parity/pull/2631)
- Adjust build output directories [#2630](https://github.com/paritytech/parity/pull/2630)
- cater for txhash returning null/empty object [#2629](https://github.com/paritytech/parity/pull/2629)
- snapshot: single byte for empty accounts [#2625](https://github.com/paritytech/parity/pull/2625)
- Configurable history size in master [#2606](https://github.com/paritytech/parity/pull/2606)
- Database performance tweaks [#2619](https://github.com/paritytech/parity/pull/2619)
- Enable suicide json test [#2626](https://github.com/paritytech/parity/pull/2626)
- Split journaldb commit into two functions: journal_under and mark_canonical [#2329](https://github.com/paritytech/parity/pull/2329)
- Fixed tx queue limit for local transactions [#2616](https://github.com/paritytech/parity/pull/2616)
- Additional logs when transactions is removed from queue [#2617](https://github.com/paritytech/parity/pull/2617)
- mitigate refcell conflict in state diffing [#2601](https://github.com/paritytech/parity/pull/2601)
- Fix tests [#2611](https://github.com/paritytech/parity/pull/2611)
- small styling updates [#2610](https://github.com/paritytech/parity/pull/2610)
- Remove web3 from Signer, bring in parity.js API [#2604](https://github.com/paritytech/parity/pull/2604)
- Mostly configurable canonical cache size [#2516](https://github.com/paritytech/parity/pull/2516)
- Added peers details to ethcore_netPeers RPC [#2580](https://github.com/paritytech/parity/pull/2580)
- Display account password hint when available [#2596](https://github.com/paritytech/parity/pull/2596)
- Fix gas estimation on transfer when data supplied [#2593](https://github.com/paritytech/parity/pull/2593)
- remove unused npm packages [#2590](https://github.com/paritytech/parity/pull/2590)
- Bundle fonts as part of the build process [#2588](https://github.com/paritytech/parity/pull/2588)
- Contract constructor params [#2586](https://github.com/paritytech/parity/pull/2586)
- Update json test suite [#2574](https://github.com/paritytech/parity/pull/2574)
- Filter apps that has been replaced for the local list [#2583](https://github.com/paritytech/parity/pull/2583)
- Display local apps listed by Parity [#2581](https://github.com/paritytech/parity/pull/2581)
- Network-specific nodes file [#2569](https://github.com/paritytech/parity/pull/2569)
- Dont close when block is known to be invalid [#2572](https://github.com/paritytech/parity/pull/2572)
- deny compiler warnings in CI [#2570](https://github.com/paritytech/parity/pull/2570)
- adjust alignment of queries [#2573](https://github.com/paritytech/parity/pull/2573)
- update ethcore-bigint crate to 0.1.1 [#2562](https://github.com/paritytech/parity/pull/2562)
- Registry dapp uses setAddress to actually set addresses now [#2568](https://github.com/paritytech/parity/pull/2568)
- Add the new EIP150 test. [#2563](https://github.com/paritytech/parity/pull/2563)
- fix failing tests [#2567](https://github.com/paritytech/parity/pull/2567)
- ΞTH -> ETH [#2566](https://github.com/paritytech/parity/pull/2566)
- Ensure polling is only done when connected [#2565](https://github.com/paritytech/parity/pull/2565)
- Fixed race condition in trace import [#2555](https://github.com/paritytech/parity/pull/2555)
- Disable misbehaving peers while seeking for best block [#2537](https://github.com/paritytech/parity/pull/2537)
- TX queue gas limit config and allow local transactions over the gas limit [#2553](https://github.com/paritytech/parity/pull/2553)
- standard component for address -> name mappings (consistent use everywhere) [#2557](https://github.com/paritytech/parity/pull/2557)
- Remove unwrap from client module [#2554](https://github.com/paritytech/parity/pull/2554)
- Removing panickers from sync module [#2551](https://github.com/paritytech/parity/pull/2551)
- Address images (tokens, dapps) as registered via contentHash (when available) [#2526](https://github.com/paritytech/parity/pull/2526)
- TokenReg set & get images working [#2540](https://github.com/paritytech/parity/pull/2540)
- adjust app_id where /api/content/<hash> is called, fixes #2541 [#2543](https://github.com/paritytech/parity/pull/2543)
- connection dialog now shows up in dapps as well, closes #2538 [#2550](https://github.com/paritytech/parity/pull/2550)
- display account uuid (where available), closes #2546 [#2549](https://github.com/paritytech/parity/pull/2549)
- create accounts via recovery phrase [#2545](https://github.com/paritytech/parity/pull/2545)
- Build ethcore/js-precompiled on GitLab [#2522](https://github.com/paritytech/parity/pull/2522)
- Return errors from eth_call RPC [#2498](https://github.com/paritytech/parity/pull/2498)
- registry dapp: manage records [#2323](https://github.com/paritytech/parity/pull/2323)
- Print backtrace on panic [#2535](https://github.com/paritytech/parity/pull/2535)
- GitHubHint dapp [#2531](https://github.com/paritytech/parity/pull/2531)
- Backports to master [#2530](https://github.com/paritytech/parity/pull/2530)
- Handle reorganizations in the state cache [#2490](https://github.com/paritytech/parity/pull/2490)
- Hypervisor: terminate hanging modules [#2513](https://github.com/paritytech/parity/pull/2513)
- signer & node connection prompts/indicators [#2504](https://github.com/paritytech/parity/pull/2504)
- Using pending block only if is not old [#2514](https://github.com/paritytech/parity/pull/2514)
- More caching optimizations [#2505](https://github.com/paritytech/parity/pull/2505)
- Fixed possible panic in the networking [#2495](https://github.com/paritytech/parity/pull/2495)
- Trim password from file [#2503](https://github.com/paritytech/parity/pull/2503)
- Fixing RPC Filter conversion to EthFilter [#2500](https://github.com/paritytech/parity/pull/2500)
- Fixing error message for transactions [#2496](https://github.com/paritytech/parity/pull/2496)
- Adjustable stack size for EVM [#2483](https://github.com/paritytech/parity/pull/2483)
- [master] Fixing penalization in future [#2499](https://github.com/paritytech/parity/pull/2499)
- Preserve cache on reverting the snapshot [#2488](https://github.com/paritytech/parity/pull/2488)
- RocksDB version bump [#2492](https://github.com/paritytech/parity/pull/2492)
- Increase default size of transaction queue [#2489](https://github.com/paritytech/parity/pull/2489)
- basiccoin v1 available [#2491](https://github.com/paritytech/parity/pull/2491)
- Small EVM optimization [#2487](https://github.com/paritytech/parity/pull/2487)
- Track dirty accounts in the state [#2461](https://github.com/paritytech/parity/pull/2461)
- fix signature lookup address [#2480](https://github.com/paritytech/parity/pull/2480)
- update registrar test with generic non-empty test [#2476](https://github.com/paritytech/parity/pull/2476)
- Derive IPC interface only when ipc feature is on [#2463](https://github.com/paritytech/parity/pull/2463)
- Fix ethstore opening all key files in the directory at once [#2471](https://github.com/paritytech/parity/pull/2471)
- contract api event log fixes [#2469](https://github.com/paritytech/parity/pull/2469)
- basiccoin base functionality in-place [#2468](https://github.com/paritytech/parity/pull/2468)
- Merge IPC codegen attributes into one [#2460](https://github.com/paritytech/parity/pull/2460)
- Close after importing keys from geth [#2464](https://github.com/paritytech/parity/pull/2464)
- Port a couple more RPC APIs to the new auto args [#2325](https://github.com/paritytech/parity/pull/2325)
- update rustc for appveyor to 1.12.0 [#2423](https://github.com/paritytech/parity/pull/2423)
- dapp basiccoin send operations [#2456](https://github.com/paritytech/parity/pull/2456)
- Better EVM informant & Slow transactions warning [#2436](https://github.com/paritytech/parity/pull/2436)
- Fixing Signer token RPC API [#2437](https://github.com/paritytech/parity/pull/2437)
- Fixed FatDB check [#2443](https://github.com/paritytech/parity/pull/2443)
- dapp basiccoin structure [#2444](https://github.com/paritytech/parity/pull/2444)
- Accounts bloom in master [#2426](https://github.com/paritytech/parity/pull/2426)
- Polishing Actually enable fat db pr (#1974) [#2048](https://github.com/paritytech/parity/pull/2048)
- Jumptable cache [#2427](https://github.com/paritytech/parity/pull/2427)
- signaturereg registered, remove hardcoding [#2431](https://github.com/paritytech/parity/pull/2431)
- tokenreg dapp fixes for non-null returns [#2430](https://github.com/paritytech/parity/pull/2430)
- update ABI json to latest deployed versions [#2428](https://github.com/paritytech/parity/pull/2428)
- update Morden registry address [#2417](https://github.com/paritytech/parity/pull/2417)
- Make migration api more friendly [#2420](https://github.com/paritytech/parity/pull/2420)
- Journaling bloom filter crate in util [#2395](https://github.com/paritytech/parity/pull/2395)
- move abis from js/json to contracts/abi [#2418](https://github.com/paritytech/parity/pull/2418)
- Fixing logs-receipt matching [#2403](https://github.com/paritytech/parity/pull/2403)
- fix broken beta compilation [#2405](https://github.com/paritytech/parity/pull/2405)
- registry dapp: transfer names [#2335](https://github.com/paritytech/parity/pull/2335)
- manage firstRun better [#2398](https://github.com/paritytech/parity/pull/2398)
- render contract deployment address [#2397](https://github.com/paritytech/parity/pull/2397)
- Transaction Queue fix [#2392](https://github.com/paritytech/parity/pull/2392)
- contracts abi types & execute value [#2394](https://github.com/paritytech/parity/pull/2394)
- update styling with ParityBar overlay [#2390](https://github.com/paritytech/parity/pull/2390)
- application Signer popup window [#2388](https://github.com/paritytech/parity/pull/2388)
- Fixing Delegate Call in JIT [#2378](https://github.com/paritytech/parity/pull/2378)
- Prioritizing re-imported transactions [#2372](https://github.com/paritytech/parity/pull/2372)
- Revert #2172, pretty much. [#2387](https://github.com/paritytech/parity/pull/2387)
- correct sync memory usage calculation [#2385](https://github.com/paritytech/parity/pull/2385)
- fix migration system for post-consolidation migrations, better errors [#2334](https://github.com/paritytech/parity/pull/2334)
- Fix the traceAddress field in transaction traces. [#2373](https://github.com/paritytech/parity/pull/2373)
- Gavcoin utilises the popup box [#2381](https://github.com/paritytech/parity/pull/2381)
- registry dapp: support dropping names [#2328](https://github.com/paritytech/parity/pull/2328)
- settings view, set background & store views [#2380](https://github.com/paritytech/parity/pull/2380)
- Removing extras data from retracted blocks. [#2375](https://github.com/paritytech/parity/pull/2375)
- fixed #2263, geth keys with ciphertext shorter than 32 bytes [#2318](https://github.com/paritytech/parity/pull/2318)
- Expanse compatibility [#2369](https://github.com/paritytech/parity/pull/2369)
- Allow queries of constant functions on contracts [#2360](https://github.com/paritytech/parity/pull/2360)
- Auto Open/Close the Signer window on new transaction request [#2362](https://github.com/paritytech/parity/pull/2362)
- Specify column cache sizes explicitly; default fallback of 2MB [#2358](https://github.com/paritytech/parity/pull/2358)
- Canonical state cache (master) [#2311](https://github.com/paritytech/parity/pull/2311)
- method signature lookups, parameter decoding & management [#2313](https://github.com/paritytech/parity/pull/2313)
- make block queue into a more generic verification queue and fix block heap size calculation [#2095](https://github.com/paritytech/parity/pull/2095)
- Hash Content RPC method [#2355](https://github.com/paritytech/parity/pull/2355)
- registry dapp: show reserved events by default [#2359](https://github.com/paritytech/parity/pull/2359)
- Display timestamp in Signer requests details [#2324](https://github.com/paritytech/parity/pull/2324)
- Reorder transaction_by_hash to favour canon search [#2332](https://github.com/paritytech/parity/pull/2332)
- Optimize DIV for some common divisors [#2327](https://github.com/paritytech/parity/pull/2327)
- Return error when deserializing invalid hex [#2339](https://github.com/paritytech/parity/pull/2339)
- Changed http:// to https:// on some links [#2349](https://github.com/paritytech/parity/pull/2349)
- user defaults [#2014](https://github.com/paritytech/parity/pull/2014)
- Fixing jit feature compilation [#2310](https://github.com/paritytech/parity/pull/2310)
- Tx Queue improvements [#2292](https://github.com/paritytech/parity/pull/2292)
- Removing PropTypes on build [#2322](https://github.com/paritytech/parity/pull/2322)
- Lenient bytes deserialization [#2036](https://github.com/paritytech/parity/pull/2036)
- reverse call data decoding given transaction data & method [#2312](https://github.com/paritytech/parity/pull/2312)
- add missing gpl headers to gavcoin dapp [#2317](https://github.com/paritytech/parity/pull/2317)
- contract Events, Functions & Queries sub-components as well as Event log visual updates [#2306](https://github.com/paritytech/parity/pull/2306)
- webpack config updates (really include babel-polyfill, rename npm steps) [#2305](https://github.com/paritytech/parity/pull/2305)
- remove unneeded Form from Account header [#2302](https://github.com/paritytech/parity/pull/2302)
- edit of metadata across accounts, addresses & contracts [#2300](https://github.com/paritytech/parity/pull/2300)
- Adjust all modals for consistency & css DRY-ness [#2301](https://github.com/paritytech/parity/pull/2301)
- update container spacing [#2296](https://github.com/paritytech/parity/pull/2296)
- local cache of generated background (no allocation on each re-render) [#2298](https://github.com/paritytech/parity/pull/2298)
- fix failing tests [#2290](https://github.com/paritytech/parity/pull/2290)
- Respecting standards for tokenreg dapp [#2287](https://github.com/paritytech/parity/pull/2287)
- Separate RPC serialization from implementation [#2072](https://github.com/paritytech/parity/pull/2072)
- Webpack optimisations - Using DLL [#2264](https://github.com/paritytech/parity/pull/2264)
- header background, theme adjustments (not that harsh) [#2273](https://github.com/paritytech/parity/pull/2273)
- contract view (developer-centric) [#2259](https://github.com/paritytech/parity/pull/2259)
- Add hash as CLI function [#1995](https://github.com/paritytech/parity/pull/1995)
- registry: fix mined events showing as pending [#2267](https://github.com/paritytech/parity/pull/2267)
- Dapp - Tokereg ; Query Tokens from TLA or Address [#2266](https://github.com/paritytech/parity/pull/2266)
- Fixes to the Token Registration dApp [#2250](https://github.com/paritytech/parity/pull/2250)
- remove abi *.json duplication, provide a single version of the truth [#2253](https://github.com/paritytech/parity/pull/2253)
- Separate path for ext code size [#2251](https://github.com/paritytech/parity/pull/2251)
- Snapshot format changes [#2234](https://github.com/paritytech/parity/pull/2234)
- Serving content at /api/content/<hash> [#2248](https://github.com/paritytech/parity/pull/2248)
- Fails when deserializing non-hex uints [#2247](https://github.com/paritytech/parity/pull/2247)
- registry dapp: add GPL headers [#2252](https://github.com/paritytech/parity/pull/2252)
- registry dapp: user-friendly lookup [#2229](https://github.com/paritytech/parity/pull/2229)
- registry dapp: show DataChanged events [#2242](https://github.com/paritytech/parity/pull/2242)
- fixups for deploys [#2249](https://github.com/paritytech/parity/pull/2249)
- Fixing output of eth_call and Bytes deserialization [#2230](https://github.com/paritytech/parity/pull/2230)
- Encryption, decryption and public key RPCs. [#1946](https://github.com/paritytech/parity/pull/1946)
- limit number of event logs returned [#2231](https://github.com/paritytech/parity/pull/2231)
- babel-polyfill [#2239](https://github.com/paritytech/parity/pull/2239)
- procedurally generate background based on signer key [#2233](https://github.com/paritytech/parity/pull/2233)
- UI fixes [#2238](https://github.com/paritytech/parity/pull/2238)
- expose isConnected() from transport [#2225](https://github.com/paritytech/parity/pull/2225)
- registry dapp: rename event log [#2227](https://github.com/paritytech/parity/pull/2227)
- registry dapp: show pending events [#2223](https://github.com/paritytech/parity/pull/2223)
- Handle RLP to string UTF-8 decoding errors [#2217](https://github.com/paritytech/parity/pull/2217)
- Use WebSocket transport for all built-in calls [#2216](https://github.com/paritytech/parity/pull/2216)
- Remove panickers from trie iterators [#2209](https://github.com/paritytech/parity/pull/2209)
- Limit for logs filter. [#2180](https://github.com/paritytech/parity/pull/2180)
- Various state copy optimizations [#2172](https://github.com/paritytech/parity/pull/2172)
- New signer token RPC & Initial signer connection without token. [#2096](https://github.com/paritytech/parity/pull/2096)
- signer ui fixes [#2219](https://github.com/paritytech/parity/pull/2219)
- contract deploy ui [#2212](https://github.com/paritytech/parity/pull/2212)
- registry dapp: fix propTypes [#2218](https://github.com/paritytech/parity/pull/2218)
- registry: fix IdentityIcon in events log [#2206](https://github.com/paritytech/parity/pull/2206)
- Fixing evm-debug [#2161](https://github.com/paritytech/parity/pull/2161)
- Fix syncing with pv63 peers [#2204](https://github.com/paritytech/parity/pull/2204)
- registry: show shortened hashes [#2205](https://github.com/paritytech/parity/pull/2205)
- registry dapp: remove owner [#2203](https://github.com/paritytech/parity/pull/2203)
- webpack proxy updates for /api* [#2175](https://github.com/paritytech/parity/pull/2175)
- simplify personal event publishing, fix delete refresh issues [#2183](https://github.com/paritytech/parity/pull/2183)
- fix global & initial states [#2160](https://github.com/paritytech/parity/pull/2160)
- Allow selection & saving of available views [#2131](https://github.com/paritytech/parity/pull/2131)
- global/contract events with promisy subscribe/unsubscribe [#2136](https://github.com/paritytech/parity/pull/2136)
- Token Registry dApp [#2178](https://github.com/paritytech/parity/pull/2178)
- re-usable bytesToHex exposed in api.util [#2174](https://github.com/paritytech/parity/pull/2174)
- Webpack optimisations [#2179](https://github.com/paritytech/parity/pull/2179)
- cleanup on contract event subscriptions [#2104](https://github.com/paritytech/parity/pull/2104)
- move utility functions to api.util [#2105](https://github.com/paritytech/parity/pull/2105)
- registry dapp [#2077](https://github.com/paritytech/parity/pull/2077)
- mui/FlatButton to ui/Button [#2129](https://github.com/paritytech/parity/pull/2129)
- address delete functionality [#2128](https://github.com/paritytech/parity/pull/2128)
- contract deployment updates [#2106](https://github.com/paritytech/parity/pull/2106)
- contract events, indexed string fix [#2108](https://github.com/paritytech/parity/pull/2108)
- Bumping jsonrpc-core & jsonrpc-http-server [#2162](https://github.com/paritytech/parity/pull/2162)
- gitlab testing & build processes [#2090](https://github.com/paritytech/parity/pull/2090)
- Misc small UI fixes (recently broken) [#2101](https://github.com/paritytech/parity/pull/2101)
- Bump clippy & Fix warnings [#2109](https://github.com/paritytech/parity/pull/2109)
- Import command summary [#2102](https://github.com/paritytech/parity/pull/2102)
- check for existence of deprecated ethash file before attempting delete [#2103](https://github.com/paritytech/parity/pull/2103)
- shapeshift Promise API library [#2088](https://github.com/paritytech/parity/pull/2088)
- fund account via ShapeShift [#2099](https://github.com/paritytech/parity/pull/2099)
- Get bigint on crates.io [#2078](https://github.com/paritytech/parity/pull/2078)
- Enable sealing if Engine provides internal sealing given author [#2084](https://github.com/paritytech/parity/pull/2084)
- Config files [#2070](https://github.com/paritytech/parity/pull/2070)
- re-add lodash plugin to babel config [#2092](https://github.com/paritytech/parity/pull/2092)
- Remove old cache data [#2081](https://github.com/paritytech/parity/pull/2081)
- Logs limit & log_index bug [#2073](https://github.com/paritytech/parity/pull/2073)
- flatten store, muiTheme & api providers [#2087](https://github.com/paritytech/parity/pull/2087)
- add babel es2016 & es2017 presets [#2083](https://github.com/paritytech/parity/pull/2083)
- remove all '<name>/index' imports in API [#2089](https://github.com/paritytech/parity/pull/2089)
- add missing GPL headers to all files [#2086](https://github.com/paritytech/parity/pull/2086)
- readme cleanups [#2085](https://github.com/paritytech/parity/pull/2085)
- gavcoin global import of parity api [#2082](https://github.com/paritytech/parity/pull/2082)
- Fixing removal from gas price when moving future->current [#2076](https://github.com/paritytech/parity/pull/2076)
- Split internal sealing from work preparation [#2071](https://github.com/paritytech/parity/pull/2071)
- ensure the target folder doesn't exist before renaming [#2074](https://github.com/paritytech/parity/pull/2074)
- Get rid of 'Dapp is being downloaded' page [#2055](https://github.com/paritytech/parity/pull/2055)
- fix failing master build: update tests to new init_restore signature. [#2069](https://github.com/paritytech/parity/pull/2069)
- Local snapshot restore [#2058](https://github.com/paritytech/parity/pull/2058)
- import: keep informant going until finished [#2065](https://github.com/paritytech/parity/pull/2065)
- Add a few tests for the snapshot service [#2059](https://github.com/paritytech/parity/pull/2059)
- IPC tweaks [#2046](https://github.com/paritytech/parity/pull/2046)
- Update arm* Docker [#2064](https://github.com/paritytech/parity/pull/2064)
- Fetching any content-addressed content [#2050](https://github.com/paritytech/parity/pull/2050)
- Use proper database configuration in snapshots. [#2052](https://github.com/paritytech/parity/pull/2052)
- periodic snapshot tweaks [#2054](https://github.com/paritytech/parity/pull/2054)
- ethkey-cli [#2057](https://github.com/paritytech/parity/pull/2057)
- Forward ethstore-cli feature [#2056](https://github.com/paritytech/parity/pull/2056)
- handling invalid spec jsons properly, additional tests, closes #1840 [#2049](https://github.com/paritytech/parity/pull/2049)
- Periodic snapshots [#2044](https://github.com/paritytech/parity/pull/2044)
- Snapshot sync [#2047](https://github.com/paritytech/parity/pull/2047)
- Nice error pages for Dapps & Signer [#2033](https://github.com/paritytech/parity/pull/2033)
- Add a few small snapshot tests [#2038](https://github.com/paritytech/parity/pull/2038)
- facelift for traces, added errors [#2042](https://github.com/paritytech/parity/pull/2042)
- Fetching content from HTTPS using `rustls` [#2024](https://github.com/paritytech/parity/pull/2024)
- Skipping log when there are no transactions were sent [#2045](https://github.com/paritytech/parity/pull/2045)
- rlp as separate crate [#2034](https://github.com/paritytech/parity/pull/2034)
- Fixing uint serialization [#2037](https://github.com/paritytech/parity/pull/2037)
- Fixing new transactions propagation [#2039](https://github.com/paritytech/parity/pull/2039)
- Propagating transactions to peers on timer. [#2035](https://github.com/paritytech/parity/pull/2035)
- Remove Populatable and BytesConvertable traits [#2019](https://github.com/paritytech/parity/pull/2019)
- fixed #1933 [#1979](https://github.com/paritytech/parity/pull/1979)
- Synchronization tweaks for IPC services [#2028](https://github.com/paritytech/parity/pull/2028)
- Asynchronous RPC support [#2017](https://github.com/paritytech/parity/pull/2017)
- Disable ArchiveDB counter check [#2016](https://github.com/paritytech/parity/pull/2016)
- always process trie death row on commit, add more tracing [#2025](https://github.com/paritytech/parity/pull/2025)
- fixed transaction addresses mapping, fixes #1971 [#2026](https://github.com/paritytech/parity/pull/2026)
- Adding tests for dapps server. [#2021](https://github.com/paritytech/parity/pull/2021)
- builtin trait refactoring [#2018](https://github.com/paritytech/parity/pull/2018)
- Start parity with systemd [#1967](https://github.com/paritytech/parity/pull/1967)
- Control service for IPC [#2013](https://github.com/paritytech/parity/pull/2013)
- LRU cache for dapps [#2006](https://github.com/paritytech/parity/pull/2006)
- CLI for valid hosts for dapps server [#2005](https://github.com/paritytech/parity/pull/2005)
- Make the block header struct's internals private [#2000](https://github.com/paritytech/parity/pull/2000)
- Take control of recovered snapshots, start restoration asynchronously [#2010](https://github.com/paritytech/parity/pull/2010)
- remove internal locking from DBTransaction [#2003](https://github.com/paritytech/parity/pull/2003)
- Snapshot optimizations [#1991](https://github.com/paritytech/parity/pull/1991)
- Revert removing ecies [#2009](https://github.com/paritytech/parity/pull/2009)
- small blooms optimization [#1998](https://github.com/paritytech/parity/pull/1998)
- protection from adding empty traces && assertion in traces db [#1994](https://github.com/paritytech/parity/pull/1994)
- Stratum IPC service [#1959](https://github.com/paritytech/parity/pull/1959)
- Signature cleanup [#1921](https://github.com/paritytech/parity/pull/1921)
- Fixed discovery skipping some nodes [#1996](https://github.com/paritytech/parity/pull/1996)
- Trie query recording and AccountDB factory for no mangling [#1944](https://github.com/paritytech/parity/pull/1944)
- Validating sha3 of a dapp bundle [#1993](https://github.com/paritytech/parity/pull/1993)
- Improve eth_getWork timeout test rpc_get_work_should_timeout [#1992](https://github.com/paritytech/parity/pull/1992)
- Resolving URLs from contract [#1964](https://github.com/paritytech/parity/pull/1964)
- Add timeout for eth_getWork call [#1975](https://github.com/paritytech/parity/pull/1975)
- CLI for Signer interface [#1980](https://github.com/paritytech/parity/pull/1980)
- IPC timeout multiplied [#1990](https://github.com/paritytech/parity/pull/1990)
- Use relative path for IPC sockets [#1983](https://github.com/paritytech/parity/pull/1983)
- Market-orientated transaction pricing [#1963](https://github.com/paritytech/parity/pull/1963)
- Bump clippy [#1982](https://github.com/paritytech/parity/pull/1982)
- Fixing mutual recursive types serialization [#1977](https://github.com/paritytech/parity/pull/1977)
- Fix open on FreeBSD [#1984](https://github.com/paritytech/parity/pull/1984)
- Upgrade hyper dependency to 0.9 [#1973](https://github.com/paritytech/parity/pull/1973)
- Create network-specific nodes files [#1970](https://github.com/paritytech/parity/pull/1970)
- Getting rid of syntex [#1965](https://github.com/paritytech/parity/pull/1965)
- Remove binary specification from hypervisor [#1960](https://github.com/paritytech/parity/pull/1960)
- Stratum protocol general [#1954](https://github.com/paritytech/parity/pull/1954)
- keep track of first block in blockchain [#1937](https://github.com/paritytech/parity/pull/1937)
- introduce ethcore/state module [#1953](https://github.com/paritytech/parity/pull/1953)
- Apply settings to column families [#1956](https://github.com/paritytech/parity/pull/1956)
- move column family constants into db module [#1955](https://github.com/paritytech/parity/pull/1955)
- ECIES without MAC [#1948](https://github.com/paritytech/parity/pull/1948)
- Fix canny warnings [#1951](https://github.com/paritytech/parity/pull/1951)
- Fetchable dapps [#1949](https://github.com/paritytech/parity/pull/1949)
- remove impossible panickers related to infallible db transaction [#1947](https://github.com/paritytech/parity/pull/1947)
- Minor optimizations [#1943](https://github.com/paritytech/parity/pull/1943)
- remove randomness from bigint benches, fix warnings [#1945](https://github.com/paritytech/parity/pull/1945)
- Fix several RPCs [#1926](https://github.com/paritytech/parity/pull/1926)
- Bump clippy, fix warnings [#1939](https://github.com/paritytech/parity/pull/1939)
- DB WAL size limit [#1935](https://github.com/paritytech/parity/pull/1935)
- Use explicit global namespaces in codegen [#1928](https://github.com/paritytech/parity/pull/1928)
- Fix build on master [#1934](https://github.com/paritytech/parity/pull/1934)
- IPC on by default [#1927](https://github.com/paritytech/parity/pull/1927)
- fix util benches compilation [#1931](https://github.com/paritytech/parity/pull/1931)
- Update gitlab-ci [#1929](https://github.com/paritytech/parity/pull/1929)
- ethkey and ethstore use hash structures from bigint [#1851](https://github.com/paritytech/parity/pull/1851)

1017
docs/CHANGELOG-1.5.md Normal file

File diff suppressed because it is too large Load Diff

616
docs/CHANGELOG-1.6.md Normal file
View File

@@ -0,0 +1,616 @@
Note: Parity 1.6 reached End-of-Life on 2017-10-15 (EOL).
## 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/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/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/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/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/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/paritytech/parity/releases/tag/v1.6.8) (2017-06-08)
This release addresses:
- a rare condition where quickly creating a new account was generating an account not matching the recovery phrase.
- compressed RLP strings caused wrong/empty transaction receipts on Classic network.
- blacklisting the _empty phrase_ account from UI and RPC on non-development chains. See also [this blog post](https://blog.parity.io/restoring-blank-seed-phrase/).
- canceling transactions that didn't have a condition.
- the updated Expanse fork block and chain ID.
Full changelog:
- 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/paritytech/parity/pull/5351)
- Update expanse json with fork at block 600000
- Update exp chainID to 2
- 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/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/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/paritytech/parity/releases/tag/v1.6.7) (2017-05-18)
This release addresses:
- potential usability issues with [import and recovery of existing accounts](https://blog.parity.io/restoring-blank-seed-phrase/).
- canceling scheduled transactions via RPC or UI.
- warp sync issues with the Kovan network.
Full changelog:
- 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/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/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/paritytech/parity/pull/5434)
- Bump to v1.6.6
- 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/paritytech/parity/pull/5309)
- DefaultProps for account
- Pass signing account
- Update tests for Connect(...)
- Add new seed nodes [#5345](https://github.com/paritytech/parity/pull/5345)
- Kovan warp sync fixed
- 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/paritytech/parity/pull/5350)
- Backport syntax libs update [#5316](https://github.com/paritytech/parity/pull/5316)
## Parity [v1.6.5](https://github.com/paritytech/parity/releases/tag/v1.6.5) (2017-03-28)
This release contains the following changes:
- Warp sync snapshot format improvements.
- Fix for Firefox UI issues.
- Fix for restoring from a file snapshot.
- Fix for auto-updater error handling.
- Updated configuration for [Ropsten revival](https://github.com/ethereum/ropsten/blob/master/revival.md). Make sure to delete old Ropsten blockchain first with `parity db kill --chain ropsten`. After that you can sync normally with `parity --chain ropsten`.
Full changes:
- 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/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/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/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
- Failing sync test
- Adjust tests
- Nicer indent
- Revert bound divisor
## 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:
- Ledger device connectivity issues for some users on Windows.
- Improved vault usability.
- Stratum mining no longer requires `--force-sealing`.
- `evm` binary has been renamed to `parity-evm` to avoid conflict with cpp-ethereum package.
Full Changes:
- 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/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/paritytech/parity/pull/4912)
- Attach hardware wallets already in addressbook
- Only set values changed
- 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/paritytech/parity/pull/4968)
## 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/paritytech/parity/pull/4902)
- Add intitial max-width to sections
- Move background z-index to -1
## 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:
- Revamped UI.
- Account Vaults.
- Support for Ledger hardware wallet devices.
- Stratum protocol for PoW mining.
- A new MacOS installer. Parity for MacOS now includes a Menu Bar icon that allows controlling Parity service.
- Disk backed transaction store. Pending transactions are now saved to disk and won't get lost when Parity is restarted.
- Improved memory management.
See the [blog post](https://blog.parity.io/announcing-parity-1-6/) for more details.
Full Changes:
- 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/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/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/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/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/paritytech/parity/pull/4806)
- Calibrate before rejection
- Change flag name
- Add eip155
- Make network_id default
- 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
- Overlay selection line
- Slightly more muted unselected
- Restore address icon
- Fix default values for contract queries
- 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
- Typo
- Separate Deploy in Contract API
- Use the new Wallet ABI // Update wallet code
- WIP .// Deploy from Wallet
- Update Wallet contract
- Contract Deployment for Wallet
- Working deployments for Single Owned Wallet contracts
- Linting
- Create a Wallet from a Wallet
- Linting
- Fix Signer transactions // Add Gas Used for transactions
- Deploy wallet contract fix
- Fix too high gas estimate for Wallet Contract Deploys
- Final piece ; deploying from Wallet owned by wallet
- Update Wallet Code
- Updated the Wallet Codes
- Fixing Wallet Deployments
- Add Support for older wallets
- Linting
- SMS Faucet ([#4774](https://github.com/paritytech/parity/pull/4774))
- Faucet
- Remove flakey button-index testing
- Only display faucet when sms verified (mainnet)
- Simplify availability checks
- WIP
- Resuest from verified -> verified
- Update endpoint, display response text
- Error icon on errors
- Parse hash text response
- Use /api/:address endpoint
- Hash -> data
- Adjust sms-certified message
- 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/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)

832
docs/CHANGELOG-1.7.md Normal file
View File

@@ -0,0 +1,832 @@
Note: Parity 1.7 reached End-of-Life on 2018-01-25 (EOL).
### Parity [v1.7.13](https://github.com/paritytech/parity/releases/tag/v1.7.13) (2018-01-23)
Parity 1.7.13 is a bug-fix release to improve stability of PoA-networks. Users on Kovan or other Aura-based networks are advised to upgrade as this release fixes an issue introduced with 1.7.12 that causes Proof-of-Authority nodes to stop synchronizing the chain.
The full list of included changes:
- AuRa fix for 1.7.x series ([#7666](https://github.com/paritytech/parity/pull/7666))
- Fix Temporarily Invalid blocks handling ([#7613](https://github.com/paritytech/parity/pull/7613))
- Handle temporarily invalid blocks in sync.
- Fix tests.
- Bump rustc-serialize
- Bump version.
- Update .gitlab-ci.yml
- Fix lint
- Remove slash from gitlab ci script to fix builds
- Start build.
### Parity [v1.7.12](https://github.com/paritytech/parity/releases/tag/v1.7.12) (2018-01-09)
Parity 1.7.12 is a bug-fix release to improve performance and stability.
The full list of included changes:
- Fix stable builds for rustc 1.23.0 ([#7504](https://github.com/paritytech/parity/pull/7504))
- Missing AuRa backports ([#7499](https://github.com/paritytech/parity/pull/7499)
- Wait for future blocks in AuRa ([#7368](https://github.com/paritytech/parity/pull/7368))
- Mark future blocks as temporarily invalid.
- Don't check max.
- 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.
- Problem: AuRa's unsafeties around step duration ([#7282](https://github.com/paritytech/parity/pull/7282))
- Fix tests.
- 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
- Backports ([#7496](https://github.com/paritytech/parity/pull/7496))
- Advance AuRa step as far as we can. ([#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/paritytech/parity/issue/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 :)
- Bump version to 1.7.12
### Parity [v1.7.11](https://github.com/paritytech/parity/releases/tag/v1.7.11) (2017-12-29)
Parity 1.7.11 changes the default behavior of JSON-RPC CORS setting, and updates bootnodes for the Kovan and Foundation networks.
Note: The default value of `--jsonrpc-cors` option has been altered to disallow (potentially malicious) websites from accessing the low-sensitivity RPCs (viewing exposed accounts, proposing transactions for signing). Currently domains need to be whitelisted manually. To bring back previous behaviour run with `--jsonrpc-cors all` or `--jsonrpc-cors http://example.com`.
The full list of included changes:
- Stable Bootnodes and Warpnodes ([#7298](https://github.com/paritytech/parity/pull/7298))
- New warp enodes ([#7287](https://github.com/paritytech/parity/pull/7287))
- New warp enodes
- Added one more warp enode; replaced spaces with tabs
- Bump stable to 1.7.11
- Update kovan boot nodes ([#7296](https://github.com/paritytech/parity/pull/7296))
- Fix Cargo.lock
- Updating mainnet bootnodes.
- 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
- Ethstore optimizations ([#6827](https://github.com/paritytech/parity/pull/6827)) ([#6844](https://github.com/paritytech/parity/pull/6844)) ([#7347](https://github.com/paritytech/parity/pull/7347))
- Fix default CORS. ([#7389](https://github.com/paritytech/parity/pull/7389))
### Parity [v1.7.10](https://github.com/paritytech/parity/releases/tag/v1.7.10) (2017-12-11)
Parity 1.7.10 applies fixes for Proof-of-Authority networks and schedules the Kovan-Byzantium hard-fork.
- The Kovan testnet will fork on block `5067000` at `Thu Dec 14 2017 05:40:03 UTC`.
- This enables Byzantium features on Kovan.
- This disables uncles on Kovan for stability reasons.
- Proof-of-Authority networks are advised to set `maximumUncleCount` to 0 in a future `maximumUncleCountTransition` for stability reasons. See the [Kovan chain spec](https://github.com/paritytech/parity/blob/master/ethcore/res/ethereum/kovan.json) for an example. New PoA networks created with Parity will have this feature enabled by default.
The full list of included changes:
- Backports and HF block update ([#7243](https://github.com/paritytech/parity/pull/7243))
- 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. ([#7259](https://github.com/paritytech/parity/pull/7259))
- [stable] Backports and Kovan HF ([#7235](https://github.com/paritytech/parity/pull/7235))
- Escape inifinite loop in estimte_gas ([#7075](https://github.com/paritytech/parity/pull/7075))
- Disable uncles by default ([#7006](https://github.com/paritytech/parity/pull/7006))
- Maximum uncle count transition ([#7196](https://github.com/paritytech/parity/pull/7196))
- Enable delayed maximum_uncle_count activation.
- Fix tests.
- Defer kovan HF.
- Bump version.
- Kovan HF.
- Update Kovan HF block.
- Fix compilation issues.
- Fix aura test.
- Add missing byzantium builtins.
- Fix tests.
- Bump version for installers.
- Increase allowed time drift to 10s. ([#7238](https://github.com/paritytech/parity/pull/7238))
### Parity [v1.7.9](https://github.com/paritytech/parity/releases/tag/v1.7.9) (2017-11-14)
Parity 1.7.9 removes the ability to deploy built-in multi-signature wallets.
The full list of included changes:
- Bump to v1.7.9 ([#7047](https://github.com/paritytech/parity/pull/7047))
- Disallow built-in multi-sig deploy (only watch) ([#7017](https://github.com/paritytech/parity/pull/7017))
### Parity [v1.7.8](https://github.com/paritytech/parity/releases/tag/v1.7.8) (2017-10-26)
Parity 1.7.8 fixes a critical Byzantium consensus issue. Update is highly recommended.
The full list of included changes:
- Refactor static context check in CREATE ([#6889](https://github.com/paritytech/parity/pull/6889))
- Bump to v1.7.8 ([#6890](https://github.com/paritytech/parity/pull/6890))
## Parity [v1.7.7](https://github.com/paritytech/parity/releases/tag/v1.7.7) (2017-10-15)
Parity 1.7.7 fixes an issue with auto-update system. Updating is recommended, but not required for Byzantium.
The full list of included changes:
- Fix auto-update ([#6769](https://github.com/paritytech/parity/pull/6759))
- Bump to v1.7.7
- Updated ethabi to fix auto-update
- Bumped fork block number for auto-update ([#6754](https://github.com/paritytech/parity/pull/6754))
## Parity [v1.7.6](https://github.com/paritytech/parity/releases/tag/v1.7.6) (2017-10-13)
Parity 1.7.6 includes a critical consensus-relevant fix for the Byzantium hard-fork. Please upgrade your Ethereum client before block number `4_370_000`.
The full list of included changes:
- Fixed modexp gas calculation overflow ([#6746](https://github.com/paritytech/parity/pull/6746))
- Fixed modexp gas calculation overflow ([#6741](https://github.com/paritytech/parity/pull/6741))
- Bump to v1.7.6
## Parity [v1.7.5](https://github.com/paritytech/parity/releases/tag/v1.7.5) (2017-10-12)
Parity 1.7.5 includes a critical consensus-relevant fix for the Byzantium hard-fork. Please upgrade your Ethereum client before block number `4_370_000`.
Parity 1.7.5 is the first stable release of the 1.7 branch. With this release the support for 1.6 releases ends. Please upgrade your stable nodes to 1.7.5.
The full list of included changes:
- Backport stable - Fixes Badges ([#6731](https://github.com/paritytech/parity/pull/6731))
- Fix badges not showing up ([#6730](https://github.com/paritytech/parity/pull/6730))
- Always fetch meta data first [badges]
- Backport ([#6726](https://github.com/paritytech/parity/pull/6726))
- 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
- Merge [#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
- Add updated MethodDecoding from master
- v1.7.5 stabilized
- Backport ([#6724](https://github.com/paritytech/parity/pull/6724))
- Fixed RETURNDATA out of bounds check ([#6718](https://github.com/paritytech/parity/pull/6718))
- Prevent going offline when restoring or taking snapshot ([#6694](https://github.com/paritytech/parity/pull/6694))
- Bump to v1.7.5
- Trigger beta js build & release ([#6721](https://github.com/paritytech/parity/pull/6721))
## Parity [v1.7.4](https://github.com/paritytech/parity/releases/tag/v1.7.4) (2017-10-11)
Parity 1.7.4 includes a critical consensus-relevant fix for the Byzantium hard-fork. Please upgrade your Ethereum client before block number `4_370_000`.
The full list of included changes:
- Backport ([#6715](https://github.com/paritytech/parity/pull/6715))
- Fix estimate gas if from is not provided. ([#6714](https://github.com/paritytech/parity/pull/6714))
- Display vouched overlay on dapps ([#6710](https://github.com/paritytech/parity/pull/6710))
- Add vouch overlays to dapps
- Cleanup address
- Only run where we have a contentHash
- Backporting ([#6712](https://github.com/paritytech/parity/pull/6712))
- Bump to v1.7.4
- Fixed potential exp len overflow ([#6686](https://github.com/paritytech/parity/pull/6686))
- Fix warp sync blockers detection ([#6691](https://github.com/paritytech/parity/pull/6691))
- Backport ([#6713](https://github.com/paritytech/parity/pull/6713))
- Allow signer signing display of markdown ([#6707](https://github.com/paritytech/parity/pull/6707))
- Fix default values for address input ([#6701](https://github.com/paritytech/parity/pull/6701))
- Fix asciiToHex for characters < 0x10 ([#6702](https://github.com/paritytech/parity/pull/6702))
## Parity [v1.7.3](https://github.com/paritytech/parity/releases/tag/v1.7.3) (2017-10-09)
Parity 1.7.3 enables the Byzantium fork for Ethereum main network on Block 4_370_000 and offers a variety of bug fixes and stability improvements. Among them:
- Fixed network protocol version negotiation with Geth nodes v1.7.1+.
- Fixed `RETURNDATA` size for built-ins. (Built-ins in some cases overwrite only a portion of the output memory slice.)
- Multisig Wallet View now loads if multiple transactions happened within one block.
- Improved stability of snapshot-sycns (warp).
- Revised timeout and batch size constants for bigger blocks.
- Renamed RPC receipt `statusCode` field to `status`.
The full list of included changes:
- Backporting ([#6676](https://github.com/paritytech/parity/pull/6676))
- Fix wallet view ([#6597](https://github.com/paritytech/parity/pull/6597))
- Add safe fail for empty logs
- Filter transactions
- Add more logging
- Fix Wallet Creation and wallet tx list
- Remove logs
- Prevent selecting twice same wallet owner
- Fix tests
- Remove unused props
- Disallow pasting recovery phrases on first run ([#6602](https://github.com/paritytech/parity/pull/6602))
- Fix disallowing paste of recovery phrase on first run, ref [#6581](https://github.com/paritytech/parity/issues/6581)
- Allow the leader of CATS pasting recovery phrases.
- Updated systemd files for linux ([#6592](https://github.com/paritytech/parity/pull/6592))
- Previous version put $BASE directory in root directory.
- This version clearly explains how to run as root or as specific user.
- Additional configuration:
- send SIGHUP for clean exit,
- restart on fail.
- Tested on Ubuntu 16.04.3 LTS with 4.10.0-33-generic x86_64 kernel
- Don't expose port 80 for parity anymore ([#6633](https://github.com/paritytech/parity/pull/6633))
- Backporting ([#6675](https://github.com/paritytech/parity/pull/6675))
- Required validators >= num owners ([#6551](https://github.com/paritytech/parity/pull/6551))
- Debounce sync status. ([#6572](https://github.com/paritytech/parity/pull/6572))
- Fixed network protocol version negotiation ([#6649](https://github.com/paritytech/parity/pull/6649))
- Renamed RPC receipt statusCode field to status ([#6650](https://github.com/paritytech/parity/pull/6650))
- Fixed RETURNDATA size for built-ins ([#6652](https://github.com/paritytech/parity/pull/6652))
- Byzantium fork block number ([#6661](https://github.com/paritytech/parity/pull/6661))
- Refreshing block number on status view ([#6610](https://github.com/paritytech/parity/pull/6610))
- Tweaked block download timeouts ([#6595](https://github.com/paritytech/parity/pull/6595))
- Backports ([#6563](https://github.com/paritytech/parity/pull/6563))
- 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))
- Bump to v1.7.3
## Parity [v1.7.2](https://github.com/paritytech/parity/releases/tag/v1.7.2) (2017-09-18)
Parity 1.7.2 is a bug-fix release to improve performance and stability. Among others, it addresses the following:
- Byzantium fork support for the Ropsten and Foundation networks.
- Added support for the ConsenSys and Gnosis multi-signature wallets.
- Significantly increased token registry and token balance lookup performance.
- Fixed issues with the health status indicator in the wallet.
- Tweaked warp-sync to quickly catch up with chains fallen back more than 10,000 blocks.
- Fixes to the Chrome extension and macOS installer upgrades.
The full list of included changes:
- Fix output from eth_call. ([#6538](https://github.com/paritytech/parity/pull/6538))
- Ropsten fork ([#6532](https://github.com/paritytech/parity/pull/6532))
- Byzantium updates ([#6529](https://github.com/paritytech/parity/pull/6529))
- Fix modexp bug: return 0 if base=0 ([#6424](https://github.com/paritytech/parity/pull/6424))
- Running state test using parity-evm ([#6355](https://github.com/paritytech/parity/pull/6355))
- Initial version of state tests.
- Refactor state to support tracing.
- Unify TransactResult.
- Add test.
- Byzantium updates ([#5855](https://github.com/paritytech/parity/pull/5855))
- EIP-211 updates
- Benchmarks
- Blockhash instruction gas cost updated
- More benches
- EIP-684
- EIP-649
- EIP-658
- Updated some tests
- Modexp fixes
- STATICCALL fixes
- Pairing fixes
- More STATICALL fixes
- Use paritytech/bn
- Fixed REVERTing of contract creation
- Fixed more tests
- Fixed more tests
- Blockchain tests
- Enable previously broken tests
- Transition test
- Updated tests
- Fixed modexp reading huge numbers
- Enabled max_code_size test
- Review fixes
- Updated pairing pricing
- Missing commas (style)
- Update test.rs
- Small improvements
- Eip161abc
- Fix extension detection ([#6452](https://github.com/paritytech/parity/pull/6452)) ([#6524](https://github.com/paritytech/parity/pull/6524))
- Fix extension detection.
- Fix mobx quirks.
- Update submodule.
- Fix detecting hardware wallets. ([#6509](https://github.com/paritytech/parity/pull/6509))
- Allow hardware device reads without lock. ([#6517](https://github.com/paritytech/parity/pull/6517))
- Backports [#6497](https://github.com/paritytech/parity/pull/6497)
- Fix slow balances ([#6471](https://github.com/paritytech/parity/pull/6471))
- Update token updates
- Update token info fetching
- Update logger
- Minor fixes to updates and notifications for balances
- Use Pubsub
- Fix timeout.
- Use pubsub for status.
- Fix signer subscription.
- Process tokens in chunks.
- Fix tokens loaded by chunks
- Dispatch tokens asap
- Fix chunks processing.
- Better filter options
- Parallel log fetching.
- Fix signer polling.
- Fix initial block query.
- Token balances updates : the right(er) way
- Better tokens info fetching
- Fixes in token data fetching
- Only fetch what's needed (tokens)
- Fix linting issues
- Update wasm-tests.
- Fixing balances fetching
- Fix requests tracking in UI
- Fix request watching
- Update the Logger
- PR Grumbles Fixes
- Eth_call returns output of contract creations ([#6420](https://github.com/paritytech/parity/pull/6420))
- Eth_call returns output of contract creations
- Fix parameters order.
- Save outputs for light client as well.
- Don't accept transactions above block gas limit.
- Expose health status over RPC ([#6274](https://github.com/paritytech/parity/pull/6274))
- Node-health to a separate crate.
- Initialize node_health outside of dapps.
- Expose health over RPC.
- Bring back 412 and fix JS.
- Add health to workspace and tests.
- Fix compilation without default features.
- Fix borked merge.
- Revert to generics to avoid virtual calls.
- Fix node-health tests.
- Add missing trailing comma.
- Fixing/removing failing JS tests.
- Do not activate genesis epoch in immediate transition validator contract ([#6349](https://github.com/paritytech/parity/pull/6349))
- Fix memory tracing.
- Add test to cover that.
- Ensure balances of constructor accounts are kept
- Test balance of spec-constructed account is kept
- Fix warning spam. [#6369](https://github.com/paritytech/parity/pull/6369)
- Bump to 1.7.2
- Fix eth_call [#6366](https://github.com/paritytech/parity/pull/6366)
- Backporting [#6352](https://github.com/paritytech/parity/pull/6352)
- Better check the created accounts before showing Startup Wizard [#6331](https://github.com/paritytech/parity/pull/6331)
- Tweaked snapshot params [#6344](https://github.com/paritytech/parity/pull/6344)
- Increase default gas limit for eth_call [#6337](https://github.com/paritytech/parity/pull/6337)
- Fix balance increase.
- Cap gas limit for dapp-originating requests.
- Backports [#6333](https://github.com/paritytech/parity/pull/6333)
- Overflow check in addition
- Unexpose methods on UI RPC. [#6295](https://github.com/paritytech/parity/pull/6295)
- Add more descriptive error when signing/decrypting using hw wallet.
- Format instant change proofs correctly
- Propagate stratum submit share error upstream [#6260](https://github.com/paritytech/parity/pull/6260)
- Updated jsonrpc [#6264](https://github.com/paritytech/parity/pull/6264)
- Using multiple NTP servers [#6173](https://github.com/paritytech/parity/pull/6173)
- Small improvements to time estimation.
- Allow multiple NTP servers to be used.
- Removing boxing.
- Update list of servers and add reference.
- Fix dapps CSP when UI is exposed externally [#6178](https://github.com/paritytech/parity/pull/6178)
- Allow embeding on any page when ui-hosts=all and fix dev_ui
- Fix cache path when using --base-path [#6212](https://github.com/paritytech/parity/pull/6212)
- Bump to v1.7.1
- UI backports [#6332](https://github.com/paritytech/parity/pull/6332)
- Time should not contribue to overall status. [#6276](https://github.com/paritytech/parity/pull/6276)
- Add warning to web browser and fix links. [#6232](https://github.com/paritytech/parity/pull/6232)
- Extension fixes [#6284](https://github.com/paritytech/parity/pull/6284)
- Fix token symbols in extension.
- Allow connections from firefox extension.
- Add support for ConsenSys multisig wallet [#6153](https://github.com/paritytech/parity/pull/6153)
- First draft of ConsenSys wallet
- Fix transfer store // WIP Consensys Wallet
- Rename walletABI JSON file
- Fix wrong daylimit in wallet modal
- Confirm/Revoke ConsensysWallet txs
- Change of settings for the Multisig Wallet
- Update README for beta [#6270](https://github.com/paritytech/parity/pull/6270)
- Fixed macOS installer upgrade [#6221](https://github.com/paritytech/parity/pull/6221)
## Parity [v1.7.0](https://github.com/paritytech/parity/releases/tag/v1.7.0) (2017-07-28)
Parity 1.7.0 is a major release introducing several important features:
- **Experimental [Light client](https://github.com/paritytech/parity/wiki/The-Parity-Light-Protocol-(PIP)) support**. Start Parity with `--light` to enable light mode. Please, note: The wallet UI integration for the light client is not included, yet.
- **Experimental web wallet**. A hosted version of Parity that keeps the keys and signs transactions using your browser storage. Try it at https://wallet.parity.io or run your own with `--public-node`.
- **WASM contract support**. Private networks can run contracts compiled into WASM bytecode. _More information and documentation to follow_.
- **DApps and RPC server merge**. DApp and RPC are now available through a single API endpoint. DApp server related settings are deprecated.
- **Export accounts from the wallet**. Backing up your keys can now simply be managed through the wallet interface.
- **PoA/Kovan validator set contract**. The PoA network validator-set management via smart contract is now supported by warp and, in the near future, light sync.
- **PubSub API**. https://github.com/paritytech/parity/wiki/JSONRPC-Parity-Pub-Sub-module
- **Signer apps for IOS and Android**.
The full list of included changes:
- Backports [#6163](https://github.com/paritytech/parity/pull/6163)
- Light client improvements ([#6156](https://github.com/paritytech/parity/pull/6156))
- No seal checking
- Import command and --no-seal-check for light client
- Fix eth_call
- Tweak registry dapps lookup
- Ignore failed requests to non-server peers
- Fix connecting to wildcard addresses. ([#6167](https://github.com/paritytech/parity/pull/6167))
- Don't display an overlay in case the time sync check fails. ([#6164](https://github.com/paritytech/parity/pull/6164))
- Small improvements to time estimation.
- Temporarily disable NTP time check by default.
- Light client fixes ([#6148](https://github.com/paritytech/parity/pull/6148)) [#6151](https://github.com/paritytech/parity/pull/6151)
- Light client fixes
- Fix memory-lru-cache
- Clear pending reqs on disconnect
- Filter tokens logs from current block, not genesis ([#6128](https://github.com/paritytech/parity/pull/6128)) [#6141](https://github.com/paritytech/parity/pull/6141)
- Fix QR scanner returning null on confirm [#6122](https://github.com/paritytech/parity/pull/6122)
- Check QR before lowercase ([#6119](https://github.com/paritytech/parity/pull/6119)) [#6120](https://github.com/paritytech/parity/pull/6120)
- Remove chunk to restore from pending set only upon successful import [#6117](https://github.com/paritytech/parity/pull/6117)
- Fixed node address detection on incoming connection [#6094](https://github.com/paritytech/parity/pull/6094)
- Place RETURNDATA behind block number gate [#6095](https://github.com/paritytech/parity/pull/6095)
- Update wallet library binaries [#6108](https://github.com/paritytech/parity/pull/6108)
- Backported wallet fix [#6105](https://github.com/paritytech/parity/pull/6105)
- Fix initialisation bug. ([#6102](https://github.com/paritytech/parity/pull/6102))
- Update wallet library modifiers ([#6103](https://github.com/paritytech/parity/pull/6103))
- Place RETURNDATA behind block number gate [#6095](https://github.com/paritytech/parity/pull/6095)
- Fixed node address detection on incoming connection [#6094](https://github.com/paritytech/parity/pull/6094)
- Bump snap version and tweak importing detection logic ([#6079](https://github.com/paritytech/parity/pull/6079)) [#6081](https://github.com/paritytech/parity/pull/6081)
- bump last tick just before printing info and restore sync detection
- bump kovan snapshot version
- Fixed sync tests
- Fixed rpc tests
- Acquire client report under lock in informant [#6071](https://github.com/paritytech/parity/pull/6071)
- Show busy indicator on Address forget [#6069](https://github.com/paritytech/parity/pull/6069)
- Add CSP for worker-src ([#6059](https://github.com/paritytech/parity/pull/6059)) [#6064](https://github.com/paritytech/parity/pull/6064)
- Specify worker-src seperately, add blob
- Upgrade react-qr-scan to latest version
- Set release channel to beta
- Limit transaction queue memory & limit future queue [#6038](https://github.com/paritytech/parity/pull/6038)
- Fix CI build issue [#6050](https://github.com/paritytech/parity/pull/6050)
- New contract PoA sync fixes [#5991](https://github.com/paritytech/parity/pull/5991)
- Fixed link to Multisig Contract Wallet on master [#5984](https://github.com/paritytech/parity/pull/5984)
- Ethcore crate split part 1 [#6041](https://github.com/paritytech/parity/pull/6041)
- Fix status icon [#6039](https://github.com/paritytech/parity/pull/6039)
- Errors & warnings for inappropriate RPCs [#6029](https://github.com/paritytech/parity/pull/6029)
- Add missing CSP for web3.site [#5992](https://github.com/paritytech/parity/pull/5992)
- Remove cargo install --git from README.md [#6037](https://github.com/paritytech/parity/pull/6037)
- Node Health warnings [#5951](https://github.com/paritytech/parity/pull/5951)
- RPC cpu pool [#6023](https://github.com/paritytech/parity/pull/6023)
- Use crates.io dependencies for parity-wasm [#6036](https://github.com/paritytech/parity/pull/6036)
- Add test for loading the chain specs [#6028](https://github.com/paritytech/parity/pull/6028)
- Whitelist APIs for generic Pub-Sub [#5840](https://github.com/paritytech/parity/pull/5840)
- WASM contracts MVP [#5679](https://github.com/paritytech/parity/pull/5679)
- Fix valid QR scan not advancing [#6033](https://github.com/paritytech/parity/pull/6033)
- --reseal-on-uncle [#5940](https://github.com/paritytech/parity/pull/5940)
- Support comments in reserved peers file ([#6004](https://github.com/paritytech/parity/pull/6004)) [#6012](https://github.com/paritytech/parity/pull/6012)
- Add new md tnc [#5937](https://github.com/paritytech/parity/pull/5937)
- Fix output of parity-evm in case of bad instruction [#5955](https://github.com/paritytech/parity/pull/5955)
- Don't send notifications to unsubscribed clients of PubSub [#5960](https://github.com/paritytech/parity/pull/5960)
- Proper light client informant and more verification of imported headers [#5897](https://github.com/paritytech/parity/pull/5897)
- New Kovan bootnodes [#6017](https://github.com/paritytech/parity/pull/6017)
- Use standard paths for Ethash cache [#5881](https://github.com/paritytech/parity/pull/5881)
- Defer code hash calculation. [#5959](https://github.com/paritytech/parity/pull/5959)
- Fix first run wizard. [#6000](https://github.com/paritytech/parity/pull/6000)
- migration to serde 1.0 [#5996](https://github.com/paritytech/parity/pull/5996)
- SecretStore: generating signatures [#5764](https://github.com/paritytech/parity/pull/5764)
- bigint upgraded to version 3.0 [#5986](https://github.com/paritytech/parity/pull/5986)
- config: don't allow dev chain with force sealing option [#5965](https://github.com/paritytech/parity/pull/5965)
- Update lockfile for miniz-sys and gcc [#5969](https://github.com/paritytech/parity/pull/5969)
- Clean up function naming in RPC error module [#5995](https://github.com/paritytech/parity/pull/5995)
- Fix underflow in gas calculation [#5975](https://github.com/paritytech/parity/pull/5975)
- PubSub for parity-js [#5830](https://github.com/paritytech/parity/pull/5830)
- Report whether a peer was kept from `Handler::on_connect` [#5958](https://github.com/paritytech/parity/pull/5958)
- Implement skeleton for transaction index and epoch transition proof PIP messages [#5908](https://github.com/paritytech/parity/pull/5908)
- TransactionQueue improvements [#5917](https://github.com/paritytech/parity/pull/5917)
- constant time HMAC comparison and clarify docs in ethkey [#5952](https://github.com/paritytech/parity/pull/5952)
- Avoid pre-computing jump destinations [#5954](https://github.com/paritytech/parity/pull/5954)
- Upgrade elastic array [#5949](https://github.com/paritytech/parity/pull/5949)
- PoA: Wait for transition finality before applying [#5774](https://github.com/paritytech/parity/pull/5774)
- Logs Pub-Sub [#5705](https://github.com/paritytech/parity/pull/5705)
- Add the command to install the parity snap [#5945](https://github.com/paritytech/parity/pull/5945)
- Reduce unnecessary allocations [#5944](https://github.com/paritytech/parity/pull/5944)
- Clarify confusing messages. [#5935](https://github.com/paritytech/parity/pull/5935)
- Content Security Policy [#5790](https://github.com/paritytech/parity/pull/5790)
- CLI: Export error message and less verbose peer counter. [#5870](https://github.com/paritytech/parity/pull/5870)
- network: make it more explicit about StreamToken and TimerToken [#5939](https://github.com/paritytech/parity/pull/5939)
- sync: make it more idiomatic rust [#5938](https://github.com/paritytech/parity/pull/5938)
- Prioritize accounts over address book [#5909](https://github.com/paritytech/parity/pull/5909)
- Fixing failing compilation of RPC test on master. [#5916](https://github.com/paritytech/parity/pull/5916)
- Empty local middleware, until explicitly requested [#5912](https://github.com/paritytech/parity/pull/5912)
- Cancel propagated TX [#5899](https://github.com/paritytech/parity/pull/5899)
- fix minor race condition in aura seal generation [#5910](https://github.com/paritytech/parity/pull/5910)
- Docs for Pub-Sub, optional parameter for parity_subscribe [#5833](https://github.com/paritytech/parity/pull/5833)
- Fix gas editor doubling-up on gas [#5820](https://github.com/paritytech/parity/pull/5820)
- Information about used paths added to general output block [#5904](https://github.com/paritytech/parity/pull/5904)
- Domain-locked web tokens. [#5894](https://github.com/paritytech/parity/pull/5894)
- Removed panic handlers [#5895](https://github.com/paritytech/parity/pull/5895)
- Latest changes from Rust RocksDB binding merged [#5905](https://github.com/paritytech/parity/pull/5905)
- Adjust keyethereum/secp256 aliasses [#5903](https://github.com/paritytech/parity/pull/5903)
- Keyethereum fs dependency [#5902](https://github.com/paritytech/parity/pull/5902)
- Ethereum Classic Monetary Policy [#5741](https://github.com/paritytech/parity/pull/5741)
- Initial token should allow full access. [#5873](https://github.com/paritytech/parity/pull/5873)
- Fixed account selection for Dapps on public node [#5856](https://github.com/paritytech/parity/pull/5856)
- blacklist bad snapshot manifest hashes upon failure [#5874](https://github.com/paritytech/parity/pull/5874)
- Fix wrongly called timeouts [#5838](https://github.com/paritytech/parity/pull/5838)
- ArchiveDB and other small fixes [#5867](https://github.com/paritytech/parity/pull/5867)
- convert try!() to ? [#5866](https://github.com/paritytech/parity/pull/5866)
- Make config file optional in systemd [#5847](https://github.com/paritytech/parity/pull/5847)
- EIP-116 (214), [#4833](https://github.com/paritytech/parity/issues/4833) [#4851](https://github.com/paritytech/parity/pull/4851)
- all executables are workspace members [#5865](https://github.com/paritytech/parity/pull/5865)
- minor optimizations of the modexp builtin [#5860](https://github.com/paritytech/parity/pull/5860)
- three small commits for HashDB and MemoryDB [#5766](https://github.com/paritytech/parity/pull/5766)
- use rust 1.18's retain to boost the purge performance [#5801](https://github.com/paritytech/parity/pull/5801)
- Allow IPFS server to accept POST requests [#5858](https://github.com/paritytech/parity/pull/5858)
- Dutch i18n from [#5802](https://github.com/paritytech/parity/issues/5802) for master [#5836](https://github.com/paritytech/parity/pull/5836)
- Typos in token deploy dapp ui [#5851](https://github.com/paritytech/parity/pull/5851)
- A CLI flag to allow fast transaction signing when account is unlocked. [#5778](https://github.com/paritytech/parity/pull/5778)
- Removing `additional` field from EVM instructions [#5821](https://github.com/paritytech/parity/pull/5821)
- Don't fail on wrong log decoding [#5813](https://github.com/paritytech/parity/pull/5813)
- Use randomized subscription ids for PubSub [#5756](https://github.com/paritytech/parity/pull/5756)
- Fixed mem write for empty slice [#5827](https://github.com/paritytech/parity/pull/5827)
- Fix party technologies [#5810](https://github.com/paritytech/parity/pull/5810)
- Revert "Fixed mem write for empty slice" [#5826](https://github.com/paritytech/parity/pull/5826)
- Fixed mem write for empty slice [#5825](https://github.com/paritytech/parity/pull/5825)
- Fix JS tests [#5822](https://github.com/paritytech/parity/pull/5822)
- Bump native-tls and openssl crates. [#5817](https://github.com/paritytech/parity/pull/5817)
- Public node using WASM [#5734](https://github.com/paritytech/parity/pull/5734)
- enforce block signer == author field in PoA [#5808](https://github.com/paritytech/parity/pull/5808)
- Fix stack display in evmbin. [#5733](https://github.com/paritytech/parity/pull/5733)
- Disable UI if it's not compiled in. [#5773](https://github.com/paritytech/parity/pull/5773)
- Require phrase confirmation. [#5731](https://github.com/paritytech/parity/pull/5731)
- Duration limit made optional for EthashParams [#5777](https://github.com/paritytech/parity/pull/5777)
- Update Changelog for 1.6.8 [#5798](https://github.com/paritytech/parity/pull/5798)
- Replace Ethcore comany name in T&C and some other places [#5796](https://github.com/paritytech/parity/pull/5796)
- PubSub for IPC. [#5800](https://github.com/paritytech/parity/pull/5800)
- Fix terminology distributed -> decentralized applications [#5797](https://github.com/paritytech/parity/pull/5797)
- Disable compression for RLP strings [#5786](https://github.com/paritytech/parity/pull/5786)
- update the source for the snapcraft package [#5781](https://github.com/paritytech/parity/pull/5781)
- Fixed default UI port for mac installer [#5782](https://github.com/paritytech/parity/pull/5782)
- Block invalid account name creation [#5784](https://github.com/paritytech/parity/pull/5784)
- Update Cid/multihash/ring/tinykeccak [#5785](https://github.com/paritytech/parity/pull/5785)
- use NULL_RLP, remove NULL_RLP_STATIC [#5742](https://github.com/paritytech/parity/pull/5742)
- Blacklist empty phrase account. [#5730](https://github.com/paritytech/parity/pull/5730)
- EIP-211 RETURNDATACOPY and RETURNDATASIZE [#5678](https://github.com/paritytech/parity/pull/5678)
- Bump mio [#5763](https://github.com/paritytech/parity/pull/5763)
- Fixing UI issues after UI server refactor [#5710](https://github.com/paritytech/parity/pull/5710)
- Fix WS server expose issue. [#5728](https://github.com/paritytech/parity/pull/5728)
- Fix local transactions without condition. [#5716](https://github.com/paritytech/parity/pull/5716)
- Bump parity-wordlist. [#5748](https://github.com/paritytech/parity/pull/5748)
- two small changes in evm [#5700](https://github.com/paritytech/parity/pull/5700)
- Evmbin: JSON format printing pre-state. [#5712](https://github.com/paritytech/parity/pull/5712)
- Recover from empty phrase in dev mode [#5698](https://github.com/paritytech/parity/pull/5698)
- EIP-210 BLOCKHASH changes [#5505](https://github.com/paritytech/parity/pull/5505)
- fixes typo [#5708](https://github.com/paritytech/parity/pull/5708)
- Bump rocksdb [#5707](https://github.com/paritytech/parity/pull/5707)
- Fixed --datadir option [#5697](https://github.com/paritytech/parity/pull/5697)
- rpc -> weak to arc [#5688](https://github.com/paritytech/parity/pull/5688)
- typo fix [#5699](https://github.com/paritytech/parity/pull/5699)
- Revamping parity-evmbin [#5696](https://github.com/paritytech/parity/pull/5696)
- Update dependencies and bigint api [#5685](https://github.com/paritytech/parity/pull/5685)
- UI server refactoring [#5580](https://github.com/paritytech/parity/pull/5580)
- Fix from/into electrum in ethkey [#5686](https://github.com/paritytech/parity/pull/5686)
- Add unit tests [#5668](https://github.com/paritytech/parity/pull/5668)
- Guanqun add unit tests [#5671](https://github.com/paritytech/parity/pull/5671)
- Parity-PubSub as a separate API. [#5676](https://github.com/paritytech/parity/pull/5676)
- EIP-140 REVERT opcode [#5477](https://github.com/paritytech/parity/pull/5477)
- Update CHANGELOG for 1.6.7 [#5683](https://github.com/paritytech/parity/pull/5683)
- Updated docs slightly. [#5674](https://github.com/paritytech/parity/pull/5674)
- Fix build [#5684](https://github.com/paritytech/parity/pull/5684)
- Back-references for the on-demand service [#5573](https://github.com/paritytech/parity/pull/5573)
- Dynamically adjust PIP request costs based on gathered data [#5603](https://github.com/paritytech/parity/pull/5603)
- use cargo workspace [#5601](https://github.com/paritytech/parity/pull/5601)
- Latest headers Pub-Sub [#5655](https://github.com/paritytech/parity/pull/5655)
- improved dockerfile builds [#5659](https://github.com/paritytech/parity/pull/5659)
- Adding CLI options: port shift and unsafe expose. [#5677](https://github.com/paritytech/parity/pull/5677)
- Report missing author in Aura [#5583](https://github.com/paritytech/parity/pull/5583)
- typo fix [#5669](https://github.com/paritytech/parity/pull/5669)
- Remove public middleware (temporary) [#5665](https://github.com/paritytech/parity/pull/5665)
- Remove additional polyfill [#5663](https://github.com/paritytech/parity/pull/5663)
- Importing accounts from files. [#5644](https://github.com/paritytech/parity/pull/5644)
- remove the deprecated options in rustfmt.toml [#5616](https://github.com/paritytech/parity/pull/5616)
- Update the Console dapp [#5602](https://github.com/paritytech/parity/pull/5602)
- Create an account for chain=dev [#5612](https://github.com/paritytech/parity/pull/5612)
- Use babel-runtime as opposed to babel-polyfill [#5662](https://github.com/paritytech/parity/pull/5662)
- Connection dialog timestamp info [#5554](https://github.com/paritytech/parity/pull/5554)
- use copy_from_slice instead of for loop [#5647](https://github.com/paritytech/parity/pull/5647)
- Light friendly dapps [#5634](https://github.com/paritytech/parity/pull/5634)
- Add Recover button to Accounts and warnings [#5645](https://github.com/paritytech/parity/pull/5645)
- Update eth_sign docs. [#5631](https://github.com/paritytech/parity/pull/5631)
- Proper signer Pub-Sub for pending requests. [#5594](https://github.com/paritytech/parity/pull/5594)
- Bump bigint to 1.0.5 [#5641](https://github.com/paritytech/parity/pull/5641)
- PoA warp implementation [#5488](https://github.com/paritytech/parity/pull/5488)
- Improve on-demand dispatch and add support for batch requests [#5419](https://github.com/paritytech/parity/pull/5419)
- Use default account for sending transactions [#5588](https://github.com/paritytech/parity/pull/5588)
- Add peer management to the Status tab [#5566](https://github.com/paritytech/parity/pull/5566)
- Add monotonic step transition [#5587](https://github.com/paritytech/parity/pull/5587)
- Decrypting for external accounts. [#5581](https://github.com/paritytech/parity/pull/5581)
- only enable warp sync when engine supports it [#5595](https://github.com/paritytech/parity/pull/5595)
- fix the doc of installing rust [#5586](https://github.com/paritytech/parity/pull/5586)
- Small fixes [#5584](https://github.com/paritytech/parity/pull/5584)
- SecretStore: remove session on master node [#5545](https://github.com/paritytech/parity/pull/5545)
- run-clean [#5607](https://github.com/paritytech/parity/pull/5607)
- relicense RLP to MIT/Apache2 [#5591](https://github.com/paritytech/parity/pull/5591)
- Fix eth_sign signature encoding. [#5597](https://github.com/paritytech/parity/pull/5597)
- Check pending request on Node local transactions [#5564](https://github.com/paritytech/parity/pull/5564)
- Add tooltips on ActionBar [#5562](https://github.com/paritytech/parity/pull/5562)
- Can't deploy without compiling Contract [#5593](https://github.com/paritytech/parity/pull/5593)
- Add a warning when node is syncing [#5565](https://github.com/paritytech/parity/pull/5565)
- Update registry middleware [#5585](https://github.com/paritytech/parity/pull/5585)
- Set block condition to BigNumber in MethodDecoding [#5592](https://github.com/paritytech/parity/pull/5592)
- Load the sources immediately in Contract Dev [#5575](https://github.com/paritytech/parity/pull/5575)
- Remove formal verification messages in Dev Contract [#5574](https://github.com/paritytech/parity/pull/5574)
- Fix event params decoding when no names for parameters [#5567](https://github.com/paritytech/parity/pull/5567)
- Do not convert to Dates twice [#5563](https://github.com/paritytech/parity/pull/5563)
- Fix Multisig wallet settings [#5560](https://github.com/paritytech/parity/pull/5560)
- Typo [#5547](https://github.com/paritytech/parity/pull/5547)
- Generic PubSub implementation [#5456](https://github.com/paritytech/parity/pull/5456)
- Fix CI paths. [#5570](https://github.com/paritytech/parity/pull/5570)
- reorg into blocks before minimum history [#5558](https://github.com/paritytech/parity/pull/5558)
- EIP-86 update [#5506](https://github.com/paritytech/parity/pull/5506)
- Secretstore RPCs + integration [#5439](https://github.com/paritytech/parity/pull/5439)
- Fixes Parity Bar position [#5557](https://github.com/paritytech/parity/pull/5557)
- Fixes invalid log in BadgeReg events [#5556](https://github.com/paritytech/parity/pull/5556)
- Fix issues in Contract Development view [#5555](https://github.com/paritytech/parity/pull/5555)
- Added missing methods [#5542](https://github.com/paritytech/parity/pull/5542)
- option to disable persistent txqueue [#5544](https://github.com/paritytech/parity/pull/5544)
- Bump jsonrpc [#5552](https://github.com/paritytech/parity/pull/5552)
- Retrieve block headers only for header-only info [#5480](https://github.com/paritytech/parity/pull/5480)
- add snap to CI [#5519](https://github.com/paritytech/parity/pull/5519)
- Pass additional data when reporting [#5527](https://github.com/paritytech/parity/pull/5527)
- Calculate post-constructors state root in spec at load time [#5523](https://github.com/paritytech/parity/pull/5523)
- Fix utf8 decoding [#5533](https://github.com/paritytech/parity/pull/5533)
- Add CHANGELOG.md [#5513](https://github.com/paritytech/parity/pull/5513)
- Change all occurrences of ethcore.io into parity.io [#5528](https://github.com/paritytech/parity/pull/5528)
- Memory usage optimization [#5526](https://github.com/paritytech/parity/pull/5526)
- Compose transaction RPC. [#5524](https://github.com/paritytech/parity/pull/5524)
- Support external eth_sign [#5481](https://github.com/paritytech/parity/pull/5481)
- Treat block numbers as strings, not BigNums. [#5449](https://github.com/paritytech/parity/pull/5449)
- npm cleanups [#5512](https://github.com/paritytech/parity/pull/5512)
- Export acc js [#4973](https://github.com/paritytech/parity/pull/4973)
- YARN [#5395](https://github.com/paritytech/parity/pull/5395)
- Fix linting issues [#5511](https://github.com/paritytech/parity/pull/5511)
- Chinese Translation [#5460](https://github.com/paritytech/parity/pull/5460)
- Fixing secretstore TODOs - part 2 [#5416](https://github.com/paritytech/parity/pull/5416)
- fix json format of state snapshot [#5504](https://github.com/paritytech/parity/pull/5504)
- Bump jsonrpc version [#5489](https://github.com/paritytech/parity/pull/5489)
- Groundwork for generalized warp sync [#5454](https://github.com/paritytech/parity/pull/5454)
- Add the packaging metadata to build the parity snap [#5496](https://github.com/paritytech/parity/pull/5496)
- Cancel tx JS [#4958](https://github.com/paritytech/parity/pull/4958)
- EIP-212 (bn128 curve pairing) [#5307](https://github.com/paritytech/parity/pull/5307)
- fix panickers in tree-route [#5479](https://github.com/paritytech/parity/pull/5479)
- Update links to etherscan.io [#5455](https://github.com/paritytech/parity/pull/5455)
- Refresh UI on nodeKind changes, e.g. personal -> public [#5312](https://github.com/paritytech/parity/pull/5312)
- Correct contract address for EIP-86 [#5473](https://github.com/paritytech/parity/pull/5473)
- Force two decimals for USD conversion rate [#5471](https://github.com/paritytech/parity/pull/5471)
- Refactoring of Tokens & Balances [#5372](https://github.com/paritytech/parity/pull/5372)
- Background-repeat round [#5475](https://github.com/paritytech/parity/pull/5475)
- nl i18n updated [#5461](https://github.com/paritytech/parity/pull/5461)
- Show ETH value (even 0) if ETH transfer in transaction list [#5406](https://github.com/paritytech/parity/pull/5406)
- Store the pending requests per network version [#5405](https://github.com/paritytech/parity/pull/5405)
- Use in-memory database for tests [#5451](https://github.com/paritytech/parity/pull/5451)
- WebSockets RPC server [#5425](https://github.com/paritytech/parity/pull/5425)
- Added missing docs [#5452](https://github.com/paritytech/parity/pull/5452)
- Tests and tweaks for public node middleware [#5417](https://github.com/paritytech/parity/pull/5417)
- Fix removal of hash-mismatched files. [#5440](https://github.com/paritytech/parity/pull/5440)
- parity_getBlockHeaderByNumber and LightFetch utility [#5383](https://github.com/paritytech/parity/pull/5383)
- New state tests [#5418](https://github.com/paritytech/parity/pull/5418)
- Fix buffer length for QR code gen. [#5447](https://github.com/paritytech/parity/pull/5447)
- Add raw hash signing [#5423](https://github.com/paritytech/parity/pull/5423)
- Filters and block RPCs for the light client [#5320](https://github.com/paritytech/parity/pull/5320)
- Work around mismatch for QR checksum [#5374](https://github.com/paritytech/parity/pull/5374)
- easy to use conversion from and to string for ethstore::Crypto [#5437](https://github.com/paritytech/parity/pull/5437)
- Tendermint fixes [#5415](https://github.com/paritytech/parity/pull/5415)
- Adrianbrink lightclientcache branch. [#5428](https://github.com/paritytech/parity/pull/5428)
- Add caching to HeaderChain struct [#5403](https://github.com/paritytech/parity/pull/5403)
- Add decryption to the UI (in the Signer) [#5422](https://github.com/paritytech/parity/pull/5422)
- Add CIDv0 RPC [#5414](https://github.com/paritytech/parity/pull/5414)
- Updating documentation for RPCs [#5392](https://github.com/paritytech/parity/pull/5392)
- Fixing secretstore TODOs - part 1 [#5386](https://github.com/paritytech/parity/pull/5386)
- Fixing disappearing content. [#5399](https://github.com/paritytech/parity/pull/5399)
- Snapshot chunks packed by size [#5318](https://github.com/paritytech/parity/pull/5318)
- APIs wildcards and simple arithmetic. [#5402](https://github.com/paritytech/parity/pull/5402)
- Fixing compilation without dapps. [#5410](https://github.com/paritytech/parity/pull/5410)
- Don't use port 8080 anymore [#5397](https://github.com/paritytech/parity/pull/5397)
- Quick'n'dirty CLI for the light client [#5002](https://github.com/paritytech/parity/pull/5002)
- set gas limit before proving transactions [#5401](https://github.com/paritytech/parity/pull/5401)
- Public node: perf and fixes [#5390](https://github.com/paritytech/parity/pull/5390)
- Straight download path in the readme [#5393](https://github.com/paritytech/parity/pull/5393)
- On-chain ACL checker for secretstore [#5015](https://github.com/paritytech/parity/pull/5015)
- Allow empty-encoded values from QR encoding [#5385](https://github.com/paritytech/parity/pull/5385)
- Update npm build for new inclusions [#5381](https://github.com/paritytech/parity/pull/5381)
- Fix for Ubuntu Dockerfile [#5356](https://github.com/paritytech/parity/pull/5356)
- Secretstore over network [#4974](https://github.com/paritytech/parity/pull/4974)
- Dapps and RPC server merge [#5365](https://github.com/paritytech/parity/pull/5365)
- trigger js build release [#5379](https://github.com/paritytech/parity/pull/5379)
- Update expanse json with fork at block 600000 [#5351](https://github.com/paritytech/parity/pull/5351)
- Futures-based native wrappers for contract ABIs [#5341](https://github.com/paritytech/parity/pull/5341)
- Kovan warp sync fixed [#5337](https://github.com/paritytech/parity/pull/5337)
- Aura eip155 validation transition [#5362](https://github.com/paritytech/parity/pull/5362)
- Shared wordlist for brain wallets [#5331](https://github.com/paritytech/parity/pull/5331)
- Allow signing via Qr [#4881](https://github.com/paritytech/parity/pull/4881)
- Allow entry of url or hash for DappReg meta [#5360](https://github.com/paritytech/parity/pull/5360)
- Adjust tx overlay colours [#5353](https://github.com/paritytech/parity/pull/5353)
- Add ability to disallow API subscriptions [#5366](https://github.com/paritytech/parity/pull/5366)
- EIP-213 (bn128 curve operations) [#4999](https://github.com/paritytech/parity/pull/4999)
- Fix analize output file name [#5357](https://github.com/paritytech/parity/pull/5357)
- Add default eip155 validation [#5346](https://github.com/paritytech/parity/pull/5346)
- Add new seed nodes for Classic chain [#5345](https://github.com/paritytech/parity/pull/5345)
- Shared wordlist for frontend [#5336](https://github.com/paritytech/parity/pull/5336)
- fix rpc tests [#5338](https://github.com/paritytech/parity/pull/5338)
- Public node with accounts and signing in Frontend [#5304](https://github.com/paritytech/parity/pull/5304)
- Rename Status/Status -> Status/NodeStatus [#5332](https://github.com/paritytech/parity/pull/5332)
- Updating paths to repos. [#5330](https://github.com/paritytech/parity/pull/5330)
- Separate status for canceled local transactions. [#5319](https://github.com/paritytech/parity/pull/5319)
- Cleanup the Status View [#5317](https://github.com/paritytech/parity/pull/5317)
- Update UI minimised requests [#5324](https://github.com/paritytech/parity/pull/5324)
- Order signer transactions FIFO [#5321](https://github.com/paritytech/parity/pull/5321)
- updating dependencies [#5028](https://github.com/paritytech/parity/pull/5028)
- Minimise transactions progress [#4942](https://github.com/paritytech/parity/pull/4942)
- Fix eth_sign showing as wallet account [#5309](https://github.com/paritytech/parity/pull/5309)
- Ropsten revival [#5302](https://github.com/paritytech/parity/pull/5302)
- Strict validation transitions [#4988](https://github.com/paritytech/parity/pull/4988)
- Fix default list sorting [#5303](https://github.com/paritytech/parity/pull/5303)
- Use unique owners for multisig wallets [#5298](https://github.com/paritytech/parity/pull/5298)
- Copy all existing i18n strings into zh (as-is translation aid) [#5305](https://github.com/paritytech/parity/pull/5305)
- Fix booleans in Typedinput [#5295](https://github.com/paritytech/parity/pull/5295)
- node kind RPC [#5025](https://github.com/paritytech/parity/pull/5025)
- Fix the use of MobX in playground [#5294](https://github.com/paritytech/parity/pull/5294)
- Fine grained snapshot chunking [#5019](https://github.com/paritytech/parity/pull/5019)
- Add lint:i18n to find missing & extra keys [#5290](https://github.com/paritytech/parity/pull/5290)
- Scaffolding for zh translations, including first-round by @btceth [#5289](https://github.com/paritytech/parity/pull/5289)
- JS package bumps [#5287](https://github.com/paritytech/parity/pull/5287)
- Auto-extract new i18n strings (update) [#5288](https://github.com/paritytech/parity/pull/5288)
- eip100b [#5027](https://github.com/paritytech/parity/pull/5027)
- Set earliest era in snapshot restoration [#5021](https://github.com/paritytech/parity/pull/5021)
- Avoid clogging up tmp when updater dir has bad permissions. [#5024](https://github.com/paritytech/parity/pull/5024)
- Resilient warp sync [#5018](https://github.com/paritytech/parity/pull/5018)
- Create webpack analysis files (size) [#5009](https://github.com/paritytech/parity/pull/5009)
- Dispatch an open event on drag of Parity Bar [#4987](https://github.com/paritytech/parity/pull/4987)
- Various installer and tray apps fixes [#4970](https://github.com/paritytech/parity/pull/4970)
- Export account RPC [#4967](https://github.com/paritytech/parity/pull/4967)
- Switching ValidatorSet [#4961](https://github.com/paritytech/parity/pull/4961)
- Implement PIP messages, request builder, and handlers [#4945](https://github.com/paritytech/parity/pull/4945)
- auto lint [#5003](https://github.com/paritytech/parity/pull/5003)
- Fix FireFox overflows [#5000](https://github.com/paritytech/parity/pull/5000)
- Show busy indicator, focus first field in password change [#4997](https://github.com/paritytech/parity/pull/4997)
- Consistent store naming in the Signer components [#4996](https://github.com/paritytech/parity/pull/4996)
- second (and last) part of rlp refactor [#4901](https://github.com/paritytech/parity/pull/4901)
- Double click to select account creation type [#4986](https://github.com/paritytech/parity/pull/4986)
- Fixes to the Registry dapp [#4984](https://github.com/paritytech/parity/pull/4984)
- Extend api.util [#4979](https://github.com/paritytech/parity/pull/4979)
- Updating JSON-RPC crates [#4934](https://github.com/paritytech/parity/pull/4934)
- splitting part of util into smaller crates [#4956](https://github.com/paritytech/parity/pull/4956)
- Updating syntex et al [#4983](https://github.com/paritytech/parity/pull/4983)
- EIP198 and built-in activation [#4926](https://github.com/paritytech/parity/pull/4926)
- Fix MethodDecoding for Arrays [#4977](https://github.com/paritytech/parity/pull/4977)
- Try to fix WS race condition connection [#4976](https://github.com/paritytech/parity/pull/4976)
- eth_sign where account === undefined [#4964](https://github.com/paritytech/parity/pull/4964)
- Fix references to api outside of `parity.js` [#4981](https://github.com/paritytech/parity/pull/4981)
- Fix Password Dialog form overflow [#4968](https://github.com/paritytech/parity/pull/4968)
- Changing Mutex into RwLock for transaction queue [#4951](https://github.com/paritytech/parity/pull/4951)
- Disable max seal period for external sealing [#4927](https://github.com/paritytech/parity/pull/4927)
- Attach hardware wallets already in addressbook [#4912](https://github.com/paritytech/parity/pull/4912)
- rlp serialization refactor [#4873](https://github.com/paritytech/parity/pull/4873)
- Bump nanomsg [#4965](https://github.com/paritytech/parity/pull/4965)
- Fixed multi-chunk ledger transactions on windows [#4960](https://github.com/paritytech/parity/pull/4960)
- Fix outputs in Contract Constant Queries [#4953](https://github.com/paritytech/parity/pull/4953)
- systemd: Start parity after network.target [#4952](https://github.com/paritytech/parity/pull/4952)
- Remove transaction RPC [#4949](https://github.com/paritytech/parity/pull/4949)
- Swap out ethcore.io url for parity.io [#4947](https://github.com/paritytech/parity/pull/4947)
- Don't remove confirmed requests to early. [#4933](https://github.com/paritytech/parity/pull/4933)
- Ensure sealing work enabled in miner once subscribers added [#4930](https://github.com/paritytech/parity/pull/4930)
- Add z-index to small modals as well [#4923](https://github.com/paritytech/parity/pull/4923)
- Bump nanomsg [#4946](https://github.com/paritytech/parity/pull/4946)
- Bumping multihash and libc [#4943](https://github.com/paritytech/parity/pull/4943)
- Edit ETH value, gas and gas price in Contract Deployment [#4919](https://github.com/paritytech/parity/pull/4919)
- Add ability to configure Secure API [#4922](https://github.com/paritytech/parity/pull/4922)
- Add Token image from URL [#4916](https://github.com/paritytech/parity/pull/4916)
- Use the registry fee in Token Deployment dapp [#4915](https://github.com/paritytech/parity/pull/4915)
- Add reseal max period [#4903](https://github.com/paritytech/parity/pull/4903)
- Detect rust compiler version in Parity build script, closes 4742 [#4907](https://github.com/paritytech/parity/pull/4907)
- Add Vaults logic to First Run [#4914](https://github.com/paritytech/parity/pull/4914)
- Updated gcc and rayon crates to remove outdated num_cpus dependency [#4909](https://github.com/paritytech/parity/pull/4909)
- Renaming evm binary to avoid conflicts. [#4899](https://github.com/paritytech/parity/pull/4899)
- Better error handling for traces RPC [#4849](https://github.com/paritytech/parity/pull/4849)
- Safari SectionList fix [#4895](https://github.com/paritytech/parity/pull/4895)
- Safari Dialog scrolling fix [#4893](https://github.com/paritytech/parity/pull/4893)
- Spelling :) [#4900](https://github.com/paritytech/parity/pull/4900)
- Additional kovan params [#4892](https://github.com/paritytech/parity/pull/4892)
- trigger js-precompiled build [#4898](https://github.com/paritytech/parity/pull/4898)
- Recalculate receipt roots in close_and_lock [#4884](https://github.com/paritytech/parity/pull/4884)
- Reload UI on network switch [#4864](https://github.com/paritytech/parity/pull/4864)
- Update parity-ui-precompiled with branch [#4850](https://github.com/paritytech/parity/pull/4850)
- OSX Installer is no longer experimental [#4882](https://github.com/paritytech/parity/pull/4882)
- Chain-selection from UI [#4859](https://github.com/paritytech/parity/pull/4859)
- removed redundant (and unused) FromJson trait [#4871](https://github.com/paritytech/parity/pull/4871)
- fix typos and grammar [#4880](https://github.com/paritytech/parity/pull/4880)
- Remove old experimental remote-db code [#4872](https://github.com/paritytech/parity/pull/4872)
- removed redundant FixedHash trait, fixes [#4029](https://github.com/paritytech/parity/issues/4029) [#4866](https://github.com/paritytech/parity/pull/4866)
- Reference JSON-RPC more changes-friendly [#4870](https://github.com/paritytech/parity/pull/4870)
- Better handling of Solidity compliation [#4860](https://github.com/paritytech/parity/pull/4860)
- Go through contract links in Transaction List display [#4863](https://github.com/paritytech/parity/pull/4863)
- Fix Gas Price Selector Tooltips [#4865](https://github.com/paritytech/parity/pull/4865)
- Fix auto-updater [#4867](https://github.com/paritytech/parity/pull/4867)
- Make the UI work offline [#4861](https://github.com/paritytech/parity/pull/4861)
- Subscribe to accounts info in Signer / ParityBar [#4856](https://github.com/paritytech/parity/pull/4856)
- Don't link libsnappy explicitly [#4841](https://github.com/paritytech/parity/pull/4841)
- Fix paste in Inputs [#4854](https://github.com/paritytech/parity/pull/4854)
- Extract i18n from shared UI components [#4834](https://github.com/paritytech/parity/pull/4834)
- Fix paste in Inputs [#4844](https://github.com/paritytech/parity/pull/4844)
- Pull contract deployment title from available steps [#4848](https://github.com/paritytech/parity/pull/4848)
- Supress USB error message [#4839](https://github.com/paritytech/parity/pull/4839)
- Fix getTransactionCount in --geth mode [#4837](https://github.com/paritytech/parity/pull/4837)
- CI: test coverage (for core and js) [#4832](https://github.com/paritytech/parity/pull/4832)
- Lowering threshold for transactions above gas limit [#4831](https://github.com/paritytech/parity/pull/4831)
- Fix TxViewer when no `to` (contract deployment) [#4847](https://github.com/paritytech/parity/pull/4847)
- Fix method decoding [#4845](https://github.com/paritytech/parity/pull/4845)
- Add React Hot Reload to dapps + TokenDeploy fix [#4846](https://github.com/paritytech/parity/pull/4846)
- Dapps show multiple times in some cases [#4843](https://github.com/paritytech/parity/pull/4843)
- Fixes to the Registry dapp [#4838](https://github.com/paritytech/parity/pull/4838)
- Show token icons on list summary pages [#4826](https://github.com/paritytech/parity/pull/4826)
- Calibrate step before rejection [#4800](https://github.com/paritytech/parity/pull/4800)
- Add replay protection [#4808](https://github.com/paritytech/parity/pull/4808)
- Better icon on windows [#4804](https://github.com/paritytech/parity/pull/4804)
- Better logic for contract deployments detection [#4821](https://github.com/paritytech/parity/pull/4821)
- Fix wrong default values for contract queries inputs [#4819](https://github.com/paritytech/parity/pull/4819)
- Adjust selection colours/display [#4811](https://github.com/paritytech/parity/pull/4811)
- Update the Wallet Library Registry key [#4817](https://github.com/paritytech/parity/pull/4817)
- Update Wallet to new Wallet Code [#4805](https://github.com/paritytech/parity/pull/4805)

578
docs/CHANGELOG-1.8.md Normal file
View File

@@ -0,0 +1,578 @@
Note: Parity 1.8 reached End-of-Life on 2018-03-22 (EOL).
## 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/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/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/paritytech/parity/pull/7941))
- Bump react-qr-reader
- Explicit add webrtc-adapter, non-napa qrcode-generator
- 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/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/paritytech/parity/pull/7779))
- Bump stable to 1.8.9
- 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/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/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/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/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/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/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/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/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/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/paritytech/parity/pull/7675))
- Remove cargo cache
## 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/paritytech/parity/pull/7665))
- Bump stable to 1.8.7
- 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/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/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/paritytech/parity/pull/7532))
- Bump 1.8 to stable
- Make js-precompiled stable
## 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.
In addition to our gas price histogram, this version now allows you to dynamically set the default gas price as percentile from the last 100 blocks (it defaults to median: `50`).
--gas-price-percentile=[PCT] Set PCT percentile gas price value from
last 100 blocks as default gas price
when sending transactions.
Last but not least, this release also fixes consensus issues with the Expanse chain enabling Byzantium. If you run Parity configured for Expanse, you might have to resync your chain after the upgrade.
The full list of included changes:
- RocksDB fix ([#7508](https://github.com/paritytech/parity/pull/7508))
- Kvdb: update rust-rocksdb version
- 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/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/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
- Format numbers as hex
- Fix compilation errors
- Group expanse chain spec fields together
- 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/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/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/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/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/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/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/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/paritytech/parity/pull/7348))
- kvdb-rocksdb: update to RocksDB 5.8.8
- kvdb-rocksdb: tune RocksDB options
- Switch to level-style compaction
- Increase default block size (16K), and use bigger blocks for HDDs (64K)
- Increase default file size base (64MB SSDs, 256MB HDDs)
- Create a single block cache shared across all column families
- Tune compaction settings using RocksDB helper functions, taking into account
- Memory budget spread across all columns
- Configure backgrounds jobs based on the number of CPUs
- Set some default recommended settings
- ethcore: remove unused config blockchain.db_cache_size
- parity: increase default value for db_cache_size
- kvdb-rocksdb: enable compression on all levels
- kvdb-rocksdb: set global db_write_bufer_size
- 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/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.
Note: The default value of `--jsonrpc-cors` option has been altered to disallow (potentially malicious) websites from accessing the low-sensitivity RPCs (viewing exposed accounts, proposing transactions for signing). Currently domains need to be whitelisted manually. To bring back previous behaviour run with `--jsonrpc-cors all` or `--jsonrpc-cors http://example.com`.
The full list of included changes:
- 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/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/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/paritytech/parity/pull/7388))
## 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.
- The Kovan testnet will fork on block `5067000` at `Thu Dec 14 2017 05:40:03 UTC`.
- This enables Byzantium features on Kovan.
- This disables uncles on Kovan for stability reasons.
- Proof-of-Authority networks are advised to set `maximumUncleCount` to 0 in a future `maximumUncleCountTransition` for stability reasons.
- See the [Kovan chain spec](https://github.com/paritytech/parity/blob/master/ethcore/res/ethereum/kovan.json) for an example.
- New PoA networks created with Parity will have this feature enabled by default.
Furthermore, this release includes the ECIP-1039 Monetary policy rounding specification for Ethereum Classic, reduces the maximum Ethash-block timestamp drift to 15 seconds, and fixes various bugs for WASM and the RPC APIs.
The full list of included changes:
- 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/paritytech/parity/pull/7234))
- Kovan HF.
- Bump version.
- 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/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/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/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/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/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/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/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:
- `blockNumber` transaction field is now returned correctly in RPC calls.
- Possible crash when `--force-sealing` option is used.
The full list of included changes:
- 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/paritytech/parity/pull/6886))
- Refactor static context check in CREATE.
- Fix wasm.
- 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/paritytech/parity/pull/6878))
## 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/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.
3. Move your funds from the Trezor hardware-wallet account to the freshly generated Parity account.
4. Upgrade to 1.8.1-beta and plug in your Trezor.
5. Move your funds from your Parity account to the new Trezor account.
6. Keep using Parity as normal.
If you don't want to downgrade or move your funds off your Trezor-device, you can also use the official Trezor application or other wallets allowing to select the derivation path to access the funds.
The full list of included changes:
- 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/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:
- Full Whisper v6 integration
- Trezor hardware-wallet support
- WASM contract support
- PICOPS KYC-certified accounts and vouching for community-dapps
- Light client compatibility for Proof-of-Authority networks
- Transaction permissioning and permissioned p2p-connections
- Full Byzantium-fork compatibility
- Full Musicoin MCIP-3 UBI-fork compatibility
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/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/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/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/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/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/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)

533
docs/CHANGELOG-1.9.md Normal file
View File

@@ -0,0 +1,533 @@
Note: Parity 1.9 reached End-of-Life on 2018-05-09 (EOL).
## 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/paritytech/parity/pull/8456))
- Update Parity stable to 1.9.7
- 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/paritytech/parity/pull/8452))
- Revert Cargo lock update from master
- Fix Cargo.lock
- 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/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/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/paritytech/parity/issues/8315) ([#8355](https://github.com/paritytech/parity/pull/8355))
- Fix Cargo lock
- 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/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/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/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_.
We are excited to announce support for **Wasm Smart Contracts on Kovan network**. The hard-fork to activate the Wasm-VM will take place on block `6600000`.
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/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/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/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/paritytech/parity/pull/8060))
- Limit ingress connections
- Optimized handshakes logging
- 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/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/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
- revert CURRENT_VERSION to 12 in migration.rs
- Fix compilation.
- Check one step deeper if we're on release track branches
- add missing pr
- Fix blooms?
- Fix tests compiilation.
- Fix size.
- 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/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
- ethcore: update musicoin byzantium block number
- ethcore: update musicoin bootnodes
- Update musicoin.json
- More bootnodes.
- 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/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/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/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/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/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/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/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/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/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/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/paritytech/parity/pull/7780))
- Bump beta to 1.9.2
- Update ropsten.json ([#7776](https://github.com/paritytech/parity/pull/7776))
- Snapcraft push beta
## 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!
In addition, this stabilizes Kovan and other Proof-of-Authority networks. If you run a network with AuRa engine, updating is highly encouraged!
The full list of included changes:
- 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/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/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/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/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/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/paritytech/parity/pull/7715))
- This reverts commit 568dc33.
## 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/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/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/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.
- `ethkey` now supports brain-wallets recovery-phrases lookup. This helps to find a correct phrase if you know the address you want to get yet you made a typo backing the phrase up, or forgot a word.
Read more about Parity 1.9 in our [blog post](http://paritytech.io/velocity-the-fastest-parity-released/).
The full list of included changes:
- 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/paritytech/parity/pull/7676))
- Fix conditions in gitlab-test
- Update gitlab-test.sh
- Remove cargo cache
- 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/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/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/paritytech/parity/pull/7671))
- Add docker build for beta
- Add cargo cache
- 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/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))

618
docs/CHANGELOG-2.0.md Normal file
View File

@@ -0,0 +1,618 @@
## 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/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/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/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.
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:
- 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/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/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/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/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/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/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/paritytech/parity-ethereum/pull/9545))
- Version: mark release critical
- 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/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
- 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/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:
- `eth_coinbase` now provides an actual account for light clients
- don't report skipped primaries when empty steps are enabled in proof-of-authority networks
- fix snapshot restoration failure on windows
- check warp sync status for `eth_getWorks`
The full list of included changes:
- 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/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
- 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/paritytech/parity-ethereum/pull/9491))
- Close Blooms DB files before DB restoration
- Address Grumbles
## 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/paritytech/parity-ethereum/pull/9229))
- parity-version: bump beta to 2.0.2
- 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/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
- 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/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/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))
- 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/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/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
- 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
- Address grumbles
- 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.
- 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
- 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/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
- parity: don't blacklist 0x00a328 on sokol testnet
- parity: add sokol and poanet to params and clean up a bit, add tests
- ethcore: add the poa networks and clean up a bit
- ethcore: fix path to poacore chain spec
- parity: rename poa networks to poacore and poasokol
- parity: fix configuration tests
- parity: fix parameter tests
- ethcore: rename POA Core and POA Sokol
- Update tobalaba.json ([#9419](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/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.
Note, authorities in PoA networks based on the Aura engine, should upgrade their nodes to 1.11.8-stable or 2.0.1-beta as this release includes a critical fix.
The full list of included changes:
- 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/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/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/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/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/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/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/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
- Docker: fix tab indentation in hub dockerfile
- Rpc: fix broken merge
- Rpc: remove node_health leftover from merge
- Rpc: remove dapps leftover from merge
## 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/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/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:
- The pool now limits transactions per-sender (see `--tx-queue-per-sender`), local transactions also have to obey that limit. Consider increasing the limit via CLI-flag when running benchmarks or sending a lot of transactions at once.
- In case the pool is full, transactions received over the network, but originating from accounts that you have private keys for might not get accepted to the pool any more with higher priority. Consider running with larger pool size or submitting the transactions directly on the node via `eth_sendRawTransaction`.
The full list of included changes:
- 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/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.
- Discovery: Track expiration of pings to non-yet-in-bucket nodes.
- Discovery: Verify echo hash on pong packets.
- 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/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/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/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/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/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))
- 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 one or more lines are too long

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@@ -1,12 +1,20 @@
[package]
name = "ethash"
version = "1.3.0"
authors = ["arkpar <arkadiy@ethcore.io"]
[lib]
version = "1.12.0"
authors = ["Parity Technologies <admin@parity.io>"]
[dependencies]
log = "0.3"
sha3 = { path = "../util/sha3" }
crunchy = "0.1.0"
either = "1.0.0"
ethereum-types = "0.4"
keccak-hash = "0.1"
log = "0.4"
memmap = "0.6"
parking_lot = "0.6"
primal = "0.2.3"
parking_lot = "0.2.6"
[dev-dependencies]
tempdir = "0.3"
[features]
benches = []

355
ethash/src/cache.rs Normal file
View File

@@ -0,0 +1,355 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
use compute::Light;
use either::Either;
use keccak::{H256, keccak_512};
use memmap::MmapMut;
use parking_lot::Mutex;
use seed_compute::SeedHashCompute;
use shared::{ETHASH_CACHE_ROUNDS, NODE_BYTES, NODE_DWORDS, Node, epoch, get_cache_size, to_hex};
use std::borrow::Cow;
use std::fs;
use std::io::{self, Read, Write};
use std::path::{Path, PathBuf};
use std::slice;
use std::sync::Arc;
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};
match *cache {
Left(ref vec) => vec.len() * NODE_BYTES,
Right(ref mmap) => mmap.len(),
}
}
fn new_buffer(path: &Path, num_nodes: usize, ident: &H256, optimize_for: OptimizeFor) -> Cache {
let memmap = match optimize_for {
OptimizeFor::Cpu => None,
OptimizeFor::Memory => make_memmapped_cache(path, num_nodes, ident).ok(),
};
memmap.map(Either::Right).unwrap_or_else(|| {
Either::Left(make_memory_cache(num_nodes, ident))
})
}
#[derive(Clone)]
pub struct NodeCacheBuilder {
// TODO: Remove this locking and just use an `Rc`?
seedhash: Arc<Mutex<SeedHashCompute>>,
optimize_for: OptimizeFor,
}
// TODO: Abstract the "optimize for" logic
pub struct NodeCache {
builder: NodeCacheBuilder,
cache_dir: Cow<'static, Path>,
cache_path: PathBuf,
epoch: u64,
cache: Cache,
}
impl NodeCacheBuilder {
pub fn light(&self, cache_dir: &Path, block_number: u64) -> Light {
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)
}
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(),
}
}
fn block_number_to_ident(&self, block_number: u64) -> H256 {
self.seedhash.lock().hash_block_number(block_number)
}
fn epoch_to_ident(&self, epoch: u64) -> H256 {
self.seedhash.lock().hash_epoch(epoch)
}
pub fn from_file<P: Into<Cow<'static, Path>>>(
&self,
cache_dir: P,
block_number: u64,
) -> io::Result<NodeCache> {
let cache_dir = cache_dir.into();
let ident = self.block_number_to_ident(block_number);
let path = cache_path(cache_dir.as_ref(), &ident);
let cache = cache_from_path(&path, self.optimize_for)?;
let expected_cache_size = get_cache_size(block_number);
if byte_size(&cache) == expected_cache_size {
Ok(NodeCache {
builder: self.clone(),
epoch: epoch(block_number),
cache_dir: cache_dir,
cache_path: path,
cache: cache,
})
} else {
Err(io::Error::new(
io::ErrorKind::InvalidData,
"Node cache is of incorrect size",
))
}
}
pub fn new_cache<P: Into<Cow<'static, Path>>>(
&self,
cache_dir: P,
block_number: u64,
) -> NodeCache {
let cache_dir = cache_dir.into();
let ident = self.block_number_to_ident(block_number);
let cache_size = get_cache_size(block_number);
// We use `debug_assert` since it is impossible for `get_cache_size` to return an unaligned
// value with the current implementation. If the implementation changes, CI will catch it.
debug_assert!(cache_size % NODE_BYTES == 0, "Unaligned cache size");
let num_nodes = cache_size / NODE_BYTES;
let path = cache_path(cache_dir.as_ref(), &ident);
let nodes = new_buffer(&path, num_nodes, &ident, self.optimize_for);
NodeCache {
builder: self.clone(),
epoch: epoch(block_number),
cache_dir: cache_dir.into(),
cache_path: path,
cache: nodes,
}
}
}
impl NodeCache {
pub fn cache_path(&self) -> &Path {
&self.cache_path
}
pub fn flush(&mut self) -> io::Result<()> {
if let Some(last) = self.epoch.checked_sub(2).map(|ep| {
cache_path(self.cache_dir.as_ref(), &self.builder.epoch_to_ident(ep))
})
{
fs::remove_file(last).unwrap_or_else(|error| match error.kind() {
io::ErrorKind::NotFound => (),
_ => warn!("Error removing stale DAG cache: {:?}", error),
});
}
consume_cache(&mut self.cache, &self.cache_path)
}
}
fn make_memmapped_cache(path: &Path, num_nodes: usize, ident: &H256) -> io::Result<MmapMut> {
use std::fs::OpenOptions;
let file = OpenOptions::new()
.read(true)
.write(true)
.create(true)
.open(&path)?;
file.set_len((num_nodes * NODE_BYTES) as _)?;
let mut memmap = unsafe { MmapMut::map_mut(&file)? };
unsafe { initialize_memory(memmap.as_mut_ptr() as *mut Node, num_nodes, ident) };
Ok(memmap)
}
fn make_memory_cache(num_nodes: usize, ident: &H256) -> Vec<Node> {
let mut nodes: Vec<Node> = Vec::with_capacity(num_nodes);
// Use uninit instead of unnecessarily writing `size_of::<Node>() * num_nodes` 0s
unsafe {
initialize_memory(nodes.as_mut_ptr(), num_nodes, ident);
nodes.set_len(num_nodes);
}
nodes
}
fn cache_path<'a, P: Into<Cow<'a, Path>>>(path: P, ident: &H256) -> PathBuf {
let mut buf = path.into().into_owned();
buf.push(to_hex(ident));
buf
}
fn consume_cache(cache: &mut Cache, path: &Path) -> io::Result<()> {
use std::fs::OpenOptions;
match *cache {
Either::Left(ref mut vec) => {
let mut file = OpenOptions::new()
.read(true)
.write(true)
.create(true)
.open(&path)?;
let buf = unsafe {
slice::from_raw_parts_mut(vec.as_mut_ptr() as *mut u8, vec.len() * NODE_BYTES)
};
file.write_all(buf).map(|_| ())
}
Either::Right(ref mmap) => {
mmap.flush()
}
}
}
fn cache_from_path(path: &Path, optimize_for: OptimizeFor) -> io::Result<Cache> {
let memmap = match optimize_for {
OptimizeFor::Cpu => None,
OptimizeFor::Memory => {
let file = fs::OpenOptions::new().read(true).write(true).create(true).open(path)?;
unsafe { MmapMut::map_mut(&file).ok() }
},
};
memmap.map(Either::Right).ok_or(()).or_else(|_| {
read_from_path(path).map(Either::Left)
})
}
fn read_from_path(path: &Path) -> io::Result<Vec<Node>> {
use std::fs::File;
use std::mem;
let mut file = File::open(path)?;
let mut nodes: Vec<u8> = Vec::with_capacity(file.metadata().map(|m| m.len() as _).unwrap_or(
NODE_BYTES * 1_000_000,
));
file.read_to_end(&mut nodes)?;
nodes.shrink_to_fit();
if nodes.len() % NODE_BYTES != 0 || nodes.capacity() % NODE_BYTES != 0 {
return Err(io::Error::new(
io::ErrorKind::Other,
"Node cache is not a multiple of node size",
));
}
let out: Vec<Node> = unsafe {
Vec::from_raw_parts(
nodes.as_mut_ptr() as *mut _,
nodes.len() / NODE_BYTES,
nodes.capacity() / NODE_BYTES,
)
};
mem::forget(nodes);
Ok(out)
}
impl AsRef<[Node]> for NodeCache {
fn as_ref(&self) -> &[Node] {
match self.cache {
Either::Left(ref vec) => vec,
Either::Right(ref mmap) => unsafe {
let bytes = mmap.as_ptr();
// This isn't a safety issue, so we can keep this a debug lint. We don't care about
// people manually messing with the files unless it can cause unsafety, but if we're
// generating incorrect files then we want to catch that in CI.
debug_assert_eq!(mmap.len() % NODE_BYTES, 0);
slice::from_raw_parts(bytes as _, mmap.len() / NODE_BYTES)
},
}
}
}
// This takes a raw pointer and a counter because `memory` may be uninitialized. `memory` _must_ be
// a pointer to the beginning of an allocated but possibly-uninitialized block of
// `num_nodes * NODE_BYTES` bytes
//
// We have to use raw pointers to read/write uninit, using "normal" indexing causes LLVM to freak
// 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) {
let dst = memory as *mut u8;
debug_assert_eq!(ident.len(), 32);
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 = 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;
let idx = nodes.get_unchecked_mut(i).as_words()[0] as usize % num_nodes;
let data = {
let mut data: Node = nodes.get_unchecked(data_idx).clone();
let rhs: &Node = nodes.get_unchecked(idx);
unroll! {
for w in 0..8 {
*data.as_dwords_mut().get_unchecked_mut(w) ^=
*rhs.as_dwords().get_unchecked(w);
}
}
data
};
keccak_512::write(&data.bytes, &mut nodes.get_unchecked_mut(i).bytes);
}
}
}

View File

@@ -1,4 +1,4 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Parity is free software: you can redistribute it and/or modify
@@ -19,30 +19,15 @@
// TODO: fix endianess for big endian
use primal::is_prime;
use std::cell::Cell;
use std::mem;
use std::ptr;
use sha3;
use std::slice;
use std::path::PathBuf;
use std::io::{self, Read, Write};
use std::fs::{self, File};
use keccak::{keccak_512, keccak_256, H256};
use cache::{NodeCache, NodeCacheBuilder};
use seed_compute::SeedHashCompute;
use shared::*;
use std::io;
use parking_lot::Mutex;
use std::{mem, ptr};
use std::path::Path;
pub const ETHASH_EPOCH_LENGTH: u64 = 30000;
pub const ETHASH_CACHE_ROUNDS: usize = 3;
pub const ETHASH_MIX_BYTES: usize = 128;
pub const ETHASH_ACCESSES: usize = 64;
pub const ETHASH_DATASET_PARENTS: u32 = 256;
const DATASET_BYTES_INIT: u64 = 1 << 30;
const DATASET_BYTES_GROWTH: u64 = 1 << 23;
const CACHE_BYTES_INIT: u64 = 1 << 24;
const CACHE_BYTES_GROWTH: u64 = 1 << 17;
const NODE_WORDS: usize = 64 / 4;
const NODE_BYTES: usize = 64;
const MIX_WORDS: usize = ETHASH_MIX_BYTES / 4;
const MIX_NODES: usize = MIX_WORDS / NODE_WORDS;
const FNV_PRIME: u32 = 0x01000193;
@@ -55,47 +40,24 @@ pub struct ProofOfWork {
pub mix_hash: H256,
}
struct Node {
bytes: [u8; NODE_BYTES],
}
impl Default for Node {
fn default() -> Self {
Node { bytes: [0u8; NODE_BYTES] }
}
}
impl Clone for Node {
fn clone(&self) -> Self {
Node { bytes: *&self.bytes }
}
}
impl Node {
#[inline]
fn as_words(&self) -> &[u32; NODE_WORDS] {
unsafe { mem::transmute(&self.bytes) }
}
#[inline]
fn as_words_mut(&mut self) -> &mut [u32; NODE_WORDS] {
unsafe { mem::transmute(&mut self.bytes) }
}
}
pub type H256 = [u8; 32];
pub struct Light {
block_number: u64,
cache: Vec<Node>,
seed_compute: Mutex<SeedHashCompute>,
cache: NodeCache,
}
/// Light cache structur
/// Light cache structure
impl Light {
/// Create a new light cache for a given block number
pub fn new(block_number: u64) -> Light {
light_new(block_number)
pub fn new_with_builder(
builder: &NodeCacheBuilder,
cache_dir: &Path,
block_number: u64,
) -> Self {
let cache = builder.new_cache(cache_dir.to_path_buf(), block_number);
Light {
block_number: block_number,
cache: cache,
}
}
/// Calculate the light boundary data
@@ -105,124 +67,32 @@ impl Light {
light_compute(self, header_hash, nonce)
}
pub fn file_path(seed_hash: H256) -> PathBuf {
let mut home = ::std::env::home_dir().unwrap();
home.push(".ethash");
home.push("light");
home.push(to_hex(&seed_hash));
home
}
pub fn from_file(block_number: u64) -> io::Result<Light> {
let seed_compute = SeedHashCompute::new();
let path = Light::file_path(seed_compute.get_seedhash(block_number));
let mut file = try!(File::open(path));
let cache_size = get_cache_size(block_number);
if try!(file.metadata()).len() != cache_size as u64 {
return Err(io::Error::new(io::ErrorKind::Other, "Cache file size mismatch"));
}
let num_nodes = cache_size / NODE_BYTES;
let mut nodes: Vec<Node> = Vec::new();
nodes.resize(num_nodes, unsafe { mem::uninitialized() });
let buf = unsafe { slice::from_raw_parts_mut(nodes.as_mut_ptr() as *mut u8, cache_size) };
try!(file.read_exact(buf));
pub fn from_file_with_builder(
builder: &NodeCacheBuilder,
cache_dir: &Path,
block_number: u64,
) -> io::Result<Self> {
let cache = builder.from_file(cache_dir.to_path_buf(), block_number)?;
Ok(Light {
cache: nodes,
block_number: block_number,
seed_compute: Mutex::new(seed_compute),
cache: cache,
})
}
pub fn to_file(&self) -> io::Result<()> {
let seed_compute = self.seed_compute.lock();
let path = Light::file_path(seed_compute.get_seedhash(self.block_number));
try!(fs::create_dir_all(path.parent().unwrap()));
let mut file = try!(File::create(path));
let cache_size = self.cache.len() * NODE_BYTES;
let buf = unsafe { slice::from_raw_parts(self.cache.as_ptr() as *const u8, cache_size) };
try!(file.write(buf));
Ok(())
pub fn to_file(&mut self) -> io::Result<&Path> {
self.cache.flush()?;
Ok(self.cache.cache_path())
}
}
pub struct SeedHashCompute {
prev_epoch: Cell<u64>,
prev_seedhash: Cell<H256>,
pub fn slow_hash_block_number(block_number: u64) -> H256 {
SeedHashCompute::resume_compute_seedhash([0u8; 32], 0, block_number / ETHASH_EPOCH_LENGTH)
}
impl SeedHashCompute {
#[inline]
pub fn new() -> SeedHashCompute {
SeedHashCompute {
prev_epoch: Cell::new(0),
prev_seedhash: Cell::new([0u8; 32]),
}
}
#[inline]
fn reset_cache(&self) {
self.prev_epoch.set(0);
self.prev_seedhash.set([0u8; 32]);
}
#[inline]
pub fn get_seedhash(&self, block_number: u64) -> H256 {
let epoch = block_number / ETHASH_EPOCH_LENGTH;
if epoch < self.prev_epoch.get() {
// can't build on previous hash if requesting an older block
self.reset_cache();
}
if epoch > self.prev_epoch.get() {
let seed_hash = SeedHashCompute::resume_compute_seedhash(self.prev_seedhash.get(), self.prev_epoch.get(), epoch);
self.prev_seedhash.set(seed_hash);
self.prev_epoch.set(epoch);
}
self.prev_seedhash.get()
}
#[inline]
pub fn resume_compute_seedhash(mut hash: H256, start_epoch: u64, end_epoch: u64) -> H256 {
for _ in start_epoch..end_epoch {
unsafe { sha3::sha3_256(hash[..].as_mut_ptr(), 32, hash[..].as_ptr(), 32) };
}
hash
}
}
#[inline]
fn fnv_hash(x: u32, y: u32) -> u32 {
return x.wrapping_mul(FNV_PRIME) ^ y;
}
#[inline]
fn sha3_512(input: &[u8], output: &mut [u8]) {
unsafe { sha3::sha3_512(output.as_mut_ptr(), output.len(), input.as_ptr(), input.len()) };
}
#[inline]
fn get_cache_size(block_number: u64) -> usize {
let mut sz: u64 = CACHE_BYTES_INIT + CACHE_BYTES_GROWTH * (block_number / ETHASH_EPOCH_LENGTH);
sz = sz - NODE_BYTES as u64;
while !is_prime(sz / NODE_BYTES as u64) {
sz = sz - 2 * NODE_BYTES as u64;
}
sz as usize
}
#[inline]
fn get_data_size(block_number: u64) -> usize {
let mut sz: u64 = DATASET_BYTES_INIT + DATASET_BYTES_GROWTH * (block_number / ETHASH_EPOCH_LENGTH);
sz = sz - ETHASH_MIX_BYTES as u64;
while !is_prime(sz / ETHASH_MIX_BYTES as u64) {
sz = sz - 2 * ETHASH_MIX_BYTES as u64;
}
sz as usize
}
/// Difficulty quick check for POW preverification
///
/// `header_hash` The hash of the header
@@ -230,17 +100,27 @@ fn get_data_size(block_number: u64) -> usize {
/// `mix_hash` The mix digest hash
/// Boundary recovered from mix hash
pub fn quick_get_difficulty(header_hash: &H256, nonce: u64, mix_hash: &H256) -> H256 {
let mut buf = [0u8; 64 + 32];
unsafe { ptr::copy_nonoverlapping(header_hash.as_ptr(), buf.as_mut_ptr(), 32) };
unsafe { ptr::copy_nonoverlapping(mem::transmute(&nonce), buf[32..].as_mut_ptr(), 8) };
unsafe {
// 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();
unsafe { sha3::sha3_512(buf.as_mut_ptr(), 64, buf.as_ptr(), 40) };
unsafe { ptr::copy_nonoverlapping(mix_hash.as_ptr(), buf[64..].as_mut_ptr(), 32) };
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);
let mut hash = [0u8; 32];
unsafe { sha3::sha3_256(hash.as_mut_ptr(), hash.len(), buf.as_ptr(), buf.len()) };
hash.as_mut_ptr();
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);
// 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
}
}
/// Calculate the light client data
@@ -253,205 +133,284 @@ pub fn light_compute(light: &Light, header_hash: &H256, nonce: u64) -> ProofOfWo
}
fn hash_compute(light: &Light, full_size: usize, header_hash: &H256, nonce: u64) -> ProofOfWork {
macro_rules! make_const_array {
($n:expr, $value:expr) => {{
// We use explicit lifetimes to ensure that val's borrow is invalidated until the
// transmuted val dies.
unsafe fn make_const_array<T, U>(val: &mut [T]) -> &mut [U; $n] {
use ::std::mem;
debug_assert_eq!(val.len() * mem::size_of::<T>(), $n * mem::size_of::<U>());
&mut *(val.as_mut_ptr() as *mut [U; $n])
}
make_const_array($value)
}}
}
#[repr(C)]
struct MixBuf {
half_mix: Node,
compress_bytes: [u8; MIX_WORDS],
};
if full_size % MIX_WORDS != 0 {
panic!("Unaligned full size");
}
// pack hash and nonce together into first 40 bytes of s_mix
let mut s_mix: [Node; MIX_NODES + 1] = [Node::default(), Node::default(), Node::default()];
unsafe { ptr::copy_nonoverlapping(header_hash.as_ptr(), s_mix.get_unchecked_mut(0).bytes.as_mut_ptr(), 32) };
unsafe { ptr::copy_nonoverlapping(mem::transmute(&nonce), s_mix.get_unchecked_mut(0).bytes[32..].as_mut_ptr(), 8) };
// compute sha3-512 hash and replicate across mix
unsafe {
sha3::sha3_512(s_mix.get_unchecked_mut(0).bytes.as_mut_ptr(), NODE_BYTES, s_mix.get_unchecked(0).bytes.as_ptr(), 40);
let (f_mix, mut mix) = s_mix.split_at_mut(1);
for w in 0..MIX_WORDS {
*mix.get_unchecked_mut(0).as_words_mut().get_unchecked_mut(w) = *f_mix.get_unchecked(0).as_words().get_unchecked(w % NODE_WORDS);
}
// You may be asking yourself: what in the name of Crypto Jesus is going on here? So: we need
// `half_mix` and `compress_bytes` in a single array later down in the code (we hash them
// together to create `value`) so that we can hash the full array. However, we do a bunch of
// reading and writing to these variables first. We originally allocated two arrays and then
// stuck them together with `ptr::copy_nonoverlapping` at the end, but this method is
// _significantly_ faster - by my benchmarks, a consistent 3-5%. This is the most ridiculous
// optimization I have ever done and I am so sorry. I can only chalk it up to cache locality
// 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: unsafe {
// Pack `header_hash` and `nonce` together
// 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 page_size = 4 * MIX_WORDS;
let num_full_pages = (full_size / page_size) as u32;
let cache: &[Node] = &light.cache; // deref once for better performance
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>(),
);
for i in 0..(ETHASH_ACCESSES as u32) {
let index = fnv_hash(f_mix.get_unchecked(0).as_words().get_unchecked(0) ^ i, *mix.get_unchecked(0).as_words().get_unchecked((i as usize) % MIX_WORDS)) % num_full_pages;
for n in 0..MIX_NODES {
let tmp_node = calculate_dag_item(index * MIX_NODES as u32 + n as u32, cache);
for w in 0..NODE_WORDS {
*mix.get_unchecked_mut(n).as_words_mut().get_unchecked_mut(w) = fnv_hash(*mix.get_unchecked(n).as_words().get_unchecked(w), *tmp_node.as_words().get_unchecked(w));
// compute keccak-512 hash and replicate across mix
keccak_512::unchecked(
out.as_mut_ptr(),
NODE_BYTES,
out.as_ptr(),
header_hash.len() + mem::size_of::<u64>(),
);
Node { bytes: out }
},
// 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()];
let page_size = 4 * MIX_WORDS;
let num_full_pages = (full_size / page_size) as u32;
// deref once for better performance
let cache: &[Node] = light.cache.as_ref();
let first_val = buf.half_mix.as_words()[0];
debug_assert_eq!(MIX_NODES, 2);
debug_assert_eq!(NODE_WORDS, 16);
for i in 0..ETHASH_ACCESSES as u32 {
let index = {
// This is trivially safe, but does not work on big-endian. The safety of this is
// asserted in debug builds (see the definition of `make_const_array!`).
let mix_words: &mut [u32; MIX_WORDS] =
unsafe { make_const_array!(MIX_WORDS, &mut mix) };
fnv_hash(first_val ^ i, mix_words[i as usize % MIX_WORDS]) % num_full_pages
};
unroll! {
// MIX_NODES
for n in 0..2 {
let tmp_node = calculate_dag_item(
index * MIX_NODES as u32 + n as u32,
cache,
);
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],
);
}
}
}
}
}
// compress mix
for i in 0..(MIX_WORDS / 4) {
let w = i * 4;
let mut reduction = *mix.get_unchecked(0).as_words().get_unchecked(w + 0);
reduction = reduction.wrapping_mul(FNV_PRIME) ^ *mix.get_unchecked(0).as_words().get_unchecked(w + 1);
reduction = reduction.wrapping_mul(FNV_PRIME) ^ *mix.get_unchecked(0).as_words().get_unchecked(w + 2);
reduction = reduction.wrapping_mul(FNV_PRIME) ^ *mix.get_unchecked(0).as_words().get_unchecked(w + 3);
*mix.get_unchecked_mut(0).as_words_mut().get_unchecked_mut(i) = reduction;
}
let mix_words: [u32; MIX_WORDS] = unsafe { mem::transmute(mix) };
let mut mix_hash = [0u8; 32];
let mut buf = [0u8; 32 + 64];
ptr::copy_nonoverlapping(f_mix.get_unchecked_mut(0).bytes.as_ptr(), buf.as_mut_ptr(), 64);
ptr::copy_nonoverlapping(mix.get_unchecked_mut(0).bytes.as_ptr(), buf[64..].as_mut_ptr(), 32);
ptr::copy_nonoverlapping(mix.get_unchecked_mut(0).bytes.as_ptr(), mix_hash.as_mut_ptr(), 32);
let mut value: H256 = [0u8; 32];
sha3::sha3_256(value.as_mut_ptr(), value.len(), buf.as_ptr(), buf.len());
ProofOfWork {
mix_hash: mix_hash,
value: value,
{
// 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) };
// Compress mix
debug_assert_eq!(MIX_WORDS / 4, 8);
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 mix_hash = buf.compress_bytes;
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;
// 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(),
);
}
buf.compress_bytes
};
ProofOfWork { mix_hash: mix_hash, value: value }
}
// TODO: Use the `simd` crate
fn calculate_dag_item(node_index: u32, cache: &[Node]) -> Node {
unsafe {
let num_parent_nodes = cache.len();
let init = cache.get_unchecked(node_index as usize % num_parent_nodes);
let mut ret = init.clone();
*ret.as_words_mut().get_unchecked_mut(0) ^= node_index;
sha3::sha3_512(ret.bytes.as_mut_ptr(), ret.bytes.len(), ret.bytes.as_ptr(), ret.bytes.len());
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;
for i in 0..ETHASH_DATASET_PARENTS {
let parent_index = fnv_hash(node_index ^ i, *ret.as_words().get_unchecked(i as usize % NODE_WORDS)) % num_parent_nodes as u32;
let parent = cache.get_unchecked(parent_index as usize);
for w in 0..NODE_WORDS {
*ret.as_words_mut().get_unchecked_mut(w) = fnv_hash(*ret.as_words().get_unchecked(w), *parent.as_words().get_unchecked(w));
}
}
sha3::sha3_512(ret.bytes.as_mut_ptr(), ret.bytes.len(), ret.bytes.as_ptr(), ret.bytes.len());
ret
}
}
keccak_512::inplace(ret.as_bytes_mut());
fn light_new(block_number: u64) -> Light {
debug_assert_eq!(NODE_WORDS, 16);
for i in 0..ETHASH_DATASET_PARENTS as u32 {
let parent_index = fnv_hash(node_index ^ i, ret.as_words()[i as usize % NODE_WORDS]) %
num_parent_nodes as u32;
let parent = &cache[parent_index as usize];
let seed_compute = SeedHashCompute::new();
let seedhash = seed_compute.get_seedhash(block_number);
let cache_size = get_cache_size(block_number);
if cache_size % NODE_BYTES != 0 {
panic!("Unaligned cache size");
}
let num_nodes = cache_size / NODE_BYTES;
let mut nodes = Vec::with_capacity(num_nodes);
nodes.resize(num_nodes, Node::default());
unsafe {
sha3_512(&seedhash[0..32], &mut nodes.get_unchecked_mut(0).bytes);
for i in 1..num_nodes {
sha3::sha3_512(nodes.get_unchecked_mut(i).bytes.as_mut_ptr(), NODE_BYTES, nodes.get_unchecked(i - 1).bytes.as_ptr(), NODE_BYTES);
}
for _ in 0..ETHASH_CACHE_ROUNDS {
for i in 0..num_nodes {
let idx = *nodes.get_unchecked_mut(i).as_words().get_unchecked(0) as usize % num_nodes;
let mut data = nodes.get_unchecked((num_nodes - 1 + i) % num_nodes).clone();
for w in 0..NODE_WORDS {
*data.as_words_mut().get_unchecked_mut(w) ^= *nodes.get_unchecked(idx).as_words().get_unchecked(w);
}
sha3_512(&data.bytes, &mut nodes.get_unchecked_mut(i).bytes);
unroll! {
for w in 0..16 {
ret.as_words_mut()[w] = fnv_hash(ret.as_words()[w], parent.as_words()[w]);
}
}
}
Light {
cache: nodes,
block_number: block_number,
seed_compute: Mutex::new(seed_compute),
}
keccak_512::inplace(ret.as_bytes_mut());
ret
}
static CHARS: &'static [u8] = b"0123456789abcdef";
fn to_hex(bytes: &[u8]) -> String {
let mut v = Vec::with_capacity(bytes.len() * 2);
for &byte in bytes.iter() {
v.push(CHARS[(byte >> 4) as usize]);
v.push(CHARS[(byte & 0xf) as usize]);
#[cfg(test)]
mod test {
use super::*;
use std::fs;
use tempdir::TempDir;
#[test]
fn test_get_cache_size() {
// https://github.com/ethereum/wiki/wiki/Ethash/ef6b93f9596746a088ea95d01ca2778be43ae68f#data-sizes
assert_eq!(16776896usize, get_cache_size(0));
assert_eq!(16776896usize, get_cache_size(1));
assert_eq!(16776896usize, get_cache_size(ETHASH_EPOCH_LENGTH - 1));
assert_eq!(16907456usize, get_cache_size(ETHASH_EPOCH_LENGTH));
assert_eq!(16907456usize, get_cache_size(ETHASH_EPOCH_LENGTH + 1));
assert_eq!(284950208usize, get_cache_size(2046 * ETHASH_EPOCH_LENGTH));
assert_eq!(285081536usize, get_cache_size(2047 * ETHASH_EPOCH_LENGTH));
assert_eq!(285081536usize, get_cache_size(2048 * ETHASH_EPOCH_LENGTH - 1));
}
unsafe { String::from_utf8_unchecked(v) }
}
#[test]
fn test_get_data_size() {
// https://github.com/ethereum/wiki/wiki/Ethash/ef6b93f9596746a088ea95d01ca2778be43ae68f#data-sizes
assert_eq!(1073739904usize, get_data_size(0));
assert_eq!(1073739904usize, get_data_size(1));
assert_eq!(1073739904usize, get_data_size(ETHASH_EPOCH_LENGTH - 1));
assert_eq!(1082130304usize, get_data_size(ETHASH_EPOCH_LENGTH));
assert_eq!(1082130304usize, get_data_size(ETHASH_EPOCH_LENGTH + 1));
assert_eq!(18236833408usize, get_data_size(2046 * ETHASH_EPOCH_LENGTH));
assert_eq!(18245220736usize, get_data_size(2047 * ETHASH_EPOCH_LENGTH));
}
#[test]
fn test_get_cache_size() {
// https://github.com/ethereum/wiki/wiki/Ethash/ef6b93f9596746a088ea95d01ca2778be43ae68f#data-sizes
assert_eq!(16776896usize, get_cache_size(0));
assert_eq!(16776896usize, get_cache_size(1));
assert_eq!(16776896usize, get_cache_size(ETHASH_EPOCH_LENGTH - 1));
assert_eq!(16907456usize, get_cache_size(ETHASH_EPOCH_LENGTH));
assert_eq!(16907456usize, get_cache_size(ETHASH_EPOCH_LENGTH + 1));
assert_eq!(284950208usize, get_cache_size(2046 * ETHASH_EPOCH_LENGTH));
assert_eq!(285081536usize, get_cache_size(2047 * ETHASH_EPOCH_LENGTH));
assert_eq!(285081536usize, get_cache_size(2048 * ETHASH_EPOCH_LENGTH - 1));
}
#[test]
fn test_difficulty_test() {
let hash = [
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,
];
let mix_hash = [
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,
];
let nonce = 0xd7b3ac70a301a249;
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!(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)[..] != boundary_bad[..]);
}
#[test]
fn test_get_data_size() {
// https://github.com/ethereum/wiki/wiki/Ethash/ef6b93f9596746a088ea95d01ca2778be43ae68f#data-sizes
assert_eq!(1073739904usize, get_data_size(0));
assert_eq!(1073739904usize, get_data_size(1));
assert_eq!(1073739904usize, get_data_size(ETHASH_EPOCH_LENGTH - 1));
assert_eq!(1082130304usize, get_data_size(ETHASH_EPOCH_LENGTH));
assert_eq!(1082130304usize, get_data_size(ETHASH_EPOCH_LENGTH + 1));
assert_eq!(18236833408usize, get_data_size(2046 * ETHASH_EPOCH_LENGTH));
assert_eq!(18245220736usize, get_data_size(2047 * ETHASH_EPOCH_LENGTH));
}
#[test]
fn test_light_compute() {
let hash = [
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,
];
let mix_hash = [
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,
];
let boundary = [
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,
];
let nonce = 0xd7b3ac70a301a249;
#[test]
fn test_difficulty_test() {
let hash = [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];
let mix_hash = [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];
let nonce = 0xd7b3ac70a301a249;
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!(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)[..] != boundary_bad[..]);
}
let tempdir = TempDir::new("").unwrap();
// difficulty = 0x085657254bd9u64;
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[..]);
}
#[test]
fn test_light_compute() {
let hash = [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];
let mix_hash = [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];
let boundary = [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];
let nonce = 0xd7b3ac70a301a249;
// difficulty = 0x085657254bd9u64;
let light = Light::new(486382);
let result = light_compute(&light, &hash, nonce);
assert_eq!(result.mix_hash[..], mix_hash[..]);
assert_eq!(result.value[..], boundary[..]);
}
#[test]
fn test_drop_old_data() {
let tempdir = TempDir::new("").unwrap();
let builder = NodeCacheBuilder::new(None);
let first = builder.light(tempdir.path(), 0).to_file().unwrap().to_owned();
#[test]
fn test_seed_compute_once() {
let seed_compute = SeedHashCompute::new();
let hash = [241, 175, 44, 134, 39, 121, 245, 239, 228, 236, 43, 160, 195, 152, 46, 7, 199, 5, 253, 147, 241, 206, 98, 43, 3, 104, 17, 40, 192, 79, 106, 162];
assert_eq!(seed_compute.get_seedhash(486382), hash);
}
let second = builder.light(tempdir.path(), ETHASH_EPOCH_LENGTH).to_file().unwrap().to_owned();
assert!(fs::metadata(&first).is_ok());
#[test]
fn test_seed_compute_zero() {
let seed_compute = SeedHashCompute::new();
assert_eq!(seed_compute.get_seedhash(0), [0u8; 32]);
}
let _ = builder.light(tempdir.path(), ETHASH_EPOCH_LENGTH * 2).to_file();
assert!(fs::metadata(&first).is_err());
assert!(fs::metadata(&second).is_ok());
#[test]
fn test_seed_compute_after_older() {
let seed_compute = SeedHashCompute::new();
// calculating an older value first shouldn't affect the result
let _ = seed_compute.get_seedhash(50000);
let hash = [241, 175, 44, 134, 39, 121, 245, 239, 228, 236, 43, 160, 195, 152, 46, 7, 199, 5, 253, 147, 241, 206, 98, 43, 3, 104, 17, 40, 192, 79, 106, 162];
assert_eq!(seed_compute.get_seedhash(486382), hash);
}
#[test]
fn test_seed_compute_after_newer() {
let seed_compute = SeedHashCompute::new();
// calculating an newer value first shouldn't affect the result
let _ = seed_compute.get_seedhash(972764);
let hash = [241, 175, 44, 134, 39, 121, 245, 239, 228, 236, 43, 160, 195, 152, 46, 7, 199, 5, 253, 147, 241, 206, 98, 43, 3, 104, 17, 40, 192, 79, 106, 162];
assert_eq!(seed_compute.get_seedhash(486382), hash);
let _ = builder.light(tempdir.path(), ETHASH_EPOCH_LENGTH * 3).to_file();
assert!(fs::metadata(&second).is_err());
}
}

56
ethash/src/keccak.rs Normal file
View File

@@ -0,0 +1,56 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
extern crate keccak_hash as hash;
pub type H256 = [u8; 32];
pub mod keccak_512 {
use super::hash;
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_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,4 +1,4 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Parity is free software: you can redistribute it and/or modify
@@ -14,22 +14,40 @@
// You should have received a copy of the GNU General Public License
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
//! Ethash implementation
//! See https://github.com/ethereum/wiki/wiki/Ethash
extern crate primal;
extern crate sha3;
#![cfg_attr(feature = "benches", feature(test))]
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;
mod compute;
use std::mem;
#[cfg(test)]
extern crate tempdir;
mod compute;
mod seed_compute;
mod cache;
mod keccak;
mod shared;
pub use cache::{NodeCacheBuilder, OptimizeFor};
pub use compute::{ProofOfWork, quick_get_difficulty, slow_hash_block_number};
use compute::Light;
pub use compute::{ETHASH_EPOCH_LENGTH, H256, ProofOfWork, SeedHashCompute, quick_get_difficulty};
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::sync::Arc;
use parking_lot::Mutex;
struct LightCache {
recent_epoch: Option<u64>,
@@ -40,13 +58,17 @@ struct LightCache {
/// Light/Full cache manager.
pub struct EthashManager {
nodecache_builder: NodeCacheBuilder,
cache: Mutex<LightCache>,
cache_dir: PathBuf,
}
impl EthashManager {
/// Create a new new instance of ethash manager
pub fn new() -> 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()),
cache: Mutex::new(LightCache {
recent_epoch: None,
recent: None,
@@ -69,25 +91,36 @@ impl EthashManager {
Some(ref e) if *e == epoch => lights.recent.clone(),
_ => match lights.prev_epoch.clone() {
Some(e) if e == epoch => {
// 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()
// 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,
},
};
match light {
None => {
let light = match Light::from_file(block_number) {
let light = match self.nodecache_builder.light_from_file(
&self.cache_dir,
block_number,
) {
Ok(light) => Arc::new(light),
Err(e) => {
debug!("Light cache file not found for {}:{}", block_number, e);
let light = Light::new(block_number);
let mut light = self.nodecache_builder.light(
&self.cache_dir,
block_number,
);
if let Err(e) = light.to_file() {
warn!("Light cache file write error: {}", e);
}
@@ -105,9 +138,35 @@ impl EthashManager {
}
}
/// 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)
}
/// 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 {
difficulty_to_boundary_aux(difficulty).into()
}
fn difficulty_to_boundary_aux<T: Into<U512>>(difficulty: T) -> ethereum_types::U256 {
let difficulty = difficulty.into();
assert!(!difficulty.is_zero());
if difficulty == U512::one() {
U256::max_value()
} else {
// difficulty > 1, so result should never overflow 256 bits
U256::from((U512::one() << 256) / difficulty)
}
}
#[test]
fn test_lru() {
let ethash = EthashManager::new();
use tempdir::TempDir;
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);
@@ -120,3 +179,137 @@ fn test_lru() {
assert_eq!(ethash.cache.lock().recent_epoch.unwrap(), 2);
assert_eq!(ethash.cache.lock().prev_epoch.unwrap(), 0);
}
#[test]
fn test_difficulty_to_boundary() {
use ethereum_types::H256;
use std::str::FromStr;
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());
}
#[test]
fn test_difficulty_to_boundary_regression() {
use ethereum_types::H256;
// the last bit was originally being truncated when performing the conversion
// 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(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()));
}
}
#[test]
#[should_panic]
fn test_difficulty_to_boundary_panics_on_zero() {
difficulty_to_boundary(&U256::from(0));
}
#[test]
#[should_panic]
fn test_boundary_to_difficulty_panics_on_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);
});
}
}

102
ethash/src/seed_compute.rs Normal file
View File

@@ -0,0 +1,102 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
use shared;
use keccak::{keccak_256, H256};
use std::cell::Cell;
#[derive(Default)]
pub struct SeedHashCompute {
prev_epoch: Cell<u64>,
prev_seedhash: Cell<H256>,
}
impl SeedHashCompute {
#[inline]
fn reset_cache(&self) {
self.prev_epoch.set(0);
self.prev_seedhash.set([0u8; 32]);
}
#[inline]
pub fn hash_block_number(&self, block_number: u64) -> H256 {
self.hash_epoch(shared::epoch(block_number))
}
#[inline]
pub fn hash_epoch(&self, epoch: u64) -> H256 {
if epoch < self.prev_epoch.get() {
// can't build on previous hash if requesting an older block
self.reset_cache();
}
if epoch > self.prev_epoch.get() {
let seed_hash = SeedHashCompute::resume_compute_seedhash(
self.prev_seedhash.get(),
self.prev_epoch.get(),
epoch,
);
self.prev_seedhash.set(seed_hash);
self.prev_epoch.set(epoch);
}
self.prev_seedhash.get()
}
#[inline]
pub fn resume_compute_seedhash(mut hash: H256, start_epoch: u64, end_epoch: u64) -> H256 {
for _ in start_epoch..end_epoch {
keccak_256::inplace(&mut hash);
}
hash
}
}
#[cfg(test)]
mod tests {
use super::SeedHashCompute;
#[test]
fn test_seed_compute_once() {
let seed_compute = SeedHashCompute::default();
let hash = [241, 175, 44, 134, 39, 121, 245, 239, 228, 236, 43, 160, 195, 152, 46, 7, 199, 5, 253, 147, 241, 206, 98, 43, 3, 104, 17, 40, 192, 79, 106, 162];
assert_eq!(seed_compute.hash_block_number(486382), hash);
}
#[test]
fn test_seed_compute_zero() {
let seed_compute = SeedHashCompute::default();
assert_eq!(seed_compute.hash_block_number(0), [0u8; 32]);
}
#[test]
fn test_seed_compute_after_older() {
let seed_compute = SeedHashCompute::default();
// calculating an older value first shouldn't affect the result
let _ = seed_compute.hash_block_number(50000);
let hash = [241, 175, 44, 134, 39, 121, 245, 239, 228, 236, 43, 160, 195, 152, 46, 7, 199, 5, 253, 147, 241, 206, 98, 43, 3, 104, 17, 40, 192, 79, 106, 162];
assert_eq!(seed_compute.hash_block_number(486382), hash);
}
#[test]
fn test_seed_compute_after_newer() {
let seed_compute = SeedHashCompute::default();
// calculating an newer value first shouldn't affect the result
let _ = seed_compute.hash_block_number(972764);
let hash = [241, 175, 44, 134, 39, 121, 245, 239, 228, 236, 43, 160, 195, 152, 46, 7, 199, 5, 253, 147, 241, 206, 98, 43, 3, 104, 17, 40, 192, 79, 106, 162];
assert_eq!(seed_compute.hash_block_number(486382), hash);
}
}

149
ethash/src/shared.rs Normal file
View File

@@ -0,0 +1,149 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
use primal::is_prime;
pub const DATASET_BYTES_INIT: u64 = 1 << 30;
pub const DATASET_BYTES_GROWTH: u64 = 1 << 23;
pub const CACHE_BYTES_INIT: u64 = 1 << 24;
pub const CACHE_BYTES_GROWTH: u64 = 1 << 17;
pub const ETHASH_EPOCH_LENGTH: u64 = 30000;
pub const ETHASH_CACHE_ROUNDS: usize = 3;
pub const ETHASH_MIX_BYTES: usize = 128;
pub const ETHASH_ACCESSES: usize = 64;
pub const ETHASH_DATASET_PARENTS: u32 = 256;
pub const NODE_DWORDS: usize = NODE_WORDS / 2;
pub const NODE_WORDS: usize = NODE_BYTES / 4;
pub const NODE_BYTES: usize = 64;
pub fn epoch(block_number: u64) -> u64 {
block_number / ETHASH_EPOCH_LENGTH
}
static CHARS: &'static [u8] = b"0123456789abcdef";
pub fn to_hex(bytes: &[u8]) -> String {
let mut v = Vec::with_capacity(bytes.len() * 2);
for &byte in bytes.iter() {
v.push(CHARS[(byte >> 4) as usize]);
v.push(CHARS[(byte & 0xf) as usize]);
}
unsafe { String::from_utf8_unchecked(v) }
}
pub fn get_cache_size(block_number: u64) -> usize {
// TODO: Memoise
let mut sz: u64 = CACHE_BYTES_INIT + CACHE_BYTES_GROWTH * (block_number / ETHASH_EPOCH_LENGTH);
sz = sz - NODE_BYTES as u64;
while !is_prime(sz / NODE_BYTES as u64) {
sz = sz - 2 * NODE_BYTES as u64;
}
sz as usize
}
pub fn get_data_size(block_number: u64) -> usize {
// TODO: Memoise
let mut sz: u64 = DATASET_BYTES_INIT + DATASET_BYTES_GROWTH * (block_number / ETHASH_EPOCH_LENGTH);
sz = sz - ETHASH_MIX_BYTES as u64;
while !is_prime(sz / ETHASH_MIX_BYTES as u64) {
sz = sz - 2 * ETHASH_MIX_BYTES as u64;
}
sz as usize
}
pub type NodeBytes = [u8; NODE_BYTES];
pub type NodeWords = [u32; NODE_WORDS];
pub type NodeDwords = [u64; NODE_DWORDS];
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 {
pub dwords: NodeDwords,
pub words: NodeWords,
pub bytes: NodeBytes,
}
impl Clone for Node {
fn clone(&self) -> Self {
unsafe { Node { bytes: *&self.bytes } }
}
}
// We use `inline(always)` because I was experiencing an 100% slowdown and `perf` showed that these
// calls were taking up ~30% of the runtime. Adding these annotations fixes the issue. Remove at
// your peril, if and only if you have benchmarks to prove that this doesn't reintroduce the
// performance regression. It's not caused by the `debug_assert_eq!` either, your guess is as good
// as mine.
impl Node {
#[inline(always)]
pub fn as_bytes(&self) -> &NodeBytes {
unsafe { &self.bytes }
}
#[inline(always)]
pub fn as_bytes_mut(&mut self) -> &mut NodeBytes {
unsafe { &mut self.bytes }
}
#[inline(always)]
pub fn as_words(&self) -> &NodeWords {
unsafe { &self.words }
}
#[inline(always)]
pub fn as_words_mut(&mut self) -> &mut NodeWords {
unsafe { &mut self.words }
}
#[inline(always)]
pub fn as_dwords(&self) -> &NodeDwords {
unsafe { &self.dwords }
}
#[inline(always)]
pub fn as_dwords_mut(&mut self) -> &mut NodeDwords {
unsafe { &mut self.dwords }
}
}

View File

@@ -1,51 +1,113 @@
[package]
description = "Ethcore library"
homepage = "http://ethcore.io"
homepage = "http://parity.io"
license = "GPL-3.0"
name = "ethcore"
version = "1.3.0"
authors = ["Ethcore <admin@ethcore.io>"]
build = "build.rs"
[build-dependencies]
"ethcore-ipc-codegen" = { path = "../ipc/codegen" }
version = "1.12.0"
authors = ["Parity Technologies <admin@parity.io>"]
[dependencies]
log = "0.3"
env_logger = "0.3"
rustc-serialize = "0.3"
heapsize = "0.3"
rust-crypto = "0.2.34"
num_cpus = "0.2"
crossbeam = "0.2.9"
lazy_static = "0.2"
bloomchain = "0.1"
rayon = "0.3.1"
semver = "0.2"
bit-set = "0.4"
time = "0.1"
evmjit = { path = "../evmjit", optional = true }
clippy = { version = "0.0.80", optional = true}
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.4"
ethash = { path = "../ethash" }
ethcore-util = { path = "../util" }
ethcore-bloom-journal = { path = "../util/bloom" }
parity-bytes = "0.1"
hashdb = "0.3.0"
memorydb = "0.3.0"
patricia-trie = "0.3.0"
patricia-trie-ethereum = { path = "../util/patricia-trie-ethereum" }
parity-crypto = "0.2"
error-chain = { version = "0.12", default-features = false }
ethcore-io = { path = "../util/io" }
ethcore-devtools = { path = "../devtools" }
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" }
ethcore-ipc = { path = "../ipc/rpc" }
ethkey = { path = "../ethkey" }
ethstore = { path = "../ethstore" }
ethcore-ipc-nano = { path = "../ipc/nano" }
rand = "0.3"
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"
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" }
journaldb = { path = "../util/journaldb" }
keccak-hasher = { path = "../util/keccak-hasher" }
kvdb-rocksdb = "0.1.3"
tempdir = {version="0.3", optional = true}
[dependencies.hyper]
git = "https://github.com/ethcore/hyper"
default-features = false
[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]
env_logger = "0.4"
tempdir = "0.3"
trie-standardmap = "0.1"
[features]
jit = ["evmjit"]
evm-debug = []
json-tests = []
parity = ["work-notify", "price-info", "stratum"]
# Large optional features that are enabled by default for Parity,
# but might be omitted for other dependent crates.
work-notify = ["ethcore-miner/work-notify"]
price-info = ["ethcore-miner/price-info"]
stratum = ["ethcore-stratum"]
# Disables seal verification for mined blocks.
# This allows you to submit any seal via RPC to test and benchmark
# how fast pending block get's created while running on the mainnet.
miner-debug = []
# Display EVM debug traces.
evm-debug = ["evm/evm-debug"]
# Display EVM debug traces when running tests.
evm-debug-tests = ["evm-debug", "evm/evm-debug-tests"]
# Measure time of transaction execution.
# Whenever the transaction execution time (in millis) exceeds the value of
# SLOW_TX_DURATION env variable (provided compile time!)
# EVM debug traces are printed.
slow-blocks = []
# Run JSON consensus tests.
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 = []
dev = ["clippy"]
default = []
# Compile benches
benches = []
ipc = []
# Compile test helpers
test-helpers = ["tempdir"]

656
ethcore/benches/builtin.rs Normal file
View File

@@ -0,0 +1,656 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
#![feature(test)]
extern crate test;
#[macro_use]
extern crate lazy_static;
extern crate ethcore;
extern crate ethereum_types;
extern crate parity_bytes as bytes;
extern crate rustc_hex;
use bytes::BytesRef;
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: EthereumMachine = new_byzantium_test_machine();
}
struct BuiltinBenchmark<'a> {
builtin: &'a Builtin,
input: Vec<u8>,
expected: Vec<u8>,
}
impl<'a> BuiltinBenchmark<'a> {
fn new(builtin_address: &'static str, input: &str, expected: &str) -> BuiltinBenchmark<'a> {
let builtins = BYZANTIUM_MACHINE.builtins();
let builtin = builtins.get(&builtin_address.into()).unwrap().clone();
let input = FromHex::from_hex(input).unwrap();
let expected = FromHex::from_hex(expected).unwrap();
BuiltinBenchmark {
builtin, input, expected
}
}
fn gas_cost(&self) -> U256 {
self.builtin.cost(&self.input)
}
fn run(&self, b: &mut Bencher) {
let mut output = vec![0; self.expected.len()];
b.iter(|| {
self.builtin.execute(&self.input, &mut BytesRef::Fixed(&mut output)).unwrap();
});
assert_eq!(self.expected[..], output[..]);
}
}
fn bench(
builtin_address: &'static str,
input: &str,
expected: &str,
b: &mut Bencher,
) {
let bench = BuiltinBenchmark::new(builtin_address, input, expected);
println!("gas cost: {}", bench.gas_cost());
bench.run(b);
}
#[bench]
fn ecrecover(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000001", // ecrecover
"38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e000000000000000000000000000000000000000000000000000000000000001b38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e789d1dd423d25f0772d2748d60f7e4b81bb14d086eba8e8e8efb6dcff8a4ae02",
"000000000000000000000000ceaccac640adf55b2028469bd36ba501f28b699d",
b,
);
}
#[bench]
fn sha256(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000002", // sha256
"38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e000000000000000000000000000000000000000000000000000000000000001b38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e789d1dd423d25f0772d2748d60f7e4b81bb14d086eba8e8e8efb6dcff8a4ae02",
"811c7003375852fabd0d362e40e68607a12bdabae61a7d068fe5fdd1dbbf2a5d",
b,
);
}
#[bench]
fn ripemd(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000003", // ripemd
"38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e000000000000000000000000000000000000000000000000000000000000001b38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e789d1dd423d25f0772d2748d60f7e4b81bb14d086eba8e8e8efb6dcff8a4ae02",
"0000000000000000000000009215b8d9882ff46f0dfde6684d78e831467f65e6",
b,
);
}
#[bench]
fn identity(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000004", // identity
"38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e000000000000000000000000000000000000000000000000000000000000001b38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e789d1dd423d25f0772d2748d60f7e4b81bb14d086eba8e8e8efb6dcff8a4ae02",
"38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e000000000000000000000000000000000000000000000000000000000000001b38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e789d1dd423d25f0772d2748d60f7e4b81bb14d086eba8e8e8efb6dcff8a4ae02",
b,
);
}
#[bench]
fn modexp_eip_example1(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000005", // modexp
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002003fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
"0000000000000000000000000000000000000000000000000000000000000001",
b,
);
}
#[bench]
fn modexp_eip_example2(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2efffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
"0000000000000000000000000000000000000000000000000000000000000000",
b,
);
}
#[bench]
fn modexp_nagydani_1_square(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040e09ad9675465c53a109fac66a445c91b292d2bb2c5268addb30cd82f80fcb0033ff97c80a5fc6f39193ae969c6ede6710a6b7ac27078a06d90ef1c72e5c85fb502fc9e1f6beb81516545975218075ec2af118cd8798df6e08a147c60fd6095ac2bb02c2908cf4dd7c81f11c289e4bce98f3553768f392a80ce22bf5c4f4a248c6b",
"60008f1614cc01dcfb6bfb09c625cf90b47d4468db81b5f8b7a39d42f332eab9b2da8f2d95311648a8f243f4bb13cfb3d8f7f2a3c014122ebb3ed41b02783adc",
b,
);
}
#[bench]
fn modexp_nagydani_1_qube(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000040e09ad9675465c53a109fac66a445c91b292d2bb2c5268addb30cd82f80fcb0033ff97c80a5fc6f39193ae969c6ede6710a6b7ac27078a06d90ef1c72e5c85fb503fc9e1f6beb81516545975218075ec2af118cd8798df6e08a147c60fd6095ac2bb02c2908cf4dd7c81f11c289e4bce98f3553768f392a80ce22bf5c4f4a248c6b",
"4834a46ba565db27903b1c720c9d593e84e4cbd6ad2e64b31885d944f68cd801f92225a8961c952ddf2797fa4701b330c85c4b363798100b921a1a22a46a7fec",
b,
);
}
#[bench]
fn modexp_nagydani_1_pow0x10001(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000040e09ad9675465c53a109fac66a445c91b292d2bb2c5268addb30cd82f80fcb0033ff97c80a5fc6f39193ae969c6ede6710a6b7ac27078a06d90ef1c72e5c85fb5010001fc9e1f6beb81516545975218075ec2af118cd8798df6e08a147c60fd6095ac2bb02c2908cf4dd7c81f11c289e4bce98f3553768f392a80ce22bf5c4f4a248c6b",
"c36d804180c35d4426b57b50c5bfcca5c01856d104564cd513b461d3c8b8409128a5573e416d0ebe38f5f736766d9dc27143e4da981dfa4d67f7dc474cbee6d2",
b,
);
}
#[bench]
fn modexp_nagydani_2_square(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080cad7d991a00047dd54d3399b6b0b937c718abddef7917c75b6681f40cc15e2be0003657d8d4c34167b2f0bbbca0ccaa407c2a6a07d50f1517a8f22979ce12a81dcaf707cc0cebfc0ce2ee84ee7f77c38b9281b9822a8d3de62784c089c9b18dcb9a2a5eecbede90ea788a862a9ddd9d609c2c52972d63e289e28f6a590ffbf5102e6d893b80aeed5e6e9ce9afa8a5d5675c93a32ac05554cb20e9951b2c140e3ef4e433068cf0fb73bc9f33af1853f64aa27a0028cbf570d7ac9048eae5dc7b28c87c31e5810f1e7fa2cda6adf9f1076dbc1ec1238560071e7efc4e9565c49be9e7656951985860a558a754594115830bcdb421f741408346dd5997bb01c287087",
"981dd99c3b113fae3e3eaa9435c0dc96779a23c12a53d1084b4f67b0b053a27560f627b873e3f16ad78f28c94f14b6392def26e4d8896c5e3c984e50fa0b3aa44f1da78b913187c6128baa9340b1e9c9a0fd02cb78885e72576da4a8f7e5a113e173a7a2889fde9d407bd9f06eb05bc8fc7b4229377a32941a02bf4edcc06d70",
b,
);
}
#[bench]
fn modexp_nagydani_2_qube(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000080cad7d991a00047dd54d3399b6b0b937c718abddef7917c75b6681f40cc15e2be0003657d8d4c34167b2f0bbbca0ccaa407c2a6a07d50f1517a8f22979ce12a81dcaf707cc0cebfc0ce2ee84ee7f77c38b9281b9822a8d3de62784c089c9b18dcb9a2a5eecbede90ea788a862a9ddd9d609c2c52972d63e289e28f6a590ffbf5103e6d893b80aeed5e6e9ce9afa8a5d5675c93a32ac05554cb20e9951b2c140e3ef4e433068cf0fb73bc9f33af1853f64aa27a0028cbf570d7ac9048eae5dc7b28c87c31e5810f1e7fa2cda6adf9f1076dbc1ec1238560071e7efc4e9565c49be9e7656951985860a558a754594115830bcdb421f741408346dd5997bb01c287087",
"d89ceb68c32da4f6364978d62aaa40d7b09b59ec61eb3c0159c87ec3a91037f7dc6967594e530a69d049b64adfa39c8fa208ea970cfe4b7bcd359d345744405afe1cbf761647e32b3184c7fbe87cee8c6c7ff3b378faba6c68b83b6889cb40f1603ee68c56b4c03d48c595c826c041112dc941878f8c5be828154afd4a16311f",
b,
);
}
#[bench]
fn modexp_nagydani_2_pow0x10001(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000080cad7d991a00047dd54d3399b6b0b937c718abddef7917c75b6681f40cc15e2be0003657d8d4c34167b2f0bbbca0ccaa407c2a6a07d50f1517a8f22979ce12a81dcaf707cc0cebfc0ce2ee84ee7f77c38b9281b9822a8d3de62784c089c9b18dcb9a2a5eecbede90ea788a862a9ddd9d609c2c52972d63e289e28f6a590ffbf51010001e6d893b80aeed5e6e9ce9afa8a5d5675c93a32ac05554cb20e9951b2c140e3ef4e433068cf0fb73bc9f33af1853f64aa27a0028cbf570d7ac9048eae5dc7b28c87c31e5810f1e7fa2cda6adf9f1076dbc1ec1238560071e7efc4e9565c49be9e7656951985860a558a754594115830bcdb421f741408346dd5997bb01c287087",
"ad85e8ef13fd1dd46eae44af8b91ad1ccae5b7a1c92944f92a19f21b0b658139e0cabe9c1f679507c2de354bf2c91ebd965d1e633978a830d517d2f6f8dd5fd58065d58559de7e2334a878f8ec6992d9b9e77430d4764e863d77c0f87beede8f2f7f2ab2e7222f85cc9d98b8467f4bb72e87ef2882423ebdb6daf02dddac6db2",
b,
);
}
#[bench]
fn modexp_nagydani_3_square(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000100c9130579f243e12451760976261416413742bd7c91d39ae087f46794062b8c239f2a74abf3918605a0e046a7890e049475ba7fbb78f5de6490bd22a710cc04d30088179a919d86c2da62cf37f59d8f258d2310d94c24891be2d7eeafaa32a8cb4b0cfe5f475ed778f45907dc8916a73f03635f233f7a77a00a3ec9ca6761a5bbd558a2318ecd0caa1c5016691523e7e1fa267dd35e70c66e84380bdcf7c0582f540174e572c41f81e93da0b757dff0b0fe23eb03aa19af0bdec3afb474216febaacb8d0381e631802683182b0fe72c28392539850650b70509f54980241dc175191a35d967288b532a7a8223ce2440d010615f70df269501944d4ec16fe4a3cb02d7a85909174757835187cb52e71934e6c07ef43b4c46fc30bbcd0bc72913068267c54a4aabebb493922492820babdeb7dc9b1558fcf7bd82c37c82d3147e455b623ab0efa752fe0b3a67ca6e4d126639e645a0bf417568adbb2a6a4eef62fa1fa29b2a5a43bebea1f82193a7dd98eb483d09bb595af1fa9c97c7f41f5649d976aee3e5e59e2329b43b13bea228d4a93f16ba139ccb511de521ffe747aa2eca664f7c9e33da59075cc335afcd2bf3ae09765f01ab5a7c3e3938ec168b74724b5074247d200d9970382f683d6059b94dbc336603d1dfee714e4b447ac2fa1d99ecb4961da2854e03795ed758220312d101e1e3d87d5313a6d052aebde75110363d",
"affc7507ea6d84751ec6b3f0d7b99dbcc263f33330e450d1b3ff0bc3d0874320bf4edd57debd587306988157958cb3cfd369cc0c9c198706f635c9e0f15d047df5cb44d03e2727f26b083c4ad8485080e1293f171c1ed52aef5993a5815c35108e848c951cf1e334490b4a539a139e57b68f44fee583306f5b85ffa57206b3ee5660458858534e5386b9584af3c7f67806e84c189d695e5eb96e1272d06ec2df5dc5fabc6e94b793718c60c36be0a4d031fc84cd658aa72294b2e16fc240aef70cb9e591248e38bd49c5a554d1afa01f38dab72733092f7555334bbef6c8c430119840492380aa95fa025dcf699f0a39669d812b0c6946b6091e6e235337b6f8",
b,
);
}
#[bench]
fn modexp_nagydani_3_qube(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000100c9130579f243e12451760976261416413742bd7c91d39ae087f46794062b8c239f2a74abf3918605a0e046a7890e049475ba7fbb78f5de6490bd22a710cc04d30088179a919d86c2da62cf37f59d8f258d2310d94c24891be2d7eeafaa32a8cb4b0cfe5f475ed778f45907dc8916a73f03635f233f7a77a00a3ec9ca6761a5bbd558a2318ecd0caa1c5016691523e7e1fa267dd35e70c66e84380bdcf7c0582f540174e572c41f81e93da0b757dff0b0fe23eb03aa19af0bdec3afb474216febaacb8d0381e631802683182b0fe72c28392539850650b70509f54980241dc175191a35d967288b532a7a8223ce2440d010615f70df269501944d4ec16fe4a3cb03d7a85909174757835187cb52e71934e6c07ef43b4c46fc30bbcd0bc72913068267c54a4aabebb493922492820babdeb7dc9b1558fcf7bd82c37c82d3147e455b623ab0efa752fe0b3a67ca6e4d126639e645a0bf417568adbb2a6a4eef62fa1fa29b2a5a43bebea1f82193a7dd98eb483d09bb595af1fa9c97c7f41f5649d976aee3e5e59e2329b43b13bea228d4a93f16ba139ccb511de521ffe747aa2eca664f7c9e33da59075cc335afcd2bf3ae09765f01ab5a7c3e3938ec168b74724b5074247d200d9970382f683d6059b94dbc336603d1dfee714e4b447ac2fa1d99ecb4961da2854e03795ed758220312d101e1e3d87d5313a6d052aebde75110363d",
"1b280ecd6a6bf906b806d527c2a831e23b238f89da48449003a88ac3ac7150d6a5e9e6b3be4054c7da11dd1e470ec29a606f5115801b5bf53bc1900271d7c3ff3cd5ed790d1c219a9800437a689f2388ba1a11d68f6a8e5b74e9a3b1fac6ee85fc6afbac599f93c391f5dc82a759e3c6c0ab45ce3f5d25d9b0c1bf94cf701ea6466fc9a478dacc5754e593172b5111eeba88557048bceae401337cd4c1182ad9f700852bc8c99933a193f0b94cf1aedbefc48be3bc93ef5cb276d7c2d5462ac8bb0c8fe8923a1db2afe1c6b90d59c534994a6a633f0ead1d638fdc293486bb634ff2c8ec9e7297c04241a61c37e3ae95b11d53343d4ba2b4cc33d2cfa7eb705e",
b,
);
}
#[bench]
fn modexp_nagydani_3_pow0x10001(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000100c9130579f243e12451760976261416413742bd7c91d39ae087f46794062b8c239f2a74abf3918605a0e046a7890e049475ba7fbb78f5de6490bd22a710cc04d30088179a919d86c2da62cf37f59d8f258d2310d94c24891be2d7eeafaa32a8cb4b0cfe5f475ed778f45907dc8916a73f03635f233f7a77a00a3ec9ca6761a5bbd558a2318ecd0caa1c5016691523e7e1fa267dd35e70c66e84380bdcf7c0582f540174e572c41f81e93da0b757dff0b0fe23eb03aa19af0bdec3afb474216febaacb8d0381e631802683182b0fe72c28392539850650b70509f54980241dc175191a35d967288b532a7a8223ce2440d010615f70df269501944d4ec16fe4a3cb010001d7a85909174757835187cb52e71934e6c07ef43b4c46fc30bbcd0bc72913068267c54a4aabebb493922492820babdeb7dc9b1558fcf7bd82c37c82d3147e455b623ab0efa752fe0b3a67ca6e4d126639e645a0bf417568adbb2a6a4eef62fa1fa29b2a5a43bebea1f82193a7dd98eb483d09bb595af1fa9c97c7f41f5649d976aee3e5e59e2329b43b13bea228d4a93f16ba139ccb511de521ffe747aa2eca664f7c9e33da59075cc335afcd2bf3ae09765f01ab5a7c3e3938ec168b74724b5074247d200d9970382f683d6059b94dbc336603d1dfee714e4b447ac2fa1d99ecb4961da2854e03795ed758220312d101e1e3d87d5313a6d052aebde75110363d",
"37843d7c67920b5f177372fa56e2a09117df585f81df8b300fba245b1175f488c99476019857198ed459ed8d9799c377330e49f4180c4bf8e8f66240c64f65ede93d601f957b95b83efdee1e1bfde74169ff77002eaf078c71815a9220c80b2e3b3ff22c2f358111d816ebf83c2999026b6de50bfc711ff68705d2f40b753424aefc9f70f08d908b5a20276ad613b4ab4309a3ea72f0c17ea9df6b3367d44fb3acab11c333909e02e81ea2ed404a712d3ea96bba87461720e2d98723e7acd0520ac1a5212dbedcd8dc0c1abf61d4719e319ff4758a774790b8d463cdfe131d1b2dcfee52d002694e98e720cb6ae7ccea353bc503269ba35f0f63bf8d7b672a76",
b,
);
}
#[bench]
fn modexp_nagydani_4_square(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000200db34d0e438249c0ed685c949cc28776a05094e1c48691dc3f2dca5fc3356d2a0663bd376e4712839917eb9a19c670407e2c377a2de385a3ff3b52104f7f1f4e0c7bf7717fb913896693dc5edbb65b760ef1b00e42e9d8f9af17352385e1cd742c9b006c0f669995cb0bb21d28c0aced2892267637b6470d8cee0ab27fc5d42658f6e88240c31d6774aa60a7ebd25cd48b56d0da11209f1928e61005c6eb709f3e8e0aaf8d9b10f7d7e296d772264dc76897ccdddadc91efa91c1903b7232a9e4c3b941917b99a3bc0c26497dedc897c25750af60237aa67934a26a2bc491db3dcc677491944bc1f51d3e5d76b8d846a62db03dedd61ff508f91a56d71028125035c3a44cbb041497c83bf3e4ae2a9613a401cc721c547a2afa3b16a2969933d3626ed6d8a7428648f74122fd3f2a02a20758f7f693892c8fd798b39abac01d18506c45e71432639e9f9505719ee822f62ccbf47f6850f096ff77b5afaf4be7d772025791717dbe5abf9b3f40cff7d7aab6f67e38f62faf510747276e20a42127e7500c444f9ed92baf65ade9e836845e39c4316d9dce5f8e2c8083e2c0acbb95296e05e51aab13b6b8f53f06c9c4276e12b0671133218cc3ea907da3bd9a367096d9202128d14846cc2e20d56fc8473ecb07cecbfb8086919f3971926e7045b853d85a69d026195c70f9f7a823536e2a8f4b3e12e94d9b53a934353451094b8102df3143a0057457d75e8c708b6337a6f5a4fd1a06727acf9fb93e2993c62f3378b37d56c85e7b1e00f0145ebf8e4095bd723166293c60b6ac1252291ef65823c9e040ddad14969b3b340a4ef714db093a587c37766d68b8d6b5016e741587e7e6bf7e763b44f0247e64bae30f994d248bfd20541a333e5b225ef6a61199e301738b1e688f70ec1d7fb892c183c95dc543c3e12adf8a5e8b9ca9d04f9445cced3ab256f29e998e69efaa633a7b60e1db5a867924ccab0a171d9d6e1098dfa15acde9553de599eaa56490c8f411e4985111f3d40bddfc5e301edb01547b01a886550a61158f7e2033c59707789bf7c854181d0c2e2a42a93cf09209747d7082e147eb8544de25c3eb14f2e35559ea0c0f5877f2f3fc92132c0ae9da4e45b2f6c866a224ea6d1f28c05320e287750fbc647368d41116e528014cc1852e5531d53e4af938374daba6cee4baa821ed07117253bb3601ddd00d59a3d7fb2ef1f5a2fbba7c429f0cf9a5b3462410fd833a69118f8be9c559b1000cc608fd877fb43f8e65c2d1302622b944462579056874b387208d90623fcdaf93920ca7a9e4ba64ea208758222ad868501cc2c345e2d3a5ea2a17e5069248138c8a79c0251185d29ee73e5afab5354769142d2bf0cb6712727aa6bf84a6245fcdae66e4938d84d1b9dd09a884818622080ff5f98942fb20acd7e0c916c2d5ea7ce6f7e173315384518f",
"8a5aea5f50dcc03dc7a7a272b5aeebc040554dbc1ffe36753c4fc75f7ed5f6c2cc0de3a922bf96c78bf0643a73025ad21f45a4a5cadd717612c511ab2bff1190fe5f1ae05ba9f8fe3624de1de2a817da6072ddcdb933b50216811dbe6a9ca79d3a3c6b3a476b079fd0d05f04fb154e2dd3e5cb83b148a006f2bcbf0042efb2ae7b916ea81b27aac25c3bf9a8b6d35440062ad8eae34a83f3ffa2cc7b40346b62174a4422584f72f95316f6b2bee9ff232ba9739301c97c99a9ded26c45d72676eb856ad6ecc81d36a6de36d7f9dafafee11baa43a4b0d5e4ecffa7b9b7dcefd58c397dd373e6db4acd2b2c02717712e6289bed7c813b670c4a0c6735aa7f3b0f1ce556eae9fcc94b501b2c8781ba50a8c6220e8246371c3c7359fe4ef9da786ca7d98256754ca4e496be0a9174bedbecb384bdf470779186d6a833f068d2838a88d90ef3ad48ff963b67c39cc5a3ee123baf7bf3125f64e77af7f30e105d72c4b9b5b237ed251e4c122c6d8c1405e736299c3afd6db16a28c6a9cfa68241e53de4cd388271fe534a6a9b0dbea6171d170db1b89858468885d08fecbd54c8e471c3e25d48e97ba450b96d0d87e00ac732aaa0d3ce4309c1064bd8a4c0808a97e0143e43a24cfa847635125cd41c13e0574487963e9d725c01375db99c31da67b4cf65eff555f0c0ac416c727ff8d438ad7c42030551d68c2e7adda0abb1ca7c10",
b,
);
}
#[bench]
fn modexp_nagydani_4_qube(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000200db34d0e438249c0ed685c949cc28776a05094e1c48691dc3f2dca5fc3356d2a0663bd376e4712839917eb9a19c670407e2c377a2de385a3ff3b52104f7f1f4e0c7bf7717fb913896693dc5edbb65b760ef1b00e42e9d8f9af17352385e1cd742c9b006c0f669995cb0bb21d28c0aced2892267637b6470d8cee0ab27fc5d42658f6e88240c31d6774aa60a7ebd25cd48b56d0da11209f1928e61005c6eb709f3e8e0aaf8d9b10f7d7e296d772264dc76897ccdddadc91efa91c1903b7232a9e4c3b941917b99a3bc0c26497dedc897c25750af60237aa67934a26a2bc491db3dcc677491944bc1f51d3e5d76b8d846a62db03dedd61ff508f91a56d71028125035c3a44cbb041497c83bf3e4ae2a9613a401cc721c547a2afa3b16a2969933d3626ed6d8a7428648f74122fd3f2a02a20758f7f693892c8fd798b39abac01d18506c45e71432639e9f9505719ee822f62ccbf47f6850f096ff77b5afaf4be7d772025791717dbe5abf9b3f40cff7d7aab6f67e38f62faf510747276e20a42127e7500c444f9ed92baf65ade9e836845e39c4316d9dce5f8e2c8083e2c0acbb95296e05e51aab13b6b8f53f06c9c4276e12b0671133218cc3ea907da3bd9a367096d9202128d14846cc2e20d56fc8473ecb07cecbfb8086919f3971926e7045b853d85a69d026195c70f9f7a823536e2a8f4b3e12e94d9b53a934353451094b8103df3143a0057457d75e8c708b6337a6f5a4fd1a06727acf9fb93e2993c62f3378b37d56c85e7b1e00f0145ebf8e4095bd723166293c60b6ac1252291ef65823c9e040ddad14969b3b340a4ef714db093a587c37766d68b8d6b5016e741587e7e6bf7e763b44f0247e64bae30f994d248bfd20541a333e5b225ef6a61199e301738b1e688f70ec1d7fb892c183c95dc543c3e12adf8a5e8b9ca9d04f9445cced3ab256f29e998e69efaa633a7b60e1db5a867924ccab0a171d9d6e1098dfa15acde9553de599eaa56490c8f411e4985111f3d40bddfc5e301edb01547b01a886550a61158f7e2033c59707789bf7c854181d0c2e2a42a93cf09209747d7082e147eb8544de25c3eb14f2e35559ea0c0f5877f2f3fc92132c0ae9da4e45b2f6c866a224ea6d1f28c05320e287750fbc647368d41116e528014cc1852e5531d53e4af938374daba6cee4baa821ed07117253bb3601ddd00d59a3d7fb2ef1f5a2fbba7c429f0cf9a5b3462410fd833a69118f8be9c559b1000cc608fd877fb43f8e65c2d1302622b944462579056874b387208d90623fcdaf93920ca7a9e4ba64ea208758222ad868501cc2c345e2d3a5ea2a17e5069248138c8a79c0251185d29ee73e5afab5354769142d2bf0cb6712727aa6bf84a6245fcdae66e4938d84d1b9dd09a884818622080ff5f98942fb20acd7e0c916c2d5ea7ce6f7e173315384518f",
"5a2664252aba2d6e19d9600da582cdd1f09d7a890ac48e6b8da15ae7c6ff1856fc67a841ac2314d283ffa3ca81a0ecf7c27d89ef91a5a893297928f5da0245c99645676b481b7e20a566ee6a4f2481942bee191deec5544600bb2441fd0fb19e2ee7d801ad8911c6b7750affec367a4b29a22942c0f5f4744a4e77a8b654da2a82571037099e9c6d930794efe5cdca73c7b6c0844e386bdca8ea01b3d7807146bb81365e2cdc6475f8c23e0ff84463126189dc9789f72bbce2e3d2d114d728a272f1345122de23df54c922ec7a16e5c2a8f84da8871482bd258c20a7c09bbcd64c7a96a51029bbfe848736a6ba7bf9d931a9b7de0bcaf3635034d4958b20ae9ab3a95a147b0421dd5f7ebff46c971010ebfc4adbbe0ad94d5498c853e7142c450d8c71de4b2f84edbf8acd2e16d00c8115b150b1c30e553dbb82635e781379fe2a56360420ff7e9f70cc64c00aba7e26ed13c7c19622865ae07248daced36416080f35f8cc157a857ed70ea4f347f17d1bee80fa038abd6e39b1ba06b97264388b21364f7c56e192d4b62d9b161405f32ab1e2594e86243e56fcf2cb30d21adef15b9940f91af681da24328c883d892670c6aa47940867a81830a82b82716895db810df1b834640abefb7db2092dd92912cb9a735175bc447be40a503cf22dfe565b4ed7a3293ca0dfd63a507430b323ee248ec82e843b673c97ad730728cebc",
b,
);
}
#[bench]
fn modexp_nagydani_4_pow0x10001(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000200db34d0e438249c0ed685c949cc28776a05094e1c48691dc3f2dca5fc3356d2a0663bd376e4712839917eb9a19c670407e2c377a2de385a3ff3b52104f7f1f4e0c7bf7717fb913896693dc5edbb65b760ef1b00e42e9d8f9af17352385e1cd742c9b006c0f669995cb0bb21d28c0aced2892267637b6470d8cee0ab27fc5d42658f6e88240c31d6774aa60a7ebd25cd48b56d0da11209f1928e61005c6eb709f3e8e0aaf8d9b10f7d7e296d772264dc76897ccdddadc91efa91c1903b7232a9e4c3b941917b99a3bc0c26497dedc897c25750af60237aa67934a26a2bc491db3dcc677491944bc1f51d3e5d76b8d846a62db03dedd61ff508f91a56d71028125035c3a44cbb041497c83bf3e4ae2a9613a401cc721c547a2afa3b16a2969933d3626ed6d8a7428648f74122fd3f2a02a20758f7f693892c8fd798b39abac01d18506c45e71432639e9f9505719ee822f62ccbf47f6850f096ff77b5afaf4be7d772025791717dbe5abf9b3f40cff7d7aab6f67e38f62faf510747276e20a42127e7500c444f9ed92baf65ade9e836845e39c4316d9dce5f8e2c8083e2c0acbb95296e05e51aab13b6b8f53f06c9c4276e12b0671133218cc3ea907da3bd9a367096d9202128d14846cc2e20d56fc8473ecb07cecbfb8086919f3971926e7045b853d85a69d026195c70f9f7a823536e2a8f4b3e12e94d9b53a934353451094b81010001df3143a0057457d75e8c708b6337a6f5a4fd1a06727acf9fb93e2993c62f3378b37d56c85e7b1e00f0145ebf8e4095bd723166293c60b6ac1252291ef65823c9e040ddad14969b3b340a4ef714db093a587c37766d68b8d6b5016e741587e7e6bf7e763b44f0247e64bae30f994d248bfd20541a333e5b225ef6a61199e301738b1e688f70ec1d7fb892c183c95dc543c3e12adf8a5e8b9ca9d04f9445cced3ab256f29e998e69efaa633a7b60e1db5a867924ccab0a171d9d6e1098dfa15acde9553de599eaa56490c8f411e4985111f3d40bddfc5e301edb01547b01a886550a61158f7e2033c59707789bf7c854181d0c2e2a42a93cf09209747d7082e147eb8544de25c3eb14f2e35559ea0c0f5877f2f3fc92132c0ae9da4e45b2f6c866a224ea6d1f28c05320e287750fbc647368d41116e528014cc1852e5531d53e4af938374daba6cee4baa821ed07117253bb3601ddd00d59a3d7fb2ef1f5a2fbba7c429f0cf9a5b3462410fd833a69118f8be9c559b1000cc608fd877fb43f8e65c2d1302622b944462579056874b387208d90623fcdaf93920ca7a9e4ba64ea208758222ad868501cc2c345e2d3a5ea2a17e5069248138c8a79c0251185d29ee73e5afab5354769142d2bf0cb6712727aa6bf84a6245fcdae66e4938d84d1b9dd09a884818622080ff5f98942fb20acd7e0c916c2d5ea7ce6f7e173315384518f",
"bed8b970c4a34849fc6926b08e40e20b21c15ed68d18f228904878d4370b56322d0da5789da0318768a374758e6375bfe4641fca5285ec7171828922160f48f5ca7efbfee4d5148612c38ad683ae4e3c3a053d2b7c098cf2b34f2cb19146eadd53c86b2d7ccf3d83b2c370bfb840913ee3879b1057a6b4e07e110b6bcd5e958bc71a14798c91d518cc70abee264b0d25a4110962a764b364ac0b0dd1ee8abc8426d775ec0f22b7e47b32576afaf1b5a48f64573ed1c5c29f50ab412188d9685307323d990802b81dacc06c6e05a1e901830ba9fcc67688dc29c5e27bde0a6e845ca925f5454b6fb3747edfaa2a5820838fb759eadf57f7cb5cec57fc213ddd8a4298fa079c3c0f472b07fb15aa6a7f0a3780bd296ff6a62e58ef443870b02260bd4fd2bbc98255674b8e1f1f9f8d33c7170b0ebbea4523b695911abbf26e41885344823bd0587115fdd83b721a4e8457a31c9a84b3d3520a07e0e35df7f48e5a9d534d0ec7feef1ff74de6a11e7f93eab95175b6ce22c68d78a642ad642837897ec11349205d8593ac19300207572c38d29ca5dfa03bc14cdbc32153c80e5cc3e739403d34c75915e49beb43094cc6dcafb3665b305ddec9286934ae66ec6b777ca528728c851318eb0f207b39f1caaf96db6eeead6b55ed08f451939314577d42bcc9f97c0b52d0234f88fd07e4c1d7780fdebc025cfffcb572cb27a8c33963",
b,
);
}
#[bench]
fn modexp_nagydani_5_square(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000400c5a1611f8be90071a43db23cc2fe01871cc4c0e8ab5743f6378e4fef77f7f6db0095c0727e20225beb665645403453e325ad5f9aeb9ba99bf3c148f63f9c07cf4fe8847ad5242d6b7d4499f93bd47056ddab8f7dee878fc2314f344dbee2a7c41a5d3db91eff372c730c2fdd3a141a4b61999e36d549b9870cf2f4e632c4d5df5f024f81c028000073a0ed8847cfb0593d36a47142f578f05ccbe28c0c06aeb1b1da027794c48db880278f79ba78ae64eedfea3c07d10e0562668d839749dc95f40467d15cf65b9cfc52c7c4bcef1cda3596dd52631aac942f146c7cebd46065131699ce8385b0db1874336747ee020a5698a3d1a1082665721e769567f579830f9d259cec1a836845109c21cf6b25da572512bf3c42fd4b96e43895589042ab60dd41f497db96aec102087fe784165bb45f942859268fd2ff6c012d9d00c02ba83eace047cc5f7b2c392c2955c58a49f0338d6fc58749c9db2155522ac17914ec216ad87f12e0ee95574613942fa615898c4d9e8a3be68cd6afa4e7a003dedbdf8edfee31162b174f965b20ae752ad89c967b3068b6f722c16b354456ba8e280f987c08e0a52d40a2e8f3a59b94d590aeef01879eb7a90b3ee7d772c839c85519cbeaddc0c193ec4874a463b53fcaea3271d80ebfb39b33489365fc039ae549a17a9ff898eea2f4cb27b8dbee4c17b998438575b2b8d107e4a0d66ba7fca85b41a58a8d51f191a35c856dfbe8aef2b00048a694bbccff832d23c8ca7a7ff0b6c0b3011d00b97c86c0628444d267c951d9e4fb8f83e154b8f74fb51aa16535e498235c5597dac9606ed0be3173a3836baa4e7d756ffe1e2879b415d3846bccd538c05b847785699aefde3e305decb600cd8fb0e7d8de5efc26971a6ad4e6d7a2d91474f1023a0ac4b78dc937da0ce607a45974d2cac1c33a2631ff7fe6144a3b2e5cf98b531a9627dea92c1dc82204d09db0439b6a11dd64b484e1263aa45fd9539b6020b55e3baece3986a8bffc1003406348f5c61265099ed43a766ee4f93f5f9c5abbc32a0fd3ac2b35b87f9ec26037d88275bd7dd0a54474995ee34ed3727f3f97c48db544b1980193a4b76a8a3ddab3591ce527f16d91882e67f0103b5cda53f7da54d489fc4ac08b6ab358a5a04aa9daa16219d50bd672a7cb804ed769d218807544e5993f1c27427104b349906a0b654df0bf69328afd3013fbe430155339c39f236df5557bf92f1ded7ff609a8502f49064ec3d1dbfb6c15d3a4c11a4f8acd12278cbf68acd5709463d12e3338a6eddb8c112f199645e23154a8e60879d2a654e3ed9296aa28f134168619691cd2c6b9e2eba4438381676173fc63c2588a3c5910dc149cf3760f0aa9fa9c3f5faa9162b0bf1aac9dd32b706a60ef53cbdb394b6b40222b5bc80eea82ba8958386672564cae3794f977871ab62337cf02e30049201ec12937e7ce79d0f55d9c810e20acf52212aca1d3888949e0e4830aad88d804161230eb89d4d329cc83570fe257217d2119134048dd2ed167646975fc7d77136919a049ea74cf08ddd2b896890bb24a0ba18094a22baa351bf29ad96c66bbb1a598f2ca391749620e62d61c3561a7d3653ccc8892c7b99baaf76bf836e2991cb06d6bc0514568ff0d1ec8bb4b3d6984f5eaefb17d3ea2893722375d3ddb8e389a8eef7d7d198f8e687d6a513983df906099f9a2d23f4f9dec6f8ef2f11fc0a21fac45353b94e00486f5e17d386af42502d09db33cf0cf28310e049c07e88682aeeb00cb833c5174266e62407a57583f1f88b304b7c6e0c84bbe1c0fd423072d37a5bd0aacf764229e5c7cd02473460ba3645cd8e8ae144065bf02d0dd238593d8e230354f67e0b2f23012c23274f80e3ee31e35e2606a4a3f31d94ab755e6d163cff52cbb36b6d0cc67ffc512aeed1dce4d7a0d70ce82f2baba12e8d514dc92a056f994adfb17b5b9712bd5186f27a2fda1f7039c5df2c8587fdc62f5627580c13234b55be4df3056050e2d1ef3218f0dd66cb05265fe1acfb0989d8213f2c19d1735a7cf3fa65d88dad5af52dc2bba22b7abf46c3bc77b5091baab9e8f0ddc4d5e581037de91a9f8dcbc69309be29cc815cf19a20a7585b8b3073edf51fc9baeb3e509b97fa4ecfd621e0fd57bd61cac1b895c03248ff12bdbc57509250df3517e8a3fe1d776836b34ab352b973d932ef708b14f7418f9eceb1d87667e61e3e758649cb083f01b133d37ab2f5afa96d6c84bcacf4efc3851ad308c1e7d9113624fce29fab460ab9d2a48d92cdb281103a5250ad44cb2ff6e67ac670c02fdafb3e0f1353953d6d7d5646ca1568dea55275a050ec501b7c6250444f7219f1ba7521ba3b93d089727ca5f3bbe0d6c1300b423377004954c5628fdb65770b18ced5c9b23a4a5a6d6ef25fe01b4ce278de0bcc4ed86e28a0a68818ffa40970128cf2c38740e80037984428c1bd5113f40ff47512ee6f4e4d8f9b8e8e1b3040d2928d003bd1c1329dc885302fbce9fa81c23b4dc49c7c82d29b52957847898676c89aa5d32b5b0e1c0d5a2b79a19d67562f407f19425687971a957375879d90c5f57c857136c17106c9ab1b99d80e69c8c954ed386493368884b55c939b8d64d26f643e800c56f90c01079d7c534e3b2b7ae352cefd3016da55f6a85eb803b85e2304915fd2001f77c74e28746293c46e4f5f0fd49cf988aafd0026b8e7a3bab2da5cdce1ea26c2e29ec03f4807fac432662b2d6c060be1c7be0e5489de69d0a6e03a4b9117f9244b34a0f1ecba89884f781c6320412413a00c4980287409a2a78c2cd7e65cecebbe4ec1c28cac4dd95f6998e78fc6f1392384331c9436aa10e10e2bf8ad2c4eafbcf276aa7bae64b74428911b3269c749338b0fc5075ad",
"d61fe4e3f32ac260915b5b03b78a86d11bfc41d973fce5b0cc59035cf8289a8a2e3878ea15fa46565b0d806e2f85b53873ea20ed653869b688adf83f3ef444535bf91598ff7e80f334fb782539b92f39f55310cc4b35349ab7b278346eda9bc37c0d8acd3557fae38197f412f8d9e57ce6a76b7205c23564cab06e5615be7c6f05c3d05ec690cba91da5e89d55b152ff8dd2157dc5458190025cf94b1ad98f7cbe64e9482faba95e6b33844afc640892872b44a9932096508f4a782a4805323808f23e54b6ff9b841dbfa87db3505ae4f687972c18ea0f0d0af89d36c1c2a5b14560c153c3fee406f5cf15cfd1c0bb45d767426d465f2f14c158495069d0c5955a00150707862ecaae30624ebacdd8ac33e4e6aab3ff90b6ba445a84689386b9e945d01823a65874444316e83767290fcff630d2477f49d5d8ffdd200e08ee1274270f86ed14c687895f6caf5ce528bd970c20d2408a9ba66216324c6a011ac4999098362dbd98a038129a2d40c8da6ab88318aa3046cb660327cc44236d9e5d2163bd0959062195c51ed93d0088b6f92051fc99050ece2538749165976233697ab4b610385366e5ce0b02ad6b61c168ecfbedcdf74278a38de340fd7a5fead8e588e294795f9b011e2e60377a89e25c90e145397cdeabc60fd32444a6b7642a611a83c464d8b8976666351b4865c37b02e6dc21dbcdf5f930341707b618cc0f03c3122646b3385c9df9f2ec730eec9d49e7dfc9153b6e6289da8c4f0ebea9ccc1b751948e3bb7171c9e4d57423b0eeeb79095c030cb52677b3f7e0b45c30f645391f3f9c957afa549c4e0b2465b03c67993cd200b1af01035962edbc4c9e89b31c82ac121987d6529dafdeef67a132dc04b6dc68e77f22862040b75e2ceb9ff16da0fca534e6db7bd12fa7b7f51b6c08c1e23dfcdb7acbd2da0b51c87ffbced065a612e9b1c8bba9b7e2d8d7a2f04fcc4aaf355b60d764879a76b5e16762d5f2f55d585d0c8e82df6940960cddfb72c91dfa71f6b4e1c6ca25dfc39a878e998a663c04fe29d5e83b9586d047b4d7ff70a9f0d44f127e7d741685ca75f11629128d916a0ffef4be586a30c4b70389cc746e84ebf177c01ee8a4511cfbb9d1ecf7f7b33c7dd8177896e10bbc82f838dcd6db7ac67de62bf46b6a640fb580c5d1d2708f3862e3d2b645d0d18e49ef088053e3a220adc0e033c2afcfe61c90e32151152eb3caaf746c5e377d541cafc6cbb0cc0fa48b5caf1728f2e1957f5addfc234f1a9d89e40d49356c9172d0561a695fce6dab1d412321bbf407f63766ffd7b6b3d79bcfa07991c5a9709849c1008689e3b47c50d613980bec239fb64185249d055b30375ccb4354d71fe4d05648fbf6c80634dfc3575f2f24abb714c1e4c95e8896763bf4316e954c7ad19e5780ab7a040ca6fb9271f90a8b22ae738daf6cb",
b,
);
}
#[bench]
fn modexp_nagydani_5_qube(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000400c5a1611f8be90071a43db23cc2fe01871cc4c0e8ab5743f6378e4fef77f7f6db0095c0727e20225beb665645403453e325ad5f9aeb9ba99bf3c148f63f9c07cf4fe8847ad5242d6b7d4499f93bd47056ddab8f7dee878fc2314f344dbee2a7c41a5d3db91eff372c730c2fdd3a141a4b61999e36d549b9870cf2f4e632c4d5df5f024f81c028000073a0ed8847cfb0593d36a47142f578f05ccbe28c0c06aeb1b1da027794c48db880278f79ba78ae64eedfea3c07d10e0562668d839749dc95f40467d15cf65b9cfc52c7c4bcef1cda3596dd52631aac942f146c7cebd46065131699ce8385b0db1874336747ee020a5698a3d1a1082665721e769567f579830f9d259cec1a836845109c21cf6b25da572512bf3c42fd4b96e43895589042ab60dd41f497db96aec102087fe784165bb45f942859268fd2ff6c012d9d00c02ba83eace047cc5f7b2c392c2955c58a49f0338d6fc58749c9db2155522ac17914ec216ad87f12e0ee95574613942fa615898c4d9e8a3be68cd6afa4e7a003dedbdf8edfee31162b174f965b20ae752ad89c967b3068b6f722c16b354456ba8e280f987c08e0a52d40a2e8f3a59b94d590aeef01879eb7a90b3ee7d772c839c85519cbeaddc0c193ec4874a463b53fcaea3271d80ebfb39b33489365fc039ae549a17a9ff898eea2f4cb27b8dbee4c17b998438575b2b8d107e4a0d66ba7fca85b41a58a8d51f191a35c856dfbe8aef2b00048a694bbccff832d23c8ca7a7ff0b6c0b3011d00b97c86c0628444d267c951d9e4fb8f83e154b8f74fb51aa16535e498235c5597dac9606ed0be3173a3836baa4e7d756ffe1e2879b415d3846bccd538c05b847785699aefde3e305decb600cd8fb0e7d8de5efc26971a6ad4e6d7a2d91474f1023a0ac4b78dc937da0ce607a45974d2cac1c33a2631ff7fe6144a3b2e5cf98b531a9627dea92c1dc82204d09db0439b6a11dd64b484e1263aa45fd9539b6020b55e3baece3986a8bffc1003406348f5c61265099ed43a766ee4f93f5f9c5abbc32a0fd3ac2b35b87f9ec26037d88275bd7dd0a54474995ee34ed3727f3f97c48db544b1980193a4b76a8a3ddab3591ce527f16d91882e67f0103b5cda53f7da54d489fc4ac08b6ab358a5a04aa9daa16219d50bd672a7cb804ed769d218807544e5993f1c27427104b349906a0b654df0bf69328afd3013fbe430155339c39f236df5557bf92f1ded7ff609a8502f49064ec3d1dbfb6c15d3a4c11a4f8acd12278cbf68acd5709463d12e3338a6eddb8c112f199645e23154a8e60879d2a654e3ed9296aa28f134168619691cd2c6b9e2eba4438381676173fc63c2588a3c5910dc149cf3760f0aa9fa9c3f5faa9162b0bf1aac9dd32b706a60ef53cbdb394b6b40222b5bc80eea82ba8958386672564cae3794f977871ab62337cf03e30049201ec12937e7ce79d0f55d9c810e20acf52212aca1d3888949e0e4830aad88d804161230eb89d4d329cc83570fe257217d2119134048dd2ed167646975fc7d77136919a049ea74cf08ddd2b896890bb24a0ba18094a22baa351bf29ad96c66bbb1a598f2ca391749620e62d61c3561a7d3653ccc8892c7b99baaf76bf836e2991cb06d6bc0514568ff0d1ec8bb4b3d6984f5eaefb17d3ea2893722375d3ddb8e389a8eef7d7d198f8e687d6a513983df906099f9a2d23f4f9dec6f8ef2f11fc0a21fac45353b94e00486f5e17d386af42502d09db33cf0cf28310e049c07e88682aeeb00cb833c5174266e62407a57583f1f88b304b7c6e0c84bbe1c0fd423072d37a5bd0aacf764229e5c7cd02473460ba3645cd8e8ae144065bf02d0dd238593d8e230354f67e0b2f23012c23274f80e3ee31e35e2606a4a3f31d94ab755e6d163cff52cbb36b6d0cc67ffc512aeed1dce4d7a0d70ce82f2baba12e8d514dc92a056f994adfb17b5b9712bd5186f27a2fda1f7039c5df2c8587fdc62f5627580c13234b55be4df3056050e2d1ef3218f0dd66cb05265fe1acfb0989d8213f2c19d1735a7cf3fa65d88dad5af52dc2bba22b7abf46c3bc77b5091baab9e8f0ddc4d5e581037de91a9f8dcbc69309be29cc815cf19a20a7585b8b3073edf51fc9baeb3e509b97fa4ecfd621e0fd57bd61cac1b895c03248ff12bdbc57509250df3517e8a3fe1d776836b34ab352b973d932ef708b14f7418f9eceb1d87667e61e3e758649cb083f01b133d37ab2f5afa96d6c84bcacf4efc3851ad308c1e7d9113624fce29fab460ab9d2a48d92cdb281103a5250ad44cb2ff6e67ac670c02fdafb3e0f1353953d6d7d5646ca1568dea55275a050ec501b7c6250444f7219f1ba7521ba3b93d089727ca5f3bbe0d6c1300b423377004954c5628fdb65770b18ced5c9b23a4a5a6d6ef25fe01b4ce278de0bcc4ed86e28a0a68818ffa40970128cf2c38740e80037984428c1bd5113f40ff47512ee6f4e4d8f9b8e8e1b3040d2928d003bd1c1329dc885302fbce9fa81c23b4dc49c7c82d29b52957847898676c89aa5d32b5b0e1c0d5a2b79a19d67562f407f19425687971a957375879d90c5f57c857136c17106c9ab1b99d80e69c8c954ed386493368884b55c939b8d64d26f643e800c56f90c01079d7c534e3b2b7ae352cefd3016da55f6a85eb803b85e2304915fd2001f77c74e28746293c46e4f5f0fd49cf988aafd0026b8e7a3bab2da5cdce1ea26c2e29ec03f4807fac432662b2d6c060be1c7be0e5489de69d0a6e03a4b9117f9244b34a0f1ecba89884f781c6320412413a00c4980287409a2a78c2cd7e65cecebbe4ec1c28cac4dd95f6998e78fc6f1392384331c9436aa10e10e2bf8ad2c4eafbcf276aa7bae64b74428911b3269c749338b0fc5075ad",
"5f9c70ec884926a89461056ad20ac4c30155e817f807e4d3f5bb743d789c83386762435c3627773fa77da5144451f2a8aad8adba88e0b669f5377c5e9bad70e45c86fe952b613f015a9953b8a5de5eaee4566acf98d41e327d93a35bd5cef4607d025e58951167957df4ff9b1627649d3943805472e5e293d3efb687cfd1e503faafeb2840a3e3b3f85d016051a58e1c9498aab72e63b748d834b31eb05d85dcde65e27834e266b85c75cc4ec0135135e0601cb93eeeb6e0010c8ceb65c4c319623c5e573a2c8c9fbbf7df68a930beb412d3f4dfd146175484f45d7afaa0d2e60684af9b34730f7c8438465ad3e1d0c3237336722f2aa51095bd5759f4b8ab4dda111b684aa3dac62a761722e7ae43495b7709933512c81c4e3c9133a51f7ce9f2b51fcec064f65779666960b4e45df3900f54311f5613e8012dd1b8efd359eda31a778264c72aa8bb419d862734d769076bce2810011989a45374e5c5d8729fec21427f0bf397eacbb4220f603cf463a4b0c94efd858ffd9768cd60d6ce68d755e0fbad007ce5c2223d70c7018345a102e4ab3c60a13a9e7794303156d4c2063e919f2153c13961fb324c80b240742f47773a7a8e25b3e3fb19b00ce839346c6eb3c732fbc6b888df0b1fe0a3d07b053a2e9402c267b2d62f794d8a2840526e3ade15ce2264496ccd7519571dfde47f7a4bb16292241c20b2be59f3f8fb4f6383f232d838c5a22d8c95b6834d9d2ca493f5a505ebe8899503b0e8f9b19e6e2dd81c1628b80016d02097e0134de51054c4e7674824d4d758760fc52377d2cad145e259aa2ffaf54139e1a66b1e0c1c191e32ac59474c6b526f5b3ba07d3e5ec286eddf531fcd5292869be58c9f22ef91026159f7cf9d05ef66b4299f4da48cc1635bf2243051d342d378a22c83390553e873713c0454ce5f3234397111ac3fe3207b86f0ed9fc025c81903e1748103692074f83824fda6341be4f95ff00b0a9a208c267e12fa01825054cc0513629bf3dbb56dc5b90d4316f87654a8be18227978ea0a8a522760cad620d0d14fd38920fb7321314062914275a5f99f677145a6979b156bd82ecd36f23f8e1273cc2759ecc0b2c69d94dad5211d1bed939dd87ed9e07b91d49713a6e16ade0a98aea789f04994e318e4ff2c8a188cd8d43aeb52c6daa3bc29b4af50ea82a247c5cd67b573b34cbadcc0a376d3bbd530d50367b42705d870f2e27a8197ef46070528bfe408360faa2ebb8bf76e9f388572842bcb119f4d84ee34ae31f5cc594f23705a49197b181fb78ed1ec99499c690f843a4d0cf2e226d118e9372271054fbabdcc5c92ae9fefaef0589cd0e722eaf30c1703ec4289c7fd81beaa8a455ccee5298e31e2080c10c366a6fcf56f7d13582ad0bcad037c612b710fc595b70fbefaaca23623b60c6c39b11beb8e5843b6b3dac60f",
b,
);
}
#[bench]
fn modexp_nagydani_5_pow0x10001(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000005", // modexp
"000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000400c5a1611f8be90071a43db23cc2fe01871cc4c0e8ab5743f6378e4fef77f7f6db0095c0727e20225beb665645403453e325ad5f9aeb9ba99bf3c148f63f9c07cf4fe8847ad5242d6b7d4499f93bd47056ddab8f7dee878fc2314f344dbee2a7c41a5d3db91eff372c730c2fdd3a141a4b61999e36d549b9870cf2f4e632c4d5df5f024f81c028000073a0ed8847cfb0593d36a47142f578f05ccbe28c0c06aeb1b1da027794c48db880278f79ba78ae64eedfea3c07d10e0562668d839749dc95f40467d15cf65b9cfc52c7c4bcef1cda3596dd52631aac942f146c7cebd46065131699ce8385b0db1874336747ee020a5698a3d1a1082665721e769567f579830f9d259cec1a836845109c21cf6b25da572512bf3c42fd4b96e43895589042ab60dd41f497db96aec102087fe784165bb45f942859268fd2ff6c012d9d00c02ba83eace047cc5f7b2c392c2955c58a49f0338d6fc58749c9db2155522ac17914ec216ad87f12e0ee95574613942fa615898c4d9e8a3be68cd6afa4e7a003dedbdf8edfee31162b174f965b20ae752ad89c967b3068b6f722c16b354456ba8e280f987c08e0a52d40a2e8f3a59b94d590aeef01879eb7a90b3ee7d772c839c85519cbeaddc0c193ec4874a463b53fcaea3271d80ebfb39b33489365fc039ae549a17a9ff898eea2f4cb27b8dbee4c17b998438575b2b8d107e4a0d66ba7fca85b41a58a8d51f191a35c856dfbe8aef2b00048a694bbccff832d23c8ca7a7ff0b6c0b3011d00b97c86c0628444d267c951d9e4fb8f83e154b8f74fb51aa16535e498235c5597dac9606ed0be3173a3836baa4e7d756ffe1e2879b415d3846bccd538c05b847785699aefde3e305decb600cd8fb0e7d8de5efc26971a6ad4e6d7a2d91474f1023a0ac4b78dc937da0ce607a45974d2cac1c33a2631ff7fe6144a3b2e5cf98b531a9627dea92c1dc82204d09db0439b6a11dd64b484e1263aa45fd9539b6020b55e3baece3986a8bffc1003406348f5c61265099ed43a766ee4f93f5f9c5abbc32a0fd3ac2b35b87f9ec26037d88275bd7dd0a54474995ee34ed3727f3f97c48db544b1980193a4b76a8a3ddab3591ce527f16d91882e67f0103b5cda53f7da54d489fc4ac08b6ab358a5a04aa9daa16219d50bd672a7cb804ed769d218807544e5993f1c27427104b349906a0b654df0bf69328afd3013fbe430155339c39f236df5557bf92f1ded7ff609a8502f49064ec3d1dbfb6c15d3a4c11a4f8acd12278cbf68acd5709463d12e3338a6eddb8c112f199645e23154a8e60879d2a654e3ed9296aa28f134168619691cd2c6b9e2eba4438381676173fc63c2588a3c5910dc149cf3760f0aa9fa9c3f5faa9162b0bf1aac9dd32b706a60ef53cbdb394b6b40222b5bc80eea82ba8958386672564cae3794f977871ab62337cf010001e30049201ec12937e7ce79d0f55d9c810e20acf52212aca1d3888949e0e4830aad88d804161230eb89d4d329cc83570fe257217d2119134048dd2ed167646975fc7d77136919a049ea74cf08ddd2b896890bb24a0ba18094a22baa351bf29ad96c66bbb1a598f2ca391749620e62d61c3561a7d3653ccc8892c7b99baaf76bf836e2991cb06d6bc0514568ff0d1ec8bb4b3d6984f5eaefb17d3ea2893722375d3ddb8e389a8eef7d7d198f8e687d6a513983df906099f9a2d23f4f9dec6f8ef2f11fc0a21fac45353b94e00486f5e17d386af42502d09db33cf0cf28310e049c07e88682aeeb00cb833c5174266e62407a57583f1f88b304b7c6e0c84bbe1c0fd423072d37a5bd0aacf764229e5c7cd02473460ba3645cd8e8ae144065bf02d0dd238593d8e230354f67e0b2f23012c23274f80e3ee31e35e2606a4a3f31d94ab755e6d163cff52cbb36b6d0cc67ffc512aeed1dce4d7a0d70ce82f2baba12e8d514dc92a056f994adfb17b5b9712bd5186f27a2fda1f7039c5df2c8587fdc62f5627580c13234b55be4df3056050e2d1ef3218f0dd66cb05265fe1acfb0989d8213f2c19d1735a7cf3fa65d88dad5af52dc2bba22b7abf46c3bc77b5091baab9e8f0ddc4d5e581037de91a9f8dcbc69309be29cc815cf19a20a7585b8b3073edf51fc9baeb3e509b97fa4ecfd621e0fd57bd61cac1b895c03248ff12bdbc57509250df3517e8a3fe1d776836b34ab352b973d932ef708b14f7418f9eceb1d87667e61e3e758649cb083f01b133d37ab2f5afa96d6c84bcacf4efc3851ad308c1e7d9113624fce29fab460ab9d2a48d92cdb281103a5250ad44cb2ff6e67ac670c02fdafb3e0f1353953d6d7d5646ca1568dea55275a050ec501b7c6250444f7219f1ba7521ba3b93d089727ca5f3bbe0d6c1300b423377004954c5628fdb65770b18ced5c9b23a4a5a6d6ef25fe01b4ce278de0bcc4ed86e28a0a68818ffa40970128cf2c38740e80037984428c1bd5113f40ff47512ee6f4e4d8f9b8e8e1b3040d2928d003bd1c1329dc885302fbce9fa81c23b4dc49c7c82d29b52957847898676c89aa5d32b5b0e1c0d5a2b79a19d67562f407f19425687971a957375879d90c5f57c857136c17106c9ab1b99d80e69c8c954ed386493368884b55c939b8d64d26f643e800c56f90c01079d7c534e3b2b7ae352cefd3016da55f6a85eb803b85e2304915fd2001f77c74e28746293c46e4f5f0fd49cf988aafd0026b8e7a3bab2da5cdce1ea26c2e29ec03f4807fac432662b2d6c060be1c7be0e5489de69d0a6e03a4b9117f9244b34a0f1ecba89884f781c6320412413a00c4980287409a2a78c2cd7e65cecebbe4ec1c28cac4dd95f6998e78fc6f1392384331c9436aa10e10e2bf8ad2c4eafbcf276aa7bae64b74428911b3269c749338b0fc5075ad",
"5a0eb2bdf0ac1cae8e586689fa16cd4b07dfdedaec8a110ea1fdb059dd5253231b6132987598dfc6e11f86780428982d50cf68f67ae452622c3b336b537ef3298ca645e8f89ee39a26758206a5a3f6409afc709582f95274b57b71fae5c6b74619ae6f089a5393c5b79235d9caf699d23d88fb873f78379690ad8405e34c19f5257d596580c7a6a7206a3712825afe630c76b31cdb4a23e7f0632e10f14f4e282c81a66451a26f8df2a352b5b9f607a7198449d1b926e27036810368e691a74b91c61afa73d9d3b99453e7c8b50fd4f09c039a2f2feb5c419206694c31b92df1d9586140cb3417b38d0c503c7b508cc2ed12e813a1c795e9829eb39ee78eeaf360a169b491a1d4e419574e712402de9d48d54c1ae5e03739b7156615e8267e1fb0a897f067afd11fb33f6e24182d7aaaaa18fe5bc1982f20d6b871e5a398f0f6f718181d31ec225cfa9a0a70124ed9a70031bdf0c1c7829f708b6e17d50419ef361cf77d99c85f44607186c8d683106b8bd38a49b5d0fb503b397a83388c5678dcfcc737499d84512690701ed621a6f0172aecf037184ddf0f2453e4053024018e5ab2e30d6d5363b56e8b41509317c99042f517247474ab3abc848e00a07f69c254f46f2a05cf6ed84e5cc906a518fdcfdf2c61ce731f24c5264f1a25fc04934dc28aec112134dd523f70115074ca34e3807aa4cb925147f3a0ce152d323bd8c675ace446d0fd1ae30c4b57f0eb2c23884bc18f0964c0114796c5b6d080c3d89175665fbf63a6381a6a9da39ad070b645c8bb1779506da14439a9f5b5d481954764ea114fac688930bc68534d403cff4210673b6a6ff7ae416b7cd41404c3d3f282fcd193b86d0f54d0006c2a503b40d5c3930da980565b8f9630e9493a79d1c03e74e5f93ac8e4dc1a901ec5e3b3e57049124c7b72ea345aa359e782285d9e6a5c144a378111dd02c40855ff9c2be9b48425cb0b2fd62dc8678fd151121cf26a65e917d65d8e0dacfae108eb5508b601fb8ffa370be1f9a8b749a2d12eeab81f41079de87e2d777994fa4d28188c579ad327f9957fb7bdecec5c680844dd43cb57cf87aeb763c003e65011f73f8c63442df39a92b946a6bd968a1c1e4d5fa7d88476a68bd8e20e5b70a99259c7d3f85fb1b65cd2e93972e6264e74ebf289b8b6979b9b68a85cd5b360c1987f87235c3c845d62489e33acf85d53fa3561fe3a3aee18924588d9c6eba4edb7a4d106b31173e42929f6f0c48c80ce6a72d54eca7c0fe870068b7a7c89c63cdda593f5b32d3cb4ea8a32c39f00ab449155757172d66763ed9527019d6de6c9f2416aa6203f4d11c9ebee1e1d3845099e55504446448027212616167eb36035726daa7698b075286f5379cd3e93cb3e0cf4f9cb8d017facbb5550ed32d5ec5400ae57e47e2bf78d1eaeff9480cc765ceff39db500",
b,
);
}
#[bench]
fn alt_bn128_add_chfast1(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000006", // alt_bn128_add
"18b18acfb4c2c30276db5411368e7185b311dd124691610c5d3b74034e093dc9063c909c4720840cb5134cb9f59fa749755796819658d32efc0d288198f3726607c2b7f58a84bd6145f00c9c2bc0bb1a187f20ff2c92963a88019e7c6a014eed06614e20c147e940f2d70da3f74c9a17df361706a4485c742bd6788478fa17d7",
"2243525c5efd4b9c3d3c45ac0ca3fe4dd85e830a4ce6b65fa1eeaee202839703301d1d33be6da8e509df21cc35964723180eed7532537db9ae5e7d48f195c915",
b,
);
}
#[bench]
fn alt_bn128_add_chfast2(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000006", // alt_bn128_add
"2243525c5efd4b9c3d3c45ac0ca3fe4dd85e830a4ce6b65fa1eeaee202839703301d1d33be6da8e509df21cc35964723180eed7532537db9ae5e7d48f195c91518b18acfb4c2c30276db5411368e7185b311dd124691610c5d3b74034e093dc9063c909c4720840cb5134cb9f59fa749755796819658d32efc0d288198f37266",
"2bd3e6d0f3b142924f5ca7b49ce5b9d54c4703d7ae5648e61d02268b1a0a9fb721611ce0a6af85915e2f1d70300909ce2e49dfad4a4619c8390cae66cefdb204",
b,
);
}
#[bench]
fn alt_bn128_add_cdetrio1(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000006", // alt_bn128_add
"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
b,
);
}
#[bench]
fn alt_bn128_add_cdetrio2(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000006", // alt_bn128_add
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
b,
);
}
#[bench]
fn alt_bn128_add_cdetrio3(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000006", // alt_bn128_add
"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
b,
);
}
#[bench]
fn alt_bn128_add_cdetrio4(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000006", // alt_bn128_add
"",
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
b,
);
}
#[bench]
fn alt_bn128_add_cdetrio5(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000006", // alt_bn128_add
"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
b,
);
}
#[bench]
fn alt_bn128_add_cdetrio6(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000006", // alt_bn128_add
"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
b,
);
}
#[bench]
fn alt_bn128_add_cdetrio7(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000006", // alt_bn128_add
"000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
b,
);
}
#[bench]
fn alt_bn128_add_cdetrio8(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000006", // alt_bn128_add
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
b,
);
}
#[bench]
fn alt_bn128_add_cdetrio9(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000006", // alt_bn128_add
"0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
b,
);
}
#[bench]
fn alt_bn128_add_cdetrio10(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000006", // alt_bn128_add
"000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
b,
);
}
#[bench]
fn alt_bn128_add_cdetrio11(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000006", // alt_bn128_add
"0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002",
"030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd315ed738c0e0a7c92e7845f96b2ae9c0a68a6a449e3538fc7ff3ebf7a5a18a2c4",
b,
);
}
#[bench]
fn alt_bn128_add_cdetrio12(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000006", // alt_bn128_add
"000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd315ed738c0e0a7c92e7845f96b2ae9c0a68a6a449e3538fc7ff3ebf7a5a18a2c4",
b,
);
}
#[bench]
fn alt_bn128_add_cdetrio13(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000006", // alt_bn128_add
"17c139df0efee0f766bc0204762b774362e4ded88953a39ce849a8a7fa163fa901e0559bacb160664764a357af8a9fe70baa9258e0b959273ffc5718c6d4cc7c039730ea8dff1254c0fee9c0ea777d29a9c710b7e616683f194f18c43b43b869073a5ffcc6fc7a28c30723d6e58ce577356982d65b833a5a5c15bf9024b43d98",
"15bf2bb17880144b5d1cd2b1f46eff9d617bffd1ca57c37fb5a49bd84e53cf66049c797f9ce0d17083deb32b5e36f2ea2a212ee036598dd7624c168993d1355f",
b,
);
}
#[bench]
fn alt_bn128_add_cdetrio14(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000006", // alt_bn128_add
"17c139df0efee0f766bc0204762b774362e4ded88953a39ce849a8a7fa163fa901e0559bacb160664764a357af8a9fe70baa9258e0b959273ffc5718c6d4cc7c17c139df0efee0f766bc0204762b774362e4ded88953a39ce849a8a7fa163fa92e83f8d734803fc370eba25ed1f6b8768bd6d83887b87165fc2434fe11a830cb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
b,
);
}
#[bench]
fn alt_bn128_mul_chfast1(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000007", // alt_bn128_mul
"2bd3e6d0f3b142924f5ca7b49ce5b9d54c4703d7ae5648e61d02268b1a0a9fb721611ce0a6af85915e2f1d70300909ce2e49dfad4a4619c8390cae66cefdb20400000000000000000000000000000000000000000000000011138ce750fa15c2",
"070a8d6a982153cae4be29d434e8faef8a47b274a053f5a4ee2a6c9c13c31e5c031b8ce914eba3a9ffb989f9cdd5b0f01943074bf4f0f315690ec3cec6981afc",
b,
);
}
#[bench]
fn alt_bn128_mul_chfast2(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000007", // alt_bn128_mul
"070a8d6a982153cae4be29d434e8faef8a47b274a053f5a4ee2a6c9c13c31e5c031b8ce914eba3a9ffb989f9cdd5b0f01943074bf4f0f315690ec3cec6981afc30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd46",
"025a6f4181d2b4ea8b724290ffb40156eb0adb514c688556eb79cdea0752c2bb2eff3f31dea215f1eb86023a133a996eb6300b44da664d64251d05381bb8a02e",
b,
);
}
#[bench]
fn alt_bn128_mul_chfast3(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000007", // alt_bn128_mul
"025a6f4181d2b4ea8b724290ffb40156eb0adb514c688556eb79cdea0752c2bb2eff3f31dea215f1eb86023a133a996eb6300b44da664d64251d05381bb8a02e183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea3",
"14789d0d4a730b354403b5fac948113739e276c23e0258d8596ee72f9cd9d3230af18a63153e0ec25ff9f2951dd3fa90ed0197bfef6e2a1a62b5095b9d2b4a27",
b,
);
}
#[bench]
fn alt_bn128_mul_cdetrio1(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000007", // alt_bn128_mul
"1a87b0584ce92f4593d161480614f2989035225609f08058ccfa3d0f940febe31a2f3c951f6dadcc7ee9007dff81504b0fcd6d7cf59996efdc33d92bf7f9f8f6ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"2cde5879ba6f13c0b5aa4ef627f159a3347df9722efce88a9afbb20b763b4c411aa7e43076f6aee272755a7f9b84832e71559ba0d2e0b17d5f9f01755e5b0d11",
b,
);
}
#[bench]
fn alt_bn128_mul_cdetrio6(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000007", // alt_bn128_mul
"17c139df0efee0f766bc0204762b774362e4ded88953a39ce849a8a7fa163fa901e0559bacb160664764a357af8a9fe70baa9258e0b959273ffc5718c6d4cc7cffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"29e587aadd7c06722aabba753017c093f70ba7eb1f1c0104ec0564e7e3e21f6022b1143f6a41008e7755c71c3d00b6b915d386de21783ef590486d8afa8453b1",
b,
);
}
#[bench]
fn alt_bn128_mul_cdetrio11(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000007", // alt_bn128_mul
"039730ea8dff1254c0fee9c0ea777d29a9c710b7e616683f194f18c43b43b869073a5ffcc6fc7a28c30723d6e58ce577356982d65b833a5a5c15bf9024b43d98ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"00a1a234d08efaa2616607e31eca1980128b00b415c845ff25bba3afcb81dc00242077290ed33906aeb8e42fd98c41bcb9057ba03421af3f2d08cfc441186024",
b,
);
}
#[bench]
fn alt_bn128_pairing_jeff1(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"1c76476f4def4bb94541d57ebba1193381ffa7aa76ada664dd31c16024c43f593034dd2920f673e204fee2811c678745fc819b55d3e9d294e45c9b03a76aef41209dd15ebff5d46c4bd888e51a93cf99a7329636c63514396b4a452003a35bf704bf11ca01483bfa8b34b43561848d28905960114c8ac04049af4b6315a416782bb8324af6cfc93537a2ad1a445cfd0ca2a71acd7ac41fadbf933c2a51be344d120a2a4cf30c1bf9845f20c6fe39e07ea2cce61f0c9bb048165fe5e4de877550111e129f1cf1097710d41c4ac70fcdfa5ba2023c6ff1cbeac322de49d1b6df7c2032c61a830e3c17286de9462bf242fca2883585b93870a73853face6a6bf411198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa",
"0000000000000000000000000000000000000000000000000000000000000001",
b,
);
}
#[bench]
fn alt_bn128_pairing_jeff2(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"2eca0c7238bf16e83e7a1e6c5d49540685ff51380f309842a98561558019fc0203d3260361bb8451de5ff5ecd17f010ff22f5c31cdf184e9020b06fa5997db841213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f06967a1237ebfeca9aaae0d6d0bab8e28c198c5a339ef8a2407e31cdac516db922160fa257a5fd5b280642ff47b65eca77e626cb685c84fa6d3b6882a283ddd1198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa",
"0000000000000000000000000000000000000000000000000000000000000001",
b,
);
}
#[bench]
fn alt_bn128_pairing_jeff3(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"0f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd216da2f5cb6be7a0aa72c440c53c9bbdfec6c36c7d515536431b3a865468acbba2e89718ad33c8bed92e210e81d1853435399a271913a6520736a4729cf0d51eb01a9e2ffa2e92599b68e44de5bcf354fa2642bd4f26b259daa6f7ce3ed57aeb314a9a87b789a58af499b314e13c3d65bede56c07ea2d418d6874857b70763713178fb49a2d6cd347dc58973ff49613a20757d0fcc22079f9abd10c3baee245901b9e027bd5cfc2cb5db82d4dc9677ac795ec500ecd47deee3b5da006d6d049b811d7511c78158de484232fc68daf8a45cf217d1c2fae693ff5871e8752d73b21198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa",
"0000000000000000000000000000000000000000000000000000000000000001",
b,
);
}
#[bench]
fn alt_bn128_pairing_jeff4(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"2f2ea0b3da1e8ef11914acf8b2e1b32d99df51f5f4f206fc6b947eae860eddb6068134ddb33dc888ef446b648d72338684d678d2eb2371c61a50734d78da4b7225f83c8b6ab9de74e7da488ef02645c5a16a6652c3c71a15dc37fe3a5dcb7cb122acdedd6308e3bb230d226d16a105295f523a8a02bfc5e8bd2da135ac4c245d065bbad92e7c4e31bf3757f1fe7362a63fbfee50e7dc68da116e67d600d9bf6806d302580dc0661002994e7cd3a7f224e7ddc27802777486bf80f40e4ca3cfdb186bac5188a98c45e6016873d107f5cd131f3a3e339d0375e58bd6219347b008122ae2b09e539e152ec5364e7e2204b03d11d3caa038bfc7cd499f8176aacbee1f39e4e4afc4bc74790a4a028aff2c3d2538731fb755edefd8cb48d6ea589b5e283f150794b6736f670d6a1033f9b46c6f5204f50813eb85c8dc4b59db1c5d39140d97ee4d2b36d99bc49974d18ecca3e7ad51011956051b464d9e27d46cc25e0764bb98575bd466d32db7b15f582b2d5c452b36aa394b789366e5e3ca5aabd415794ab061441e51d01e94640b7e3084a07e02c78cf3103c542bc5b298669f211b88da1679b0b64a63b7e0e7bfe52aae524f73a55be7fe70c7e9bfc94b4cf0da1213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f",
"0000000000000000000000000000000000000000000000000000000000000001",
b,
);
}
#[bench]
fn alt_bn128_pairing_jeff5(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"20a754d2071d4d53903e3b31a7e98ad6882d58aec240ef981fdf0a9d22c5926a29c853fcea789887315916bbeb89ca37edb355b4f980c9a12a94f30deeed30211213d2149b006137fcfb23036606f848d638d576a120ca981b5b1a5f9300b3ee2276cf730cf493cd95d64677bbb75fc42db72513a4c1e387b476d056f80aa75f21ee6226d31426322afcda621464d0611d226783262e21bb3bc86b537e986237096df1f82dff337dd5972e32a8ad43e28a78a96a823ef1cd4debe12b6552ea5f1abb4a25eb9379ae96c84fff9f0540abcfc0a0d11aeda02d4f37e4baf74cb0c11073b3ff2cdbb38755f8691ea59e9606696b3ff278acfc098fa8226470d03869217cee0a9ad79a4493b5253e2e4e3a39fc2df38419f230d341f60cb064a0ac290a3d76f140db8418ba512272381446eb73958670f00cf46f1d9e64cba057b53c26f64a8ec70387a13e41430ed3ee4a7db2059cc5fc13c067194bcc0cb49a98552fd72bd9edb657346127da132e5b82ab908f5816c826acb499e22f2412d1a2d70f25929bcb43d5a57391564615c9e70a992b10eafa4db109709649cf48c50dd2198a1f162a73261f112401aa2db79c7dab1533c9935c77290a6ce3b191f2318d198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa",
"0000000000000000000000000000000000000000000000000000000000000001",
b,
);
}
#[bench]
fn alt_bn128_pairing_jeff6(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"1c76476f4def4bb94541d57ebba1193381ffa7aa76ada664dd31c16024c43f593034dd2920f673e204fee2811c678745fc819b55d3e9d294e45c9b03a76aef41209dd15ebff5d46c4bd888e51a93cf99a7329636c63514396b4a452003a35bf704bf11ca01483bfa8b34b43561848d28905960114c8ac04049af4b6315a416782bb8324af6cfc93537a2ad1a445cfd0ca2a71acd7ac41fadbf933c2a51be344d120a2a4cf30c1bf9845f20c6fe39e07ea2cce61f0c9bb048165fe5e4de877550111e129f1cf1097710d41c4ac70fcdfa5ba2023c6ff1cbeac322de49d1b6df7c103188585e2364128fe25c70558f1560f4f9350baf3959e603cc91486e110936198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa",
"0000000000000000000000000000000000000000000000000000000000000000",
b,
);
}
#[bench]
fn alt_bn128_pairing_empty_data(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"",
"0000000000000000000000000000000000000000000000000000000000000001",
b,
);
}
#[bench]
fn alt_bn128_pairing_one_point(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa",
"0000000000000000000000000000000000000000000000000000000000000000",
b,
);
}
#[bench]
fn alt_bn128_pairing_two_point_match_2(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d",
"0000000000000000000000000000000000000000000000000000000000000001",
b,
);
}
#[bench]
fn alt_bn128_pairing_two_point_match_3(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002203e205db4f19b37b60121b83a7333706db86431c6d835849957ed8c3928ad7927dc7234fd11d3e8c36c59277c3e6f149d5cd3cfa9a62aee49f8130962b4b3b9195e8aa5b7827463722b8c153931579d3505566b4edf48d498e185f0509de15204bb53b8977e5f92a0bc372742c4830944a59b4fe6b1c0466e2a6dad122b5d2e030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd31a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa",
"0000000000000000000000000000000000000000000000000000000000000001",
b,
);
}
#[bench]
fn alt_bn128_pairing_two_point_match_4(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"105456a333e6d636854f987ea7bb713dfd0ae8371a72aea313ae0c32c0bf10160cf031d41b41557f3e7e3ba0c51bebe5da8e6ecd855ec50fc87efcdeac168bcc0476be093a6d2b4bbf907172049874af11e1b6267606e00804d3ff0037ec57fd3010c68cb50161b7d1d96bb71edfec9880171954e56871abf3d93cc94d745fa114c059d74e5b6c4ec14ae5864ebe23a71781d86c29fb8fb6cce94f70d3de7a2101b33461f39d9e887dbb100f170a2345dde3c07e256d1dfa2b657ba5cd030427000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000021a2c3013d2ea92e13c800cde68ef56a294b883f6ac35d25f587c09b1b3c635f7290158a80cd3d66530f74dc94c94adb88f5cdb481acca997b6e60071f08a115f2f997f3dbd66a7afe07fe7862ce239edba9e05c5afff7f8a1259c9733b2dfbb929d1691530ca701b4a106054688728c9972c8512e9789e9567aae23e302ccd75",
"0000000000000000000000000000000000000000000000000000000000000001",
b,
);
}
#[bench]
fn alt_bn128_pairing_ten_point_match_1(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d",
"0000000000000000000000000000000000000000000000000000000000000001",
b,
);
}
#[bench]
fn alt_bn128_pairing_ten_point_match_2(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002203e205db4f19b37b60121b83a7333706db86431c6d835849957ed8c3928ad7927dc7234fd11d3e8c36c59277c3e6f149d5cd3cfa9a62aee49f8130962b4b3b9195e8aa5b7827463722b8c153931579d3505566b4edf48d498e185f0509de15204bb53b8977e5f92a0bc372742c4830944a59b4fe6b1c0466e2a6dad122b5d2e030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd31a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002203e205db4f19b37b60121b83a7333706db86431c6d835849957ed8c3928ad7927dc7234fd11d3e8c36c59277c3e6f149d5cd3cfa9a62aee49f8130962b4b3b9195e8aa5b7827463722b8c153931579d3505566b4edf48d498e185f0509de15204bb53b8977e5f92a0bc372742c4830944a59b4fe6b1c0466e2a6dad122b5d2e030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd31a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002203e205db4f19b37b60121b83a7333706db86431c6d835849957ed8c3928ad7927dc7234fd11d3e8c36c59277c3e6f149d5cd3cfa9a62aee49f8130962b4b3b9195e8aa5b7827463722b8c153931579d3505566b4edf48d498e185f0509de15204bb53b8977e5f92a0bc372742c4830944a59b4fe6b1c0466e2a6dad122b5d2e030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd31a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002203e205db4f19b37b60121b83a7333706db86431c6d835849957ed8c3928ad7927dc7234fd11d3e8c36c59277c3e6f149d5cd3cfa9a62aee49f8130962b4b3b9195e8aa5b7827463722b8c153931579d3505566b4edf48d498e185f0509de15204bb53b8977e5f92a0bc372742c4830944a59b4fe6b1c0466e2a6dad122b5d2e030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd31a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002203e205db4f19b37b60121b83a7333706db86431c6d835849957ed8c3928ad7927dc7234fd11d3e8c36c59277c3e6f149d5cd3cfa9a62aee49f8130962b4b3b9195e8aa5b7827463722b8c153931579d3505566b4edf48d498e185f0509de15204bb53b8977e5f92a0bc372742c4830944a59b4fe6b1c0466e2a6dad122b5d2e030644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd31a76dae6d3272396d0cbe61fced2bc532edac647851e3ac53ce1cc9c7e645a83198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c21800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa",
"0000000000000000000000000000000000000000000000000000000000000001",
b,
);
}
#[bench]
fn alt_bn128_pairing_ten_point_match_3(b: &mut Bencher) {
bench(
"0000000000000000000000000000000000000008", // alt_bn128_pairing
"105456a333e6d636854f987ea7bb713dfd0ae8371a72aea313ae0c32c0bf10160cf031d41b41557f3e7e3ba0c51bebe5da8e6ecd855ec50fc87efcdeac168bcc0476be093a6d2b4bbf907172049874af11e1b6267606e00804d3ff0037ec57fd3010c68cb50161b7d1d96bb71edfec9880171954e56871abf3d93cc94d745fa114c059d74e5b6c4ec14ae5864ebe23a71781d86c29fb8fb6cce94f70d3de7a2101b33461f39d9e887dbb100f170a2345dde3c07e256d1dfa2b657ba5cd030427000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000021a2c3013d2ea92e13c800cde68ef56a294b883f6ac35d25f587c09b1b3c635f7290158a80cd3d66530f74dc94c94adb88f5cdb481acca997b6e60071f08a115f2f997f3dbd66a7afe07fe7862ce239edba9e05c5afff7f8a1259c9733b2dfbb929d1691530ca701b4a106054688728c9972c8512e9789e9567aae23e302ccd75",
"0000000000000000000000000000000000000000000000000000000000000001",
b,
);
}

23
ethcore/evm/Cargo.toml Normal file
View File

@@ -0,0 +1,23 @@
[package]
name = "evm"
version = "0.1.0"
authors = ["Parity Technologies <admin@parity.io>"]
[dependencies]
bit-set = "0.4"
parity-bytes = "0.1"
ethereum-types = "0.4"
heapsize = "0.4"
lazy_static = "1.0"
log = "0.4"
vm = { path = "../vm" }
keccak-hash = "0.1"
parking_lot = "0.6"
memory-cache = { path = "../../util/memory_cache" }
[dev-dependencies]
rustc-hex = "1.0"
[features]
evm-debug = []
evm-debug-tests = ["evm-debug"]

View File

@@ -1,4 +1,4 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Parity is free software: you can redistribute it and/or modify
@@ -24,7 +24,10 @@ extern crate test;
use self::test::{Bencher, black_box};
use common::*;
use bigint::prelude::U256;
use bigint::hash::H256;
use util::*;
use vm::ActionParams;
use evm::{self, Factory, VMType};
use evm::tests::FakeExt;

207
ethcore/evm/src/evm.rs Normal file
View File

@@ -0,0 +1,207 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Evm interface.
use std::{ops, cmp, fmt};
use ethereum_types::{U128, U256, U512};
use vm::{Ext, Result, ReturnData, GasLeft, Error};
/// Finalization result. Gas Left: either it is a known value, or it needs to be computed by processing
/// a return instruction.
#[derive(Debug)]
pub struct FinalizationResult {
/// Final amount of gas left.
pub gas_left: U256,
/// Apply execution state changes or revert them.
pub apply_state: bool,
/// Return data buffer.
pub return_data: ReturnData,
}
/// Types that can be "finalized" using an EVM.
///
/// In practice, this is just used to define an inherent impl on
/// `Reult<GasLeft<'a>>`.
pub trait Finalize {
/// Consume the externalities, call return if necessary, and produce call result.
fn finalize<E: Ext>(self, ext: E) -> Result<FinalizationResult>;
}
impl Finalize for Result<GasLeft> {
fn finalize<E: Ext>(self, ext: E) -> Result<FinalizationResult> {
match self {
Ok(GasLeft::Known(gas_left)) => Ok(FinalizationResult { gas_left: gas_left, apply_state: true, return_data: ReturnData::empty() }),
Ok(GasLeft::NeedsReturn { gas_left, data, apply_state }) => ext.ret(&gas_left, &data, apply_state).map(|gas_left| FinalizationResult {
gas_left: gas_left,
apply_state: apply_state,
return_data: data,
}),
Err(err) => Err(err),
}
}
}
impl Finalize for Error {
fn finalize<E: Ext>(self, _ext: E) -> Result<FinalizationResult> {
Err(self)
}
}
/// Cost calculation type. For low-gas usage we calculate costs using usize instead of U256
pub trait CostType: Sized + From<usize> + Copy + Send
+ ops::Mul<Output=Self> + ops::Div<Output=Self> + ops::Add<Output=Self> + ops::Sub<Output=Self>
+ ops::Shr<usize, Output=Self> + ops::Shl<usize, Output=Self>
+ cmp::Ord + fmt::Debug {
/// Converts this cost into `U256`
fn as_u256(&self) -> U256;
/// Tries to fit `U256` into this `Cost` type
fn from_u256(val: U256) -> Result<Self>;
/// Convert to usize (may panic)
fn as_usize(&self) -> usize;
/// Add with overflow
fn overflow_add(self, other: Self) -> (Self, bool);
/// Multiple with overflow
fn overflow_mul(self, other: Self) -> (Self, bool);
/// Single-step full multiplication and shift: `(self*other) >> shr`
/// Should not overflow on intermediate steps
fn overflow_mul_shr(self, other: Self, shr: usize) -> (Self, bool);
}
impl CostType for U256 {
fn as_u256(&self) -> U256 {
*self
}
fn from_u256(val: U256) -> Result<Self> {
Ok(val)
}
fn as_usize(&self) -> usize {
self.as_u64() as usize
}
fn overflow_add(self, other: Self) -> (Self, bool) {
self.overflowing_add(other)
}
fn overflow_mul(self, other: Self) -> (Self, bool) {
self.overflowing_mul(other)
}
fn overflow_mul_shr(self, other: Self, shr: usize) -> (Self, bool) {
let x = self.full_mul(other);
let U512(parts) = x;
let overflow = (parts[4] | parts[5] | parts[6] | parts[7]) > 0;
let U512(parts) = x >> shr;
(
U256([parts[0], parts[1], parts[2], parts[3]]),
overflow
)
}
}
impl CostType for usize {
fn as_u256(&self) -> U256 {
U256::from(*self)
}
fn from_u256(val: U256) -> Result<Self> {
let res = val.low_u64() as usize;
// validate if value fits into usize
if U256::from(res) != val {
return Err(Error::OutOfGas);
}
Ok(res)
}
fn as_usize(&self) -> usize {
*self
}
fn overflow_add(self, other: Self) -> (Self, bool) {
self.overflowing_add(other)
}
fn overflow_mul(self, other: Self) -> (Self, bool) {
self.overflowing_mul(other)
}
fn overflow_mul_shr(self, other: Self, shr: usize) -> (Self, bool) {
let (c, o) = U128::from(self).overflowing_mul(U128::from(other));
let U128(parts) = c;
let overflow = o | (parts[1] > 0);
let U128(parts) = c >> shr;
let result = parts[0] as usize;
let overflow = overflow | (parts[0] > result as u64);
(result, overflow)
}
}
#[cfg(test)]
mod tests {
use ethereum_types::U256;
use super::CostType;
#[test]
fn should_calculate_overflow_mul_shr_without_overflow() {
// given
let num = 1048576;
// when
let (res1, o1) = U256::from(num).overflow_mul_shr(U256::from(num), 20);
let (res2, o2) = num.overflow_mul_shr(num, 20);
// then
assert_eq!(res1, U256::from(num));
assert!(!o1);
assert_eq!(res2, num);
assert!(!o2);
}
#[test]
fn should_calculate_overflow_mul_shr_with_overflow() {
// given
let max = u64::max_value();
let num1 = U256([max, max, max, max]);
let num2 = usize::max_value();
// when
let (res1, o1) = num1.overflow_mul_shr(num1, 256);
let (res2, o2) = num2.overflow_mul_shr(num2, 64);
// then
assert_eq!(res2, num2 - 1);
assert!(o2);
assert_eq!(res1, !U256::zero() - U256::one());
assert!(o1);
}
#[test]
fn should_validate_u256_to_usize_conversion() {
// given
let v = U256::from(usize::max_value()) + U256::from(1);
// when
let res = usize::from_u256(v);
// then
assert!(res.is_err());
}
}

104
ethcore/evm/src/factory.rs Normal file
View File

@@ -0,0 +1,104 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Evm factory.
//!
use std::sync::Arc;
use vm::{Exec, Schedule};
use ethereum_types::U256;
use super::vm::ActionParams;
use super::interpreter::SharedCache;
use super::vmtype::VMType;
/// Evm factory. Creates appropriate Evm.
#[derive(Clone)]
pub struct Factory {
evm: VMType,
evm_cache: Arc<SharedCache>,
}
impl Factory {
/// Create fresh instance of VM
/// Might choose implementation depending on supplied gas.
pub fn create(&self, params: ActionParams, schedule: &Schedule, depth: usize) -> Box<Exec> {
match self.evm {
VMType::Interpreter => if Self::can_fit_in_usize(&params.gas) {
Box::new(super::interpreter::Interpreter::<usize>::new(params, self.evm_cache.clone(), schedule, depth))
} else {
Box::new(super::interpreter::Interpreter::<U256>::new(params, self.evm_cache.clone(), schedule, depth))
}
}
}
/// Create new instance of specific `VMType` factory, with a size in bytes
/// for caching jump destinations.
pub fn new(evm: VMType, cache_size: usize) -> Self {
Factory {
evm: evm,
evm_cache: Arc::new(SharedCache::new(cache_size)),
}
}
fn can_fit_in_usize(gas: &U256) -> bool {
gas == &U256::from(gas.low_u64() as usize)
}
}
impl Default for Factory {
/// Returns native rust evm factory
fn default() -> Factory {
Factory {
evm: VMType::Interpreter,
evm_cache: Arc::new(SharedCache::default()),
}
}
}
#[test]
fn test_create_vm() {
use vm::Ext;
use vm::tests::FakeExt;
use bytes::Bytes;
let mut params = ActionParams::default();
params.code = Some(Arc::new(Bytes::default()));
let ext = FakeExt::new();
let _vm = Factory::default().create(params, ext.schedule(), ext.depth());
}
/// Create tests by injecting different VM factories
#[macro_export]
macro_rules! evm_test(
($name_test: ident: $name_int: ident) => {
#[test]
fn $name_int() {
$name_test(Factory::new(VMType::Interpreter, 1024 * 32));
}
}
);
/// Create ignored tests by injecting different VM factories
#[macro_export]
macro_rules! evm_test_ignore(
($name_test: ident: $name_int: ident) => {
#[test]
#[ignore]
#[cfg(feature = "ignored-tests")]
fn $name_int() {
$name_test(Factory::new(VMType::Interpreter, 1024 * 32));
}
}
);

View File

@@ -0,0 +1,644 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! VM Instructions list and utility functions
pub use self::Instruction::*;
macro_rules! enum_with_from_u8 {
(
$( #[$enum_attr:meta] )*
pub enum $name:ident {
$( $( #[$variant_attr:meta] )* $variant:ident = $discriminator:expr ),+,
}
) => {
$( #[$enum_attr] )*
pub enum $name {
$( $( #[$variant_attr] )* $variant = $discriminator ),+,
}
impl $name {
#[doc = "Convert from u8 to the given enum"]
pub fn from_u8(value: u8) -> Option<Self> {
match value {
$( $discriminator => Some($variant) ),+,
_ => None,
}
}
}
};
}
enum_with_from_u8! {
#[doc = "Virtual machine bytecode instruction."]
#[repr(u8)]
#[derive(Eq, PartialEq, Ord, PartialOrd, Clone, Copy, Debug, Hash)]
pub enum Instruction {
#[doc = "halts execution"]
STOP = 0x00,
#[doc = "addition operation"]
ADD = 0x01,
#[doc = "mulitplication operation"]
MUL = 0x02,
#[doc = "subtraction operation"]
SUB = 0x03,
#[doc = "integer division operation"]
DIV = 0x04,
#[doc = "signed integer division operation"]
SDIV = 0x05,
#[doc = "modulo remainder operation"]
MOD = 0x06,
#[doc = "signed modulo remainder operation"]
SMOD = 0x07,
#[doc = "unsigned modular addition"]
ADDMOD = 0x08,
#[doc = "unsigned modular multiplication"]
MULMOD = 0x09,
#[doc = "exponential operation"]
EXP = 0x0a,
#[doc = "extend length of signed integer"]
SIGNEXTEND = 0x0b,
#[doc = "less-than comparision"]
LT = 0x10,
#[doc = "greater-than comparision"]
GT = 0x11,
#[doc = "signed less-than comparision"]
SLT = 0x12,
#[doc = "signed greater-than comparision"]
SGT = 0x13,
#[doc = "equality comparision"]
EQ = 0x14,
#[doc = "simple not operator"]
ISZERO = 0x15,
#[doc = "bitwise AND operation"]
AND = 0x16,
#[doc = "bitwise OR operation"]
OR = 0x17,
#[doc = "bitwise XOR operation"]
XOR = 0x18,
#[doc = "bitwise NOT opertation"]
NOT = 0x19,
#[doc = "retrieve single byte from word"]
BYTE = 0x1a,
#[doc = "shift left operation"]
SHL = 0x1b,
#[doc = "logical shift right operation"]
SHR = 0x1c,
#[doc = "arithmetic shift right operation"]
SAR = 0x1d,
#[doc = "compute SHA3-256 hash"]
SHA3 = 0x20,
#[doc = "get address of currently executing account"]
ADDRESS = 0x30,
#[doc = "get balance of the given account"]
BALANCE = 0x31,
#[doc = "get execution origination address"]
ORIGIN = 0x32,
#[doc = "get caller address"]
CALLER = 0x33,
#[doc = "get deposited value by the instruction/transaction responsible for this execution"]
CALLVALUE = 0x34,
#[doc = "get input data of current environment"]
CALLDATALOAD = 0x35,
#[doc = "get size of input data in current environment"]
CALLDATASIZE = 0x36,
#[doc = "copy input data in current environment to memory"]
CALLDATACOPY = 0x37,
#[doc = "get size of code running in current environment"]
CODESIZE = 0x38,
#[doc = "copy code running in current environment to memory"]
CODECOPY = 0x39,
#[doc = "get price of gas in current environment"]
GASPRICE = 0x3a,
#[doc = "get external code size (from another contract)"]
EXTCODESIZE = 0x3b,
#[doc = "copy external code (from another contract)"]
EXTCODECOPY = 0x3c,
#[doc = "get the size of the return data buffer for the last call"]
RETURNDATASIZE = 0x3d,
#[doc = "copy return data buffer to memory"]
RETURNDATACOPY = 0x3e,
#[doc = "return the keccak256 hash of contract code"]
EXTCODEHASH = 0x3f,
#[doc = "get hash of most recent complete block"]
BLOCKHASH = 0x40,
#[doc = "get the block's coinbase address"]
COINBASE = 0x41,
#[doc = "get the block's timestamp"]
TIMESTAMP = 0x42,
#[doc = "get the block's number"]
NUMBER = 0x43,
#[doc = "get the block's difficulty"]
DIFFICULTY = 0x44,
#[doc = "get the block's gas limit"]
GASLIMIT = 0x45,
#[doc = "remove item from stack"]
POP = 0x50,
#[doc = "load word from memory"]
MLOAD = 0x51,
#[doc = "save word to memory"]
MSTORE = 0x52,
#[doc = "save byte to memory"]
MSTORE8 = 0x53,
#[doc = "load word from storage"]
SLOAD = 0x54,
#[doc = "save word to storage"]
SSTORE = 0x55,
#[doc = "alter the program counter"]
JUMP = 0x56,
#[doc = "conditionally alter the program counter"]
JUMPI = 0x57,
#[doc = "get the program counter"]
PC = 0x58,
#[doc = "get the size of active memory"]
MSIZE = 0x59,
#[doc = "get the amount of available gas"]
GAS = 0x5a,
#[doc = "set a potential jump destination"]
JUMPDEST = 0x5b,
#[doc = "place 1 byte item on stack"]
PUSH1 = 0x60,
#[doc = "place 2 byte item on stack"]
PUSH2 = 0x61,
#[doc = "place 3 byte item on stack"]
PUSH3 = 0x62,
#[doc = "place 4 byte item on stack"]
PUSH4 = 0x63,
#[doc = "place 5 byte item on stack"]
PUSH5 = 0x64,
#[doc = "place 6 byte item on stack"]
PUSH6 = 0x65,
#[doc = "place 7 byte item on stack"]
PUSH7 = 0x66,
#[doc = "place 8 byte item on stack"]
PUSH8 = 0x67,
#[doc = "place 9 byte item on stack"]
PUSH9 = 0x68,
#[doc = "place 10 byte item on stack"]
PUSH10 = 0x69,
#[doc = "place 11 byte item on stack"]
PUSH11 = 0x6a,
#[doc = "place 12 byte item on stack"]
PUSH12 = 0x6b,
#[doc = "place 13 byte item on stack"]
PUSH13 = 0x6c,
#[doc = "place 14 byte item on stack"]
PUSH14 = 0x6d,
#[doc = "place 15 byte item on stack"]
PUSH15 = 0x6e,
#[doc = "place 16 byte item on stack"]
PUSH16 = 0x6f,
#[doc = "place 17 byte item on stack"]
PUSH17 = 0x70,
#[doc = "place 18 byte item on stack"]
PUSH18 = 0x71,
#[doc = "place 19 byte item on stack"]
PUSH19 = 0x72,
#[doc = "place 20 byte item on stack"]
PUSH20 = 0x73,
#[doc = "place 21 byte item on stack"]
PUSH21 = 0x74,
#[doc = "place 22 byte item on stack"]
PUSH22 = 0x75,
#[doc = "place 23 byte item on stack"]
PUSH23 = 0x76,
#[doc = "place 24 byte item on stack"]
PUSH24 = 0x77,
#[doc = "place 25 byte item on stack"]
PUSH25 = 0x78,
#[doc = "place 26 byte item on stack"]
PUSH26 = 0x79,
#[doc = "place 27 byte item on stack"]
PUSH27 = 0x7a,
#[doc = "place 28 byte item on stack"]
PUSH28 = 0x7b,
#[doc = "place 29 byte item on stack"]
PUSH29 = 0x7c,
#[doc = "place 30 byte item on stack"]
PUSH30 = 0x7d,
#[doc = "place 31 byte item on stack"]
PUSH31 = 0x7e,
#[doc = "place 32 byte item on stack"]
PUSH32 = 0x7f,
#[doc = "copies the highest item in the stack to the top of the stack"]
DUP1 = 0x80,
#[doc = "copies the second highest item in the stack to the top of the stack"]
DUP2 = 0x81,
#[doc = "copies the third highest item in the stack to the top of the stack"]
DUP3 = 0x82,
#[doc = "copies the 4th highest item in the stack to the top of the stack"]
DUP4 = 0x83,
#[doc = "copies the 5th highest item in the stack to the top of the stack"]
DUP5 = 0x84,
#[doc = "copies the 6th highest item in the stack to the top of the stack"]
DUP6 = 0x85,
#[doc = "copies the 7th highest item in the stack to the top of the stack"]
DUP7 = 0x86,
#[doc = "copies the 8th highest item in the stack to the top of the stack"]
DUP8 = 0x87,
#[doc = "copies the 9th highest item in the stack to the top of the stack"]
DUP9 = 0x88,
#[doc = "copies the 10th highest item in the stack to the top of the stack"]
DUP10 = 0x89,
#[doc = "copies the 11th highest item in the stack to the top of the stack"]
DUP11 = 0x8a,
#[doc = "copies the 12th highest item in the stack to the top of the stack"]
DUP12 = 0x8b,
#[doc = "copies the 13th highest item in the stack to the top of the stack"]
DUP13 = 0x8c,
#[doc = "copies the 14th highest item in the stack to the top of the stack"]
DUP14 = 0x8d,
#[doc = "copies the 15th highest item in the stack to the top of the stack"]
DUP15 = 0x8e,
#[doc = "copies the 16th highest item in the stack to the top of the stack"]
DUP16 = 0x8f,
#[doc = "swaps the highest and second highest value on the stack"]
SWAP1 = 0x90,
#[doc = "swaps the highest and third highest value on the stack"]
SWAP2 = 0x91,
#[doc = "swaps the highest and 4th highest value on the stack"]
SWAP3 = 0x92,
#[doc = "swaps the highest and 5th highest value on the stack"]
SWAP4 = 0x93,
#[doc = "swaps the highest and 6th highest value on the stack"]
SWAP5 = 0x94,
#[doc = "swaps the highest and 7th highest value on the stack"]
SWAP6 = 0x95,
#[doc = "swaps the highest and 8th highest value on the stack"]
SWAP7 = 0x96,
#[doc = "swaps the highest and 9th highest value on the stack"]
SWAP8 = 0x97,
#[doc = "swaps the highest and 10th highest value on the stack"]
SWAP9 = 0x98,
#[doc = "swaps the highest and 11th highest value on the stack"]
SWAP10 = 0x99,
#[doc = "swaps the highest and 12th highest value on the stack"]
SWAP11 = 0x9a,
#[doc = "swaps the highest and 13th highest value on the stack"]
SWAP12 = 0x9b,
#[doc = "swaps the highest and 14th highest value on the stack"]
SWAP13 = 0x9c,
#[doc = "swaps the highest and 15th highest value on the stack"]
SWAP14 = 0x9d,
#[doc = "swaps the highest and 16th highest value on the stack"]
SWAP15 = 0x9e,
#[doc = "swaps the highest and 17th highest value on the stack"]
SWAP16 = 0x9f,
#[doc = "Makes a log entry, no topics."]
LOG0 = 0xa0,
#[doc = "Makes a log entry, 1 topic."]
LOG1 = 0xa1,
#[doc = "Makes a log entry, 2 topics."]
LOG2 = 0xa2,
#[doc = "Makes a log entry, 3 topics."]
LOG3 = 0xa3,
#[doc = "Makes a log entry, 4 topics."]
LOG4 = 0xa4,
#[doc = "create a new account with associated code"]
CREATE = 0xf0,
#[doc = "message-call into an account"]
CALL = 0xf1,
#[doc = "message-call with another account's code only"]
CALLCODE = 0xf2,
#[doc = "halt execution returning output data"]
RETURN = 0xf3,
#[doc = "like CALLCODE but keeps caller's value and sender"]
DELEGATECALL = 0xf4,
#[doc = "create a new account and set creation address to sha3(sender + sha3(init code)) % 2**160"]
CREATE2 = 0xf5,
#[doc = "stop execution and revert state changes. Return output data."]
REVERT = 0xfd,
#[doc = "like CALL but it does not take value, nor modify the state"]
STATICCALL = 0xfa,
#[doc = "halt execution and register account for later deletion"]
SUICIDE = 0xff,
}
}
impl Instruction {
/// Returns true if given instruction is `PUSHN` instruction.
pub fn is_push(&self) -> bool {
*self >= PUSH1 && *self <= PUSH32
}
/// Returns number of bytes to read for `PUSHN` instruction
/// PUSH1 -> 1
pub fn push_bytes(&self) -> Option<usize> {
if self.is_push() {
Some(((*self as u8) - (PUSH1 as u8) + 1) as usize)
} else {
None
}
}
/// Returns stack position of item to duplicate
/// DUP1 -> 0
pub fn dup_position(&self) -> Option<usize> {
if *self >= DUP1 && *self <= DUP16 {
Some(((*self as u8) - (DUP1 as u8)) as usize)
} else {
None
}
}
/// Returns stack position of item to SWAP top with
/// SWAP1 -> 1
pub fn swap_position(&self) -> Option<usize> {
if *self >= SWAP1 && *self <= SWAP16 {
Some(((*self as u8) - (SWAP1 as u8) + 1) as usize)
} else {
None
}
}
/// Returns number of topics to take from stack
/// LOG0 -> 0
pub fn log_topics(&self) -> Option<usize> {
if *self >= LOG0 && *self <= LOG4 {
Some(((*self as u8) - (LOG0 as u8)) as usize)
} else {
None
}
}
/// Returns the instruction info.
pub fn info(&self) -> &'static InstructionInfo {
INSTRUCTIONS[*self as usize].as_ref().expect("A instruction is defined in Instruction enum, but it is not found in InstructionInfo struct; this indicates a logic failure in the code.")
}
}
#[derive(PartialEq, Clone, Copy)]
pub enum GasPriceTier {
/// 0 Zero
Zero,
/// 2 Quick
Base,
/// 3 Fastest
VeryLow,
/// 5 Fast
Low,
/// 8 Mid
Mid,
/// 10 Slow
High,
/// 20 Ext
Ext,
/// Multiparam or otherwise special
Special,
}
impl GasPriceTier {
/// Returns the index in schedule for specific `GasPriceTier`
pub fn idx(&self) -> usize {
match self {
&GasPriceTier::Zero => 0,
&GasPriceTier::Base => 1,
&GasPriceTier::VeryLow => 2,
&GasPriceTier::Low => 3,
&GasPriceTier::Mid => 4,
&GasPriceTier::High => 5,
&GasPriceTier::Ext => 6,
&GasPriceTier::Special => 7,
}
}
}
/// EVM instruction information.
#[derive(Copy, Clone)]
pub struct InstructionInfo {
/// Mnemonic name.
pub name: &'static str,
/// Number of stack arguments.
pub args: usize,
/// Number of returned stack items.
pub ret: usize,
/// Gas price tier.
pub tier: GasPriceTier
}
impl InstructionInfo {
/// Create new instruction info.
pub fn new(name: &'static str, args: usize, ret: usize, tier: GasPriceTier) -> Self {
InstructionInfo {
name: name,
args: args,
ret: ret,
tier: tier
}
}
}
lazy_static! {
/// Static instruction table.
static ref INSTRUCTIONS: [Option<InstructionInfo>; 0x100] = {
let mut arr = [None; 0x100];
arr[STOP as usize] = Some(InstructionInfo::new("STOP", 0, 0, GasPriceTier::Zero));
arr[ADD as usize] = Some(InstructionInfo::new("ADD", 2, 1, GasPriceTier::VeryLow));
arr[SUB as usize] = Some(InstructionInfo::new("SUB", 2, 1, GasPriceTier::VeryLow));
arr[MUL as usize] = Some(InstructionInfo::new("MUL", 2, 1, GasPriceTier::Low));
arr[DIV as usize] = Some(InstructionInfo::new("DIV", 2, 1, GasPriceTier::Low));
arr[SDIV as usize] = Some(InstructionInfo::new("SDIV", 2, 1, GasPriceTier::Low));
arr[MOD as usize] = Some(InstructionInfo::new("MOD", 2, 1, GasPriceTier::Low));
arr[SMOD as usize] = Some(InstructionInfo::new("SMOD", 2, 1, GasPriceTier::Low));
arr[EXP as usize] = Some(InstructionInfo::new("EXP", 2, 1, GasPriceTier::Special));
arr[NOT as usize] = Some(InstructionInfo::new("NOT", 1, 1, GasPriceTier::VeryLow));
arr[LT as usize] = Some(InstructionInfo::new("LT", 2, 1, GasPriceTier::VeryLow));
arr[GT as usize] = Some(InstructionInfo::new("GT", 2, 1, GasPriceTier::VeryLow));
arr[SLT as usize] = Some(InstructionInfo::new("SLT", 2, 1, GasPriceTier::VeryLow));
arr[SGT as usize] = Some(InstructionInfo::new("SGT", 2, 1, GasPriceTier::VeryLow));
arr[EQ as usize] = Some(InstructionInfo::new("EQ", 2, 1, GasPriceTier::VeryLow));
arr[ISZERO as usize] = Some(InstructionInfo::new("ISZERO", 1, 1, GasPriceTier::VeryLow));
arr[AND as usize] = Some(InstructionInfo::new("AND", 2, 1, GasPriceTier::VeryLow));
arr[OR as usize] = Some(InstructionInfo::new("OR", 2, 1, GasPriceTier::VeryLow));
arr[XOR as usize] = Some(InstructionInfo::new("XOR", 2, 1, GasPriceTier::VeryLow));
arr[BYTE as usize] = Some(InstructionInfo::new("BYTE", 2, 1, GasPriceTier::VeryLow));
arr[SHL as usize] = Some(InstructionInfo::new("SHL", 2, 1, GasPriceTier::VeryLow));
arr[SHR as usize] = Some(InstructionInfo::new("SHR", 2, 1, GasPriceTier::VeryLow));
arr[SAR as usize] = Some(InstructionInfo::new("SAR", 2, 1, GasPriceTier::VeryLow));
arr[ADDMOD as usize] = Some(InstructionInfo::new("ADDMOD", 3, 1, GasPriceTier::Mid));
arr[MULMOD as usize] = Some(InstructionInfo::new("MULMOD", 3, 1, GasPriceTier::Mid));
arr[SIGNEXTEND as usize] = Some(InstructionInfo::new("SIGNEXTEND", 2, 1, GasPriceTier::Low));
arr[RETURNDATASIZE as usize] = Some(InstructionInfo::new("RETURNDATASIZE", 0, 1, GasPriceTier::Base));
arr[RETURNDATACOPY as usize] = Some(InstructionInfo::new("RETURNDATACOPY", 3, 0, GasPriceTier::VeryLow));
arr[SHA3 as usize] = Some(InstructionInfo::new("SHA3", 2, 1, GasPriceTier::Special));
arr[ADDRESS as usize] = Some(InstructionInfo::new("ADDRESS", 0, 1, GasPriceTier::Base));
arr[BALANCE as usize] = Some(InstructionInfo::new("BALANCE", 1, 1, GasPriceTier::Special));
arr[ORIGIN as usize] = Some(InstructionInfo::new("ORIGIN", 0, 1, GasPriceTier::Base));
arr[CALLER as usize] = Some(InstructionInfo::new("CALLER", 0, 1, GasPriceTier::Base));
arr[CALLVALUE as usize] = Some(InstructionInfo::new("CALLVALUE", 0, 1, GasPriceTier::Base));
arr[CALLDATALOAD as usize] = Some(InstructionInfo::new("CALLDATALOAD", 1, 1, GasPriceTier::VeryLow));
arr[CALLDATASIZE as usize] = Some(InstructionInfo::new("CALLDATASIZE", 0, 1, GasPriceTier::Base));
arr[CALLDATACOPY as usize] = Some(InstructionInfo::new("CALLDATACOPY", 3, 0, GasPriceTier::VeryLow));
arr[EXTCODEHASH as usize] = Some(InstructionInfo::new("EXTCODEHASH", 1, 1, GasPriceTier::Special));
arr[CODESIZE as usize] = Some(InstructionInfo::new("CODESIZE", 0, 1, GasPriceTier::Base));
arr[CODECOPY as usize] = Some(InstructionInfo::new("CODECOPY", 3, 0, GasPriceTier::VeryLow));
arr[GASPRICE as usize] = Some(InstructionInfo::new("GASPRICE", 0, 1, GasPriceTier::Base));
arr[EXTCODESIZE as usize] = Some(InstructionInfo::new("EXTCODESIZE", 1, 1, GasPriceTier::Special));
arr[EXTCODECOPY as usize] = Some(InstructionInfo::new("EXTCODECOPY", 4, 0, GasPriceTier::Special));
arr[BLOCKHASH as usize] = Some(InstructionInfo::new("BLOCKHASH", 1, 1, GasPriceTier::Ext));
arr[COINBASE as usize] = Some(InstructionInfo::new("COINBASE", 0, 1, GasPriceTier::Base));
arr[TIMESTAMP as usize] = Some(InstructionInfo::new("TIMESTAMP", 0, 1, GasPriceTier::Base));
arr[NUMBER as usize] = Some(InstructionInfo::new("NUMBER", 0, 1, GasPriceTier::Base));
arr[DIFFICULTY as usize] = Some(InstructionInfo::new("DIFFICULTY", 0, 1, GasPriceTier::Base));
arr[GASLIMIT as usize] = Some(InstructionInfo::new("GASLIMIT", 0, 1, GasPriceTier::Base));
arr[POP as usize] = Some(InstructionInfo::new("POP", 1, 0, GasPriceTier::Base));
arr[MLOAD as usize] = Some(InstructionInfo::new("MLOAD", 1, 1, GasPriceTier::VeryLow));
arr[MSTORE as usize] = Some(InstructionInfo::new("MSTORE", 2, 0, GasPriceTier::VeryLow));
arr[MSTORE8 as usize] = Some(InstructionInfo::new("MSTORE8", 2, 0, GasPriceTier::VeryLow));
arr[SLOAD as usize] = Some(InstructionInfo::new("SLOAD", 1, 1, GasPriceTier::Special));
arr[SSTORE as usize] = Some(InstructionInfo::new("SSTORE", 2, 0, GasPriceTier::Special));
arr[JUMP as usize] = Some(InstructionInfo::new("JUMP", 1, 0, GasPriceTier::Mid));
arr[JUMPI as usize] = Some(InstructionInfo::new("JUMPI", 2, 0, GasPriceTier::High));
arr[PC as usize] = Some(InstructionInfo::new("PC", 0, 1, GasPriceTier::Base));
arr[MSIZE as usize] = Some(InstructionInfo::new("MSIZE", 0, 1, GasPriceTier::Base));
arr[GAS as usize] = Some(InstructionInfo::new("GAS", 0, 1, GasPriceTier::Base));
arr[JUMPDEST as usize] = Some(InstructionInfo::new("JUMPDEST", 0, 0, GasPriceTier::Special));
arr[PUSH1 as usize] = Some(InstructionInfo::new("PUSH1", 0, 1, GasPriceTier::VeryLow));
arr[PUSH2 as usize] = Some(InstructionInfo::new("PUSH2", 0, 1, GasPriceTier::VeryLow));
arr[PUSH3 as usize] = Some(InstructionInfo::new("PUSH3", 0, 1, GasPriceTier::VeryLow));
arr[PUSH4 as usize] = Some(InstructionInfo::new("PUSH4", 0, 1, GasPriceTier::VeryLow));
arr[PUSH5 as usize] = Some(InstructionInfo::new("PUSH5", 0, 1, GasPriceTier::VeryLow));
arr[PUSH6 as usize] = Some(InstructionInfo::new("PUSH6", 0, 1, GasPriceTier::VeryLow));
arr[PUSH7 as usize] = Some(InstructionInfo::new("PUSH7", 0, 1, GasPriceTier::VeryLow));
arr[PUSH8 as usize] = Some(InstructionInfo::new("PUSH8", 0, 1, GasPriceTier::VeryLow));
arr[PUSH9 as usize] = Some(InstructionInfo::new("PUSH9", 0, 1, GasPriceTier::VeryLow));
arr[PUSH10 as usize] = Some(InstructionInfo::new("PUSH10", 0, 1, GasPriceTier::VeryLow));
arr[PUSH11 as usize] = Some(InstructionInfo::new("PUSH11", 0, 1, GasPriceTier::VeryLow));
arr[PUSH12 as usize] = Some(InstructionInfo::new("PUSH12", 0, 1, GasPriceTier::VeryLow));
arr[PUSH13 as usize] = Some(InstructionInfo::new("PUSH13", 0, 1, GasPriceTier::VeryLow));
arr[PUSH14 as usize] = Some(InstructionInfo::new("PUSH14", 0, 1, GasPriceTier::VeryLow));
arr[PUSH15 as usize] = Some(InstructionInfo::new("PUSH15", 0, 1, GasPriceTier::VeryLow));
arr[PUSH16 as usize] = Some(InstructionInfo::new("PUSH16", 0, 1, GasPriceTier::VeryLow));
arr[PUSH17 as usize] = Some(InstructionInfo::new("PUSH17", 0, 1, GasPriceTier::VeryLow));
arr[PUSH18 as usize] = Some(InstructionInfo::new("PUSH18", 0, 1, GasPriceTier::VeryLow));
arr[PUSH19 as usize] = Some(InstructionInfo::new("PUSH19", 0, 1, GasPriceTier::VeryLow));
arr[PUSH20 as usize] = Some(InstructionInfo::new("PUSH20", 0, 1, GasPriceTier::VeryLow));
arr[PUSH21 as usize] = Some(InstructionInfo::new("PUSH21", 0, 1, GasPriceTier::VeryLow));
arr[PUSH22 as usize] = Some(InstructionInfo::new("PUSH22", 0, 1, GasPriceTier::VeryLow));
arr[PUSH23 as usize] = Some(InstructionInfo::new("PUSH23", 0, 1, GasPriceTier::VeryLow));
arr[PUSH24 as usize] = Some(InstructionInfo::new("PUSH24", 0, 1, GasPriceTier::VeryLow));
arr[PUSH25 as usize] = Some(InstructionInfo::new("PUSH25", 0, 1, GasPriceTier::VeryLow));
arr[PUSH26 as usize] = Some(InstructionInfo::new("PUSH26", 0, 1, GasPriceTier::VeryLow));
arr[PUSH27 as usize] = Some(InstructionInfo::new("PUSH27", 0, 1, GasPriceTier::VeryLow));
arr[PUSH28 as usize] = Some(InstructionInfo::new("PUSH28", 0, 1, GasPriceTier::VeryLow));
arr[PUSH29 as usize] = Some(InstructionInfo::new("PUSH29", 0, 1, GasPriceTier::VeryLow));
arr[PUSH30 as usize] = Some(InstructionInfo::new("PUSH30", 0, 1, GasPriceTier::VeryLow));
arr[PUSH31 as usize] = Some(InstructionInfo::new("PUSH31", 0, 1, GasPriceTier::VeryLow));
arr[PUSH32 as usize] = Some(InstructionInfo::new("PUSH32", 0, 1, GasPriceTier::VeryLow));
arr[DUP1 as usize] = Some(InstructionInfo::new("DUP1", 1, 2, GasPriceTier::VeryLow));
arr[DUP2 as usize] = Some(InstructionInfo::new("DUP2", 2, 3, GasPriceTier::VeryLow));
arr[DUP3 as usize] = Some(InstructionInfo::new("DUP3", 3, 4, GasPriceTier::VeryLow));
arr[DUP4 as usize] = Some(InstructionInfo::new("DUP4", 4, 5, GasPriceTier::VeryLow));
arr[DUP5 as usize] = Some(InstructionInfo::new("DUP5", 5, 6, GasPriceTier::VeryLow));
arr[DUP6 as usize] = Some(InstructionInfo::new("DUP6", 6, 7, GasPriceTier::VeryLow));
arr[DUP7 as usize] = Some(InstructionInfo::new("DUP7", 7, 8, GasPriceTier::VeryLow));
arr[DUP8 as usize] = Some(InstructionInfo::new("DUP8", 8, 9, GasPriceTier::VeryLow));
arr[DUP9 as usize] = Some(InstructionInfo::new("DUP9", 9, 10, GasPriceTier::VeryLow));
arr[DUP10 as usize] = Some(InstructionInfo::new("DUP10", 10, 11, GasPriceTier::VeryLow));
arr[DUP11 as usize] = Some(InstructionInfo::new("DUP11", 11, 12, GasPriceTier::VeryLow));
arr[DUP12 as usize] = Some(InstructionInfo::new("DUP12", 12, 13, GasPriceTier::VeryLow));
arr[DUP13 as usize] = Some(InstructionInfo::new("DUP13", 13, 14, GasPriceTier::VeryLow));
arr[DUP14 as usize] = Some(InstructionInfo::new("DUP14", 14, 15, GasPriceTier::VeryLow));
arr[DUP15 as usize] = Some(InstructionInfo::new("DUP15", 15, 16, GasPriceTier::VeryLow));
arr[DUP16 as usize] = Some(InstructionInfo::new("DUP16", 16, 17, GasPriceTier::VeryLow));
arr[SWAP1 as usize] = Some(InstructionInfo::new("SWAP1", 2, 2, GasPriceTier::VeryLow));
arr[SWAP2 as usize] = Some(InstructionInfo::new("SWAP2", 3, 3, GasPriceTier::VeryLow));
arr[SWAP3 as usize] = Some(InstructionInfo::new("SWAP3", 4, 4, GasPriceTier::VeryLow));
arr[SWAP4 as usize] = Some(InstructionInfo::new("SWAP4", 5, 5, GasPriceTier::VeryLow));
arr[SWAP5 as usize] = Some(InstructionInfo::new("SWAP5", 6, 6, GasPriceTier::VeryLow));
arr[SWAP6 as usize] = Some(InstructionInfo::new("SWAP6", 7, 7, GasPriceTier::VeryLow));
arr[SWAP7 as usize] = Some(InstructionInfo::new("SWAP7", 8, 8, GasPriceTier::VeryLow));
arr[SWAP8 as usize] = Some(InstructionInfo::new("SWAP8", 9, 9, GasPriceTier::VeryLow));
arr[SWAP9 as usize] = Some(InstructionInfo::new("SWAP9", 10, 10, GasPriceTier::VeryLow));
arr[SWAP10 as usize] = Some(InstructionInfo::new("SWAP10", 11, 11, GasPriceTier::VeryLow));
arr[SWAP11 as usize] = Some(InstructionInfo::new("SWAP11", 12, 12, GasPriceTier::VeryLow));
arr[SWAP12 as usize] = Some(InstructionInfo::new("SWAP12", 13, 13, GasPriceTier::VeryLow));
arr[SWAP13 as usize] = Some(InstructionInfo::new("SWAP13", 14, 14, GasPriceTier::VeryLow));
arr[SWAP14 as usize] = Some(InstructionInfo::new("SWAP14", 15, 15, GasPriceTier::VeryLow));
arr[SWAP15 as usize] = Some(InstructionInfo::new("SWAP15", 16, 16, GasPriceTier::VeryLow));
arr[SWAP16 as usize] = Some(InstructionInfo::new("SWAP16", 17, 17, GasPriceTier::VeryLow));
arr[LOG0 as usize] = Some(InstructionInfo::new("LOG0", 2, 0, GasPriceTier::Special));
arr[LOG1 as usize] = Some(InstructionInfo::new("LOG1", 3, 0, GasPriceTier::Special));
arr[LOG2 as usize] = Some(InstructionInfo::new("LOG2", 4, 0, GasPriceTier::Special));
arr[LOG3 as usize] = Some(InstructionInfo::new("LOG3", 5, 0, GasPriceTier::Special));
arr[LOG4 as usize] = Some(InstructionInfo::new("LOG4", 6, 0, GasPriceTier::Special));
arr[CREATE as usize] = Some(InstructionInfo::new("CREATE", 3, 1, GasPriceTier::Special));
arr[CALL as usize] = Some(InstructionInfo::new("CALL", 7, 1, GasPriceTier::Special));
arr[CALLCODE as usize] = Some(InstructionInfo::new("CALLCODE", 7, 1, GasPriceTier::Special));
arr[RETURN as usize] = Some(InstructionInfo::new("RETURN", 2, 0, GasPriceTier::Zero));
arr[DELEGATECALL as usize] = Some(InstructionInfo::new("DELEGATECALL", 6, 1, GasPriceTier::Special));
arr[STATICCALL as usize] = Some(InstructionInfo::new("STATICCALL", 6, 1, GasPriceTier::Special));
arr[SUICIDE as usize] = Some(InstructionInfo::new("SUICIDE", 1, 0, GasPriceTier::Special));
arr[CREATE2 as usize] = Some(InstructionInfo::new("CREATE2", 4, 1, GasPriceTier::Special));
arr[REVERT as usize] = Some(InstructionInfo::new("REVERT", 2, 0, GasPriceTier::Zero));
arr
};
}
/// Maximal number of topics for log instructions
pub const MAX_NO_OF_TOPICS: usize = 4;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_is_push() {
assert!(PUSH1.is_push());
assert!(PUSH32.is_push());
assert!(!DUP1.is_push());
}
#[test]
fn test_get_push_bytes() {
assert_eq!(PUSH1.push_bytes(), Some(1));
assert_eq!(PUSH3.push_bytes(), Some(3));
assert_eq!(PUSH32.push_bytes(), Some(32));
}
#[test]
fn test_get_dup_position() {
assert_eq!(DUP1.dup_position(), Some(0));
assert_eq!(DUP5.dup_position(), Some(4));
assert_eq!(DUP10.dup_position(), Some(9));
}
#[test]
fn test_get_swap_position() {
assert_eq!(SWAP1.swap_position(), Some(1));
assert_eq!(SWAP5.swap_position(), Some(5));
assert_eq!(SWAP10.swap_position(), Some(10));
}
#[test]
fn test_get_log_topics() {
assert_eq!(LOG0.log_topics(), Some(0));
assert_eq!(LOG2.log_topics(), Some(2));
assert_eq!(LOG4.log_topics(), Some(4));
}
}

View File

@@ -0,0 +1,485 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
use std::cmp;
use ethereum_types::{U256, H256};
use super::u256_to_address;
use {evm, vm};
use instructions::{self, Instruction, InstructionInfo};
use interpreter::stack::Stack;
use vm::Schedule;
macro_rules! overflowing {
($x: expr) => {{
let (v, overflow) = $x;
if overflow { return Err(vm::Error::OutOfGas); }
v
}}
}
enum Request<Cost: ::evm::CostType> {
Gas(Cost),
GasMem(Cost, Cost),
GasMemProvide(Cost, Cost, Option<U256>),
GasMemCopy(Cost, Cost, Cost)
}
pub struct InstructionRequirements<Cost> {
pub gas_cost: Cost,
pub provide_gas: Option<Cost>,
pub memory_total_gas: Cost,
pub memory_required_size: usize,
}
pub struct Gasometer<Gas> {
pub current_gas: Gas,
pub current_mem_gas: Gas,
}
impl<Gas: evm::CostType> Gasometer<Gas> {
pub fn new(current_gas: Gas) -> Self {
Gasometer {
current_gas: current_gas,
current_mem_gas: Gas::from(0),
}
}
pub fn verify_gas(&self, gas_cost: &Gas) -> vm::Result<()> {
match &self.current_gas < gas_cost {
true => Err(vm::Error::OutOfGas),
false => Ok(())
}
}
/// How much gas is provided to a CALL/CREATE, given that we need to deduct `needed` for this operation
/// and that we `requested` some.
pub fn gas_provided(&self, schedule: &Schedule, needed: Gas, requested: Option<U256>) -> vm::Result<Gas> {
// Try converting requested gas to `Gas` (`U256/u64`)
// but in EIP150 even if we request more we should never fail from OOG
let requested = requested.map(Gas::from_u256);
match schedule.sub_gas_cap_divisor {
Some(cap_divisor) if self.current_gas >= needed => {
let gas_remaining = self.current_gas - needed;
let max_gas_provided = match cap_divisor {
64 => gas_remaining - (gas_remaining >> 6),
cap_divisor => gas_remaining - gas_remaining / Gas::from(cap_divisor),
};
if let Some(Ok(r)) = requested {
Ok(cmp::min(r, max_gas_provided))
} else {
Ok(max_gas_provided)
}
},
_ => {
if let Some(r) = requested {
r
} else if self.current_gas >= needed {
Ok(self.current_gas - needed)
} else {
Ok(0.into())
}
},
}
}
/// Determine how much gas is used by the given instruction, given the machine's state.
///
/// We guarantee that the final element of the returned tuple (`provided`) will be `Some`
/// iff the `instruction` is one of `CREATE`, or any of the `CALL` variants. In this case,
/// it will be the amount of gas that the current context provides to the child context.
pub fn requirements(
&mut self,
ext: &vm::Ext,
instruction: Instruction,
info: &InstructionInfo,
stack: &Stack<U256>,
current_mem_size: usize,
) -> vm::Result<InstructionRequirements<Gas>> {
let schedule = ext.schedule();
let tier = info.tier.idx();
let default_gas = Gas::from(schedule.tier_step_gas[tier]);
let cost = match instruction {
instructions::JUMPDEST => {
Request::Gas(Gas::from(1))
},
instructions::SSTORE => {
let address = H256::from(stack.peek(0));
let newval = stack.peek(1);
let val = U256::from(&*ext.storage_at(&address)?);
let gas = if schedule.eip1283 {
let orig = U256::from(&*ext.initial_storage_at(&address)?);
calculate_eip1283_sstore_gas(schedule, &orig, &val, &newval)
} else {
if val.is_zero() && !newval.is_zero() {
schedule.sstore_set_gas
} else {
// Refund for below case is added when actually executing sstore
// !is_zero(&val) && is_zero(newval)
schedule.sstore_reset_gas
}
};
Request::Gas(Gas::from(gas))
},
instructions::SLOAD => {
Request::Gas(Gas::from(schedule.sload_gas))
},
instructions::BALANCE => {
Request::Gas(Gas::from(schedule.balance_gas))
},
instructions::EXTCODESIZE => {
Request::Gas(Gas::from(schedule.extcodesize_gas))
},
instructions::EXTCODEHASH => {
Request::Gas(Gas::from(schedule.extcodehash_gas))
},
instructions::SUICIDE => {
let mut gas = Gas::from(schedule.suicide_gas);
let is_value_transfer = !ext.origin_balance()?.is_zero();
let address = u256_to_address(stack.peek(0));
if (
!schedule.no_empty && !ext.exists(&address)?
) || (
schedule.no_empty && is_value_transfer && !ext.exists_and_not_null(&address)?
) {
gas = overflowing!(gas.overflow_add(schedule.suicide_to_new_account_cost.into()));
}
Request::Gas(gas)
},
instructions::MSTORE | instructions::MLOAD => {
Request::GasMem(default_gas, mem_needed_const(stack.peek(0), 32)?)
},
instructions::MSTORE8 => {
Request::GasMem(default_gas, mem_needed_const(stack.peek(0), 1)?)
},
instructions::RETURN | instructions::REVERT => {
Request::GasMem(default_gas, mem_needed(stack.peek(0), stack.peek(1))?)
},
instructions::SHA3 => {
let words = overflowing!(to_word_size(Gas::from_u256(*stack.peek(1))?));
let gas = overflowing!(Gas::from(schedule.sha3_gas).overflow_add(overflowing!(Gas::from(schedule.sha3_word_gas).overflow_mul(words))));
Request::GasMem(gas, mem_needed(stack.peek(0), stack.peek(1))?)
},
instructions::CALLDATACOPY | instructions::CODECOPY | instructions::RETURNDATACOPY => {
Request::GasMemCopy(default_gas, mem_needed(stack.peek(0), stack.peek(2))?, Gas::from_u256(*stack.peek(2))?)
},
instructions::EXTCODECOPY => {
Request::GasMemCopy(schedule.extcodecopy_base_gas.into(), mem_needed(stack.peek(1), stack.peek(3))?, Gas::from_u256(*stack.peek(3))?)
},
instructions::LOG0 | instructions::LOG1 | instructions::LOG2 | instructions::LOG3 | instructions::LOG4 => {
let no_of_topics = instruction.log_topics().expect("log_topics always return some for LOG* instructions; qed");
let log_gas = schedule.log_gas + schedule.log_topic_gas * no_of_topics;
let data_gas = overflowing!(Gas::from_u256(*stack.peek(1))?.overflow_mul(Gas::from(schedule.log_data_gas)));
let gas = overflowing!(data_gas.overflow_add(Gas::from(log_gas)));
Request::GasMem(gas, mem_needed(stack.peek(0), stack.peek(1))?)
},
instructions::CALL | instructions::CALLCODE => {
let mut gas = Gas::from(schedule.call_gas);
let mem = cmp::max(
mem_needed(stack.peek(5), stack.peek(6))?,
mem_needed(stack.peek(3), stack.peek(4))?
);
let address = u256_to_address(stack.peek(1));
let is_value_transfer = !stack.peek(2).is_zero();
if instruction == instructions::CALL && (
(!schedule.no_empty && !ext.exists(&address)?)
||
(schedule.no_empty && is_value_transfer && !ext.exists_and_not_null(&address)?)
) {
gas = overflowing!(gas.overflow_add(schedule.call_new_account_gas.into()));
}
if is_value_transfer {
gas = overflowing!(gas.overflow_add(schedule.call_value_transfer_gas.into()));
}
let requested = *stack.peek(0);
Request::GasMemProvide(gas, mem, Some(requested))
},
instructions::DELEGATECALL | instructions::STATICCALL => {
let gas = Gas::from(schedule.call_gas);
let mem = cmp::max(
mem_needed(stack.peek(4), stack.peek(5))?,
mem_needed(stack.peek(2), stack.peek(3))?
);
let requested = *stack.peek(0);
Request::GasMemProvide(gas, mem, Some(requested))
},
instructions::CREATE => {
let start = stack.peek(1);
let len = stack.peek(2);
let gas = Gas::from(schedule.create_gas);
let mem = mem_needed(start, len)?;
Request::GasMemProvide(gas, mem, None)
},
instructions::CREATE2 => {
let start = stack.peek(1);
let len = stack.peek(2);
let base = Gas::from(schedule.create_gas);
let word = overflowing!(to_word_size(Gas::from_u256(*len)?));
let word_gas = overflowing!(Gas::from(schedule.sha3_word_gas).overflow_mul(word));
let gas = overflowing!(base.overflow_add(word_gas));
let mem = mem_needed(start, len)?;
Request::GasMemProvide(gas, mem, None)
},
instructions::EXP => {
let expon = stack.peek(1);
let bytes = ((expon.bits() + 7) / 8) as usize;
let gas = Gas::from(schedule.exp_gas + schedule.exp_byte_gas * bytes);
Request::Gas(gas)
},
instructions::BLOCKHASH => {
Request::Gas(Gas::from(schedule.blockhash_gas))
},
_ => Request::Gas(default_gas),
};
Ok(match cost {
Request::Gas(gas) => {
InstructionRequirements {
gas_cost: gas,
provide_gas: None,
memory_required_size: 0,
memory_total_gas: self.current_mem_gas,
}
},
Request::GasMem(gas, mem_size) => {
let (mem_gas_cost, new_mem_gas, new_mem_size) = self.mem_gas_cost(schedule, current_mem_size, &mem_size)?;
let gas = overflowing!(gas.overflow_add(mem_gas_cost));
InstructionRequirements {
gas_cost: gas,
provide_gas: None,
memory_required_size: new_mem_size,
memory_total_gas: new_mem_gas,
}
},
Request::GasMemProvide(gas, mem_size, requested) => {
let (mem_gas_cost, new_mem_gas, new_mem_size) = self.mem_gas_cost(schedule, current_mem_size, &mem_size)?;
let gas = overflowing!(gas.overflow_add(mem_gas_cost));
let provided = self.gas_provided(schedule, gas, requested)?;
let total_gas = overflowing!(gas.overflow_add(provided));
InstructionRequirements {
gas_cost: total_gas,
provide_gas: Some(provided),
memory_required_size: new_mem_size,
memory_total_gas: new_mem_gas,
}
},
Request::GasMemCopy(gas, mem_size, copy) => {
let (mem_gas_cost, new_mem_gas, new_mem_size) = self.mem_gas_cost(schedule, current_mem_size, &mem_size)?;
let copy = overflowing!(to_word_size(copy));
let copy_gas = overflowing!(Gas::from(schedule.copy_gas).overflow_mul(copy));
let gas = overflowing!(gas.overflow_add(copy_gas));
let gas = overflowing!(gas.overflow_add(mem_gas_cost));
InstructionRequirements {
gas_cost: gas,
provide_gas: None,
memory_required_size: new_mem_size,
memory_total_gas: new_mem_gas,
}
},
})
}
fn mem_gas_cost(&self, schedule: &Schedule, current_mem_size: usize, mem_size: &Gas) -> vm::Result<(Gas, Gas, usize)> {
let gas_for_mem = |mem_size: Gas| {
let s = mem_size >> 5;
// s * memory_gas + s * s / quad_coeff_div
let a = overflowing!(s.overflow_mul(Gas::from(schedule.memory_gas)));
// Calculate s*s/quad_coeff_div
assert_eq!(schedule.quad_coeff_div, 512);
let b = overflowing!(s.overflow_mul_shr(s, 9));
Ok(overflowing!(a.overflow_add(b)))
};
let current_mem_size = Gas::from(current_mem_size);
let req_mem_size_rounded = overflowing!(to_word_size(*mem_size)) << 5;
let (mem_gas_cost, new_mem_gas) = if req_mem_size_rounded > current_mem_size {
let new_mem_gas = gas_for_mem(req_mem_size_rounded)?;
(new_mem_gas - self.current_mem_gas, new_mem_gas)
} else {
(Gas::from(0), self.current_mem_gas)
};
Ok((mem_gas_cost, new_mem_gas, req_mem_size_rounded.as_usize()))
}
}
#[inline]
fn mem_needed_const<Gas: evm::CostType>(mem: &U256, add: usize) -> vm::Result<Gas> {
Gas::from_u256(overflowing!(mem.overflowing_add(U256::from(add))))
}
#[inline]
fn mem_needed<Gas: evm::CostType>(offset: &U256, size: &U256) -> vm::Result<Gas> {
if size.is_zero() {
return Ok(Gas::from(0));
}
Gas::from_u256(overflowing!(offset.overflowing_add(*size)))
}
#[inline]
fn add_gas_usize<Gas: evm::CostType>(value: Gas, num: usize) -> (Gas, bool) {
value.overflow_add(Gas::from(num))
}
#[inline]
fn to_word_size<Gas: evm::CostType>(value: Gas) -> (Gas, bool) {
let (gas, overflow) = add_gas_usize(value, 31);
if overflow {
return (gas, overflow);
}
(gas >> 5, false)
}
#[inline]
fn calculate_eip1283_sstore_gas<Gas: evm::CostType>(schedule: &Schedule, original: &U256, current: &U256, new: &U256) -> Gas {
Gas::from(
if current == new {
// 1. If current value equals new value (this is a no-op), 200 gas is deducted.
schedule.sload_gas
} else {
// 2. If current value does not equal new value
if original == current {
// 2.1. If original value equals current value (this storage slot has not been changed by the current execution context)
if original.is_zero() {
// 2.1.1. If original value is 0, 20000 gas is deducted.
schedule.sstore_set_gas
} else {
// 2.1.2. Otherwise, 5000 gas is deducted.
schedule.sstore_reset_gas
// 2.1.2.1. If new value is 0, add 15000 gas to refund counter.
}
} else {
// 2.2. If original value does not equal current value (this storage slot is dirty), 200 gas is deducted. Apply both of the following clauses.
schedule.sload_gas
// 2.2.1. If original value is not 0
// 2.2.1.1. If current value is 0 (also means that new value is not 0), remove 15000 gas from refund counter. We can prove that refund counter will never go below 0.
// 2.2.1.2. If new value is 0 (also means that current value is not 0), add 15000 gas to refund counter.
// 2.2.2. If original value equals new value (this storage slot is reset)
// 2.2.2.1. If original value is 0, add 19800 gas to refund counter.
// 2.2.2.2. Otherwise, add 4800 gas to refund counter.
}
}
)
}
pub fn handle_eip1283_sstore_clears_refund(ext: &mut vm::Ext, original: &U256, current: &U256, new: &U256) {
let sstore_clears_schedule = ext.schedule().sstore_refund_gas;
if current == new {
// 1. If current value equals new value (this is a no-op), 200 gas is deducted.
} else {
// 2. If current value does not equal new value
if original == current {
// 2.1. If original value equals current value (this storage slot has not been changed by the current execution context)
if original.is_zero() {
// 2.1.1. If original value is 0, 20000 gas is deducted.
} else {
// 2.1.2. Otherwise, 5000 gas is deducted.
if new.is_zero() {
// 2.1.2.1. If new value is 0, add 15000 gas to refund counter.
ext.add_sstore_refund(sstore_clears_schedule);
}
}
} else {
// 2.2. If original value does not equal current value (this storage slot is dirty), 200 gas is deducted. Apply both of the following clauses.
if !original.is_zero() {
// 2.2.1. If original value is not 0
if current.is_zero() {
// 2.2.1.1. If current value is 0 (also means that new value is not 0), remove 15000 gas from refund counter. We can prove that refund counter will never go below 0.
ext.sub_sstore_refund(sstore_clears_schedule);
} else if new.is_zero() {
// 2.2.1.2. If new value is 0 (also means that current value is not 0), add 15000 gas to refund counter.
ext.add_sstore_refund(sstore_clears_schedule);
}
}
if original == new {
// 2.2.2. If original value equals new value (this storage slot is reset)
if original.is_zero() {
// 2.2.2.1. If original value is 0, add 19800 gas to refund counter.
let refund = ext.schedule().sstore_set_gas - ext.schedule().sload_gas;
ext.add_sstore_refund(refund);
} else {
// 2.2.2.2. Otherwise, add 4800 gas to refund counter.
let refund = ext.schedule().sstore_reset_gas - ext.schedule().sload_gas;
ext.add_sstore_refund(refund);
}
}
}
}
}
#[test]
fn test_mem_gas_cost() {
// given
let gasometer = Gasometer::<U256>::new(U256::zero());
let schedule = Schedule::default();
let current_mem_size = 5;
let mem_size = !U256::zero();
// when
let result = gasometer.mem_gas_cost(&schedule, current_mem_size, &mem_size);
// then
if result.is_ok() {
assert!(false, "Should fail with OutOfGas");
}
}
#[test]
fn test_calculate_mem_cost() {
// given
let gasometer = Gasometer::<usize>::new(0);
let schedule = Schedule::default();
let current_mem_size = 0;
let mem_size = 5;
// when
let (mem_cost, new_mem_gas, mem_size) = gasometer.mem_gas_cost(&schedule, current_mem_size, &mem_size).unwrap();
// then
assert_eq!(mem_cost, 3);
assert_eq!(new_mem_gas, 3);
assert_eq!(mem_size, 32);
}

View File

@@ -0,0 +1,162 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
pub use self::inner::*;
#[macro_use]
#[cfg(not(feature = "evm-debug"))]
mod inner {
macro_rules! evm_debug {
($x: expr) => {}
}
pub struct EvmInformant;
impl EvmInformant {
pub fn new(_depth: usize) -> Self {
EvmInformant {}
}
pub fn done(&mut self) {}
}
}
#[macro_use]
#[cfg(feature = "evm-debug")]
mod inner {
use std::iter;
use std::collections::HashMap;
use std::time::{Instant, Duration};
use ethereum_types::U256;
use interpreter::stack::Stack;
use instructions::{Instruction, InstructionInfo};
use CostType;
macro_rules! evm_debug {
($x: expr) => {
$x
}
}
fn print(data: String) {
if cfg!(feature = "evm-debug-tests") {
println!("{}", data);
} else {
debug!(target: "evm", "{}", data);
}
}
pub struct EvmInformant {
spacing: String,
last_instruction: Instant,
stats: HashMap<Instruction, Stats>,
}
impl EvmInformant {
fn color(instruction: Instruction, name: &str) -> String {
let c = instruction as usize % 6;
let colors = [31, 34, 33, 32, 35, 36];
format!("\x1B[1;{}m{}\x1B[0m", colors[c], name)
}
fn as_micro(duration: &Duration) -> u64 {
let mut sec = duration.as_secs();
let subsec = duration.subsec_nanos() as u64;
sec = sec.saturating_mul(1_000_000u64);
sec += subsec / 1_000;
sec
}
pub fn new(depth: usize) -> Self {
EvmInformant {
spacing: iter::repeat(".").take(depth).collect(),
last_instruction: Instant::now(),
stats: HashMap::new(),
}
}
pub fn before_instruction<Cost: CostType>(&mut self, pc: usize, instruction: Instruction, info: &InstructionInfo, current_gas: &Cost, stack: &Stack<U256>) {
let time = self.last_instruction.elapsed();
self.last_instruction = Instant::now();
print(format!("{}[0x{:<3x}][{:>19}(0x{:<2x}) Gas Left: {:6?} (Previous took: {:10}μs)",
&self.spacing,
pc,
Self::color(instruction, info.name),
instruction as u8,
current_gas,
Self::as_micro(&time),
));
if info.args > 0 {
for (idx, item) in stack.peek_top(info.args).iter().enumerate() {
print(format!("{} |{:2}: {:?}", self.spacing, idx, item));
}
}
}
pub fn after_instruction(&mut self, instruction: Instruction) {
let stats = self.stats.entry(instruction).or_insert_with(|| Stats::default());
let took = self.last_instruction.elapsed();
stats.note(took);
}
pub fn done(&mut self) {
// Print out stats
let mut stats: Vec<(_,_)> = self.stats.drain().collect();
stats.sort_by(|ref a, ref b| b.1.avg().cmp(&a.1.avg()));
print(format!("\n{}-------OPCODE STATS:", self.spacing));
for (instruction, stats) in stats.into_iter() {
let info = instruction.info();
print(format!("{}-------{:>19}(0x{:<2x}) count: {:4}, avg: {:10}μs",
self.spacing,
Self::color(instruction, info.name),
instruction as u8,
stats.count,
stats.avg(),
));
}
}
}
struct Stats {
count: u64,
total_duration: Duration,
}
impl Default for Stats {
fn default() -> Self {
Stats {
count: 0,
total_duration: Duration::from_secs(0),
}
}
}
impl Stats {
fn note(&mut self, took: Duration) {
self.count += 1;
self.total_duration += took;
}
fn avg(&self) -> u64 {
EvmInformant::as_micro(&self.total_duration) / self.count
}
}
}

View File

@@ -1,4 +1,4 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Parity is free software: you can redistribute it and/or modify
@@ -14,7 +14,10 @@
// You should have received a copy of the GNU General Public License
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
use util::{U256, Uint};
use ethereum_types::U256;
use vm::ReturnData;
const MAX_RETURN_WASTE_BYTES: usize = 16384;
pub trait Memory {
/// Retrieve current size of the memory
@@ -36,10 +39,12 @@ pub trait Memory {
/// Retrieve writeable part of memory
fn writeable_slice(&mut self, offset: U256, size: U256) -> &mut[u8];
fn dump(&self);
/// Convert memory into return data.
fn into_return_data(self, offset: U256, size: U256) -> ReturnData;
}
/// Checks whether offset and size is valid memory range
fn is_valid_range(off: usize, size: usize) -> bool {
pub fn is_valid_range(off: usize, size: usize) -> bool {
// When size is zero we haven't actually expanded the memory
let overflow = off.overflowing_add(size).1;
size > 0 && !overflow
@@ -84,11 +89,9 @@ impl Memory for Vec<u8> {
}
fn write_slice(&mut self, offset: U256, slice: &[u8]) {
let off = offset.low_u64() as usize;
// TODO [todr] Optimize?
for pos in off..off+slice.len() {
self[pos] = slice[pos - off];
if !slice.is_empty() {
let off = offset.low_u64() as usize;
self[off..off+slice.len()].copy_from_slice(slice);
}
}
@@ -112,33 +115,86 @@ impl Memory for Vec<u8> {
Memory::resize(self, size)
}
}
fn into_return_data(mut self, offset: U256, size: U256) -> ReturnData {
let mut offset = offset.low_u64() as usize;
let size = size.low_u64() as usize;
if !is_valid_range(offset, size) {
return ReturnData::empty();
}
if self.len() - size > MAX_RETURN_WASTE_BYTES {
if offset == 0 {
self.truncate(size);
self.shrink_to_fit();
} else {
self = self[offset..(offset + size)].to_vec();
offset = 0;
}
}
ReturnData::new(self, offset, size)
}
}
#[cfg(test)]
mod tests {
use ethereum_types::U256;
use super::Memory;
#[test]
fn test_memory_read_and_write() {
// given
let mem: &mut Memory = &mut vec![];
mem.resize(0x80 + 32);
#[test]
fn test_memory_read_and_write() {
// given
let mem: &mut Memory = &mut vec![];
mem.resize(0x80 + 32);
// when
mem.write(U256::from(0x80), U256::from(0xabcdef));
// when
mem.write(U256::from(0x80), U256::from(0xabcdef));
// then
assert_eq!(mem.read(U256::from(0x80)), U256::from(0xabcdef));
}
#[test]
fn test_memory_read_and_write_byte() {
// given
let mem: &mut Memory = &mut vec![];
mem.resize(32);
// when
mem.write_byte(U256::from(0x1d), U256::from(0xab));
mem.write_byte(U256::from(0x1e), U256::from(0xcd));
mem.write_byte(U256::from(0x1f), U256::from(0xef));
// then
assert_eq!(mem.read(U256::from(0x00)), U256::from(0xabcdef));
// then
assert_eq!(mem.read(U256::from(0x80)), U256::from(0xabcdef));
}
#[test]
fn test_memory_read_and_write_byte() {
// given
let mem: &mut Memory = &mut vec![];
mem.resize(32);
// when
mem.write_byte(U256::from(0x1d), U256::from(0xab));
mem.write_byte(U256::from(0x1e), U256::from(0xcd));
mem.write_byte(U256::from(0x1f), U256::from(0xef));
// then
assert_eq!(mem.read(U256::from(0x00)), U256::from(0xabcdef));
}
#[test]
fn test_memory_read_slice_and_write_slice() {
let mem: &mut Memory = &mut vec![];
mem.resize(32);
{
let slice = "abcdefghijklmnopqrstuvwxyz012345".as_bytes();
mem.write_slice(U256::from(0), slice);
assert_eq!(mem.read_slice(U256::from(0), U256::from(32)), slice);
}
// write again
{
let slice = "67890".as_bytes();
mem.write_slice(U256::from(0x1), slice);
assert_eq!(mem.read_slice(U256::from(0), U256::from(7)), "a67890g".as_bytes());
}
// write empty slice out of bounds
{
let slice = [];
mem.write_slice(U256::from(0x1000), &slice);
assert_eq!(mem.size(), 32);
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,112 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
use std::sync::Arc;
use hash::KECCAK_EMPTY;
use heapsize::HeapSizeOf;
use ethereum_types::H256;
use parking_lot::Mutex;
use memory_cache::MemoryLruCache;
use bit_set::BitSet;
use super::super::instructions::{self, Instruction};
const DEFAULT_CACHE_SIZE: usize = 4 * 1024 * 1024;
// stub for a HeapSizeOf implementation.
struct Bits(Arc<BitSet>);
impl HeapSizeOf for Bits {
fn heap_size_of_children(&self) -> usize {
// dealing in bits here
self.0.capacity() * 8
}
}
/// Global cache for EVM interpreter
pub struct SharedCache {
jump_destinations: Mutex<MemoryLruCache<H256, Bits>>,
}
impl SharedCache {
/// Create a jump destinations cache with a maximum size in bytes
/// to cache.
pub fn new(max_size: usize) -> Self {
SharedCache {
jump_destinations: Mutex::new(MemoryLruCache::new(max_size)),
}
}
/// Get jump destinations bitmap for a contract.
pub fn jump_destinations(&self, code_hash: &Option<H256>, code: &[u8]) -> Arc<BitSet> {
if let Some(ref code_hash) = code_hash {
if code_hash == &KECCAK_EMPTY {
return Self::find_jump_destinations(code);
}
if let Some(d) = self.jump_destinations.lock().get_mut(code_hash) {
return d.0.clone();
}
}
let d = Self::find_jump_destinations(code);
if let Some(ref code_hash) = code_hash {
self.jump_destinations.lock().insert(*code_hash, Bits(d.clone()));
}
d
}
fn find_jump_destinations(code: &[u8]) -> Arc<BitSet> {
let mut jump_dests = BitSet::with_capacity(code.len());
let mut position = 0;
while position < code.len() {
let instruction = Instruction::from_u8(code[position]);
if let Some(instruction) = instruction {
if instruction == instructions::JUMPDEST {
jump_dests.insert(position);
} else if let Some(push_bytes) = instruction.push_bytes() {
position += push_bytes;
}
}
position += 1;
}
jump_dests.shrink_to_fit();
Arc::new(jump_dests)
}
}
impl Default for SharedCache {
fn default() -> Self {
SharedCache::new(DEFAULT_CACHE_SIZE)
}
}
#[test]
fn test_find_jump_destinations() {
use rustc_hex::FromHex;
// given
let code = "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b01600055".from_hex().unwrap();
// when
let valid_jump_destinations = SharedCache::find_jump_destinations(&code);
// then
assert!(valid_jump_destinations.contains(66));
}

View File

@@ -1,4 +1,4 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Parity is free software: you can redistribute it and/or modify
@@ -15,7 +15,7 @@
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
use std::fmt;
use evm::instructions;
use instructions;
/// Stack trait with VM-friendly API
pub trait Stack<T> {
@@ -34,7 +34,7 @@ pub trait Stack<T> {
/// Get number of elements on Stack
fn size(&self) -> usize;
/// Returns all data on stack.
fn peek_top(&mut self, no_of_elems: usize) -> &[T];
fn peek_top(&self, no_of_elems: usize) -> &[T];
}
pub struct VecStack<S> {
@@ -68,12 +68,7 @@ impl<S : fmt::Display> Stack<S> for VecStack<S> {
fn pop_back(&mut self) -> S {
let val = self.stack.pop();
match val {
Some(x) => {
evm_debug!({
println!(" POP: {}", x)
});
x
},
Some(x) => x,
None => panic!("Tried to pop from empty stack.")
}
}
@@ -88,9 +83,6 @@ impl<S : fmt::Display> Stack<S> for VecStack<S> {
}
fn push(&mut self, elem: S) {
evm_debug!({
println!(" PUSH: {}", elem)
});
self.stack.push(elem);
}
@@ -98,9 +90,8 @@ impl<S : fmt::Display> Stack<S> for VecStack<S> {
self.stack.len()
}
fn peek_top(&mut self, no_from_top: usize) -> &[S] {
fn peek_top(&self, no_from_top: usize) -> &[S] {
assert!(self.stack.len() >= no_from_top, "peek_top asked for more items than exist.");
&self.stack[self.stack.len() - no_from_top .. self.stack.len()]
}
}

58
ethcore/evm/src/lib.rs Normal file
View File

@@ -0,0 +1,58 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Ethereum virtual machine.
extern crate bit_set;
extern crate ethereum_types;
extern crate parking_lot;
extern crate heapsize;
extern crate vm;
extern crate keccak_hash as hash;
extern crate memory_cache;
extern crate parity_bytes as bytes;
#[macro_use]
extern crate lazy_static;
#[cfg_attr(feature = "evm-debug", macro_use)]
extern crate log;
#[cfg(test)]
extern crate rustc_hex;
pub mod evm;
pub mod interpreter;
#[macro_use]
pub mod factory;
mod vmtype;
mod instructions;
#[cfg(test)]
mod tests;
#[cfg(all(feature = "benches", test))]
mod benches;
pub use vm::{
Schedule, CleanDustMode, EnvInfo, CallType, ActionParams, Ext,
ContractCreateResult, MessageCallResult, CreateContractAddress,
GasLeft, ReturnData
};
pub use self::evm::{Finalize, FinalizationResult, CostType};
pub use self::instructions::{InstructionInfo, Instruction};
pub use self::vmtype::VMType;
pub use self::factory::Factory;

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
// Copyright 2015, 2016 Ethcore (UK) Ltd.
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// Parity is free software: you can redistribute it and/or modify
@@ -14,29 +14,32 @@
// You should have received a copy of the GNU General Public License
// along with Parity. If not, see <http://www.gnu.org/licenses/>.
use bloomchain::group as bc;
use util::HeapSizeOf;
use std::fmt;
/// Represents `BloomGroup` position in database.
#[derive(PartialEq, Eq, Hash, Clone, Debug)]
pub struct GroupPosition {
/// Bloom level.
pub level: u8,
/// Group index.
pub index: u32,
/// Type of EVM to use.
#[derive(Debug, PartialEq, Clone)]
pub enum VMType {
/// RUST EVM
Interpreter
}
impl From<bc::GroupPosition> for GroupPosition {
fn from(p: bc::GroupPosition) -> Self {
GroupPosition {
level: p.level as u8,
index: p.index as u32,
}
impl fmt::Display for VMType {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{}", match *self {
VMType::Interpreter => "INT"
})
}
}
impl HeapSizeOf for GroupPosition {
fn heap_size_of_children(&self) -> usize {
0
impl Default for VMType {
fn default() -> Self {
VMType::Interpreter
}
}
impl VMType {
/// Return all possible VMs (Interpreter)
pub fn all() -> Vec<VMType> {
vec![VMType::Interpreter]
}
}

48
ethcore/light/Cargo.toml Normal file
View File

@@ -0,0 +1,48 @@
[package]
description = "Parity Light Client Implementation"
homepage = "http://parity.io"
license = "GPL-3.0"
name = "ethcore-light"
version = "1.12.0"
authors = ["Parity Technologies <admin@parity.io>"]
[dependencies]
log = "0.4"
ethcore = { path = ".."}
parity-bytes = "0.1"
ethcore-transaction = { path = "../transaction" }
ethereum-types = "0.4"
memorydb = "0.3.0"
patricia-trie = "0.3.0"
patricia-trie-ethereum = { path = "../../util/patricia-trie-ethereum" }
ethcore-network = { path = "../../util/network" }
ethcore-io = { path = "../../util/io" }
hashdb = "0.3.0"
heapsize = "0.4"
vm = { path = "../vm" }
fastmap = { path = "../../util/fastmap" }
rlp = { version = "0.3.0", features = ["ethereum"] }
rlp_derive = { path = "../../util/rlp_derive" }
smallvec = "0.6"
futures = "0.1"
rand = "0.4"
itertools = "0.5"
bincode = "0.8.0"
serde = "1.0"
serde_derive = "1.0"
parking_lot = "0.6"
stats = { path = "../../util/stats" }
keccak-hash = "0.1"
keccak-hasher = { path = "../../util/keccak-hasher" }
triehash-ethereum = { version = "0.2", path = "../../util/triehash-ethereum" }
kvdb = "0.1"
memory-cache = { path = "../../util/memory_cache" }
error-chain = { version = "0.12", default-features = false }
[dev-dependencies]
ethcore = { path = "..", features = ["test-helpers"] }
kvdb-memorydb = "0.1"
tempdir = "0.3"
[features]
default = []

194
ethcore/light/src/cache.rs Normal file
View File

@@ -0,0 +1,194 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Cache for data fetched from the network.
//!
//! Stores ancient block headers, bodies, receipts, and total difficulties.
//! Furthermore, stores a "gas price corpus" of relative recency, which is a sorted
//! vector of all gas prices from a recent range of blocks.
use ethcore::encoded;
use ethcore::header::BlockNumber;
use ethcore::receipt::Receipt;
use stats::Corpus;
use std::time::{Instant, Duration};
use heapsize::HeapSizeOf;
use ethereum_types::{H256, U256};
use memory_cache::MemoryLruCache;
/// Configuration for how much data to cache.
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub struct CacheSizes {
/// Maximum size, in bytes, of cached headers.
pub headers: usize,
/// Maximum size, in bytes, of cached canonical hashes.
pub canon_hashes: usize,
/// Maximum size, in bytes, of cached block bodies.
pub bodies: usize,
/// Maximum size, in bytes, of cached block receipts.
pub receipts: usize,
/// Maximum size, in bytes, of cached chain score for the block.
pub chain_score: usize,
}
impl Default for CacheSizes {
fn default() -> Self {
const MB: usize = 1024 * 1024;
CacheSizes {
headers: 10 * MB,
canon_hashes: 3 * MB,
bodies: 20 * MB,
receipts: 10 * MB,
chain_score: 7 * MB,
}
}
}
/// The light client data cache.
///
/// Note that almost all getter methods take `&mut self` due to the necessity to update
/// the underlying LRU-caches on read.
/// [LRU-cache](https://en.wikipedia.org/wiki/Cache_replacement_policies#Least_Recently_Used_.28LRU.29)
pub struct Cache {
headers: MemoryLruCache<H256, encoded::Header>,
canon_hashes: MemoryLruCache<BlockNumber, H256>,
bodies: MemoryLruCache<H256, encoded::Body>,
receipts: MemoryLruCache<H256, Vec<Receipt>>,
chain_score: MemoryLruCache<H256, U256>,
corpus: Option<(Corpus<U256>, Instant)>,
corpus_expiration: Duration,
}
impl Cache {
/// Create a new data cache with the given sizes and gas price corpus expiration time.
pub fn new(sizes: CacheSizes, corpus_expiration: Duration) -> Self {
Cache {
headers: MemoryLruCache::new(sizes.headers),
canon_hashes: MemoryLruCache::new(sizes.canon_hashes),
bodies: MemoryLruCache::new(sizes.bodies),
receipts: MemoryLruCache::new(sizes.receipts),
chain_score: MemoryLruCache::new(sizes.chain_score),
corpus: None,
corpus_expiration,
}
}
/// Query header by hash.
pub fn block_header(&mut self, hash: &H256) -> Option<encoded::Header> {
self.headers.get_mut(hash).cloned()
}
/// Query hash by number.
pub fn block_hash(&mut self, num: BlockNumber) -> Option<H256> {
self.canon_hashes.get_mut(&num).map(|h| *h)
}
/// Query block body by block hash.
pub fn block_body(&mut self, hash: &H256) -> Option<encoded::Body> {
self.bodies.get_mut(hash).cloned()
}
/// Query block receipts by block hash.
pub fn block_receipts(&mut self, hash: &H256) -> Option<Vec<Receipt>> {
self.receipts.get_mut(hash).cloned()
}
/// Query chain score by block hash.
pub fn chain_score(&mut self, hash: &H256) -> Option<U256> {
self.chain_score.get_mut(hash).map(|h| *h)
}
/// Cache the given header.
pub fn insert_block_header(&mut self, hash: H256, hdr: encoded::Header) {
self.headers.insert(hash, hdr);
}
/// Cache the given canonical block hash.
pub fn insert_block_hash(&mut self, num: BlockNumber, hash: H256) {
self.canon_hashes.insert(num, hash);
}
/// Cache the given block body.
pub fn insert_block_body(&mut self, hash: H256, body: encoded::Body) {
self.bodies.insert(hash, body);
}
/// Cache the given block receipts.
pub fn insert_block_receipts(&mut self, hash: H256, receipts: Vec<Receipt>) {
self.receipts.insert(hash, receipts);
}
/// Cache the given chain scoring.
pub fn insert_chain_score(&mut self, hash: H256, score: U256) {
self.chain_score.insert(hash, score);
}
/// Get gas price corpus, if recent enough.
pub fn gas_price_corpus(&self) -> Option<Corpus<U256>> {
let now = Instant::now();
self.corpus.as_ref().and_then(|&(ref corpus, ref tm)| {
if *tm + self.corpus_expiration >= now {
Some(corpus.clone())
} else {
None
}
})
}
/// Set the cached gas price corpus.
pub fn set_gas_price_corpus(&mut self, corpus: Corpus<U256>) {
self.corpus = Some((corpus, Instant::now()))
}
/// Get the memory used.
pub fn mem_used(&self) -> usize {
self.heap_size_of_children()
}
}
impl HeapSizeOf for Cache {
fn heap_size_of_children(&self) -> usize {
self.headers.current_size()
+ self.canon_hashes.current_size()
+ self.bodies.current_size()
+ self.receipts.current_size()
+ self.chain_score.current_size()
// TODO: + corpus
}
}
#[cfg(test)]
mod tests {
use super::Cache;
use std::time::Duration;
#[test]
fn corpus_inaccessible() {
let duration = Duration::from_secs(20);
let mut cache = Cache::new(Default::default(), duration.clone());
cache.set_gas_price_corpus(vec![].into());
assert_eq!(cache.gas_price_corpus(), Some(vec![].into()));
{
let corpus_time = &mut cache.corpus.as_mut().unwrap().1;
*corpus_time = *corpus_time - duration;
}
assert!(cache.gas_price_corpus().is_none());
}
}

213
ethcore/light/src/cht.rs Normal file
View File

@@ -0,0 +1,213 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Canonical hash trie definitions and helper functions.
//!
//! Each CHT is a trie mapping block numbers to canonical hashes and total difficulty.
//! One is generated for every `SIZE` blocks, allowing us to discard those blocks in
//! favor of the trie root. When the "ancient" blocks need to be accessed, we simply
//! request an inclusion proof of a specific block number against the trie with the
//! root has. A correct proof implies that the claimed block is identical to the one
//! we discarded.
use ethcore::ids::BlockId;
use ethereum_types::{H256, U256};
use hashdb::HashDB;
use keccak_hasher::KeccakHasher;
use kvdb::DBValue;
use memorydb::MemoryDB;
use bytes::Bytes;
use trie::{TrieMut, Trie, Recorder};
use ethtrie::{self, TrieDB, TrieDBMut};
use rlp::{RlpStream, Rlp};
// encode a key.
macro_rules! key {
($num: expr) => { ::rlp::encode(&$num) }
}
macro_rules! val {
($hash: expr, $td: expr) => {{
let mut stream = RlpStream::new_list(2);
stream.append(&$hash).append(&$td);
stream.drain()
}}
}
/// The size of each CHT.
pub const SIZE: u64 = 2048;
/// A canonical hash trie. This is generic over any database it can query.
/// See module docs for more details.
#[derive(Debug, Clone)]
pub struct CHT<DB: HashDB<KeccakHasher, DBValue>> {
db: DB,
root: H256, // the root of this CHT.
number: u64,
}
impl<DB: HashDB<KeccakHasher, DBValue>> CHT<DB> {
/// Query the root of the CHT.
pub fn root(&self) -> H256 { self.root }
/// Query the number of the CHT.
pub fn number(&self) -> u64 { self.number }
/// Generate an inclusion proof for the entry at a specific block.
/// Nodes before level `from_level` will be omitted.
/// Returns an error on an incomplete trie, and `Ok(None)` on an unprovable request.
pub fn prove(&self, num: u64, from_level: u32) -> ethtrie::Result<Option<Vec<Bytes>>> {
if block_to_cht_number(num) != Some(self.number) { return Ok(None) }
let mut recorder = Recorder::with_depth(from_level);
let t = TrieDB::new(&self.db, &self.root)?;
t.get_with(&key!(num), &mut recorder)?;
Ok(Some(recorder.drain().into_iter().map(|x| x.data).collect()))
}
}
/// Block information necessary to build a CHT.
pub struct BlockInfo {
/// The block's hash.
pub hash: H256,
/// The block's parent's hash.
pub parent_hash: H256,
/// The block's total difficulty.
pub total_difficulty: U256,
}
/// Build an in-memory CHT from a closure which provides necessary information
/// about blocks. If the fetcher ever fails to provide the info, the CHT
/// will not be generated.
pub fn build<F>(cht_num: u64, mut fetcher: F) -> Option<CHT<MemoryDB<KeccakHasher, DBValue>>>
where F: FnMut(BlockId) -> Option<BlockInfo>
{
let mut db = MemoryDB::<KeccakHasher, DBValue>::new();
// start from the last block by number and work backwards.
let last_num = start_number(cht_num + 1) - 1;
let mut id = BlockId::Number(last_num);
let mut root = H256::default();
{
let mut t = TrieDBMut::new(&mut db, &mut root);
for blk_num in (0..SIZE).map(|n| last_num - n) {
let info = match fetcher(id) {
Some(info) => info,
None => return None,
};
id = BlockId::Hash(info.parent_hash);
t.insert(&key!(blk_num), &val!(info.hash, info.total_difficulty))
.expect("fresh in-memory database is infallible; qed");
}
}
Some(CHT {
db,
root,
number: cht_num,
})
}
/// Compute a CHT root from an iterator of (hash, td) pairs. Fails if shorter than
/// SIZE items. The items are assumed to proceed sequentially from `start_number(cht_num)`.
/// Discards the trie's nodes.
pub fn compute_root<I>(cht_num: u64, iterable: I) -> Option<H256>
where I: IntoIterator<Item=(H256, U256)>
{
let mut v = Vec::with_capacity(SIZE as usize);
let start_num = start_number(cht_num) as usize;
for (i, (h, td)) in iterable.into_iter().take(SIZE as usize).enumerate() {
v.push((key!(i + start_num), val!(h, td)))
}
if v.len() == SIZE as usize {
Some(::triehash::trie_root(v))
} else {
None
}
}
/// Check a proof for a CHT.
/// Given a set of a trie nodes, a number to query, and a trie root,
/// verify the given trie branch and extract the canonical hash and total difficulty.
// TODO: better support for partially-checked queries.
pub fn check_proof(proof: &[Bytes], num: u64, root: H256) -> Option<(H256, U256)> {
let mut db = MemoryDB::<KeccakHasher, DBValue>::new();
for node in proof { db.insert(&node[..]); }
let res = match TrieDB::new(&db, &root) {
Err(_) => return None,
Ok(trie) => trie.get_with(&key!(num), |val: &[u8]| {
let rlp = Rlp::new(val);
rlp.val_at::<H256>(0)
.and_then(|h| rlp.val_at::<U256>(1).map(|td| (h, td)))
.ok()
})
};
match res {
Ok(Some(Some((hash, td)))) => Some((hash, td)),
_ => None,
}
}
/// Convert a block number to a CHT number.
/// Returns `None` for `block_num` == 0, `Some` otherwise.
pub fn block_to_cht_number(block_num: u64) -> Option<u64> {
match block_num {
0 => None,
n => Some((n - 1) / SIZE),
}
}
/// Get the starting block of a given CHT.
/// CHT 0 includes block 1...SIZE,
/// CHT 1 includes block SIZE + 1 ... 2*SIZE
/// More generally: CHT N includes block (1 + N*SIZE)...((N+1)*SIZE).
/// This is because the genesis hash is assumed to be known
/// and including it would be redundant.
pub fn start_number(cht_num: u64) -> u64 {
(cht_num * SIZE) + 1
}
#[cfg(test)]
mod tests {
#[test]
fn size_is_lt_usize() {
// to ensure safe casting on the target platform.
assert!(::cht::SIZE < usize::max_value() as u64)
}
#[test]
fn block_to_cht_number() {
assert!(::cht::block_to_cht_number(0).is_none());
assert_eq!(::cht::block_to_cht_number(1).unwrap(), 0);
assert_eq!(::cht::block_to_cht_number(::cht::SIZE + 1).unwrap(), 1);
assert_eq!(::cht::block_to_cht_number(::cht::SIZE).unwrap(), 0);
}
#[test]
fn start_number() {
assert_eq!(::cht::start_number(0), 1);
assert_eq!(::cht::start_number(1), ::cht::SIZE + 1);
assert_eq!(::cht::start_number(2), ::cht::SIZE * 2 + 1);
}
}

View File

@@ -0,0 +1,85 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Trait for fetching chain data.
use std::sync::Arc;
use ethcore::encoded;
use ethcore::engines::{EthEngine, StateDependentProof};
use ethcore::machine::EthereumMachine;
use ethcore::header::Header;
use ethcore::receipt::Receipt;
use futures::future::IntoFuture;
use ethereum_types::H256;
/// Provides full chain data.
pub trait ChainDataFetcher: Send + Sync + 'static {
/// Error type when data unavailable.
type Error: ::std::fmt::Debug;
/// Future for fetching block body.
type Body: IntoFuture<Item=encoded::Block, Error=Self::Error>;
/// Future for fetching block receipts.
type Receipts: IntoFuture<Item=Vec<Receipt>, Error=Self::Error>;
/// Future for fetching epoch transition
type Transition: IntoFuture<Item=Vec<u8>, Error=Self::Error>;
/// Fetch a block body.
fn block_body(&self, header: &Header) -> Self::Body;
/// Fetch block receipts.
fn block_receipts(&self, header: &Header) -> Self::Receipts;
/// Fetch epoch transition proof at given header.
fn epoch_transition(
&self,
_hash: H256,
_engine: Arc<EthEngine>,
_checker: Arc<StateDependentProof<EthereumMachine>>
) -> Self::Transition;
}
/// Fetcher implementation which cannot fetch anything.
pub struct Unavailable;
/// Create a fetcher which has all data unavailable.
pub fn unavailable() -> Unavailable { Unavailable }
impl ChainDataFetcher for Unavailable {
type Error = &'static str;
type Body = Result<encoded::Block, &'static str>;
type Receipts = Result<Vec<Receipt>, &'static str>;
type Transition = Result<Vec<u8>, &'static str>;
fn block_body(&self, _header: &Header) -> Self::Body {
Err("fetching block bodies unavailable")
}
fn block_receipts(&self, _header: &Header) -> Self::Receipts {
Err("fetching block receipts unavailable")
}
fn epoch_transition(
&self,
_hash: H256,
_engine: Arc<EthEngine>,
_checker: Arc<StateDependentProof<EthereumMachine>>
) -> Self::Transition {
Err("fetching epoch transition proofs unavailable")
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,620 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Light client implementation. Stores data from light sync
use std::sync::{Weak, Arc};
use ethcore::block_status::BlockStatus;
use ethcore::client::{ClientReport, EnvInfo, ClientIoMessage};
use ethcore::engines::{epoch, EthEngine, EpochChange, EpochTransition, Proof};
use ethcore::machine::EthereumMachine;
use ethcore::error::{Error, EthcoreResult};
use ethcore::ids::BlockId;
use ethcore::header::{BlockNumber, Header};
use ethcore::verification::queue::{self, HeaderQueue};
use ethcore::blockchain_info::BlockChainInfo;
use ethcore::spec::{Spec, SpecHardcodedSync};
use ethcore::encoded;
use io::IoChannel;
use parking_lot::{Mutex, RwLock};
use ethereum_types::{H256, U256};
use futures::{IntoFuture, Future};
use kvdb::KeyValueDB;
use self::fetch::ChainDataFetcher;
use self::header_chain::{AncestryIter, HeaderChain, HardcodedSync};
use cache::Cache;
pub use self::service::Service;
mod header_chain;
mod service;
pub mod fetch;
/// Configuration for the light client.
#[derive(Debug, Clone)]
pub struct Config {
/// Verification queue config.
pub queue: queue::Config,
/// Chain column in database.
pub chain_column: Option<u32>,
/// Should it do full verification of blocks?
pub verify_full: bool,
/// Should it check the seal of blocks?
pub check_seal: bool,
/// Disable hardcoded sync.
pub no_hardcoded_sync: bool,
}
impl Default for Config {
fn default() -> Config {
Config {
queue: Default::default(),
chain_column: None,
verify_full: true,
check_seal: true,
no_hardcoded_sync: false,
}
}
}
/// Trait for interacting with the header chain abstractly.
pub trait LightChainClient: Send + Sync {
/// Adds a new `LightChainNotify` listener.
fn add_listener(&self, listener: Weak<LightChainNotify>);
/// Get chain info.
fn chain_info(&self) -> BlockChainInfo;
/// Queue header to be verified. Required that all headers queued have their
/// parent queued prior.
fn queue_header(&self, header: Header) -> EthcoreResult<H256>;
/// Attempt to get a block hash by block id.
fn block_hash(&self, id: BlockId) -> Option<H256>;
/// Attempt to get block header by block id.
fn block_header(&self, id: BlockId) -> Option<encoded::Header>;
/// Get the best block header.
fn best_block_header(&self) -> encoded::Header;
/// Get a block's chain score by ID.
fn score(&self, id: BlockId) -> Option<U256>;
/// Get an iterator over a block and its ancestry.
fn ancestry_iter<'a>(&'a self, start: BlockId) -> Box<Iterator<Item=encoded::Header> + 'a>;
/// Get the signing chain ID.
fn signing_chain_id(&self) -> Option<u64>;
/// Get environment info for execution at a given block.
/// Fails if that block's header is not stored.
fn env_info(&self, id: BlockId) -> Option<EnvInfo>;
/// Get a handle to the consensus engine.
fn engine(&self) -> &Arc<EthEngine>;
/// Query whether a block is known.
fn is_known(&self, hash: &H256) -> bool;
/// Clear the queue.
fn clear_queue(&self);
/// Flush the queue.
fn flush_queue(&self);
/// Get queue info.
fn queue_info(&self) -> queue::QueueInfo;
/// Get the `i`th CHT root.
fn cht_root(&self, i: usize) -> Option<H256>;
/// Get a report of import activity since the last call.
fn report(&self) -> ClientReport;
}
/// An actor listening to light chain events.
pub trait LightChainNotify: Send + Sync {
/// Notifies about imported headers.
fn new_headers(&self, good: &[H256]);
}
/// Something which can be treated as a `LightChainClient`.
pub trait AsLightClient {
/// The kind of light client this can be treated as.
type Client: LightChainClient;
/// Access the underlying light client.
fn as_light_client(&self) -> &Self::Client;
}
impl<T: LightChainClient> AsLightClient for T {
type Client = Self;
fn as_light_client(&self) -> &Self { self }
}
/// Light client implementation.
pub struct Client<T> {
queue: HeaderQueue,
engine: Arc<EthEngine>,
chain: HeaderChain,
report: RwLock<ClientReport>,
import_lock: Mutex<()>,
db: Arc<KeyValueDB>,
listeners: RwLock<Vec<Weak<LightChainNotify>>>,
fetcher: T,
verify_full: bool,
}
impl<T: ChainDataFetcher> Client<T> {
/// Create a new `Client`.
pub fn new(
config: Config,
db: Arc<KeyValueDB>,
chain_col: Option<u32>,
spec: &Spec,
fetcher: T,
io_channel: IoChannel<ClientIoMessage>,
cache: Arc<Mutex<Cache>>
) -> Result<Self, Error> {
Ok(Self {
queue: HeaderQueue::new(config.queue, spec.engine.clone(), io_channel, config.check_seal),
engine: spec.engine.clone(),
chain: {
let hs_cfg = if config.no_hardcoded_sync { HardcodedSync::Deny } else { HardcodedSync::Allow };
HeaderChain::new(db.clone(), chain_col, &spec, cache, hs_cfg)?
},
report: RwLock::new(ClientReport::default()),
import_lock: Mutex::new(()),
db,
listeners: RwLock::new(vec![]),
fetcher,
verify_full: config.verify_full,
})
}
/// Generates the specifications for hardcoded sync. This is typically only called manually
/// from time to time by a Parity developer in order to update the chain specifications.
///
/// Returns `None` if we are at the genesis block.
pub fn read_hardcoded_sync(&self) -> Result<Option<SpecHardcodedSync>, Error> {
self.chain.read_hardcoded_sync()
}
/// Adds a new `LightChainNotify` listener.
pub fn add_listener(&self, listener: Weak<LightChainNotify>) {
self.listeners.write().push(listener);
}
/// Import a header to the queue for additional verification.
pub fn import_header(&self, header: Header) -> EthcoreResult<H256> {
self.queue.import(header).map_err(|(_, e)| e)
}
/// Inquire about the status of a given header.
pub fn status(&self, hash: &H256) -> BlockStatus {
match self.queue.status(hash) {
queue::Status::Unknown => self.chain.status(hash),
other => other.into(),
}
}
/// Get the chain info.
pub fn chain_info(&self) -> BlockChainInfo {
let best_hdr = self.chain.best_header();
let best_td = self.chain.best_block().total_difficulty;
let first_block = self.chain.first_block();
let genesis_hash = self.chain.genesis_hash();
BlockChainInfo {
total_difficulty: best_td,
pending_total_difficulty: best_td + self.queue.total_difficulty(),
genesis_hash,
best_block_hash: best_hdr.hash(),
best_block_number: best_hdr.number(),
best_block_timestamp: best_hdr.timestamp(),
ancient_block_hash: if first_block.is_some() { Some(genesis_hash) } else { None },
ancient_block_number: if first_block.is_some() { Some(0) } else { None },
first_block_hash: first_block.as_ref().map(|first| first.hash),
first_block_number: first_block.as_ref().map(|first| first.number),
}
}
/// Get the header queue info.
pub fn queue_info(&self) -> queue::QueueInfo {
self.queue.queue_info()
}
/// Attempt to get a block hash by block id.
pub fn block_hash(&self, id: BlockId) -> Option<H256> {
self.chain.block_hash(id)
}
/// Get a block header by Id.
pub fn block_header(&self, id: BlockId) -> Option<encoded::Header> {
self.chain.block_header(id)
}
/// Get the best block header.
pub fn best_block_header(&self) -> encoded::Header {
self.chain.best_header()
}
/// Get a block's chain score.
pub fn score(&self, id: BlockId) -> Option<U256> {
self.chain.score(id)
}
/// Get an iterator over a block and its ancestry.
pub fn ancestry_iter(&self, start: BlockId) -> AncestryIter {
self.chain.ancestry_iter(start)
}
/// Get the signing chain id.
pub fn signing_chain_id(&self) -> Option<u64> {
self.engine.signing_chain_id(&self.latest_env_info())
}
/// Flush the header queue.
pub fn flush_queue(&self) {
self.queue.flush()
}
/// Get the `i`th CHT root.
pub fn cht_root(&self, i: usize) -> Option<H256> {
self.chain.cht_root(i)
}
/// Import a set of pre-verified headers from the queue.
pub fn import_verified(&self) {
const MAX: usize = 256;
let _lock = self.import_lock.lock();
let mut bad = Vec::new();
let mut good = Vec::new();
for verified_header in self.queue.drain(MAX) {
let (num, hash) = (verified_header.number(), verified_header.hash());
trace!(target: "client", "importing block {}", num);
if self.verify_full && !self.check_header(&mut bad, &verified_header) {
continue
}
let write_proof_result = match self.check_epoch_signal(&verified_header) {
Ok(Some(proof)) => self.write_pending_proof(&verified_header, proof),
Ok(None) => Ok(()),
Err(e) =>
panic!("Unable to fetch epoch transition proof: {:?}", e),
};
if let Err(e) = write_proof_result {
warn!(target: "client", "Error writing pending transition proof to DB: {:?} \
The node may not be able to synchronize further.", e);
}
let epoch_proof = self.engine.is_epoch_end_light(
&verified_header,
&|h| self.chain.block_header(BlockId::Hash(h)).and_then(|hdr| hdr.decode().ok()),
&|h| self.chain.pending_transition(h),
);
let mut tx = self.db.transaction();
let pending = match self.chain.insert(&mut tx, &verified_header, epoch_proof) {
Ok(pending) => {
good.push(hash);
self.report.write().blocks_imported += 1;
pending
}
Err(e) => {
debug!(target: "client", "Error importing header {:?}: {:?}", (num, hash), e);
bad.push(hash);
continue;
}
};
self.db.write_buffered(tx);
self.chain.apply_pending(pending);
}
if let Err(e) = self.db.flush() {
panic!("Database flush failed: {}. Check disk health and space.", e);
}
self.queue.mark_as_bad(&bad);
self.queue.mark_as_good(&good);
self.notify(|listener| listener.new_headers(&good));
}
/// Get a report about blocks imported.
pub fn report(&self) -> ClientReport {
self.report.read().clone()
}
/// Get blockchain mem usage in bytes.
pub fn chain_mem_used(&self) -> usize {
use heapsize::HeapSizeOf;
self.chain.heap_size_of_children()
}
/// Get a handle to the verification engine.
pub fn engine(&self) -> &Arc<EthEngine> {
&self.engine
}
/// Get the latest environment info.
pub fn latest_env_info(&self) -> EnvInfo {
self.env_info(BlockId::Latest)
.expect("Best block header and recent hashes always stored; qed")
}
/// Get environment info for a given block.
pub fn env_info(&self, id: BlockId) -> Option<EnvInfo> {
let header = match self.block_header(id) {
Some(hdr) => hdr,
None => return None,
};
Some(EnvInfo {
number: header.number(),
author: header.author(),
timestamp: header.timestamp(),
difficulty: header.difficulty(),
last_hashes: self.build_last_hashes(header.parent_hash()),
gas_used: Default::default(),
gas_limit: header.gas_limit(),
})
}
fn build_last_hashes(&self, mut parent_hash: H256) -> Arc<Vec<H256>> {
let mut v = Vec::with_capacity(256);
for _ in 0..255 {
v.push(parent_hash);
match self.block_header(BlockId::Hash(parent_hash)) {
Some(header) => parent_hash = header.hash(),
None => break,
}
}
Arc::new(v)
}
fn notify<F: Fn(&LightChainNotify)>(&self, f: F) {
for listener in &*self.listeners.read() {
if let Some(listener) = listener.upgrade() {
f(&*listener)
}
}
}
// return false if should skip, true otherwise. may push onto bad if
// should skip.
fn check_header(&self, bad: &mut Vec<H256>, verified_header: &Header) -> bool {
let hash = verified_header.hash();
let parent_header = match self.chain.block_header(BlockId::Hash(*verified_header.parent_hash())) {
Some(header) => header,
None => {
trace!(target: "client", "No parent for block ({}, {})",
verified_header.number(), hash);
return false // skip import of block with missing parent.
}
};
// Verify Block Family
let verify_family_result = {
parent_header.decode()
.map_err(|dec_err| dec_err.into())
.and_then(|decoded| {
self.engine.verify_block_family(&verified_header, &decoded)
})
};
if let Err(e) = verify_family_result {
warn!(target: "client", "Stage 3 block verification failed for #{} ({})\nError: {:?}",
verified_header.number(), verified_header.hash(), e);
bad.push(hash);
return false;
};
// "external" verification.
let verify_external_result = self.engine.verify_block_external(&verified_header);
if let Err(e) = verify_external_result {
warn!(target: "client", "Stage 4 block verification failed for #{} ({})\nError: {:?}",
verified_header.number(), verified_header.hash(), e);
bad.push(hash);
return false;
};
true
}
fn check_epoch_signal(&self, verified_header: &Header) -> Result<Option<Proof<EthereumMachine>>, T::Error> {
use ethcore::machine::{AuxiliaryRequest, AuxiliaryData};
let mut block: Option<Vec<u8>> = None;
let mut receipts: Option<Vec<_>> = None;
loop {
let is_signal = {
let auxiliary = AuxiliaryData {
bytes: block.as_ref().map(|x| &x[..]),
receipts: receipts.as_ref().map(|x| &x[..]),
};
self.engine.signals_epoch_end(verified_header, auxiliary)
};
// check with any auxiliary data fetched so far
match is_signal {
EpochChange::No => return Ok(None),
EpochChange::Yes(proof) => return Ok(Some(proof)),
EpochChange::Unsure(unsure) => {
let (b, r) = match unsure {
AuxiliaryRequest::Body =>
(Some(self.fetcher.block_body(verified_header)), None),
AuxiliaryRequest::Receipts =>
(None, Some(self.fetcher.block_receipts(verified_header))),
AuxiliaryRequest::Both => (
Some(self.fetcher.block_body(verified_header)),
Some(self.fetcher.block_receipts(verified_header)),
),
};
if let Some(b) = b {
block = Some(b.into_future().wait()?.into_inner());
}
if let Some(r) = r {
receipts = Some(r.into_future().wait()?);
}
}
}
}
}
// attempts to fetch the epoch proof from the network until successful.
fn write_pending_proof(&self, header: &Header, proof: Proof<EthereumMachine>) -> Result<(), T::Error> {
let proof = match proof {
Proof::Known(known) => known,
Proof::WithState(state_dependent) => {
self.fetcher.epoch_transition(
header.hash(),
self.engine.clone(),
state_dependent
).into_future().wait()?
}
};
let mut batch = self.db.transaction();
self.chain.insert_pending_transition(&mut batch, header.hash(), &epoch::PendingTransition {
proof,
});
self.db.write_buffered(batch);
Ok(())
}
}
impl<T: ChainDataFetcher> LightChainClient for Client<T> {
fn add_listener(&self, listener: Weak<LightChainNotify>) {
Client::add_listener(self, listener)
}
fn chain_info(&self) -> BlockChainInfo { Client::chain_info(self) }
fn queue_header(&self, header: Header) -> EthcoreResult<H256> {
self.import_header(header)
}
fn block_hash(&self, id: BlockId) -> Option<H256> {
Client::block_hash(self, id)
}
fn block_header(&self, id: BlockId) -> Option<encoded::Header> {
Client::block_header(self, id)
}
fn best_block_header(&self) -> encoded::Header {
Client::best_block_header(self)
}
fn score(&self, id: BlockId) -> Option<U256> {
Client::score(self, id)
}
fn ancestry_iter<'a>(&'a self, start: BlockId) -> Box<Iterator<Item=encoded::Header> + 'a> {
Box::new(Client::ancestry_iter(self, start))
}
fn signing_chain_id(&self) -> Option<u64> {
Client::signing_chain_id(self)
}
fn env_info(&self, id: BlockId) -> Option<EnvInfo> {
Client::env_info(self, id)
}
fn engine(&self) -> &Arc<EthEngine> {
Client::engine(self)
}
fn is_known(&self, hash: &H256) -> bool {
self.status(hash) == BlockStatus::InChain
}
fn clear_queue(&self) {
self.queue.clear()
}
fn flush_queue(&self) {
Client::flush_queue(self);
}
fn queue_info(&self) -> queue::QueueInfo {
self.queue.queue_info()
}
fn cht_root(&self, i: usize) -> Option<H256> {
Client::cht_root(self, i)
}
fn report(&self) -> ClientReport {
Client::report(self)
}
}
impl<T: ChainDataFetcher> ::ethcore::client::ChainInfo for Client<T> {
fn chain_info(&self) -> BlockChainInfo {
Client::chain_info(self)
}
}
impl<T: ChainDataFetcher> ::ethcore::client::EngineClient for Client<T> {
fn update_sealing(&self) { }
fn submit_seal(&self, _block_hash: H256, _seal: Vec<Vec<u8>>) { }
fn broadcast_consensus_message(&self, _message: Vec<u8>) { }
fn epoch_transition_for(&self, parent_hash: H256) -> Option<EpochTransition> {
self.chain.epoch_transition_for(parent_hash).map(|(hdr, proof)| EpochTransition {
block_hash: hdr.hash(),
block_number: hdr.number(),
proof,
})
}
fn as_full_client(&self) -> Option<&::ethcore::client::BlockChainClient> {
None
}
fn block_number(&self, id: BlockId) -> Option<BlockNumber> {
self.block_header(id).map(|hdr| hdr.number())
}
fn block_header(&self, id: BlockId) -> Option<encoded::Header> {
Client::block_header(self, id)
}
}

View File

@@ -0,0 +1,133 @@
// Copyright 2015-2018 Parity Technologies (UK) Ltd.
// This file is part of Parity.
// 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.
// 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 Parity. If not, see <http://www.gnu.org/licenses/>.
//! Minimal IO service for light client.
//! Just handles block import messages and passes them to the client.
use std::fmt;
use std::sync::Arc;
use ethcore::client::ClientIoMessage;
use ethcore::{db, BlockChainDB};
use ethcore::error::Error as CoreError;
use ethcore::spec::Spec;
use io::{IoContext, IoError, IoHandler, IoService};
use cache::Cache;
use parking_lot::Mutex;
use super::{ChainDataFetcher, LightChainNotify, Client, Config as ClientConfig};
/// Errors on service initialization.
#[derive(Debug)]
pub enum Error {
/// Core error.
Core(CoreError),
/// I/O service error.
Io(IoError),
}
impl From<CoreError> for Error {
#[inline]
fn from(err: CoreError) -> Error {
Error::Core(err)
}
}
impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match *self {
Error::Core(ref msg) => write!(f, "Core error: {}", msg),
Error::Io(ref err) => write!(f, "I/O service error: {}", err),
}
}
}
/// Light client service.
pub struct Service<T> {
client: Arc<Client<T>>,
io_service: IoService<ClientIoMessage>,
}
impl<T: ChainDataFetcher> Service<T> {
/// Start the service: initialize I/O workers and client itself.
pub fn start(config: ClientConfig, spec: &Spec, fetcher: T, db: Arc<BlockChainDB>, cache: Arc<Mutex<Cache>>) -> Result<Self, Error> {
let io_service = IoService::<ClientIoMessage>::start().map_err(Error::Io)?;
let client = Arc::new(Client::new(config,
db.key_value().clone(),
db::COL_LIGHT_CHAIN,
spec,
fetcher,
io_service.channel(),
cache,
)?);
io_service.register_handler(Arc::new(ImportBlocks(client.clone()))).map_err(Error::Io)?;
spec.engine.register_client(Arc::downgrade(&client) as _);
Ok(Service {
client,
io_service,
})
}
/// Set the actor to be notified on certain chain events
pub fn add_notify(&self, notify: Arc<LightChainNotify>) {
self.client.add_listener(Arc::downgrade(&notify));
}
/// Register an I/O handler on the service.
pub fn register_handler(&self, handler: Arc<IoHandler<ClientIoMessage> + Send>) -> Result<(), IoError> {
self.io_service.register_handler(handler)
}
/// Get a handle to the client.
pub fn client(&self) -> &Arc<Client<T>> {
&self.client
}
}
struct ImportBlocks<T>(Arc<Client<T>>);
impl<T: ChainDataFetcher> IoHandler<ClientIoMessage> for ImportBlocks<T> {
fn message(&self, _io: &IoContext<ClientIoMessage>, message: &ClientIoMessage) {
if let ClientIoMessage::BlockVerified = *message {
self.0.import_verified();
}
}
}
#[cfg(test)]
mod tests {
use super::Service;
use ethcore::spec::Spec;
use std::sync::Arc;
use cache::Cache;
use client::fetch;
use std::time::Duration;
use parking_lot::Mutex;
use ethcore::test_helpers;
#[test]
fn it_works() {
let db = test_helpers::new_db();
let spec = Spec::new_test();
let cache = Arc::new(Mutex::new(Cache::new(Default::default(), Duration::from_secs(6 * 3600))));
Service::start(Default::default(), &spec, fetch::unavailable(), db, cache).unwrap();
}
}

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