Skip to content
  1. Dec 10, 2018
    • Bastian Köcher's avatar
      Make runtime api generate version and identifier information (#1226) · 1f671934
      Bastian Köcher authored
      * 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
      1f671934
  2. Dec 09, 2018
    • cheme's avatar
      `decl_storage` as a proc_macro (#1176) · ed5b78ea
      cheme authored
      
      
      * `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: default avatarcheme <[email protected]>
      
      * Switch iterations to fold, remove unused import.
      ed5b78ea
  3. Dec 08, 2018
    • André Silva's avatar
      Grandpa validator set handoff justification (#1190) · e779eeb2
      André Silva authored
      * core: make block justification optional
      
      * runtime: update wasm binaries
      
      * core: optionally pass justification on finalize_block
      
      * finality-grandpa: add channel to trigger authority set changes
      
      this will allow the `BlockImport` to trigger an authority set change when
      importing a change block that provides a justification (when syncing)
      
      * finality-grandpa: move finalize_block to free function
      
      * finality-grandpa: add GrandpaOracle for auth set liveness checking
      
      this will be used by `BlockImport` to check whether the authority set for a
      given block is still live, if the authority set isn't live then importing a
      change block requires a justification.
      
      * finality-grandpa: store justification on finalized transition blocks
      
      * finality-grandpa: check justification on authority set change blocks
      
      * finality-grandpa: poll grandpa liveness oracle every 10 seconds
      
      * finality-grandpa: spawn grandpa oracle in service setup
      
      * core: support multiple subscriptions per consensus gossip topic
      
      * finality-grandpa: create and verify justifications
      
      * finality-grandpa: update to local branch of grandpa
      
      * finality-grandpa: update to finality-grandpa v0.5.0
      
      * finality-grandpa: move grandpa oracle code
      
      * finality-grandpa: fix canonality check
      
      * finality-grandpa: clean up error handling
      
      * finality-grandpa: fix canonical_at_height
      
      * finality-grandpa: fix tests
      
      * runtime: update wasm binaries
      
      * core: add tests for finalizing block with justification
      
      * finality-grandpa: improve validation of justifications
      
      * core: remove unused IncompleteJustification block import error
      
      * core: test multiple subscribers for same consensus gossip topic
      
      * Revert "finality-grandpa: improve validation of justifications"
      
      This reverts commit 51eb2c58c2219801e876af6d6c9371bdd9ff2477.
      
      * finality-grandpa: fix commit validation
      
      * finality-grandpa: fix commit ancestry validation
      
      * finality-grandpa: use grandpa v0.5.1
      
      * finality-grandpa: add docs
      
      * finality-grandpa: fix failing test
      
      * finality-grandpa: only allow a pending authority set change per fork
      
      * finality-grandpa: fix validator set transition test
      e779eeb2
  4. Dec 03, 2018
  5. Nov 30, 2018
    • Bastian Köcher's avatar
      Make `AuthorityId` serialize/deserialize to/from `ss58` (#1180) · 1dc56b48
      Bastian Köcher authored
      * Make `AuthorityId` serialize/deserialize to/from `ss58`
      
      * Updates the wasm files
      1dc56b48
    • Bastian Köcher's avatar
      Rewrite `impl_runtime_apis!` and `decl_runtime_apis!` as proc-macro (#1174) · ed421c56
      Bastian Köcher authored
      
      
      * Rewrites `impl_runtime_apis!` macro as `proc-macro`
      
      * Adds some documentation
      
      * Require the `impl_runtime_apis` to use a path for accessing the trait
      
      * Make the runtime implement `GetNodeBlockType`
      
      * Moves first chunk of runtime api code into the `impl_runtime_apis` macro
      
      This also renames `ClientWithApi` into `RuntimeApi`.
      
      * Make `impl_runtime_apis` use `runtime` api version automatically
      
      * `decl_runtime_apis` automatically adds `Block: BlockT` as generic parameter
      
      * Remove function generic arguments in block builder api
      
      * Remove some unnused stuff from the `decl_runtime_apis` macro
      
      * Make `InherentData` working again
      
      * Make `impl_runtime_apis!` implement the `RuntimeApi` side as well
      
      * Make it compile again after rebasing with master
      
      * Split `sr-api-macros` into multiple files
      
      * Reimplement `decl_runtime_apis!` as proc_macro
      
      * Use `decl_runtime_apis!` for `Core` as well and improve error reporting
      
      * Adds documentation for `decl_runtime_apis!` and `impl_runtime_apis!`
      
      * Move some code
      
      * Adds compile fail tests
      
      * Adds a test and fixes some bugs
      
      * Make `impl_runtime_apis!` support `_` as parameter name
      
      * Fixes build errors with wasm
      
      * Wasm rebuild after master rebase
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarbkchr <[email protected]>
      
      * Addresses some grumbles
      
      * Adds test to ensure that method signatures need to match
      
      * New wasm files
      ed421c56
    • Guanghua Guo's avatar
      Delete unused extern (#1178) · 309f627d
      Guanghua Guo authored
      309f627d
  6. Nov 22, 2018
  7. Nov 21, 2018
    • asynchronous rob's avatar
      Minimal switch of substrate-node to GRANDPA /Aura (#1128) · 11fe84a7
      asynchronous rob authored
      
      
      * 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: default avatarrphmeier <[email protected]>
      
      * Update node/cli/src/params.rs
      
      Co-Authored-By: default avatarrphmeier <[email protected]>
      
      * Update node/cli/src/lib.rs
      
      Co-Authored-By: default avatarrphmeier <[email protected]>
      
      * Update node/runtime/src/lib.rs
      
      Co-Authored-By: default avatarrphmeier <[email protected]>
      
      * Update node/cli/src/lib.rs
      
      Co-Authored-By: default avatarrphmeier <[email protected]>
      
      * 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
      11fe84a7
    • Gav Wood's avatar
      Remove unneeded bounds. (#1149) · 84da9d4a
      Gav Wood authored
      * Remove unneeded bounds.
      
      * Other wasm.
      84da9d4a
  8. Nov 18, 2018
    • Bastian Köcher's avatar
      Revert and redo #952 (#1133) · d149f335
      Bastian Köcher authored
      * Revert "Pruning changes trie without digests (#952)"
      
      This reverts commit 6f9a505f.
      
      * pruning changes tries without digests
      
      * u64::max_value()
      
      * Update wasm files and fix merge conflict
      
      * Fixes tests
      d149f335
  9. Nov 17, 2018
  10. Nov 16, 2018
  11. Nov 15, 2018
  12. Nov 14, 2018
    • Svyatoslav Nikolsky's avatar
      Fetch changes trie roots + CHT-based proof for these roots (#896) · fa84cec3
      Svyatoslav Nikolsky authored
      * build CHT for changes tries roots
      
      * collect chnages tries roots proof in key_changes_proof
      
      * flush check_changes_proof
      
      * fixed compilation
      
      * LightDataChecker now has a ref to the blockchain
      
      * continue passing proofs
      
      * new light db tests
      
      * more CHT tests
      
      * more tests for key changes proof when headers are missing
      
      * lost files
      fa84cec3
  13. Nov 13, 2018
    • Bastian Köcher's avatar
      Implement runtime api client side directly in the runtime (#1094) · 9063d1ac
      Bastian Köcher authored
      * Move `initialise_block` into `Core` trait as it is crucial calling the API functions
      
      * Switch to first version of new runtime API implementation
      
      * Fixes bug in tests
      
      * Reenable asserts
      
      * Directly use the `TestAPI` in the tests
      
      * Start improving the api traits
      
      :100644 100644 898aadc7 49217199 M	Cargo.lock
      :100644 100644 61570436 465ed664 M	core/client/src/backend.rs
      :100644 100644 5d0c886b 64d710fd M	core/client/src/block_builder.rs
      :100644 100644 c447855e 5ecbe474 M	core/client/src/client.rs
      :100644 100644 139cef13 f90dbf3d M	core/client/src/error.rs
      :100644 100644 2800c503 3298e66a M	core/client/src/runtime_api.rs
      :100644 100644 affa1c5c 809b08bc M	core/primitives/src/lib.rs
      :100644 100644 2877dfa9 d5547413 M	core/sr-api/Cargo.toml
      :100644 100644 9a49784d 6a625a03 M	core/sr-api/src/lib.rs
      :100644 100644 7c28e1c7 a1a444a9 M	core/sr-primitives/src/traits.rs
      :100644 100644 2e113ab6 dcc01a6d M	srml/metadata/Cargo.toml
      :100644 100644 ea722a70 0809531a M	srml/metadata/src/lib.rs
      
      * Refactoring
      
      * Move `sr-api` into client and more refactoring
      
      * Fixes tests
      
      * Some documentation and cleanup
      
      * Fixes compilation after rebase
      
      * More refactoring and more documentation
      
      * Makes `substrate-client` compilable on `wasm`
      
      On `wasm` it basically just exports the runtime api stuff.
      
      * Fixes grumbles
      
      * Updates wasm files after rebasing the master
      
      * Remove TODO comment
      
      * Remove whitespaces
      
      * Fixes after rebasing master
      
      * Another rebase, another fix commit
      9063d1ac
    • Svyatoslav Nikolsky's avatar
      Changes tries: support forks (#950) · 6e3c56c1
      Svyatoslav Nikolsky authored
      * forks support in changes trie storage
      
      * moved convert_hash to primitives
      
      * optimize ChangesTrieRootsStorage::root when anchor is canonicalized
      6e3c56c1
  14. Nov 12, 2018
    • Luke Schoen's avatar
      docs: Extends #999. Remove disused package readmes. Rename to sr-metadata. Fix... · 037f9dde
      Luke Schoen authored
      docs: Extends #999. Remove disused package readmes. Rename to sr-metadata. Fix Readme Rustdoc names (#1016)
      
      * docs: Remove safe-mix since is no longer local dependency
      
      * docs: Fix existing packages link. Still only includes Substrate Core
      
      * docs: Remove empty package Readmes. Remove old docs links. Rename to Readme
      
      * docs: Remove link to old docs
      
      * misc: Merge latest from master. Renaem to sr-metadata. Fix list of RustDoc package names
      
      * Rename substrate-metadata to sr-metadata, since it is in the "srml" subdirectory
      
      * Change example to use package name that opens all packages in RustDocs
      
      * Fix list of packages names that are available to open in RustDocs
      
      * fix typo
      
      * fix ordering of CLI options and add missing backslash
      037f9dde
    • Sergey Pepyakin's avatar
      srml-contract: Extract schedule (#1044) · 1f0f3c8f
      Sergey Pepyakin authored
      * Rename Config → Schedule.
      
      * Fetch and pass config.
      
      * Integrate config everywhere.
      
      * <<<E as Ext>::T as Trait> → <<E::T as Trait>
      
      * Update roots
      
      * Cache existential_deposit
      
      * Update COMPLEXITY.md
      
      * Update roots.
      1f0f3c8f
    • Gav Wood's avatar
      Remove unneeded Serde requirements (#1076) · 57b28963
      Gav Wood authored
      * Remove superfluous serde requirements.
      
      * Try to ensure hash is serde
      
      * Fixups
      
      * Building again
      
      * Attempt to reenable Block (doesn't build)
      
      * Fixes compilation for node cli
      
      * Fixes test compilation
      
      * Fix wasm
      
      * Fix tests
      
      * Remove unneeded changes
      
      * Fix up comments
      
      * Reenable some code
      
      * Compile error when origin misused.
      
      * Remove unnecessary includes of `serde_derive`
      
      * Cleanups
      57b28963
  15. Nov 09, 2018
  16. Nov 06, 2018
    • Hero Bird's avatar
      Update fixed-hash & uint utilities (#1078) · 660c747c
      Hero Bird authored
      * [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
      660c747c
  17. Nov 05, 2018
  18. Nov 02, 2018
  19. Oct 31, 2018
  20. Oct 27, 2018
    • Benjamin Kampmann's avatar
      Consensus Engines Implementation: Aura (#911) · 50adea62
      Benjamin Kampmann authored
      * 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
      50adea62
  21. Oct 26, 2018
  22. Oct 25, 2018
  23. Oct 23, 2018
  24. Oct 20, 2018
  25. Oct 19, 2018
    • Svyatoslav Nikolsky's avatar
      Moved DigestItem impl to impl_outer_log (#932) · ca38fd72
      Svyatoslav Nikolsky authored
      * moved DigestItem impl to impl_outer_log
      
      * Enable backtrace collecting on the CI
      
      * internal module is not required in impl_outer_log
      
      * Revert "internal module is not required in impl_outer_log"
      
      This reverts commit 5430446971cdf5fd5735863b86cd08a11d35d1dd.
      
      * Revert "moved DigestItem impl to impl_outer_log"
      
      This reverts commit 8872bbee963dbb4316251222f5c0757303fb3f52.
      
      * Revert "Revert "moved DigestItem impl to impl_outer_log""
      
      This reverts commit 47afd59682f8828665bd9cfb293b40ce4c4787af.
      
      * Revert "Revert "internal module is not required in impl_outer_log""
      
      This reverts commit 9ae640010c00ef134099d5b6a4430d330be134b2.
      
      * More diagnostics
      
      * check if only 1 test fails
      
      * test is back + some "traces"
      
      * removed some traces
      
      * removed "traces"
      ca38fd72
  26. Oct 18, 2018
    • Bastian Köcher's avatar
      Move inherent implementation into the modules (#924) · 4132a49f
      Bastian Köcher authored
      * Adds new `ProvideInherent` trait
      
      Also implements the new trait for `srml/consensus` and `srml/timestamp`.
      
      * Adds `impl_outer_inherent!` macro
      
      * Reexport macros from `alloc`
      
      * Introduce `RuntimeString` and fix `ProvideInherent` on `no_std`
      
      * Replace `VersionString` with `RuntimeString`
      
      * Improvements for `impl_outer_inherent!`
      
      * Make `construct_runtime!` support `impl_outer_inherent!`
      
      * Fixes after rebase
      
      * Whitespace
      4132a49f
  27. Oct 16, 2018
    • Gav Wood's avatar
      Compact format for block number, nonce, balance (#910) · 8bc5242c
      Gav Wood authored
      * 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
      8bc5242c
    • Bastian Köcher's avatar
      Adds `check_inherents` function to the `BlockerBuilder` API (#912) · 8de663f1
      Bastian Köcher authored
      * Adds new `check_inherents` function to the `BlockBuilder` API
      
      * Switch to `check_inherents` in `node-consensus`
      
      * Remove `CheckedBlock`, because it is not required anymore
      
      * Fixes after rebase
      
      * Fixes compilation on stable
      8de663f1
    • Benjamin Kampmann's avatar
      Generalize the Consensus Infrastructure (#883) · ac4bcf87
      Benjamin Kampmann authored
      * Split out Consensus
      * Supply ImportQueue through network-service
        - simplify ImportQueue.import_blocks
        - remove Deadlock on import_block
        - Adding Verifier-Trait
        - Implement import_queue provisioning in service; allow cli to import
      * Allow to actually customize import queue
      * Consensus Gossip: Cache Message hash per Topic
      ac4bcf87