Commit Graph

591 Commits

Author SHA1 Message Date
Jim Posen c0a1926704 grandpa: Use storage proofs for Grandpa authorities (#3734)
* grandpa: Write Grandpa authorities to well known key.

Instead of requiring execution proofs for Grandpa authorities, this
enables much simpler storage proofs.

* grandpa: Introduce named AuthorityList type.

* grandpa: Storage migration for srml-grandpa module.

* Remove no-longer-used GrandpaApi runtime API.

* grandpa: Write AuthorityList to storage with encoding version.

We expect the AuthorityList type may change (eg. key changes). To make
upgrades smoother, include a version in the stored value.

* Bump node runtime spec version.

* Update srml/grandpa/src/lib.rs

Co-Authored-By: André Silva <andre.beat@gmail.com>
2019-10-31 14:33:34 +01:00
André Silva 3cbc28ab59 im-online: account for block authorship (#3973)
* im-online: account for block authorship

* im-online: add test for block authorship onlineness

* im-online: cleanup

* im-online: fix test
2019-10-31 11:11:11 +01:00
Gavin Wood 073040a053 Add translate API for storage values (#3947)
* Add translate item.

* fix

* doc

* fix doc

* A test added.

* Apply suggestions from code review

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

* address suggestion
2019-10-31 09:24:23 +01:00
Tomasz Drwięga a73334f769 Increase priority of ImOnline heartbeats (#3972)
* Make sure im-online reports are high priority.

* Bump runtime.
2019-10-30 16:19:31 -07:00
Sergei Pepyakin 5486d7add2 Implement contract_getStorage RPC API (#3944) 2019-10-30 13:54:57 +01:00
Bastian Köcher 93c1e87a36 Provide simple TestSessionHandler that works with UintAuthorityId (#3962) 2019-10-29 21:20:09 +01:00
Gavin Wood 3aecf32824 More robust punishment (#3952)
* Introduce new option "always force new era".

* Take appropriate action, even for small offences.

- Deselect the offender in all circumstances
- Ensure that deselection forces a new era
- Ensure that forcing a new era works with the always-forcing.

* Bump runtime
2019-10-29 17:03:17 +01:00
Kian Paimani a0e24f3aa2 Storage migration of elections-phragmen (#3948)
* Initial sotrage migration

* Fix some deps

* test added

* another dep removed

* Update srml/elections-phragmen/src/lib.rs

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

* Apply suggestions from code review

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

* a bit nicer
2019-10-29 15:46:34 +01:00
Bastian Köcher 057636fd1f Remove footgun around session keys/handlers (#3949)
* Remove footgun around session keys/handlers

- `OpaqueKeys` now has an associated type `KeyTypeIdProviders`. This can
be used in the runtime as input for `SessionHandler` from the session
trait.
- `impl_opaque_keys` now works with modules and extracts the `KeyTypeId`
from the module directly.
- Added some checks to the `session` storage initialization that checks
that the `SessionHandler` and `Keys` use the same number of keys and
that the order is equal.

* Update core/sr-primitives/src/traits.rs
2019-10-29 00:58:58 +01:00
Kian Paimani 7e87dfdc07 RPC to query transaction fee + weight + info (#3876)
* initial version for testing

* New version that compiles

* optional at block parameter

* Fix some more view grumbles.

* Update srml/transaction-payment/src/lib.rs
2019-10-28 16:04:45 +01:00
Kian Paimani 9b1dd268bf Updates to elections-phragmen and some runtime docs. (#3940)
* minor changes

* Refactors for phragmen-election

* Bump.

* Fix genesis stuff

* Fix rest of the errors
2019-10-28 15:29:53 +01:00
Gavin Wood ec7655cc7b Tip payment is a different withdraw reason. (#3937)
* Tip payment is a different withdraw reason.

* Bump runtime version.

* Test fix.

* Fix lock type
2019-10-28 13:04:20 +01:00
Bastian Köcher 6beaccdae3 decl_storage! check for duplicate config()/get() (#3936)
* `decl_storage!` check for duplicate `config()`/`get()`

* Fix tests
2019-10-28 09:35:09 +01:00
kaichao bb5f406b3b Fix test description. (#3935) 2019-10-27 18:44:19 +01:00
Gavin Wood 580e32101e runtime: Add ability to force a name change (#3934)
* Add ability to force a name change

* Fix tests

* Bump runtime.
2019-10-27 16:20:35 +01:00
Gavin Wood c08ac2277f runtime: Expose const params for nicks module (#3932)
* Expose const params for nicks module

* Bump runtime
2019-10-27 14:36:35 +01:00
Gavin Wood d41a5ce00f Revert "Watch existing extrinsics RPC (#3873)" (#3931)
This reverts commit d149c2f719.
2019-10-27 13:19:06 +01:00
Nikolay Volf d149c2f719 Watch existing extrinsics RPC (#3873)
* Transaction pool watch intristics.

* Track extrinsic rpc methods.

* Test for pool watcher.

* Track extrinsic rpc test.

* Fix rpc naming.

* review fixes

* Update jsonrpc and use une subcription.

* Naming and dependencies.
2019-10-27 12:55:44 +01:00
Gavin Wood 3d6127ade0 runtime: Account nicknames (#3930)
* Add Nicknames module for accounts.

* Integrate into node.

* Fix build

* Update srml/nicks/src/lib.rs

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

* Bump runtime

* Improve weight docs

* Docs.

* Apply suggestions from code review

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
2019-10-27 12:53:41 +01:00
Gavin Wood ae95d05621 Correct docs. (#3919) 2019-10-25 18:04:32 +02:00
Gav Wood d2e6d8c64d Emergency build fix on previous PR. 2019-10-25 15:19:36 +02:00
Gavin Wood a0094e72e5 Add force_unstake to staking as root operation. (#3918)
* Add force_unstake to staking as root operation.

* Bump runtime

* Tests

* Update srml/staking/src/lib.rs

Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
2019-10-25 15:14:49 +02:00
Gavin Wood b88b6b5418 Remove MintedForSpending (now unused) (#3917) 2019-10-25 14:22:25 +02:00
Tomasz Drwięga cecf3a1438 Bring back SubmitSignedTransaction trait. (#3908)
* Bring back SubmitSignedTransaction.

* Fix long lines.

* Add missing docs.

* Update core/primitives/src/crypto.rs

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

* Update node/runtime/src/lib.rs

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

* Update core/primitives/src/crypto.rs

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
2019-10-25 12:24:58 +02:00
Jim Posen e05e624a3a support: BuildStorage methods to take self reference (#3884)
* support: BuildStorage methods to take self reference.

There is no reason to consume the GenesisConfig when using it to
initialize a new storage backend. Instead, build_storage and
assimilate_storage now operator on self references.

* Bump node runtime impl_version.
2019-10-25 11:44:57 +02:00
thiolliere d49c36428d Fix treasury kept and spend when emptied (#3880)
* Now construct_runtime must include treasury config so account is created at genesis.
* if it doesn't though it is ok, account will be created when the amount put is more than existential deposit.
2019-10-24 17:26:26 +02:00
Kian Paimani ecd1ed7b65 Better Parameterisation for Fee system (#3823)
* Better fee parameters

* Fix build

* Better runtime tests

* Price to Weight ratio as type parameter (#3856)

* Price to Weight ration as type parameter

* Kian feedback

* Some renames.

* Fix executor tests

* Getting Closer.

* Phantom Data

* Actually fix executor tests.

* Fix tests.

* Remove todo

* Fix build
2019-10-24 15:03:52 +02:00
Gavin Wood d97775542a Add SECP256k1/ECDSA support for transaction signing (#3861)
* Add SECP256k1/ECDSA support for transaction signing.

* Refactoring and fixes

* Fix for contracts

* Avoid breaking runtime host function

* Build fixes, make subkey work more generaically.

* Fix tests

* Dedpulicate a bit of code, remove unneeded code, docs

* Bump runtime version

* Fix a test and clean up some code.

* Derivation can derive seed.

* Whitespace

* Bump runtime again.

* Update core/primitives/src/crypto.rs

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

* Update core/primitives/src/ecdsa.rs

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

* Fix AppVerify
2019-10-24 10:59:09 +02:00
Kian Paimani 311be1d071 Fix phragmen election to wasm (#3898)
* Fix phragmen-election compile to wasm

* Fix chain_spec stuff

* Fix panic with no term duration
2019-10-23 22:04:42 +02:00
Ashley 968b24d849 Add an OnUnbalanced hook for contract rent payments (#3857)
* Add RentPayment trait to runtime

* clarify check

* improve proof

* Clarify further

* Simplify RentPayment::on_unbalance calling and get rid of NonZeroRentHook
2019-10-23 12:02:30 +02:00
Bastian Köcher 70fd47e209 Fix srml assets compilation with std feature (#3892) 2019-10-23 09:37:41 +02:00
Tomasz Drwięga 20a3989785 Runtime logging. (#3821)
* Implement Printable for tuples.

* Add debugging function.

* Add debug 1.

* Implement  for everything.

* RuntimeDebug derive.

* Introduce RuntimeDebug.

* Add some dummy logging.

* Replace RuntimeDebug with Debug.

* Revert "Replace RuntimeDebug with Debug."

This reverts commit bc47070a8cb30241b2b590b2fa29fd195088162f.

* Working on Debug for all.

* Fix bounds.

* Add debug utils.

* Implement runtime logging.

* Add some docs and clean up.

* Clean up derives.

* Fix custom derive impl.

* Bump runtime.

* Fix long lines.

* Fix doc test.

* Use CARGO_CFG_STD.

* Revert "Use CARGO_CFG_STD."

This reverts commit ea429566de18ed0fa052571b359eb9826a64a9f4.

* Use parse_macro_input

* Update lockfile.

* Apply review suggestions.

* Remove stray re-export.

* Add no-std impl.

* Update lockfile.
2019-10-22 14:13:44 +02:00
Robert Habermeier 5d5e71028e Explicitly declare decl_storage! getters as functions (#3870)
* parse decl_storage getters with fn keyword

* test for get in decl_storage

* update all decl_storage! getters

* bump version

* adjust missed doc line
2019-10-22 09:53:58 +02:00
Ashley 28f7814fb2 Change Contracts::DefaultMaxDepth from 1024 to 32 (#3855)
* Change DefaultMaxDepth from 1024 to 32

* bump impl and spec version
2019-10-21 15:46:23 +09:00
Caio f5162edc83 It's Clippy time (#3806)
Fix some Clippy issues
2019-10-19 13:01:51 +02:00
Xiliang Chen bf1786b628 remove unused file (#3851) 2019-10-18 12:58:04 +02:00
kwingram25 fddfcbacea Use Bytes for contract rpc input_data (#3841)
* Use Bytes for contract input_data

* Update srml/contracts/rpc/src/lib.rs
2019-10-18 09:28:48 +02:00
Kian Paimani 183c188111 refactor: Transaction-Payment module (#3816)
* Initial draft that compiles

* Extract payment stuff from balances

* Extract multiplier update stuff from system

* Some fixes.

* Update len-fee as well

* some review comments.

* Remove todo

* bump
2019-10-17 14:21:32 +02:00
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
Kian Paimani b989c6f9ba Update tests.rs (#3814) 2019-10-13 17:22:53 +02:00
yjh 625d697e26 fix comments (#3808)
Signed-off-by: yjhmelody <465402634@qq.com>
2019-10-12 11:32:29 +02: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
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
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
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