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:
Jaco
2021-10-07 16:29:18 +03:00
committed by GitHub
parent 5157d8c3f0
commit 8c2c2afc37
9 changed files with 105 additions and 48 deletions
+4 -1
View File
@@ -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',
+20 -11
View File
@@ -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;
+4 -1
View File
@@ -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'
};