1. Dec 09, 2020
    • Tomasz Drwięga's avatar
      Merkle Mountain Range pallet (#7312) · 02f66e88
      Tomasz Drwięga authored
      
      
      * Add MMR pallet.
      
      * WiP
      
      * Working on testing.
      
      * WiP - test
      
      * Tests passing.
      
      * Add proof generation.
      
      * Generate and verify proofs.
      
      * Allow verification of older proofs.
      
      * Move stuff to a module.
      
      * Split MMR stuff to it's own module.
      
      * Add docs.
      
      * Make parent hash optional.
      
      * LeafData failed approach.
      
      * Finally implement Compact stuff.
      
      * Compact encoding WiP
      
      * Implement remaining pieces.
      
      * Fix tests
      
      * Add docs to compact.
      
      * Implement for tuples.
      
      * Fix documentation.
      
      * Fix warnings and address review suggestion.
      
      * Update frame/merkle-mountain-range/src/primitives.rs
      
      Co-authored-by: default avatarcheme <[email protected]>
      
      * Address review grumbles.
      
      * Removing missing crate.
      
      * Fix test.
      
      * Add some docs and test.
      
      * Add multiple instances.
      
      * Cargo.toml sync.
      
      * Fix no_std compilation.
      
      * More no_std stuff.
      
      * Rename MMR struct.
      
      * Addressing other grumbles.
      
      * Fix test.
      
      * Remove format for no_std compat.
      
      * Add test for MMR pallet.
      
      * Fix std feature.
      
      * Update versions.
      
      * Add to node/runtime.
      
      * Add hook to insert digest.
      
      * Make primitives public.
      
      * Update lib.rs
      
      tech spec/typos etc
      
      * Use WeightInfo and benchmarks.
      
      * Fix test.
      
      * Fix benchmarks.
      
      * Trait -> Config.
      
      * Fix typo.
      
      * Fix tests.
      
      Co-authored-by: default avatarcheme <[email protected]>
      Co-authored-by: default avatarAddie Wagenknecht <[email protected]>
      02f66e88
  2. Dec 08, 2020
    • Tomasz Drwięga's avatar
      Streamline frame_system weight parametrization (#6629) · 39a776cd
      Tomasz Drwięga authored
      
      
      * Basic weights builder.
      
      * Fixing WiP
      
      * Make the tests work.
      
      * Fix weights in node/runtime.
      
      * WiP.
      
      * Update pallets with new weights parameters.
      
      * Validate returns a Result now.
      
      * Count mandatory weight separately.
      
      * DRY
      
      * BREAKING: Updating state root, because of the left-over weight-tracking stuff
      
      * Update tests affected by Mandatory tracking.
      
      * Fixing tests.
      
      * Fix defaults for simple_max
      
      * Update frame/system/src/weights.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Rework the API a bit.
      
      * Fix compilation & tests.
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Add extra docs & rename few things.
      
      * Fix whitespace in ASCII art.
      
      * Update frame/system/src/limits.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Fix max_extrinsic calculations.
      
      * Fix conflicts.
      
      * Fix compilation.
      
      * Fix new code.
      
      * re-remove generic asset
      
      * Fix usage.
      
      * Update state root.
      
      * Update proxy.
      
      * Fix tests.
      
      * Move weights validity to integrity_test
      
      * Remove redundant BlockWeights.
      
      * Add all/non_mandatory comment
      
      * Add test.
      
      * Remove fn block_weights
      
      * Make the macro prettier.
      
      * Fix some docs.
      
      * Make max_total behave more predictabily.
      
      * Add BlockWeights to metadata.
      
      * fix balances test
      
      * Fix utility test.
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarBenjamin Kampmann <[email protected]>
      Co-authored-by: default avatarthiolliere <[email protected]>
      39a776cd
  3. Dec 04, 2020
    • Gavin Wood's avatar
      Features needed for reserve-backed stablecoins (#7152) · 80af50b8
      Gavin Wood authored
      
      
      * Features needed for reserve-backed stablecoins
      
      * Builds & tests.
      
      * Double map for an efficient destroy.
      
      * Update frame/assets/src/lib.rs
      
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      
      * ED/zombie-count/refs
      
      Feature: ED/minimum balance enforcement
      Feature: enforce zombie count
      Feature: allow system-alive accounts to exist, but add reference
      
      * Update frame/assets/src/lib.rs
      
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      
      * Update frame/assets/Cargo.toml
      
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      
      * Docs
      
      * Some tests
      
      * More tests
      
      * Allow for max_zombies to be adjusted
      
      * Test for set_max_zombies
      
      * Tests and a couple of fixes
      
      * First few benchmarks
      
      * Benchmarks.
      
      * Fix error message in test
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain dev --steps 50 --repeat 20 --extrinsic * --execution=wasm --wasm-execution=compiled --output ./bin/node/runtime/src/weights --header ./HEADER --pallet pallet_assets
      
      * Update frame/assets/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain dev --steps 50 --repeat 20 --extrinsic * --execution=wasm --wasm-execution=compiled --output ./bin/node/runtime/src/weights --header ./HEADER --pallet pallet_assets
      
      * Fixes
      
      * Update default weight
      
      * Add proper verification to benchmarks
      
      * minor improvements to tests
      
      * Update frame/assets/src/benchmarking.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Fix
      
      * New weights system
      
      * fix compile
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_assets --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/assets/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      80af50b8
  4. Nov 30, 2020
  5. Nov 24, 2020
    • Alexander Theißen's avatar
      contracts: Add `salt` argument to contract instantiation (#7482) · c3ca78fa
      Alexander Theißen authored
      
      
      * pallet-contracts: Fix seal_restore_to to output proper module errors
      
      Those errors where part of the decl_error for some time but where
      never actually returned. This allows proper debugging of failed
      restorations. Previously, any error did return the misleading
      `ContractTrapped`.
      
      * Bind UncheckedFrom<T::Hash> + AsRef<[u8]> everywhere
      
      This allows us to make assumptions about the AccoutId
      that are necessary for testing and in order to benchmark
      the module properly.
      
      This also groups free standing functions into inherent functions
      in order to minimize the places where the new bounds need to
      be specified.
      
      * Rework contract address determination
      
      * Do not allow override by runtime author
      * Instantiate gained a new parameter "salt"
      
      This change is done now in expecation of the upcoming code rent
      which needs to change the instantiation dispatchable and
      host function anyways.
      
      The situation in where we have only something that is like CREATE2
      makes it impossible for UIs to help the user to create an arbitrary
      amount of instantiations from the same code.
      
      With this change we have the same functionality as ethereum with
      a CREATE and CREATE2 instantation semantic.
      
      * Remove TrieIdGenerator
      
      The new trait bounds allows us to remove this workaround
      from the configuration trait.
      
      * Remove default parameters for config trait
      
      It should be solely the responsiblity to determine proper values for
      these parameter. As a matter of fact most runtime weren't using these
      values anyways.
      
      * Fix tests for new account id type
      
      Because of the new bounds on the trait tests can't get away by using
      u64 as accound id. Replacing the 8 byte value by a 32 byte value
      creates out quite a bit of code churn.
      
      * Fix benchmarks
      
      The benchmarks need adaption to the new instantiate semantics.
      
      * Fix compile errors caused by adding new trait bounds
      * Fix compile errors caused by renaming storage and rent functions
      * Adapt host functions and dispatchables to the new salt
      * Add tests for instantiate host functions (was not possible before)
      
      * Add benchmark results
      
      * Adapt to the new WeightInfo
      
      The new benchmarks add a new parameter for salt "s" to the instantiate weights
      that needs to be applied.
      
      * Fix deploying_wasm_contract_should_work integration test
      
      This test is adapted to use the new instantiate signature.
      
      * Break overlong line
      
      * Break more long lines
      
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      c3ca78fa
    • Bastian Köcher's avatar
      Wasm-builder 3.0 (#7532) · 923cb8ee
      Bastian Köcher authored
      
      
      * Build every wasm crate in its own project with wasm-builder
      
      Building all wasm crates in one workspace was a nice idea, however it
      just introduced problems:
      
      1. We needed to prune old members, but this didn't worked for old git
      deps.
      2. We locked the whole wasm workspace while building one crate. This
      could lead to infinitely locking the workspace on a crash.
      
      Now we just build every crate in its own project, this means we will
      build the dependencies multiple times. While building the dependencies
      multiple times, we still decrease the build time by around 30 seconds
      for Polkadot and Substrate because of the new parallelism ;)
      
      * Remove the requirement on wasm-builder-runner
      
      This removes the requirement on wasm-builder-runner by using the new
      `build_dep` feature of cargo. We use nightly anyway and that enables us
      to use this feature. This solves the problem of not mixing
      build/proc-macro deps with normal deps. By doing this we get rid off
      this complicated project structure and can depend directly on
      `wasm-builder`. This also removes all the code from wasm-builder-runner
      and mentions that it is deprecated.
      
      * Copy the `Cargo.lock` to the correct folder
      
      * Remove wasm-builder-runner
      
      * Update docs
      
      * Fix deterministic check
      
      Modified-by: default avatarBastian Köcher <[email protected]>
      
      * Try to make the ui test happy
      
      * Switch to `SKIP_WASM_BUILD`
      
      * Rename `SKIP_WASM_BINARY` to the correct name...
      
      * Update utils/wasm-builder/src/builder.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Update utils/wasm-builder/src/builder.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      923cb8ee
  6. Nov 19, 2020
    • Shawn Tabrizi's avatar
      More Extensible Multiaddress Format (#7380) · 4637100a
      Shawn Tabrizi authored
      * More extensible multiaddress format
      
      * update name
      
      * Don't depend on indices to define multiaddress type
      
      * Use MultiAddress in Node Template too!
      
      * reduce traits, fix build
      
      * support multiple `StaticLookup`
      
      * bump tx version
      
      * feedback
      4637100a
  7. Nov 09, 2020
    • Alexander Theißen's avatar
      contracts: Add automated weights for wasm instructions (#7361) · 51c67fe8
      Alexander Theißen authored
      
      
      * pallet_contracts: Inline benchmark helper that is only used once
      
      * Move all max_* Schedule items into a new struct
      
      * Limit the number of globals a module can declare
      
      * The current limits are too high for wasmi to even execute
      
      * Limit the amount of parameters any wasm function is allowed to have
      
      * Limit the size the BrTable's immediate value
      
      * Add instruction benchmarks
      
      * Add new benchmarks to the schedule and make use of it
      
      * Add Benchmark Results generated by the bench bot
      
      * Add proc macro that implements `Debug` for `Schedule`
      
      * Add missing imports necessary for no_std build
      
      * Make the WeightDebug macro available for no_std
      
      In this case a dummy implementation is derived in order to not
      blow up the code size akin to the RuntimeDebug macro.
      
      * Rework instr_memory_grow benchmark to use only the maximum amount of pages allowed
      
      * Add maximum amount of memory when benching (seal_)call/instantiate
      
      * cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain dev --steps 50 --repeat 20 --extrinsic * --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output ./bin/node/runtime/src/weights --header ./HEADER --pallet pallet_contracts
      
      * Added utility benchmark that allows pretty printing of the real schedule
      
      * review: Add missing header to the proc-macro lib.rs
      
      * review: Clarify why #[allow(dead_code)] attribute is there
      
      * review: Fix pwasm-utils line
      
      * review: Fixup rand usage
      
      * review: Fix typo
      
      * review: Imported -> Exported
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_contracts --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/contracts/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * contracts: Adapt to new weight structure
      
      * contracts: Fixup runtime WeightInfo
      
      * contracts: Remove unneeded fullpath of WeightInfo type
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAndrew Jones <[email protected]>
      
      * Fix typo in schedule.rs
      
      Co-authored-by: default avatarAndrew Jones <[email protected]>
      
      * Fix docs in schedule.rs
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      
      * Don't publish proc-macro crate until 3.0.0 is ready
      
      * Optimize imports for less repetition
      
      * Break overlong line
      
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      Co-authored-by: default avatarAndrew Jones <[email protected]>
      Co-authored-by: default avatarNikolay Volf <[email protected]>
      51c67fe8
  8. Nov 04, 2020
    • Web3 Philosopher's avatar
      Allow BabeConsensusDataProvider fork existing chain (#7078) · 6328f874
      Web3 Philosopher authored
      * parent affbc38a
      
      
      author Seun Lanlege <[email protected]> 1599568164 +0100
      committer Seun Lanlege <[email protected]> 1604321289 +0100
      gpgsig -----BEGIN PGP SIGNATURE-----
      
       iQGzBAABCgAdFiEECvQ02MnjnssnSbjr3HzzEhjN254FAl+gAAkACgkQ3HzzEhjN
       254soAv+KO5JA0HXSe0R0XS5TnwA3IxYsW+UvdF5dXFeC3jFdGTMvor818uoBePD
       dxzYEsUK6gjsNcM9+hpFhoy5JnUrUPInd2BZ7pmZiDuXmYJrHi0s7K5qL0EYDoe0
       m1egPNNyRR125ozJ24M+09c3OQsi3bvTx1TJaV9Aov8hK4So8UmlJTHWpkLw97ku
       HuTre2IPSFbV4GwJE40V+KNuDVHxaKL7zrInYScqbr6/hOTqBCvFn4ib3CjpF5HG
       zDAA5S2PrcbL9NQOothVcVB/TZr3IkhglCFqEjVyCX80IL0JkNZkw8jAh0B8uqXx
       Ug/c1/Mssa8F1jLZMmW45Cway60txqVbcWntPJAymGJbrRErOO/++oUrV0u1C65u
       LW7gXAaIJWQTX9KnX0SEyejNod7ubZktBz7n5WfkJAPIzdw5wtJalhLa673YTgQ9
       zyTPKiWjJj2myCq1AYrJvlK8hSsIBqbBFcUf1zX4SzZWKS+5mtp51o4gfVzcCRPd
       z/6/iPbB
       =g5tx
       -----END PGP SIGNATURE-----
      
      BabeConsensusDataProvider works with existing chains
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      6328f874
  9. Nov 03, 2020
  10. Oct 30, 2020
  11. Oct 29, 2020
  12. Oct 27, 2020
    • Shawn Tabrizi's avatar
      New Weight Template + Organization (#7391) · e4cfb255
      Shawn Tabrizi authored
      
      
      * add_handlebar_template_to_benchmark
      
      - add benchmark-cli arg to take in a handlebar-template file
      
      * update to always use template
      
      * rewrite writer for handlebars
      
      * polish
      
      * pass cmd data
      
      * update docs
      
      * new weight layout
      
      * separate templates
      
      * support custom filename output
      
      * Update command.rs
      
      * Create frame-weight-template.hbs
      
      * use a vector to maintain benchmark order
      
      * bring back ()
      
      * fix tests
      
      * fix build
      
      * Custom string serializer, remove feature flag
      
      * temp
      
      * rename
      
      * nit
      
      * update docs
      
      * docs on public objects
      
      * small fix
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * remove long line
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_balances --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/balances/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=frame_system --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/system/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for system
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/staking/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for staking
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_identity --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/identity/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for identity and staking
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_collective --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/collective/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for collective
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_democracy --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/democracy/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for democracy
      
      * clean up zeros
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_elections_phragmen --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/elections-phragmen/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for elections phragmen
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_im_online --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/im-online/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for im online
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_indices --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/indices/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for indices
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_multisig --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/multisig/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for multisig
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_proxy --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/proxy/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for proxy
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_scheduler --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/scheduler/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for scheduler
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_session --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/session/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for session
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_timestamp --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/timestamp/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for timestamp
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_treasury --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/treasury/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for treasury
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for utility
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_vesting --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/vesting/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * update for vesting
      
      * temp update
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_utility --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/utility/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      Co-authored-by: default avatarEzadkiel Marbella <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      e4cfb255
    • Xiliang Chen's avatar
      Implement batch_all and update Utility pallet for weight refunds (#7188) · f1480977
      Xiliang Chen authored
      
      
      * implement batch_all
      
      * bump version
      
      * updates
      
      * Better weight story for utility
      
      * small fixes
      
      * weights
      
      * assert_noop_ignore_postinfo doesnt make sense
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      f1480977
  13. Oct 26, 2020
    • Kian Paimani's avatar
      Don't slash all outgoing members. (#7394) · 500b10de
      Kian Paimani authored
      
      
      * Don't slash all outgoing members.
      
      * One more fix
      
      * cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain dev --steps 50 --repeat 20 --extrinsic * --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output ./bin/node/runtime/src/weights --header ./HEADER --pallet pallet_elections_phragmen
      
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      500b10de
  14. Oct 17, 2020
    • Shawn Tabrizi's avatar
      Constant Weight Signature in Benchmarking CLI (#7233) · 13be04e0
      Shawn Tabrizi authored
      * Don't remove unused components
      
      * add more metadata to generated file
      
      * unused code
      
      * proposed format
      
      * Revert "proposed format"
      
      This reverts commit ce522c3480157ab6670bcbd9b17e1398168cabf4.
      
      * Update weight signatures and unused components in benchmarks
      
      * Keep timestamp constant time
      
      * remove component from as_derivative
      13be04e0
  15. Oct 15, 2020
    • André Silva's avatar
      frame: remove finality-tracker (#7228) · f3ea1624
      André Silva authored
      * frame: remove finality-tracker
      
      * node: remove unused parameter types
      
      * node: bump spec_version
      f3ea1624
    • Jon Häggblad's avatar
      babe: make secondary slot randomness available on-chain (#7053) · a297e447
      Jon Häggblad authored
      
      
      * babe: make secondary slot randomness available on-chain
      
      * babe: extract out vrf_output function
      
      * babe: add missing comment
      
      * babe: fix incorrectly storing primary randomness
      
      * babe: add test for onchain author vrf
      
      * babe: fix reviewer nits
      
      * runtime: bump spec_version
      
      * babe: remove outer Option for AuthorVrfRandomness
      
      * babe: fix reviewer nits on doc strings
      
      * babe: move make_vrf_output to mock.rs
      
      * babe: cleanup docs
      
      * babe: kill ephemeral entry instead of take
      
      * babe: use type alias for maybe randomness
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      a297e447
  16. Oct 12, 2020
  17. Oct 09, 2020
  18. Oct 08, 2020
    • Alexander Theißen's avatar
      seal: Add automated weights for contract API calls (#7017) · 443725f0
      Alexander Theißen authored
      
      
      * seal: Add capability to put uninstrumented code (for benchmarks)
      
      Benchmarks should only measure the overhead of the API calls itself.
      For that reason we want to run them without instrumentation.
      
      * seal: Cap the the data length for deposited events
      
      Data used in events has storage implications for archive nodes.
      Those need to keep the events in storage forever. For that reason
      we want to limit the amount of storage that can be used inside events.
      
      * seal: Fix error reporting in the case out of bound sandbox access
      
      * seal: Refactor existing benchmarks
      
      * seal: Convert benchmark file to tabs
      
      * seal: Add benchmarks for functions called by contracts
      
      * seal: Create a default schedule from benchmark generated WeightInfo
      
      * seal: Make use of WeightInfo in extrinsic weight annotations
      
      * seal: Replace the old schedule by the benchmark generated one
      
      * Review: Fix copy paste typo in schedule construction
      
      * Review: Fix stale docs
      
      * Fix whitespace errors
      
      Co-authored-by: default avatarSergei Shulepov <[email protected]>
      
      * Review: Use checked_div in order to be more defensive
      
      * Review: Rename no_charge to already_charged
      
      * Review: Whitelist caller of extrinsics
      
      * Review: Remove trailing whitespace
      
      * Review: Remove confusing "self::" syntax
      
      * Review: Add docs for the benchmark prepration submodule
      
      * Review: Move code generation functions to own module
      
      * Review: Refactor and document benchmark helper functions
      
      * Remove additional empty line
      
      * Added missing comment on caller_funding
      
      * Update frame/contracts/src/benchmarking/code.rs
      
      Co-authored-by: default avatarSergei Shulepov <[email protected]>
      
      * Fix missing sp_std::prelude import in code.rs
      
      * cargo run --release --features runtime-benchmarks --manifest-path bin/node/cli/Cargo.toml -- benchmark --chain dev --steps 50 --repeat 20 --extrinsic * --execution=wasm --wasm-execution=compiled --output ./bin/node/runtime/src/weights --header ./HEADER --pallet pallet_contracts --heap-pages 4096
      
      * Use weights from the benchmark machine for the substrate node
      
      * Remove prefixes from Schedule members
      
      * Data lengths in the WeightInfo Trait are specified in kilobytes
      
      * Rename ApiWeights to HostFunctionWeights
      
      Co-authored-by: default avatarSergei Shulepov <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      443725f0
    • Kian Paimani's avatar
      Refactor CurrencyToVote (#6896) · ba229c62
      Kian Paimani authored
      
      
      * Refactor CurrencyToVote to avoid calls to total_issuance.
      
      * Update frame/support/src/traits.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Some grumbles
      
      * Fix last grumbles.
      
      * Fix comment
      
      * Final fix
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      ba229c62
  19. Oct 02, 2020
  20. Oct 01, 2020
  21. Sep 30, 2020
  22. Sep 24, 2020
  23. Sep 23, 2020
  24. Sep 22, 2020
  25. Sep 21, 2020
  26. Sep 18, 2020
    • Shawn Tabrizi's avatar
      WeightInfo for Scheduler (#7138) · 743cf754
      Shawn Tabrizi authored
      * initial scheduler stuff
      
      * integrate weightinfo
      
      * Update pallet_scheduler.rs
      743cf754
    • Xiliang Chen's avatar
      Bounties (#5715) · 67e1dad9
      Xiliang Chen authored
      
      
      * add some compact annotation
      
      * implement bounties for treasury
      
      * fix test build
      
      * remove some duplicated code
      
      * fix build
      
      * add tests
      
      * fix build
      
      * fix tests
      
      * rename
      
      * merge deposit byte fee
      
      * add comments
      
      * refactor storage
      
      * support sub bounty
      
      * emit BountyBecameActive when sub bounty is created
      
      * able to contribute bounty
      
      * allow curator to cancel bounty
      
      * remove bounty contribution
      
      * implement bounty expiry
      
      * Able to extend bounty
      
      * fix build and update tests
      
      * create sub bounty test
      
      * add more tests
      
      * add benchmarks for bounties
      
      * fix build
      
      * line width
      
      * fix benchmarking test
      
      * update trait
      
      * fix typo
      
      * Update lib.rs
      
      Missing documentation on Bounties added on this change. Please check the definitions of `propose_bounty` and `create_bounty`.
      
      * update docs
      
      * add MaximumSubBountyDepth
      
      * put BountyValueMinimum into storage
      
      * rework bount depth
      
      * split on_initialize benchmarks
      
      * remove components from constant functions
      
      * Update weight integration into treasury
      
      * Update reject proposal read/writes
      
      * fix weight calculation
      
      * Ignore weights with 0 factor
      
      * Remove 0 multipliers
      
      * add some docs
      
      * allow unused for generated code
      
      * line width
      
      * allow RejectOrigin to cancel a pending payout bounty
      
      * require BountyValueMinimum > ED
      
      * make BountyValueMinimum configurable by chain spec
      
      * remove sub-bounty features
      
      * update curator
      
      * accept curator
      
      * unassign and cancel
      
      * fix tests
      
      * new tests
      
      * Update lib.rs
      
      - Include on `Assign_curator`, `accept_curator` and `unassign_curator` on Bounties Protocol Section 
      - Include curator fee and curator deposit definitions on Terminology
      - Update intro.
      
      * fix test
      
      * update extend_bounty_expiry
      
      * fix benchmarking
      
      * add new benchmarking code
      
      * add docs
      
      * fix tests
      
      * Update benchmarking.rs
      
      * Make BountyValueMinimum a trait config instead of stroage value
      
      * fix runtime build
      
      * Update weights
      
      * Update default_weights.rs
      
      * update weights
      
      * update
      
      * update comments
      
      * unreserve curator fee
      
      * update tests
      
      * update benchmarks
      
      * fix curator deposit handling
      
      * trigger CI
      
      * fix benchmarking
      
      * use append instead of mutate push
      
      * additional noop tests
      
      * improve fee hanlding. update event docs
      
      * RejectOrigin to unassign
      
      * update bounty cancel logic
      
      * use Zero::zero() over 0.into()
      
      * fix tests
      
      * fix benchmarks
      
      * proposed fixes to bounties
      
      * fix tests
      
      * fix benchmarks
      
      * update weightinfo
      
      * use closure
      
      * fix compile
      
      * update weights
      
      Co-authored-by: default avatarRRTTI <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      67e1dad9
    • Shawn Tabrizi's avatar
      Pallet Indices (#7137) · a3080f27
      Shawn Tabrizi authored
      a3080f27
    • Benjamin Kampmann's avatar
      Tracing for wasm with bridging to native (#6916) · a9c73113
      Benjamin Kampmann authored
      
      
      * implement events handling, implement parent_id for spans & events
      
      * add events to sp_io::storage
      
      * update test
      
      * add tests
      
      * adjust limit
      
      * let tracing crate handle parent_ids
      
      * re-enable current-id tracking
      
      * add test for threads with CurrentSpan
      
      * fix log level
      
      * remove redundant check for non wasm traces
      
      * remove duplicate definition in test
      
      * Adding conditional events API
      
      * prefer explicit parent_id over current,
      
      enhance test
      
      * limit changes to client::tracing event implementation
      
      * remove From impl due to fallback required on parent_id
      
      * make tracing codecable
      
      * replace with global tracing
      
      * new tracing interface
      
      * impl TracingSubscriber in client
      
      * implement access to global TracingSubscriber from primitives
      
      * span for wasm
      
      * increment towards Wasm Tracing Subscriber implementation
      
      * increment, remove sp-tracing from runtime-interface
      
      * increment, it compiles
      
      * attained original functionality with new mechanism
      
      * implement remaining TracingSubscriber functions
      
      * remove spans from decl_module
      
      * add handling for encoded values
      
      * Revert "replace with global tracing"
      
      This reverts commit 8824a60deea54d9b437407a21c8ceaf6a1902ee5.
      
      * Wasm Side Tracing
      
      * tracing on wasm
      
      * enable tracing wasm on node-runtime
      
      * export all the macros in std
      
      * tracing subscriber on wasm-side only
      
      * pass spans and events over and record them
      
      * reactivate previous code and  cleanup
      
      * further cleaning up
      
      * extend the span macros, activate through executive
      
      * tracking the actual extrinsic, too
      
      * style
      
      * fixing tests
      
      * spaces -> tabs
      
      * attempting to reactivate params
      
      * activate our tests in CI
      
      * some passing
      
      * tests passing
      
      * with core lazy
      
      * global tracer for wasm side with pass over
      
      * fixing metadata referencing
      
      * remove const_fn feature requirement
      
      * reenable dispatch traces
      
      * reset client tracing
      
      * further cleaning up
      
      * fixing runtime-test
      
      * move tracing-build setup into runtime-test
      
      * Merge DebugWriter from tracing and frame-support, move to sp-std
      
      * remove dangling fixme
      
      * Docs for tracing primitives
      
      * cleaning up a bit more
      
      * Wasm interface docs
      
      * optimise docs.rs setup
      
      * adding tracing flags to uncomment
      
      * remove brace
      
      * fixing imports
      
      * fixing broken syntax
      
      * add required modules
      
      * nicer formatting
      
      * better target management
      
      * adding low level storage tracing events into frame
      
      * add custom Debug impl for WasmMetadata
      
      * cloning profiler
      
      * adding info about cloning profiler
      
      * using in-scope for within calls
      
      * proper time tracing, cleaning up println
      
      * allow to disable tracing on runtime_interface-macro
      
      * disable tracing for wasm-tracing-interface
      
      * simplify wasm-tracing-api
      
      * update client to new interface
      
      * fixing docs and tests for sp-tracing
      
      * update integration tests
      
      * re-activating enter_span
      
      * dropping FIXME, it's documented
      
      * fix formatting
      
      * fix formatting
      
      * fix imports
      
      * more debug info
      
      * inform wasm about it being disabled by returning 1
      
      * only one tracer, but enabled multi-all support
      
      * make trait pub again for tests
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      
      * fixing wasm doc tests for proper usage
      
      * remove unnecessary import
      
      * fixing formatting
      
      * minor style fixes
      
      * downgrading wabt
      
      * update error message for UI
      
      * Fix interface test
      
      * next attempt to fix macros
      
      * geee
      
      * revert tracing on hashed for future PR
      
      * remove local macros, use originals
      
      * we are able to convert to static items
      
      * implement more WasmValue types
      
      * adding support to convert str, debug and encoded values
      
      * more minor fixes
      
      * revert unsafe 'static making
      
      * fix indentation
      
      * remove commented lines
      
      * bump all them tracing versions
      
      * cleaning up docs and info
      
      * document new flag
      
      * the new layered system handles span cloning better
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarDavid <[email protected]>
      
      Co-authored-by: default avatarMatt Rutherford <[email protected]>
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      Co-authored-by: default avatarDavid <[email protected]>
      a9c73113
  27. Sep 17, 2020