1. Feb 22, 2021
  2. Feb 19, 2021
  3. Feb 16, 2021
  4. Feb 15, 2021
  5. Feb 10, 2021
  6. Feb 04, 2021
  7. Feb 02, 2021
    • Liu-Cheng Xu's avatar
      Decouple the session validators from im-online (#7127) · 9904267e
      Liu-Cheng Xu authored
      * Decouple the session validators from im-online
      
      * .
      
      * Add SessionInterface trait in im-online
      
      Add ValidatorId in im-online Trait
      
      Make im-online compile
      
      Make substrate binary compile
      
      * Fix merging issue
      
      * Make all compile
      
      * Fix tests
      
      * Avoid using frame dep in primitives via pallet-session-common
      
      * Merge ValidatorSet into SessionInterface trait
      
      Wrap a few too long lines
      
      Add some docs
      
      * Move pallet-sesion-common into pallet-session
      
      * Move SessionInterface to sp-session and impl it in session pallet
      
      Ref https://github.com/paritytech/substrate/pull/7127#discussion_r494892472
      
      
      
      * Split put historical::FullValidatorIdentification trait
      
      * Fix line width
      
      * Fix staking mock
      
      * Fix session doc test
      
      * Simplify <T as ValidatorIdentification<AccountId>>::ValidatorId as ValidatorId<T>
      
      * Nits
      
      * Clean up.
      
      * Make it compile by commenting out report_offence_im_online bench
      
      * Tests
      
      * Nits
      
      * Move OneSessionHandler to sp-session
      
      * Fix tests
      
      * Add some docs
      
      * .
      
      * Fix typo
      
      * Rename to ValidatorSet::session_index()
      
      * Add some more docs
      
      * .
      
      * Remove extra empty line
      
      * Fix line width check
      
      .
      
      * Apply suggestions from code review
      
      * Cleaup Cargo.toml
      
      * Aura has migrated to Pallet now
      
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      9904267e
  8. Jan 28, 2021
    • Bastian Köcher's avatar
      Introduce a `Slot` type (#7997) · b6294418
      Bastian Köcher authored
      
      
      * Introduce a `Slot` type
      
      Instead of having some type definition that only was used in half of the
      code or directly using `u64`, this adds a new unit type wrapper `Slot`.
      This makes it especially easy for the outside api to know what type is
      expected/returned.
      
      * Change epoch duratioC
      
      * rename all instances of slot number to slot
      
      * Make the constructor private
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      b6294418
    • Tomasz Drwięga's avatar
      Merkle Mountain Range pallet improvements (#7891) · 6c2dd28d
      Tomasz Drwięga authored
      
      
      * Add stateless verification helper function.
      
      * Split MMR primitives.
      
      * Add RuntimeAPI
      
      * RuntimeAPI with OpaqueLeaves
      
      * Bump spec_version,.
      
      * Move primitives back to frame.
      
      * Fix OpaqueLeaf encoding.
      
      * Add block number to frame_system implementation of LeafDataProvider.
      
      * Relax leaf codec requirements and fix OpaqueLeaf
      
      * Add root to debug line.
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      
      * Typo.
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      6c2dd28d
  9. Jan 20, 2021
    • Kian Paimani's avatar
      Fix elections-phragmen and proxy issue (#7040) · e8307b7b
      Kian Paimani authored
      * Fix elections-phragmen and proxy issue
      
      * remove TODO
      
      * Update bond to be per-vote
      
      * Update frame/elections-phragmen/src/lib.rs
      
      * Fix benchmakrs
      
      * Fix weight as well.
      
      * Add license
      
      * Make weight interpreted wasm! 🤦🏻
      
      ‍♂️
      
      * Remove a bunch of TODOs
      
      * Add migration
      
      * Better storage version.
      
      * Functionify.
      
      * Fix deposit scheme.
      
      * remove legacy bond.
      
      * Master.into()
      
      * better logging.
      
      * Fix benchmarking test
      
      * Fix confused deposit collection.
      
      * Add fine
      
      * Better name for storage item
      
      * Fix name again.
      
      * remove unused
      
      * Update frame/elections-phragmen/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Update frame/elections-phragmen/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * 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_elections_phragmen
      
      * new weight fns
      
      * Fix build
      
      * Fix line width
      
      * fix benchmakrs
      
      * fix warning
      
      * 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_elections_phragmen
      
      * Tune the stake again
      
      * 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_elections_phragmen
      
      * All tests work again.
      
      * A large number of fixes.
      
      * more fixes.
      
      * Fix node build
      
      * Some fixes to benchmarks
      
      * Fix some warnings.
      
      * 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
      
      * 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 frame/elections-phragmen/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * a batch of review comments.
      
      * Fix a test.
      
      * Fix some more tests.
      
      * do migration with pallet version???
      
      * Final touches.
      
      * Remove unused storage.
      
      * another rounds of changes and fixes.
      
      * Update frame/elections-phragmen/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Update frame/elections-phragmen/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Review grumbles.
      
      * Fix a bit more.
      
      * Fix build
      
      * Experimental: independent migration.
      
      * WIP: isolated migration logics
      
      * clean up.
      
      * make migration struct private and move migration to own file
      
      * add doc
      
      * fix StorageInstance new syntax
      
      * Update frame/elections-phragmen/src/migrations_3_0_0.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * another round of self-review.
      
      * bit better formatting
      
      * 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
      
      * Fix tests.
      
      * Round of self-review
      
      * Clean migrations
      
      * 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
      
      * Revert unwanted change to construct-runtime
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      e8307b7b
  10. Jan 19, 2021
    • Shawn Tabrizi's avatar
      Freeze Assets and Asset Metadata (#7346) · 748bdf65
      Shawn Tabrizi 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
      
      * Add `freeze_asset` and `thaw_asset`
      
      * Add metadata
      
      * fix build
      
      * Update benchmarks
      
      * fix line width
      
      * 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 default weights
      
      * destroy cleans up metadata
      
      * more comprehensive lifecycle test
      
      * update docs
      
      * 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
      
      * fix compile
      
      * fix up
      
      * 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
      
      * fixes to pallet compile
      
      * fix node build
      
      * remote diff artifacts
      
      * less diff
      
      * 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
      
      * Update frame/assets/src/lib.rs
      
      * Update frame/assets/src/lib.rs
      
      * usize to u32
      
      * missed some usize
      
      * 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 avatarGav Wood <[email protected]>
      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 avatarKian Paimani <[email protected]>
      748bdf65
  11. Jan 14, 2021
    • Liu-Cheng Xu's avatar
      Add payment_queryFeeDetails RPC (#7692) · 65569620
      Liu-Cheng Xu authored
      
      
      * Return FeeDetails in compute_fee_raw()
      
      * Add payment_queryDetails rpc
      
      * Simplify serde attribute a bit
      
      * Fix line width check
      
      * Use saturating_add()
      
      * Move transaction payment rpc types to types.rs
      
      * Add file header
      
      * Fix test
      
      * Update Cargo.lock
      
      * Nit
      
      * Apply the review suggestions
      
      * .
      
      * .
      
      * Fix serde
      
      * Fix rust doc
      
      * .
      
      * Update frame/transaction-payment/src/types.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Use NumberOrHex in fee details RPC
      
      * Address review feedback
      
      * Nits
      
      * Update some docs
      
      * Address review
      
      * Update frame/transaction-payment/src/types.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Happy 2021
      
      * Nit
      
      * Address code review
      
      * Remove needless bound
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      65569620
  12. Jan 06, 2021
  13. Jan 05, 2021
    • Shawn Tabrizi's avatar
      Participation Lottery Pallet (#7221) · 92f59682
      Shawn Tabrizi authored
      
      
      * Basic design
      
      * start adding tests
      
      * finish tests
      
      * clean up crates
      
      * use call index for match
      
      * finish benchmarks
      
      * add to runtime
      
      * fix
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_lottery --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/lottery/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * more efficient storage
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_lottery --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/lottery/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Update lib.rs
      
      * Update bin/node/runtime/src/lib.rs
      
      * trait -> config
      
      * add repeating lottery
      
      * new benchmarks
      
      * fix build
      
      * move trait for warning
      
      * feedback from @xlc
      
      * add stop_repeat
      
      * fix
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_lottery --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/lottery/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Support static calls
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_lottery --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/lottery/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * fix test
      
      * add loop to mitigate modulo bias
      
      * Update weights for worst case scenario loop
      
      * Initialize pot with ED
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_lottery --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/lottery/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      92f59682
  14. Jan 04, 2021
    • Alexander Theißen's avatar
      contracts: Lazy storage removal (#7740) · 3ba8fdfc
      Alexander Theißen authored
      * Do not evict a contract from within a call stack
      
      We don't want to trigger contract eviction automatically when
      a contract is called. This is because those changes can be
      reverted due to how storage transactions are used at the moment.
      More Information:
      https://github.com/paritytech/substrate/issues/6439#issuecomment-648754324
      
      It can be re-introduced once the linked issue is resolved. In the meantime
      `claim_surcharge` must be called to evict a contract.
      
      * Lazily delete storage in on_initialize instead of when removing the contract
      
      * Add missing documentation of new error
      
      * Make Module::claim_surcharge public
      
      It being the only dispatchable that is private is an oversight.
      
      * review: Add final newline
      
      * review: Simplify assert statement
      
      * Add test that checks that partial remove of a contract works
      
      * Premote warning to error
      
      * Added missing docs for seal_terminate
      
      * Lazy deletion should only take AVERAGE_ON_INITIALIZE_RATIO of the block
      
      * Added informational about the lazy deletion throughput
      
      * Avoid lazy deletion in case the block is already full
      
      * Prevent queue decoding in case of an already full block
      
      * Add test that checks that on_initialize honors block limits
      3ba8fdfc
    • Alexander Theißen's avatar
      contracts: Allow runtime authors to define a chain extension (#7548) · 51c37ecc
      Alexander Theißen authored
      * Make host functions return TrapReason
      
      This avoids the need to manually store any trap reasons
      to the `Runtime` from the host function. This adds the following
      benefits:
      
      * It properly composes with the upcoming chain extensions
      * Missing to set a trap value is now a compile error
      
      * Add chain extension
      
      The chain extension is a way for the contract author to add new
      host functions for contracts to call.
      
      * Add tests for chain extensions
      
      * Fix regression in set_rent.wat fixture
      
      Not all offsets where properly updated when changing the fixtures
      for the new salt on instantiate.
      
      * Pre-charge a weight amount based off the specified length
      
      * Improve fn write docs
      
      * Renamed state to phantom
      
      * Fix typo
      51c37ecc
    • Bastian Köcher's avatar
      Happy new year (#7814) · e3e651f7
      Bastian Köcher authored
      * Happy new year
      
      Updates the copyright years and fixes wrong license headers.
      
      * Fix the template
      
      * Split HEADER into HEADER-APACHE & HEADER-GPL
      e3e651f7
  15. Dec 30, 2020
  16. Dec 27, 2020
  17. Dec 16, 2020
    • RK's avatar
      Issue 7143 | Refactor Treasury Pallet into Bounties, Tips, and Proposals (#7536) · 8e64a2de
      RK authored
      
      
      * wk2046 | D5 | treasury refactor to bounties and tips
      
      * wk2046 | D5 | treasury refactor to bounties and tips | p2
      
      * fix test compilation, ignoring events
      
      * initialize treasury in genesis
      
      * wk2046 | D7 | treasury refactor | fix bounties test build issues
      
      * wk2047 | D1 | treasury refactor | tips pallet bringup
      
      * wk2047 | D2 | treasury refactor | bounties  pallet | unit test bringup
      
      * wk2047 | D2 | treasury refactor | bounties  pallet | unit test bringup | p2
      
      * wk2047 | D2 | treasury refactor | pallet-tips| test_last_reward_migration | test failure - analysis
      
      * wk2047 | D3 | treasury refactor | pallet-tips| test_last_reward_migration | test failure - fix
      
      * wk2047 | D3 | treasury refactor | pallet-bounties | on_initialize() fix
      
      * wk2047 | D3 | treasury refactor | pallet-bounties | on_initialize() fix | p2
      
      * wk2047 | D4 | treasury refactor | pallet-bounties + pallet-treasury | spend_fund runtime hooks
      
      * wk2047 | D4 | treasury refactor | pallet-bounties + pallet-treasury | spend_fund runtime hooks | p2
      
      * wk2047 | D4 | treasury refactor | pallet-bounties + pallet-treasury | spend_fund runtime hooks | p3
      
      * wk2047 | D5 | treasury refactor | pallet-bounties + pallet-treasury | spend_fund runtime hooks | p4
      
      * wk2047 | D6 | treasury refactor | review comments fix
      
      * some fixes
      
      * fix bounties instantiable
      
      * remove instantiable from tips and bounties
      
      * fix compile for benchmarks
      
      * 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 lib.rs
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_tips --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/tips/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=pallet_bounties --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/bounties/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * add back `on_initialize_bounties`
      
      * patch up bounties benchmarks
      
      * cargo run --release --features=runtime-benchmarks --manifest-path=bin/node/cli/Cargo.toml -- benchmark --chain=dev --steps=50 --repeat=20 --pallet=pallet_bounties --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./frame/bounties/src/weights.rs --template=./.maintain/frame-weight-template.hbs
      
      * Remove development TODO from public doc comment (#7500)
      
      * refactor subtrait/elevated trait as not needed (#7497)
      
      * Fix comments of indices pallet events (#7511)
      
      Arguments for IndexAssigned and IndexFrozen were inverted in comments.
      
      * Skip slot lenience on first block in BABE (#7515)
      
      The genesis header doesn't have the BABE pre-digest and we insert `0` as
      slot number. The slot lenience calculation will return the maximum in
      this situation. Besides returning the maximum which is not bad at all,
      it also prints some a debug message that can be confusing in the first
      moment. To prevent printing this debug message, we now just return early
      when we see that the parent block is the genesis block.
      
      * slots: incrementally backoff claiming slots if finality lags behind (#7186)
      
      * babe: backoff authoring blocks when finality lags
      
      * babe: move backoff authoring params to default constructor
      
      * babe: deduplicate the test a bit
      
      * babe: set backoff constants in service
      
      * babe: use better names for backoff authoring block parameters
      
      * babe: remove last unwrap
      
      * babe: slight style tweak
      
      * babe: fix comment
      
      * slots: move backoff block authorship logic to SimpleSlotWorker
      
      * aura: append SlotInfo in on_slot
      
      * slots: use the correct types for parameters
      
      * slots: fix review comments
      
      * aura: add missing backoff authoring blocks parameters
      
      * slots: add comments for default values
      
      * slots: add additional checks in test
      
      * slots: update implementation for new master
      
      * slots: revert the change to SlotInfo
      
      * Fix review comments
      
      * slots: rework unit tests for backing off claiming slots
      
      * slots: add test for asymptotic behaviour for slot claims
      
      * slots: address review comments
      
      * slots: add test for max_interval
      
      * slots: add assertion for intervals between between claimed slots
      
      * slots: remove rustfmt directive
      
      * slots: another attempt at explaining authoring_rate
      
      * slots: up unfinalized_slack to 50 by default
      
      * slots: add tests for time to reach max_interval
      
      * slots: fix typo in comments
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * slots: additional tweaks to comments and info calls
      
      * slots: rename to BackoffAuthoringOnFinalizedHeadLagging
      
      * slots: make the backing off strategy generic
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * slots: implement backoff trait for () for simplicity
      
      * slots: move logging inside backing off function to make it more specific
      
      * aura: add missing function parameter
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Export app-crypto specific keystore functions (#7489)
      
      * Export app-crypto specific keystore functions
      
      * Also add back the insert function
      
      * Switch KeystoreContainer to an enum
      
      * Only export the bare minimal for LocalKeystore and fix service compile
      
      * fix: should return Arc
      
      * Add docs stating that functions only available in local keystore
      
      * Remove insert and generate functions
      
      * fix: generate function should be available in test
      
      * Add keypair function to trait
      
      * Revert "Add keypair function to trait"
      
      This reverts commit ad921b09ca73d3c09298e3a51b562ef8e0067781.
      
      * Add note for local_keystore function in service
      
      * Update doc for the --chain flag (#7520)
      
      * contracts: Add missing instruction to the `Schedule` (#7527)
      
      * Don't log with colors when we are writing to a tty (#7525)
      
      * Don't log with colors when we are writing to a tty
      
      This fixes a regression that was introduced by the switch to tracing.
      Before we killed all colors before writing to a tty, this pr brings the
      behaviour back.
      
      * Remove accidentally added crate
      
      * Review feedback
      
      * More feedback
      
      * Update client/cli/src/logging.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * Update client/cli/src/logging.rs
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      
      * MemoryId -> u32 (#7534)
      
      * Enable local addresses in DHT when chain type == `Local` | `Development` (#7538)
      
      * Enable local addresses in DHT when chain type == `Local` | `Development`
      
      This pr changes when to add local addresses to DHT. Instead of only
      checking if `--discover-local` and `--dev` are present, we now also
      check if the chain type is `Local` or `Development`.
      
      * Update the docs!
      
      * Update tiny-bip39 to v0.8 (#7539)
      
      It would improve secret zeroization due to
      https://github.com/maciejhirsz/tiny-bip39/pull/22, and would also remove
      one of the points where we depend on `failure` crate, which is
      deprecated (see https://github.com/rust-lang-nursery/failure/pull/347
      
      )
      
      * make LocalCallExecutor public (#7528)
      
      * Fix some weirdness in `offchain_worker` (#7541)
      
      We call `offchain_worker` with the state of the imported block and pass
      the header of this block. However in the runtime we call all
      `offchain_worker` functions with the number of the parent block. Besides
      that we also pass all digests and not only the pre runtime digests. In
      the context where the offchain worker is executed we have all digests, so
      there is no real reason to only pass pre runtime digests. Another fix is
      that we also insert the hash of the current header into the block hash map.
      
      * Use inbound peerslot slots when a substream is received, rather than a connection (#7464)
      
      * Use inbound peerslot slots when a substream is received, rather than a connection
      
      * Refactor PeerState
      
      * Some bugfixes
      
      * Fix warnings so that CI runs, gmlrlblbl
      
      * Bugfixes
      
      * Update docs
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarRoman Borschel <[email protected]>
      
      * Clean up Banned state
      
      * Refactor connections state
      
      * Fix possibility of Enabled with no Opening or Open connection
      
      * Line width
      
      * Add some debug_asserts! and fix TODO
      
      * Refactor legacy handler
      
      * Rewrite group.rs entirely [part 1]
      
      * Rewrite group.rs entirely [part 2]
      
      * Remove faulty assertion
      
      Because of the asynchronous nature of the behaviour <-> handler communications, it is possible to receive notifications while in the Closing state
      
      * Don't poll the legacy substream is not Open
      
      * Tolerate when not all substreams are accepted
      
      * Remove TODOs
      
      * Dummy commit to make CI log interesting things
      
      * Try race condition fix
      
      * Revert "Try race condition fix"
      
      This reverts commit 0675c659d06195c30f8c5bc13e2d88141d57a3ba.
      
      * Correctly rebuild pending_opening
      
      * Minor tweaks
      
      * Printlns for CI debugging
      
      * Revert "Printlns for CI debugging"
      
      This reverts commit e7852a231f4fc418898767aaa27c9a4358e12e8b.
      
      * Revert "Dummy commit to make CI log interesting things"
      
      This reverts commit 259ddd74088e53e7c6a9b0a62a8d1573a0063ce3.
      
      * mv group.rs ../handler.rs
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarMax Inden <[email protected]>
      
      * Banned => Backoff
      
      * Mention the actual PeerStates
      
      * OpenDesired -> OpenDesiredByRemote
      
      * OpeningThenClosing
      
      * Add doc links to PeerState
      
      * Simplify increment logic
      
      * One more debug_assert
      
      * debug_assert!
      
      * OpenDesiredByRemote
      
      * Update client/network/src/protocol/generic_proto/behaviour.rs
      
      Co-authored-by: default avatarMax Inden <[email protected]>
      
      Co-authored-by: default avatarRoman Borschel <[email protected]>
      Co-authored-by: default avatarMax Inden <[email protected]>
      
      * *: Update to libp2p v0.30.0 (#7508)
      
      * *: Update to libp2p v0.30.0
      
      * Cargo.lock: Update
      
      * *: Update to libp2p v0.30.1
      
      * make ClientConfig public (#7544)
      
      * sc-basic-authorship: remove useless dependencies (#7550)
      
      Signed-off-by: default avatarkoushiro <[email protected]>
      
      * Add slashing events to elections-phragmen. (#7543)
      
      * Add slashing events to elections-phragmen.
      
      * Fix build
      
      * Apply suggestions from code review
      
      * Update frame/elections-phragmen/src/lib.rs
      
      * Update frame/elections-phragmen/src/lib.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Remove necessity to pass ConsensusEngineId when registering notifications protocol (#7549)
      
      * Remove necessity to pass ConsensusEngineId when registering notifications protocol
      
      * Line width
      
      * Fix tests protocol name
      
      * Other renames
      
      * Doc update
      
      * Change issue in TODO
      
      * sc-cli: replace bip39 with tiny-bip39 (#7551)
      
      Signed-off-by: default avatarkoushiro <[email protected]>
      
      * Add extra docs to on_initialize (#7552)
      
      * Add some extra on_initialize docs.
      
      * Address review comments.
      
      * More Extensible Multiaddress Format (#7380)
      
      * 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
      
      * Fix weight template to remove ugliness in rust doc (#7565)
      
      fixed weight template
      
      * Cargo.lock: Run cargo update (#7553)
      
      * Cargo.lock: Run cargo update
      
      * Cargo.lock: Downgrade cc to v1.0.62
      
      * Cargo.lock: Revert wasm-* updates
      
      * .github: Add dependabot config and thus enable dependabot (#7509)
      
      * .github: Add dependabot config and thus enable dependabot
      
      * Update .github/dependabot.yml
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      
      * Thread-local parameter_types for testing. (#7542)
      
      * Thread-local parameter_types for testing.
      
      * Better docs.
      
      * Some minors
      
      * Merge'em
      
      * Update frame/support/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Align more to basti's trick
      
      * Update frame/support/src/lib.rs
      
      * Update frame/support/src/lib.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Bump wasm-bindgen-test from 0.3.12 to 0.3.17 (#7567)
      
      * Bump wasm-bindgen-test from 0.3.12 to 0.3.17
      
      Bumps [wasm-bindgen-test](https://github.com/rustwasm/wasm-bindgen) from 0.3.12 to 0.3.17.
      - [Release notes](https://github.com/rustwasm/wasm-bindgen/releases)
      - [Changelog](https://github.com/rustwasm/wasm-bindgen/blob/master/CHANGELOG.md)
      - [Commits](https://github.com/rustwasm/wasm-bindgen/commits
      
      )
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      
      * Update wasm-bindgen pin to 0.2.68
      
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      
      * wk2047 | D6 | treasury refactor | review comments fix | p2
      
      * wk2048 | D1 | treasury refactor | review comments fix | p3
      
      * Update bin/node/runtime/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]>
      
      * wk2048 | D3 | treasury refactor | review comments fix | p4
      
      * wk2048 | D3 | treasury refactor | review comments fix | p5
      
      * wk2048 | D4 | treasury refactor | review comments fix |  removal of deadcode | p6
      
      * remove broken link
      
      * wk2048 | D5 | treasury refactor | review comments fix | bountise doc string | p7
      
      * wk2048 | D5 | treasury refactor | review comments fix | p8
      
      * docs and formatting
      
      * Update frame/tips/src/benchmarking.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * formatting nits
      
      * Trait -> Config
      
      * trait -> config in benchmarks
      
      * clean up weight docs
      
      * Trait -> Config in Runtime
      
      * fix test build
      
      * try to fix polkadot build check
      
      * fix traits
      
      * Update lib.rs
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * fix trait location
      
      * nits
      
      * uncomment on_initialize for bounties benchmarks
      
      * update weights
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      Co-authored-by: default avatarCaio <[email protected]>
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarAntoine Le Calvez <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarJon Häggblad <[email protected]>
      Co-authored-by: default avatarWei Tang <[email protected]>
      Co-authored-by: default avatarSergei Shulepov <[email protected]>
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatarPierre Krieger <[email protected]>
      Co-authored-by: default avatarKirill Pimenov <[email protected]>
      Co-authored-by: default avatarAndrew Plaza <[email protected]>
      Co-authored-by: default avatarRoman Borschel <[email protected]>
      Co-authored-by: default avatarMax Inden <[email protected]>
      Co-authored-by: default avatarQinxuan Chen <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarTomasz Drwięga <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarAddie Wagenknecht <[email protected]>
      8e64a2de
  18. Dec 10, 2020
  19. 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
  20. 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
  21. 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
  22. Nov 30, 2020
  23. 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
  24. 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
  25. 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
  26. Oct 30, 2020
  27. Oct 29, 2020
  28. 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
  29. 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
  30. 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
  31. Oct 02, 2020
  32. Oct 01, 2020