Commit Graph

1461 Commits

Author SHA1 Message Date
Andronik Ordian
51e4a6dcbc
deps: switch to upstream ctrlc (#11617) 2020-04-09 18:24:27 +02:00
Valentin Shergin
d78565593b
Deduplicating crate dependencies (part 1 of n) (#11606)
This fixes (partially) #11468.
The change includes:
```
arrayvec
base64
crossbeam-deque
crossbeam-epoch
crossbeam-utils
home
idna
impl-serde
keccak-hasher
lock_api
miow
num-traits
parking_lot
parking_lot_core
percent-encoding
```
2020-04-07 16:18:56 +02:00
Artem Vorotnikov
47637538e4
Fix compile warnings (#11595)
* Fix compile warnings

* oops

* oops

* Fix
2020-04-03 21:00:09 +02:00
marktoda
2a3217d8d8
Replace deprecated tempdir dependency with tempfile (#11588)
`Tempdir` is deprecated, but the functionality has been merged into
another crate: `tempfile`. This commit removes all `tempdir` dependencies
and replaces them with `tempfile` and the equivalent bindings.

Fixes #11560
2020-03-29 22:31:17 +02:00
Artem Vorotnikov
4f26ffd447
Fix project name, links, rename the binaries (#11580)
* Fix project name, links, rename binary

* Update util/version/Cargo.toml

Co-Authored-By: David <dvdplm@gmail.com>

* Update updater/Cargo.toml

Co-Authored-By: David <dvdplm@gmail.com>

* Update util/version/Cargo.toml

Co-Authored-By: David <dvdplm@gmail.com>

Co-authored-by: David <dvdplm@gmail.com>
2020-03-25 17:16:51 +01:00
David
87fd914c94
Increase the default pruning parameters (#11558)
* Log block number and earliest available block when snapshots fail to start

* Increase default pruning history to 128
Increase default pruning memory to 48Mb

* Decrease SNAPSHOT_PERIOD to 200 to get them snapshots started quicker

* Sync updates to defaults with the args parser

* Fix tests

* Restore the SNAPSHOT_PERIOD to 5000

* One more

* Update ethcore/src/client/config.rs
2020-03-19 11:34:30 +01:00
Andronik Ordian
70c4ed7fa0
informant: display I/O stats (#11523)
* informant: collect I/O stats for state_db

* informat: debug i/o log

* informat: remove unused cache hit ratio

* Cargo.lock: cargo update -p librocksdb-sys

* [deps]: upgrade kvdb-rocksdb to 0.6

* Update ethcore/types/src/client_types.rs

Co-Authored-By: David <dvdplm@gmail.com>

Co-authored-by: David <dvdplm@gmail.com>
2020-03-17 16:44:27 +01:00
Julian Sparber
2bcc31928e
[secretstore] create db_version file when database doesn't exist (#11570)
Fixes: https://github.com/openethereum/openethereum/issues/11569
2020-03-16 19:53:47 +01:00
Niklas Adolfsson
e88ac4dbcf
[secretstore]: don't sign message with only zeroes (#11561) 2020-03-10 20:09:12 +01:00
Andronik Ordian
10d82ef119
initial cleanup (#11542)
* cleanup

* upbork

* review grumble: rename client id prefix

* rpc-tests: make one of the clients open-ethereum

* fix doctest

* README: mention clang version and that our wiki is old
2020-03-09 15:07:15 +01:00
Andronik Ordian
3ccfe735aa
license update (#11543)
* update license_header

* run ./scripts/add_license.sh

* update eip-152 license
2020-03-05 12:19:39 +01:00
s3krit
62b73a6460
Remove references to parity-ethereum (#11525)
* update all the changelogs

* update only github URLs in README.md

* sed magic

find . -type f -exec sed -i 's_paritytech/parity-ethereum_OpenEthereum/open-ethereum_g' {} \;
2020-03-01 23:40:59 +01:00
Artem Vorotnikov
597cbc2d6c
Drop IPFS support (#11532) 2020-02-29 11:57:43 +01:00
Niklas Adolfsson
11abf3ea2e
[EngineSigner]: don't sign message with only zeroes (#11524)
* [EngineSigner]: don't sign message only zeroes

Fixes #11521, caused by switching to `upstream rust-secp256k1`

* address grumbles

* forgot formatting change
2020-02-27 12:22:11 +01:00
David
bbcd094906
Misc fixes (#11510)
* Misc fixes

Did some code reading and made random changes as I went.

* Update ethcore/src/client/client.rs

Co-Authored-By: Andronik Ordian <write@reusable.software>

Co-authored-by: Andronik Ordian <write@reusable.software>
2020-02-23 16:49:17 +01:00
Artem Vorotnikov
06df521eff
Implement eth/64 (EIP-2364) and drop support for eth/62 (#11472)
* sync: make code friendlier to future conditional parsing

* Implement eth/64 (EIP-2364) and drop support for eth/62
2020-02-19 14:42:52 +01:00
Niklas Adolfsson
4e2010f2d9
[ci benches]: use all-features (#11496)
* [ci benches]: use `all-features`

Our benches are hidden behind feature flags, this PR enables to type check on those.

`--all` is deprecated

* [bench verification]: remove block_family_partial

* [global allocator]: rm `feature=memory_profiling`

The `memory_profiling` feature doesn't work because `parity_util_mem` crate configures it globally.
2020-02-17 12:25:07 +01:00
David
856a075588
Include the seal when populating the header for a new block (#11475)
* debug signer

* Don't panic if empty_steps_transition already happened

Before this the `header_empty_steps_raw` would panic if the chain has already progressed beyond the block number set in `emptyStepsTransition`. As this is a user accessible configuration option I don't think we should panic.

* Cleanup some code in Aura

Nothing really interesting here, renames or removes some methods. Adds some docs and extends a test a bit to clarify the behaviour of the code.

* Include the seal when populating the header for a new block (fixes #11445)

* cleanup

* cleanup2

* Review grumbles

* Update ethcore/engines/authority-round/src/lib.rs

Co-Authored-By: André Silva <andre.beat@gmail.com>

* Update ethcore/engines/authority-round/src/lib.rs

Co-Authored-By: André Silva <andre.beat@gmail.com>

* Update ethcore/src/block.rs

Co-Authored-By: André Silva <andre.beat@gmail.com>

Co-authored-by: André Silva <andre.beat@gmail.com>
2020-02-14 19:01:17 +01:00
Anton Gavrilov
9477bae6dc
Switch usage of Secret Store to the external lib (#11487) 2020-02-12 18:37:34 +01:00
Artem Vorotnikov
1a8c0391c5
weak_counts has been stabilized (#11476) 2020-02-11 09:41:23 +01:00
Andronik Ordian
654632264b
upgrade some of the dependencies (#11467)
* bump parity-util-mem and related deps

* upgrade some of the dependencies

* deduplicate static_assertions
2020-02-07 17:23:45 +01:00
/raw PONG _GHMoaCXLT
c7c18d067d ethcore/res: remove morden testnet (#11392)
* ethcore/res: remove morden testnet

* ethcore: replace morden by ropsten and null_morden

* json/spec: rename morden test to null morden

* parity/{cli,params}: remove morden testnet

* ethcore/engines: fix tests

* ethcore/engines: fix test

* ethcore/tests: remove `0x` prefix from registrar

Co-Authored-By: Andronik Ordian <write@reusable.software>

* ethcore/chain: fix tests for ropsten

Co-authored-by: Andronik Ordian <write@reusable.software>
2020-01-28 17:24:36 +01:00
EtherCore Contributor
33bfcec4ab Add EtherCore support (#11402)
* support ethercore mainnet with basic token metrics and ProgPoW support, ecip1017, bomb defuse & istanbul
2020-01-24 23:33:42 -08:00
Denis S. Soldatov aka General-Beck
e1d06efe60 Switching to stable-track (#11377)
* sccache "stop server" - > "show stats"

* remove testing and beta from update, cli, etc.

* Beta->Nigthly updater

* Beta->Nightly

* ->Nightly and fix

* updater ->Stable

* Testing->Nightly

* Update scripts/gitlab/test-linux.sh

Co-Authored-By: Denis Pisarev <denis.pisarev@parity.io>

* sccache "stop server" - > "show stats"

* remove testing and beta from update, cli, etc.

* Beta->Nigthly updater

* Beta->Nightly

* ->Nightly and fix

* updater ->Stable

* Testing->Nightly

* Update scripts/gitlab/test-linux.sh

Co-Authored-By: Denis Pisarev <denis.pisarev@parity.io>

* Update CHANGELOGs and version

* temporarily allow darwin and windows to be built on any branch

* fix check-benches job

* Revert "temporarily allow darwin and windows to be built on any branch"

This reverts commit 45c72f69e99cbe891f694e528a53eb3c3bd8f331.

* fix check-benches job

* Revert changing track from `nightly` to `stable`

* fix test: rpc_parity_upgrade_ready

* fix tests: rpc_parity_version_info, rpc_parity_releases_info

Co-authored-by: Denis Pisarev <denis.pisarev@parity.io>
Co-authored-by: s3krit <pugh@s3kr.it>
2020-01-22 17:34:34 +01:00
s3krit
77643c13e8
Update copyright notice 2020 (#11386)
* Update copyright noticed 2020

* Update copyright in two overlooked files
2020-01-17 14:27:28 +01:00
Anton Gavrilov
424b38a8d7
Encapsulate access to the client for secret store (#11232)
* Move all client usages into trusted_client

* Move confirmed hash method to trusted client

* Tree route and logs encapsuluted

* Remove not used method for keys sharing

* NodeKeyPair renamed and moved to trusted client

* Use public key error in trusted client

* Move contract address definition into trusted client

* Block id and number types from ethcore wrapped

* Trusted client renamed to more general Blockchain

* Trusted client implementation moved to parity code

* Move node key pair under secret store feature as well

* Registar crate removed from deps

* Accounts feature removed from secret store

* Fix after merge

* Blockchain renamed to SecretStoreChain

* Module documentations added
2020-01-07 14:37:02 +01:00
Max Johansen
23a23e7a18 Fix error message typo (#11363) 2020-01-02 19:54:29 +01:00
David
b9f9d11929
Update to latest kvdb-*: no default column, DBValue is Vec (#11312)
* Only use kvdb "column families"

This PR contains the changes necessary to use the `kvdb-*` crates from https://github.com/paritytech/parity-common/pull/278 (so a synchronized merge is required) which drops support for the old-style rocksdb "default" column to get a smaller and less complex API.

As it stands this PR is working correctly except for secret-store; we need to migrate it to use a new column family.

* Fix secretstore build

* Fix secretstore build: include ethkey when building with the "accounts" feature

* typos

* Restore state test commit

* Override all of parity-common from git

* Be precise about version requirement to migrate secretstore code

* Update ethcore/db/src/db.rs

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

* Address review grumbles

* Review grumbles

* Cleanup

Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
2019-12-20 12:27:38 +01:00
Cho
e14d68e559 Add Nat PMP method to P2P module (#11210)
* Add Nat PMP method to P2P module

* Add test fn

* Use closure

* print richer error messages.

* reformat long code line

* remove closures
2019-12-19 09:01:39 +01:00
Andronik Ordian
ae74e8df78
[secretstore] migrate to version 4 (#11322)
* secret-store: migrate the db to version 4

* Fix secretstore build

* Fix secretstore build: include ethkey when building with the "accounts" feature

* fix build

* secret-store: actually use new column

* a bunch of fixes

* last nits

* Apply suggestions from code review

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

* secret-store: move db stuff to secret-store as per Anton's request
2019-12-12 13:21:51 +01:00
Seun LanLege
64295fde62 Adds support for ipc socket permissions (#11273)
* adds support for ipc socket permissions

* bumped jsonrpc to 14.0.5

* change chmod default to 660, use casting

* set 660 default for --ipc-chmod

Co-Authored-By: Andronik Ordian <write@reusable.software>

* Update parity/cli/mod.rs

Co-Authored-By: David <dvdplm@gmail.com>

* represent octal value as string

* return error for invalid octal values

* fix tests

* check if supplied octal range is within 0 to 7777

* Apply suggestions from code review

Co-Authored-By: Andronik Ordian <write@reusable.software>

* temporary fix

* bump jsonrpc-ipc-server

* fix: update `Cargo.lock`
2019-12-06 16:39:56 +01:00
Seun LanLege
80a83c95d3 only add transactions to signing-queue if it is enabled (#11272)
* only add transactions to signing-queue if it is enabled

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

Co-Authored-By: David <dvdplm@gmail.com>

* use errors::codes::ACCOUNT_LOCKED

* bail early if account isn't unlocked

* use errors::signing

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

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

* test

* adds cli flag to enable signing queue.

* use helper method siginig_queue_disabled instead of accounts::SignError

* fix typo, use raw i64

* fixed tests
2019-12-05 09:38:14 +01:00
David
f6c3d4c695 Use upstream rocksdb (#11248)
* Use upstream rocksdb

…by way of https://github.com/paritytech/parity-common/pull/257 by @ordian.

* Hint at how `parity db reset` works in the error message

* migration-rocksdb: fix build

* Cargo.toml: use git dependency instead of path

* update to latest kvdb-rocksdb

* fix tests

* saner default for light client

* rename open_db to open_db_light

* update to latest kvdb-rocksdb

* moar update to latest kvdb-rocksdb

* even moar update to latest kvdb-rocksdb

* use kvdb-rocksdb from crates.io

* Update parity/db/rocksdb/helpers.rs

* add docs to memory_budget division
2019-12-03 16:59:11 +01:00
Sebastian Dechant
f2f4217e3c add support for evan.network chains (#11289)
* add support for evan.network chains

* fix chainspec parsing errror

* add missing core param

* missing colon
2019-12-03 15:00:29 +01:00
Marek Kotewicz
e0091c672a
removed redundant VMType enum with one variant (#11266) 2019-11-20 11:11:36 +08:00
David
82c3265858
Ensure jsonrpc threading settings are sane (#11267)
* Ensure jsonrpc threading settings are sane

Starting with `jsonrpc` v14, the "server threads" setting is more important than before and the current default of 1 means the https server is effectively single-threaded. This PR proposes a new default of 4 (and ensures that crazy settings like e.g. `0` are bumped to at least `1`).

Also included: some docs, tests and cosmetics.

* Update parity/rpc.rs

Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>

* Update parity/rpc.rs

Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>

* Remove (i.e. deprecate) `--jsonrpc-threads` command line option

* Call numbers NUM

* Don't show a default for --jsonrpc-threads (deprecated)

* Show deprecation warning when using `--jsonrpc-threads` or `processing_threads`

* Update parity/deprecated.rs

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

* Fix test

* Fix tests for real
2019-11-18 19:40:48 +01:00
David
e194a2c6e3 Fix misc compile warnings (#11258) 2019-11-14 00:01:21 +01:00
Talha Cross
1b4d23fd20
ethcore/res: add mordor testnet configuration (#11200)
* ethcore/res: add mordor testnet configuration

* ethcore/spec: add mordor testnet configuration

* parity/cli: add mordor testnet configuration

* parity/config: fix tests

* ethcore/res: update mordor spec with agharta hardfork block 301243

*  ethcore/res: update kotti with agharta block 1705549

* ethcore/res: update morden with agharta block 5000381

* ethcore/res: multiple prices and activations for mordor testnet

* fix mordor spec json

* fix mordor spec json
2019-11-02 12:26:38 +01:00
Anton Gavrilov
80754c3426
Insert explicit warning into the panic hook (#11225) 2019-10-31 16:17:12 +01:00
Rakan Alhneiti
6993ec9531 Use provided usd-per-eth value if an endpoint is specified (#11209)
* Fix `invalid transaction price` error message

* Setup Calibrated GasPriceConfig when usd-per-eth is an endpoint

The change will try to check if the specified value is an endpoint.
If the value of `auto` is specified, the default endpoint URL will be used
otherwise, the user-provided value will be taken as-is for an endpoint.

* Use if-let and check for usd-per-eth arg:

1. auto = use etherscan
2. value = use fixed pricer
3. endpoint = use the provided endpoint as-is

* Fix typo in to_pricce error message

* Correct whitespace indentation

* Use arg_usd_per_eth directly
2019-10-29 12:18:30 +01:00
David
0d3423cbe0
Use a lock instead of atomics for snapshot Progress (#11197)
* WIP. Typos and logging.

* Format todos

* Pause pruning while a snapshot is under way
Logs, docs and todos

* Allocate memory for the full chunk

* Name snapshotting threads

* Ensure `taking_snapshot` is set to false whenever and however `take_snapshot`returns
Rename `take_at` to `request_snapshot_at`
Cleanup

* Let "in_progress" deletion fail
Fix tests

* Just use an atomic

* Review grumbles

* Finish the sentence

* Resolve a few todos and clarify comments.

* Calculate progress rate since last update

* Lockfile

* Fix tests

* typo

* Reinstate default snapshotting frequency
Cut down on the logging noise

* Use a lock instead of atomics for snapshot Progress

* Update ethcore/types/src/snapshot.rs

Co-Authored-By: Andronik Ordian <write@reusable.software>

* Avoid truncating cast
Cleanup
2019-10-28 18:24:45 +01:00
Niklas Adolfsson
293e06e0f4
[informant]: MillisecondDuration -> as_millis() (#11211)
* [informant]: `MillisecondDuration` -> `as_millis()`

This commit removes the trait `MillisecondDuration` and
replaces it with `Duration::as_millis` instead

* [grumble]: extract `elapsed()` to variable
2019-10-28 15:03:28 +01:00
Niklas Adolfsson
c4ca84cdf3 [export hardcoded sync]: use debug for H256 (#11204)
Fixes #11202

The `Display` implementation for `SpecHardcodedSync` used the `Display` implementation of
`ethereum_types::H256` which doesn't show the full hash which this fixes.
2019-10-25 18:12:14 +02:00
David
ffeaee778c
Pause pruning while snapshotting (#11178)
* WIP. Typos and logging.

* Format todos

* Pause pruning while a snapshot is under way
Logs, docs and todos

* Allocate memory for the full chunk

* Name snapshotting threads

* Ensure `taking_snapshot` is set to false whenever and however `take_snapshot`returns
Rename `take_at` to `request_snapshot_at`
Cleanup

* Let "in_progress" deletion fail
Fix tests

* Just use an atomic

* Review grumbles

* Finish the sentence

* Resolve a few todos and clarify comments.

* Calculate progress rate since last update

* Lockfile

* Fix tests

* typo

* Reinstate default snapshotting frequency
Cut down on the logging noise

* address grumble

* Log memory use with `journal_size()` and explain why.
2019-10-24 16:46:32 +02:00
Anton Gavrilov
834585d61b
Crypto primitives removed from ethkey (#11174)
* Crypto utils removed from ethkey

* Fix ethkey lib

* Switch ethsore to new crypto

* Accounts crate fixed

* Secret store crate switched to new crypto

* Ethcore builtin fixed

* Accounts crate fixed

* Ethcore crate fixed

* Util network fixed

* Util network-devp2p fixed

* Private tx fixed

* Ethcore sync fixed

* Secret store fixed

* Rpc fixed

* Parity fixed

* Ethkey cli fixed

* Local store fixed

* Ethcore blockchain fixed

* Cargo.lock pushed; doc comment added for reversed nonce

* Ethstore tests fixed

* Ethstore cli fixed

* Miner fixed

* Snapshot tests are fixed

* Single brackets removed

* Machine fixed

* Verification fixed

* Executive state fixed

* More single brackets removed

* Update version of parity-crypto

* Use published version 0.4.2 of parity-crypto

* New test in tx_filter fixed
2019-10-23 13:03:46 +02:00
Juan Aguilar
4fd1ec643f Refactor parity_listStorageKeys with count parameter optional (#11124) 2019-10-04 14:38:57 +02:00
Juan Aguilar
acc5bdfc35 move StateResult to common-types (#11121) 2019-10-03 16:52:29 +02:00
Toby Dimmick
79a17dedd0 Deduplicate registrar contract & calling logic (#11110)
* Rename RegistryInfo -> RegistryInfoDeprecated

* Add BlockId parameter to Registrar::get_address and RegistrarClient::call_contract

* Remove RegistrarClient::Call (use async for now); add RegistrarClient::get_address

* Remove Registrar type in favour of naked trait

* Use CallContract trait bound instead of separate call_contract method

* Make RegistrarClient::get_address and URLHint::resolve synchronous

* RegistrarClient::get_address: return check if address is zero

* Modify RegistryInfo::registry_address to take &str

* return Result from RegistryInfo::registry_address

* Replace RegistryInfo with RegistrarClient

- Modifed RegistrarClient::registrar_address to return Option
- Removed BlockChainClient::registrar_address

* Fix other build configs

* Fix unit test builds

* Remove local RegistrarClient type from run::execute_impl

* Remove registrar.json from ethcore

* Formatting/line breaks

* Update RegistrarClient docs, remove explicit lifetime

* Weak ref to ethcore client from hash fetch client

* Fix unit tests
2019-10-03 15:15:25 +02:00
Juan Aguilar
0c0f965354 Refactor return type of BlockChainClient::code #7098 (#11102)
* fix: refactor return type of `BlockChainClient::code`

* Add TODO move to `common-types`

Co-Authored-By: David <dvdplm@gmail.com>
2019-10-03 13:21:26 +02:00
David
2b8b8851ab Update kvdb, kvdb-rocksdb and h2 (#11091)
* Update a few dependencies

Updates two dependencies: `kvdb-rocksdb` and `h2`. Brings in `parking_lot 0.9` which is unintended but possibly fine.

* Bump parking_lot to 0.9
Bump kvdb-memorydb to 0.2 (from git atm)

* New kvdb-memorydb is not breaking

* Remove [patch]
2019-09-27 23:29:14 +02:00