* Document how to get head of linked map.
* Update srml/support/procedural/src/lib.rs
Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>
* Update srml/support/procedural/src/lib.rs
Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>
* Switch to new proc-macro crate for implementing traits for tuples
* Switch back to stable `Cargo.lock` format
* Reduce tuple number to match rusts default implementation
* srml-system checks
* wip
* more modules compiles
* node-runtime checks
* build.sh passes
* include dispatch error in failed event
* revert some unnecessary changes
* refactor based on comments
* more compile error fixes
* avoid unnecessary into
* reorder code
* fixes some tests
* manually implement encode & decode to avoid i8 workaround
* more test fixes
* more fixes
* more error fixes
* Apply suggestions from code review
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* address comments
* test for DispatchError encoding
* tyep alias for democracy
* make error printable
* line width
* fix balances tests
* fix executive test
* fix system tests
* bump version
* ensure consistent method signature
* Apply suggestions from code review
Co-Authored-By: Gavin Wood <github@gavwood.com>
* changes based on review
* Add issue number for TODOs
* fix
* line width
* fix test
* Update core/sr-primitives/src/lib.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* Update core/sr-primitives/src/traits.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* Update srml/council/src/motions.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* Update srml/council/src/motions.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* update based on review
* More concrete macro matching
* fix test build issue
* Update hex-literal dependency version. (#3141)
* Update hex-literal dep version.
* Update lock file.
* Start to rework the new error handling
* More work to get it back compiling
* Start to fix after master merge
* The great transaction error handling refactoring
* Make `decl_error` errors convertible to `&'static str`
* Make srml-executive build again
* Fix `sr-primitives` tests
* More fixes
* Last round of fix ups
* Fix build
* Fix build
* Apply suggestions from code review
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Rename some stuff
* Fixes after master merge
* Adds `CheckBlockGasLimit` signed extension
* Remove debug stuff
* Fix srml-balances test
* Rename `InvalidIndex` to `CannotLookup`
* Remove weird generic parameters
* Rename function again
* Fix import
* Document the signed extension
* Change from `Into` to `From`
* Update srml/contracts/src/lib.rs
Co-Authored-By: Sergei Pepyakin <sergei@parity.io>
* Fix compilation
* Update srml/contracts/src/lib.rs
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Update core/sr-primitives/src/transaction_validity.rs
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Remove unused code
* Fix compilation
* Some cleanups
* Fix compile errors
* Make `TransactionValidity` a `Result`
* Apply suggestions from code review
Co-Authored-By: Gavin Wood <gavin@parity.io>
* Beautify the code a little bit and fix test
* Make `CannotLookup` an inherent error declared by `decl_error!`
* Adds some documentation
* Make `ApplyOutcome` a result
* Up the spec_version
* Apply suggestions from code review
Co-Authored-By: Gavin Wood <gavin@parity.io>
Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
* Remove offline slashing logic from staking.
* Initial version of reworked offence module, can report offences
* Clean up staking example.
* Commit SlashingOffence
* Force new era on slash.
* Add offenders in the SlashingOffence trait.
* Introduce the ReportOffence trait.
* Rename `Offence`.
* Add on_before_session_ending handler.
* Move offence related stuff under sr-primitives.
* Fix cargo check.
* Import new im-online implementation.
* Adding validator count to historical session storage as it's needed for slash calculations
* Add a comment about offence.
* Add BabeEquivocationOffence
* GrandpaEquivocationOffence
* slash_fraction and fix
* current_era_start_session_index
* UnresponsivnessOffence
* Finalise OnOffenceHandler traits, and stub impl for staking.
* slash_fraction doesn't really need &self
* Note that offenders count is greater than 0
* Add a test to ensure that I got the math right
* Use FullIdentification in offences.
* Use FullIndentification.
* Hook up the offences module.
* Report unresponsive validators
* Make sure eras have the same length.
* Slashing and rewards.
* Fix compilation.
* Distribute rewards.
* Supply validators_count
* Use identificationTuple in Unresponsivness report
* Fix merge.
* Make sure we don't slash if amount is zero.
* We don't return an error from report_offence anymo
* We actually can use vec!
* Prevent division by zero if the reporters is empty
* offence_forces_new_era/nominators_also_get_slashed
* advance_session
* Fix tests.
* Update srml/staking/src/lib.rs
Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>
* slashing_performed_according_exposure
* Check that reporters receive their slice.
* Small clean-up.
* invulnerables_are_not_slashed
* Minor clean ups.
* Improve docs.
* dont_slash_if_fraction_is_zero
* Remove session dependency from offences.
* Introduce sr-staking-primitives
* Move offence under sr_staking_primitives
* rename session_index
* Resolves todos re using SessionIndex
* Fix staking tests.
* Properly scale denominator.
* Fix UnresponsivnessOffence
* Fix compilation.
* Tests for offences.
* Clean offences tests.
* Fix staking doc test.
* Bump spec version
* Fix aura tests.
* Fix node_executor
* Deposit an event on offence.
* Fix compilation of node-runtime
* Remove aura slashing logic.
* Remove HandleReport
* Update docs for timeslot.
* rename with_on_offence_fractions
* Add should_properly_count_offences
* Replace ValidatorIdByIndex with CurrentElectedSet
ValidatorIdByIndex was querying the current_elected set in each call, doing loading (even though its from cache), deserializing and cloning of element.
Instead of this it is more efficient to use `CurrentElectedSet`. As a small bonus, the invariant became a little bit easier: now we just rely on the fact that `keys` and `current_elected` set are of the same length rather than relying on the fact that `validator_id_by_index` would work similar to `<[T]>::get`.
* Clarify babe equivocation
* Fix offences.
* Rename validators_count to validator_set_count
* Fix squaring.
* Update core/sr-staking-primitives/src/offence.rs
Co-Authored-By: Gavin Wood <gavin@parity.io>
* Docs for CurrentElectedSet.
* Don't punish only invulnerables
* Use `get/insert` instead of `mutate`.
* Fix compilation
* Update core/sr-staking-primitives/src/offence.rs
Co-Authored-By: Gavin Wood <gavin@parity.io>
* Update srml/offences/src/lib.rs
Co-Authored-By: Robert Habermeier <rphmeier@gmail.com>
* Update srml/im-online/src/lib.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* Update srml/im-online/src/lib.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* Update srml/im-online/src/lib.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* Update srml/babe/src/lib.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* Update core/sr-staking-primitives/src/offence.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* Update core/sr-staking-primitives/src/offence.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* Update core/sr-staking-primitives/src/offence.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* Update core/sr-staking-primitives/src/offence.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* Update core/sr-staking-primitives/src/offence.rs
Co-Authored-By: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* Add aura todo.
* Allow multiple reports for single offence report.
* Fix slash_fraction calculation.
* Fix typos.
* Fix compilation and tests.
* Fix staking tests.
* Update srml/im-online/src/lib.rs
Co-Authored-By: Logan Saether <x@logansaether.com>
* Fix doc on time_slot
* Allow slashing only on current era (#3411)
* only slash in current era
* prune journal for last era
* comment own_slash
* emit an event when old slashing events are discarded
* Pave the way for pruning
* Address issues.
* Try to refactor collect_offence_reports
* Other fixes.
* More fixes.
* value ranges in consensus cache
* skip values in cache
* read epoch0 + epoch1 data from genesis in babe
* sync authorities + session validators at genesis
* removed some debug printlns
* fixed cache encoding
* Revert "skip values in cache"
This reverts commit ce451c32823aaa4b67d99ca5b58f1bf3984df4db.
* Revert "value ranges in consensus cache"
This reverts commit 9062f9434cddd14a01275ddbfcd904b04282e63b.
* get rid of cache::AUTHORITIES in Babe
* cleaning up
* cleaning up
* update spec version
* lost changes
* fixed tests
* Update node/runtime/src/lib.rs
Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
* fix once-per-block condition
* fix standalone babe + temp_storage in BuildGenesis
* fix benhes compilation
* fixed comment
* re-added light nodes to integration tests
* finalize_with_ancestors from extra_requests
* post-merge fix
* aaand removed debug code
* (another one)
* fix warn in logs (do not call ForkTree::finalize twice for the same block)
* sync digest.next_authorities with actual next authorities
* more docs
* reverting all commits affecting storage
* also remove keys from babe trait
* fixed warnings
* post-merge fixes
* reverted some redundant changes
* reverted more changes
* Using child storage, (srml-support only), test failing .
* fix simple tests.
* Enumerable by requiring owned struct (previous form only allow
&'static).
Broken tests are from genesis init.
* implement for_child_keys_with_prefix
* indent
* clear_child_prefix fix.
* clear_child_prefix fix 2.
* fix for storage_impl, if/when allowing child and not child this could be
reverted.
* Fix lot of urlinked child genesis, still need to look upon actual
genesis srml module code.
Probably still a lot of broken code needing debugging.
* switch well_known_key to their associated module child trie.
Fix a genesis init (balance).
Complete some testing.
Comment some tests before using.
* fixing test runtime child keys
* latest commit fix broken genesis init
* fix system balances child name.
* Important fix: storage_root from test externalities need children (it is
already the case for ext).
* executive root with child calculation
* Avoid empty trie on test ext.
* Symetric removal of key for system.
* commenting changes related tests.
* Remove child module specifics.
* fix issues.
* fix some formatting
* fix bench and bump runtime
* Remove extend_storage_overlays, assimilate_storage do the same as is
proper considering srml macro.
* Fix warning for assimilate.
* Removing kill as they do not impact any test cases.
* Use tuple of storage map instead of two parameters. This changes the
behavior of decl_storage genesis build closure (breaking api).
* Do not use build storage before assimilate.
* fix error
* Update core/state-machine/src/backend.rs
* Add Call type to extensible transactions.
Cleanup some naming
* Merge Resource and BlockExhausted into just Exhausted
* Fix
* Another fix
* Call
* Some fixes
* Fix srml tests.
* Fix all tests.
* Refactor crypto so each application of it has its own type.
* Introduce new AuthorityProvider API into Aura
This will eventually allow for dynamic determination of authority
keys and avoid having to set them directly on CLI.
* Introduce authority determinator for Babe.
Experiment with modular consensus API.
* Work in progress to introduce KeyTypeId and avoid polluting API
with validator IDs
* Finish up drafting imonline
* Rework offchain workers API.
* Rework API implementation.
* Make it compile for wasm, simplify app_crypto.
* Fix compilation of im-online.
* Fix compilation of im-online.
* Fix more compilation errors.
* Make it compile.
* Fixing tests.
* Rewrite `keystore`
* Fix session tests
* Bring back `TryFrom`'s'
* Fix `srml-grandpa`
* Fix `srml-aura`
* Fix consensus babe
* More fixes
* Make service generate keys from dev_seed
* Build fixes
* Remove offchain tests
* More fixes and cleanups
* Fixes finality grandpa
* Fix `consensus-aura`
* Fix cli
* Fix `node-cli`
* Fix chain_spec builder
* Fix doc tests
* Add authority getter for grandpa.
* Test fix
* Fixes
* Make keystore accessible from the runtime
* Move app crypto to its own crate
* Update `Cargo.lock`
* Make the crypto stuff usable from the runtime
* Adds some runtime crypto tests
* Use last finalized block for grandpa authority
* Fix warning
* Adds `SessionKeys` runtime api
* Remove `FinalityPair` and `ConsensusPair`
* Minor governance tweaks to get it inline with docs.
* Make the governance be up to date with the docs.
* Build fixes.
* Generate the inital session keys
* Failing keystore is a hard error
* Make babe work again
* Fix grandpa
* Fix tests
* Disable `keystore` in consensus critical stuff
* Build fix.
* ImOnline supports multiple authorities at once.
* Update core/application-crypto/src/ed25519.rs
* Merge branch 'master' into gav-in-progress
* Remove unneeded code for now.
* Some `session` testing
* Support querying the public keys
* Cleanup offchain
* Remove warnings
* More cleanup
* Apply suggestions from code review
Co-Authored-By: Benjamin Kampmann <ben.kampmann@googlemail.com>
* More cleanups
* JSONRPC API for setting keys.
Also, rename traits::KeyStore* -> traits::BareCryptoStore*
* Bad merge
* Fix integration tests
* Fix test build
* Test fix
* Fixes
* Warnings
* Another warning
* Bump version.
* Make extrinsics extensible.
Also Remove old extrinsic types.
* Rest of mockup. Add tips.
* Fix some build issues
* Runtiem builds :)
* Substrate builds.
* Fix a doc test
* Compact encoding
* Extract out the era logic into an extension
* Weight Check signed extension. (#3115)
* Weight signed extension.
* Revert a bit + test for check era.
* Update Cargo.toml
* Update node/cli/src/factory_impl.rs
* Update node/executor/src/lib.rs
* Update node/executor/src/lib.rs
* Don't use len for weight - use data.
* Operational Transaction; second attempt (#3138)
* working poc added.
* some fixes.
* Update doc.
* Fix all tests + final logic.
* more refactoring.
* nits.
* System block limit in bytes.
* Silent the storage macro warnings.
* More logic more tests.
* Fix import.
* Refactor names.
* Fix build.
* Update srml/balances/src/lib.rs
* Final refactor.
* Bump transaction version
* Fix weight mult test.
* Fix more tests and improve doc.
* Bump.
* Make some tests work again.
* Fix subkey.
* Remove todos + bump.
* First draft of annotating weights.
* Refactor weight to u64.
* More refactoring and tests.
* New convert for weight to fee
* more tests.
* remove merge redundancy.
* Fix system test.
* Bring back subkey stuff.
* a few stress tests.
* fix some of the grumbles.
* Final nits.
* Update srml/system/src/lib.rs
Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
* Scale weights by 1000.
* Bump.
* Fix decl_storage test.
* Expose instancing in metadata
- Introduces metadata v7
- If a module is using instancing, the storage exposes the instance in
metadata
- Metadata module name is now the upper case one given to
`construct_runtime!`
* Remove obsolete macro
* Just expose one prefix
* Bump spec
* Fix prefix generation
* Make extrinsics extensible.
Also Remove old extrinsic types.
* Rest of mockup. Add tips.
* Fix some build issues
* Runtiem builds :)
* Substrate builds.
* Fix a doc test
* Compact encoding
* Extract out the era logic into an extension
* Weight Check signed extension. (#3115)
* Weight signed extension.
* Revert a bit + test for check era.
* Update Cargo.toml
* Update node/cli/src/factory_impl.rs
* Update node/executor/src/lib.rs
* Update node/executor/src/lib.rs
* Don't use len for weight - use data.
* Operational Transaction; second attempt (#3138)
* working poc added.
* some fixes.
* Update doc.
* Fix all tests + final logic.
* more refactoring.
* nits.
* System block limit in bytes.
* Silent the storage macro warnings.
* More logic more tests.
* Fix import.
* Refactor names.
* Fix build.
* Update srml/balances/src/lib.rs
* Final refactor.
* Bump transaction version
* Fix weight mult test.
* Fix more tests and improve doc.
* Bump.
* Make some tests work again.
* Fix subkey.
* Remove todos + bump.
* Ignore expensive test.
* Bump.