This repository has been archived by the owner on Nov 15, 2023. It is now read-only.
Tracking issue for XCM Revamp #2841
Labels
J1-meta
A specific issue for grouping tasks or bugs of a specific category.
Follow-up issue: paritytech/polkadot-sdk#925
Priorities
execute_xcm
function against recursion-bombs (Guard against XCM recursive bombs by setting a recursion limit #3555, Harden XCM v1 for Recursions #3586)MultiAsset
(Typesafe MultiAsset Wildcards #3168).burn
&mint
in teleport - instead transfer into and out of a special reserved "teleported" account. (Check out/in assets when teleporting to maintain total issuance #3007)reserve_asset_transfer
extrinsic and execution filter enabling it (Introduce reserve-asset transfer extrinsic #3010)register_id
function to paras_registrar (Extrinsic for reserving a parachain ID #3008)MultiAsset
wildcards. (XCM v1 #2815)DepositAsset
andDepositReserveAsset
should have an extra parameter limiting the number of distinct assets to deposit. #3547:DepositAsset
andDepositReserveAsset
should have an extra parameter limiting the number of distinct assets to deposit. (XCM v1 #2815)Vec<Order>
field forBuyExecution
. (XCM v1 #2815)xcm-format
document to reflect new format. polkadot-fellows/xcm-format#23).Substantial features
ResponseMap
of(QueryId, Origin)
->EitherOr<Dispatch, Option<Response>>
which allows free execution of the message and then either stores the result or calls a dispatch - in this case it could go overweight be up to the weight of whatever dispatch is in there. It should be added on and checked before executing any further XCMs. (XCM v2: Scripting, Query responses, Exception handling and Error reporting #3629)RefundSurplusWeight
which trades surplius weight in and places it back in holding. (XCM v2: Scripting, Query responses, Exception handling and Error reporting #3629)SetErrorHandler
instruction with pre-paid execution of XCM in case of error. (XCM v2: Scripting, Query responses, Exception handling and Error reporting #3629)AssetTrap
instruction which places any remaining assets in the holding account into a special storage item (keyyed under the origin location), even (especially) in the case of error. A secondary XCM instructionDrainTrap
can fetch those assets and do something with them. A failsafe asset trap could also be in place for the origin. XCM: Asset trap to avoid accidental burning of Holding Register contents #3694 (XCM: Allow reclaim of assets dropped from holding #3727)WrapVersion
. IntroduceQueryVersion
andNoteVersion
message types, allowing dynamic negotiation of transport version, followed with persistent transport version storage for each origin. (XCM: Automatic Version Negotiation #3736)VMP Origins
Figure out how to manage origin permissions. We want root and governance Relay-chain XCM origins to have free execution on the Statemint parachain, but not just random accounts that happen to be instructing the Relay-chain to send an XCM on their behalf to the parachain.
RelayedFrom
XCM (XCM Revamp Continued #2865)RelayedFrom
intoexecute_xcm
, checking it's a subconsensus, mutate origin, redispatch; ensure that mutating the origin doesn't create problems for relative locations in e.g. asset descriptors. (XCM Revamp Continued #2865)Origin
into aPlurality
MultiLocation
- this will likely be through aOrigin
->MultiLocation
conversion utility trait. (XCM Revamp Continued #2865)RelayedFrom
XCM: (XCM Revamp Continued #2865)RelayedFrom
messages to be created and sent (searchfn send(origin, dest: MultiLocation
).pallet-xcm
in Cumulus and remove duplicate functionality fromxcm-handler
.Origin
->MultiLocation
converter. (XCM Revamp Continued #2865)MultiLocation
it should potentially (if non-Null) wrap the XCM in aXcm::RelayedFrom
. (XCM Revamp Continued #2865)Origin
->MultiLocation
conversion) (XCM Revamp Continued #2865)Origin::Xcm(MultiLocation)
ensure_xcm
andEnsureXcm impl EnsureOrigin
origin barrier and useEnsureXcm([Parent, Plurality(Executive, >1/2)])
for Admin in Statemint.Origin::Xcm
Add XCM Origin and converter #2896AccountId
origins from Relay have sensible origins on Paras when sent over DMP.Queuing
XCMP queueing mechanisms should be largely replicated for VMP queuing.
Smaller features
transfer_asset
forFungiblesAdapter
, but locate the function in a different trait to avoid the need to implement only when deposit+withdraw are implemented. (XCM Revamp Continued #2865)Minor refactorings/additions/optimisations
Transact
execution origins (XCM docs and tests #2948).Filter
andContains
. (Remove Filter and use Contains instead substrate#9514)xcm-builder
(XCM docs and tests #2948, add integration tests to xcm-builder #3537).MultiAsset
. (XCM v1 #2815)LocationConversion
should be removed in favour of using theConvert
trait. (XCM revamp #2836)fn authorize_upgrade(origin: Root, code_hash: T::Hash)
andfn enact_authorized_upgrade(origin: Any, code: Vec<u8>)
(Two-stage upgrade for parachains cumulus#392)Junctions
separately toMultiLocation
(Ensure MultiLocation always has a canonical representation #3404)XCM v3:
BurnAsset
instruction.ExpectAsset
,ExpectOrigin
,Expect...
instructions.Transact
instruction, allowing version-sensitive dispatching between chains. Discoverability and versioning for transacting polkadot-fellows/xcm-format#22 (#Things to consider:
The text was updated successfully, but these errors were encountered: