Skip to content
  1. Feb 15, 2020
    • Bastian Köcher's avatar
      Remove default expansion from `construct_runtime!` (#4937) · 625e963a
      Bastian Köcher authored
      This removes the following syntactic sugar from `construct_runtime!`:
      
      - Expansion of `default` to the default set of module parts
      - Expansion of `System: system` to the default set of module parts
      
      The macro now requires the user to provide all the module parts of a pallet.
      625e963a
  2. Feb 14, 2020
    • Alexander Theißen's avatar
      Allow to distinguish out of gas from other traps (#4883) · b999911b
      Alexander Theißen authored
      * contracts: Allow to distinguish out of gas from other traps
      
      When a contract encounters a runtime error a wasm trap is
      triggered and the execution is halted. Currently, no matter
      what was the cause for the trap it is always reported as:
      DispatchError::Other("contract trapped during execution").
      
      However, the trap that is triggered if a contract exhausts
      its gas budget is particulary interesting. Therefore we add
      a seperate error message for this cause:
      DispatchError::Other("ran out of gas during contract execution").
      
      A test is added hat executes a contract that never terminates.
      Therefore it always exhausts is gas budget.
      
      * fixup! contracts: Allow to distinguish out of gas from other traps
      
      Remove overlong lines.
      
      * fixup! contracts: Allow to distinguish out of gas from other traps
      
      Rename Contract to Contracts
      b999911b
    • Gavin Wood's avatar
      Composite accounts (#4820) · 5b7512e2
      Gavin Wood authored
      
      
      * Basic account composition.
      
      * Add try_mutate_exists
      
      * De-duplicate
      
      * Refactor away the UpdateBalanceOutcome
      
      * Expunge final UpdateBalanceOutcome refs
      
      * Refactor transfer
      
      * Refactor reservable currency stuff.
      
      * Test with the alternative setup.
      
      * Fixes
      
      * Test with both setups.
      
      * Fixes
      
      * Fix
      
      * Fix macros
      
      * Make indices opt-in
      
      * Remove CreationFee, and make indices opt-in.
      
      * Fix construct_runtime
      
      * Fix last few bits
      
      * Fix tests
      
      * Update trait impls
      
      * Don't hardcode the system event
      
      * Make tests build and fix some stuff.
      
      * Pointlessly bump runtime version
      
      * Fix benchmark
      
      * Another fix
      
      * Whitespace
      
      * Make indices module economically safe
      
      * Migrations for indices.
      
      * Fix
      
      * Whilespace
      
      * Trim defunct migrations
      
      * Remove unused storage item
      
      * More contains_key fixes
      
      * Docs.
      
      * Bump runtime
      
      * Remove unneeded code
      
      * Fix test
      
      * Fix test
      
      * Update frame/balances/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Fix ED logic
      
      * Repatriate reserved logic
      
      * Typo
      
      * Fix typo
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/system/src/lib.rs
      
      Co-Authored-By: default avatarShawn Tabrizi <[email protected]>
      
      * Last few fixes
      
      * Another fix
      
      * Build fix
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarJaco Greeff <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      5b7512e2
  3. Feb 13, 2020
  4. Feb 12, 2020
    • Xiliang Chen's avatar
      serialize partial_fee into string (#4898) · 35b5cdd2
      Xiliang Chen authored
      * serialize partial_fee into string
      
      * implement deserialize
      
      * bump version
      35b5cdd2
    • Max Inden's avatar
      client/network-gossip: Integrate GossipEngine tasks into Future impl (#4767) · 3f3910cc
      Max Inden authored
      `GossipEngine` spawns two tasks, one for a periodic tick, one to forward
      messages from the network to subscribers. These tasks hold an `Arc` to a
      `GossipEngineInner`.
      
      To reduce the amount of shared ownership (locking) this patch integrates
      the two tasks into a `Future` implementation on the `GossipEngine`
      struct. This `Future` implementation can now be called from a single
      owner, e.g. the `finality-grandpa` `NetworkBridge`.
      
      As a side effect this removes the requirement on the `network-gossip`
      crate to spawn tasks and thereby removes the requirement on the
      `finality-grandpa` crate to spawn any tasks.
      
      This is part of a greater effort to reduce the number of owners of
      components within `finality-grandpa`, `network` and `network-gossip` as
      well as to reduce the amount of unbounded channels. For details see
      d9837d7d, 5f80929d and 597c0a6c.
      3f3910cc
    • Shawn Tabrizi's avatar
      Benchmark the Balances Pallet (#4879) · 13971fe2
      Shawn Tabrizi authored
      
      
      * Initial transfer bench
      
      * Add best case
      
      * Transfer keep alive
      
      * Set balance benchmarks
      
      * Bump impl
      
      * Fix text
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      13971fe2
    • Marcio Diaz's avatar
      Benchmark Timestamp Pallet (#4891) · ae70b103
      Marcio Diaz authored
      * Add selected_benchmark! macro.
      
      * Use selected_benchmark! in Identity pallet.
      
      * Implement timestamp pallet benchmark.
      
      * Fix some nits.
      
      * Bump impl_version.
      ae70b103
  5. Feb 11, 2020
  6. Feb 10, 2020
    • Marcio Diaz's avatar
      Add trait to get module and call names. (#4854) · fa27c814
      Marcio Diaz authored
      
      
      * Add trait to get module and call names.
      
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      fa27c814
    • Bastian Köcher's avatar
      Don't expose `Benchmarking` host functions by default (#4875) · 4254fbf5
      Bastian Köcher authored
      
      
      * Don't expose `Benchmarking` host functions by default
      
      * Fix tests
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      4254fbf5
    • Ashley's avatar
      Fix timer panics in the wasm light client (#4561) · ead6815a
      Ashley authored
      
      
      * Make WASM browser thing compile
      
      * Fix
      
      * updated exit-future (github repo)
      
      * Switch to broadcast crate
      
      * Migrate client/cli
      
      * Switch exit-future to modernize branch
      
      * Small changes
      
      * Switch to cargo version and fix fg tests
      
      * fix basic-authorship
      
      * Fix crash on grafana macro
      
      * Fix grafana macro
      
      * Switch node python version
      
      * Disable record_metrics_slice in grafana macro on wasm
      
      * Update client/grafana-data-source/src/lib.rs
      
      * Revert "Update client/grafana-data-source/src/lib.rs"
      
      This reverts commit 888009a8e0b7051bd4bfbbfdb0448bcf2e2aae93.
      
      * Add wasm support for state machine
      
      * Switch to my own libp2p version
      
      * Revert "Switch to my own libp2p version"
      
      This reverts commit ce613871b59264b3165b45c37943e6560240daa7.
      
      * Revert "Add wasm support for state machine"
      
      This reverts commit de7eaa0694d9534fc3b164621737968e9a6a7c5f.
      
      * Add sc-browser
      
      * Squash
      
      * remove sc-browser
      
      * Fix keystore on wasm
      
      * stubs for removed functions to make env compatible with old runtimes
      
      * Add test (that doesn't work)
      
      * Fix build scripts
      
      * Revert basic-authorship due to no panics
      
      * Revert cli/informant
      
      * Revert consensus
      
      * revert offchain
      
      * Update utils/browser/Cargo.toml
      
      Co-Authored-By: default avatarBenjamin Kampmann <[email protected]>
      
      * export console functions
      
      * Add new chainspec
      
      * Fix ws in chain spec
      
      * revert chainspec
      
      * Fix chainspec
      
      * Use an Option<PathBuf> in keystore instead of cfg flags
      
      * Remove crud
      
      * Only use wasm-timer for instant and systemtime
      
      * Remove telemetry changes
      
      * Assuming this is ok
      
      * Add a KeystoreConfig
      
      * Add stubs back in
      
      * Update libp2p
      
      * Revert "Add stubs back in"
      
      This reverts commit 4690cf1882aa0f99f7f00a58c4080c8aa9b77c36.
      
      * Remove commented js again
      
      * Bump kvdb-web version
      
      * Fix cli
      
      * Switch branch on futures-timer
      
      * Fix tests
      
      * Remove sc-client test build in check-web-wasm because there isn't a good way to build futures-timer with wasm-bindgen support in the build
      
      * Remove more things ^^
      
      * Switch branch on futures-timer back
      
      * Put DB io stats behind a cfg flag
      
      * Fix things
      
      * Don't timeout transports on wasm
      
      * Update branch of futures-timer and fix bad merge
      
      * Spawn informant
      
      * Fix network test
      
      * Fix delay resets
      
      * Changes
      
      * Fix tests
      
      * use wasm_timer for transaction pool
      
      * Fixes
      
      * Switch futures-timer to crates
      
      * Only diagnose futures on native
      
      * Fix sc-network-test tests
      
      * Select log level in js
      
      * Fix syncing ;^)
      
      * Allow disabling colours in the informant
      
      * Use OutputFormat enum for informant
      
      * MallocSizeOf impl on transaction pool broke stuff because wasm_timer::Instant doesnt impl it so just revert the transaction pool to master
      
      * Update futures-diagnose
      
      * Revert "MallocSizeOf impl on transaction pool broke stuff because wasm_timer::Instant doesnt impl it so just revert the transaction pool to master"
      
      This reverts commit baa4ffc94fd968b6660a2c17ba8113e06af15548.
      
      * Pass whole chain spec in start_client
      
      * Get Instant::now to work in transaction pool again
      
      * Informant dep reordering
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarSvyatoslav Nikolsky <[email protected]>
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      Co-authored-by: default avatarDemi Obenour <[email protected]>
      ead6815a
    • Cecile Tonglet's avatar
      Update trie-db to the latest (#4874) · 34bf0caa
      Cecile Tonglet authored
      34bf0caa
    • Gavin Wood's avatar
      Fix vesting logic (#4864) · 78a8d9f3
      Gavin Wood authored
      * Fix vesting logic
      
      * Bump runtime version
      
      * Docs.
      78a8d9f3
    • Shawn Tabrizi's avatar
      Create Benchmarking Setup for Identity Pallet #4695 (#4818) · e5a7fcc8
      Shawn Tabrizi authored
      
      
      * Starting
      
      * closer
      
      * Compiles!
      
      * comments
      
      * Create seperate mock
      
      * Remove changes to test env
      
      * Fix step calculation
      
      * Add host function
      
      * Add runtime api
      
      * compiles
      
      * Update to use offchain timestamp
      
      * Gives a result
      
      * added some CLI wip
      
      * make generic
      
      * Update instance
      
      * Remove CLI stuff
      
      * Remove last cli stuff
      
      * undo more changes
      
      * Update benchmarks
      
      * Update Cargo.lock
      
      * remove test
      
      * Move loop out of runtime
      
      * Benchmarking externalities
      
      * Benchmarking state
      
      * Implemented commit
      
      * Make CLI work, move loop back into runtime
      
      * Wipe resets to genesis
      
      * Speedup benchmarks
      
      * Use enum to select extrinsic within pallet
      
      * CLI controls which module and extrinsic to call
      
      * Select a pallet with cli
      
      * Add steps and repeats to cli
      
      * Output as CSV format
      
      * Introduce benchmark pallet
      
      * Append bench
      
      * Use Results
      
      * fix merge
      
      * Clear Identity benchmark
      
      * Bench request judgment and cancel request
      
      * Add final benchmarks
      
      * Fix CSV output
      
      * Start cleaning up for PR
      
      * Bump numbers in `wasmtime` integration tests.
      
      * More docs
      
      * Add rockdb feature to bench
      
      * Fix formatting issues
      
      * Add test feature to bench
      
      * Add test feature to bench
      
      * Add rocksdb feature flag
      
      * Update bench.rs
      
      Co-authored-by: default avatarArkadiy Paronyan <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      e5a7fcc8
  7. Feb 09, 2020
  8. Feb 08, 2020
  9. Feb 07, 2020
  10. Feb 06, 2020
    • Wei Tang's avatar
      babe: pass epoch data via intermediates (#4807) · 14b0c9a7
      Wei Tang authored
      * babe: pass epoch data via intermediates
      
      * Switch to use Box<dyn Any> for intermediates
      
      * Set intermediate.epoch to be Option
      
      * Fix proposer should put out an empty intermediate
      
      * Remove unnecessary encode/decode
      
      * Add EpochData to block_import_params in slot worker
      
      * Fix aura compile
      
      * Fix integration test
      14b0c9a7
    • Wei Tang's avatar
      Refactor epoch changes to a separate crate (#4785) · 4df27e76
      Wei Tang authored
      * Init epoch changes module
      
      * Initial integration of new epoch changes module for BABE
      
      * Fix all initial compile errors
      
      * rename: digest -> digests
      
      * Fix babe tests
      
      * Bump impl_version
      
      * Fix more test issues
      
      * Remove test flag for tree
      
      It unfortunately won't work for multiple crates.
      
      * Update cargo lock
      
      * Fix duplicate parking_lot version
      
      * Add missing license header
      4df27e76
    • Cecile Tonglet's avatar
      CLI improvements & fixes (#4812) · be075893
      Cecile Tonglet authored
      These are a few changes I missed during the refactoring.
      
      1. Initialization issue and boilerplate
      
          Most importantly: part of the `Configuration` initialization was done in `sc_cli::init`. This means the user can not benefit from this initialization boilerplate if they have multiple `Configuration` since `sc_cli::init` can only be called once.
      
      2. Boilerplate for `VersionInfo` and `Configuration`
      
          I'm also answering to the critic of @bkchr on the initialization using version: https://github.com/paritytech/substrate/pull/4692/files/bea809d4c14a2ede953227ac885e3b3f9771c548#r372047238 This will allow initializing a `Configuration` and provide the version by default.
      
      3. Loading the `chain_spec` explicitly
      
          In the past it was done automatically but in some cases we want to delay this. I moved the code to `Configuration.load_spec()` so it can be called later on. `chain_spec` can also be written directly to the `Configuration` without using this `load_spec` helper.
      
      4. [deleted]
      
      5. Fixing issue that prevents the user to override the port
      
          In the refactoring I introduced a bug by mistake that could potentially prevent the CLI user to override the ports if defaults where provided for these ports (only on cumulus).
      
      6. Change task_executor from Box to Arc
      
          This is useful for cumulus where we have 2 nodes with 2 separate Configuration that need to spawn tasks to the same runtime.
      
      7. Renamed TasksExecutorRequired to TaskExecutor
      
          For consistency.
      
      This is related to https://github.com/paritytech/cumulus/issues/24
      
      This is the continuation (and hopefully the end of) #4692 
      be075893
    • Marcio Diaz's avatar
      f891342f
  11. Feb 05, 2020
  12. Feb 04, 2020
  13. Feb 01, 2020
    • Gavin Wood's avatar
      Don't attempt to upgrade balances module on chain start (#4802) · 1c9418d7
      Gavin Wood authored
      * Introduce vesting to node, debug message for upgrades and fix them
      
      * Bump spec version
      1c9418d7
    • 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
  14. Jan 31, 2020
  15. Jan 30, 2020
    • Bastian Köcher's avatar
      Expose information about the extrinsic in the metadata (#4774) · 45938d80
      Bastian Köcher authored
      * Expose information about the extrinsic in the metadata
      
      This pr exposes some information about the extrinsic used in the runtime
      via metadata. The following information are exposed:
      
      - Version of the extrinsic
      - List of all signed extensions used by the extrinsic.
      
      * Increment `spec_version`
      45938d80