* ensure imbalances are properly accounted for (#2183)
* ensure imbalances are properly accounted for
* bump runtime version
* Update node/runtime/src/lib.rs
* implement contract events (#2161)
* implement contract events
* update runtime
* renaming
* update test code hash
* improve complexity details
* add deposit event base cost
* add test
* Revert "add deposit event base cost"
This reverts commit 58ec010c0f4f4f0e16935ad41da32aedd17a8c57.
* update test
* Revert "update test"
This reverts commit 6fe61a593ccf0d41f09a0b97472b28ed8751a999.
* Revert "Revert "add deposit event base cost""
This reverts commit 145e8a9bac15313a4c380aa66b94fd4d36fa3f6d.
* Fix format a bit
* Replace Vec<u8> with [u8; 32] for contract storage key (#2184)
* Replace Vec<u8> with [u8; 32] for contract storage key
* Read storage keys from sandbox memory into fixed size buffer
* Increment `impl_version`
* Remove redundant Ok(()) and explicitly specify StorageKey buffer type (#2188)
* Switch to `derive(Encode, Decode)` for `Call` (#2178)
* Add some tests
* More tests
* Switch to `derive(Encode, Decode)` for `Call`
* Update lock files
* Simplify the macro cases
* Cache changes trie config in db storage (#2170)
* cache changes trie config in db storage
* Update core/client/db/src/lib.rs
Co-Authored-By: svyatonik <svyatonik@gmail.com>
* Update core/client/db/src/lib.rs
Co-Authored-By: svyatonik <svyatonik@gmail.com>
* Fix version check for renamed runtime api methods (#2190)
* Add feature to disable including the test-runtime wasm blob
* Enable `std` feature for `consensus_authorities`
* Implement `skip_initialize_block` and `initialize_block` for runtime api
* Add test and fixes bug
* Begin to implement support for passing the `ProofRecorder`
* Make sure proof generation works as intended
* Fixes tests
* Make `BlockBuilder` generate proofs on request.
* Adds `TestClientBuilder` to simplify creating a test client
* Add `include-wasm-blob` to `test-client` as well
* Make `test-client` compile without including the wasm file
* Disable more stuff in test-client without wasm
* Reorganize the re-exports
* Use correct bounds
* Update docs
* Update core/client/src/block_builder/block_builder.rs
Co-Authored-By: bkchr <bkchr@users.noreply.github.com>
* Extend test to actually generated proof
* Switch to enum for `skip_initialize_block`
* Some wasm files updates
* Send high-level consensus telemetry by default
* Notify telemetry on finalized
* Send used authority set to telemetry
* Do not send commit message telemetry by default
* Fix typo
* Allow for notifications on telemetry connect
...and send the current authority set on each connect.
* Send authority set to telemetry on change
* Revert "Send used authority set to telemetry"
This reverts commit 1deceead52bb7443a02879ac8138afad9a6ca5ff.
* Merge branch 'master' into 'cmichi-send-high-level-consensus-telemetry-by-default'
Squashed commit of the following:
commit 19d77cbc23
Author: Xiliang Chen <xlchen1291@gmail.com>
Date: Wed Apr 10 20:26:29 2019 +1200
update authers for rest of the node-template cargo.toml files (#2242)
commit 0afc357a97
Author: Bastian Köcher <bkchr@users.noreply.github.com>
Date: Tue Apr 9 10:31:18 2019 +0200
Throw a compile error for `on_finalise` and `on_initialise` (#2236)
commit e57e54ab9c
Author: Pierre Krieger <pierre.krieger1708@gmail.com>
Date: Tue Apr 9 05:30:43 2019 -0300
Add warning when using default protocol ID (#2234)
* Add warning when using default protocol ID
* Update core/service/src/lib.rs
commit cb766e5f5d
Author: Xiliang Chen <xlchen1291@gmail.com>
Date: Tue Apr 9 17:22:20 2019 +1200
update name and authors to placeholder text for node-template (#2222)
* update name and authors to placeholder text
* revert package name change
commit a1e15ae55a
Author: André Silva <andre.beat@gmail.com>
Date: Mon Apr 8 12:50:34 2019 +0100
grandpa: Voter persistence and upgrade to finality-grandpa v0.7 (#2139)
* core: grandpa: migrate to grandpa 0.7
* core: grandpa: store current round votes and load them on startup
* core: grandpa: resend old persisted votes for the current round
* core: grandpa: store base and votes for last completed round
* core: grandpa: fix latest grandpa 0.7 changes
* core: grandpa: update to grandpa 0.7.1
* core: grandpa: persist votes for last two completed rounds
* core: grandpa: simplify VoterSetState usage
* core: grandpa: use Environment::update_voter_set_state
* core: grandpa: fix aux_schema test
* core: grandpa: add docs
* core: grandpa: add note about environment assumption
* core: grandpa: don't update voter set state on ignored votes
* core: grandpa: add test for v1 -> v2 aux_schema migration
* core: grandpa: add test for voter vote persistence
* core: grandpa: use grandpa 0.7.1 from crates.io
* core: grandpa: use try_init in test
* core: grandpa: add comment about block_import in test
* core: grandpa: avoid cloning HasVoted
* core: grandpa: add missing docs
* core: grandpa: cleanup up can_propose/prevote/precommit
commit ed3ae4ac39
Author: Gregory Terzian <2792687+gterzian@users.noreply.github.com>
Date: Mon Apr 8 13:17:00 2019 +0200
remove clone bound on specialization in testnet factory (#2157)
commit 03f3fb1442
Author: Andrew Jones <ascjones@gmail.com>
Date: Sat Apr 6 12:23:56 2019 +0100
Contract import/export validation (#2203)
* Reject validation of contract with unknown exports
* Validate imports eagerly
* Increment spec version
commit decddaab0f
Author: Pierre Krieger <pierre.krieger1708@gmail.com>
Date: Fri Apr 5 14:07:09 2019 -0300
Fix state inconsistency between handler and behaviour (#2220)
* Fix state inconsistency between handler and behaviour
* Fix the error! being in the wrong place
commit dce0b4ea49
Author: Bastian Köcher <bkchr@users.noreply.github.com>
Date: Fri Apr 5 18:50:38 2019 +0200
Use `storage_root` of newly calculated header (#2216)
Instead of calculating the `storage_root` a second time, we just can
take the `storage_root` from the new header.
commit b01136c90d
Author: Marek Kotewicz <marek.kotewicz@gmail.com>
Date: Fri Apr 5 14:44:46 2019 +0200
Peerset::discovered accepts many peer ids (#2213)
* Peerset::discovered accepts many peer ids
* Improve tracing in peerset
commit 1142bcde97
Author: Marek Kotewicz <marek.kotewicz@gmail.com>
Date: Thu Apr 4 19:40:40 2019 +0200
simplification of peerset api (#2123)
* Introduction of PeersetHandle
* integrate PeersetHandle with the rest of the codebase
* fix compilation errors
* more tests for peerset, fixed overwriting bug in add_reserved_peer
* Slots data structure and bugfixes for peerset
* bend to pressure
* updated lru-cache to 0.1.2 and updated linked-hash-map to 0.5.2
* peerset discovered list is now a LinkedHashMap
* fix review suggestions
* split back Peerset and PeersetHandle
* test for Peerset::discovered
* applied review suggestions
* fixes to peerset::incoming
* peerset disconnects are all instantaneous
* instantaneous drop in peerset finished
* Peerset::set_reserved_only can also reconnect nodes
* Peerset scores cache uses lru-cache
* remove redundant function call and comment from Peerset::on_set_reserved_only
* add_peer returns SlotState enum
* apply review suggestions
* is_reserved -> is_connected_and_reserved
commit 301844dd56
Author: Arkadiy Paronyan <arkady.paronyan@gmail.com>
Date: Thu Apr 4 18:01:28 2019 +0200
Disconnect on protocol timeout (#2212)
commit cb3c912b1a
Author: André Silva <andre.beat@gmail.com>
Date: Thu Apr 4 15:56:49 2019 +0100
core: grandpa: verify commit target in justification (#2201)
commit 6920b169cd
Author: Bastian Köcher <bkchr@users.noreply.github.com>
Date: Thu Apr 4 16:56:16 2019 +0200
Introduce `original_storage` and `original_storage_hash` (#2211)
Both functions will ignore any overlayed changes and access the backend
directly.
commit cb7a8161f5
Author: Xiliang Chen <xlchen1291@gmail.com>
Date: Fri Apr 5 03:55:55 2019 +1300
code cleanup (#2206)
commit acaf1fe625
Author: Arkadiy Paronyan <arkady.paronyan@gmail.com>
Date: Wed Apr 3 15:52:46 2019 +0200
Emberic elm testnet (#2197)
* Make telemetry onconnect hoook optional
* Merge branch 'master' into 'cmichi-send-high-level-consensus-telemetry-by-default'
* Introduce GrandpaParams struct to condense parameters
* Remove debug statement
* Fix tests
* Rename parameter
* Fix tests
* Rename struct
* Do not send verbosity level
* Combine imports
* Implement comments
* Run cargo build --all
* Remove noisy telemetry
* Add docs for public items
* Unbox and support Clone trait
* Fix merge
* Fix merge
* Update core/finality-grandpa/src/lib.rs
Co-Authored-By: cmichi <mich@elmueller.net>
* Move authorities interface from Core to consensus
f
* notify all caches of block insert + create with up-to-date best_fin
* merged authorities_are_cached from light_grandpa_import2
* Add ProvideCache trait
* Create helper function for 'get_cache'
* Fix some formatting
* Bump impl version
* Resolve wasm conflicts
* Apply review comments
* Use try_for_each
* Move authorities interface from Core to consensus
f
* notify all caches of block insert + create with up-to-date best_fin
* merged authorities_are_cached from light_grandpa_import2
* Add ProvideCache trait
* Create helper function for 'get_cache'
* Fix some formatting
* Bump impl version
* Resolve wasm conflicts
* Apply review comments
* Use try_for_each
* Move authorities interface from Core to consensus
f
* notify all caches of block insert + create with up-to-date best_fin
* merged authorities_are_cached from light_grandpa_import2
* Add ProvideCache trait
* Create helper function for 'get_cache'
* Fix some formatting
* Bump impl version
* Resolve wasm conflicts
* Apply review comments
* Use try_for_each
* Increment impl_version
* Update lib.rs
* 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 `start_aura2`.
* .gitignore patch conflict files
and remove one that accidentally got committed
* Fix build
The tests still don’t work.
* Fix compilation errors
* Fix compile errors (again)
* Try (and fail) to fix tests
* Properly deserialize data
Previously, `DigestItem::Consensus` had no separate `DigestItemType`,
so it did not get properly serialized and deserialized.
* Add extra debug logging. Always allow old seals.
A `RUST_LOG=substrate_aura_consensus cargo test --all -- --nocapture \
tests::authoring_blocks` revealed that old seals were being and
rejected, causing the test to hang. As a temporary debug measure, allow
old seals unconditionally, so that CI can test if this fixes the
problem.
* Forcibly disable rejection of old seals
* Use old trait, but newer serialization
The old trait for `CompatibleDigestItem` actually worked. By changing
its implementation, one can ensure that all *new* seals have the modern
form, but *legacy* seals are still decoded correctly.
* Bump impl version
* Squash spurious deprecation warning
`rustc` should not be emitting a deprecation warning in deprecated
code, but it does, so silence it.
* Rip out unused Cargo feature
* Move AURA to aura_primitives
* Respond to code review
* Wrap overly-long line
* Reduce logging verbosity and add target
* Add dependency on `sr-primitives` to `aura_primitives`
* Fix build
It failed with a message about Cargo.lock being out of date.
* core: aura: rename aura engine id const
* core: aura: remove superfluous logging
* core: primitives: add removed semicolons
* core: aura: remove unused import
* core: network: style fix
* runtime: update wasm blobs
* runtime: bump impl_version
* core: primitives: tag all DigestItemType variants explicitly
* 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
* Update libp2p. Add support for ed25519 node (network) keys.
* Update networking to the changes from https://github.com/libp2p/rust-libp2p/pull/972.
* Add support for using ed25519 keys for libp2p networking.
* Add support for reading libp2p secret keys from (external) files.
* Adapt to changes from https://github.com/libp2p/rust-libp2p/pull/992
* More tests.
* Cosmetics
* Deduplicate tests.
* Remove quickcheck from tests that don't use extra random inputs.
* Remove quickcheck.
* Swap new/default impls for NetworkConfiguration.
* Use libp2p-0.5.0 from crates.io.
* Post-rebase update.
* Remove unnecessary wildcard pattern.
* Combine two overlapping 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
* use channels to implement basic import queue
* async justification import
* better conditional for is_done in tests
* reword the test for presence of link
* fix conditional
* trace instead of panic when no link present
* reword expectations when sending to importers
* fix
* debug justification import error
* update expectations
* use NumberFor
* nits
* add general description
* move error handling into closure
* Encode count of exported blocks correctly
There was a type mismatch: import used u32, export
used Number.
* Wait for import to finish
The issue was that even though the import thread
was still running, the main thread exited.
* Remove superfluous parentheses
* Improve structure, add proofs for expects
* Unify types for export/import length
* 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
* Avoid excessive hashing. Store extrinsic len.
* Implement pool limits.
* Fix issues.
* Make sure we return error in case it doesn't make into the pool.
* Pass parameters from CLI.
* Remove redundant todo.
* Fix tests.
* rewrite network protocol/service to use channels
* remove use of unwrap
* re-introduce with_spec
* remove unnecessary mut
* remove unused param
* improve with_spec, add with_gossip
* rename job to task
* style: re-add comma
* remove extra string allocs
* rename use of channel
* turn TODO into FIXME
* remove mut in match
* remove Self in new
* pass headers by value to network service
* remove network sender from service
* remove TODO
* better expect
* rationalize use of network sender in ondemand
* make genesis state available on light client
* RemoteOrLocalCallExecutor
* code_is_executed_locally_or_remotely
* OnDemandOrGenesisState tests
* some comments
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.
* Reuse tags of known transactions, avoid reimporting extrinsics from imported block.
* Fix tests for graph.
* Add more detailed docs.
* Avoid cloning and computing hashes twice.
* 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`
* Implement new inherent data
* Fixes compilation on wasm
* Fixes after rebase
* Switch back to generate inherent stuff by macro
* Update after rebase
* Apply suggestions from code review
Co-Authored-By: bkchr <bkchr@users.noreply.github.com>
* Fix compilation after rebase
* Address grumbles
* Remove `InherentDataProviders` from `Client`
* Update wasm files after rebase
* Address grumbles
* Fixes compilation after latest merge
* Last fix
* 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
* fix: temporal modification to make revert works for non finalized blocks
* fix: print info when the number of blocks asked to revert is higher than the number of reversible blocks
* fix: remove function get_db_path_for_subcommand and remove it from all subcommands
* fix: revert only non finalized blocks
* fix: improve printed information for revert command
* fix: new wasm file
* chore: remove unused parameter
* fix: revert log logic
* fix: subcommands should take sub_matches instead of matches
* fix: removing confusing message