Adjust xcm Fungibility (#4035)

* Adjust xcm Fungibility

* V1 & V2

* Align with master
This commit is contained in:
Jaco
2021-10-08 08:17:49 +03:00
committed by GitHub
parent fa79f35ec2
commit d9f4d3e08b
6 changed files with 48 additions and 20 deletions
+7 -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, 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';
import type { AssetInstance, AssetInstanceV0, AssetInstanceV1, AssetInstanceV2, BodyId, BodyPart, DoubleEncodedCall, Fungibility, FungibilityV0, FungibilityV1, FungibilityV2, 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, WildFungibilityV0, WildFungibilityV1, WildFungibilityV2, 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 {
@@ -407,6 +407,9 @@ declare module '@polkadot/types/types/registry' {
FundIndex: FundIndex;
FundInfo: FundInfo;
Fungibility: Fungibility;
FungibilityV0: FungibilityV0;
FungibilityV1: FungibilityV1;
FungibilityV2: FungibilityV2;
Gas: Gas;
GiltBid: GiltBid;
GlobalValidationData: GlobalValidationData;
@@ -1021,6 +1024,9 @@ declare module '@polkadot/types/types/registry' {
WeightPerClass: WeightPerClass;
WeightToFeeCoefficient: WeightToFeeCoefficient;
WildFungibility: WildFungibility;
WildFungibilityV0: WildFungibilityV0;
WildFungibilityV1: WildFungibilityV1;
WildFungibilityV2: WildFungibilityV2;
WildMultiAsset: WildMultiAsset;
WildMultiAssetV1: WildMultiAssetV1;
WildMultiAssetV2: WildMultiAssetV2;
@@ -10,7 +10,7 @@ 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'];
export const XCM_MAPPINGS = ['AssetInstance', 'Fungibility', 'Junction', 'Junctions', 'MultiAsset', 'MultiAssetFilter', 'MultiLocation', 'Response', 'WildFungibility', 'WildMultiAsset', 'Xcm', 'XcmError', 'XcmOrder'];
const XCM_LATEST = 'V2';
@@ -36,22 +36,13 @@ const xcm = {
Abstract: 'Bytes'
}
},
Fungibility: {
_enum: {
Fungible: 'u128',
NonFungible: 'AssetInstance'
}
},
InboundStatus: {
_enum: ['Ok', 'Suspended']
},
OutboundStatus: {
_enum: ['Ok', 'Suspended']
},
MultiAssets: 'Vec<MultiAsset>',
WildFungibility: {
_enum: ['Fungible', 'NonFungible']
}
MultiAssets: 'Vec<MultiAsset>'
};
const location = {
+24 -6
View File
@@ -94,13 +94,22 @@ export interface DoubleEncodedCall extends Struct {
}
/** @name Fungibility */
export interface Fungibility extends Enum {
export interface Fungibility extends FungibilityV2 {}
/** @name FungibilityV0 */
export interface FungibilityV0 extends FungibilityV1 {}
/** @name FungibilityV1 */
export interface FungibilityV1 extends Enum {
readonly isFungible: boolean;
readonly asFungible: u128;
readonly asFungible: Compact<u128>;
readonly isNonFungible: boolean;
readonly asNonFungible: AssetInstance;
readonly asNonFungible: AssetInstanceV1;
}
/** @name FungibilityV2 */
export interface FungibilityV2 extends FungibilityV1 {}
/** @name InboundStatus */
export interface InboundStatus extends Enum {
readonly isOk: boolean;
@@ -388,7 +397,7 @@ export interface MultiAssetV0 extends Enum {
/** @name MultiAssetV1 */
export interface MultiAssetV1 extends Struct {
readonly id: XcmAssetId;
readonly fungibility: Fungibility;
readonly fungibility: FungibilityV1;
}
/** @name MultiAssetV2 */
@@ -595,11 +604,20 @@ export interface WeightLimitV2 extends Enum {
}
/** @name WildFungibility */
export interface WildFungibility extends Enum {
export interface WildFungibility extends WildFungibilityV2 {}
/** @name WildFungibilityV0 */
export interface WildFungibilityV0 extends WildFungibilityV1 {}
/** @name WildFungibilityV1 */
export interface WildFungibilityV1 extends Enum {
readonly isFungible: boolean;
readonly isNonFungible: boolean;
}
/** @name WildFungibilityV2 */
export interface WildFungibilityV2 extends WildFungibilityV1 {}
/** @name WildMultiAsset */
export interface WildMultiAsset extends WildMultiAssetV2 {}
@@ -609,7 +627,7 @@ export interface WildMultiAssetV1 extends Enum {
readonly isAllOf: boolean;
readonly asAllOf: {
readonly id: XcmAssetId;
readonly fungibility: WildFungibility;
readonly fungibility: WildFungibilityV1;
} & Struct;
}
+2
View File
@@ -7,6 +7,8 @@
import type { DefinitionsTypes } from '../../types';
export const v0: DefinitionsTypes = {
FungibilityV0: 'FungibilityV1',
WildFungibilityV0: 'WildFungibilityV1',
AssetInstanceV0: {
_enum: {
Undefined: 'Null',
+11 -2
View File
@@ -18,6 +18,12 @@ export const v1: DefinitionsTypes = {
Blob: 'Bytes'
}
},
FungibilityV1: {
_enum: {
Fungible: 'Compact<u128>',
NonFungible: 'AssetInstanceV1'
}
},
JunctionV1: {
_enum: {
Parachain: 'Compact<u32>',
@@ -59,7 +65,7 @@ export const v1: DefinitionsTypes = {
MultiAssetsV1: 'Vec<MultiAssetV1>',
MultiAssetV1: {
id: 'XcmAssetId',
fungibility: 'Fungibility'
fungibility: 'FungibilityV1'
},
MultiAssetFilterV1: {
_enum: {
@@ -77,12 +83,15 @@ export const v1: DefinitionsTypes = {
Assets: 'MultiAssetsV1'
}
},
WildFungibilityV1: {
_enum: ['Fungible', 'NonFungible']
},
WildMultiAssetV1: {
_enum: {
All: 'Null',
AllOf: {
id: 'XcmAssetId',
fungibility: 'WildFungibility'
fungibility: 'WildFungibilityV1'
}
}
},
+2
View File
@@ -8,6 +8,7 @@ import type { DefinitionsTypes } from '../../types';
export const v2: DefinitionsTypes = {
AssetInstanceV2: 'AssetInstanceV1',
FungibilityV2: 'FungibilityV1',
JunctionV2: 'JunctionV1',
JunctionsV2: 'JunctionsV1',
MultiAssetsV2: 'MultiAssetsV1',
@@ -15,6 +16,7 @@ export const v2: DefinitionsTypes = {
MultiAssetFilterV2: 'MultiAssetFilterV1',
MultiLocationV2: 'MultiLocationV1',
OriginKindV2: 'OriginKindV1',
WildFungibilityV2: 'WildFungibilityV1',
ResponseV2: {
_enum: {
Null: 'Null',