Skip to content
  1. Nov 14, 2019
  2. Nov 12, 2019
  3. Nov 11, 2019
  4. Nov 10, 2019
    • Bastian Köcher's avatar
      Substrate runtime interface 2.0 (#4057) · a86bb37b
      Bastian Köcher authored
      * Adds first version of traits for generating the host functions
      
      * First steps of the procedural macro
      
      * Implements generation of the host extern functions
      
      * Prefix ext host function with snake case trait name
      
      * Implement host functions implementation on the host
      
      * Change `HostFunctions` interface
      
      * Implement `HostFunctions` for tuples
      
      * Make `WasmExecutor` generic over the host functions
      
      * Begin to add a test and make it compile
      
      * Make the test succeed
      
      * Add test to ensure that host functions are not found
      
      * It's alive! Make the `set_storage` test work
      
      * Add test for mutable references
      
      * Code cleanup and documentation etc
      
      * Add marker trait for types that should be passed as SCALE encoded
      
      * Inherit the visibility from the trait and more improvements
      
      * More impls and move them into their own file
      
      * Code simplification by dropping one trait
      
      * Give it a better name
      
      * Implement traits for arrays
      
      * Refactor code to support pass by codec/inner
      
      * Docs
      
      * Implement pass by inner for some crypto types and add a test
      
      * Implement exchangeable function support
      
      * Rewrite sr-io with as runtime interface
      
      * Start reworking after master merge
      
      * Adds `PassByCodec` derive
      
      * Adds `PassByInner` derive
      
      * Fix compilation errors
      
      * More implementations
      
      * Implement runtime interface traits for `str`
      
      * Make `sr-io` compile again
      
      * Fix more compilation errors
      
      * More progress on getting stuff back to compile
      
      * More compilation fixes
      
      * Fix warnings
      
      * Remove le conversions
      
      * Add support for `wasm_only` interfaces
      
      * Implement `Allocator` interface
      
      * Improve error message
      
      * Move `WasmAllocator` to `sr-io` and more clean ups
      
      * Use correct function signature for wasm functions
      
      * Store the host functions with the Wasm runtime
      
      * Docs update
      
      * Fix compilation after master merge
      
      * Remove `sr-io/without_std`
      
      * Make `srml-support` tests run again
      
      * More compilation error fixes
      
      * Use correct doc syntax
      
      * Fix test-runtime
      
      * Fix compilation
      
      * Catch native panics when executing the wasm runtime
      
      As with the native runtime, we now catch all native panics when we
      execute the wasm runtime. The panics inside the wasm runtime were
      already catched before by the wasm executor automatically, but any panic
      in the host functions could bring down the node. The recent switch to
      execute the native counterpart of the host function in `sr-io`, makes
      this change required. The native `sr-io` functions just `panic` when
      something is not provided or any other error occured.
      
      * Fix compilation
      
      * Don't panic in a panic
      
      * Move `sr-sandbox` to new runtime interface
      
      * Fixes tests after sandbox changes
      
      * Make sure we detect invalid utf8
      
      * Fixes after master merge
      
      * Adds pass by enum strategy
      
      * Fix wasmtime integration
      
      * Some macro structure clean up
      
      * Rework and test exchangebale host functions
      
      * PassBy derive macros documentation
      
      * Docs for `runtime_interface` macro
      
      * Support wild card argument names
      
      * Adds ui tests
      
      * Make sure that we are backwards compatible to the old runtime interfaces
      
      * Documentation
      
      * Fixes after latest master merge
      
      * Make `wasmtime` happy
      
      * Make `full_crypto` work
      
      * Make the new interface versionable
      
      * Rename `Sanboxing` to `Sandbox`
      
      * Don't finalize in test while importing
      
      * Fix Performance regression
      
      * Fix test
      a86bb37b
  5. Nov 06, 2019
  6. Nov 04, 2019
    • brenzi's avatar
      support crypto primitives for no_std introducing `full_crypto` feature (#3778) · cefe4dc2
      brenzi authored
      * introduced "with_crypto" feature and applied switches like in substrate-api-client fork
      
      * introduced "with_crypto" feature and applied switches like in substraTEE-worker fork
      
      * distinguishing core::hash vs std::hash
      
      * @bkchr's review requests fulfilled
      
      * fixes
      
      * revert dependency upgrade ed25519-dalek
      
      * added full_crypto features to all crates using app_crypto! macro
      
      * fixing CI complaints.
      
      * fix again
      
      * adding CI test for with_crypto feature
      
      * added full_crypto for ecdsa. now builds wit h--no-deafault-features --features with_crypto
      
      * remove --release from CI test
      
      * @bkchr
      
       requested changes. moved full_crypto CI test to build stage
      
      * fixing no_std issue
      
      * CI fresh copy from srml-staking
      
      * gitlab CI with +nightly
      
      * solved no-feature-in-macro dilemma
      
      * cosmetics
      
      * Update core/application-crypto/src/sr25519.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update core/application-crypto/src/ed25519.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * even more simple
      
      * undo line delete
      
      * refactoring app_crypto macro. splitting functionalities based on full_crypto feature
      
      * whitespace cosmetics
      cefe4dc2
  7. Oct 29, 2019
  8. Oct 28, 2019
  9. Oct 25, 2019
  10. Oct 24, 2019
    • Gavin Wood's avatar
      Add SECP256k1/ECDSA support for transaction signing (#3861) · cc0b1d08
      Gavin Wood authored
      
      
      * Add SECP256k1/ECDSA support for transaction signing.
      
      * Refactoring and fixes
      
      * Fix for contracts
      
      * Avoid breaking runtime host function
      
      * Build fixes, make subkey work more generaically.
      
      * Fix tests
      
      * Dedpulicate a bit of code, remove unneeded code, docs
      
      * Bump runtime version
      
      * Fix a test and clean up some code.
      
      * Derivation can derive seed.
      
      * Whitespace
      
      * Bump runtime again.
      
      * Update core/primitives/src/crypto.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Update core/primitives/src/ecdsa.rs
      
      Co-Authored-By: default avatarKian Paimani <[email protected]>
      
      * Fix AppVerify
      cc0b1d08
  11. Oct 22, 2019
    • Tomasz Drwięga's avatar
      Runtime logging. (#3821) · a31c01b3
      Tomasz Drwięga authored
      * Implement Printable for tuples.
      
      * Add debugging function.
      
      * Add debug 1.
      
      * Implement  for everything.
      
      * RuntimeDebug derive.
      
      * Introduce RuntimeDebug.
      
      * Add some dummy logging.
      
      * Replace RuntimeDebug with Debug.
      
      * Revert "Replace RuntimeDebug with Debug."
      
      This reverts commit bc47070a.
      
      * Working on Debug for all.
      
      * Fix bounds.
      
      * Add debug utils.
      
      * Implement runtime logging.
      
      * Add some docs and clean up.
      
      * Clean up derives.
      
      * Fix custom derive impl.
      
      * Bump runtime.
      
      * Fix long lines.
      
      * Fix doc test.
      
      * Use CARGO_CFG_STD.
      
      * Revert "Use CARGO_CFG_STD."
      
      This reverts commit ea429566.
      
      * Use parse_macro_input
      
      * Update lockfile.
      
      * Apply review suggestions.
      
      * Remove stray re-export.
      
      * Add no-std impl.
      
      * Update lockfile.
      a31c01b3
    • yjh's avatar
      refactor map macro for more general use (#3850) · 2e1d8310
      yjh authored and thiolliere's avatar thiolliere committed
      
      
      * refactor map macro for more general use
      
      Signed-off-by: default avataryjhmelody <[email protected]>
      
      * use $(,)?
      
      Signed-off-by: default avataryjhmelody <[email protected]>
      
      * Update core/primitives/src/lib.rs
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * Update core/primitives/src/lib.rs
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      2e1d8310
  12. Oct 19, 2019
  13. Oct 14, 2019
  14. Oct 09, 2019
    • Bastian Köcher's avatar
      Move `Externalities` into its own crate (#3775) · 79c776af
      Bastian Köcher authored
      * Move `Externalities` into `substrate-externalities`
      
      - `Externalities` now support generic extensions
      - Split of `primtives-storage` for storage primitive types
      
      * Move the externalities scoping into `substrate-externalities`
      
      * Fix compilation
      
      * Review feedback
      
      * Adds macro for declaring extensions
      
      * Fix benchmarks
      
      * Introduce `ExtensionStore` trait
      
      * Last review comments
      
      * Implement it for `ExtensionStore`
      79c776af
  15. Oct 03, 2019
  16. Oct 02, 2019
    • DemiMarie-parity's avatar
      Upgrade dependencies whenever “easy” (#3556) · 0cfe7438
      DemiMarie-parity authored
      * Update all dependencies
      
      * Upgrade dependencies whenever “easy”
      
      “easy” means that there are no major changes required.
      
      * Fix build and bump paste dependency to 0.1.6
      
      * Remove dead code
      
      * Re-add = dependency for futures-preview
      
      * Add missing std features for runtime-io
      
      * Remove git dependencies
      
      as updated versions have been published to crates.io
      
      * try to debug bug
      
      * For sr-io, "std" should imply "no_oom" and "no_panic_handler".
      
      Otherwise, rustc complains (correctly) about duplicate lang items.
      
      * Add missing "runtime-io/std" features
      
      * Fix compilation errors
      
      * Prevent duplicate lang items
      
      Rust does not allow duplicate lang items.  When compiled without the
      `std` feature, `sr-io` defines two lang items.  Therefore, `sr-io`
      compiled without `feature = "std"` must not be linked with `std`.
      
      However, `pwasm-utils` and `wasmi-validation` both bring in `std` unless
      compiled with `default-features = "false"`.  This caused a duplicate
      lang item error.  Building both with `default-features = "false"`
      prevents this error.  When building with `feature = "std"`, they should
      both be built with the `std` feature, so this feature needs to be
      explicitly depended on.
      
      * Bump `impl_version`
      
      * Make tests pass
      
      Three tests used 1 less gas than they had previously.
      
      * Try to un-break build
      
      * Add a Cargo.lock file
      
      * Revert offchain code
      
      * Revert "Revert offchain code"
      
      This reverts commit d216d08c
      
      .
      
      * Don’t try to send a body with a GET request
      
      without adding a Transfer-Encoding or Content-Length header.
      
      This has always been wrong, but hyperium/hyper#1925 hid the bug until
      hyper was upgraded to 0.12.35.
      
      * Change some more GET requests to POST requests
      
      * Fix excess line width and remove an `extern crate`
      
      * Delete commented-out extern crate
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Fix regression in Cargo.toml files
      
      dev-dependencies need `default-features = false`, too.
      
      * Bump parity-wasm dependency
      
      * Bump `futures-preview`
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update Cargo.lock files
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update core/service/src/chain_ops.rs
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      0cfe7438
  17. Sep 30, 2019
  18. Sep 21, 2019
    • Joshy Orndorff's avatar
      Remove unused key types sr25 and ed25 (#3659) · a2df8002
      Joshy Orndorff authored
      * Remove unused key types sr25 and ed25.
      
      * Restore in specific files to fix build.
      
      * Fix runtime tests
      
      * Fix keystore test
      
      * Revert typo
      
      * Move keytypes to primitives/src/testing.rs
      
      * More missed items.
      
      * Getting close now.
      
      * Fix example in documentation.
      
      * Update core/application-crypto/src/ed25519.rs
      
      * Update core/application-crypto/src/sr25519.rs
      
      * Bump impl version.
      a2df8002
  19. Sep 19, 2019
    • Talha Cross's avatar
      core, subkey: allow to read Polkadot, Kusama, and Dothereum address types (#3643) · 5a2be8bd
      Talha Cross authored
      * core/primitives: set dothereum address type to 4
      
      * subkey: add dothereum to network prefix
      
      * core/primitives: set dothereum address type to 20
      
      * core/primitives: update comment
      
      * core/primitives: set default address to Dothereum
      
      * Revert "core/primitives: set default address to Dothereum"
      
      This reverts commit 2fc95490.
      
      * core/primitives: allow to parse different default address types
      5a2be8bd
  20. Sep 17, 2019
  21. Sep 13, 2019
    • Tomasz Drwięga's avatar
      Fix tracking validator set in ImOnline (#3596) · 1a59e8ce
      Tomasz Drwięga authored
      
      
      * Use session::validators instead of staking::current_elected
      
      * Basic test framework.
      
      * Initialize validators, attempt to heartbeat.
      
      * Use dummy crypto for im-online testing.
      
      * Remove printlns.
      
      * Finish test, make it invalid.
      
      * Add reporting test.
      
      * Finalize the test.
      
      * Remove dumbness.
      
      * Updates.
      
      * Update AuRa
      
      * Update srml/im-online/src/tests.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Derive Ord
      
      * Add some more tests.
      
      * Remove stray todo.
      
      * Bump runtime version.
      
      * Bump impl-trait-for-tuples.
      
      * Enforce new version of trait-for-tuples.
      1a59e8ce
  22. Sep 10, 2019
  23. Aug 29, 2019
  24. Aug 27, 2019
  25. Aug 24, 2019
  26. Aug 09, 2019
    • Bastian Köcher's avatar
      Adds `--no-validator` CLI flag (#3348) · 14a70910
      Bastian Köcher authored
      * Implement `is_validator` for offchain-workers
      
      * Introduce `--no-validator` flag
      
      * Don't run babe/grandpa/im-online when `--no-validator` is given
      
      * Fixes compilation
      
      * Bump spec version
      
      * Improve error handling in executor
      
      * Add missing extern function
      
      * Revert making error public
      
      * Remove `--no-validator` CLI
      14a70910
  27. Aug 08, 2019
    • Bastian Köcher's avatar
      Adds `author_rotateKeys` RPC (#3337) · 8155ea35
      Bastian Köcher authored
      * Adds `author_rotateKeys` RPC
      
      `author_rotateKeys` will rotate all session keys, store them into the
      keystore and returns their encoded public keys as result. These encoded
      public keys can be used directly to send the transaction to the chain.
      
      * Review comments
      8155ea35
  28. Aug 07, 2019
    • Bastian Köcher's avatar
      More tests and some cleanup (#3331) · e269dbf0
      Bastian Köcher authored
      e269dbf0
    • Gavin Wood's avatar
      Refactor key management (#3296) · ed61b1fd
      Gavin Wood authored
      
      
      * Add Call type to extensible transactions.
      
      Cleanup some naming
      
      * Merge Resource and BlockExhausted into just Exhausted
      
      * Fix
      
      * Another fix
      
      * Call
      
      * Some fixes
      
      * Fix srml tests.
      
      * Fix all tests.
      
      * Refactor crypto so each application of it has its own type.
      
      * Introduce new AuthorityProvider API into Aura
      
      This will eventually allow for dynamic determination of authority
      keys and avoid having to set them directly on CLI.
      
      * Introduce authority determinator for Babe.
      
      Experiment with modular consensus API.
      
      * Work in progress to introduce KeyTypeId and avoid polluting API
      with validator IDs
      
      * Finish up drafting imonline
      
      * Rework offchain workers API.
      
      * Rework API implementation.
      
      * Make it compile for wasm, simplify app_crypto.
      
      * Fix compilation of im-online.
      
      * Fix compilation of im-online.
      
      * Fix more compilation errors.
      
      * Make it compile.
      
      * Fixing tests.
      
      * Rewrite `keystore`
      
      * Fix session tests
      
      * Bring back `TryFrom`'s'
      
      * Fix `srml-grandpa`
      
      * Fix `srml-aura`
      
      * Fix consensus babe
      
      * More fixes
      
      * Make service generate keys from dev_seed
      
      * Build fixes
      
      * Remove offchain tests
      
      * More fixes and cleanups
      
      * Fixes finality grandpa
      
      * Fix `consensus-aura`
      
      * Fix cli
      
      * Fix `node-cli`
      
      * Fix chain_spec builder
      
      * Fix doc tests
      
      * Add authority getter for grandpa.
      
      * Test fix
      
      * Fixes
      
      * Make keystore accessible from the runtime
      
      * Move app crypto to its own crate
      
      * Update `Cargo.lock`
      
      * Make the crypto stuff usable from the runtime
      
      * Adds some runtime crypto tests
      
      * Use last finalized block for grandpa authority
      
      * Fix warning
      
      * Adds `SessionKeys` runtime api
      
      * Remove `FinalityPair` and `ConsensusPair`
      
      * Minor governance tweaks to get it inline with docs.
      
      * Make the governance be up to date with the docs.
      
      * Build fixes.
      
      * Generate the inital session keys
      
      * Failing keystore is a hard error
      
      * Make babe work again
      
      * Fix grandpa
      
      * Fix tests
      
      * Disable `keystore` in consensus critical stuff
      
      * Build fix.
      
      * ImOnline supports multiple authorities at once.
      
      * Update core/application-crypto/src/ed25519.rs
      
      * Merge branch 'master' into gav-in-progress
      
      * Remove unneeded code for now.
      
      * Some `session` testing
      
      * Support querying the public keys
      
      * Cleanup offchain
      
      * Remove warnings
      
      * More cleanup
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBenjamin Kampmann <[email protected]>
      
      * More cleanups
      
      * JSONRPC API for setting keys.
      
      Also, rename traits::KeyStore* -> traits::BareCryptoStore*
      
      * Bad merge
      
      * Fix integration tests
      
      * Fix test build
      
      * Test fix
      
      * Fixes
      
      * Warnings
      
      * Another warning
      
      * Bump version.
      ed61b1fd
    • Bastian Köcher's avatar
      Update to schnorrkel `0.8.0` (#3267) · e2d9619d
      Bastian Köcher authored
      
      
      * Update to schnorrkel `0.8.0`
      
      * Increase `spec_version`
      
      * Bump schnorrkel to 0.8.3 (#3283)
      
      * Schnorrkel 0.8.1 (builds on bkchr upgrade branch)
      
      * Add tests for known hard/soft derivation values
      
      * Bump all schnorrkel versions
      
      * Flatten for easier inspection
      
      * 0.8.2
      
      * 0.8.3
      
      * Update subkey/Cargo.toml
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update `Cargo.lock`
      
      * 0.8.4
      
      * Fix cargo lock file.
      
      * Adding an error message for `NotMarkedSchnorrkel` as that was missing.
      Also fixing a typo, strage -> stage.
      e2d9619d
  29. Aug 06, 2019
    • thiolliere's avatar
      Update to parity-scale-codec (#3232) · 31983882
      thiolliere authored
      
      
      * WIP: update codec
      
      * WIP
      
      * compiling
      
      * WIP
      
      * rename parity-scale-codec to codec
      
      * WIP
      
      * fix
      
      * remove old comments
      
      * use published crates
      
      * fix expected error msg
      
      * bump version
      
      * fmt and fix
      
      * remove old comment
      
      * fix wrong decoding impl
      
      * implement encode like for structures
      
      * undo removal of old pending changes
      
      * trailingzeroinput
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      Co-Authored-By: default avatarDemiMarie-parity <[email protected]>
      
      * update codec
      
      * fmt
      
      * version is 1.0.0
      
      * show more error
      
      * fmt
      31983882
  30. Jul 30, 2019
  31. Jul 25, 2019
  32. Jul 22, 2019
    • David Craven's avatar
      Refactors the offchain worker api (#3150) · 5453dd17
      David Craven authored
      * Update offchain primitives.
      
      * Update offchain worker.
      
      * Update im-online.
      
      * Update service.
      
      * Update node and node-template.
      
      * Update runtime version.
      
      * Fix build.
      
      * Fix offchain worker tests.
      
      * Generalize authority_pubkey.
      
      * Add test.
      
      * Update lib.rs
      5453dd17
  33. Jul 20, 2019
    • Gavin Wood's avatar
      SS58 versioning (Network IDs) (#3147) · cf98501f
      Gavin Wood authored
      * Introduce network IDs for SS58
      
      * Fix
      
      * Allow numeric overrides.
      
      * Improve docs
      
      * String rather than str
      
      * Comment out code that will become valid after other PR
      
      * Fix
      cf98501f
    • Michael Müller's avatar
      Introduce srml/im-online (#3079) · aa8c06a0
      Michael Müller authored
      
      
      * Fix grammar and typo
      
      * Extend network service
      
      * Extend offchain API
      
      * Support creating unsigned UncheckedExtrinsic
      
      * Introduce srml/im-online
      
      * Bump impl and spec version
      
      * Fix web-wasm test
      
      * Apply suggestions from code review
      
      Remove parity-multiaddr dependency
      
      Co-Authored-By: default avatarPierre Krieger <[email protected]>
      
      * Replace transmute with from_raw_parts
      
      * Replace PeerId.to_string() with .to_base58()
      
      Co-Authored-By: default avatarPierre Krieger <[email protected]>
      
      * Update Cargo.lock
      
      * Bump impl and spec version (again)
      
      It was updated in master in the meantime.
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarSergei Pepyakin <[email protected]>
      
      * Address comments
      
      * Add public function is_online_in_current_session()
      
      * Bump spec_version
      
      * Fix doc tests
      
      * Improve comments
      
      * Remove superfluous line
      
      * Name parameters consistently
      
      * Implement comments
      
      * Switch From to TryFrom
      
      * Use Vec instead of HashSet
      
      * Fix tests
      
      * Revert me: local testing
      
      * Fix check if already sent during session
      
      We gossip each session, hence we need to check
      if already sent in this session (not era).
      
      * Fix typos
      
      * Consistent terminology
      
      * Revert "Revert me: local testing"
      
      This reverts commit 73fbc29f.
      
      * Introduce IsMember trait
      
      * Implement misc comments
      
      * Remove unused function
      
      * Fix test
      
      * Fix external_addresses being written
      
      * Fix test
      
      * Add necessary trait bound
      
      * Do not increment version
      
      * Update lib.rs
      aa8c06a0
  34. Jul 09, 2019
    • Tomasz Drwięga's avatar
      [offchain] Support for sign & verify for crypto keys (#3023) · 4dc625ff
      Tomasz Drwięga authored
      * Implement sign & verify.
      
      * Use phrases and password.
      
      * Sign & verify with authority keys.
      
      * Fix tests.
      
      * WiP
      
      * WiP
      
      * Allow the caller to decide on 'CryptoKind'.
      
      * Remove TODO.
      
      * Make seed private back.
      
      * Fix non-std build and bump version.
      
      * Use Into<u32> instead of asses.
      
      * Add missing typedef.
      4dc625ff