Skip to content
  1. Jan 16, 2020
    • Bastian Köcher's avatar
      Implement runtime version checks in `set_code` (#4548) · afc3318f
      Bastian Köcher authored
      * Implement runtime version checks in `set_code`
      
      Check that the new runtime code given to `set_code` fullfills some
      requirements:
      
      - `spec_name` matches
      - `spec_version` does not decreases
      - `impl_version` does not decreases
      - Either `spec_version` and `impl_version` increase
      
      * Make tests almost work
      
      * Some fixes after master merge
      
      * Fix tests
      
      * Add missed file
      
      * Make depedency check happy?
      
      * Remove leftover `sc-executor`
      
      * AHHHHH
      
      * Reset debug stuff
      
      * Remove some 'static
      
      * More 'static
      
      * Some docs
      
      * Update `Cargo.lock`
      afc3318f
  2. Jan 15, 2020
  3. Jan 13, 2020
  4. Jan 11, 2020
  5. Jan 10, 2020
    • Igor Matuszewski's avatar
      Remove now unused `lang_items` feature in IO primitives (#4596) · 7b17deda
      Igor Matuszewski authored
      We don't use any explicit `#[lang = ...]` items anymore (`panic_fmt`
      is replaced with now-stable `#[panic_implementation]`, OOM is handled
      via `alloc_error_handler` directly etc.), so I thought it'd be good to
      remove it for clarity to limit used nightly features.
      7b17deda
    • Bastian Köcher's avatar
      Remove requirement on `Hash = H256`, make `Proposer` return `StorageChanges` and `Proof` (#3860) · fd6b29dd
      Bastian Köcher authored
      
      
      * Extend `Proposer` to optionally generate a proof of the proposal
      
      * Something
      
      * Refactor sr-api to not depend on client anymore
      
      * Fix benches
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Apply suggestions from code review
      
      * Introduce new `into_storage_changes` function
      
      * Switch to runtime api for `execute_block` and don't require `H256`
      anywhere in the code
      
      * Put the `StorageChanges` into the `Proposal`
      
      * Move the runtime api error to its own trait
      
      * Adds `StorageTransactionCache` to the runtime api
      
      This requires that we add `type NodeBlock = ` to the
      `impl_runtime_apis!` macro to work around some bugs in rustc :(
      
      * Remove `type NodeBlock` and switch to a "better" hack
      
      * Start using the transaction cache from the runtime api
      
      * Make it compile
      
      * Move `InMemory` to its own file
      
      * Make all tests work again
      
      * Return block, storage_changes and proof from Blockbuilder::bake()
      
      * Make sure that we use/set `storage_changes` when possible
      
      * Add test
      
      * Fix deadlock
      
      * Remove accidentally added folders
      
      * Introduce `RecordProof` as argument type to be more explicit
      
      * Update client/src/client.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Update primitives/state-machine/src/ext.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <[email protected]>
      
      * Integrates review feedback
      
      * Remove `unsafe` usage
      
      * Update client/block-builder/src/lib.rs
      
      Co-Authored-By: default avatarBenjamin Kampmann <[email protected]>
      
      * Update client/src/call_executor.rs
      
      * Bump versions
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      fd6b29dd
    • Tomasz Drwięga's avatar
      Add documentation to SubmitSignedTransaction and actually make it work (#4200) · 74d6e660
      Tomasz Drwięga authored
      
      
      * Add documentation to signed transactions and actually make them work.
      
      * Fix naming and bounds.
      
      * Forgotten import.
      
      * Remove warning.
      
      * Make accounts optional, fix logic.
      
      * Split the method to avoid confusing type error message.
      
      * Move executor tests to integration.
      
      * Add submit transactions tests.
      
      * Make `submit_transaction` tests compile
      
      * Remove a file that was accidently committed
      
      * Add can_sign helper function.
      
      * Fix compilation.
      
      * Add a key to keystore.
      
      * Fix the tests.
      
      * Remove env_logger.
      
      * Fix sending multiple transactions.
      
      * Remove commented code.
      
      * Bring back criterion.
      
      * Remove stray debug log.
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Make sure to initialize block correctly.
      
      * Initialize block for offchain workers.
      
      * Add test for transaction validity.
      
      * Fix tests.
      
      * Review suggestions.
      
      * Remove redundant comment.
      
      * Make sure to use correct block number of authoring.
      
      * Change the runtime API.
      
      * Support both versions.
      
      * Bump spec version, fix RPC test.
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      74d6e660
  6. Jan 09, 2020
  7. Jan 07, 2020
  8. Jan 06, 2020
  9. Jan 05, 2020
  10. Jan 04, 2020
  11. Jan 03, 2020
  12. Jan 02, 2020
  13. Dec 31, 2019
  14. Dec 30, 2019
  15. Dec 25, 2019
  16. Dec 24, 2019
    • Sergey Pepyakin's avatar
      Remove unnecessary unsafe. (#4494) · 1f07123c
      Sergey Pepyakin authored
      1f07123c
    • Sergey Pepyakin's avatar
      Extract execution engines definitions into their own crates (#4489) · 1782fbbb
      Sergey Pepyakin authored
      * Clean imports in wasmi_execution
      
      * Replace `interpret_runtime_api_result` with `pointer_and_len_from_u64`.
      
      * Extract sc-executor-common crate
      
      * Extract `sc-executor-wasmi` into its own crate
      
      * Extract `sc-executor-wasmtime` into its own crate.
      
      * Add missing headers.
      
      * Clean and docs
      
      * Docs for sc-executor-wasmi
      
      * Expand a comment about sandboxing
      
      * Fix assert_matches
      
      * Rename (un)pack_ptr_and_len and move them into util module
      
      * Remove wasmtime errors in sc-executor-common
      1782fbbb
  17. Dec 22, 2019
  18. Dec 21, 2019
  19. Dec 20, 2019
  20. Dec 19, 2019
    • Bastian Köcher's avatar
      Make `decl_error!` errors usable (#4449) · 8e393aa5
      Bastian Köcher authored
      * Make `decl_error!` errors usable
      
      This pr implements support for returning errors of different pallets in
      a pallet. These errors need to be declared with `decl_error!`.
      
      The pr changes the following:
      
      - Each dispatchable function now returns a `DispatchResult` which is an
      alias for `Result<(), DispatchError>`.
      - `DispatchError` is an enum that has 4 variants:
        - `Other`: For storing string error messages
        - `CannotLookup`: Variant that is returned when something returns a
        `sp_runtime::LookupError`
        - `BadOrigin`: Variant that is returned for any kind of bad origin
        - `Module`: The error of a specific module. Contains the `index`,
        `error` and the `message`. The index is the index of the module in
        `construct_runtime!`. `error` is the index of the error in the error
        enum declared by `decl_error!`. `message` is the message to the error
        variant (this will not be encoded).
      - `construct_runtime!` now creates a new struct `ModuleToIndex`. This
      struct implements the trait `ModuleToIndex`.
      - `frame_system::Trait` has a new associated type: `ModuleToIndex` that
      expects the `ModuleToIndex` generated by `construct_runtime!`.
      - All error strings returned in any module are being converted now to `DispatchError`.
      - `BadOrigin` is the default error returned by any type that implements `EnsureOrigin`.
      
      * Fix frame system benchmarks
      8e393aa5
    • Kian Paimani's avatar
      Few extra tests for phragmen (#4451) · 0aab5c65
      Kian Paimani authored
      0aab5c65
  21. Dec 18, 2019
  22. Dec 17, 2019
  23. Dec 16, 2019
    • Tomasz Drwięga's avatar
      [big refactor] Remove crate aliasing. (#4395) · 8778ca7d
      Tomasz Drwięga authored
      * Rename: Phase 1.
      
      * Unify codec.
      
      * Fixing: Phase 2
      
      * Fixing: Phase 3.
      
      * Fixing: Phase 4.
      
      * Fixing: Phase 5.
      
      * Fixing: Phase 6.
      
      * Fixing: Phase 7.
      
      * Fixing: Phase 8. Tests
      
      * Fixing: Phase 9. Tests!!!
      
      * Fixing: Phase 10. Moar tests!
      
      * Finally done!
      
      * More fixes.
      
      * Rename primitives:: to sp_core::
      
      * Apply renames in finality-grandpa.
      
      * Fix benches.
      
      * Fix benches 2.
      
      * Revert node-template.
      
      * Fix frame-system in our modules.
      8778ca7d
  24. Dec 15, 2019
  25. Dec 14, 2019
    • cheme's avatar
      Fix key collision for child trie (#4162) · 0ece5d9e
      cheme authored
      * In progress, runtime io must switch to future proof root +
      child_specific (unique id) + u32 type.
      
      * Switch interface, sr-io seems ok, rpc could use similar interface to
      sr-io, genesis json broken if there is child trie in existing encoding
      genesis.
      
      * test from previous implementation.
      
      * fix proving test.
      
      * Restore Keyspacedb from other branch, only apply to child trie.
      
      * Removing unneeded child_info from child root (child info are stored
      if things changed, otherwhise the root does not change).
      
      * Switch rpc to use same format as ext: more future proof.
      
      * use root from child info for trie backend essence.
      
      * Breaking long lines.
      
      * Update doc and clean pr a bit.
      
      * fix error type
      
      * Restore removed doc on merge and update sr-io doc.
      
      * Switch child storage api to use directly unique id, if managed id
      where to be put in place, the api will change at this time.
      
      * Clean deprecated host interface from child.
      
      * Removing assertion on child info (can fail depending on root
      memoization).
      
      * merging child info in the overlay when possible.
      
      * child iteration by prefix using child_info.
      
      * Using ChainInfo in frame support. ChainInfo gets redesign to avoid
      buffers allocation on every calls.
      
      * Add length of root to the data of child info.
      
      * comments
      
      * Encode compact.
      
      * Remove child info with root.
      
      * Fix try_update condition.
      
      * Comment Ext child root caching.
      
      * Replace tuples by struct with field
      
      * remove StorageTuple alias.
      
      * Fix doc tests, and remove StorageOverlay and ChildStorageOverlay
      aliases.
      0ece5d9e