Skip to content
  1. Aug 16, 2023
  2. Aug 14, 2023
  3. Jul 19, 2023
  4. Jul 13, 2023
    • gupnik's avatar
      Moves `Block` to `frame_system` instead of `construct_runtime` and removes... · 28024144
      gupnik authored
      
      Moves `Block` to `frame_system` instead of `construct_runtime` and removes `Header` and `BlockNumber` (#7431)
      
      * Companion for substrate
      
      * Minor update
      
      * Formatting
      
      * Fixes for cumulus
      
      * Fixes tests in polkadot-runtime-parachains
      
      * Minor update
      
      * Removes unused import
      
      * Fixes tests in polkadot-runtime-common
      
      * Minor fix
      
      * Update roadmap/implementers-guide/src/runtime/configuration.md
      
      Co-authored-by: default avatarordian <[email protected]>
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * update lockfile for {"substrate"}
      
      ---------
      
      Co-authored-by: default avatarordian <[email protected]>
      Co-authored-by: command-bot <>
      28024144
  5. Jul 12, 2023
  6. Jul 10, 2023
  7. Jun 01, 2023
  8. May 25, 2023
    • Michal Kucharczyk's avatar
      pallets: implement `Default` for `GenesisConfig` in `no_std` (#7271) · 3d008cd0
      Michal Kucharczyk authored
      * pallets: implement Default for GenesisConfig in no_std
      
      This change is follow-up of: https://github.com/paritytech/substrate/pull/14108
      
      It is a step towards: https://github.com/paritytech/substrate/issues/13334
      
      * Cargo.lock updated
      
      * update lockfile for {"substrate"}
      
      ---------
      
      Co-authored-by: parity-processbot <>
      3d008cd0
  9. May 19, 2023
  10. May 08, 2023
    • Chris Sosnin's avatar
      paras: dismiss `pvf_checking_enabled` configuration (#7138) · 9c08536d
      Chris Sosnin authored
      * paras: unconditionally precheck pvfs
      
      * Update integration tests
      
      * paras_registrar tests
      
      * runtime benchmark tests
      
      * fix bench
      
      * bypass prechecking in test node
      
      * adjust bench
      
      * ".git/.scripts/commands/bench/bench.sh" runtime polkadot runtime_parachains::paras
      
      * ".git/.scripts/commands/bench/bench.sh" runtime kusama runtime_parachains::paras
      
      * ".git/.scripts/commands/bench/bench.sh" runtime rococo runtime_parachains::paras
      
      * ".git/.scripts/commands/bench/bench.sh" runtime westend runtime_parachains::paras
      
      * use test helper
      
      * fix new test
      
      ---------
      
      Co-authored-by: command-bot <>
      9c08536d
  11. Apr 08, 2023
  12. Mar 20, 2023
  13. Mar 13, 2023
    • Vivek Pandya's avatar
      Remove use of Store trait (#6835) · 87db25ce
      Vivek Pandya authored
      * Remove use of Store trait from runtime directory
      
      * Remove Store trait usage from xcm directory
      
      * Run cargo fmt
      
      * update lockfile for {"substrate"}
      
      ---------
      
      Co-authored-by: parity-processbot <>
      87db25ce
  14. Feb 27, 2023
  15. Jan 17, 2023
    • Gavin Wood's avatar
      XCM v3 (#4097) · 1a1bfd2a
      Gavin Wood authored
      
      
      * cargo fmt
      
      * Create benchmarks for XCM instructions introduced in v3 (#4564)
      
      * Create benchmarks for BurnAsset and ExpectAsset
      
      * Add benchmarks for ExpectOrigin and ExpectError
      
      * Add benchmarks for QueryPallet and ExpectPallet
      
      * Add benchmarks for ReportTransactStatus and ClearTransactStatus
      
      * cargo fmt
      
      * Use AllPalletsWithSystem in mocks
      
      * Update XCM generic benchmarks for westend
      
      * Remove default impls for some XCM weight functions
      
      * Fix compilation error
      
      * Add weight_args helper attribute
      
      * Remove manually written XcmWeightInfo
      
      * Parse trailing comma
      
      * Revert "Add weight_args helper attribute"
      
      This reverts commit 3b7c47a6182e1b9227036c38b406d494c3fcf6fd.
      
      * Fixes
      
      * Fixes
      
      * XCM v3: Introduce querier field into `QueryReponse` (#4732)
      
      * Introduce querier field into QueryReponse
      
      * Convert &Option<MultiLocation> to Option<&MultiLocation>
      
      &Option<T> is almost always never quite useful, most of the time it
      still gets converted to an Option<&T> via `as_ref`, so we should simply
      make functions that accept Option<&T> instead.
      
      * Fix tests
      
      * cargo fmt
      
      * Fix benchmarks
      
      * Appease spellchecker
      
      * Fix test
      
      * Fix tests
      
      * Fix test
      
      * Fix mock
      
      * Fixes
      
      * Fix tests
      
      * Add test for response queriers
      
      * Update xcm/pallet-xcm/src/lib.rs
      
      * Test for non-existence of querier
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Fixes
      
      * Fixes
      
      * Add `starts_with` function to `MultiLocation` and `Junctions` (#4835)
      
      * add matches_prefix function to MultiLocation and Junctions
      
      * rename matches_prefix to starts_with
      
      * remove unnecessary main in doc comment
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Make use of starts_with in match_and_split
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * XCM v3: Bridge infrastructure (#4681)
      
      * XCM bridge infrastructure
      
      * Missing bit of cherry-pick
      
      * Revamped XCM proc macros; new NetworkIds
      
      * Fixes
      
      * Formatting
      
      * ExportMessage instruction and config type
      
      * Add MessageExporter definitions
      
      * Formatting
      
      * Missing files
      
      * Fixes
      
      * Initial bridging config API
      
      * Allow for two-stage XCM execution
      
      * Update xcm/src/v3/mod.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * XCM crate building again
      
      * Initial bridging primitive
      
      * Docs
      
      * Docs
      
      * More work
      
      * More work
      
      * Merge branch 'gav-xcm-v3' into gav-xcm-v3-bridging
      
      * Make build
      
      * WithComputedOrigin and SovereignPaidRemoteExporter
      
      * Remove TODOs
      
      * Slim bridge API and tests.
      
      * Fixes
      
      * More work
      
      * First bridge test passing
      
      * Formatting
      
      * Another test
      
      * Next round of bridging tests
      
      * Repot tests
      
      * Cleanups
      
      * Paid bridging
      
      * Formatting
      
      * Tests
      
      * Spelling
      
      * Formatting
      
      * Fees and refactoring
      
      * Fixes
      
      * Formatting
      
      * Refactor SendXcm to become two-phase
      
      * Fix tests
      
      * Refactoring of SendXcm and ExportXcm complete
      
      * Formatting
      
      * Rename CannotReachDestination -> NotApplicable
      
      * Remove XCM v0
      
      * Minor grumbles
      
      * Formatting
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Cleanup XCM config
      
      * Fee handling
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Bump
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Bump Substrate
      
      * XCM v3: `ExchangeAsset` and Remote-locking (#4945)
      
      * Asset Exchange and Locks
      
      * Make sure XCM typers impl MaxEncodedLen
      
      * Basic implementation for locks
      
      * Bump Substrate
      
      * Missing files
      
      * Use new API
      
      * Introduce  instruction
      
      * Big refactor
      
      * Docs
      
      * Remove deprecated struct
      
      * Remove deprecated struct
      
      * Repot XCM builder tests
      
      * ExchangeAsset test
      
      * Exchange tests
      
      * Locking tests
      
      * Locking tests
      
      * Fixes and tests
      
      * Fixes
      
      * Formatting
      
      * Spelling
      
      * Add simulator test for remote locking
      
      * Fix tests
      
      * Bump
      
      * XCM v3: Support for non-fungibles (#4950)
      
      * NFT support and a test
      
      * New files.
      
      * Integration tests for sending NFTs
      
      * Formatting
      
      * Broken Cargo features
      
      * Use 2021 edition
      
      * Fixes
      
      * Formatting
      
      * Formatting
      
      * Update xcm/xcm-builder/src/asset_conversion.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Update xcm/xcm-builder/src/nonfungibles_adapter.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Update xcm/xcm-executor/src/lib.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * XCM v3: Context & ID hash (#4756)
      
      * send_xcm returns message hash
      
      * cargo fmt
      
      * Create topic register and instructions
      
      * Fix weights
      
      * Use tabs
      
      * Sketch out XcmContext
      
      * Fix doc test
      
      * Add the XCM context as a parameter to executor trait fns
      
      * Fixes
      
      * Add XcmContext parameter
      
      * Revert adding context as an arg to SendXcm trait methods
      
      * Revert adding context argument to ConvertOrigin trait methods
      
      * cargo fmt
      
      * Do not change the API of XcmExecutor::execute
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Remove convenience method
      
      * Fixes
      
      * Fixes
      
      * cargo fmt
      
      * Fixes
      
      * Add benchmarks for XCM topic instructions
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=pallet_xcm_benchmarks::generic --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs
      
      * Remove context argument on FilterAssetLocation
      
      * Fixes
      
      * Remove unused import
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Accept XCM hash parameter in ExecuteXcm trait methods
      
      * cargo fmt
      
      * Properly enable sp-io/std
      
      * Fixes
      
      * default-features = false
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Make XcmContext optional in withdraw_asset
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Modify tests to check for the correct XCM hash
      
      * Small refactor
      
      * cargo fmt
      
      * Check for expected hash in xcm-builder unit tests
      
      * Add doc comment for the optionality of the XCM context in withdraw_asset
      
      * Update xcm/src/v3/traits.rs
      
      * Update xcm/src/v3/traits.rs
      
      * Store XcmContext and avoid rebuilding
      
      * Use ref for XcmContext
      
      * Formatting
      
      * Fix incorrect hash CC @KiChjang
      
      
      
      * Refactor and make clear fake hashes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fix broken hashing
      
      * Docs
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Remove unknowable hash
      
      * Formatting
      
      * Use message hash for greater identifiability
      
      * Formatting
      
      * Fixes
      
      * Formatting
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Formatting
      
      * Remove horrible names
      
      * Bump
      
      * Remove InvertLocation trait (#5092)
      
      * Remove InvertLocation trait
      
      * Remove unneeded functions
      
      * Formatting
      
      * Fixes
      
      * Remove XCMv1 (#5094)
      
      * Remove XCMv1
      
      * Remove XCMv1
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * derive serialize/deserialize for xcm primitives (#5036)
      
      * derive serialize/deserialize for xcm primitives
      
      * derive serialize/deserialize for xcm primitives
      
      * update v3
      
      * update v2
      
      Co-authored-by: default avatarGav Wood <[email protected]>
      
      * Update lock
      
      * Fixes
      
      * Add benchmarks for the ExchangeAsset instruction
      
      * `AliasOrigin` instruction stub (#5122)
      
      * AliasOrigin instruction stub
      
      * Fixes
      
      * Fixes
      
      * Update substrate
      
      * Fixes
      
      * Ensure same array length before using copy_from_slice
      
      * Fixes
      
      * Add benchmarks for the UniversalOrigin instruction
      
      * Remove unused import
      
      * Remove unused import
      
      * Add benchmarks for SetFeesMode instruction
      
      * Add benchmarks for asset (un)locking instructions
      
      * Leave AliasOrigin unbenchmarked
      
      * Fixes after merge
      
      * cargo fmt
      
      * Fixes
      
      * Fixes
      
      * Set TrustedReserves to None on both Kusama and Westend
      
      * Remove extraneous reserve_asset_deposited benchmark
      
      * Fix universal_origin benchmark
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark pallet --chain=westend-dev --steps=50 --repeat=20 --pallet=pallet_xcm_benchmarks::generic --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs
      
      * Don't rely on skipped benchmark functions
      
      * Fixes
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark pallet --chain=kusama-dev --steps=50 --repeat=20 --pallet=pallet_xcm_benchmarks::generic --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./runtime/kusama/src/weights/xcm/pallet_xcm_benchmarks_generic.rs
      
      * Fix unused variables
      
      * Fixes
      
      * Spelling
      
      * Fixes
      
      * Fix codec index of VersionedXcm
      
      * Allows to customize how calls are dispatched from XCM (#5657)
      
      * CallDispatcher trait
      
      * fmt
      
      * unused import
      
      * fix test-runtime
      
      * remove JustDispatch type
      
      * fix typo in test-runtime
      
      * missing CallDispatcher
      
      * more missing CallDispatcher
      
      * Update comment `NoteAssetLocked` -> `NoteUnlockable`
      
      * Fixes
      
      * Fixes
      
      * Adjust MultiAssets weights based on new wild card variants
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Some late fixes for XCMv3 (#5237)
      
      * Maximise chances that trapped assets can be reclaimed
      
      * Do origin check as part of ExportMessage for security
      
      * Formatting
      
      * Fixes
      
      * Cleanup export XCM APIs
      
      * Formatting
      
      * Update xcm/src/v3/junctions.rs
      
      * UnpaidExecution instruction and associated barrier.
      
      * Tighten barriers (ClearOrigin/QueryResponse)
      
      * Allow only 1 ClearOrigin instruction in AllowTopLevelPaidExecutionFrom
      
      * Bi-directional teleport accounting
      
      * Revert other fix
      
      * Build fixes]
      
      * Tests build
      
      * Benchmark fixes
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Update Substrate
      
      * Re-export `pub` stuff from universal_exports.rs + removed unecessary clone (#6145)
      
      * Re-export `pub` stuff from universal_exports.rs
      
      * Removed unnecessary clone
      
      * Use 2D weights in XCM v3 (#6134)
      
      * Depend upon sp-core instead of sp-runtime
      
      * Make sp-io a dev-dependency
      
      * Use 2D weights in XCM v3
      
      * cargo fmt
      
      * Add XCM pallet migration to runtimes
      
      * Use from_parts
      
      * cargo fmt
      
      * Fixes
      
      * cargo fmt
      
      * Remove XCMWeight import
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Use translate in migration
      
      * Increase max upward message size in tests
      
      * Fix doc test
      
      * Remove most uses of from_ref_time
      
      * cargo fmt
      
      * Fixes
      
      * Fixes
      
      * Add extrinsic benchmarking to XCM pallet
      
      * cargo fmt
      
      * Fixes
      
      * Use old syntax
      
      * cargo fmt
      
      * Fixes
      
      * Remove hardcoded weights
      
      * Add XCM pallet to benchmarks
      
      * Use successful origin
      
      * Fix weird type parameter compilation issue
      
      * Fixes
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime rococo-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      * Use benchmarked XCM pallet weights
      
      * Fixes
      
      * Fixes
      
      * Use override instead of skip
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      * Fixes
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      Co-authored-by: command-bot <>
      
      * Replace Weight::MAX with 100b weight units
      
      * Add test to ensure all_gte in barriers is correct
      
      * Update xcm/src/v3/junction.rs
      
      Co-authored-by: default avatarasynchronous rob <[email protected]>
      
      * Add more weight tests
      
      * cargo fmt
      
      * Create thread_local in XCM executor to limit recursion depth (#6304)
      
      * Create thread_local in XCM executor to limit recursion depth
      
      * Add unit test for recursion limit
      
      * Fix statefulness in tests
      
      * Remove panic
      
      * Use defer and environmental macro
      
      * Fix the implementation
      
      * Use nicer interface
      
      * Change ThisNetwork to AnyNetwork
      
      * Move recursion check up to top level
      
      * cargo fmt
      
      * Update comment
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Add upper limit on the number of overweight messages in the queue (#6298)
      
      * Add upper limit on the number of ovwerweight messages in the queue
      
      * Add newline
      
      * Introduce whitelist for Transact and limit UMP processing to 10 messages per block (#6280)
      
      * Add SafeCallFilter to XcmConfig
      
      * Limit UMP to receive 10 messages every block
      
      * Place 10 message limit on processing instead of receiving
      
      * Always increment the message_processed count whenever a message is processed
      
      * Add as_derivative to the Transact whitelist
      
      * cargo fmt
      
      * Fixes
      
      * Update xcm/xcm-builder/src/universal_exports.rs
      
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      
      * Fixes
      
      * Fixes
      
      * Remove topic register and instead use the topic field in XcmContext
      
      * Derive some common traits for DispatchBlobError
      
      * Fixes
      
      * cargo fmt
      
      * Fixes
      
      * Fixes
      
      * Fix comments
      
      * Fixes
      
      * Introduce WithOriginFilter and apply it as the CallDispatcher for runtimes
      
      * Fixes
      
      * Appease clippy and fixes
      
      * Fixes
      
      * Fix more clippy issues
      
      * Fixes
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      * Add benchmark function for ExportMessage
      
      * Fix comment
      
      * Add upper limit to DownwardMessageQueues size
      
      * Add max size check for queue in can_queue_downward_message
      
      * Fixes
      
      * Make Transact runtime call configurable
      
      * Return Weight::MAX when there is no successful send XCM origin
      
      * Update substrate
      
      * Fixes
      
      * Fixes
      
      * Remove ExportMessage benchmark
      
      * Remove assertion on Transact instruction benchmark
      
      * Make reachable destination configurable in XCM pallet benchmarks
      
      * Fixes
      
      * Fixes
      
      * Remove cfg attribute in fuzzer
      
      * Fixes
      
      * Remove cfg attribute for XCM pallet in test runtime
      
      * Fixes
      
      * Use ReachableDest where possible
      
      * Fixes
      
      * Add benchmark for UnpaidExecution
      
      * Update substrate
      
      * Ensure benchmark functions pass filters
      
      * Add runtime-benchmarks feature to fuzzer
      
      * Ensure FixedRateOfFungible accounts for proof size weights
      
      * cargo fmt
      
      * Whitelist remark_with_event when runtime-benchmarks feature is enabled
      
      * Use remark_with_event for Transact benchmarks
      
      * Fix Cargo.lock
      
      * Allow up to 3 DescendOrigin instructions before UnpaidExecution
      
      * cargo fmt
      
      * Edit code comment
      
      * Check check_origin for unpaid execution privilege
      
      * Fixes
      
      * Small nits for xcm-v3 (#6408)
      
      * Add possibility to skip benchmark for export_message
      
      * ".git/.scripts/bench-bot.sh" xcm westend-dev pallet_xcm_benchmarks::generic
      
      * Revert
      
      * ".git/.scripts/bench-bot.sh" xcm westend-dev pallet_xcm_benchmarks::generic
      
      * Add HaulBlobError to `fn haul_blob`
      
      * ".git/.scripts/bench-bot.sh" xcm westend-dev pallet_xcm_benchmarks::generic
      
      Co-authored-by: command-bot <>
      
      * Revert changes to UnpaidExecution
      
      * Change AllowUnpaidExecutionFrom to be explicit
      
      * Fix log text
      
      * cargo fmt
      
      * Add benchmarks for XCM pallet version migration (#6448)
      
      * Add benchmarks for XCM pallet version migration
      
      * cargo fmt
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime rococo-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      * Fix benchmarks
      
      * Fix benchmarks
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime rococo-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      Co-authored-by: command-bot <>
      
      * Merge remote-tracking branch 'origin/master' into gav-xcm-v3
      
      * Fixes
      
      * Fix comments (#6470)
      
      * Specify Ethereum networks by their chain id (#6286)
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Use  for Kusama
      
      * Use WithComputedOrigin for Polkadot, Rococo and Westend
      
      * Update lock
      
      * Fix warning
      
      * Update xcm/pallet-xcm/src/tests.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Update runtime/parachains/src/ump/migration.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update xcm/pallet-xcm/src/migration.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Fixes
      
      * cargo fmt
      
      * Typo
      
      * Update xcm/src/v3/mod.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Docs
      
      * Docs
      
      * Docs
      
      * Docs
      
      * Docs
      
      * Update xcm/src/v3/multiasset.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Add tests for MultiAssets::from_sorted_and_deduplicated
      
      * Fail gracefully when same instance NFTs are detected during push
      
      * Update Substrate to fix benchmarks
      
      * Apply suggestions from code review
      
      * Update runtime/kusama/src/xcm_config.rs
      
      * Rename arguments
      
      * Attempt to fix benchmark
      
      * ".git/.scripts/commands/bench/bench.sh" runtime polkadot-dev runtime_parachains::ump
      
      * Use actual weights for UMP pallet in Polkadot
      
      * ".git/.scripts/commands/bench/bench.sh" runtime kusama-dev runtime_parachains::ump
      
      * ".git/.scripts/commands/bench/bench.sh" runtime westend-dev runtime_parachains::ump
      
      * ".git/.scripts/commands/bench/bench.sh" runtime rococo-dev runtime_parachains::ump
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarstanly-johnson <[email protected]>
      Co-authored-by: default avatarnanocryk <[email protected]>
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      Co-authored-by: default avatarasynchronous rob <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarVincent Geddes <[email protected]>
      Co-authored-by: default avatarSquirrel <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      1a1bfd2a
  16. Jan 12, 2023
    • Marcin S.'s avatar
      pre-checking: Reject failed PVFs (#6492) · 2efa3bab
      Marcin S. authored
      
      
      * pre-checking: Reject failed PVFs
      
      * paras: immediately reject any PVF that cannot reach a supermajority
      
      * Make the `quorum` reject condition a bit more clear semantically
      
      * Add comment
      
      * Update implementer's guide
      
      * Update a link
      
      Not related to the rest of the PR, but I randomly noticed and fixed this.
      
      * Update runtime/parachains/src/paras/tests.rs
      
      Co-authored-by: default avatars0me0ne-unkn0wn <[email protected]>
      
      * Remove unneeded loop
      
      * Log PVF retries using `info!`
      
      * Change retry logs to `warn!` and add preparation failure log
      
      * Log PVF execution failure
      
      * Clarify why we reject failed PVFs
      
      * Fix PVF reject runtime benchmarks
      
      Co-authored-by: default avatars0me0ne-unkn0wn <[email protected]>
      2efa3bab
  17. Jan 11, 2023
  18. Dec 19, 2022
  19. Nov 30, 2022
  20. Nov 01, 2022
  21. Oct 11, 2022
    • Shawn Tabrizi's avatar
      Manual Para Lock (#5451) · bccffcad
      Shawn Tabrizi authored
      * remove para lock check for now
      
      * fmt
      
      * manual para lock
      
      * expose schedule_code_upgrade and set_current_head
      
      * extrinsics and benchmarks
      
      * use zero
      
      * add weights
      
      * fix variable name
      
      * add and fix comments
      
      * fix weights
      
      * add back default lock
      
      Co-authored-by: parity-processbot <>
      bccffcad
  22. Sep 26, 2022
  23. Sep 12, 2022
    • Sergej Sakac's avatar
      Companion for #11981 (#5915) · 8ea6076f
      Sergej Sakac authored
      
      
      * Companion for #11981
      
      * more renaming
      
      * fmt
      
      * fixes
      
      * add generic type
      
      * Companion for #11831
      
      * fix
      
      * revert changes
      
      * Delete rename-outer-enum.diff
      
      * revert
      
      * Update run_benches_for_runtime.sh
      
      * rename type Call & type Event
      
      * passing tests
      
      * fmt
      
      * small fixes
      
      * commit
      
      * fix
      
      * fmt
      
      * commit
      
      * error fixes
      
      * fix
      
      * small fix in test
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * remove RuntimeCall from pallet_grandpa
      
      * last fix
      
      * commit
      
      * rename
      
      * merge fix
      
      * update lockfile for {"substrate"}
      
      * cargo +nightly fmt
      
      * fix
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      8ea6076f
  24. Sep 08, 2022
  25. Sep 01, 2022
    • Shawn Tabrizi's avatar
      Companion for Weight v1.5 Follow Up (#5949) · e28bf2e4
      Shawn Tabrizi authored
      * updates
      
      * remove new
      
      * fix up some stuff
      
      * fix cargo files
      
      * fix
      
      * fix template
      
      * update lockfile for {"substrate"}
      
      * Update block_weights.rs
      
      * remove unused
      
      * remove unused
      
      Co-authored-by: parity-processbot <>
      e28bf2e4
  26. Aug 31, 2022
    • Shawn Tabrizi's avatar
      Companion for Weight v1.5 (#5943) · 28e94d97
      Shawn Tabrizi authored
      * fix to latest substrate pr
      
      * update weights
      
      * cargo build -p polkadot-runtime-parachains
      
      * fix xcm-builder
      
      * fix import
      
      * fix a bunch
      
      * fix a bunch of weight stuff
      
      * kusama compile
      
      * unused
      
      * builds
      
      * maybe fix
      
      * cargo test -p polkadot-runtime-parachains
      
      * xcm simulator example
      
      * fix tests
      
      * xcm sim fuzz
      
      * fix runtime tests
      
      * remove unused
      
      * fix integration tests
      
      * scalar div
      
      * update lockfile for {"substrate"}
      
      Co-authored-by: parity-processbot <>
      28e94d97
  27. Apr 04, 2022
  28. Mar 24, 2022
    • Sergei Shulepov's avatar
      paras: `include_pvf_check_statement` rt bench (#4938) · c8fda4f1
      Sergei Shulepov authored
      
      
      * paras: `include_pvf_check_statement` rt bench
      
      Resolves #4933
      
      This PR adds a benchmark for the `include_pvf_check_statement`
      dispatchable. This is a necessary step to make it work without
      modifications. That enables us to proceed with testing on Versi.
      
      This introduces 5 new benchmarks. Those measure performance of the
      `include_pvf_check_statement` under 2 different conditions:
      
      1. regular vote submission. That's the common case.
      2. submission of the last vote. That happens only once and leads to a
         heavy finalization stage.
      
      There are 2 different types of finalization (one for onboarding, one for
      upgrading) and there are two outcomes: accepted and rejected. Those 4
      are similar but I decided to cover them all and assign the maximum of
      all 4. This is to avoid a situation when one of those paths becomes more
      heavier than others and opens up an attack venue.
      
      The regular vote submission weight is drastically different from the
      submission last vote weight. That's why in case during runtime
      finalization was not executed the weight consumed value will be lowered
      down to the regular vote submission.
      
      The finalization weight is proportional to the number of "causes", i.e.
      the events that caused the PVF pre-checking vote in the first place, and
      here we assume that the maximum number of causes is 100.
      
      Theoretically, there is nothing that prevents an adversary to
      register/upgrade to more than 100 parachains. In that case, the consumed
      weight will be lower than the actual time consumed by the finalization
      process. That can enable a DoS vector.
      
      However, practically, it is not very possible. Right now it is very
      expensive to call `schedule_para_initialize` because it requires a very
      large lock up of funds. Moreover, finalizing a vote with 100 causes
      leads to around 31ms time spent. Finalizing more will require more time.
      However, finalizing with 200 causes will cause ≈62ms delay. This is not
      that bad since even though we had a full block and the adversary tried
      to finalize 200 causes it won't be able to even exceed the operational
      extrinsic boundary of 250ms and even if so it won't make big difference.
      
      That said, this should be addressed later on, esp. when we enable
      parathreads, which will make creating causes easier. One of potential
      solutions will be shifting the logic of finalization into
      `on_initialize`/`on_finalize`. Another is to create a maximum number of
      causes and then reject upgrades or onboardings if that was reached.
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras.rs
      
      * cargo run --quiet --profile=production --features runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/rococo/src/weights/runtime_parachains_paras.rs
      
      * Fix import error
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarRobert Klotzner <[email protected]>
      Co-authored-by: default avatarLldenaurois <[email protected]>
      c8fda4f1
  29. Mar 09, 2022
    • asynchronous rob's avatar
      Finish migration to v2 primitives (#5037) · 49f7e5cc
      asynchronous rob authored
      * remove v0 primitives from polkadot-primitives
      
      * first pass: remove v0
      
      * fix fallout in erasure-coding
      
      * remove v1 primitives, consolidate to v2
      
      * the great import update
      
      * update runtime_api_impl_v1 to v2 as well
      
      * guide: add `Version` request for runtime API
      
      * add version query to runtime API
      
      * reintroduce OldV1SessionInfo in a limited way
      49f7e5cc
  30. Feb 25, 2022
  31. Feb 22, 2022
    • Sergei Shulepov's avatar
      paras: `initialize_para_now` and `ParachainsCache` (#4934) · 95a78e87
      Sergei Shulepov authored
      This commit adds a new primitive called `ParachainsCache` to manipulate
      the `Parachains` storage entry in a more convenient way.
      
      Then, on top of that, this commit changes the logic of
      `initialize_para_now` so that it is identical to what is used for
      initialization of onboarding.
      95a78e87
  32. Feb 16, 2022
  33. Jan 21, 2022
    • Kian Paimani's avatar
      HRMP benchmarks (#3876) · 3cb2d626
      Kian Paimani authored
      
      
      * wip template for hrmp benchmarks
      
      * add all of the benchmarks, first draft
      
      * File was not saved :/
      
      * cargo +nightly fmt
      
      * Use configs
      
      * add configs
      
      * Fix rococo
      
      * Final touches
      
      * revert fmt changes, one last time
      
      * Fix wrappings
      
      * Fix a bunch of tests
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::hrmp --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_hrmp.rs
      
      * add to westend
      
      * actually use everything
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::hrmp --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_hrmp.rs
      
      * Update runtime/parachains/src/hrmp.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * use real weight in wnd
      
      * reorg
      
      * minor cleanup
      
      * weigh some of the internal stuff as well
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::hrmp --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_hrmp.rs
      
      * cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::hrmp --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_hrmp.rs
      
      * add files
      
      * Master.into()
      
      * add validation
      
      * fmt
      
      * fmt
      
      * final fixes
      
      * all runtimes build
      
      * undo formatting
      
      * Update runtime/parachains/src/hrmp.rs
      
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      
      * non-controversial changes
      
      * do it the parachain-way: use const instead of type configs for simplicity.
      
      * borrow assert_storage_consistency_exhaustive
      
      * move assert_storage_consistency_exhaustive to Pallet, so it can be reused for benchmarks as well.
      
      * fix typo
      
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarSergey Shulepov <[email protected]>
      Co-authored-by: default avatarZeke Mostov <[email protected]>
      3cb2d626
  34. Jan 20, 2022
  35. Jan 17, 2022
    • Sergey Pepyakin's avatar
      paras: do not allow PVF vote submission if disabled (#4684) · 815021ab
      Sergey Pepyakin authored
      if the PVF pre-checking is disabled the runtime dispatchable will reject
      any attempts of submission. This is also concern the unsigned tx
      validation.
      
      Right now, the `include_pvf_check_statement` dispatchable is effectively
      uncallable because of the weight set to the maximum value. If we were to
      benchmark it, it would become includable in a block, but since there
      will be no active votes, the dispatchable won't do anything.
      
      However, it will execute some code, like signature validation and
      querying some storage entries. To be completely safe, we can bail out
      early if the `pvf_checking_enabled` config is disabled. That's what this
      PR does.
      815021ab
  36. Jan 13, 2022
    • Sergey Pepyakin's avatar
      paras: Add runtime events for PVF pre-checking (#4683) · 21419a81
      Sergey Pepyakin authored
      In this PR, paras module emit runtime events on certain PVF pre-checking
      related conditions.
      
      Specifically, there are 3 new events in the paras module:
      
      1. PvfCheckStarted
      2. PvfCheckAccepted
      3. PvfCheckRejected
      
      All of those have identifiers for the parachain that triggered the PVF
      pre-checking and the validation code that goes through the pre-checking.
      
      The mechanics of those are as follows. Each time a new PVF is added, be
      it due to onboarding or upgrading, the `PvfCheckStarted` will be
      triggered. If another parachain triggers a pre-checking process for the
      validation code which is already being pre-checked, another
      `PvfCheckStarted` event will be triggered with the corresponding para
      id.
      
      When the PVF pre-checking voting for a PVF was finished, several
      `PvfCheckAccepted/Rejected` events will be triggered: one for each para id that
      was subscribed to this check (i.e. was a "cause" for it).
      
      If the PVF pre-checking is disabled, then one can still expect these
      events to be fired. Since insta PVF approval is syncronous, the
      `PvfCheckStarted` will be followed by the `PvfCheckAccepted` with the
      same validation code and para id.
      
      If somebody is interested in following validation code changes for a PVF
      of a parachain, they would need to subscribe to those events. I did not
      supply the topics for the events, since I am not sure if that's needed
      or will be used, but they can be added later if needed.
      21419a81
  37. Jan 07, 2022
  38. Jan 03, 2022
  39. Jan 01, 2022
    • Sergey Pepyakin's avatar
      chore: fix copy&paste and tidy comments (#4646) · 78b3dc21
      Sergey Pepyakin authored
      As was brought up in [here][og], we have some copy&paste comments. I
      fixed them and also took liberty of fixing some other places.
      Specifically, those that say "module" instead of contemporary "pallet".
      
      [og]:
      https://github.com/paritytech/polkadot/pull/4603#discussion_r776971291
      78b3dc21
  40. Dec 31, 2021
    • Sergey Pepyakin's avatar
      paras: fix upgrade restriction signal (#4603) · 5f6a0392
      Sergey Pepyakin authored
      Closes #3971
      
      Read the linked issue.
      
      Apart from that, this addresses the concern raised in this [comment] by
      just adding a test. I couldn't find a clean way to reconcile a block
      number delay with a PVF voting TTL, so I just resorted to rely on the
      test. Should be fine for now.
      
      [comment]: https://github.com/paritytech/polkadot/pull/4457#discussion_r770517562
      5f6a0392