André Silva
fbd2ac8f3b
grandpa: report equivocations ( #3868 )
...
* session: runtime api for generating session membership proofs
* grandpa: add runtime api for creating equivocation report txs
* grandpa: submit signed equivocation report transactions
* grandpa: use proper equivocation report type
* grandpa: report equivocations
* grandpa: validate equivocation proof
* grandpa: update to finality-grandpa 0.9.1
* grandpa: fix encoding of session membership proof
* grandpa: initialize set id session mapping for genesis session
* grandpa: fix bug in set_id session validation
* fix compilation
* cleanup from merge conflicts
* cleanup crate tomls
* grandpa: refactor equivocation handling to separate trait
* node-template: fix compilation
* fix test compilation
* bump finality-grandpa to v0.10.2
* rpc: fix runtime version test
* CHERRY-PICK #4200 : Add documentation to SubmitSignedTransaction and actually make it work
Squashed commit of the following:
commit 4f2cb0b1c588a06f2f3b478bb4b28b5cb29d54b9
Author: Tomasz Drwięga <tomasz@parity.io >
Date: Tue Dec 3 16:29:33 2019 +0100
Split the method to avoid confusing type error message.
commit c5bf24eeaaf902add89ed1b046b22c4a4aaeb2cd
Author: Tomasz Drwięga <tomasz@parity.io >
Date: Tue Dec 3 16:19:55 2019 +0100
Make accounts optional, fix logic.
commit 97db1ef556e023cf6847e5ffdb036c0e3ea6fb0a
Author: Tomasz Drwięga <tomasz@parity.io >
Date: Tue Dec 3 10:06:20 2019 +0100
Remove warning.
commit 535f5c116d1a2e826eaf90c3f7e6798e443d61d8
Merge: 516257217 0f1a5f651
Author: Tomasz Drwięga <tomasz@parity.io >
Date: Tue Dec 3 07:08:05 2019 +0100
Merge branch 'master' into td-signed-transactions
commit 516257217bac89fcebd083712f4ea68b7b23b55a
Merge: ac98248c6 2e68c80c2
Author: Tomasz Drwięga <tomasz@parity.io >
Date: Mon Dec 2 13:57:25 2019 +0100
Merge branch 'master' into td-signed-transactions
commit ac98248c6c56cff381130645a82a13d29933cf83
Author: Tomasz Drwięga <tomasz@parity.io >
Date: Mon Nov 25 17:34:52 2019 +0100
Forgotten import.
commit 67a3c19031506c28e31c6bc4a90fff62d467dd58
Author: Tomasz Drwięga <tomasz@parity.io >
Date: Mon Nov 25 17:32:10 2019 +0100
Fix naming and bounds.
commit 93e768ea9df97a4629fca1f9bc4b108fdb33f876
Author: Tomasz Drwięga <tomasz@parity.io >
Date: Mon Nov 25 17:01:05 2019 +0100
Add documentation to signed transactions and actually make them work.
* grandpa: skip block initialization on report submission method
* primitives: allow transaction pool access by default for offchain calls
* grandpa: unused parameters
* grandpa: remove unused method
* grandpa: enable equivocation reporting
* grandpa: add workaround for parameter encoding
* grandpa: fix localized_payload calls in tests
* fix submit_report_equivocation_extrinsic in runtimes
* node: fix submit transaction test compilation
* node: bump spec_version
* rpc: fix api version test
* grandpa: allow custom equivocation offence type
* grandpa: add test for authorities::next_change_height
* grandpa: cleanup report_equivocation function
* node: move reporting app crypto to node-primitives
* grandpa: move equivocation traits to own module
* grandpa: rename app-crypto crate import
* grandpa: export equivocation types
* node: bump spec_version
* grandpa: rename EquivocationReport to EquivocationProof
* grandpa: add missing docs to primitives
* grandpa: add missing docs to equivocation
* node: fix compilation
* grandpa: add missing docs to pallet
* node: bump spec_version
* fix whitespace
* grandpa: return error on offence reporting
* grandpa: expose session and validator count in proofs through traits
* grandpa: use strong key in module KeyOwnerProofSystem
* grandpa: move key ownership proof to grandpa runtime api
* grandpa: remove unnecessary cloning when checking equivocation proof
* grandpa: make report_equivocation a method in Environment
* support: implement KeyOwnerProofSystem for ()
* grandpa: move KeyOwnerProofSystem to module trait
* test-utils: fix runtime compilation
* grandpa: fix test compilation
* grandpa: fix test compilation after merge
* grandpa: simplify transaction submission types
* grandpa: validate equivocation report in signed extension
* client: fix test
* node: use ValidateEquivocationReport signed extension
* grandpa: expose key ownership proof under opaque type
* grandpa: better docs on key ownership proofs
* grandpa: add note about signed extension
* grandpa: add ValidateEquivocationReport::new
* grandpa: remove skip_initialize_block from runtime api
* grandpa: use new offchain transaction submission API
* grandpa: take set_id in generate_key_ownership_proof
* grandpa: update to finality-grandpa v0.12.2
* grandpa: cleanup usages of AuthoritySet::current
* grandpa: fix test
* grandpa: add mocking utilities for equivocation reporting
* grandpa: add test for equivocation reporting
* grandpa: move SetIdSession initialization
* grandpa: add more tests
* node: enable historical session manager
* node: bump spec_version
* node: use strong key types in KeyOwnerProofSystem definitions
* grandpa: export GrandpaEquivocationOffence type
2020-05-06 17:25:51 +01:00
Bastian Köcher
bc9707b4c5
Use storage::append in the implementation of the storage types ( #5889 )
...
* Start improving `storage_append`
* Fix some stuff
* Fix compilation
* Update docs and add new test
* More tests
* Test kill + append
2020-05-05 15:09:07 +02:00
Alexander Theißen
000c924b62
Integrate pallet_contracts gas with the weight system ( #5712 )
...
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com >
Co-Authored-By: Sergei Pepyakin <sergei@parity.io >
2020-04-24 10:48:13 +02:00
Bastian Köcher
20f211a624
Require fn token in decl_storage get ( #5717 )
...
* Require `fn` token in `decl_storage` `get`
The `fn` token was already for quite some time as an optional parameter.
It was introduced to make these functions better findable. This pr makes
the `fn` token required.
* Remove `GetterNoFnkeyword`
2020-04-21 16:58:57 +02:00
Shawn Tabrizi
7d9aa81bfc
Implement try_mutate for storage value and storage double map ( #5699 )
...
* impl try_mutate for storage value and storage double map
* Docs + Reuse `try_mutate` in `mutate`
2020-04-20 15:05:20 +02:00
Bastian Köcher
1d1caed335
Improve tracing ( #5698 )
...
* Improve tracing implementation
* Enable tracing in runtime interfaces
* Switch to `TRACE` level
2020-04-20 14:37:27 +02:00
Tomasz Drwięga
bc0b8fbddf
Add performance tracing to validate_transaction ( #5671 )
...
* Validate transaction timeouts
* Add timing
* Add tracing to transaction validation.
* Fix docs.
Co-authored-by: NikVolf <nikvolf@gmail.com >
2020-04-17 08:42:50 +02:00
thiolliere
28edcbfe8d
Implement iter for doublemap ( #5504 )
...
* implement iter for doublemap
* fmt
* fix tests
* fix staking mock
* address comment
* update doc and constraint for reversible hasher
Co-authored-by: Gavin Wood <gavin@parity.io >
2020-04-15 16:49:08 +02:00
Shawn Tabrizi
d3cc051419
Generate Unit Tests for Benchmarks ( #5527 )
...
* Update to latest staking
* generate tests for benchmarking
* add tests, fix warnings
* starting on democracy
* impl_benchmark_tests
* Way more readable
* add test feature flag (does this work?)
* Fix `successful_origin` impl
* democracry benchmark tests
* Fix example benchmarks, add tests
* identity benchmark tests
* Update im-online benchmark tests
* try to add session benchmarking tests (problem with mock)
* staking and timestamp
* add test for treasury, issue with dynamic contains
* utility
* Vesting
* test instead of check
* hide until we figure out what is wrong
* add docs
* close code
* Create custom mock for session-pallet-benchmarking
* Use refcell pattern
* make un-pub
* test-linux-stable includes `runtime-benchmarks` feature
* Revert "test-linux-stable includes `runtime-benchmarks` feature"
This reverts commit a2dab38abd18ac3eb8a6220e4a00e687740bd38c.
* run tests in `--release`
* undo balance change
* build wasm
2020-04-07 11:35:00 +02:00
Alexander Theißen
8f819f4ba6
Make Dispatchable return the actual weight consumed ( #5458 )
...
* Make Dispatchable return the actual weight consumed
Add PostInfo associated type to Dispatchable and have frame implement
Dispatchable { type PostInfo = PostDispatchInfo } where PostDispatchInfo
contains the actual weight consumed.
* Fix whitespace issues in docs
2020-04-03 16:45:30 +02:00
Gavin Wood
22f88bf9d1
Redesign Democracy pallet ( #5294 )
...
* Repot a bit of democracy code
* Basic logic is drafted
* Lazy democracy builds.
* Add non-locked split-voting and instant-scheduling.
* Introduce delegation that works.
* Builds again.
* Indentation
* Building.
* Docs and migration
* Fix half of the tests
* Fix up & repot tests
* Fix runtime build
* Update docs
* Docs
* Nits.
* Turnout counts full capital
* Delegations could towards capital
* proxy delegation & proxy unvoting
* Fix
* Tests for split-voting
* Add missing file
* Persistent locking.
2020-03-21 16:08:48 +01:00
Gavin Wood
af9083f53b
Refactor away from opaque hashes ( #5226 )
...
* System.BlockHash
* Fix hash
* Introduce K/V iteration in all _concat maps
Also move across:
- System.Account (blake2_128_concat)
- Balances.Locks (twox_64_concat)
- ElectionsPhragmen.VotesOf (twox_64_concat)
- ElectionsPhragmen.StakeOf (twox_64_concat)
- Identity.IdentityOf (twox_64_concat)
- Identity.SubsOf (twox_64_concat)
- Society.Payouts (twox_64_concat)
- Session.NextKeys (twox_64_concat)
- Identity.SuperOf (blake2_128_concat)
- Session.KeyOwner (blake2_128_concat)
- Society.SuspendedCandidates (twox_64_concat)
- Society.SuspendedMembers (twox_64_concat)
- Society.Vouching (twox_64_concat)
- Society.Strikes (twox_64_concat)
- System.EventTopics
- Balances.Account
* Build fixes
* Ensure migration happens in correct order
* Staking.*
* Vesting.* Offences.*
* Democracy.*
* Babe.* Collective.*
* Grandpa.*
* Assets.* Benchmark.* Contracts.* Elections.* Asset.* Nicks.*
Also introduce real account list
* ImOnline.*
* Treasury.*
* Recovery.*
* Final bits.
* Docs
* Fix one test
* Fix test
* All passing except the UI tests
* Remove linked_map part 1
* Remove linked_map
* Some iterator utils for double maps.
* Remove old migrations
* Introduce tombstone for LinkedMap type
* Migration for genesis hash
* Fix build
* Fix hash
* Rename Map is_linked -> unused, keeping backwards compat (#5256 )
* Update frame/balances/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update frame/elections/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Remove old migration code.
* Update frame/system/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update bin/node/runtime/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Fix hash
* fix session migration
* Fix watning
Co-authored-by: Jaco Greeff <jacogr@gmail.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Robert Habermeier <rphmeier@gmail.com >
2020-03-16 23:19:53 +01:00
Shawn Tabrizi
74f8db5def
Assign unique storage names to pallets. ( #5010 )
...
* Assign unique storage names to pallets.
* Bump spec
* Upgrade logic for finality tracker (untested)
* Logic for migrating Identity (untested)
* Logic for migrating transaction-payment
* Fix tests
* Fix `decl_storage` build
* Contract -> Contracts
* Update Cargo.lock
* bump spec
* update migration
* Fix merge error
* Migration for contracts
* Remove serde
* Remove some illegal spaces and Options
* Fix types in identity.
* Minor variable rename
Co-authored-by: Gavin Wood <gavin@parity.io >
2020-03-14 12:44:48 +01:00
Gavin Wood
d52d8692f9
Refactor the balances module ( #4649 )
...
* Initially scoping out of the problem
* Remove need for exiry in balance locks.
* Remove expiry from locks.
* Remove supefluous balance test
* Amalgamate pieces of balance module
* Split out vesting
* Fix tests
* Fixes for vesting.
* Docs.
* Weight docs.
* Refactor things in terms of set_balances.
* Switch out ED to be free + reserved.
* Remove on_free_balance_zero and some docs.
* Build fixes
* Update frame/vesting/src/lib.rs
Co-Authored-By: Xiliang Chen <xlchen1291@gmail.com >
* Update frame/vesting/src/lib.rs
Co-Authored-By: Xiliang Chen <xlchen1291@gmail.com >
* Migration
* Remove superfluous code.
* Test fixes
* Fix some tests
* Fix repatriate reserve
* Fixes
* Add test for migration
* Final cleanups
* Fix
* Indentation.
* Undo unneeded referencing
* Bump runtime version
* Fixes
Co-authored-by: Xiliang Chen <xlchen1291@gmail.com >
2020-02-01 13:20:16 +00:00
thiolliere
76acc96f3a
Remove default hasher ( #4739 )
...
* remove default hasher from decl_storage!
* fix decl_storage declarations
2020-01-27 18:23:10 +01:00
thiolliere
b74c88b3cc
Modify doublemap syntax ( #4576 )
...
* modify doublemap syntax
* Apply suggestions from code review
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2020-01-10 11:52:56 +01:00
Gavin Wood
67202b7ec3
Add tipping into treasury ( #4480 )
...
* First draft
* Initial work on tests
* Add tests.
* Ensure old members can't tip.
* Fix complexity
* Update node runtime
* Build fix.
* build fix
* Fix tests
* Fix tests
* Refactor Contains impl for tests
* Introduce new way to avoid impl Contains conflicts
* Fixes
* Docs.
* Docs.
* Typo
* Whitespace
* Docs
* Typo
* Formatting
* Update frame/treasury/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update frame/treasury/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update frame/treasury/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Apply suggestions from code review
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Add provisional weights.
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2020-01-09 14:39:12 +01:00
Shawn Tabrizi
7efa62725e
Update copyright year ( #4532 )
2020-01-05 14:05:44 +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
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
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
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
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
thiolliere
e5b6935c2a
Introduce prefixed storage with enumeration ( #4185 )
...
* Introduce storage_next allowing iteration. (without childtries)
* Implement prefixed storage
* impl cache in client_storage_cache (needs test)
* switch overlay change to btreemap
* Revert "impl cache in client_storage_cache"
This reverts commit c91a4848916eba87184b3dc4722cea81aec9339d.
the storage cache cannot be used this way
* Revert "Implement prefixed storage"
This reverts commit 4931088126a427082d7310ed7e83b8eea966bc20.
* Impl StoragePrefixedMap for all map storages
* remove comment
* Move all overlays to BTreeMap
* btreemap iteration improvment
* impl for child tries
* impl tests for childs
* fix
* remove cache comment
* Fix grumble
2019-12-09 20:55:11 +01:00
thiolliere
22c00ff424
Add swap and decode_len to DoubleMap finishing #3749 ( #4264 )
...
* Add `swap` and `decode_len` to `DoubleMap`
* Add tests to `swap` and `decode_len` for `DoubleMap` (WIP)
* Address review comments
* Remove function that is not in scope
* fix test
* better naming
2019-12-02 13:01:29 +01:00
Benjamin Kampmann
927e13c13a
The crate rename ( #4223 )
...
* Adding script for rename, could be applicable for nodes on top of it, too
* add stderr and gitlab ci features
* apply script
* fix now minor details in expected stderr
* Update the Cargo.lock
* fix name: sc-transaction -> sc-tracing
* fix rename in script, too
2019-12-02 11:23:53 +01: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
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
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