Skip to content
  1. Apr 07, 2021
    • Gavin Wood's avatar
      XCM revamp (#2836) · adc238ad
      Gavin Wood authored
      
      
      * Remove unused relaying XCM
      
      * Aggregate HRMP (XCMP/HMP) messages. Payloads for spambot.
      
      * Revert lock
      
      * Fix
      
      * Broken example
      
      * Introduce fee payment mechanics into XCM.
      
      * Weight limitations on XCM execution
      
      * Mock environment for tests and the first test
      
      * Tests for XCM and a few refactors.
      
      * Remove code that's not ready
      
      * Fix for an XCM and an additional test
      
      * Query response system
      
      * XCMP message dispatch system reimagining
      
      - Moved most of the logic into xcm-handler pallet
      - Altered the outgoing XCMP API from push to pull
      - Changed underlying outgoing queue data structures to avoid multi-page read/writes
      - Introduced queuing for incoming messages
      - Introduced signal messages as a flow-control sub-stream
      - Introduced flow-control with basic threshold back-pressure
      - Introduced overall weight limitation on messages executed
      - Additonal alterations to XCM APIs for the new system
      
      * Some build fixes
      
      * Remove the Encode bounds sprayed around
      
      * More faff
      
      * Fix bounds amek use latest scale codec.
      
      * remove println
      
      * fixes
      
      * Fix XcmExecutor Tests
      
      * Fix XCM bounds using derivative crate
      
      * Refactor names of XcmGeneric &c into Xcm
      
      * Repot the xcm-executor into xcm-builder
      
      * Docs
      
      * Docs
      
      * Fixes
      
      * Update xcm/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Fixes
      
      * Docs
      
      * Update runtime/parachains/src/ump.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Docs
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Docs
      
      * Fixes
      
      * Fixes
      
      * Introduce transfer_asset specialisation.
      
      * Fixes
      
      * Fixes
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      adc238ad
    • ordian's avatar
      fix failing test (#2844) · 1e451780
      ordian authored
      1e451780
    • Shawn Tabrizi's avatar
      Relax Origin Checks in Registrar, Add Lock to Registration (#2808) · 45be2ac9
      Shawn Tabrizi authored
      * Relax Origin Checks in Registrar
      
      * fix tests
      
      * Update runtime/common/src/paras_registrar.rs
      
      * introduce para locks
      
      * apply a lock after upgrade
      
      * add test
      
      * add lock when creating crowdloan
      45be2ac9
    • asynchronous rob's avatar
      remove WASM_MAGIC (#2832) · 251b6ca7
      asynchronous rob authored
      * remove WASM_MAGIC
      
      * fix test warnings
      251b6ca7
  2. Apr 04, 2021
  3. Apr 01, 2021
    • Gavin Wood's avatar
      Companion for OnSetCode #8496 (#2794) · a960e2ff
      Gavin Wood authored
      * Make build with OnSetCode
      
      * Fixes
      
      * update Substrate
      
      Co-authored-by: parity-processbot <>
      a960e2ff
    • Tomasz Drwięga's avatar
      Merkle Mountain Range & BEEFY integration (#2101) · 5b77a898
      Tomasz Drwięga authored
      
      
      * Switch branch.
      
      * Implement basic MMR leaf.
      
      * Revert "Switch branch."
      
      This reverts commit 7f4d41c67f27ca560c53fc63fd3bd06ac182403c.
      
      * Bump substrate.
      
      * Integrate BEEFY.
      
      Bump all.
      
      Fix missing imports.
      
      * Use beefy pallet to get authorities.
      
      * Bump BEEFY repo.
      
      * Use next authority set instead of the current one.
      
      * Start BEEFY service.
      
      * Fix BEEFY start up.
      
      * Cache BEEFY authority set.
      
      * Add BEEFY ValidatorSetId to MMR
      
      * Fix code.
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatarHernando Castano <[email protected]>
      
      * Review grumbles.
      
      * Update beefy repo.
      
      * Work-around missing protocol.
      
      * Revert "Work-around missing protocol."
      
      This reverts commit 0a6257a8bccc1c67e966898cdedc408c6469ffd6.
      
      * Add beefy peers set config.
      
      * Expose storage of BEEFY.
      
      * Uncompress BEEFY keys for merkle tree.
      
      * Update ordering.
      
      * Switch to branch.
      
      * Bump deps.
      
      * Switch to custom beefy.
      
      * Add MMR RuntimeApi and custom rpc.
      
      * Add set length details.
      
      * Fix compilation.
      
      * Expose MmrLeaf storage.
      
      * Expose MmrLeaf storage.
      
      * Don't use session handler, and rather compute & cache beefy details on call.
      
      * Don't use session handler, and rather compute & cache beefy details on call.
      
      * Fixes.
      
      * Update Cargo.lock.
      
      * Switch back to master.
      
      * Update lockfile.
      
      * Fix xcm print issue.
      
      * Cargo.lock.
      
      * Use master branch.
      
      * Remove extra dep.
      
      * Fix tests.
      
      * Update Cargo.lock
      
      * Add BEEFY & MMR to westend.
      
      * Implement session keys migration.
      
      * Update testnet script.
      
      * start BEEFY for all node types
      
      * Update Cargo.lock
      
      * fix Cargo.toml
      
      * resolve another merge conflict
      
      * add Westend BEEFY keys
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarHernando Castano <[email protected]>
      
      * Update BEEFY.
      
      * Add Rococo BEEFY keys
      
      * resolve merge issue
      
      * fix pallet indices
      
      * fix Westend OldSessionKey
      
      * remove unused imports in Westend runtime
      
      * Fix compilation for Westend.
      
      * address review
      
      * start BEEFY gadget conditionally
      
      * address review again
      
      * fix typo
      
      * remove duplicate
      
      * remove another duplicate
      
      * well
      
      * add missing stuff
      
      * cleanup Cargo.toml files
      
      - revert unnecessary changes
      - add missing /std dependencies
      - remove unused dependencies
      
      * runtime: remove unused structs from rococo runtime
      
      * node: cleanup service
      
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatarHernando Castano <[email protected]>
      Co-authored-by: default avataradoerr <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      5b77a898
  4. Mar 30, 2021
  5. Mar 29, 2021
  6. Mar 28, 2021
  7. Mar 27, 2021
  8. Mar 26, 2021
  9. Mar 25, 2021
  10. Mar 24, 2021
  11. Mar 18, 2021
  12. Mar 17, 2021
  13. Mar 16, 2021
    • Kian Paimani's avatar
      Companion for sub/8176 (#2622) · 6b0c56b8
      Kian Paimani authored
      
      
      * Merge
      
      * Fixes
      
      * Fix build
      
      * remove dep.
      
      * undo dep.
      
      * upadte substrate
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=pallet_staking --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/
      
      * Fix lock
      
      * revert lock; cargo update -p sp-io
      
      * from_rational_approx -> from_rational
      
      * Silence more warnings
      
      Co-authored-by: default avatarGav Wood <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      6b0c56b8
  14. Mar 14, 2021
    • Gavin Wood's avatar
      New slots/auctions architecture (#2294) · edd81bf6
      Gavin Wood authored
      
      
      * TODOs
      
      * Add auctions.rs, comment on changes needed.
      
      * Remove cruft from slots
      
      * Remove more from auctions.rs
      
      * More logic drafting in slots.
      
      * More logic in slots.rs
      
      * patch some errors
      
      * more fixes
      
      * last nit
      
      * Cleanups in slots.rs
      
      * Cleanups in slots.rs
      
      * patches
      
      * make build
      
      * crowdloan to new api
      
      * auction compile
      
      * Use ParaId instead of FundIndex in Crowdloan (#2303)
      
      * use paraid instead of fundindex
      
      * Update crowdloan.rs
      
      * check caller is manager
      
      * Auction tests and fix build warnings.
      
      * Configurable origin for initiating auctions
      
      * Remove on_finalize
      
      * #2303 (manual merge)
      
      * Tests for Slots
      
      * some registrar tests
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Update runtime/common/src/slots.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Slots uses Registrar for CurrentChains
      
      * swap works test
      
      * on swap impl
      
      * traitify parachain cleanup
      
      * explicit lifecycle tracking for paras
      
      * initial implementation of lifecycles and upgrades
      
      * clean up a bit
      
      * Update runtime/common/src/slots.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * fix doc comment
      
      * more rigid lifecycle checks
      
      * include paras which are transitioning, and lifecycle query
      
      * format guide
      
      * update api
      
      * update guide
      
      * explicit outgoing state, fix genesis
      
      * handle outgoing with transitioning paras
      
      * Revert "explicit lifecycle tracking for paras"
      
      This reverts commit 4177af7ba473bbd9c26bccd861793f25265b6657.
      
      * remove lifecycle tracking from registrar
      
      * do not include transitioning paras in identifier
      
      * Update paras_registrar.rs
      
      * final patches to registrar
      
      * Fix test
      
      * use noop in test
      
      * clean up pending swap on deregistration
      
      * finish registrar tests
      
      * Update roadmap/implementers-guide/src/runtime/paras.md
      
      * Update roadmap/implementers-guide/src/runtime/paras.md
      
      * Update roadmap/implementers-guide/src/runtime/paras.md
      
      * Apply suggestions from code review
      
      * Use matches macro
      
      * Correct terms
      
      * Apply suggestions from code review
      
      * Remove direct need for Slots and Registrar from Crowdloan
      
      * Rejig things slightly
      
      * actions queue
      
      * Revert "actions queue"
      
      This reverts commit b2e9011ec8937d6c73e99292416c9692aeb30f73.
      
      * Traitify Auction interface.
      
      * Mockups and initial code for Crowdloan testing
      
      * One test...
      
      * collapse onboarding state
      
      * fix some crowdloan tests
      
      * one more
      
      * start benchmarks for auctions
      
      * benchmark bid
      
      * fix more crowdloan tests
      
      * onboard and begin retirement no longer exist
      
      * Revert "onboard and begin retirement no longer exist"
      
      This reverts commit 2e100fd94e3540bff5f172328b5d917896f1c6fc.
      
      * Simplify crowdloan and make it work.
      
      * Fixes
      
      * fix some
      
      * finish merge fixes
      
      * fix refund bug in auctions
      
      * Add traits to Registrar for tests and benchmarks
      
      * fix more auction benchmarks
      
      * Fix TestAuctioneer
      
      * finish crowdloan benchmarks
      
      * start setting up full integration tests
      
      * expand integration tests
      
      * finish basic integration test
      
      * add more integration tests
      
      * begin slots benchmarks
      
      * start paras registrar benchmarks
      
      * fix merge
      
      * fix tests
      
      * clean up paras registrar
      
      * remove println
      
      * remove outdated cleanup config
      
      * update benchmarks
      
      * Add WeightInfo
      
      * enable runtime-benchmarks feature flag
      
      * complete swap benchmark
      
      * add parachains and onboarding into westend
      
      * add benchmarks and genesis
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=auctions --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=slots --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * fix benchmark execution
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=crowdloan --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * Use `new_raise_len` in crowdloan on_initialize
      
      * Update paras_registrar.rs
      
      * fix westend merge
      
      * impl on_swap for crowdloan
      
      * Check fund exists before create
      
      * update for crowdloan sig
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=crowdloan --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * slots on_initialize
      
      * use integration tests environment for benchmarks
      
      * fix hrmp event
      
      * auction on_initialize
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=auctions --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * fix storage name in auctions
      
      * add auction_index to winning data
      
      * winning data takes into account current auction index
      
      * remove println
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=auctions --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=slots --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * Revert "add auction_index to winning data"
      
      * PastRandomness.
      
      * Fixes
      
      * Use new randomness
      
      * fix use of randomness in auctions and runtime config
      
      * expose consts
      
      * fix auction test
      
      * add deposit per byte for para registration
      
      * basic swap integration test
      
      * make swap test more comprehensive
      
      * Add WinningVec for easier retrieval in the front-end.
      
      * clean up `WinningVec` at the end
      
      * Add event for when a new best bid comes in
      
      * Fix propagation of winners in ending period
      
      * fix benchmarks, refund weight in dissolve
      
      * fix unused
      
      * remove some TODOs
      
      * setup opaque keys for paras in westend
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=crowdloan --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * remove unused
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=auctions --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * back to regular runtime config
      
      * use saturating math where user input can be
      
      * better first slot check
      
      * Update runtime/common/src/claims.rs
      
      * update westend onswap impl
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      edd81bf6
  15. Mar 10, 2021
    • André Silva's avatar
      runtime: use babe as randomness source (#2504) · b3603605
      André Silva authored
      * runtime: use babe as randomness source
      
      * runtime: fix randomness api
      
      * bridges: fix random_seed
      
      * parachains: use mock TestRandomness from frame_support_test
      
      * parachains: use mock TestRandomness from frame_support_test
      
      * runtime: update randomness source in test-runtime
      
      * runtime: remove unused import
      
      * parachains: add todo to audit usage of randomness api
      
      * "Update Substrate"
      
      Co-authored-by: parity-processbot <>
      b3603605
  16. Mar 09, 2021
  17. Mar 01, 2021
  18. Feb 27, 2021
  19. Feb 26, 2021
    • Xiliang Chen's avatar
      Add an optional verifier to crowdloan (#2248) · 69734bb8
      Xiliang Chen authored
      
      
      * Add an optional verifier to crowdloan
      
      * add tests
      
      * verify signatures
      
      * benchmark with signatures
      
      * update crowdloan benchmark
      
      * try to get keystore working in test
      
      * rewrite to avoid traits
      
      * Use MultiSignature and MultiSigner
      
      * refactor and update benchmarks
      
      * optimize check order
      
      * fix no_std build
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      69734bb8
  20. Feb 23, 2021
  21. Feb 22, 2021
  22. Feb 19, 2021
    • Shawn Tabrizi's avatar
      Session Delayed Para Changes / Actions Queue (#2406) · a5defa7c
      Shawn Tabrizi authored
      
      
      * initial implementation of lifecycles and upgrades
      
      * clean up a bit
      
      * fix doc comment
      
      * more rigid lifecycle checks
      
      * include paras which are transitioning, and lifecycle query
      
      * format guide
      
      * update api
      
      * update guide
      
      * explicit outgoing state, fix genesis
      
      * handle outgoing with transitioning paras
      
      * do not include transitioning paras in identifier
      
      * Update roadmap/implementers-guide/src/runtime/paras.md
      
      * Update roadmap/implementers-guide/src/runtime/paras.md
      
      * Update roadmap/implementers-guide/src/runtime/paras.md
      
      * Apply suggestions from code review
      
      * Use matches macro
      
      * Correct terms
      
      * Apply suggestions from code review
      
      * actions queue
      
      * Revert "actions queue"
      
      This reverts commit b2e9011ec8937d6c73e99292416c9692aeb30f73.
      
      * collapse onboarding state
      
      * starting actions queue
      
      * consolidate actions queue
      
      * schedule para initialize result
      
      * more actions queue for upgrade/downgrade
      
      * clean up with fully implemented actions queue
      
      * fix tests
      
      * fix scheduler tests
      
      * fix hrmp tests
      
      * fix test
      
      * doc fixes
      
      * fix hrmp test w/ valid para
      
      * Update paras.md
      
      * fix paras registrar
      
      * Update propose_parachain.rs
      
      * fix merge
      
      * Introduce "shared" module
      
      * fix rococo build
      
      * fix up and use shared
      
      * guide updates
      
      * add shared config to common tests
      
      * add shared to test-runtime
      
      * remove println
      
      * fix note
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      a5defa7c
  23. Feb 10, 2021
  24. Feb 09, 2021
  25. Feb 02, 2021
    • Liu-Cheng Xu's avatar
      Conpanion for Substrate#7127 (#1865) · d353c76e
      Liu-Cheng Xu authored
      * Conpanion for Substrate#7127
      
      * Use sp_session::OneSessionHandler
      
      * .
      
      * Fix pallet_session::OneSessionHandler
      
      * OneSessionHandler is in frame_support now
      
      * "Update Substrate"
      
      Co-authored-by: parity-processbot <>
      d353c76e
  26. Jan 16, 2021
  27. Jan 13, 2021
    • Sergey Pepyakin's avatar
      HRMP channel deposits (#2225) · c644c39f
      Sergey Pepyakin authored
      * Drive by fixes
      
      The visibility modifiers are remnants of the previous structure where
      HRMP wasn't a standalone module, by rather a submodule of the router
      module.
      
      * Add Currency assoc type to Config
      
      This would allow us to reserve balance for deposits. This commit also
      integrates the HRMP module in rococo, test-runtime and mocks to use the
      balances pallet.
      
      * Fix a bug that doesn't increment the age
      
      In case the request is not confirmed, the age would be incremented but
      not persisted.
      
      * Fix cleaning the indexes
      
      Before that change, the cleaning of the channel indexes was wrong, because it
      naively removed entire rows that was pertaining to the para we delete.
      This approach is flawed because it doesn't account for the rows that are
      pertaining to other paras that contain the outgoing one.
      
      This clearly violates the invariant imposed on the indexes, that all
      the index rows must contain alive paras, but apart from that it also
      lead to the situation where ingress index would contain the a different
      set of channels that an egress have.
      
      * Reserve currency for opening the channels
      
      Note the ugly `unique_saturated_into` calls. The reason for them is the
      currency trait accepts and defines the `Balance` associated type and the
      deposit values are coming from the `HostConfiguration` where they are
      defined using the `Balance`.
      
      I figured that parameterising `HostConfiguration` would be annoying. On
      the other hand, I don't expect these `unique_saturated_into` calls to
      give us problems since it seems to be a reasonable assumption that this
      module will be instantiated within a runtime where the Currency provided
      will have a Balance that matches the one used in the configuration.
      
      * Tests: Adapt `run_to_block` so that it submits a proper config
      
      * Tests: exercise the deposit logic
      c644c39f
  28. Jan 12, 2021