* Refactor state-machine stuff.
* Fix tests.
* WiP
* WiP2
* Service support for offchain workers.
* Service support for offchain workers.
* Testing offchain worker.
* Initial version working.
* Pass side effects in call.
* Pass OffchainExt in context.
* Submit extrinsics to the pool.
* Support inherents.
* Insert to inherents pool.
* Inserting to the pool asynchronously.
* Add test to offchain worker.
* Implement convenience syntax for modules.
* Dispatching offchain worker through executive.
* Fix offchain test.
* Remove offchain worker from timestamp.
* Update Cargo.lock.
* Address review comments.
* Use latest patch version for futures.
* Add CLI parameter for offchain worker.
* Fix compilation.
* Fix test.
* Fix extrinsics format for tests.
* Fix RPC test.
* Bump spec version.
* Fix executive.
* Fix support macro.
* Address grumbles.
* Bump runtime
* 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
* initial doc for the staking module
* Remove md style links.
* Remove todos.
* Add rust code types
* Rename and fix review notes.
* Add new md file
* Final touches.
* Migrate compleatly to rustdoc
* Update link
* Fix heading
* Final touches wrt the new template.
* Remove empty prereq.
* Fix more reviews
* Some final nits.
* Fix some side issues.
* Fix another set of reviews
* Fix + stabilize leftover reivews.
* Remove unused test parameters
* Fix typo.
* Merge redundant loops
* Adds phantom self-vote
* Fix broken tests.
* Refactor some names to match the reference.
* Remove redundant inner loops from election round.
* Introduce phragmen post-processing.
* Some fixes and todos.
* Fix some tests with new phragmen params
* Fix test
* Bump spec
* Fix wasm build
* Fix tests and phragmen fallback. Avoid double-controlling
* Fix and rebuild wasm
* Whitespaces, whitespaces everywhere.
* Rebuild
* Disable post-processing.
* Identify by stash, not controller account.
* Couple of fixes
* Fix first test
* Fix invulnerability_should_work
* Fix a couple more tests
* Fix more tests
* Fix more tests
* Fix more tests
* Fix some tests
* Fix update-ledger.
* Fix update-ledger.
* Fix another test
* Fix another test
* Fix rest of staking tests
* Remove printlns
* Rebuild wasm
* Fix & tests for auth/val syncing
* Fix up threading for tests
* Remove superfluous asserts
* 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
* Support skipping the interactive purge prompt
Skip it via `cargo run -- purge-chain -y`.
* Fix typos
* Add Grandpa telemetry
* Address comments
* Revert unnecessary version bump
* Version bump to make CI run
* Remove unnecessary cast
* Do not bump version
* Adds benchmark for direct/indirect wasm function calls
* Store the benchmark function pointer in a `Cell`
* Add some documentation
* Make function implementations exchangeable
* Add parachain stub
* Add macro for registering the `validate_block` function
* Make all functions replace-able by unimplemented
* Some more refactoring
* Adds tests for executing empty parachain block
* Work on a new test with empty witness data
* Don't exchange `ext_print_*` stuff
* Some cleanup and one more function for `validate_block`
* More tests and more functions
* Fixes after merging master
* Use `parity-codec` `derive` feature
* CHange implementation of `wasm-nice-panic-message`
* Move `parachain` stuff to cumulus
* Updated wasm files
* Integrate feedback
* Switch to `ExchangeableFunction` struct
* More fixes
* Switch to Cell and panic on multiple replaces
* Increase `impl_version`
* Fix shifting
* Make the API more verbose of `ExchangeableFunction`
* Increase `impl_version`
* adds first draft phragmen with tuned tests and sr-primitives
* fix a few docs and code styles
* clean, organize and finish remaining test cases
* more and more tests
* update edge cases behavior and relavent tests
* fix global test issues
* updated wasm files
* all tests fixed
* cleanup
* fix some global issues
* fix global tests
* bump versions
* fix typo
* first step toward extracting phragmen
* Fix most of the grumbles.
* fix rest of the grumbles
* spaces to tabs
* update wasm
* Removed nightly feature.
* More tests
* Fix broken tests.
* Bump and update wasm.
* 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();
```
* First steps to stash/controller separation
* More drafting
* More drafting
* Finish draft.
* Optimisation
* Remove accidental commit
* Make it build.
* Fix linked map for traits.
* Fix Option<_> variant.
* Improve naming a tad
* Rebuild runtime
* Builds!
* First test.
* Bump RT version
* Minor fix
* Update Mock
* adds the correct reward testcase (+staking eras which was already ok)
* fixes the basic staking testcase to work properly (along with a small fix in the module)
* New logic to avoid controller transferring stash.
* Fix some build issues.
* adding some comments to tests
* Fix impls.
* adds a few more lines to explain the test case
* More fixes.
* gets the basic test up and running again
* Fix rest of build
* Rebuild wasm
* Fix docs.
* fix staking test with new chnages
* updating some tests, pending questions
* More working tests
* adds double staking test
* Docs
* remove invalid slashing test
* Payee stuff.
* Fix build
* Docs
* Fix test
* Fix a couple of tests
* Layout plan for finishing tests before Pragmen
* Add some working tests
* re-build staking and reward tests
* Add more tests
* fix offline grace test
* Nominator should have payee checked for cleanup
* adds more nomination tets
* adds validator prefs tests
* Fix and clean up some TODOs
* Fix a couple of issues
* Fix tests
* noting warnings from tests
* final fix of local tests
* Fix slot_stake bug
* Half baked test
* Add logic to limit `unstake_threshold` set in storage
* Make sure to check before writing!
Almost forgot this one
* Move a couple of comments
* fix last broken slot_stake test
* Ignore broken test
* 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.
* first draft of ristretto crypto module #1685
* adds better comments and code-style
* remove the last evil unwrap
* remove a mistakenly committed lockfile
* add a fresh new lockfile --will probably need a manual merge later
* fix an invalid old test vector
* Wire in ristretto
* Update comment
* Fix use.
* new Signature type api alias to be compatible with substrate
* Add new keyring, fix node executor tests
* Bump version.
* Remove all hashes.
* Update core/primitives/src/sr25519.rs
Co-Authored-By: gavofyork <github@gavwood.com>
* Revert back to Ed25519 (until JS UI is ready)
* Fix test
* 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.
* fix: adds new execution strategy nativeElseWasm and replace nativeWhenPossible with it
* feat: adds cmd line params for execution strategies
* fix: uses of cmd line execution strategies
* chore: remove white spaces
* chore: remove println
* chore: remove whitespace
* fix: generating functions with context
* feat: add function to generate with_context declarations
* fix: add implementation for with_context function calls
* fix: add execution context to call_api_at function
* fix: making use of context to select strategy for block_builder
* chore: cleaning up
* fix: merging issues
* fix tests
* add wasm files
* chore: small doc for context fields
* chore: delete redundant docs
* fix: use full path for ExecutionContext
* fix: add context functions from inside fold_item_impl
* chore: remove clone
* fix: moving generative function to utils, remove unused imports
* fix: add missing full path for ExecutionContext
* fix: merge issues
* update wasm files
* fix: update to keep up with changes in master
* chore: remove unused functions, clean up
* fix test
* fix grumbles
* fix: add more tests
* fix: some refactorings
* feat: add execution strategy to call
* chore: small improvements
* fix: add message to panic
* fix tests
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.