Gavin Wood
85dfadff2c
XCM: Tools for uniquely referencing messages ( #7234 )
...
* Tools for unique topic references
* Formatting
* Naming
* Repot into routing.rs.
* More things done
* Universal Exporter supports topic-as-reference
* Some tests for the topic routing
* More tests
* Paid bridge tests
* Add message ID to sending events
* Formatting
* fix and integrate into test nets
* Move DenyThenTry and friend from Cumulus
* Append SetTopic rather than prepend
* Docs
* Docs
* Work with new ProcessMessage ID API
* Formatting
* Fix build
* Fixes
* Formatting
* Update xcm/xcm-builder/src/barriers.rs
Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com >
* Update xcm/xcm-builder/src/routing.rs
Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com >
* Docs
* Rename message_hash
* Formatting
* ".git/.scripts/commands/fmt/fmt.sh"
* Rename
* Another Rename
* ".git/.scripts/commands/fmt/fmt.sh"
* ".git/.scripts/commands/fmt/fmt.sh"
* Update xcm/xcm-builder/src/routing.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
---------
Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com >
Co-authored-by: command-bot <>
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
2023-05-25 07:57:32 +01:00
Oliver Tale-Yazdi
7d8ecced0e
Add erasure-coding/fuzzer to workspace ( #7210 )
...
* Add to workspace
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fmt
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Remove dumb clones
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update Cargo.lock
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: parity-processbot <>
2023-05-11 22:55:45 +00:00
Keith Yeung
d20e3c1145
XCM: Implement a blocking barrier ( #7098 )
...
* Move XCM matcher to xcm-builder
* Use ProcessMessageError as the error type in MatchXcm and ShouldExecute
* Implement a blocking barrier
* Fixes
* Add benchmarking for force_suspension
* ".git/.scripts/commands/bench/bench.sh" runtime westend pallet_xcm
* ".git/.scripts/commands/bench/bench.sh" runtime rococo pallet_xcm
* ".git/.scripts/commands/bench/bench.sh" runtime kusama pallet_xcm
* ".git/.scripts/commands/bench/bench.sh" runtime polkadot pallet_xcm
* ".git/.scripts/commands/bench/bench.sh" runtime westend pallet_xcm
* ".git/.scripts/commands/bench/bench.sh" runtime rococo pallet_xcm
---------
Co-authored-by: command-bot <>
2023-04-27 10:22:39 +00:00
Keith Yeung
a8d80532ce
Revert default proof size back to 64 KB ( #7115 )
...
* Revert default proof size back to 64 KB
* Fix test expectations
* Enhance unit test
* cargo fmt
* Fix comment
2023-04-24 12:24:44 +00:00
Keith Yeung
8b0b86651f
Reduce base proof size weight component to zero ( #7081 )
...
* Reduce base proof size weight component to 1KiB
* Create TempFixedXcmWeight and set PoV weight to 0
* Set DEFAULT_PROOF_SIZE to 0
* Fix comment
* Update test expectations
* Fix comment
2023-04-21 14:16:50 +00:00
Keith Yeung
023d459857
XCM: Properly set the pricing for the DMP router ( #6843 )
...
* Properly set the pricing for the DMP router
* Publicize price types
* Use FixedU128 instead of Percent
* Add sp-arithmetic as a dependency for rococo runtime
* Add sp-arithmetic as a dependency to all runtimes
* Remove duplicate import
* Add missing import
* Fix tests
* Create an appropriate QueueDownwardMessageError variant
* Recalculate delivery fee factor based on past queue sizes
* Remove unused error variant
* Fixes
* Fixes
* Remove unused imports
* Rewrite fee factor update mechanism
* Remove unused imports
* Fixes
* Update runtime/parachains/src/dmp.rs
Co-authored-by: Squirrel <gilescope@gmail.com >
* Make DeliveryFeeFactor be a StorageMap keyed on ParaIds
* Fixes
* introduce limit for fee increase on dmp queue
* add message_size based fee factor to increment_fee_factor
* change message_size fee rate to correct value
* fix div by 0 error
* bind limit to variable
* fix message_size_factor and add DeliveryFeeFactor test
* add test for ExponentialPrice implementation
* make test formula based
* make delivery fee factor test formula based
* add max value test for DeliveryFeeFactor and move limit to config
* change threshold back to dynamic value and fix tests
* fmt
* suggested changes and fmt
* small stylistic change
* fmt
* change to tokenlocation
* small fixes
* fmt
* remove sp_arithmetic dependency
* Update runtime/parachains/src/dmp.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
---------
Co-authored-by: Squirrel <gilescope@gmail.com >
Co-authored-by: Just van Stam <just.van.stam@gmail.com >
Co-authored-by: Just van Stam <vstam1@users.noreply.github.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2023-04-20 11:04:33 +00:00
s0me0ne-unkn0wn
64660ee8d2
Remove years from copyright notes ( #7034 )
...
* Happy New Year!
* Remove year entierly
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Remove years from copyright notice in the entire repo
---------
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2023-04-08 20:38:35 +00:00
Xiliang Chen
b2a15ed8c1
remove duplicated arm and fix version index ( #6884 )
...
* remove duplicated arm
* annotate the version index
* add tests
* fmt
2023-03-16 15:26:55 +00:00
Guantong
1c2215a75a
Correct comment ( #6839 )
2023-03-08 12:22:02 +00:00
Keith Yeung
d29951e2f8
Introduce XCM matcher for writing barriers ( #6756 )
...
* Introduce XCM matcher for writing barriers
* Fix compilation
* cargo fmt
* Add more doc comments
* Add mod doc comment
* More doc comments
* Add tests and fix logic
* Remove redundant syntax
* Add more doc comments
* Add more doc comments
* Add more doc comments
2023-03-04 05:37:56 +00:00
Oliver Tale-Yazdi
177bedc160
Migrate to Weight::from_parts ( #6794 )
...
* Migrate to from_parts
Have a look at https://github.com/ggwpez/substrate-scripts/blob/master/migrate-from-parts.py
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Adapt to master
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* update lockfile for {"substrate"}
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: parity-processbot <>
2023-03-03 00:32:30 +01:00
Gavin Wood
9c35763017
v3::Junction supports small (32-byte max) "vecs". ( #6716 )
...
* v3::Junction supports small (32-byte max) "vecs".
* Formatting
* Add test
2023-02-14 13:31:27 +00:00
Keith Yeung
7619fea80f
Remove BoundedVec half-impls in xcm ( #6636 )
...
* Replace sp-core dependency with more primitive crates
* Remove BoundedVec half-impls in xcm
* Fixes
* Bump bounded-collections
* Address review comments
* Bump bounded-collections
* Fix benchmarks
* Fixes
* Fixes
* cargo fmt
* Fix tests
* Update url
* Bump url to 2.3.1
* Bump anyhow
* Use bounded-collections in pallet-xcm
* Update substrate
2023-02-09 02:42:59 +00:00
Gavin Wood
808ff7d3f8
Disallow decoding of phantom asset ( #6597 )
...
* Disallow decoding of phantom asset
* Remove pub
2023-01-20 18:15:33 +00:00
Gavin Wood
8eeb654b04
XCM: ExpectTransactStatus instruction ( #6578 )
...
* Introduce ExpectTransactStatus instruction
* Remove other changes
* Implement
* Implement rest
* Benchmark
* Update xcm/src/v3/mod.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
* Update xcm/src/v3/mod.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
2023-01-19 06:59:38 +00:00
Gavin Wood
1a1bfd2af9
XCM v3 ( #4097 )
...
* 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: Keith Yeung <kungfukeith11@gmail.com >
* 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: Bastian Köcher <bkchr@users.noreply.github.com >
* Make use of starts_with in match_and_split
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
* 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: Keith Yeung <kungfukeith11@gmail.com >
* 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: Keith Yeung <kungfukeith11@gmail.com >
* 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: Keith Yeung <kungfukeith11@gmail.com >
* Update xcm/xcm-builder/src/nonfungibles_adapter.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
* Update xcm/xcm-executor/src/lib.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
* Fixes
* Fixes
* Fixes
* Formatting
* Fixes
Co-authored-by: Bastian Köcher <info@kchr.de >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
* 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: Keith Yeung <kungfukeith11@gmail.com >
Co-authored-by: Parity Bot <admin@parity.io >
* 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: Gav Wood <gavin@parity.io >
* 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: Keith Yeung <kungfukeith11@gmail.com >
* 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: asynchronous rob <rphmeier@gmail.com >
* 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: Bastian Köcher <info@kchr.de >
* 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: Branislav Kontur <bkontur@gmail.com >
* 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: Squirrel <gilescope@gmail.com >
* Use for Kusama
* Use WithComputedOrigin for Polkadot, Rococo and Westend
* Update lock
* Fix warning
* Update xcm/pallet-xcm/src/tests.rs
Co-authored-by: Squirrel <gilescope@gmail.com >
* Update runtime/parachains/src/ump/migration.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update xcm/pallet-xcm/src/migration.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fixes
* cargo fmt
* Typo
* Update xcm/src/v3/mod.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Docs
* Docs
* Docs
* Docs
* Docs
* Update xcm/src/v3/multiasset.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* 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: Keith Yeung <kungfukeith11@gmail.com >
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Bastian Köcher <info@kchr.de >
Co-authored-by: Parity Bot <admin@parity.io >
Co-authored-by: stanly-johnson <stanlyjohnson@outlook.com >
Co-authored-by: nanocryk <6422796+nanocryk@users.noreply.github.com >
Co-authored-by: Branislav Kontur <bkontur@gmail.com >
Co-authored-by: asynchronous rob <rphmeier@gmail.com >
Co-authored-by: command-bot <>
Co-authored-by: Vincent Geddes <vincent.geddes@hey.com >
Co-authored-by: Squirrel <gilescope@gmail.com >
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2023-01-17 07:04:34 +00:00
Muharem Ismailov
dd46523f82
Kusama origins as xcm multi_location ( #6273 )
...
* Kusamsa origins as xcm multilocation
* Fellows origin index
* origins to xcm plurality body
* cleanup
* fix cargo spellcheck
* Apply suggestions from code review
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* include Fellows into scope
* include Fellows into scope
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
Co-authored-by: Gavin Wood <gavin@parity.io >
2022-12-21 08:33:01 +00:00
joe petrowski
8456b2ec90
Add starts_with to v0 and v1 MultiLocation ( #6311 )
...
* add `starts_with` to v0 and v1 MultiLocation
* add tests
* fmt
2022-11-20 17:31:06 +01:00
Sergej Sakac
8ea6076fe5
Companion for #11981 ( #5915 )
...
* 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: Shawn Tabrizi <shawntabrizi@gmail.com >
2022-09-12 23:03:47 +00:00
Keith Yeung
2c85668512
Companion for paritytech/substrate#11631 ( #5671 )
...
* Companion for paritytech/substrate#11631
* Fixes
* Update sp-runtime
* Fixes
* update lockfile for {"substrate"}
* remove unused
Co-authored-by: parity-processbot <>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2022-06-16 13:36:01 -04:00
Qinxuan Chen
74078d8eb9
Comanion for substrate#11136 ( #5218 )
...
* Comanion for substrate#11136
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
* revert changes in bridge
Signed-off-by: koushiro <koushiro.cqx@gmail.com >
2022-04-04 11:13:34 +02:00
Keith Yeung
cf509bdb51
Use derive macro to generate XcmWeightInfo trait ( #4618 )
...
* Use derive macro to generate XcmWeightInfo trait
* Move the Weight type alias out of proc macro
2021-12-29 06:38:11 +00:00
Keith Yeung
f873384852
Create a README for XCMv2 detailing notable changes ( #4059 )
...
* Create a README for XCMv2 detailing notable changes
* Typo
* Appease spellcheck and cargo fmt
* Add XCM pallet item to be aware of
* cargo fmt
* Remove all XCM README.md
2021-12-18 06:05:52 +00:00
Gavin Wood
32bb94afff
Reanchor should return canonical location ( #4470 )
...
* Reanchor should return canonical
* Formatting
* Formatting
* Update xcm/src/v1/multilocation.rs
* Formatting
* Fixes
* Don't discard unreanchorable assets
* Formatting
* Docs
* Fixes
* Fixes
* tidy
2021-12-14 09:21:34 +01:00
Keith Yeung
5491f088a9
Use saturating_add when converting a Vec<MultiAsset> to MultiAssets ( #4492 )
2021-12-08 20:59:33 +01:00
Shawn Tabrizi
bf5808eb7f
XCM Benchmarks for Generic Instructions ( #3940 )
...
* initial stuff
* quick fixes
* move to individual tests
* dont need these
* Update benchmarking.rs
* add to westend
* make benchmarks execute
* fix compile
* add post_execute
* ClaimAsset benchmark working
* subscribe and unsubscribe benchmarks
* benchmark for initiate reserve withdraw
* cargo run --quiet --release --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
* fix spell check
* cargo run --quiet --release --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
* update worst case for query_holding
* cargo run --quiet --release --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
* move verification logic below
* introduce worst case holding to initiate reserve withdraw
* cargo run --quiet --release --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
* feedback
* cargo run --quiet --release --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
* Revert "cargo run --quiet --release --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"
This reverts commit 277903944be620dc57d83b9bcf3b462d2fb73ab5.
* fix benchmark template
* cargo run --quiet --release --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
* use response::version
* cargo run --quiet --release --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
* refactor worst case holding
* cargo run --quiet --release --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
* fmt
* one more todo needs to be labeled
* change option to result with benchmark error
* fmt and fix import
Co-authored-by: Parity Bot <admin@parity.io >
2021-12-01 23:52:18 +00:00
Gavin Wood
c699ca9c7b
Fix use of weight limit errors ( #4358 )
2021-11-24 13:26:33 +01:00
Keith Yeung
769595eea5
Create a README for XCMv1 detailing notable changes ( #4058 )
...
* Create a README for XCMv1 detailing notable changes
* Update xcm/src/v1/README.md
Co-authored-by: Gavin Wood <gavin@parity.io >
* Update xcm/src/v1/README.md
Co-authored-by: David <dvdplm@gmail.com >
* Update xcm/src/v1/README.md
Co-authored-by: David <dvdplm@gmail.com >
* Update xcm/src/v1/README.md
Co-authored-by: David <dvdplm@gmail.com >
* Update xcm/src/v1/README.md
Co-authored-by: David <dvdplm@gmail.com >
* Link to relevant PR for a full list of changes
* Typo
* Add notable changes to top-level XCM rustdoc
* Appease spellchecker
Co-authored-by: Gavin Wood <gavin@parity.io >
Co-authored-by: David <dvdplm@gmail.com >
2021-10-13 11:17:30 +00:00
Gavin Wood
3bab876bc1
Tidy up XCM errors in preparation for v2. ( #3988 )
...
* Tidy up XCM errors
* Tidy up errors
* Re-order
* Fixes
* Formatting
* map undefined errors
* add functor to dictionary
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-10-02 00:14:13 +02:00
Keith Yeung
819849f097
Make most XCM APIs accept an Into<MultiLocation> where MultiLocation is accepted ( #3627 )
...
* Change send_xcm MultiLocation argument to be generic
* Change pallet_xcm::send_xcm MultiLocation and Junctions argument to be generic
* Change convert_origin MultiLocation argument to be generic
* Change OnResponse MultiLocation arguments to be generic
* Change UniversalWeigher MultiLocation argumente to be generic
* Change ExecuteXcm MultiLocation argument to be generic
* Remove usages of into for the MultiLocation argument in execute_xcm
* Make use of generic MultiLocation arguments in rustdocs
* Cargo fmt
* Remove unused import in tests
* Resolve conflicts
* cargo fmt
* Appease spellcheck
* impl Into<MultiLocation> in more places
2021-09-29 23:24:49 +00:00
Bernhard Schuster
c57a1e7934
remove AllSubsystems and AllSubsystemsGen types ( #3874 )
...
* introduce the OverseerConnector, use it
* introduce is_relay_chain to RelayChainSelection
* Update node/service/src/lib.rs
Co-authored-by: Andronik Ordian <write@reusable.software >
* avoid the deferred setting of `is_relay_chain` in `RelayChainSelection`
* positive assertion is not mandated, only the negative one, to avoid a stall
* cleanup: overseer residue
* spellcheck
* fixin
* groundwork to obsolete Overseer::new and AllSubsystemsGen proc-macro
* Now all malus & tests can be ported to the builder pattern.
Obsoletes `Overseer::new`, `AllSubsystemsGen` derive macro, `AllSubsystems`.
* spellcheck
* adjust tests, minor fixes
* remove derive macro AllSubsystemsGen
* add forgotten file dummy.rs
* remove residue
* good news everyone!
* spellcheck
* address review comments
* fixup imports
* make it conditional
* fixup docs
* reduce import
* chore: fmt
* chore: fmt
* chore: spellcheck / nlprules
* fixup malus variant-a
* fmt
* fix
* fixins
* pfmt
* fixins
* chore: fmt
* remove expanded overseer generation
* tracing version
* Update node/network/statement-distribution/src/lib.rs
Co-authored-by: Robert Habermeier <rphmeier@gmail.com >
* use future::ready instead
* silence warning
* chore: fmt
Co-authored-by: Andronik Ordian <write@reusable.software >
Co-authored-by: Robert Habermeier <rphmeier@gmail.com >
2021-09-29 14:24:56 +00:00
Shawn Tabrizi
6fa18a2339
add type info derive to senderror ( #3860 )
2021-09-15 17:41:49 -05:00
Andrew Jones
4c7539cab5
Companion for #8615 : enrich metadata with type information ( #3336 )
...
* Use beefy branch with scale-info
* Add patches
* Sprinkle some TypeInfo derives
* Add some TypeInfo deriv
* Cargo.lock
* Derive TypeInfo and skip type params for Xcm types
* Cargo.lock
* Fix up scale_info bounds attributes
* Fix up dependencies
* Use my own beefy-primitives branch
* Bump BEEFY
* Update patches
* Add some scale-info dependencies and TypeInfo derives
* More TypeInfo decoration
* Update scale-info
* Some TypeInfos and remove more Event pallet::metadata
* Moar TypeInfos
* TypeInfos galore, fix up metadata runtime API
* TypeInfo
* TypeInfos, update other runtime metadata APIs
* Fix up Kusama, comment out some `usize` QueueSize parameter types
* Remove local diener patches
* Cargo.lock
* Cargo.lock
* Update to scale-info crates.io release
* Update primitive-types branch
* Update pallet-beefy to use custom branch
* Update other parity-common deps
* Update parity-common patches
* bump a bunch of deps in parity-common
* Remove parity-common patches
* Bump finality-grandpa version
* Cargo.lock
* Update scale-info to 0.9.1
* Add recursion_limit for runtime-parachains
* Add some scale_info attributes
* Cargo.lock
* Revert finality-grandpa bump
* Cargo.lock, scale-info update
* cargo update
* Make sure using patched version of finality-grandpa
* Use patched scale-info
* Update to scale-info 0.10.0
* Update finality-grandpa
* Cargo.lock
* Update beefy deps
* Update beefy deps again
* Add scale-info dependency
* Remove deprecated pallet::metadata attributes.
* Add some missing scale-info deps and derives
* Use some variant struct call syntax
* Add missing TypeInfo impl
* Add some more TypeInfo impls
* Convert some call enum struct variant constructors
* More scale-info deps and derives
* Call enum struct variants
* TypeInfo derives
* Call enum variant structs
* scale-info deps and derives
* Call enum variant struct constructors
* Use beefy-primitives scale-info feature
* Use grandpa-bridge-gadget master branch
* Remove finality-grandpa patch
* Add missing scale_info dependency and derive
* Fix up some call variant constructors
* Add missing scale_info dependency
* Fix some test errors
* More TypeInfo derives
* More call variant structs
* Call variant structs in tests
* Cargo.lock
* Fmt
* Fix more call struct variants
* Another call struct variant
* add scale-info/std features explicitly
* More call struct variants
* Add missing scale-info dependency
* Fmt
* review: activate scale-info/std where missing
* Remove some duplicate std feature activation
* review: add scale_info bounds() attr
* More call variant structs
* Remove recursion limit
* Update beefy-primitives
* Update beefy-primitives
* Fix simnet call variant struct errors
* Fmt
* cargo update -p beefy-primitives
* Add some missing TypeInfo derives
* Fix some call variants
* Fix some call variant underscores
* Cargo.lock
* Cargo.lock
* Add missing TypeInfo derive
* Add some more missing TypeInfo derives
* Even more missing TypeInfo derives
* Add TypeInfo derives to new xcm types
* Fmt
* Cargo.lock
* Add missing TypeInfo impls
* Cargo.lock
* More missing TypeInfos
* Fixes
* Cargo.lock
* Cargo.lock
* Add TypeInfo impls to xcm v2
* Update to scale-info 1.0
* Update finality-grandpa 0.14.4, patch for now
* Update beefy
* Remove patched finality-grandpa
* Add TypeInfo impl to Outcome
* Fixes
* Call variant struct
* Call variant struct
* Fix test
* Add TypeInfo impl
* Cargo.lock
* Cargo.lock
* Cargo.lock
* git checkout master Cargo.lock
* update Substrate
* Add missing scale-info features for beefy-primitives
* Fmt
* Remove check for now
* Update beefy-primitives, removes scale-info feature
* Update beefy-primitives again
Co-authored-by: adoerr <0xad@gmx.net >
Co-authored-by: Andronik Ordian <write@reusable.software >
Co-authored-by: thiolliere <gui.thiolliere@gmail.com >
Co-authored-by: parity-processbot <>
Co-authored-by: Bastian Köcher <info@kchr.de >
2021-09-15 15:38:45 -05:00
Shawn Tabrizi
3d18ad34a9
Introduce XCM Weight Traits ( #3802 )
...
* introduce xcm weight traits
* patch some low hanging fruit
* add weightinfobound
* use checked math rather than saturating
* Update xcm/xcm-builder/src/weight.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Revert "Update xcm/xcm-builder/src/weight.rs"
This reverts commit 6331b874f3dccf7f01a051ca6d4ee4d14a23a82d.
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2021-09-07 23:42:05 +00:00
Gavin Wood
82ffe7dd17
XCM: Automatic Version Negotiation ( #3736 )
...
* XCM: Automatic Version Negotiation
* Introduce the version instructions and subscription trait
* Notification and subscription data migration
* Version change subscriptions
* Fixes
* Formatting
* Spelling
* Fixes
* Fixes
* Automatic unsubscription
* Formatting
* Expose remote origin in VM and ensure it is unchanged from actual origin in subscription instructions.
* Barrier
* Unsubscription extrinsic
* Remove top_level param
* Formatting
* Fixes
* Automatic subscription
* Formatting
* Spelling
* Unit tests for XCM executor
* Formatting
* Spellin
* Unit test for XCM pallet subscriber side
* Formatting
* More tests
* Formatting
* Fixes
* Subscription-side tests
* Formatting
* Unit tests for XCM pallet
* Formatting
* Update roadmap/implementers-guide/src/types/overseer-protocol.md
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Remove commented code
* Grumbles
* Multi-stage XCM version migration
* Formatting
* v1 subscriptions backport
* Warning
* Spelling
* Fix grumbles
* Formatting
* Avoid running through old notifications
* Formatting
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-09-02 18:47:38 +02:00
Keith Yeung
64cbeab3b3
Return a Result in invert_location ( #3730 )
...
* Return a Result in invert_location
* Add invertible to spellcheck dictionary
* Fix Some -> Ok
2021-08-28 02:17:51 +02:00
Gavin Wood
636d0b030f
XCM: Allow reclaim of assets dropped from holding ( #3727 )
...
* XCM: Introduce AssetTrap
* Revert reversions
* Remove attempts at weighing and add test
* Less storage use for asset trapping
* Add missing file
* Fixes
* Fixes
* Formatting
* Fixes
* Docs
* Filter types to allow runtimes to dictate which assets/origins should be trapped
* Formatting
* Tests
* Formatting
* Fixes
* Docs
2021-08-28 02:09:36 +02:00
Gavin Wood
8b80b283d4
XCM v2: Scripting, Query responses, Exception handling and Error reporting ( #3629 )
...
* Intoduce XCM v2
Also some minor fix for v0/v1
* Minor version cleanup
* Minor version cleanup
* Introduce SendError for XcmSend trait to avoid cycles with having Outcome in Xcm
* comment
* Corrent type
* Docs
* Fix build
* Fixes
* Introduce the basic impl
* Docs
* Add function
* Basic implementation
* Weighed responses and on_report
* Make XCM more script-like
* Remove BuyExecution::orders
* Fixes
* Fixes
* Fixes
* Formatting
* Initial draft and make pallet-xcm build
* fix XCM tests
* Formatting
* Fixes
* Formatting
* spelling
* Fixes
* Fixes
* spelling
* tests for translation
* extra fields to XCM pallet
* Formatting
* Fixes
* spelling
* first integration test
* Another integration test
* Formatting
* fix tests
* all tests
* Fixes
* Fixes
* Formatting
* Fixes
* Fixes
* Formatting
* Bump
* Remove unneeded structuring
* add instruction
* Fixes
* spelling
* Fixes
* Fixes
* Formatting
* Fixes
* Fixes
* Formatting
* Introduce and use VersionedResponse
* Introduce versioning to dispatchables' params
* Fixes
* Formatting
* Rest of merge
* more work
* Formatting
* Basic logic
* Fixes
* Fixes
* Add test
* Fixes
* Formatting
* Fixes
* Fixes
* Fixes
* Nits
* Simplify
* Spelling
* Formatting
* Return weight of unexecuted instructions in case of error as surplus
* Formatting
* Fixes
* Test for instruction count limiting
* Formatting
* Docs
2021-08-26 12:41:16 +02:00
Gavin Wood
e0244f9769
XCM: Introduce versioning to dispatchables' params ( #3693 )
...
* Introduce versioning to dispatchables' params
* Fixes
* Formatting
* Bump
2021-08-23 19:53:59 +02:00
Keith Yeung
81692bd176
Improve MultiLocation conversion functions in xcm-procedural ( #3690 )
...
* Use fully-qualified paths to reference core traits in proc macro
* Ensure a canonicalized v0 MultiLocation first before attempting to convert to v1
* Fix failing test
2021-08-23 10:37:15 +00:00
Keith Yeung
8feed6aedb
Use proc macros to generate conversion functions for MultiLocation ( #3635 )
...
* Use proc macros to generate conversion functions for MultiLocation
* Add compile test and missing conversion cases
* Add common derives for Parent and Ancestor
* Generate conversion functions for MultiLocation v0 via proc macro
* Add type conversion test and fix a bug
* cargo fmt
* Do not hardcode 8 as the number of max parents
* Use map instead of for loops when generating code fragments
* Spelling
* cargo fmt
* More mapping, less for-looping
2021-08-19 09:24:55 +00:00
Gavin Wood
e16c8d9902
Remove BuyExecution::orders ( #3640 )
...
* Remove BuyExecution::orders
* Fixes
* Fixes
* Fixes
* Formatting
2021-08-16 12:51:56 +02:00
Keith Yeung
1576280b00
Replace cumulus with polkadot in license headers ( #3636 )
2021-08-13 09:30:38 +02:00
Gavin Wood
0bb5434e08
Make RelayedFrom typesafe ( #3617 )
...
* Corrent type
* Fix build
* Fixes
* Fixes
* Formatting
2021-08-11 12:40:10 +02:00
Keith Yeung
1556873060
Ensure MultiLocation always has a canonical representation ( #3404 )
...
* MultiAsset TWO
* Ensure MultiLocation always has a canonical representation
* Remove v1 module
* Draft next MultiAsset API.
* Implement custom encoding/decoding scheme for MultiLocation
* Properly implement IntoIterator for Junctions
* Implement TryFrom<MultiLocation> for Junctions
* Fix spelling mistakes
* Fix tests in xcm-executor
* XCM core builds
* XCM Executor builds
* XCM Builder builds
* Fix xcm-builder tests and compilation
* Make pallet-xcm compile
* Use MultiLocation::default()
* Make polkadot-runtime-common compile
* Make rococo-runtime compile
* Change return type of parent_count to u8
* Change MAX_MULTILOCATION_LENGTH to 255
* Make kusama-runtime compile
* Fix logic in pallet-xcm
* Use MultiLocation::empty()
* Fix logic in location_conversion
* Fix logic in origin_conversion.rs
* Make westend-runtime compile
* Rename prefixes and suffixes variables
* Rename non_parent to interior
* Rename non_parent to interior
* Add test for encode/decode roundtrip and fix decode algorithm
* API changes making their way throughout
* Some TODOs
* Further build fixes
* Rename non_parent/junctions to interior
* Basic compile builds
* First test fixed
* All executor tests fixed
* Typo
* Optimize subsume_assets and add test
* Optimize checked_sub
* XCM Builder first test fixed
* Fix builder tests
* Fix doc test
* Make xcm-simulator compile
* Make xcm-simulator-example compile
* Make spellcheck happy
* cargo fmt
* fix some doc tests
* spelling
* named fields for AllOf
* Fix subtle bug where Null is treated as an identifier
* Add FIXME comment awaiting for const generics eval stabilization
* Update xcm/src/v0/multiasset.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/src/v0/multiasset.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/src/v0/multiasset.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/src/v0/multiasset.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Reformat
* Move to XCM version 1
* Spelling
* warnings
* Replace some more v0->v1s
* warnings
* format
* Add max_assets param
* building
* test fixes
* tests
* another test
* final test
* Update rustdocs and add debug_assert where sensible
* Revert debug_assert in const fn len()
* tests
* Rename Null -> Here
* Introduce
* More ergonomics
* More ergonomics
* test fix
* test fixes
* docs
* BuyExecution includes
* Fix XCM extrinsics
* fmt
* Make Vec<MultiAsset>/MultiAssets conversions safe
* More MultiAssets conversion safety
* spelling
* fix doc test
* Apply suggestions from code review
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* Apply suggestions from code review
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* fmt
* Add v0, remove VersionedMultiAsset
* Remove VersionedMultiLocation
* Update xcm/src/v1/order.rs
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* Update xcm/src/v1/mod.rs
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* XCM v0 backwards compatibility
* Full compatibility
* fmt
* Update xcm/pallet-xcm/src/lib.rs
* Update xcm/src/v0/order.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Tweaks to versioning system
* Fixes
* fmt
* Fix pallet-xcm tests
* fix
* Substitute with_parent with with_parents_const
* Rename argument name from a to m
* Rename split_last to split_last_interior
* Allow adding multiple parents in MultiLocation
* Rename pop_parent to dec_parent
* Ensure relay chain XCM sender receives a MultiLocation without any parents
* Block only when MultiLocation destination length is 8
* Cargo fmt
* Remove reverse iterators, implement DoubleEndedIterator and add tests
* Fix iter_rev lifetime requirements
* Cargo fmt
* Add an into() method for Junctions for conciseness in const context
* Ensure parent count is 0 while executing who in RelayedFrom
* Appease spellchecker
* Use and_then instead of repeated map_err
* Remove custom codec indices for v1 Junctions
* Add convenience 'contains_parents_only' method to MultiLocation
* Fix merge conflict
* Use more convenience methods
* Remove with_parachain_interior
* Prefer matching against tuple instead of using match guards
* Match against tuple instead of using more match guards
* Update encode/decode test for MultiLocation
* Minor tweaks
* Fixes
* Fixes
* Fixes
* Fix MultiLocation
* Add deprecation note for iter_rev and into_iter_rev
* Update some rustdocs
* cargo fmt
* Fix xcm-executor unit tests
* Fix compilation and unit tests in xcm-builder
* cargo fmt
* Fix tests in xcm-simulator-example
* Publicize MultiLocation fields
* Match on the MultiLocation struct directly in xcm-builder
* Do not dereference undereferenceable types
* Add convenience MultiLocation conversions for tuples
* Use clearer import paths
* Remove unused dependency
* fix junction + response
* Import from latest opaque xcm module
* Update xcm/src/v1/mod.rs
* better comment
* Fix ownership transfer
* Fix merge
* Fix merge
* cargo fmt
* Fix merge
* Fix merge
* Fix integration test
* More readable Parent syntax
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cargo fmt
* Fixes
* Fix doc test
Co-authored-by: Gav Wood <gavin@parity.io >
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-08-09 18:55:40 +00:00
Gavin Wood
2574398d00
Minor fix to encoding for XCM v1 ( #3602 )
2021-08-09 13:09:20 +02:00
Shawn Tabrizi
d5bc262de7
Fix Backwards Compatability with v0 Response ( #3597 )
...
* fix junction + response
* Update xcm/src/v1/mod.rs
* better comment
2021-08-09 10:28:25 +00:00
Shawn Tabrizi
9ee8013d6d
Harden XCM v1 for Recursions ( #3586 )
...
* Guard against XCM recursive bombs by setting a recursion limit
* Add test and set a lower recursion limit
* Use u32 instead of usize for recursion limit
* Make spellcheck happy
* Cargo fmt
* Limit XCM decoding depth in UMP message processing
* Modify test to check for recursion in BuyExecution
* Update xcm/xcm-simulator/example/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Make cargo fmt happy
* WIP for testing recursion limit in WASM
* Revert "WIP for testing recursion limit in WASM"
This reverts commit 39181b46d1adf79358f5ae8aafcf480e0c0c22e6.
* Remove XCM recursion limit test
* Add recursion test for XCM message execution
* Set a more sensible recursion limit
* Cargo fmt
* Implement successful_origin for benchmarks
* Set recursion limit to 8 and create integration tests directory for xcm-executor
* Cargo fmt
* Add runtime-benchmarks feature to test-runtime
* Give up creating ConvertOriginToLocal and use EnsureXcm
* Re-add ConvertOriginToLocal
* Fix compilation
* Update xcm/xcm-executor/src/lib.rs
Co-authored-by: Gavin Wood <gavin@parity.io >
* Add decoding limit to all versioned XCM decode calls
* Fix recursion limit test
* Set a lower recursion count for recursion test
* move integration tests to their own folder, fix recursion check in execute_effects
* Remove xcm-executor integration tests directory
* fix up
* Update Cargo.lock
* Update runtime/parachains/src/ump.rs
* use proper decode limit
* fix decode depth limit
* here too
* Update traits.rs
* fix compile
* fix test
* Revert `decode_all_with_depth_limit` changes in parachain.rs
* Remove unused imports in parachain.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Bastian Köcher <info@kchr.de >
Co-authored-by: Gavin Wood <gavin@parity.io >
2021-08-07 19:29:12 +00:00
Gavin Wood
ce80bc2d4c
XCM v1 ( #2815 )
...
* MultiAsset TWO
* Draft next MultiAsset API.
* XCM core builds
* XCM Executor builds
* XCM Builder builds
* API changes making their way throughout
* Some TODOs
* Further build fixes
* Basic compile builds
* First test fixed
* All executor tests fixed
* Typo
* Optimize subsume_assets and add test
* Optimize checked_sub
* XCM Builder first test fixed
* Fix builder tests
* Fix doc test
* fix some doc tests
* spelling
* named fields for AllOf
* Update xcm/src/v0/multiasset.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/src/v0/multiasset.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/src/v0/multiasset.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/src/v0/multiasset.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Reformat
* Move to XCM version 1
* Spelling
* warnings
* Replace some more v0->v1s
* warnings
* format
* Add max_assets param
* building
* test fixes
* tests
* another test
* final test
* tests
* Rename Null -> Here
* Introduce
* More ergonomics
* More ergonomics
* test fix
* test fixes
* docs
* BuyExecution includes
* Fix XCM extrinsics
* fmt
* Make Vec<MultiAsset>/MultiAssets conversions safe
* More MultiAssets conversion safety
* spelling
* fix doc test
* Apply suggestions from code review
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* Apply suggestions from code review
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* fmt
* Add v0, remove VersionedMultiAsset
* Remove VersionedMultiLocation
* Update xcm/src/v1/order.rs
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* Update xcm/src/v1/mod.rs
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* XCM v0 backwards compatibility
* Full compatibility
* fmt
* Update xcm/pallet-xcm/src/lib.rs
* Update xcm/src/v0/order.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Tweaks to versioning system
* Fixes
* fmt
* Update xcm/xcm-executor/src/assets.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update xcm/xcm-executor/src/assets.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Grumbles
* Update xcm/src/v1/multiasset.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* fmt
* Update xcm/src/v1/multiasset.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update xcm/src/v1/multiasset.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Fixes
* Formatting
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-08-06 18:25:01 +02:00
Shawn Tabrizi
ff5d56fb76
cargo +nightly fmt ( #3540 )
...
* cargo +nightly fmt
* add cargo-fmt check to ci
* update ci
* fmt
* fmt
* skip macro
* ignore bridges
2021-08-02 10:47:33 +00:00