* Nonlinear locking and cleanups
* Bump runtime version
* Minor cleanup
* Fix tests
* Fix council tests
* Fix flaw in turnout counting
* Initial work on referendum schedules
* Refactor council-democracy interface.
* Fix build
* Update srml/democracy/src/lib.rs
Co-Authored-By: Luke Schoen <ltfschoen@users.noreply.github.com>
* Update srml/democracy/src/lib.rs
Co-Authored-By: Luke Schoen <ltfschoen@users.noreply.github.com>
* Tests compile again
* Tests!
* Update todo
* Fix build
* Ensure votes arer not double-counted on member-transitions
* Extra logic for normal council changes
* Typo
* A few grumbles addressed.
* Try to fix runtime panic
Does not work
* Fix trivial typo
* Add runtime support for `PreRuntime` and `Consensus` digests
Fixes c7d1204ce5
* Fix silly compile error.
* Fix overly-long lines
Also remove some in-progress code that would not wind up being useful
anyway.
* Respond to review comments
* delete `unset RUSTC_WRAPPER` from scripts/common.sh
* delete unnecessary `use aura::AURA_ENGINE_ID` from
`node/runtime/src/lib.rs`
* add comments explaining why `PreRuntime` and `Consensus` must be
special-cased in `core/sr-primitives/lib.rs`
* switch to using `$crate::rstd::marker::PhantomData` in
`impl_outer_log!`
* improve documentation of `DigestItem::Seal`
* Fix compilation and add proof that we do not panic
Also fix some warnings.
* Apply suggestions from code review
Mostly for readability
Co-Authored-By: Sergei Pepyakin <s.pepyakin@gmail.com>
* Apply suggestions from code review
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* $crate::rstd::marker::PhantomData → Default::default()
The import is still needed, as `Default::default()` can’t be used in
patterns.
* Bump `spec_version`
Also do some reformatting.
* Introduce inherent digests
* Implement inherent digests
* fix silly error
* Implementation of inherent digests in BABE
All tests pass. There are still limitations:
1. The runtime strips out inherent digests, so BABE must re-add them.
2. The test runtime checks that it can re-compute all digests. It
can’t, so I had to comment out that test.
* Fix compilation and seal import
Seals were not imported correctly: the pre-digest was imported twice,
instead of both it and the seal being imported. Also, other parts of
the code did not compile due to incomplete refactoring.
* Remove bogus assertion
* Fix testsuite compilation
* Remove unused import
* Fix compiler diagnostics
* Add inherent digest parameters to block constructors
This enforces that inherent digests are added first.
* Fixup Cargo.lock
* Fix build errors
* Re-add an incorrectly removed import
* Bump primitive-types version
* Update Cargo.lock
* Refactoring
* Use inherent digests for AuRa
They do reach the runtime, but get stripped. I have not figured out
where.
* Fix compilation errors
* Fix compilation errors due to incorrect types
* Fix whitespace
Suggested-by: Tomasz Drwiega <tomasz@parity.io>
* Add preamble
Suggested-by: Tomasz Drwiega <tomasz@parity.io>
* Fix silly compile error
* Refactor pre-digest finding code into a separate function
* Remove unwanted assertion
It is too likely to bring down the entire blockchain.
Suggested-by: Tomasz Drwiega <tomasz@parity.io>
* Use `find_pre_digest` after runtime, too
Also, use `Member` trait rather than rolling our own requirements.
Suggested-by: Tomasz Drwiega <tomasz@parity.io>
* Fix various warnings
mostly due to upgrading the dependency on `error_chain`.
* Pre-digests nearly complete
This nearly completes the implementation of pre-runtime digests.
* `Seal2` → `Seal` and fix test suite
* Try to fix the storage error
* Try to fix storage (again)
* Fix tests
* Hopefully finish pre-runtime digests
The key is to pass *only* the pre-runtime digests to the runtime. The
others must be stripped out by `initialize_block`.
* Fix silly typo
* Fix another silly mistake
* Remove unnecessary filtering of BABE pre-digests
We no longer get duplicate BABE pre-digests, so if they appear, the
header should be rejected outright.
* Update Cargo.lock files
* Reformatting
* Fix silly typo in inherent digest code
Also, revert `error.rs` files that contained calls to the `error_chain!`
macro.
* Try to keep the runtime from stripping pre-digests
Currently runs into the “Storage root must match that calculated”
assertion.
* Don’t compute storage root until storage changes are done.
Also, fix a compilation error.
* Fix compile-time error
* Fix compilation errors
* Fix more compile errors
* Hopefully it compiles this time…
* Fix compilation and add docs
* Prevent BABE from adding duplicate pre-runtime digests
Found by comparing with the AuRa code. I also did some refactoring.
* Respond to review and fix some warnings
* Delete some dead code introduced earlier
* More dead code goes away
* `ref mut` → `&mut`
* Respond to review and fix some warnings
* Fix compilation error
* Remove unneeded `HashT` type parameter
Suggested-by: Robert Habermeier <robert@parity.io>
* Remove spurious #[allow(deprecated)]
* Document inherent digest parameter to `build_block`
* Delete `Simple` trait
It wasn’t needed
* delete wrongly added files
* Fix trait bounds
* Digest serialization tests
I also did some reformatting and cleanup.
* Apply suggestions from code review
Reformatting
Co-Authored-By: André Silva <andre.beat@gmail.com>
* Swap two arguments to `propose` and `propose_with`
Also, remove some needless unsafe code.
* Remove bogus `#![allow(deprecated)]` annotations
With the removal of the deprecated `Seal` variant, these are not needed.
* Add a missing `#[allow(deprecated)]` in the AuRa tests
* Fix silly compile error
* Fix silly compiler error
RLS did not tell me that I hadn’t fixed `babe/lib.rs`, so I missed it.
* Fixes made automatically by Cargo
* Start to remove the `As` bound on `SimpleArtithmetic`
This just introduces standard numeric bounds, assuming a minimum of
`u32`. Also included is a saturating from/into trait allowing ergonomic
infallible conversion when you don't care if it saturates.
* Remove As from Balances trait
* Remove As from Aura module
* Remove As from Babe module
* Expunge `As` from contract
* Council module
* Democracy
* Finality tracker
* Grandpa
* First bit of indices
* indices
* Line lengths
* session
* system
* Staking
* Square up all other uses of As.
* RHD update
* Fix build/test
* Remove As trait
* line widths
* Remove final As ref
* Update srml/staking/src/lib.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* Update core/client/src/cht.rs
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
* Update core/client/db/src/light.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>
* whitespace
* Apply suggestions from code review
Co-Authored-By: Bastian Köcher <bkchr@users.noreply.github.com>
Co-Authored-By: André Silva <andre.beat@gmail.com>
* Bring back u32 check for number on CLI
* Introduce an IndexedEvent
* Plumb topics through the Ext interface.
* Add topics to ext_deposit_event
* Charging for events.
* Check the number of topics.
* Check for duplicate topics.
* Bump API version.
* Move derive(*Eq) under test.
* Use sorting for finding duplicates.
* Sketch of indexed events.
* Get EventIndex by holding another variable.
* Add some docs.
* Use DoubleMap to store reverse topic index
* Implement StorageDoubleMap::append
* Use append for EventTopics.
* Refactor.
* Avoid `mutate`
* Docs.
* Add topics to EventRecord
* Update tests.
* Rebuild.
* Bump version.
* Event topics test.
* Mix in BlockNumber to distinguish updates
* Fix srml-system test.
* Post merge fixes.
* Comments/TODO.
* Add `pub` to functions in Contract module
This is to support a wrapper module which will add an access control layer to the SRML Contract module.
* Remove `pub` from `on_finalize`
* Intro `ChildStorageKey` for checked child keys
* Get rid of Into in Externalities trait
* Use Cow in ChildStorageKey
* Fix tests for state-machine.
* Clean
* child_storage_root always return a value
* Don't return Option from Ext::child_storage_root
* Return 42 in child_storage_root
* Return CHILD_STORAGE_KEY_PREFIX from trie id gen
* Bump spec and impl version.
* Require `:default:` in `is_child_trie_key_valid`
* Add `default:` prefix.
* Introduce `into_owned` for `ChildStorageKey`.
* Add documentation.
* Fix state-machine tests
* Remove outdated TODO
I check out with Emeric and he is ok with that
* child_storage_root is infailable
* Nit
* Move assert after check.
* Apply suggestions from @DemiMarie-parity
Co-Authored-By: pepyakin <s.pepyakin@gmail.com>
* Formatting nit in core/executor/src/wasm_executor.rs
Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
* Formatting nits from @thiolliere
* Implement `ext_println` in contract runtime
* Only allow contracts to import `ext_println` on dev chains
* Configure dev chain to allow contracts with `ext_println`
* Increment spec version
* Docs
* Rename config to the more specific enable_println
* all the ise
* forgot a misspelling
* a few more replacements
* bump impl
* rollback and fixes
* bump impl again
* Add aliases for RPC
* Update on_demand.rs
* Add: documentation for srml_contract, per @sergeis comments. TODO: make concise and add usage example
* Fix: minor spelling and grammar
* Add: Revisions to the doc clarification from @Sergei on trx revert behavior
* Edit: added spacing btw function list for better readability
* Remove: usage create contract example todo later
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicolezhuis@gmail.com>
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicolezhuis@gmail.com>
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicolezhuis@gmail.com>
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicolezhuis@gmail.com>
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicolezhuis@gmail.com>
* Edit: explained max gas limit revert behavior in greater detail
* Edit: incorporated first round of PRs, mostly syntax/styling
* Edit: incorporated Sergeis mental model, terms, and added usage examples
* Fix: staking module is no longer closely related to contract. Balances now manages the reaping of accounts
* Minor cleanup of links/text that are not ready to be shown
* Update srml/contract/src/lib.rs
made more concise
Co-Authored-By: nczhu <nicole@parity.io>
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicole@parity.io>
* Minor edits from PR
* Explained contract creation in more detail, fixed PR suggestions
* Linted according to contri guidelines
* Created a notable scenarios section, unlisted public functions in lieu of a direct link to the module
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicole@parity.io>
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicole@parity.io>
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicole@parity.io>
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicole@parity.io>
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicole@parity.io>
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicole@parity.io>
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicole@parity.io>
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicole@parity.io>
* Update srml/contract/src/tests.rs
Co-Authored-By: nczhu <nicole@parity.io>
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicole@parity.io>
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicole@parity.io>
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicole@parity.io>
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicole@parity.io>
* Update srml/contract/src/lib.rs
Co-Authored-By: nczhu <nicole@parity.io>
* minor commit after pr feedback
* s/codehash/code_hash for consistency
* Be a little safer with total issuance.
* PairT instead of _Pair
* Remove rev causing upset
* Remove fees stuff.
* Fix build (including tests)
* Update runtime, bump version
* Fix
* Handle gas refunds properly.
* Rename identifier
ala #2025
* Address grumbles
* New not-quite-linear-typing API
* Slimmer API
* More linear-type test fixes
* Fix tests
* Tidy
* Fix some grumbles
* Keep unchecked functions private
* Remove another less-than-safe currency function and ensure that
contracts module can never create cash.
* Address a few grumbles and fix tests
* first implementation
* remove done comment
* origin done
* impl log for instance
* impl inherent for instance
* Fix wasm build + full example build
this requires parity codec implements codec for core::marker::PhantomData
* patch parity-codec link to github branch
* improve internal names and fix instance prefix
* Fix in macros
* add test modules for support
this allow to test for construct_runtime as well.
The reason to have put that in another crate is:
* if we put test in `tests/` dir of srml/support then decl_storage fails to get
srml-support access because it believes it is inside srml-support
crate and so derive access to `quote!{ crate }` but this is wrong
(and I don't see any way to prevent that, and it only bother us so I
don't think that matters that much)
* if we put test inside lib.rs then contruct_runtime cannot be used
because it call some macros that are defined with macros
(decl_outer_event and decl_outer_origin) and thus rustc complains.
* defaultinstance to its own struct to avoid errors
* enforce <T, I> for Event and Config, impl test
* add origin, log, inherent to test
* test more code generation
* basic storage test
* fix typo
* rename a few imports and field
* delete wip test in example and runtime
* change default prefix to make it backward compatible with test
* rename Instance to I and Instantiable to Instance
note: the name of generic parameter I is only enforce by decl_module!
and this could be rewritten
* doc
* clean old TODOs
* update parity-codec to 3.2
* update node impl version + builds
* fix warning
* fix unrelated grandpa test
* refactor code
* Clean up session key rotation
* Fix build
* Bump version
* Introduce feature to balances.
* Move staking locking logic over to central point
* ^^^ rest
* First part of assimilation
* More assimilation
* More assimilation
* Fix most tests
* Fix build
* Move Balances to new locking system
* :q!
* Bump runtime version
* Build runtime
* Convenience function
* Test fix.
* Whitespace
* Improve type legibility.
* Fix comment.
* More tests.
* More tests.
* Bump version
* Caps
* Whitespace
* Whitespace
* Remove unneeded function.
* Make use of parity-codec "derive" crate feature
* Bump impl_version
* Update wasm files and Cargo.lock files
* Transferred to parity_codec derive feature for the rest of the crates
* Update wasm binaries and lock files
* Update core and node wasm binaries