* Add simple benchmark for the runtime api
* Make the executor support native calls
* Some documentation
* Hide behind `feature = "std"`
* Rework the native calls
* Make all tests compile again
* Make every parameter using the Block serialized/deserialized in the native call
* Forward `UnwindSafe` requirement
* Remove debug stuff
* Add some documentation
* Fixes warnings
* Fixes errors after master rebase
* Fixes compilation after master rebase
* Fixes compilation after rebase
* make offline-reporting infrastructure more generic
* add a listener-trait for watching when the timestamp has been set
* prevent inclusion of empty offline reports
* add test for exclusion
* generate aura-offline reports
* ability to slash many times for being offline "multiple" times
* Logic for punishing validators for missing aura steps
* stub tests
* pave way for verification of timestamp vs slot
* alter aura import queue to wait for timestamp
* check timestamp matches seal
* do inherent check properly
* service compiles
* all tests compile
* test srml-aura logic
* aura tests pass
* everything builds
* some more final tweaks to block authorship for aura
* switch to manual delays before step
* restore substrate-consensus-aura to always std and address grumbles
* update some state roots in executor tests
* node-executor tests pass
* get most tests passing
* address grumbles
* Referendums only gett enacted after a delay; successful voters must
lock funds up until enactment.
* Build fixes.
* Configurable council enact delay, fix test builds.
* Fix spelling
* Remove TODO
* Make `decl_runtime_apis!` implement `RuntimeApiInfo` for all runtime
apis
* Make the runtime side generate the info constants as well
* Make `RuntimeApiInfo` implementation use the correct generics
* Adds a test for the runtime api info stuff
* Remove duplicated code by using block from `test-client`
* Adds `compile_fail` tests for `api_version`
* Adds documentation for `api_version`
* Make `impl_runtime_apis!` generate `RUNTIME_API_VERSIONS`
* Update documentation and tests for `RUNTIME_API_VERSIONS`
* Implement `has_api` by using the `RuntimeApiInfo`
* Make `impl_runtime_apis` check that trait identifiers are unique
* Prefix all runtime api function with the corresponding trait
So `execute_block` will be called `Core_execute_block`.
This makes it possible to have traits implement a function with the
same name.
* Rebase master
* Update after master rebase
* `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.
* add beginnings of SRML grandpa library
* get srml-grandpa compiling
* tests for srml-grandpa
* add optional session integration to grandpa SRML
* start integration into node runtime
* Allow extracting pending change from header digest
* Make it compile on wasm
* make tests compile again
* Move Authority Key fetching into service, simplify service factory construction
* Generalize Authority Consensus Setup system
* Add Authority Setup Docs
* Allow CLI params to be extensible
- move params to structopts
- split parsing and default command execution
- add custom config to node
- extended parsing of custom config
- extending params via structop's flatten
* Minor fixes on cli extension params:
- added docs
- re-add actual app name, rather than node-name
- make strategy and subcommand optional
* better cli params
* synchronize GRANDPA and normal node authorities
* Implement grandpa::network for gossip consensus
* run_grandpa in Node
* Fix missed merge error
* Integrate grandpa import queue
* more specific type def
* link up linkhalf and import block
* make grandpa future send
* get compiling
* Fix new params convention and license header
* get it running
* rebuild node runtime WASM
* change logging level
* Update node/cli/src/params.rs
Co-Authored-By: rphmeier <rphmeier@gmail.com>
* Update node/cli/src/params.rs
Co-Authored-By: rphmeier <rphmeier@gmail.com>
* Update node/cli/src/lib.rs
Co-Authored-By: rphmeier <rphmeier@gmail.com>
* Update node/runtime/src/lib.rs
Co-Authored-By: rphmeier <rphmeier@gmail.com>
* Update node/cli/src/lib.rs
Co-Authored-By: rphmeier <rphmeier@gmail.com>
* Clean up and Fixme for mutable config
* Move GrandpaService Integration into grandpa, feature gated but on per default
* Fixing grandpa runtime module test
* Update wasm runtime hashes for tests
* GRANDPA: use post-header hash when logging scheduled changes
* add an extra bit of logging to authorities
* fixing missing constrain
* remove old code
* move `NewAuthorities` to an event in srml-grandpa
* fix node-executor tests to use grandpa log
* Remove GossipConsensus from tests, use newly provided sync-feature, fixes tests
* Update to latest wasm runtimes
* address grumbles
* address grumbles
* only derive deserialize when using std
* Clean up use of Deserialize
* [core/primitives] Update crunchy 0.1 => 0.2
* [core/primitives] Update fixed-hash 0.2 => 0.3.0-beta
* [core/primitives] Update `uint` 0.4 => 0.5.0-beta
* [core/state-machine] Fix errors emerged by fixed-hash update
* [core/state-db] Fix errors that emerged from fixed-hash update
* [core/sr-io] Fix errors that emerged from the fixed-hash update
* [core/trie] Fix errors emerged from fixed-hash updates
* [core/trie] Make use of new Hash::as_fixed_bytes_mut method in tests
* [core/sr-primitives] Fix errors emerged from updating fixed-hash
* [core/executor] Fix errors that emerged from fixed-hash update
* [core/test-runtime] Fix errors that emerged from updating fixed-hash
* [core/test-runtime] Fix an error that emerged from fixed-hash update
* [core/transaction-pool] Fix errors that emerged from updating fixed-hash
* Add From<u64> impl for hash types defined in core/primitives
* [core/client/db] Fix errors that emerged from fixed-hash update
* [core/{client/network/rpc}]: Fix errors emerged by fixed-hash update
* [node/{cli/executor/runtime}]: Fix errors emerged by updating fixed-hash
* [core/network]: Fix bug in parsing constant str
* Update Cargo.lock
- Add crunchy 0.2.1
- fixed-hash 0.2.2 => 0.3.0-beta.3
- Add static-assertions 0.2.5
- uint 0.4.1 => 0.5.0-beta.1
* [core/primitives]: Add fixed-hash/rustc-hex feature for FromStr impl
* [core/primitives] No longer provide From<u64> impl for hash types if byteorder support is not enabled
* [core/primitives] Revert to using From impl again in primitives tests
* [core/..] Fix some bugs that emerged by recent fixed-hash updates
* Update a bunch of Cargo.lock files
* [core/state-db] Re-add whitespace between attr and extern crate/mod
* [core/primitives] Fix bug in From<u64> impl for hash types using the wrong feature guard
* Generalize BlockImport
- move ImportBlock, BlockOrigin, ImportResult into shared sr-primitives
- let Consensus provide and traits again
- update consensus traits to latest development
- implement traits on client::Client, test_client::TestClient
- update RHD to use the new import_block API
* Move ImportBlock into consensus-common
* Send import notification in aura tests
* Integrating aura into service
* Make Signatures more generic
* Aura Block Production with the given key
* run aura on the thread pool
* start at exact step start in aura
* Add needed wasm blob, in leiu of better solutions.
* Make API ids consistent with traits and bring upstream for sharing.
* Add decrease_free_balance to Balances module
* Encode `Metadata` once instead of two times
* Bitops include xor
* Upgrade key module.
* Default pages to somewhat bigger.
* Introduce upgrade key into node
* Add `Created` event
* Try to make everything compact
* Make `Clone` work
* Fix
* Move contracts and balances over to compact encoding
* Session and timestamp are compact
* Sataking uses compact numbers
* Treasury now compact
* Compact Democracy
* Council is compact
* Fix
* bugfix: balances::transfer for new_account
issue:#722
would_create flag should depend on dest, not origin.
change
```rust
let would_create = from_balance.is_zero();
```
to
```rust
let to_balance = Self::free_balance(&dest);
let would_create = to_balance.is_zero();
```
in the other hand, provide `fn new_test_ext2()` and let `transfer_fee=10`, `creation_fee=50` for test case
* Update lib.rs
* Update tests.rs
* Make `impl_outer_origin!` support generic `Origin`s (#732)
* Make `impl_outer_origin!` support generic `Origin`s
* Support empty outer origin
* Contracts: fix transfer function. (#733)
* Remove dependency on the parity repo (#734)
* Fix test
* Anothe fix
* Remove unneeded script
* Rename Substrate Demo -> Substrate
* Rename demo -> node
* Build wasm from last rename.
* Merge ed25519 into substrate-primitives
* Minor tweak
* Rename substrate -> core
* Move substrate-runtime-support to core/runtime/support
* Rename/move substrate-runtime-version
* Move codec up a level
* Rename substrate-codec -> parity-codec
* Move environmental up a level
* Move pwasm-* up to top, ready for removal
* Remove requirement of s-r-support from s-r-primitives
* Move core/runtime/primitives into core/runtime-primitives
* Remove s-r-support dep from s-r-version
* Remove dep of s-r-support from bft
* Remove dep of s-r-support from node/consensus
* Sever all other core deps from s-r-support
* Forgot the no_std directive
* Rename non-SRML modules to sr-* to avoid match clashes
* Move runtime/* to srml/*
* Rename substrate-runtime-* -> srml-*
* Move srml to top-level