* Remove compilation warnings.
* Allow unused only not in tests.
* Remove unnecessary mut.
* Make CI happy.
* Revert "Make CI happy."
This reverts commit abb865fe4b9fe9af1ae3ec801da9d4305ea35765.
* Make use of StorageHasher and HasherKind.
* Use Storagehasher hasher function for key2 of double map.
* Refactor to reuse hasher from implementation.
* Bump up since there is srml changes.
* Update metadata version.
* Maps are appendable too
* Update srml/support/src/storage/hashed/generator.rs
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Update srml/support/src/storage/mod.rs
Co-Authored-By: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Fix docs
* Make Appendable public
* Bump runtime version
* docs: Update Support SRML to link to StorageDoubleMap in Rustdocs
* review-fix: Add missing backticks. Add trait text for consistency. Fix typo
* review-fix: Move trait text out of link
* Add basic BABE consensus type
* Update core/consensus/babe/slots/Cargo.toml
Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
* Fix parameterization and run `rustfmt`
* Respond to review comments
* Update various Cargo.lock files
* Revert "Update various Cargo.lock files"
This reverts commit af53d7624752a744320e9cbb25749fdd8e6f46d2.
* `BabeSealSignature` → `BabeSeal`
* Move slot code to its own crate
This was highly non-trivial, due to cyclic dependencies.
* Remove redundancy between AuRa and BABE
Some of the code duplication was removed using a macro.
* Fix build error
* Avoid non-`#[doc(hidden)]` re-exports
Also, bump some library versions in `Cargo.toml`.
* Remove dead code in AuRa
* Remove impl_slot macro
It was more trouble than it was worth.
Also, delete useless dependencies on Serde.
* AuRa and BABE need different DB keys
* Bring back `aura::Network`, but deprecate it.
* Improve docs and add `slot_duration` inherent method
* Add docs to `substrate_consensus_aura::SlotDuration`
* Add missing documentation and #![forbid(missing_docs, unsafe_code)]
* Add a #![forbid(missing_docs)]
* Remove dependency of `test-runtime` on `slots`
* Update core/consensus/babe/src/lib.rs
Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
* Remove wrongly added file
* Fix copyright notice
Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>
* Bump `impl_version` and `spec_version`
* Fix deprecation version; remove spurious carets
* Update Cargo.lock
* Update dependencies
* factorization
* introduce GenericUnhashedStorage
* implement generator and storage
* impl double map in storage macro
* improve StorageDoubleMapXX methods
* remove storage from example and impl test
* remove old comments
* wasm compatible
* improve imports
* rename storages
* update runtime impl version
* make code less verbose
* impl hash config for second key in double map
hash available are all of Hashable trait
* use double map in decl_storage for contract
* fix double map config issue
* add hasher into metadata
* update impl version and build wasm
* doc
* add attrs
* update metadata version
* update runtime version
* fix unused storage
* improve decl_storage instance doc
* use decl_event doc accordignly
* automate doc and while allow to extend it on event
* some missed ones
* Update srml/example/src/lib.rs
Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>
* Update srml/support/procedural/src/storage/transformation.rs
* expose linked map info to metadata
* Make it non breaking change
* another way
* change to option 1
* bump metadata version
* fix test
* bump version and update wasm
* 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
* Hide `__GetByteStruct*` types in the docs
* Forward documentation to `GenesisConfig`
* Hide `PhantomItem` in docs for `Call`
* Hide public calls in `Module`
* Forward documenation for storage functions
* Hide auxiliary functions in documentation
* 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
* force build closure in decl_storage! to return explicit type
* fix when type was different
Note: it breaks API but it is easy to upgrade: just do the conversion from encode type to the final type yourself in the build closure:
```rust
Encode::using_encoded(&value, |mut value| Decode::decode(&mut v)).unwrap();
```
* remove amount associated
* make a new trait to bound some arithmetics to balances or assets:
It also remove arithmetic bounds of srml-support::traits::Currency.
To update your code then use srml_support::traits::ArithmeticType like:
`type Currency: ArithmeticType + Currency<Self::AccountId, Balance=BalanceOf<Self>>; `
with `type BalanceOf<T> = <<T as Trait>::Currency as ArithmeticType>::Type; `
* improve decl_storage when it explicit serde bound: basically don't try to be smarter than rust and just use where clause.
* Refactor decl_storage a bit to allow easier impl of linked map.
* A bunch of refactorings for storage generation.
- Rename StorageMap and ChildrenStorageMap to avoid confusion with generator::StorageMap.
- Separate implementation from the procedural macro code to clean it up.
- Make sure that genesis is initialised using the `StorageValue/StorageMap`
generated implementations instead of going RAW.
* WiP: Writing test.
* Basic implementation.
* Implement enumeration.
* Fix non-std issues.
* fix warning
* Fix test-client.
* Address review grumbles - part 1
* Avoid cloning the key, relax Storage requirements.
* Rebuild runtime.
* Remove dangling todo.
Procedural do not support `$crate` to get access to the crate where the
macro is defined. We use a hack to re-export the crate under a known
name. With rust edition 2018, people started to rename their crates in
`Cargo.toml`, but that breaks the re-export. This commit introduces
`proc-maco-crate` that supports finding the requested crate name, even
if it was renamed.
Went through the TODOs, removed a bunch, which are outdated or nothing more than a regular comment, documented a bunch more as actual tickets and made them FIXMEs and unified their structure (`FIXME #TICKETNO DESC` for local tickets, `FIXME: DESC LINK` for external tickets) for easier in-editor support. Further more remove unnecessary remarks and related old code that I noticed in that instance.
* Fix warnings in substrate
* More warnings removed and wasm updated
* Fixes error on stable and grumbles
* Update wasm files
* Add links to the github issue for replacing `error-chain`
* Missing trait def on two calls.
Slight mcla refact on transfo.
* Allways provide GenesisConfig even when useless (for runtime module
export).
* Revert "Allways provide GenesisConfig even when useless (for runtime module"
This reverts commit 84a29bc592023d1ee107519c58693ec19dbde2d2.
* Fix Vec usage (from rstd).
* Add a 'default' field to metadata. It contains code to generate the
default value.
* wasm update
* Make 'default' field an `Option`
* Boxed fn is not static, that won't be fine
* static fn won't do it to as it cannot get T param, will try fat trait
* Fat pointer over phantom data compatible with static instantiation
* DecodeDifferent is cool, using it for decoding.
* using once cell to do what would require copying lazy_static internals.
* Remove cache when no_std (non compatible deps)
* wasm bins update
* Fuse tooling struct and enum derive.
* Do not try to fix type display for metadata in rust.
* Fix test (adding extra space (we can see it as a canary: if at some
point quote got a better output the test will fail and js space removal
could be remove)).
* `decl_storage` parsing of the macro (TODO change tool crate structure)
* Start formatting, for now use inner macro.
Still missing optional formating last part (genesis ...).
* Calling extra genesis macro
* decl_storage lines parsing.
* genesis macro as quote (need some cleaning reorg)
* dirty $crate substitute
* proc crate reorg.
* PR impl : skip usage of phantom data, it only applies in test and
council (others required it).
* Remaining macro of decl_storage, warning stringify behave sometime
oddly.
* Formatting code and some cleaning.
* Include line parsing to main struct (cannot use existing macro anymore).
* Remove genesis phantom data when there is already a field with type
parameter.
* Revert wasm files
* Remove old version of `decl_storage`.
* Fix false positive for phantom trait (additional type check on config
build).
* slight changes:
- return token errors instead of panic
- do not use useless intermediate vec
* Update srml/support/procedural/tools/derive/src/lib.rs
remove indent
Co-Authored-By: cheme <emericchevalier.pro@gmail.com>
* Switch iterations to fold, remove unused import.