Swap Xcm to defaults instead of V0, Polkadot runtime 9100+ (#4033)
* Swap Xcm to V1 (defaults), Polkadot runtime 9100+ * V1/V2 (latest is V1 at 9100) * Various versions * formatting * V1 <= 9105, V2 >= 9106
This commit is contained in:
@@ -57,7 +57,7 @@ import type { Multiplier } from '@polkadot/types/interfaces/txpayment';
|
||||
import type { ClassDetails, ClassId, ClassMetadata, DepositBalance, DepositBalanceOf, DestroyWitness, InstanceDetails, InstanceId, InstanceMetadata } from '@polkadot/types/interfaces/uniques';
|
||||
import type { Multisig, Timepoint } from '@polkadot/types/interfaces/utility';
|
||||
import type { VestingInfo } from '@polkadot/types/interfaces/vesting';
|
||||
import type { AssetInstance, AssetInstanceV0, AssetInstanceV1, BodyId, BodyPart, DoubleEncodedCall, Fungibility, InboundStatus, InstructionV2, InteriorMultiLocation, Junction, JunctionV0, JunctionV1, JunctionV2, Junctions, JunctionsV1, JunctionsV2, MultiAsset, MultiAssetFilter, MultiAssetFilterV1, MultiAssetFilterV2, MultiAssetV0, MultiAssetV1, MultiAssetV2, MultiAssets, MultiAssetsV1, MultiAssetsV2, MultiLocation, MultiLocationV0, MultiLocationV1, MultiLocationV2, NetworkId, OriginKindV0, OriginKindV1, OriginKindV2, OutboundStatus, Outcome, QueryId, QueryStatus, QueueConfigData, Response, ResponseV0, ResponseV1, ResponseV2, ResponseV2Error, ResponseV2Result, VersionMigrationStage, VersionedMultiAsset, VersionedMultiAssets, VersionedMultiLocation, VersionedResponse, VersionedXcm, WeightLimitV2, WildFungibility, WildMultiAsset, WildMultiAssetV1, Xcm, XcmAssetId, XcmError, XcmErrorV0, XcmErrorV1, XcmErrorV2, XcmOrder, XcmOrderV0, XcmOrderV1, XcmOrigin, XcmOriginKind, XcmV0, XcmV1, XcmV2, XcmVersion, XcmpMessageFormat } from '@polkadot/types/interfaces/xcm';
|
||||
import type { AssetInstance, AssetInstanceV0, AssetInstanceV1, AssetInstanceV2, BodyId, BodyPart, DoubleEncodedCall, Fungibility, InboundStatus, InstructionV2, InteriorMultiLocation, Junction, JunctionV0, JunctionV1, JunctionV2, Junctions, JunctionsV1, JunctionsV2, MultiAsset, MultiAssetFilter, MultiAssetFilterV1, MultiAssetFilterV2, MultiAssetV0, MultiAssetV1, MultiAssetV2, MultiAssets, MultiAssetsV1, MultiAssetsV2, MultiLocation, MultiLocationV0, MultiLocationV1, MultiLocationV2, NetworkId, OriginKindV0, OriginKindV1, OriginKindV2, OutboundStatus, Outcome, QueryId, QueryStatus, QueueConfigData, Response, ResponseV0, ResponseV1, ResponseV2, ResponseV2Error, ResponseV2Result, VersionMigrationStage, VersionedMultiAsset, VersionedMultiAssets, VersionedMultiLocation, VersionedResponse, VersionedXcm, WeightLimitV2, WildFungibility, WildMultiAsset, WildMultiAssetV1, WildMultiAssetV2, Xcm, XcmAssetId, XcmError, XcmErrorV0, XcmErrorV1, XcmErrorV2, XcmOrder, XcmOrderV0, XcmOrderV1, XcmOrderV2, XcmOrigin, XcmOriginKind, XcmV0, XcmV1, XcmV2, XcmVersion, XcmpMessageFormat } from '@polkadot/types/interfaces/xcm';
|
||||
|
||||
declare module '@polkadot/types/types/registry' {
|
||||
export interface InterfaceTypes {
|
||||
@@ -104,6 +104,7 @@ declare module '@polkadot/types/types/registry' {
|
||||
AssetInstance: AssetInstance;
|
||||
AssetInstanceV0: AssetInstanceV0;
|
||||
AssetInstanceV1: AssetInstanceV1;
|
||||
AssetInstanceV2: AssetInstanceV2;
|
||||
AssetMetadata: AssetMetadata;
|
||||
AssetOptions: AssetOptions;
|
||||
AssignmentId: AssignmentId;
|
||||
@@ -1022,6 +1023,7 @@ declare module '@polkadot/types/types/registry' {
|
||||
WildFungibility: WildFungibility;
|
||||
WildMultiAsset: WildMultiAsset;
|
||||
WildMultiAssetV1: WildMultiAssetV1;
|
||||
WildMultiAssetV2: WildMultiAssetV2;
|
||||
WinnersData: WinnersData;
|
||||
WinnersDataTuple: WinnersDataTuple;
|
||||
WinningData: WinningData;
|
||||
@@ -1036,6 +1038,7 @@ declare module '@polkadot/types/types/registry' {
|
||||
XcmOrder: XcmOrder;
|
||||
XcmOrderV0: XcmOrderV0;
|
||||
XcmOrderV1: XcmOrderV1;
|
||||
XcmOrderV2: XcmOrderV2;
|
||||
XcmOrigin: XcmOrigin;
|
||||
XcmOriginKind: XcmOriginKind;
|
||||
XcmpMessageFormat: XcmpMessageFormat;
|
||||
|
||||
@@ -10,25 +10,32 @@ import { v0 } from './v0';
|
||||
import { v1 } from './v1';
|
||||
import { v2 } from './v2';
|
||||
|
||||
export const XCM_MAPPINGS = ['AssetInstance', 'Junction', 'Junctions', 'MultiAsset', 'MultiAssetFilter', 'MultiLocation', 'Response', 'WildMultiAsset', 'Xcm', 'XcmError', 'XcmOrder'];
|
||||
|
||||
const XCM_LATEST = 'V2';
|
||||
|
||||
export function mapXcm (version: 'V0' | 'V1' | 'V2'): Record<string, string> {
|
||||
return XCM_MAPPINGS.reduce<Record<string, string>>((all, key) => ({
|
||||
...all,
|
||||
[key]: `${key}${version}`
|
||||
}), {});
|
||||
}
|
||||
|
||||
const xcm = {
|
||||
XcmOrigin: {
|
||||
_enum: {
|
||||
Xcm: 'MultiLocation'
|
||||
}
|
||||
},
|
||||
Xcm: 'XcmV1',
|
||||
XcmpMessageFormat: {
|
||||
_enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']
|
||||
},
|
||||
XcmError: 'XcmErrorV1',
|
||||
XcmOrder: 'XcmOrderV1',
|
||||
XcmAssetId: {
|
||||
_enum: {
|
||||
Concrete: 'MultiLocation',
|
||||
Abstract: 'Bytes'
|
||||
}
|
||||
},
|
||||
AssetInstance: 'AssetInstanceV1',
|
||||
Fungibility: {
|
||||
_enum: {
|
||||
Fungible: 'u128',
|
||||
@@ -41,13 +48,10 @@ const xcm = {
|
||||
OutboundStatus: {
|
||||
_enum: ['Ok', 'Suspended']
|
||||
},
|
||||
MultiAssetFilter: 'MultiAssetFilterV1',
|
||||
MultiAsset: 'MultiAssetV1',
|
||||
MultiAssets: 'Vec<MultiAsset>',
|
||||
WildFungibility: {
|
||||
_enum: ['Fungible', 'NonFungible']
|
||||
},
|
||||
WildMultiAsset: 'WildMultiAssetV1'
|
||||
}
|
||||
};
|
||||
|
||||
const location = {
|
||||
@@ -81,9 +85,6 @@ const location = {
|
||||
}
|
||||
},
|
||||
InteriorMultiLocation: 'Junctions',
|
||||
Junction: 'JunctionV1',
|
||||
Junctions: 'JunctionsV1',
|
||||
MultiLocation: 'MultiLocationV1',
|
||||
NetworkId: {
|
||||
_enum: {
|
||||
Any: 'Null',
|
||||
@@ -102,13 +103,13 @@ export default {
|
||||
...v0,
|
||||
...v1,
|
||||
...v2,
|
||||
...mapXcm(XCM_LATEST),
|
||||
DoubleEncodedCall: {
|
||||
encoded: 'Vec<u8>'
|
||||
},
|
||||
XcmOriginKind: {
|
||||
_enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']
|
||||
},
|
||||
Response: 'ResponseV1',
|
||||
Outcome: {
|
||||
_enum: {
|
||||
Complete: 'Weight',
|
||||
|
||||
@@ -6,7 +6,7 @@ import type { AccountId, BlockNumber, Weight } from '@polkadot/types/interfaces/
|
||||
import type { ITuple } from '@polkadot/types/types';
|
||||
|
||||
/** @name AssetInstance */
|
||||
export interface AssetInstance extends AssetInstanceV1 {}
|
||||
export interface AssetInstance extends AssetInstanceV2 {}
|
||||
|
||||
/** @name AssetInstanceV0 */
|
||||
export interface AssetInstanceV0 extends Enum {
|
||||
@@ -50,6 +50,9 @@ export interface AssetInstanceV1 extends Enum {
|
||||
readonly asBlob: Bytes;
|
||||
}
|
||||
|
||||
/** @name AssetInstanceV2 */
|
||||
export interface AssetInstanceV2 extends AssetInstanceV1 {}
|
||||
|
||||
/** @name BodyId */
|
||||
export interface BodyId extends Enum {
|
||||
readonly isUnit: boolean;
|
||||
@@ -221,10 +224,10 @@ export interface InstructionV2 extends Enum {
|
||||
export interface InteriorMultiLocation extends Junctions {}
|
||||
|
||||
/** @name Junction */
|
||||
export interface Junction extends JunctionV1 {}
|
||||
export interface Junction extends JunctionV2 {}
|
||||
|
||||
/** @name Junctions */
|
||||
export interface Junctions extends JunctionsV1 {}
|
||||
export interface Junctions extends JunctionsV2 {}
|
||||
|
||||
/** @name JunctionsV1 */
|
||||
export interface JunctionsV1 extends Enum {
|
||||
@@ -321,10 +324,10 @@ export interface JunctionV1 extends Enum {
|
||||
export interface JunctionV2 extends JunctionV1 {}
|
||||
|
||||
/** @name MultiAsset */
|
||||
export interface MultiAsset extends MultiAssetV1 {}
|
||||
export interface MultiAsset extends MultiAssetV2 {}
|
||||
|
||||
/** @name MultiAssetFilter */
|
||||
export interface MultiAssetFilter extends MultiAssetFilterV1 {}
|
||||
export interface MultiAssetFilter extends MultiAssetFilterV2 {}
|
||||
|
||||
/** @name MultiAssetFilterV1 */
|
||||
export interface MultiAssetFilterV1 extends Enum {
|
||||
@@ -392,7 +395,7 @@ export interface MultiAssetV1 extends Struct {
|
||||
export interface MultiAssetV2 extends MultiAssetV1 {}
|
||||
|
||||
/** @name MultiLocation */
|
||||
export interface MultiLocation extends MultiLocationV1 {}
|
||||
export interface MultiLocation extends MultiLocationV2 {}
|
||||
|
||||
/** @name MultiLocationV0 */
|
||||
export interface MultiLocationV0 extends Enum {
|
||||
@@ -491,7 +494,7 @@ export interface QueueConfigData extends Struct {
|
||||
}
|
||||
|
||||
/** @name Response */
|
||||
export interface Response extends ResponseV1 {}
|
||||
export interface Response extends ResponseV2 {}
|
||||
|
||||
/** @name ResponseV0 */
|
||||
export interface ResponseV0 extends Enum {
|
||||
@@ -598,7 +601,7 @@ export interface WildFungibility extends Enum {
|
||||
}
|
||||
|
||||
/** @name WildMultiAsset */
|
||||
export interface WildMultiAsset extends WildMultiAssetV1 {}
|
||||
export interface WildMultiAsset extends WildMultiAssetV2 {}
|
||||
|
||||
/** @name WildMultiAssetV1 */
|
||||
export interface WildMultiAssetV1 extends Enum {
|
||||
@@ -610,8 +613,11 @@ export interface WildMultiAssetV1 extends Enum {
|
||||
} & Struct;
|
||||
}
|
||||
|
||||
/** @name WildMultiAssetV2 */
|
||||
export interface WildMultiAssetV2 extends WildMultiAssetV1 {}
|
||||
|
||||
/** @name Xcm */
|
||||
export interface Xcm extends XcmV1 {}
|
||||
export interface Xcm extends XcmV2 {}
|
||||
|
||||
/** @name XcmAssetId */
|
||||
export interface XcmAssetId extends Enum {
|
||||
@@ -622,7 +628,7 @@ export interface XcmAssetId extends Enum {
|
||||
}
|
||||
|
||||
/** @name XcmError */
|
||||
export interface XcmError extends XcmErrorV1 {}
|
||||
export interface XcmError extends XcmErrorV2 {}
|
||||
|
||||
/** @name XcmErrorV0 */
|
||||
export interface XcmErrorV0 extends Enum {
|
||||
@@ -734,7 +740,7 @@ export interface XcmErrorV2 extends Enum {
|
||||
}
|
||||
|
||||
/** @name XcmOrder */
|
||||
export interface XcmOrder extends XcmOrderV1 {}
|
||||
export interface XcmOrder extends XcmOrderV2 {}
|
||||
|
||||
/** @name XcmOrderV0 */
|
||||
export interface XcmOrderV0 extends Enum {
|
||||
@@ -833,6 +839,9 @@ export interface XcmOrderV1 extends Enum {
|
||||
} & Struct;
|
||||
}
|
||||
|
||||
/** @name XcmOrderV2 */
|
||||
export interface XcmOrderV2 extends XcmOrderV1 {}
|
||||
|
||||
/** @name XcmOrigin */
|
||||
export interface XcmOrigin extends Enum {
|
||||
readonly isXcm: boolean;
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
import type { DefinitionsTypes } from '../../types';
|
||||
|
||||
export const v2: DefinitionsTypes = {
|
||||
AssetInstanceV2: 'AssetInstanceV1',
|
||||
JunctionV2: 'JunctionV1',
|
||||
JunctionsV2: 'JunctionsV1',
|
||||
MultiAssetsV2: 'MultiAssetsV1',
|
||||
@@ -119,6 +120,7 @@ export const v2: DefinitionsTypes = {
|
||||
Trap: 'u64'
|
||||
}
|
||||
},
|
||||
WildMultiAssetV2: 'WildMultiAssetV1',
|
||||
XcmV2: 'Vec<InstructionV2>',
|
||||
XcmErrorV2: {
|
||||
_enum: {
|
||||
@@ -157,5 +159,6 @@ export const v2: DefinitionsTypes = {
|
||||
UnknownClaim: 'Null',
|
||||
InvalidLocation: 'Null'
|
||||
}
|
||||
}
|
||||
},
|
||||
XcmOrderV2: 'XcmOrderV1'
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user