mirror of
https://github.com/pezkuwichain/pezkuwi-runtime-templates.git
synced 2026-04-28 06:17:57 +00:00
Update documentation and templates for Pezkuwi branding
This commit is contained in:
@@ -4,9 +4,9 @@
|
||||
|
||||
= pezpallet_xcm
|
||||
|
||||
Branch/Release: `release-polkadot-v1.10.0`
|
||||
Branch/Release: `release-pezkuwi-v1.10.0`
|
||||
|
||||
Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkadot-v1.10.0/polkadot/xcm/pezpallet-xcm/src/lib.rs[{github-icon},role=heading-link]
|
||||
Source Code link:https://github.com/pezkuwichain/pezkuwi-sdk/blob/release-pezkuwi-v1.10.0/pezkuwi/xcm/pezpallet-xcm/src/lib.rs[{github-icon},role=heading-link]
|
||||
|
||||
== Purpose
|
||||
|
||||
@@ -14,31 +14,31 @@ Source Code link:https://github.com/paritytech/polkadot-sdk/blob/release-polkado
|
||||
|
||||
== Config
|
||||
|
||||
* Pezpallet-specific origins:
|
||||
* Pezpezpallet-specific origins:
|
||||
** `AdminOrigin` -- The origin that is allowed to call privileged operations on the XCM pezpallet. Type must implement trait `EnsureOrigin`.
|
||||
** `ExecuteXcmOrigin` -- Required origin for executing XCM messages, including the teleport functionality. If successful, it returns a `xref:glossary.adoc#multilocation[MultiLocation]` which exists as an interior location within this chain's XCM context. Type must implement trait `EnsureOrigin`.
|
||||
** `SendXcmOrigin` -- Required origin for sending XCM messages. If successful, it resolves to `MultiLocation`. Type must implement trait `EnsureOrigin`.
|
||||
|
||||
* Pezpallet-specific ID types:
|
||||
* Pezpezpallet-specific ID types:
|
||||
** `RemoteLockConsumerIdentifier` -- The ID type for local consumers of remote locks. The type must implement `Copy`.
|
||||
|
||||
* Pezpallet-specific handlers:
|
||||
* Pezpezpallet-specific handlers:
|
||||
** `Currency` -- Lockable currency used in the pezpallet. Type must implement the trait `LockableCurrency`.
|
||||
** `Weigher` -- Measures xref:glossary.adoc#weight[weight] consumed by XCM local execution. Type must implement the trait `WeightBounds`.
|
||||
** `XcmExecutor` -- Means of executing XCM. Type must implement the trait `ExecuteXcm`.
|
||||
** `XcmRouter` -- The type used to dispatch an XCM to its destination. Type must implement the trait `SendXcm`.
|
||||
|
||||
* Pezpallet-specific filters:
|
||||
* Pezpezpallet-specific filters:
|
||||
** `XcmExecuteFilter` -- XCM filter for which messages to be executed using `XcmExecutor` must pass. Type must implement trait `Contains<(MultiLocation, Xcm<<Self as Config>::RuntimeCall>)>`.
|
||||
** `XcmReserveTransferFilter` -- XCM filter for which messages to be reserve-transferred using the dedicated extrinsic must pass.Type must implement the trait `Contains<(MultiLocation, Vec<MultiAsset>)>`.
|
||||
** `XcmTeleportFilter` -- XCM filter for which messages to be teleported using the dedicated extrinsic must pass. Type must implement the trait `Contains<(MultiLocation, Vec<MultiAsset>)>`.
|
||||
** `TrustedLockers` -- Returns whether or not the origin can be trusted for a specific asset. Type must implement `ContainsPair` where each pair is an `asset` and an `origin` thereby entrusting `origin` for operations relating to `asset`.
|
||||
|
||||
* Pezpallet-specific converters:
|
||||
* Pezpezpallet-specific converters:
|
||||
** `CurrencyMatcher` -- The `xref:glossary.adoc#multiasset[MultiAsset]` matcher for `Currency`. Type must implement the trait `MatchesFungible`.
|
||||
** `SovereignAccountOf` -- How to get an `AccountId` value from a `MultiLocation`, useful for handling asset locks. Type must implement `ConvertLocation`.
|
||||
|
||||
* Pezpallet-specific constants:
|
||||
* Pezpezpallet-specific constants:
|
||||
** `VERSION_DISCOVERY_QUEUE_SIZE` -- `u32` measures the size of the version discovery queue. Typically set to `100`.
|
||||
** `AdvertisedXcmVersion` -- The latest supported XCM version that this chain accepts. Type must implement the trait `Get<XcmVersion>`. Commonly set to `pezpallet_xcm::CurrentXcmVersion`.
|
||||
** `MaxLockers` -- The maximum number of local XCM locks that a single account may have. Type must implement the trait `Get<u32>`.
|
||||
@@ -69,7 +69,7 @@ WARNING: DEPRECATED. `send` will be removed after June 2024. Use `send_blob` ins
|
||||
|
||||
* Deprecation explanation:
|
||||
** `pezpallet-xcm` has a new pair of extrinsics, `execute_blob` and `send_blob`. These are meant to be used instead of `execute` and `send`, which are now deprecated and will be removed eventually. These new extrinsics just require you to input the encoded XCM.
|
||||
** There's a new utility in PolkadotJS Apps for encoding XCMs you can use: https://polkadot.js.org/apps/#/utilities/xcm Just pass in the encoded XCM to the new extrinsics and you're done.
|
||||
** There's a new utility in PezkuwiJS Apps for encoding XCMs you can use: https://pezkuwi.js.org/apps/#/utilities/xcm Just pass in the encoded XCM to the new extrinsics and you're done.
|
||||
** The migration from the old extrinsic to the new is very simple. If you have your message `xcm: VersionedXcm<Call>`, then instead of passing in `Box::new(xcm)` to both `execute` and `send`, you would pass in `xcm.encode().try_into()` and handle the potential error of its encoded length being bigger than `MAX_XCM_ENCODED_SIZE`.
|
||||
** `pezpallet-contracts` takes the XCM encoded now as well. It follows the same API as `execute_blob` and `send_blob`.
|
||||
|
||||
@@ -108,7 +108,7 @@ WARNING: DEPRECATED. `execute` will be removed after June 2024. Use `execute_blo
|
||||
|
||||
* Deprecation explanation:
|
||||
** `pezpallet-xcm` has a new pair of extrinsics, `execute_blob` and `send_blob`. These are meant to be used instead of `execute` and `send`, which are now deprecated and will be removed eventually. These new extrinsics just require you to input the encoded XCM.
|
||||
** There's a new utility in PolkadotJS Apps for encoding XCMs you can use: https://polkadot.js.org/apps/#/utilities/xcm Just pass in the encoded XCM to the new extrinsics and you're done.
|
||||
** There's a new utility in PezkuwiJS Apps for encoding XCMs you can use: https://pezkuwi.js.org/apps/#/utilities/xcm Just pass in the encoded XCM to the new extrinsics and you're done.
|
||||
** The migration from the old extrinsic to the new is very simple. If you have your message `xcm: VersionedXcm<Call>`, then instead of passing in `Box::new(xcm)` to both `execute` and `send`, you would pass in `xcm.encode().try_into()` and handle the potential error of its encoded length being bigger than `MAX_XCM_ENCODED_SIZE`.
|
||||
** `pezpallet-contracts` takes the XCM encoded now as well. It follows the same API as `execute_blob` and `send_blob`.
|
||||
|
||||
@@ -260,7 +260,7 @@ The origin must be `ExecuteXcmOrigin` for this call.
|
||||
|
||||
**Params:**
|
||||
|
||||
- `dest: Box<VersionedMultiLocation>` -- Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.
|
||||
- `dest: Box<VersionedMultiLocation>` -- Destination context for the assets. Will typically be `X2(Parent, Teyrchain(..))` to send from teyrchain to teyrchain, or `X1(Teyrchain(..))` to send from relay to teyrchain.
|
||||
- `beneficiary: Box<VersionedMultiLocation>` -- A beneficiary location for the assets in the context of `dest`. Willgenerally be an `AccountId32` value.
|
||||
- `assets: Box<VersionedMultiAssets>` -- The assets to be withdrawn. This should include the assets used to pay the fee on the `dest` side.
|
||||
- `fee_asset_item: u32` -- The index into `assets` of the item which should be used to pay fees.
|
||||
@@ -298,7 +298,7 @@ The origin must be `ExecuteXcmOrigin` for this call.
|
||||
|
||||
**Params:**
|
||||
|
||||
- `dest: Box<VersionedMultiLocation>` -- Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to teleport from parachain to parachain, or `X1(Parachain(..))` to teleport from relay to parachain.
|
||||
- `dest: Box<VersionedMultiLocation>` -- Destination context for the assets. Will typically be `X2(Parent, Teyrchain(..))` to teleport from teyrchain to teyrchain, or `X1(Teyrchain(..))` to teleport from relay to teyrchain.
|
||||
- `beneficiary: Box<VersionedMultiLocation>` -- A beneficiary location for the assets in the context of `dest`. Will generally be an `AccountId32` value.
|
||||
- `assets: Box<VersionedMultiAssets>` -- The assets to be withdrawn. This should include the assets used to pay the fee on the `dest` side.
|
||||
- `fee_asset_item: u32` -- The index into `assets` of the item which should be used to pay fees.
|
||||
@@ -358,7 +358,7 @@ Transfer some assets from the local chain to the destination chain through their
|
||||
|
||||
**Params:**
|
||||
|
||||
- `dest: Box<VersionedLocation>` -- Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.
|
||||
- `dest: Box<VersionedLocation>` -- Destination context for the assets. Will typically be `X2(Parent, Teyrchain(..))` to send from teyrchain to teyrchain, or `X1(Teyrchain(..))` to send from relay to teyrchain.
|
||||
- `beneficiary: Box<VersionedLocation>` -- A beneficiary location for the assets in the context of `dest`. Will generally be an `AccountId32` value.
|
||||
- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the `dest` (and possibly reserve) chains.
|
||||
- `fee_asset_item: u32` -- The index into `assets` of the item which should be used to pay fees.
|
||||
@@ -490,4 +490,4 @@ Send an XCM from a local, signed, origin.
|
||||
|
||||
== More Reading
|
||||
|
||||
https://wiki.polkadot.network/docs/learn-xcm-usecases[Polkadot Wiki XCM Use Cases]
|
||||
https://wiki.pezkuwi.network/docs/learn-xcm-usecases[Pezkuwi Wiki XCM Use Cases]
|
||||
|
||||
Reference in New Issue
Block a user