Commit Graph

2469 Commits

Author SHA1 Message Date
thiolliere f4e36f0d74 Refactor decl storage (#3765)
* split implementation in multiple files:
  * transformation -> genesis_config/  getters.rs  instance_trait.rs  metadata.rs  mod.rs  store_trait.rs
  * mod.rs -> parser.rs
  * impl.rs -> storage_struct.rs
* parser is isolated into parse module, it could be improved as well but this can be done in another PR
* modules contains a defintion of decl_storage input which must be ok to work with.
* implementation change:
  * T: Trait might be more often bound to 'static (anyway we only use static one and it is needed for metadata current implementation).
  * GenesisConfig no longer requires its fields to be Clone (possible since to EncodeLike feature)
  * builder for map storages must return precise type Vec<(key, value)>
2019-10-16 15:47:46 +02:00
Tomasz Drwięga dc92631180 Move srml RPC extensions to separate crates (#3791)
* Move srml-system RPC out.

* Fix tests for system-rpc module.

* Contracts RPC moved.

* Fix rpc test.

* Clean up.

* Update lockfile.

* Bump runtime version.

* Update srml/contracts/rpc/runtime-api/src/lib.rs

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

* Bump impl version.
2019-10-16 12:40:35 +02:00
Ashley 642c8504c4 WIP: Node role RPC call (#3719)
* Add a Node Role RPC call

* Formatting

* Fix tests

* Change tests to use NodeRole::Authority so I don't forget to update the test

* Improve role checking

* return a vec instead

* fix tests
2019-10-16 11:59:25 +02:00
Fabio Tudone 8ef20a5534 Fix #1536: do not require to construct a block for encoding it (#3813)
* Fix #1536: do not require to construct a block for encoding it

* Bump `impl_version`

* Improve `Block::encode_from` signature and rustdoc (from review by @bkchr)
2019-10-16 10:02:12 +02:00
Demi Obenour 6a2afdb204 Bump dependencies, respecting semver (#3812) 2019-10-15 18:33:33 +02:00
André Silva 6c0e9fb107 chain spec builder: add generate mode for authority keys (#3811)
* core: use trait object for genesis constructor

* chain-spec-builder: use structopt

* chain-spec-builder: add new command to generate authority keys

* chain-spec-builder: use ? in main

* chain-spec-builder: fix stored and printed suri from seed

* chain-spec-builder: add comment about created keystore folders

* chain-spec-builder: simplify file write
2019-10-15 15:07:56 +01:00
Tomasz Drwięga 9fe8ee4197 Fix asynchronous transaction rejections. (#3817)
* Fix handling transaction pool errors.

* Add test.

* Review suggestions.
2019-10-15 11:16:10 +02:00
André Silva ed449bf415 grandpa: fix until imported logging arg order (#3818) 2019-10-14 20:19:01 -04:00
Bastian Köcher e3ae647c42 Provide macro for exporting functions from wasm (#3801)
The macro generates the functions with the signature we expect for wasm
functions. This macro is useful for tests where we need to call into
wasm. Parameter passing is done by SCALE encoding the input and output
parameters.
2019-10-14 20:20:07 +02:00
Kian Paimani b989c6f9ba Update tests.rs (#3814) 2019-10-13 17:22:53 +02:00
André Silva 6e5fe1a557 deps: update clap and structopt (#3809) 2019-10-12 18:31:49 +01:00
André Silva ea3b9bf393 node: re-use testnet genesis spec for staging testnet (#3802) 2019-10-12 17:12:03 +02:00
yjh 625d697e26 fix comments (#3808)
Signed-off-by: yjhmelody <465402634@qq.com>
2019-10-12 11:32:29 +02:00
Caio f60bc521c3 Fix Typo (#3805)
The `chain::error::FutureResult` doc is currently referring to the wrong
structure
2019-10-12 00:16:51 +01:00
Gavin Wood eba7df9a7b Fix semantics of ExistenceRequirement::KeepAlive. (#3796)
* Fix semantics of ExistenceRequirement::KeepAlive.

* Bump runtime version
2019-10-11 13:59:26 +02:00
Bastian Köcher 4dbc9265ee Add execute_with to TestExternalities (#3793)
This function executes the given closure in a context where the test
externalities are set. This makes the srml tests easier to write, as the
test externalities need to be created anyway.
2019-10-10 15:01:30 +02:00
Xiliang Chen 34c7338211 Decouple randomness-collective-flip (#3792)
* Abstract Randomness trait

* bump version

* fix doc test

* simpify code a bit

* Apply suggestions from code review

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com>

* fix tests
2019-10-10 12:41:42 +02:00
Kian Paimani 21fae718c4 Multi-limb arithmetic for runtime (#3743)
* First working version of all operations.

* New and improved version of everything.

* Minor cleanup.

* Fix build

* Finalize nignum

* Some final works on refactors and tests.

* fix build

* Some review comments

* Bench, better try into and nits

* mutify the API

* rename to big_uint

* unmutify.

* Remove resize

* Apply suggestions from code review

* Update core/sr-primitives/src/sr_arithmetic.rs

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

* BEtter proof

* Fix panic doc.

* Bump.
2019-10-10 09:52:08 +02:00
Demi Obenour 4da48dd9f5 Bump dependencies (#3787)
* Update dependencies, respecting semver

* Bump dependencies

* Don’t patch tiny-bip39 dependency
2019-10-09 12:29:28 -04:00
Bastian Köcher 8a39be474e Move Externalities into its own crate (#3775)
* Move `Externalities` into `substrate-externalities`

- `Externalities` now support generic extensions
- Split of `primtives-storage` for storage primitive types

* Move the externalities scoping into `substrate-externalities`

* Fix compilation

* Review feedback

* Adds macro for declaring extensions

* Fix benchmarks

* Introduce `ExtensionStore` trait

* Last review comments

* Implement it for `ExtensionStore`
2019-10-09 15:50:30 +02:00
André Silva 984c6ac839 babe: verify slots are strictly increasing (#3785)
* babe: re-use code to propose and import test block

* babe: add failing test for slot validation

* babe: verify slot numbers are strictly increasing
2019-10-08 21:56:22 +02:00
Demi Obenour 8108f1decd Update dependencies, respecting semver (#3784) 2019-10-08 21:09:05 +02:00
Ashley 968a30685f Split off System random functions into a new Randomness module (#3699)
* split off system randomness functions into a new module

* bump spec and impl version

* Move randomness to bottom of construct_runtime calls, move initialization into on_initialize

* Update srml/randomness/Cargo.toml

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

* Update srml/randomness/src/lib.rs

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

* Update srml/randomness/src/lib.rs

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

* Update srml/randomness/Cargo.toml

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

* Improve system example

* Update Cargo.lock

* Fix randomness example

* Get rid of the stored index

* Add tests

* Add a random test

* Improve docs

* Fix executive test :^)

* Add a utility function to tests

* Update srml/randomness/Cargo.toml

Co-Authored-By: Gavin Wood <github@gavwood.com>

* Update srml/randomness/src/lib.rs

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

* Update srml/randomness/src/lib.rs

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

* Change interpretation of block numbers

* rename crate

* refactor randomess module usage

* change random material len to a const

* Update srml/randomness-collective-flip/src/lib.rs

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

* Update srml/randomness-collective-flip/src/lib.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
2019-10-08 17:31:39 +02:00
Weiliang Li 520009973f gossip: save sender for kept messages (#3738) 2019-10-08 16:16:24 +01:00
Jim Posen 6cebbbf8b2 Refactor NativeExecutor to support multiple Wasm execution methods (#3677)
* executor: Move definitions of externals out of wasm_executor module.

* executor: Create WasmRuntime trait.

This will be used to decouple the runtime cache from wasmi execution.

* executor: Remove WasmExecutor and move methods to wasmi_execution.

These will now be crate-internal functions and there is no need
for the struct.

* executor: Set default default_heap_pages in NativeExecutor.

* cli: CLI configuration for Wasm execution method.

* executor: Remove wasmi-specific code from wasm_runtime.

* Respond to review comments.
2019-10-08 12:57:12 +02:00
Xiliang Chen 2c77262c8f expose module errors into metadata (#3752)
* expose module errors into metadata

* it checks

* Tests for error metadata

* Apply suggestions from code review

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

* remove inherent errors from metadata

* bump version

* Apply suggestions from code review

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

* Update srml/support/src/error.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
2019-10-08 11:30:16 +02:00
Kian Paimani 38a61861b1 Example of how to inspect arguments in weight calculation (#3753)
* document how to make a custom weight calculator

* Simpler explanation and implementation.

* remove unneeded where
2019-10-08 09:23:27 +02:00
André Silva 7ecd8496a7 client: fix comparison of CachedHeaderMetadata in tree_route (#3776)
* client: fix comparison of CachedHeaderMetadata in tree_route

* client: add regression test for tree_route
2019-10-07 15:28:28 +02:00
Bruno Škvorc 7cb0d73944 Alternative sysvar setup for Windows (#3761)
* Alternative sysvar setup for Windows

The command line setup did not work for me. This adds instructions and images on how to do it through the UI.

* Modified instructions to use Powershell, removed images from PR.
2019-10-07 09:34:10 +02:00
Svyatoslav Nikolsky 32e687abe4 Fix state RPC subscriptions on light node (#3626)
* fetch all keys at once in light RPC subscriptions

* restore lost fil
2019-10-07 08:00:15 +02:00
Hernando Castano 168051c060 Make the purge-chain prompt a little nicer (#3772) 2019-10-06 15:44:32 +02:00
Bastian Köcher 1a327cd894 srml-utility: Store errors as DispatchError to make the decodable (#3766) 2019-10-05 13:06:38 +02:00
Micheal Waltz 954e980ae3 Fix docker builds #3731 (#3767) 2019-10-05 13:04:22 +02:00
André Silva b181951bcc babe: prune the epoch tree on startup (#3768) 2019-10-05 10:44:07 +02:00
Marcio Diaz 65ef193ec8 Use header metadata in babe verify. (#3756)
* Use header_metadata in verify.

* Log hash in header_metadata error.

* Fix naming, error.
2019-10-05 10:43:19 +02:00
kaichao 789ead9beb Fix RustDoc generation. (#3763)
* Attemp to fix it.

* Move env to the begining.
2019-10-04 21:30:50 +02:00
André Silva f1cdaae6de babe: small compilation fix (#3764)
* babe: fix type on find_pre_digest call

* fork-tree: optimize prune

* babe: fix test compilation
2019-10-04 19:55:03 +01:00
André Silva 49fb11a1ea babe: ancient epoch tree pruning (#3746)
* babe: prune epoch tree when importing a new epoch change

* fork-tree: fix tree pruning

* babe: actually prune epoch change fork tree

* Fix typos

* babe: add test for epoch tree pruning

* fork-tree: fix pruning of stale forks
2019-10-04 19:51:08 +02:00
Gavin Wood ac0270518c Utility module for doing stuff like batch calls (#3759)
* Implement and test batch

* Add files.

* Remove comments.

* Update srml/utility/src/lib.rs

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

* Fixes
2019-10-04 19:13:54 +02:00
kaichao 7b5843ab79 Enable opt-in google analytics for RustDocs. (#3762) 2019-10-04 19:00:18 +02:00
Robert Habermeier b8e2f8f2d6 Decouple BABE from session (#3760) 2019-10-04 14:56:41 +02:00
Joshy Orndorff 99da0232ee Grammar (#3754) 2019-10-04 09:12:06 +02:00
Gavin Wood 251d33cb74 Split off TypeId so as not to pull in sr-io (#3740)
* Add type-id

* Builds with std now.

* Fix for cargo

* Remove unneeded stuff

* Move TypeId.
2019-10-03 12:37:37 +02:00
Wei Tang 18fa1d15ce Cumulative fixes to make working with consensus-pow easier (#3617)
* consensus-pow: add difficulty data to auxiliary

* Timestamp api

* Implement FinalityProofProvider for ()

* Add DifficultyApi

* Remove assumption that Difficulty is u128

* Use a separate trait for add instead of hard-code it as Saturating

* Some convenience functions to work with PowVerifier

* Try to fix mining unstability

* Fix generic resolution

* Unused best_header variable

* Fix hash calculation

* Remove artificial sleep

* Tweak proposer waiting time

* Revert sleep removal

The reason why it was there is because when mine_loop returns, it means an error
happened. In that case, we'd better sleep for a moment before trying again,
because immediately trying would most likely just fail.

* Pass sync oracle to mining

So that it does not mine when major syncing

* Expose build time as a parameter

Instead of hardcode it as previously 100ms.

* Update lock file

* Fix compile

* Support skipping check_inherents for ancient blocks

For PoW, older blocks are secured by the work, and can mostly be considered to
be finalized. Thus we can save both code complexity and validation time by
skipping checking inherents for them.

* Move difficulty fetch function out of loop

To make things faster

* Remove seed from mining

Each engine can use its own Rng source.

* Better comments

* Add TotalDifficulty definition for U256 and u128

* Update core/consensus/pow/src/lib.rs

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

* Rename TotalDifficulty::add -> increment

* Use SelectChain to fetch the best header/hash

* Update lock file
2019-10-03 11:02:20 +08:00
Xiliang Chen 67a4bc4bdd Minor fixes (#3751)
* fix warning

* use compact for balance type

* bump version
2019-10-03 03:16:07 +02:00
Yash Garg 97328ee6bb Update README.adoc (#3744)
* Update README.adoc

* Update README.adoc

Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update README.adoc

Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update README.adoc

Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com>

* Update README.adoc

Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
2019-10-03 03:13:59 +02:00
DemiMarie-parity 62b97a090d Upgrade dependencies whenever “easy” (#3556)
* Update all dependencies

* Upgrade dependencies whenever “easy”

“easy” means that there are no major changes required.

* Fix build and bump paste dependency to 0.1.6

* Remove dead code

* Re-add = dependency for futures-preview

* Add missing std features for runtime-io

* Remove git dependencies

as updated versions have been published to crates.io

* try to debug bug

* For sr-io, "std" should imply "no_oom" and "no_panic_handler".

Otherwise, rustc complains (correctly) about duplicate lang items.

* Add missing "runtime-io/std" features

* Fix compilation errors

* Prevent duplicate lang items

Rust does not allow duplicate lang items.  When compiled without the
`std` feature, `sr-io` defines two lang items.  Therefore, `sr-io`
compiled without `feature = "std"` must not be linked with `std`.

However, `pwasm-utils` and `wasmi-validation` both bring in `std` unless
compiled with `default-features = "false"`.  This caused a duplicate
lang item error.  Building both with `default-features = "false"`
prevents this error.  When building with `feature = "std"`, they should
both be built with the `std` feature, so this feature needs to be
explicitly depended on.

* Bump `impl_version`

* Make tests pass

Three tests used 1 less gas than they had previously.

* Try to un-break build

* Add a Cargo.lock file

* Revert offchain code

* Revert "Revert offchain code"

This reverts commit d216d08cc6ca0344614669c1d24cde3aa5c0d4e2.

* Don’t try to send a body with a GET request

without adding a Transfer-Encoding or Content-Length header.

This has always been wrong, but hyperium/hyper#1925 hid the bug until
hyper was upgraded to 0.12.35.

* Change some more GET requests to POST requests

* Fix excess line width and remove an `extern crate`

* Delete commented-out extern crate

Co-Authored-By: Sergei Pepyakin <sergei@parity.io>

* Fix regression in Cargo.toml files

dev-dependencies need `default-features = false`, too.

* Bump parity-wasm dependency

* Bump `futures-preview`

* Apply suggestions from code review

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

* Update Cargo.lock files

* Apply suggestions from code review

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

* Update core/service/src/chain_ops.rs

Co-Authored-By: Sergei Pepyakin <sergei@parity.io>
2019-10-02 15:23:59 -04:00
Marcio Diaz f6bd58ac1f Optimize tree route to sync faster (#3665)
* Introduce HeaderMetadata and use it for tree_route. Add lowest_common_ancestor.
* Add tests.
2019-10-02 20:30:43 +02:00
DemiMarie-parity 8646cd158e BABE refactoring: split out verification (#3658)
* Refactor parts of BABE verification into separate module

* Fix silly compiler error

* Move more of the verification code to verification.rs

* Remove some unused imports

* Fix line width

* fix testsuite compile error

* Fix compile errors in tests

* Move authorship-related code to its own files

* fix compile errors in tests

* Respond to review comments by @rphmeier

* improve docs

* fix compile error

* Add missing doc comment
2019-10-02 15:51:49 +02:00
thiolliere 3bfcdeb250 Fix quantization from OnDilution in treasury (#3736)
* fix

* bump version

* remove println
2019-10-02 12:36:50 +02:00