Cleanup Xcm versioned types (with xcm v2) (#3916)

* Cleanup Xcm versioned types

* Rebuild
This commit is contained in:
Jaco
2021-09-04 16:49:16 +02:00
committed by GitHub
parent 5368733353
commit 835070c44f
6 changed files with 307 additions and 38 deletions
+10 -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, Junction, MultiAsset, MultiAssetFilter, MultiAssetFilterV1, MultiAssetV0, MultiAssetV1, MultiAssetV2, MultiAssets, MultiAssetsV1, MultiAssetsV2, MultiLocation, MultiLocationV0, MultiLocationV1, MultiLocationV2, NetworkId, OutboundStatus, Outcome, QueryId, QueryStatus, QueueConfigData, Response, ResponseV0, ResponseV1, ResponseV2, ResponseV2Error, ResponseV2Result, VersionMigrationStage, VersionedMultiAsset, VersionedMultiAssets, VersionedMultiLocation, VersionedResponse, VersionedXcm, WildFungibility, WildMultiAsset, WildMultiAssetV1, Xcm, XcmAssetId, XcmError, XcmErrorV0, XcmErrorV1, XcmErrorV2, XcmOrder, XcmOrderV0, XcmOrderV1, XcmOrigin, XcmOriginKind, XcmV0, XcmV1, XcmVersion, XcmpMessageFormat } from '@polkadot/types/interfaces/xcm';
import type { AssetInstance, AssetInstanceV0, AssetInstanceV1, BodyId, BodyPart, DoubleEncodedCall, Fungibility, InboundStatus, InstructionV2, InteriorMultiLocation, Junction, Junctions, 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';
declare module '@polkadot/types/types/registry' {
export interface InterfaceTypes {
@@ -476,11 +476,14 @@ declare module '@polkadot/types/types/registry' {
InstanceMetadata: InstanceMetadata;
InstantiateRequest: InstantiateRequest;
InstantiateReturnValue: InstantiateReturnValue;
InstructionV2: InstructionV2;
InstructionWeights: InstructionWeights;
InteriorMultiLocation: InteriorMultiLocation;
InvalidDisputeStatementKind: InvalidDisputeStatementKind;
InvalidTransaction: InvalidTransaction;
Json: Json;
Junction: Junction;
Junctions: Junctions;
Justification: Justification;
JustificationNotification: JustificationNotification;
Justifications: Justifications;
@@ -549,6 +552,7 @@ declare module '@polkadot/types/types/registry' {
MultiAsset: MultiAsset;
MultiAssetFilter: MultiAssetFilter;
MultiAssetFilterV1: MultiAssetFilterV1;
MultiAssetFilterV2: MultiAssetFilterV2;
MultiAssets: MultiAssets;
MultiAssetsV1: MultiAssetsV1;
MultiAssetsV2: MultiAssetsV2;
@@ -594,6 +598,9 @@ declare module '@polkadot/types/types/registry' {
OperatingMode: OperatingMode;
Origin: Origin;
OriginCaller: OriginCaller;
OriginKindV0: OriginKindV0;
OriginKindV1: OriginKindV1;
OriginKindV2: OriginKindV2;
OutboundHrmpMessage: OutboundHrmpMessage;
OutboundLaneData: OutboundLaneData;
OutboundMessageFee: OutboundMessageFee;
@@ -982,6 +989,7 @@ declare module '@polkadot/types/types/registry' {
VrfOutput: VrfOutput;
VrfProof: VrfProof;
Weight: Weight;
WeightLimitV2: WeightLimitV2;
WeightMultiplier: WeightMultiplier;
WeightPerClass: WeightPerClass;
WeightToFeeCoefficient: WeightToFeeCoefficient;
@@ -1007,6 +1015,7 @@ declare module '@polkadot/types/types/registry' {
XcmpMessageFormat: XcmpMessageFormat;
XcmV0: XcmV0;
XcmV1: XcmV1;
XcmV2: XcmV2;
XcmVersion: XcmVersion;
}
}
@@ -80,6 +80,20 @@ const location = {
}
}
},
InteriorMultiLocation: 'Junctions',
Junctions: {
_enum: {
Here: 'Null',
X1: 'Junction',
X2: '(Junction, Junction)',
X3: '(Junction, Junction, Junction)',
X4: '(Junction, Junction, Junction, Junction)',
X5: '(Junction, Junction, Junction, Junction, Junction)',
X6: '(Junction, Junction, Junction, Junction, Junction, Junction)',
X7: '(Junction, Junction, Junction, Junction, Junction, Junction, Junction)',
X8: '(Junction, Junction, Junction, Junction, Junction, Junction, Junction, Junction)'
}
},
Junction: {
_enum: {
Parent: 'Null',
@@ -106,19 +120,7 @@ const location = {
}
}
},
MultiLocation: {
_enum: {
Here: 'Null',
X1: 'Junction',
X2: '(Junction, Junction)',
X3: '(Junction, Junction, Junction)',
X4: '(Junction, Junction, Junction, Junction)',
X5: '(Junction, Junction, Junction, Junction, Junction)',
X6: '(Junction, Junction, Junction, Junction, Junction, Junction)',
X7: '(Junction, Junction, Junction, Junction, Junction, Junction, Junction)',
X8: '(Junction, Junction, Junction, Junction, Junction, Junction, Junction, Junction)'
}
},
MultiLocation: 'Junctions',
NetworkId: {
_enum: {
Any: 'Null',
@@ -209,7 +211,8 @@ export default {
VersionedXcm: {
_enum: {
V0: 'XcmV0',
V1: 'XcmV1'
V1: 'XcmV1',
V2: 'XcmV2'
}
},
XcmVersion: 'u32'
+172 -21
View File
@@ -104,6 +104,122 @@ export interface InboundStatus extends Enum {
readonly isSuspended: boolean;
}
/** @name InstructionV2 */
export interface InstructionV2 extends Enum {
readonly isWithdrawAsset: boolean;
readonly asWithdrawAsset: MultiAssetsV2;
readonly isReserveAssetDeposited: boolean;
readonly asReserveAssetDeposited: MultiAssetsV2;
readonly isReceiveTeleportedAsset: boolean;
readonly asReceiveTeleportedAsset: MultiAssetsV2;
readonly isQueryResponse: boolean;
readonly asQueryResponse: {
readonly queryId: Compact<u64>;
readonly response: ResponseV2;
readonly maxWeight: Compact<u64>;
} & Struct;
readonly isTransferAsset: boolean;
readonly asTransferAsset: {
readonly assets: MultiAssetsV2;
readonly beneficiary: MultiLocationV2;
} & Struct;
readonly isTransferReserveAsset: boolean;
readonly asTransferReserveAsset: {
readonly assets: MultiAssetsV2;
readonly dest: MultiLocationV2;
readonly xcm: XcmV2;
} & Struct;
readonly isTransact: boolean;
readonly asTransact: {
readonly originType: OriginKindV2;
readonly requireWeightAtMost: u64;
readonly call: DoubleEncodedCall;
} & Struct;
readonly isHrmpNewChannelOpenRequest: boolean;
readonly asHrmpNewChannelOpenRequest: {
readonly sender: Compact<u32>;
readonly maxMessageSize: Compact<u32>;
readonly maxCapacity: Compact<u32>;
} & Struct;
readonly isHrmpChannelAccepted: boolean;
readonly asHrmpChannelAccepted: {
readonly recipient: Compact<u32>;
} & Struct;
readonly isHrmpChannelClosing: boolean;
readonly asHrmpChannelClosing: {
readonly initiator: Compact<u32>;
readonly sender: Compact<u32>;
readonly recipient: Compact<u32>;
} & Struct;
readonly isClearOrigin: boolean;
readonly isDescendOrigin: boolean;
readonly asDescendOrigin: InteriorMultiLocation;
readonly isReportError: boolean;
readonly asReportError: {
readonly queryId: Compact<u64>;
readonly dest: MultiLocationV2;
readonly maxResponseWeight: Compact<u64>;
} & Struct;
readonly isDepositAsset: boolean;
readonly asDepositAsset: {
readonly assets: MultiAssetFilterV2;
readonly maxAssets: u32;
readonly beneficiary: MultiLocationV2;
} & Struct;
readonly isDepositReserveAsset: boolean;
readonly asDepositReserveAsset: {
readonly assets: MultiAssetFilterV2;
readonly maxAssets: u32;
readonly dest: MultiLocationV2;
readonly xcm: XcmV2;
} & Struct;
readonly isExchangeAsset: boolean;
readonly asExchangeAsset: {
readonly give: MultiAssetFilterV2;
readonly receive: MultiAssetsV2;
} & Struct;
readonly isInitiateReserveWithdraw: boolean;
readonly asInitiateReserveWithdraw: {
readonly assets: MultiAssetFilterV2;
readonly reserve: MultiLocationV2;
readonly xcm: XcmV2;
} & Struct;
readonly isInitiateTeleport: boolean;
readonly asInitiateTeleport: {
readonly assets: MultiAssetFilterV2;
readonly dest: MultiLocationV2;
readonly xcm: XcmV2;
} & Struct;
readonly isQueryHolding: boolean;
readonly asQueryHolding: {
readonly query_id: Compact<u64>;
readonly dest: MultiLocationV2;
readonly assets: MultiAssetFilterV2;
readonly maxResponse_Weight: Compact<u64>;
} & Struct;
readonly isBuyExecution: boolean;
readonly asBuyExecution: {
readonly fees: MultiAssetV2;
readonly weightLimit: WeightLimitV2;
} & Struct;
readonly isRefundSurplus: boolean;
readonly isSetErrorHandler: boolean;
readonly asSetErrorHandler: XcmV2;
readonly isSetAppendix: boolean;
readonly asSetAppendix: XcmV2;
readonly isClearError: boolean;
readonly isClaimAsset: boolean;
readonly asClaimAsset: {
readonly assets: MultiAssetsV2;
readonly ticket: MultiLocationV2;
} & Struct;
readonly isTrap: boolean;
readonly asTrap: u64;
}
/** @name InteriorMultiLocation */
export interface InteriorMultiLocation extends Junctions {}
/** @name Junction */
export interface Junction extends Enum {
readonly isParent: boolean;
@@ -138,6 +254,27 @@ export interface Junction extends Enum {
} & Struct;
}
/** @name Junctions */
export interface Junctions extends Enum {
readonly isHere: boolean;
readonly isX1: boolean;
readonly asX1: Junction;
readonly isX2: boolean;
readonly asX2: ITuple<[Junction, Junction]>;
readonly isX3: boolean;
readonly asX3: ITuple<[Junction, Junction, Junction]>;
readonly isX4: boolean;
readonly asX4: ITuple<[Junction, Junction, Junction, Junction]>;
readonly isX5: boolean;
readonly asX5: ITuple<[Junction, Junction, Junction, Junction, Junction]>;
readonly isX6: boolean;
readonly asX6: ITuple<[Junction, Junction, Junction, Junction, Junction, Junction]>;
readonly isX7: boolean;
readonly asX7: ITuple<[Junction, Junction, Junction, Junction, Junction, Junction, Junction]>;
readonly isX8: boolean;
readonly asX8: ITuple<[Junction, Junction, Junction, Junction, Junction, Junction, Junction, Junction]>;
}
/** @name MultiAsset */
export interface MultiAsset extends MultiAssetV1 {}
@@ -152,6 +289,9 @@ export interface MultiAssetFilterV1 extends Enum {
readonly asWild: WildMultiAssetV1;
}
/** @name MultiAssetFilterV2 */
export interface MultiAssetFilterV2 extends MultiAssetFilterV1 {}
/** @name MultiAssets */
export interface MultiAssets extends Vec<MultiAsset> {}
@@ -207,34 +347,19 @@ export interface MultiAssetV1 extends Struct {
export interface MultiAssetV2 extends MultiAssetV1 {}
/** @name MultiLocation */
export interface MultiLocation extends Enum {
readonly isHere: boolean;
readonly isX1: boolean;
readonly asX1: Junction;
readonly isX2: boolean;
readonly asX2: ITuple<[Junction, Junction]>;
readonly isX3: boolean;
readonly asX3: ITuple<[Junction, Junction, Junction]>;
readonly isX4: boolean;
readonly asX4: ITuple<[Junction, Junction, Junction, Junction]>;
readonly isX5: boolean;
readonly asX5: ITuple<[Junction, Junction, Junction, Junction, Junction]>;
readonly isX6: boolean;
readonly asX6: ITuple<[Junction, Junction, Junction, Junction, Junction, Junction]>;
readonly isX7: boolean;
readonly asX7: ITuple<[Junction, Junction, Junction, Junction, Junction, Junction, Junction]>;
readonly isX8: boolean;
readonly asX8: ITuple<[Junction, Junction, Junction, Junction, Junction, Junction, Junction, Junction]>;
}
export interface MultiLocation extends Junctions {}
/** @name MultiLocationV0 */
export interface MultiLocationV0 extends MultiLocation {}
/** @name MultiLocationV1 */
export interface MultiLocationV1 extends MultiLocation {}
export interface MultiLocationV1 extends Struct {
readonly parents: u8;
readonly interior: Junctions;
}
/** @name MultiLocationV2 */
export interface MultiLocationV2 extends MultiLocation {}
export interface MultiLocationV2 extends MultiLocationV1 {}
/** @name NetworkId */
export interface NetworkId extends Enum {
@@ -245,6 +370,20 @@ export interface NetworkId extends Enum {
readonly isKusama: boolean;
}
/** @name OriginKindV0 */
export interface OriginKindV0 extends Enum {
readonly isNative: boolean;
readonly isSovereignAccount: boolean;
readonly isSuperuser: boolean;
readonly isXcm: boolean;
}
/** @name OriginKindV1 */
export interface OriginKindV1 extends OriginKindV0 {}
/** @name OriginKindV2 */
export interface OriginKindV2 extends OriginKindV1 {}
/** @name OutboundStatus */
export interface OutboundStatus extends Enum {
readonly isOk: boolean;
@@ -369,6 +508,8 @@ export interface VersionedXcm extends Enum {
readonly asV0: XcmV0;
readonly isV1: boolean;
readonly asV1: XcmV1;
readonly isV2: boolean;
readonly asV2: XcmV2;
}
/** @name VersionMigrationStage */
@@ -380,6 +521,13 @@ export interface VersionMigrationStage extends Enum {
readonly isMigrateAndNotifyOldTargets: boolean;
}
/** @name WeightLimitV2 */
export interface WeightLimitV2 extends Enum {
readonly isUnlimited: boolean;
readonly isLimited: boolean;
readonly asLimited: Compact<u64>;
}
/** @name WildFungibility */
export interface WildFungibility extends Enum {
readonly isFungible: boolean;
@@ -764,6 +912,9 @@ export interface XcmV1 extends Enum {
} & Struct;
}
/** @name XcmV2 */
export interface XcmV2 extends Vec<InstructionV2> {}
/** @name XcmVersion */
export interface XcmVersion extends u32 {}
+3
View File
@@ -51,6 +51,9 @@ export const v0: DefinitionsTypes = {
}
},
MultiLocationV0: 'MultiLocation',
OriginKindV0: {
_enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']
},
ResponseV0: {
_enum: {
Assets: 'Vec<MultiAssetV0>'
+5 -1
View File
@@ -29,7 +29,11 @@ export const v1: DefinitionsTypes = {
Wild: 'WildMultiAssetV1'
}
},
MultiLocationV1: 'MultiLocation',
MultiLocationV1: {
parents: 'u8',
interior: 'Junctions'
},
OriginKindV1: 'OriginKindV0',
ResponseV1: {
_enum: {
Assets: 'MultiAssetsV1'
+100 -1
View File
@@ -9,7 +9,9 @@ import type { DefinitionsTypes } from '../../types';
export const v2: DefinitionsTypes = {
MultiAssetsV2: 'MultiAssetsV1',
MultiAssetV2: 'MultiAssetV1',
MultiLocationV2: 'MultiLocation',
MultiAssetFilterV2: 'MultiAssetFilterV1',
MultiLocationV2: 'MultiLocationV1',
OriginKindV2: 'OriginKindV1',
ResponseV2: {
_enum: {
Null: 'Null',
@@ -19,6 +21,103 @@ export const v2: DefinitionsTypes = {
},
ResponseV2Error: '(u32, XcmErrorV2)',
ResponseV2Result: 'Result<Null, ResponseV2Error>',
WeightLimitV2: {
_enum: {
Unlimited: 'Null',
Limited: 'Compact<u64>'
}
},
InstructionV2: {
_enum: {
WithdrawAsset: 'MultiAssetsV2',
ReserveAssetDeposited: 'MultiAssetsV2',
ReceiveTeleportedAsset: 'MultiAssetsV2',
QueryResponse: {
queryId: 'Compact<u64>',
response: 'ResponseV2',
maxWeight: 'Compact<u64>'
},
TransferAsset: {
assets: 'MultiAssetsV2',
beneficiary: 'MultiLocationV2'
},
TransferReserveAsset: {
assets: 'MultiAssetsV2',
dest: 'MultiLocationV2',
xcm: 'XcmV2'
},
Transact: {
originType: 'OriginKindV2',
requireWeightAtMost: 'u64',
call: 'DoubleEncodedCall'
},
HrmpNewChannelOpenRequest: {
sender: 'Compact<u32>',
maxMessageSize: 'Compact<u32>',
maxCapacity: 'Compact<u32>'
},
HrmpChannelAccepted: {
recipient: 'Compact<u32>'
},
HrmpChannelClosing: {
initiator: 'Compact<u32>',
sender: 'Compact<u32>',
recipient: 'Compact<u32>'
},
ClearOrigin: 'Null',
DescendOrigin: 'InteriorMultiLocation',
ReportError: {
queryId: 'Compact<u64>',
dest: 'MultiLocationV2',
maxResponseWeight: 'Compact<u64>'
},
DepositAsset: {
assets: 'MultiAssetFilterV2',
maxAssets: 'u32',
beneficiary: 'MultiLocationV2'
},
DepositReserveAsset: {
assets: 'MultiAssetFilterV2',
maxAssets: 'u32',
dest: 'MultiLocationV2',
xcm: 'XcmV2'
},
ExchangeAsset: {
give: 'MultiAssetFilterV2',
receive: 'MultiAssetsV2'
},
InitiateReserveWithdraw: {
assets: 'MultiAssetFilterV2',
reserve: 'MultiLocationV2',
xcm: 'XcmV2'
},
InitiateTeleport: {
assets: 'MultiAssetFilterV2',
dest: 'MultiLocationV2',
xcm: 'XcmV2'
},
QueryHolding: {
query_id: 'Compact<u64>',
dest: 'MultiLocationV2',
assets: 'MultiAssetFilterV2',
maxResponse_Weight: 'Compact<u64>'
},
BuyExecution: {
fees: 'MultiAssetV2',
weightLimit: 'WeightLimitV2'
},
RefundSurplus: 'Null',
SetErrorHandler: 'XcmV2',
SetAppendix: 'XcmV2',
ClearError: 'Null',
ClaimAsset: {
assets: 'MultiAssetsV2',
ticket: 'MultiLocationV2'
},
Trap: 'u64'
}
},
XcmV2: 'Vec<InstructionV2>',
XcmErrorV2: {
_enum: {
Undefined: 'Null',