Skip to content
  1. Jun 11, 2020
  2. May 27, 2020
  3. May 23, 2020
  4. May 15, 2020
  5. May 06, 2020
    • André Silva's avatar
      grandpa: report equivocations (#3868) · fbd2ac8f
      André Silva authored
      * session: runtime api for generating session membership proofs
      
      * grandpa: add runtime api for creating equivocation report txs
      
      * grandpa: submit signed equivocation report transactions
      
      * grandpa: use proper equivocation report type
      
      * grandpa: report equivocations
      
      * grandpa: validate equivocation proof
      
      * grandpa: update to finality-grandpa 0.9.1
      
      * grandpa: fix encoding of session membership proof
      
      * grandpa: initialize set id session mapping for genesis session
      
      * grandpa: fix bug in set_id session validation
      
      * fix compilation
      
      * cleanup from merge conflicts
      
      * cleanup crate tomls
      
      * grandpa: refactor equivocation handling to separate trait
      
      * node-template: fix compilation
      
      * fix test compilation
      
      * bump finality-grandpa to v0.10.2
      
      * rpc: fix runtime version test
      
      * CHERRY-PICK #4200: Add documentation to SubmitSignedTransaction and actually make it work
      
      Squashed commit of the following:
      
      commit 4f2cb0b1c588a06f2f3b478bb4b28b5cb29d54b9
      Author: Tomasz Drwięga <[email protected]>
      Date:   Tue Dec 3 16:29:33 2019 +0100
      
          Split the method to avoid confusing type error message.
      
      commit c5bf24eeaaf902add89ed1b046b22c4a4aaeb2cd
      Author: Tomasz Drwięga <[email protected]>
      Date:   Tue Dec 3 16:19:55 2019 +0100
      
          Make accounts optional, fix logic.
      
      commit 97db1ef556e023cf6847e5ffdb036c0e3ea6fb0a
      Author: Tomasz Drwięga <[email protected]>
      Date:   Tue Dec 3 10:06:20 2019 +0100
      
          Remove warning.
      
      commit 535f5c116d1a2e826eaf90c3f7e6798e443d61d8
      Merge: 516257217 0f1a5f65
      Author: Tomasz Drwięga <[email protected]>
      Date:   Tue Dec 3 07:08:05 2019 +0100
      
          Merge branch 'master' into td-signed-transactions
      
      commit 516257217bac89fcebd083712f4ea68b7b23b55a
      Merge: ac98248c6 2e68c80c
      Author: Tomasz Drwięga <[email protected]>
      Date:   Mon Dec 2 13:57:25 2019 +0100
      
          Merge branch 'master' into td-signed-transactions
      
      commit ac98248c6c56cff381130645a82a13d29933cf83
      Author: Tomasz Drwięga <[email protected]>
      Date:   Mon Nov 25 17:34:52 2019 +0100
      
          Forgotten import.
      
      commit 67a3c19031506c28e31c6bc4a90fff62d467dd58
      Author: Tomasz Drwięga <[email protected]>
      Date:   Mon Nov 25 17:32:10 2019 +0100
      
          Fix naming and bounds.
      
      commit 93e768ea9df97a4629fca1f9bc4b108fdb33f876
      Author: Tomasz Drwięga <[email protected]>
      Date:   Mon Nov 25 17:01:05 2019 +0100
      
          Add documentation to signed transactions and actually make them work.
      
      * grandpa: skip block initialization on report submission method
      
      * primitives: allow transaction pool access by default for offchain calls
      
      * grandpa: unused parameters
      
      * grandpa: remove unused method
      
      * grandpa: enable equivocation reporting
      
      * grandpa: add workaround for parameter encoding
      
      * grandpa: fix localized_payload calls in tests
      
      * fix submit_report_equivocation_extrinsic in runtimes
      
      * node: fix submit transaction test compilation
      
      * node: bump spec_version
      
      * rpc: fix api version test
      
      * grandpa: allow custom equivocation offence type
      
      * grandpa: add test for authorities::next_change_height
      
      * grandpa: cleanup report_equivocation function
      
      * node: move reporting app crypto to node-primitives
      
      * grandpa: move equivocation traits to own module
      
      * grandpa: rename app-crypto crate import
      
      * grandpa: export equivocation types
      
      * node: bump spec_version
      
      * grandpa: rename EquivocationReport to EquivocationProof
      
      * grandpa: add missing docs to primitives
      
      * grandpa: add missing docs to equivocation
      
      * node: fix compilation
      
      * grandpa: add missing docs to pallet
      
      * node: bump spec_version
      
      * fix whitespace
      
      * grandpa: return error on offence reporting
      
      * grandpa: expose session and validator count in proofs through traits
      
      * grandpa: use strong key in module KeyOwnerProofSystem
      
      * grandpa: move key ownership proof to grandpa runtime api
      
      * grandpa: remove unnecessary cloning when checking equivocation proof
      
      * grandpa: make report_equivocation a method in Environment
      
      * support: implement KeyOwnerProofSystem for ()
      
      * grandpa: move KeyOwnerProofSystem to module trait
      
      * test-utils: fix runtime compilation
      
      * grandpa: fix test compilation
      
      * grandpa: fix test compilation after merge
      
      * grandpa: simplify transaction submission types
      
      * grandpa: validate equivocation report in signed extension
      
      * client: fix test
      
      * node: use ValidateEquivocationReport signed extension
      
      * grandpa: expose key ownership proof under opaque type
      
      * grandpa: better docs on key ownership proofs
      
      * grandpa: add note about signed extension
      
      * grandpa: add ValidateEquivocationReport::new
      
      * grandpa: remove skip_initialize_block from runtime api
      
      * grandpa: use new offchain transaction submission API
      
      * grandpa: take set_id in generate_key_ownership_proof
      
      * grandpa: update to finality-grandpa v0.12.2
      
      * grandpa: cleanup usages of AuthoritySet::current
      
      * grandpa: fix test
      
      * grandpa: add mocking utilities for equivocation reporting
      
      * grandpa: add test for equivocation reporting
      
      * grandpa: move SetIdSession initialization
      
      * grandpa: add more tests
      
      * node: enable historical session manager
      
      * node: bump spec_version
      
      * node: use strong key types in KeyOwnerProofSystem definitions
      
      * grandpa: export GrandpaEquivocationOffence type
      fbd2ac8f
  6. May 05, 2020
  7. Apr 24, 2020
  8. Apr 21, 2020
    • Bastian Köcher's avatar
      Require `fn` token in `decl_storage` `get` (#5717) · 20f211a6
      Bastian Köcher authored
      * Require `fn` token in `decl_storage` `get`
      
      The `fn` token was already for quite some time as an optional parameter.
      It was introduced to make these functions better findable. This pr makes
      the `fn` token required.
      
      * Remove `GetterNoFnkeyword`
      20f211a6
  9. Apr 20, 2020
  10. Apr 17, 2020
  11. Apr 15, 2020
  12. Apr 07, 2020
    • Shawn Tabrizi's avatar
      Generate Unit Tests for Benchmarks (#5527) · d3cc0514
      Shawn Tabrizi authored
      * Update to latest staking
      
      * generate tests for benchmarking
      
      * add tests, fix warnings
      
      * starting on democracy
      
      * impl_benchmark_tests
      
      * Way more readable
      
      * add test feature flag (does this work?)
      
      * Fix `successful_origin` impl
      
      * democracry benchmark tests
      
      * Fix example benchmarks, add tests
      
      * identity benchmark tests
      
      * Update im-online benchmark tests
      
      * try to add session benchmarking tests (problem with mock)
      
      * staking and timestamp
      
      * add test for treasury, issue with dynamic contains
      
      * utility
      
      * Vesting
      
      * test instead of check
      
      * hide until we figure out what is wrong
      
      * add docs
      
      * close code
      
      * Create custom mock for session-pallet-benchmarking
      
      * Use refcell pattern
      
      * make un-pub
      
      * test-linux-stable includes `runtime-benchmarks` feature
      
      * Revert "test-linux-stable includes `runtime-benchmarks` feature"
      
      This reverts commit a2dab38abd18ac3eb8a6220e4a00e687740bd38c.
      
      * run tests in `--release`
      
      * undo balance change
      
      * build wasm
      d3cc0514
  13. Apr 03, 2020
  14. Mar 21, 2020
    • Gavin Wood's avatar
      Redesign Democracy pallet (#5294) · 22f88bf9
      Gavin Wood authored
      * Repot a bit of democracy code
      
      * Basic logic is drafted
      
      * Lazy democracy builds.
      
      * Add non-locked split-voting and instant-scheduling.
      
      * Introduce delegation that works.
      
      * Builds again.
      
      * Indentation
      
      * Building.
      
      * Docs and migration
      
      * Fix half of the tests
      
      * Fix up & repot tests
      
      * Fix runtime build
      
      * Update docs
      
      * Docs
      
      * Nits.
      
      * Turnout counts full capital
      
      * Delegations could towards capital
      
      * proxy delegation & proxy unvoting
      
      * Fix
      
      * Tests for split-voting
      
      * Add missing file
      
      * Persistent locking.
      22f88bf9
  15. Mar 16, 2020
    • Gavin Wood's avatar
      Refactor away from opaque hashes (#5226) · af9083f5
      Gavin Wood authored
      
      
      * System.BlockHash
      
      * Fix hash
      
      * Introduce K/V iteration in all _concat maps
      
      Also move across:
      - System.Account (blake2_128_concat)
      - Balances.Locks (twox_64_concat)
      - ElectionsPhragmen.VotesOf (twox_64_concat)
      - ElectionsPhragmen.StakeOf (twox_64_concat)
      - Identity.IdentityOf (twox_64_concat)
      - Identity.SubsOf (twox_64_concat)
      - Society.Payouts (twox_64_concat)
      - Session.NextKeys (twox_64_concat)
      - Identity.SuperOf (blake2_128_concat)
      - Session.KeyOwner (blake2_128_concat)
      - Society.SuspendedCandidates (twox_64_concat)
      - Society.SuspendedMembers (twox_64_concat)
      - Society.Vouching (twox_64_concat)
      - Society.Strikes (twox_64_concat)
      - System.EventTopics
      - Balances.Account
      
      * Build fixes
      
      * Ensure migration happens in correct order
      
      * Staking.*
      
      * Vesting.* Offences.*
      
      * Democracy.*
      
      * Babe.* Collective.*
      
      * Grandpa.*
      
      * Assets.* Benchmark.* Contracts.* Elections.* Asset.* Nicks.*
      
      Also introduce real account list
      
      * ImOnline.*
      
      * Treasury.*
      
      * Recovery.*
      
      * Final bits.
      
      * Docs
      
      * Fix one test
      
      * Fix test
      
      * All passing except the UI tests
      
      * Remove linked_map part 1
      
      * Remove linked_map
      
      * Some iterator utils for double maps.
      
      * Remove old migrations
      
      * Introduce tombstone for LinkedMap type
      
      * Migration for genesis hash
      
      * Fix build
      
      * Fix hash
      
      * Rename Map is_linked -> unused, keeping backwards compat (#5256)
      
      * Update frame/balances/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/elections/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Remove old migration code.
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Update bin/node/runtime/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Fix hash
      
      * fix session migration
      
      * Fix watning
      
      Co-authored-by: default avatarJaco Greeff <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      af9083f5
  16. Mar 14, 2020
    • Shawn Tabrizi's avatar
      Assign unique storage names to pallets. (#5010) · 74f8db5d
      Shawn Tabrizi authored
      
      
      * Assign unique storage names to pallets.
      
      * Bump spec
      
      * Upgrade logic for finality tracker (untested)
      
      * Logic for migrating Identity (untested)
      
      * Logic for migrating transaction-payment
      
      * Fix tests
      
      * Fix `decl_storage` build
      
      * Contract -> Contracts
      
      * Update Cargo.lock
      
      * bump spec
      
      * update migration
      
      * Fix merge error
      
      * Migration for contracts
      
      * Remove serde
      
      * Remove some illegal spaces and Options
      
      * Fix types in identity.
      
      * Minor variable rename
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      74f8db5d
  17. Feb 01, 2020
    • Gavin Wood's avatar
      Refactor the balances module (#4649) · d52d8692
      Gavin Wood authored
      
      
      * Initially scoping out of the problem
      
      * Remove need for exiry in balance locks.
      
      * Remove expiry from locks.
      
      * Remove supefluous balance test
      
      * Amalgamate pieces of balance module
      
      * Split out vesting
      
      * Fix tests
      
      * Fixes for vesting.
      
      * Docs.
      
      * Weight docs.
      
      * Refactor things in terms of set_balances.
      
      * Switch out ED to be free + reserved.
      
      * Remove on_free_balance_zero and some docs.
      
      * Build fixes
      
      * Update frame/vesting/src/lib.rs
      
      Co-Authored-By: default avatarXiliang Chen <[email protected]>
      
      * Update frame/vesting/src/lib.rs
      
      Co-Authored-By: default avatarXiliang Chen <[email protected]>
      
      * Migration
      
      * Remove superfluous code.
      
      * Test fixes
      
      * Fix some tests
      
      * Fix repatriate reserve
      
      * Fixes
      
      * Add test for migration
      
      * Final cleanups
      
      * Fix
      
      * Indentation.
      
      * Undo unneeded referencing
      
      * Bump runtime version
      
      * Fixes
      
      Co-authored-by: default avatarXiliang Chen <[email protected]>
      d52d8692
  18. Jan 27, 2020
  19. Jan 10, 2020
  20. Jan 09, 2020
  21. Jan 05, 2020
  22. Dec 22, 2019
  23. 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
  24. 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
  25. Dec 10, 2019
  26. Dec 09, 2019
    • thiolliere's avatar
      Introduce prefixed storage with enumeration (#4185) · e5b6935c
      thiolliere authored
      * Introduce storage_next allowing iteration.  (without childtries)
      
      * Implement prefixed storage
      
      * impl cache in client_storage_cache (needs test)
      
      * switch overlay change to btreemap
      
      * Revert "impl cache in client_storage_cache"
      
      This reverts commit c91a4848916eba87184b3dc4722cea81aec9339d.
      
      the storage cache cannot be used this way
      
      * Revert "Implement prefixed storage"
      
      This reverts commit 4931088126a427082d7310ed7e83b8eea966bc20.
      
      * Impl StoragePrefixedMap for all map storages
      
      * remove comment
      
      * Move all overlays to BTreeMap
      
      * btreemap iteration improvment
      
      * impl for child tries
      
      * impl tests for childs
      
      * fix
      
      * remove cache comment
      
      * Fix grumble
      e5b6935c
  27. Dec 02, 2019
    • thiolliere's avatar
      Add `swap` and `decode_len` to `DoubleMap` finishing #3749 (#4264) · 22c00ff4
      thiolliere authored
      * Add `swap` and `decode_len` to `DoubleMap`
      
      *  Add tests to `swap` and `decode_len` for `DoubleMap` (WIP)
      
      * Address review comments
      
      * Remove function that is not in scope
      
      * fix test
      
      * better naming
      22c00ff4
    • Benjamin Kampmann's avatar
      The crate rename (#4223) · 927e13c1
      Benjamin Kampmann authored
      * Adding script for rename, could be applicable for nodes on top of it, too
      
      * add stderr and gitlab ci features
      
      * apply script
      
      * fix now minor details in expected stderr
      
      * Update the Cargo.lock
      
      * fix name: sc-transaction -> sc-tracing
      
      * fix rename in script, too
      927e13c1
  28. Nov 26, 2019
    • Benjamin Kampmann's avatar
      Remove all (non-dev) `client` references from `frame`, activate dependency enforcer (#4184) · bd652793
      Benjamin Kampmann authored
      * Move transaction pool to primitives
      
      * move backend, errors into primitives
      
      * remove unused client depencies
      
      * Move rpc-api into primitives
      
      * Move peerset back to client
      
      * Move rpc/api back to client, move palette/support/rpc into utils
      
      * move support-rpc into subfolder
      
      * move system-rpc into utils
      
      * move transaction-pool  and -graph back into client
      
      * fix broken imports
      
      * Clean up test primitives
      
      * Make support test utils independent of frame
      
      * remove unnecessary node dependencies from service
      
      * Reactivate dependency script:
       - only enforce the now achieved status quo will remain
       - allow for primitives to depend on /client for now without failing
       - more discriptive error message so people understand, what it wants
       - minor fix to differentiative between ../client and /client (which may be a subfolder)
       - don't allow this to fail anylonger.
      
      * fix doc comment
      
      * 'Should not' rather than 'must not'.
      
      * Revert unwanted dependency changes
      
      * fix faulty import
      
      * fixup derive_more version
      
      * fix wrong import path
      bd652793
  29. Nov 25, 2019
    • Alexey's avatar
      Refactor `construct_runtime` to procedural (#3810) · d7b9dd30
      Alexey authored
      
      
      * interim
      
      * interim
      
      * interim
      
      * first working section
      
      * cleanup
      
      * finished parsing
      
      * cleanup
      
      * added system module search
      
      * added clone and find_entry
      
      * generic find_module_entry
      
      * interim
      
      * working event
      
      * added generic event with no instance error
      
      * cleanup
      
      * added decl origin
      
      * cleanup
      
      * added all modules
      
      * added outer dispatch
      
      * added modules expansion
      
      * refactored transformations
      
      * updated error message
      
      * added resolve mechanics
      
      * added metadata
      
      * finished config
      
      * finished inherents
      
      * added validate_unsigned
      
      * added compares
      
      * cleanup
      
      * cleanup
      
      * cleanup
      
      * fix
      
      * updated modules for last one wins
      
      * cleanup
      
      * made nested modules
      
      * updated impl version
      
      * removed comment
      
      * cleanup
      
      * added ui tests
      
      * added optional comma
      
      * removed unnecessary to string cast
      
      * removed no compile
      
      * cleanup
      
      * fmt
      
      * returned nocompile
      
      * Update srml/support/procedural/src/construct_runtime/parse.rs
      
      Co-Authored-By: default avatarthiolliere <[email protected]>
      
      * added where definition
      
      * updated ui tests
      
      * updated ui test cases
      
      * added test case
      
      * updated tests
      
      * interim
      
      * added parse for module part
      
      * removed totokens
      
      * fixes
      
      * fixed multiple iter
      
      * changed TokenStream
      
      * fmt
      
      * updated trybuild
      
      * added test for arguments
      
      * fmt
      
      * fixes + more tests
      
      * fixes
      
      * fmt
      
      * rolled back runtime
      
      * minor fixes
      
      * empty
      
      * fixes
      
      * fmt
      
      * Update paint/support/procedural/src/lib.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update paint/support/procedural/src/lib.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * Update paint/support/procedural/src/construct_runtime/parse.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * interim
      
      * refactored seen_keys
      
      * refactored hash_set
      
      * Update paint/support/procedural/src/construct_runtime/mod.rs
      
      Co-Authored-By: default avatarBastian Köcher <[email protected]>
      
      * refactored find
      
      * fix
      
      * fixed all_modules
      
      * added double declaration check
      
      * small fix
      
      * fmt
      
      * fix
      
      * fix default
      
      * format
      d7b9dd30
  30. Nov 22, 2019
  31. Nov 21, 2019
  32. Nov 14, 2019
    • Benjamin Kampmann's avatar
      Reorganising the repository - external renames and moves (#4074) · 60e5011c
      Benjamin Kampmann authored
      * Adding first rough ouline of the repository structure
      
      * Remove old CI stuff
      
      * add title
      
      * formatting fixes
      
      * move node-exits job's script to scripts dir
      
      * Move docs into subdir
      
      * move to bin
      
      * move maintainence scripts, configs and helpers into its own dir
      
      * add .local to ignore
      
      * move core->client
      
      * start up 'test' area
      
      * move test client
      
      * move test runtime
      
      * make test move compile
      
      * Add dependencies rule enforcement.
      
      * Fix indexing.
      
      * Update docs to reflect latest changes
      
      * Moving /srml->/paint
      
      * update docs
      
      * move client/sr-* -> primitives/
      
      * clean old readme
      
      * remove old broken code in rhd
      
      * update lock
      
      * Step 1.
      
      * starting to untangle client
      
      * Fix after merge.
      
      * start splitting out client interfaces
      
      * move children and blockchain interfaces
      
      * Move trie and state-machine to primitives.
      
      * Fix WASM builds.
      
      * fixing broken imports
      
      * more interface moves
      
      * move backend and light to interfaces
      
      * move CallExecutor
      
      * move cli off client
      
      * moving around more interfaces
      
      * re-add consensus crates into the mix
      
      * fix subkey path
      
      * relieve client from executor
      
      * starting to pull out client from grandpa
      
      * move is_decendent_of out of client
      
      * grandpa still depends on client directly
      
      * lemme tests pass
      
      * rename srml->paint
      
      * Make it compile.
      
      * rename interfaces->client-api
      
      * Move keyring to primitives.
      
      * fixup libp2p dep
      
      * fix broken use
      
      * allow dependency enforcement to fail
      
      * move fork-tree
      
      * Moving wasm-builder
      
      * make env
      
      * move build-script-utils
      
      * fixup broken crate depdencies and names
      
      * fix imports for authority discovery
      
      * fix typo
      
      * update cargo.lock
      
      * fixing imports
      
      * Fix paths and add missing crates
      
      * re-add missing crates
      60e5011c
  33. Nov 11, 2019
    • Tomasz Drwięga's avatar
      Typed chain state queries over rpc. (#4079) · 57ab3aeb
      Tomasz Drwięga authored
      * Create typed client helpers for querying chain state storage items declared by
      'decl_storage!'.
      
      * Update substrate-rpc-custom functions to use async await syntax.
      
      * The implementation of substrate-rpc-custom was a bit verbose and repetitive.
      This commit makes the implementation simpler by intruducing a struct which
      represents query for a typed value in storage. The new struct is called
      StorageQuery. A StorageQuery wraps a raw StorageKey but is not directy
      constructable. To construct a StorageQuery, the user must supply an
      implementation of a srml_support::storage::generator trait such as
      StorageValue or StorageMap.
      
      A type implementing one of the generator traits can be aquired by:
      A) marking a storage item as pub within a call to decl_storage (recommended)
      or B) implementing one of the generator types manually.
      
      While option B may sometimes me necessary, it's not recommended because
      separate manual implementaions may lose sync with the original definition.
      
      * drop unused dependency
      
      * fmt
      
      * Remove unnecessary pub from Authorities field in test-runtime storage
      declaration.
      
      This field was added to support a test in an earlier commit. The
      test no longer relies on test-runtime so the change can be reverted.
      
      * Move it to srml as support extension.
      
      * Fix long lines.
      
      * Fix.
      57ab3aeb
  34. Nov 10, 2019
    • Bastian Köcher's avatar
      Substrate runtime interface 2.0 (#4057) · b691cfe0
      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
      b691cfe0