Commit Graph

2783 Commits

Author SHA1 Message Date
Gavin Wood e8a655bbef Commission is stated as percent of rewards (#4243) 2019-11-28 14:45:09 +00:00
Arkadiy Paronyan 504e2f8bd5 Check block CLI command (#4240)
* Check block operation

* Update client/cli/src/lib.rs

* Update client/cli/src/params.rs
2019-11-28 11:24:28 +00:00
Tomasz Drwięga f78b83e363 Handle Grafana server bind errors gracefuly. (#4241)
* Fix error handling for grafana sever start.

* Update client/grafana-data-source/src/server.rs

Co-Authored-By: Pierre Krieger <pierre.krieger1708@gmail.com>
2019-11-28 11:16:54 +00:00
thiolliere 2f35d7f003 improve doc (#4239) 2019-11-28 11:06:06 +01:00
Weiliang Li 630f7d8425 Parameter trait for Time::Moment (#4237)
* Debug for Time::Moment

Without this we cannot have a Moment parameter in dispatchable functions

* Update frame/support/src/traits.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* Update traits.rs
2019-11-28 09:56:01 +01:00
Qinxuan Chen 4a21f9bbfd Prune some duplicate dependencies (#4219)
* Prune some duplicate dependencies

* Remove ed25519-dalek 0.9.1
* Remove hex 0.3.2
* Remove parity-wasm 0.40.3
* Remove pwasm-utils 0.11.0
* Remove wasmi-validation 0.2.0
* Remove quickcheck 0.8.5
* Remove tempdir (Replace tempdir with tempfile)

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* Remove useless tempdir_with_prefix

Signed-off-by: koushiro <koushiro.cqx@gmail.com>

* Remove derive_more 0.15

Signed-off-by: koushiro <koushiro.cqx@gmail.com>
2019-11-28 09:55:30 +01:00
Svyatoslav Nikolsky a782021ee8 Recover transaction pool on light client (#3833)
* recover tx pool on light client

* revert local tests fix

* removed import renamings

* futures03::Future -> std::future::Future

* Update core/transaction-pool/graph/src/error.rs

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

* replace remove_from_ready with remove_invalid

* avoid excess hashing

* debug -> warn

* TransactionPool + BasicTransactionPool

* pause future tx reject when resubmitting

* bump impl_version to make CI happy

* and revert back local test fixes

* alter doc to restart CI

* Transaction::clone() -> Transaction::duplicate()

* transactions -> updated_tranasctions

* remove explicit consensus-common ref

* ::std:: -> std::

* manual set/unset flag -> calling clusore with given flag value

* removed comments

* removed force argument

* BestIterator -> Box<Iterator>

* separate crate for TxPool + Maintainer trait

* long line fix

* pos-merge fix

* fix benches compilation

* Rename txpoolapi to txpool_api

* Clean up.

* Finalize merge.

* post-merge fix

* Move transaction pool api to primitives directly.

* Consistent naming for txpool-runtime-api

* Warn about missing docs.

* Move  abstraction for offchain calls to tx-pool-api.

* Merge RPC instantiation.

* Update cargo.lock

* Post merge fixes.

* Avoid depending on client.

* Fix build
2019-11-28 00:00:54 +00:00
Bastian Köcher 3e26fceda4 The storage runtime interface should not enforce a hash type (#4231)
* The storage runtime interface should not enforce a hash type

Currently the runtime interface enforces `H256` as hash type, but in the
future people could use whatever they want as hash type. The hash type
always needs to match between the runtime and the node, but that is
already required.

* Update primitives/externalities/src/lib.rs

Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>
2019-11-28 00:00:28 +00:00
Bryant Eisenbach 39388b826b Use raw public key instead of compressed (#4234)
* refactor: Use raw public key instead of compressed

* Fix whitespace
2019-11-27 23:59:37 +00:00
Robert Habermeier 9973432342 back-off block proposal (#4235) 2019-11-27 21:53:34 +00:00
Robert Habermeier 4598e13015 safe multi-era slashing for NPoS (#3846)
* define slashing spans

* tests and pruning for slashing-spans record

* validators get slashed before nominators

* apply slash to nominators as well

* chill and end slashing spans

* actually perform slashes

* integration (tests failing)

* prune metadata

* fix compilation

* some tests for slashing and metadata garbage collection

* correctly pass session index to slash handler

* test span-max property for nominators and validators

* test that slashes are summed correctly

* reward value computation

* implement rewarding

* add comment about rewards

* do not adjust slash fraction in offences module

* fix offences tests

* remove unused new_offenders field

* update runtime version

* fix up some docs

* fix some CI failures

* remove no-std incompatible vec! invocation

* try to fix span-max rounding error

* Update srml/staking/src/slashing.rs

Fix type: winow -> window

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

* slashes from prior spans don't kick validator again

* more information for nominators, suppression

* ensure ledger is consistent with itself post-slash

* implement slash out of unlocking funds also

* slashing: create records to be applied after-the-fact

* queue slashes for a few eras later

* method for canceling deferred slashes

* attempt to fix test in CI

* storage migration for `Nominators`

* update node-runtime to use SlashDeferDuration

* adjust migration entry-points somewhat

* fix migration compilation

* add manual Vec import to migration

* enable migrations feature in node-runtime

* bump runtime version

* update to latest master crate renames

* update to use ensure-origin

* Apply suggestions from code review

use `ensure!`

Co-Authored-By: Gavin Wood <gavin@parity.io>

* fix multi-slash removal

* initialize storage version to current in genesis

* add test for version initialization
2019-11-27 19:06:32 +00:00
Gavin Wood de5686509c Validators don't get slashed for offlineness until 10% at once (#4232)
* Validators don't get slashed for offlineness until 10% at once

* Update frame/im-online/src/tests.rs

Co-Authored-By: Marcio Diaz <marcio.diaz@gmail.com>

* Update frame/im-online/src/tests.rs

Co-Authored-By: Marcio Diaz <marcio.diaz@gmail.com>

* Apply suggestions from code review

Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
2019-11-27 18:57:03 +00:00
Tomasz Drwięga 77d0c065d3 Hard-cap the execution time of custom contract calls. (#4226)
* Reject call requests that allocate too high gas limit.

* Lower to 5x
2019-11-27 18:23:55 +00:00
cheme a7c04a5bce This reverts commit fdbfd0b150. (#4230)
It brings back trie-db 0.16.
2019-11-27 18:23:37 +00:00
thiolliere f4035cd5ac Implement all storage after prefix (#4227)
* Implement all storage after prefix

* fix test, bump version and fix doc

* bump metadata version

* Update frame/support/procedural/src/storage/storage_struct.rs
2019-11-27 18:23:20 +00:00
Weiliang Li dcaabbaacf Add sha2-256 hash function (#4218)
* Add sha2-256 hash function

Widely used hash function, supported by bitcoin and ethereum

* Add runtime io support

* add test

* add test

* Update hashing.rs

* Update hashing.rs
2019-11-27 17:32:35 +00:00
Wei Tang f8bf17dc49 Make block proposing remaining duration configurable (#4215)
* Make proposing remaining duration configurable

* Pass chain_head to proposing_remaining_duration and change default
2019-11-27 17:44:34 +01:00
Weiliang Li c5a9b504f9 fix ligature glitch in frame/staking/src/lib.rs (#4217) 2019-11-27 13:13:00 +00:00
Benjamin Kampmann bd652793db Remove all (non-dev) client references from frame, activate dependency enforcer (#4184)
* Move transaction pool to primitives

* move backend, errors into primitives

* remove unused client depencies

* Move rpc-api into primitives

* Move peerset back to client

* Move rpc/api back to client, move palette/support/rpc into utils

* move support-rpc into subfolder

* move system-rpc into utils

* move transaction-pool  and -graph back into client

* fix broken imports

* Clean up test primitives

* Make support test utils independent of frame

* remove unnecessary node dependencies from service

* Reactivate dependency script:
 - only enforce the now achieved status quo will remain
 - allow for primitives to depend on /client for now without failing
 - more discriptive error message so people understand, what it wants
 - minor fix to differentiative between ../client and /client (which may be a subfolder)
 - don't allow this to fail anylonger.

* fix doc comment

* 'Should not' rather than 'must not'.

* Revert unwanted dependency changes

* fix faulty import

* fixup derive_more version

* fix wrong import path
2019-11-26 21:38:28 +01:00
Marcio Diaz b2aab98e69 Add graphs for each function name (#4214) 2019-11-26 20:06:32 +01:00
Wei Tang b362be3ff3 Move block proposing execution to dedicated blocking threadpool (#4202)
* Move block proposing execution to dedicated blocking threadpool

* typo: move comments around

* Fix tests
2019-11-26 20:00:00 +01:00
Qinxuan Chen c7d9c58ce8 Update some dependencies: (#4207)
- derive_more 0.15 -> 0.99
- strum 0.15 -> 0.16
- slog_derive 0.1 -> 0.2

Signed-off-by: koushiro <koushiro.cqx@gmail.com>
2019-11-26 18:39:58 +01:00
Gav Wood a758d54f6e Remove tab (#4212) 2019-11-26 18:39:08 +01:00
Robert Habermeier 52b5dee4f9 skip passed slots and wake up service correctly (#4212) 2019-11-26 18:38:03 +01:00
Robert Habermeier 5010faa9bd update finality-grandpa to v0.10.1 (#4213) 2019-11-26 17:25:07 +00:00
Marcio Diaz e1a911cac4 Add receiver for Grafana (#4211) 2019-11-26 18:17:34 +01:00
Arkadiy Paronyan 53a482146b Time-based gradual gossip (#4176) 2019-11-26 18:17:14 +01:00
Weiliang Li afaf66a853 Sort node/cli/Cargo.toml (#4205) 2019-11-26 18:14:18 +01:00
Tomasz Drwięga cfb590ac4b Allow batch query for block hash. (#4210) 2019-11-26 18:07:31 +01:00
Gavin Wood 70bc6eaed6 Introduce efficient Hash-based RNG streamer (#4169)
* Introduce efficient Hash-based RNG streamer

* Loop in the case of being in bias space.

* Fix tests

* Minor cleanup
2019-11-26 13:27:15 +01:00
Bastian Köcher 9ead395bff Give state_col 90% of memory budget and fix other col calculation (#4208)
* Give `state_col` 90% of memory budget and fix other col calculation

* Set default db cache size to 1024
2019-11-26 13:25:43 +01:00
cheme fdbfd0b150 revert (#4204) 2019-11-26 10:23:11 +01:00
Tomasz Drwięga 309c6c70d8 Remove keystore when doing calls and producing a proof (#4196)
* Remove keystore parameter.

* Fix tests.
2019-11-25 19:55:21 +01:00
Pierre Krieger d8ca2f37df Make spawn_essential_task more strict (#4198) 2019-11-25 17:48:25 +01:00
Alexey d7b9dd300b Refactor construct_runtime to procedural (#3810)
* interim

* interim

* interim

* first working section

* cleanup

* finished parsing

* cleanup

* added system module search

* added clone and find_entry

* generic find_module_entry

* interim

* working event

* added generic event with no instance error

* cleanup

* added decl origin

* cleanup

* added all modules

* added outer dispatch

* added modules expansion

* refactored transformations

* updated error message

* added resolve mechanics

* added metadata

* finished config

* finished inherents

* added validate_unsigned

* added compares

* cleanup

* cleanup

* cleanup

* fix

* updated modules for last one wins

* cleanup

* made nested modules

* updated impl version

* removed comment

* cleanup

* added ui tests

* added optional comma

* removed unnecessary to string cast

* removed no compile

* cleanup

* fmt

* returned nocompile

* Update srml/support/procedural/src/construct_runtime/parse.rs

Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>

* added where definition

* updated ui tests

* updated ui test cases

* added test case

* updated tests

* interim

* added parse for module part

* removed totokens

* fixes

* fixed multiple iter

* changed TokenStream

* fmt

* updated trybuild

* added test for arguments

* fmt

* fixes + more tests

* fixes

* fmt

* rolled back runtime

* minor fixes

* empty

* fixes

* fmt

* Update paint/support/procedural/src/lib.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* Update paint/support/procedural/src/lib.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* Update paint/support/procedural/src/construct_runtime/parse.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* interim

* refactored seen_keys

* refactored hash_set

* Update paint/support/procedural/src/construct_runtime/mod.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>

* refactored find

* fix

* fixed all_modules

* added double declaration check

* small fix

* fmt

* fix

* fix default

* format
2019-11-25 17:48:18 +01:00
Arkadiy Paronyan d56d6163ef Fixed shared cache race on import (#4194)
* Fixed is_best race on import

* Take import lock outside of backend

* Actually take the lock
2019-11-25 13:38:37 +01:00
Shawn Tabrizi 50b84a6438 Remove frame/ prefix from im_online DB_KEY. (#4191)
* Remove `frame/` prefix from `im_online` DB_KEY.

Caught in the renaming process. It is not obvious to me why `frame/` or `palette/` or `srml/` was included in the DB key.

* Update lib.rs
2019-11-25 11:51:09 +01:00
Ashley 78a758bfba Rewrite elected_edges.sort_unstable_by in phragmen (#4195)
* Rewrite phragmen elected_edges.sort_unstable_by

* map -> and_then
2019-11-25 11:43:26 +01:00
Xiliang Chen 04571d958b PaysFee for DispatchInfo (#4165)
* Add PaysFee trait

* bump version

* Apply suggestions from code review

Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* line width

* Apply suggestions from code review

Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* fix test

* fix test

* fix test
2019-11-25 14:42:51 +08:00
Bastian Köcher 68818929ab Log runtime panic and oom with level error (#4193) 2019-11-24 11:28:29 +01:00
Bastian Köcher f0fc2d89d2 Switch to new kvdb-rocksdb (#4186)
* Switch to new rocksdb with some hacks to resolve linking errors

Rocksdb and `wasmtime-environ` both link `zstd`. In the final link step,
this leads to linking errors because of duplicate symbols. The linked
Rocksdb fixes this by using `zstd-sys` as well. However, this currently
also requires modifications in `zstd-sys`. Someone will need to come up
with a better implementation.

* Switch to new version of kvdb-rocksdb

* Update client/db/src/utils.rs

Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com>
2019-11-23 23:28:42 +01:00
Kian Paimani 1c9316a6c1 elections-phragmen: renounce candidacy [+ remove dead code] (#4123)
* new elections phragmen module.

* Bump

* rename typo

* Few nits

* Fix runner outgoing bond

* remove useused var

* Fix refund logic.

* Update doc.

* Update lock
2019-11-23 18:10:30 +01:00
Shawn Tabrizi c9175b59ff Rename Palette to FRAME (#4182)
* palette -> frame

* PALETTE, Palette -> FRAME

* Move folder pallete -> frame

* Update docs/Structure.adoc

Co-Authored-By: Benjamin Kampmann <ben.kampmann@googlemail.com>

* Update docs/README.adoc

Co-Authored-By: Benjamin Kampmann <ben.kampmann@googlemail.com>

* Update README.adoc
2019-11-22 19:21:25 +01:00
Sergei Pepyakin 68351da29b Renaming and documentation for ApplyResult, ApplyOutcome and et al (#4134)
* Remove superflous errors from the system module

* Rename and document InclusionOutcome

* Rename InclusionError

* Remove unused inclusion errors.

I left the enumeration though since other elements might be used some day.

* Rename and document DispatchOutcome

* Apply suggestions from code review

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

* TransactionValidityError instead of InclusionError

* Rename InclusionOutcome to ApplyExtrinsicResult

* Update docs.

* Update lib.rs

should be → is

* Bump the block builder API version.

* Fix the should_return_runtime_version test

* Clean the evidence
2019-11-22 17:15:58 +01:00
Tomasz Drwięga 86b6ac5571 Offchain execution extensions (#4145)
* Pass Extensions instead of individual objects.

* Move TransactionPool to a separate ExternalitiesExtension.

* Fix compilation.?

* Clean up.

* Refactor testing utilities.

* Add docs, fix tests.

* Fix doctest.

* Fix formatting and add some logs.

* Add some docs.

* Remove unused files.
2019-11-22 17:10:23 +01:00
thiolliere f000392cc0 fix storage decode error (#3997) 2019-11-22 16:29:26 +01:00
Ashley 145efab68f Grafana integration (#3913)
* Very WIP

* record_metrics macro works

* Integrate into service

* Licenses and documentation

* Remove unused Debugs, make respond function clearer

* Conform to line widths, fix service test

* Switch to storing the timestamps as millis instead

* Update core/grafana-data-source/src/lib.rs

Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* Transform timestamps to i64 in serialization

* Fix license date

* Binary sort to find selection range for metrics

* Obey maxDataPoints

* Run a cleaning future

* Newlines at EOF

* Update core/service/Cargo.toml

Co-Authored-By: Pierre Krieger <pierre.krieger1708@gmail.com>

* Update core/grafana-data-source/src/lib.rs

Co-Authored-By: Pierre Krieger <pierre.krieger1708@gmail.com>

* Fix indentation

* Improve select_points

* Made test more accurate

* Inprogress

* Use the same futures version as hyper for now

* Error handling

* Remove dependence on hyper's tokio feature

* Added target_os flag

* Update Cargo.toml

Co-Authored-By: Pierre Krieger <pierre.krieger1708@gmail.com>

* Simplify example

* Remove compat wildcard

* Updated lock file

* Fix indentation 😉
2019-11-22 15:49:49 +01:00
Pierre Krieger 458dba5ce5 Improve logging for reserved peers (#4183) 2019-11-22 15:24:27 +01:00
mattrutherford 9cc16e539e Add instrumentation, with performance profiling capability (#4132)
* Implement instrumentation for performance profiling

* Add profiling to runtime functions declared in `decl_module` inc.
`on_initialize` and `on_finalize`

* Remove changes

* add docs, tidy up

* fix versions

* fix copyright date

* switch to hashmap and instant

* update example

* update example

* implement receiver for logger and make default

* fix comment

* use `if_std!` macro

* remove whitespace

* fix whitespace

* fix nits
2019-11-22 15:21:36 +01:00
Gavin Wood 082c58176e Publish the dispatch info in extrinsic events (#4148)
* Publish the dispatch info in extrinsic events

Place the DispatchInfo (which contains weight information about the
extrinsic that is otherwise difficult to determine) in the dispatch
result value.

* Runtime bump.

* Fix build

* Fix tests

* Fix build?
2019-11-22 15:11:04 +01:00