Kian Paimani
8279ba96df
Make Get<T> const friendly + Clean the runtime files a bit. ( #6132 )
...
* Make Get const friendly
* Better doc
* Grumble
* Better doc
* Clean runtime files more
2020-05-27 14:40:07 +02:00
Shawn Tabrizi
ac049a97be
Offences Weight for OnInitialize ( #5961 )
...
* Weight accounting for on_offence.
* Try to compute weight.
* Guesstimate upper bounds on db read/writes for slashing
* greater than or equal to
* add new trait
* Update mock.rs
* Add basic weight test
* one more test
* Update frame/staking/src/lib.rs
Co-authored-by: thiolliere <gui.thiolliere@gmail.com >
* Update frame/staking/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Add test for offences queue
Co-authored-by: Tomasz Drwięga <tomasz@parity.io >
Co-authored-by: thiolliere <gui.thiolliere@gmail.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2020-05-21 14:00:24 +02:00
Tomasz Drwięga
f74a7171be
Maximum extrinsic weight limit ( #6067 )
...
* Only check single extrinsics weight limit in validate_transaction.
* Add missing parameter to all pallets.
* Add tests, fix default configuration.
* Bump spec version.
* Use AvailableBlockRation to calculate MaxExtrinsicWeight
2020-05-20 15:05:16 +02:00
Benjamin Kampmann
be8c96adec
Relax substrate licensing scheme ( #5947 )
2020-05-15 13:21:56 +02:00
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
Shawn Tabrizi
8a33c297b4
Introduce BlockExecutionWeight and ExtrinsicBaseWeight ( #5722 )
...
* Introduce `BlockExectionWeight` and `ExtrinsicBaseWeight`
* Add new traits everywhere
* Missed one update
* fix tests
* Update `check_weight` logic
* introduce `max_extrinsic_weight` function
* fix + add tests
* format nits
* remove println
* make test a bit more clear
* Remove minimum weight
* newlines left over from find/replace
* Fix test, improve clarity
* Fix executor tests
* Extrinsic base weight same as old `MINIMUM_WEIGHT`
* fix example test
* Expose constants
* Add test for full block with operational and normal
* Initiate test environment with `BlockExecutionWeight` weight
* format nit
* Update frame/system/src/lib.rs
Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Replace `TransactionBaseFee` with `ExtrinsicBaseWeight` (#5761 )
* Replace `TransactionBaseFee` with `ExtrinsicBaseFee`
* Fix stuff
* Fix and make tests better
* Forgot to update this test
* Fix priority number in test
* Remove minimum weight from merge
* Fix weight in contracts
* remove `TransactionBaseFee` from contract tests
* Let `register_extra_weight_unchecked` go past `MaximumBlockWeight`
* address feedback
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2020-04-25 05:59:54 +00:00
Shawn Tabrizi
980b635c8d
Weights to u64 + Balances Weights ( #5446 )
...
Co-Authored-By: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2020-04-16 10:43:18 +02:00
Gavin Wood
7947cbf915
Remove migration code. ( #5291 )
...
* Remove migration code.
* Fix cargo
* Bump spec version
2020-03-19 23:01:13 +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
Gavin Wood
afa5861f3b
Lazy reaping ( #4895 )
...
* Squash and rebase from gav-lazy-reaping
* Bump version
* Bump runtime again
* Docs.
* Remove old functions
* Update frame/balances/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update frame/contracts/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Warnings
* Bump runtime version
* Update frame/democracy/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update frame/system/src/lib.rs
* Clean up OnReapAccount
* Use frame_support debug
* Bump spec
* Renames and fix
* Fix
* Fix rename
* Fix
* Increase time for test
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Benjamin Kampmann <ben.kampmann@googlemail.com >
2020-02-24 18:04:42 +01:00
Gavin Wood
5b7512e2e4
Composite accounts ( #4820 )
...
* Basic account composition.
* Add try_mutate_exists
* De-duplicate
* Refactor away the UpdateBalanceOutcome
* Expunge final UpdateBalanceOutcome refs
* Refactor transfer
* Refactor reservable currency stuff.
* Test with the alternative setup.
* Fixes
* Test with both setups.
* Fixes
* Fix
* Fix macros
* Make indices opt-in
* Remove CreationFee, and make indices opt-in.
* Fix construct_runtime
* Fix last few bits
* Fix tests
* Update trait impls
* Don't hardcode the system event
* Make tests build and fix some stuff.
* Pointlessly bump runtime version
* Fix benchmark
* Another fix
* Whitespace
* Make indices module economically safe
* Migrations for indices.
* Fix
* Whilespace
* Trim defunct migrations
* Remove unused storage item
* More contains_key fixes
* Docs.
* Bump runtime
* Remove unneeded code
* Fix test
* Fix test
* Update frame/balances/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Fix ED logic
* Repatriate reserved logic
* Typo
* Fix typo
* Update frame/system/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update frame/system/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Last few fixes
* Another fix
* Build fix
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Jaco Greeff <jacogr@gmail.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2020-02-14 00:47:51 +00:00
Shawn Tabrizi
7efa62725e
Update copyright year ( #4532 )
2020-01-05 14:05:44 +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
Bryant Eisenbach
c071276187
fix: Typo granpda -> grandpa ( #4286 )
2019-12-04 00:05:05 +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
Stanislav Tkach
3e3ec05e56
Make weights compatible with u64 ( #4192 )
...
* Use Weight instead of u32 everywhere
* Revert Weight declaration
* Fix benches
2019-11-29 20:20:20 +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