Commit Graph

91 Commits

Author SHA1 Message Date
Bastian Köcher f02e6d680a Make sure docs given to decl_module! are passed to the module struct (#4526) 2020-01-03 20:39:30 +00:00
Bastian Köcher 4a9697db94 Check for invalid modules when registering a pallet in construct_runtime (#4520) 2020-01-02 20:10:20 +01:00
Bastian Köcher 2e5c327483 Increase metadata version to 10 (#4512)
Changes in https://github.com/paritytech/substrate/pull/4462 required a
metadata version increment that was forgotten.
2019-12-30 14:59:37 +00:00
Bastian Köcher 56355879be Fix cli for structopt 0.3.7 and pin to that version (#4509)
* Fix cli for structopt 0.3.7 and pin to that version

This is just some hotfix to make everything compile. In the future it
will require another pr to not depend on internals of StructOpt, but
that will probably also require some additions to StructOpt itself. To
not break the code again with another StructOpt, this also pins the
StructOpt version.

* Fix benches

* Fix for fix
2019-12-28 22:52:18 +01:00
Stanislav Tkach 2403cf320c Migrate election-phragmen, election contracts and authorship to decl_error (#4479)
* Migrate election-phragmen

* Migrate elections

* Migrate contracts module

* Update authorship module

* Apply suggestions from code review

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2019-12-24 11:11:57 +01:00
Gavin Wood 205ddec344 Twitter field for IdentityInfo (in a back-compat way) (#4476) 2019-12-22 23:11:34 +01:00
Gavin Wood 3c70800eab Extend Utility pallet with multisig and pseudonyms (#4462)
* Add subaccounts functionality

* More work

* Multisig prototyped with tests

* Add timepoints to prevent replay

* Remove TODO

* Check for the right owner in cancel.

* Test the timepoint stuff

* Batch works with any origin

* Refactor tuples into structs.

* Finalise function docs/complexity and also add proper weights.

* Fix wasm

* Module-level docs

* Fix typo

* Runtime fix

* Better deposit system; more tests.

* Fix typo

* Switch +1 for -1

* Add Blake2_128Concat; fix insecurity; change return policy.

* Fix typo

* Update frame/utility/src/lib.rs

Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com>

* Update frame/utility/src/lib.rs

Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com>

* Update bin/node/runtime/src/lib.rs

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

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Sergei Pepyakin <s.pepyakin@gmail.com>
2019-12-22 20:41:55 +01:00
Stanislav Tkach 2c2e0d772d Migrate generic-asset, identity and im-online to decl_error (#4473)
* Migrate generic-asset, identity and im-online to decl_error

* Update democracy tests

* Update nicks test
2019-12-21 15:10:29 +01:00
Gavin Wood e6b8a69656 Add ProposalRejected event to Treasury (#4468)
Closes #4467

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2019-12-20 21:35:51 +01:00
Tomasz Drwięga 14a08d430c Add Clone bound to the Origin. (#4472) 2019-12-20 18:43:04 +01:00
Stanislav Tkach 328563f8d4 Migrate membership, nicks, scored-pool and session to decl_error (#4463)
* Migrate membership, nicks, scored-pool and session to decl_error

* Fix tests

* Update frame/scored-pool/src/tests.rs

Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com>

* Remove InsufficientBalance error from scored-pool

* Replace Error::<Test, DefaultInstance> with Error::<Test, _>

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
2019-12-20 17:12:21 +01:00
Bastian Köcher bfad5f3ffc Fix warnings and make CI working again (#4469)
* Fix warnings and make CI working again

* Fix test
2019-12-20 14:47:19 +01:00
Shawn Tabrizi 4fffe19c28 Update Balances Pallet for decl_error! (#4405)
* Update balances for `decl_error!`

* Update for new `decl_error`

* Fix staking tests

* Use `ok_or` over `match`
2019-12-20 00:23:20 +01:00
Gavin Wood bbda30c7dd Add new event for registering deposits. (#4459) 2019-12-19 17:57:20 +01:00
Shawn Tabrizi 1d04d5a05e Fix Fees in Substrate (#4421)
* Fix fees

* Add comment to explain saturated multiply accumulate

* Fix final fee calculation

* Fix doc

* improve doc

* grumble

* Update tests

* Fix executor tests
2019-12-19 14:03:00 +01:00
Bastian Köcher 8e393aa5a8 Make decl_error! errors usable (#4449)
* Make `decl_error!` errors usable

This pr implements support for returning errors of different pallets in
a pallet. These errors need to be declared with `decl_error!`.

The pr changes the following:

- Each dispatchable function now returns a `DispatchResult` which is an
alias for `Result<(), DispatchError>`.
- `DispatchError` is an enum that has 4 variants:
  - `Other`: For storing string error messages
  - `CannotLookup`: Variant that is returned when something returns a
  `sp_runtime::LookupError`
  - `BadOrigin`: Variant that is returned for any kind of bad origin
  - `Module`: The error of a specific module. Contains the `index`,
  `error` and the `message`. The index is the index of the module in
  `construct_runtime!`. `error` is the index of the error in the error
  enum declared by `decl_error!`. `message` is the message to the error
  variant (this will not be encoded).
- `construct_runtime!` now creates a new struct `ModuleToIndex`. This
struct implements the trait `ModuleToIndex`.
- `frame_system::Trait` has a new associated type: `ModuleToIndex` that
expects the `ModuleToIndex` generated by `construct_runtime!`.
- All error strings returned in any module are being converted now to `DispatchError`.
- `BadOrigin` is the default error returned by any type that implements `EnsureOrigin`.

* Fix frame system benchmarks
2019-12-19 14:01:52 +01:00
Leo Arias 06e382b0d4 Fix typo in comment (#4433) 2019-12-18 21:17:22 +01:00
Wei Tang 7af81c29c4 pallet-evm: default implementation for FeeCalculator and ConvertAccountId and separate gas price (#4424)
* Default implementation for FeeCalculator and ConvertAccountId and separate gas price

* Styling fixes and some docs addition

* TruncateConvertAccountId -> HashTruncateConvertAccountId

* Fix compile
2019-12-18 13:13:47 +01:00
Shawn Tabrizi 57c19bcf4e More decl_error! migrations (#4427)
* Update assets to `decl_error`

* Update aura to `decl_error`

* Update authority discovery to `decl_error`

* Update collective to `decl_error`

* Update evm to `decl_error!`

* Fix error with replace

* Revert "Update authority discovery to `decl_error`"

This reverts commit 26e8f3c56656963d847e984c6f2c8e1f88014899.

* Revert "Update aura to `decl_error`"

This reverts commit 8f17c44ca8375a4a755710aaab7ad4d9522c4376.

* Update democracy to `decl_error`

* Update finality-tracker to `decl_error`

* Update grandpa to `decl_error`

* `assert` to `ensure` in dispatchable function
2019-12-18 12:50:21 +03:00
Gavin Wood 608d633455 Remove incorrect assumption that runners-up were sorted by account (#4429)
* Remove incorrect assumption that runners-up were sorted by account

* Fix

* Update lib.rs
2019-12-18 12:48:15 +03:00
joe petrowski e6e9faaed6 minor typos in traits docs (#4425) 2019-12-17 21:33:11 +01:00
Shawn Tabrizi 337cae1dde Update Balances Pallet events to help block explorers (#4389)
* Dust moves from reserved <-> free if below ED

* Add dust information to `ReapedAccount` event

* Introduce `BalanceSet` event

* More cleanly written `set_balance` logic
2019-12-17 23:49:00 +08:00
Benjamin Kampmann 9200bfa997 Setting versions locally towards 2.0 release (#4404)
* clean up cargo.toml syntax

* bumping versions to 2.0

* bump networking to 0.8

* move consensus down to 0.8

* bump consensus pallets to 0.8.0, too

* Upping babe and aura pallets

* add remaining, missing version definitions

* missed some
2019-12-17 22:05:50 +08:00
Niklas Adolfsson 7c6ad9dd1c [client cli] generic blocknumber (#4376)
* rewrite me

* [cli]: make `BlockNumber` generic

* cleanup
2019-12-17 11:45:20 +01:00
Bastian Köcher e19f5adfb7 Fix frame_system renaming in contruct_runtime (#4412)
* Fix contruct_runtime

* Update lib.rs

* Update event.rs

* Update event.rs

* Update event.rs

* Update event.rs

* Update event.rs

* Update event.rs

* Update event.rs

Back to where we started

* Update chain_spec.rs

* Update genesis.rs

* Fix it properly
2019-12-17 10:54:50 +01:00
Gavin Wood 48860a768b Fix naming of utility crate (it's a legit pallet) (#4408)
* Fix naming of utility crate (it's a legit pallet)

* Additional bits
2019-12-17 14:25:52 +08:00
Stanislav Tkach f20bb8b196 Use decl_error in stacking module (#4387) 2019-12-17 14:03:24 +08:00
Stanislav Tkach 7e9253d35d Use decl_error in the treasure module (#4370) 2019-12-17 14:03:08 +08:00
thiolliere 583b0e3c69 impl iter_prefix on doublemap (#4388) 2019-12-17 13:41:25 +08:00
Shawn Tabrizi 7e3872c064 Make sudo use decl_error! (#4369)
* Make sudo use `decl_error`

* copy pasta error

* Update to use `as_str`

* Add doc

* Add back `decl_error`
2019-12-17 00:32:40 +01:00
Tomasz Drwięga 8778ca7dc8 [big refactor] Remove crate aliasing. (#4395)
* Rename: Phase 1.

* Unify codec.

* Fixing: Phase 2

* Fixing: Phase 3.

* Fixing: Phase 4.

* Fixing: Phase 5.

* Fixing: Phase 6.

* Fixing: Phase 7.

* Fixing: Phase 8. Tests

* Fixing: Phase 9. Tests!!!

* Fixing: Phase 10. Moar tests!

* Finally done!

* More fixes.

* Rename primitives:: to sp_core::

* Apply renames in finality-grandpa.

* Fix benches.

* Fix benches 2.

* Revert node-template.

* Fix frame-system in our modules.
2019-12-16 20:36:49 +08:00
Gavin Wood f14d98a439 Identity module enhancements (#4401)
* Updates; not yet tested.

* Fix and add tests

* Add test

* Update a few comments
2019-12-16 20:36:08 +08:00
Gavin Wood 83711ca221 Remove proposal when it is refused (#4399)
* Remove proposal when it is refused.

* Fix build, add test
2019-12-16 08:24:03 +01:00
Robert Habermeier 16047e30bf babe: exponential backoff on missed blocks (#4397)
* fix srml-support compilation

* babe: exponential backoff on missed blocks.
2019-12-16 01:24:49 +09:00
cheme 0ece5d9e17 Fix key collision for child trie (#4162)
* In progress, runtime io must switch to future proof root +
child_specific (unique id) + u32 type.

* Switch interface, sr-io seems ok, rpc could use similar interface to
sr-io, genesis json broken if there is child trie in existing encoding
genesis.

* test from previous implementation.

* fix proving test.

* Restore Keyspacedb from other branch, only apply to child trie.

* Removing unneeded child_info from child root (child info are stored
if things changed, otherwhise the root does not change).

* Switch rpc to use same format as ext: more future proof.

* use root from child info for trie backend essence.

* Breaking long lines.

* Update doc and clean pr a bit.

* fix error type

* Restore removed doc on merge and update sr-io doc.

* Switch child storage api to use directly unique id, if managed id
where to be put in place, the api will change at this time.

* Clean deprecated host interface from child.

* Removing assertion on child info (can fail depending on root
memoization).

* merging child info in the overlay when possible.

* child iteration by prefix using child_info.

* Using ChainInfo in frame support. ChainInfo gets redesign to avoid
buffers allocation on every calls.

* Add length of root to the data of child info.

* comments

* Encode compact.

* Remove child info with root.

* Fix try_update condition.

* Comment Ext child root caching.

* Replace tuples by struct with field

* remove StorageTuple alias.

* Fix doc tests, and remove StorageOverlay and ChildStorageOverlay
aliases.
2019-12-14 11:11:19 +09:00
Weiliang Li 21cbd80f8c update comments in authority discovery (#4390)
* update comments in authority discovery

* Update lib.rs
2019-12-14 00:54:20 +09:00
Gavin Wood b178d0c7f3 Revamp reaping rules (#4371)
* Allow owner of a preimage to reap it a little while before everyone else.

* Revamp DispatchQueue to make reaping safer

* Remove commented code

* Update frame/democracy/src/lib.rs

Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com>

* Update docs
2019-12-12 19:24:36 +09:00
Bastian Köcher 467e01b991 decl_error! document that the error needs to be registered (#4366) 2019-12-11 20:48:55 +01:00
Benjamin Kampmann c5a709a882 Fix folder names in client and test (#4360)
* client/rpc/api -> client/rpc-api

* client/util/wasm-builder-runner -> utils/wasm-builder-runner

* client/grafana-data-source -> utils/grafana-data-source

* test/utils -> test-utils

* fix moved path

* Update Cargo.lock

* Update Cargo.lock
2019-12-11 16:41:38 +01:00
Gavin Wood 8131dc8a66 Allow referendums to begin out of order (#4345)
* Allow referendums to begin out of order

* Make `inject_referendum` infallible

* Merge remote-tracking branch 'origin/gav-verified-id' into gav-verified-id

# Conflicts:
#	frame/identity/src/lib.rs

* Renames.
2019-12-12 00:27:13 +09:00
Marcio Diaz 58c1c7a10d Improve is_member and is_runner. (#4356) 2019-12-11 13:15:27 +01:00
Marcio Diaz 6b9c87ef1a Fix token economics url. (#4355)
* Fix token economics url.

Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
2019-12-11 13:13:58 +01:00
Benjamin Kampmann df133d6be3 Fix folder names in primitives (#4358)
* sr-arithmetic -> arithmetic

* sr-sandbox -> sandbox

* primitives/sr-staking-primitives -> primitives/staking

* primitives/sr-version -> primitives/version

* primitives/block-builder/runtime-api -> primitives/block-builder
2019-12-11 11:36:29 +01:00
Jake Naviasky ed50be1eb5 Including runners-up in check for defunct phragmen voter. (#4349) 2019-12-11 17:42:19 +09:00
joe petrowski 1ff41742bd fix typos in identity pallet docs (#4350) 2019-12-10 23:31:27 +01:00
Benjamin Kampmann f0cc89a4b0 Break appcrypto dep cycle (#4347)
* move application-crypto tests into seperate crate

* Fix crate name, update script and add docs

* pressing 'save' helps

* remove useless lines

* adding header

* split into actual modules
2019-12-10 22:12:57 +01:00
Benjamin Kampmann 8721d98dd6 break sp-api dependency cycle (#4352)
* move benches into tests, ignore non-passing doctests

* Rename sr-api folder

* Move test-primitives to primitives, use that for sp-api doctests
2019-12-10 20:18:01 +01:00
Weiliang Li 4f2cdb20c1 Rename: primitives/sr-io -> primitives/sp-io (#4328)
* primitives/sr-io -> primitives/io

* fix

* rename

* runtime-io -> sp-io

* git mv

* fix ci

* remove package name

* fix

* fix

* try minimizing diff

* try minimizing diff again

* try minimizing diff again
2019-12-10 16:08:35 +01:00
Tomasz Drwięga 1f84d6d41d Fix warnings when compiling runtime. (#4332)
* Remove warnings when compiling runtime.

* Remove dispatch::Result imports.

* Add missing imports.

* Fix missing vecs. #4333

* Fix oom function.

* Remove superfluous import.

* More warnings.
2019-12-10 14:21:34 +01:00
Weiliang Li 6da9f59d72 Rename: primitives/sr-std -> primitives/sp-std (#4327)
* primitives/sr-std -> primitives/std

* fix

* fix conflict

* rstd -> sp-std

* git mv

* fix review

* fix merge
2019-12-10 08:26:27 +01:00