From c47964c9421c1eb24a11f298181104e95f88d702 Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Mon, 12 Apr 2021 16:09:33 +0300 Subject: [PATCH] Updated xcm types (#3391) * Updated xcm types * Move NetworkId * Update DoubleEncodedCall * trigger * Xcm is an enum --- .123trigger | 2 +- packages/types-known/src/modules.ts | 6 + packages/types/src/augment/registry.ts | 147 ++++--- packages/types/src/interfaces/definitions.ts | 1 + .../src/interfaces/parachains/definitions.ts | 198 --------- .../types/src/interfaces/parachains/types.ts | 310 +------------- packages/types/src/interfaces/types.ts | 1 + .../types/src/interfaces/xcm/definitions.ts | 227 +++++++++++ packages/types/src/interfaces/xcm/index.ts | 4 + packages/types/src/interfaces/xcm/types.ts | 385 ++++++++++++++++++ 10 files changed, 712 insertions(+), 569 deletions(-) create mode 100644 packages/types/src/interfaces/xcm/definitions.ts create mode 100644 packages/types/src/interfaces/xcm/index.ts create mode 100644 packages/types/src/interfaces/xcm/types.ts diff --git a/.123trigger b/.123trigger index cf3a8a965b..4d3e96d033 100644 --- a/.123trigger +++ b/.123trigger @@ -1,4 +1,4 @@ -27 +28 1.4.2 1.6.2 1.11.2 diff --git a/packages/types-known/src/modules.ts b/packages/types-known/src/modules.ts index 8ab35b394e..e23e4a31cd 100644 --- a/packages/types-known/src/modules.ts +++ b/packages/types-known/src/modules.ts @@ -72,6 +72,12 @@ const typesModules: Record = { }, treasury: { Proposal: 'TreasuryProposal' + }, + xcm: { + Outcome: 'XcmOutcome' + }, + xcmPallet: { + Outcome: 'XcmOutcome' } }; diff --git a/packages/types/src/augment/registry.ts b/packages/types/src/augment/registry.ts index 231db9df06..8bdffc77a0 100644 --- a/packages/types/src/augment/registry.ts +++ b/packages/types/src/augment/registry.ts @@ -34,7 +34,7 @@ import type { DoubleMapTypeLatest, DoubleMapTypeV10, DoubleMapTypeV11, DoubleMap import type { MmrLeafProof } from '@polkadot/types/interfaces/mmr'; import type { StorageKind } from '@polkadot/types/interfaces/offchain'; import type { DeferredOffenceOf, Kind, OffenceDetails, Offender, OpaqueTimeSlot, ReportIdOf, Reporter } from '@polkadot/types/interfaces/offences'; -import type { AbridgedCandidateReceipt, AbridgedHostConfiguration, AbridgedHrmpChannel, AbstractFungible, AbstractNonFungible, AccountId32Junction, AccountIndex64Junction, AccountKey20Junction, AssetInstance, AssignmentId, AssignmentKind, AttestedCandidate, AuctionIndex, AuthorityDiscoveryId, AvailabilityBitfield, AvailabilityBitfieldRecord, BackedCandidate, Balances, Bidder, BufferedSessionChange, CandidateCommitments, CandidateDescriptor, CandidateHash, CandidatePendingAvailability, CandidateReceipt, CollatorId, CollatorSignature, CommittedCandidateReceipt, ConcreteFungible, ConcreteNonFungible, CoreAssignment, CoreIndex, CoreOccupied, DepositAsset, DepositReserveAsset, DisputeStatement, DisputeStatementSet, DoubleVoteReport, DownwardMessage, ExchangeAsset, ExplicitDisputeStatement, GlobalValidationData, GlobalValidationSchedule, GroupIndex, HeadData, HostConfiguration, HrmpChannel, HrmpChannelId, HrmpOpenChannelRequest, InboundDownwardMessage, InboundHrmpMessage, InboundHrmpMessages, IncomingParachain, IncomingParachainDeploy, IncomingParachainFixed, InitiateReserveWithdraw, InitiateTeleport, InvalidDisputeStatementKind, Junction, LeasePeriod, LeasePeriodOf, LocalValidationData, MessageIngestionType, MessageQueueChain, MessagingStateSnapshot, MessagingStateSnapshotEgressEntry, MultiAsset, MultiDisputeStatementSet, MultiLocation, NetworkId, NewBidder, Order, OriginKind, OutboundHrmpMessage, ParaGenesisArgs, ParaId, ParaInfo, ParaLifecycle, ParaPastCodeMeta, ParaScheduling, ParaValidatorIndex, ParachainDispatchOrigin, ParachainInherentData, ParachainProposal, ParachainsInherentData, ParathreadClaim, ParathreadClaimQueue, ParathreadEntry, PersistedValidationData, QueryHolding, QueuedParathread, RegisteredParachainInfo, RelayChainBlockNumber, RelayChainHash, RelayTo, RelayedFrom, Remark, ReserveAssetDeposit, Retriable, Scheduling, ServiceQuality, SessionInfo, SessionInfoValidatorGroup, SignedAvailabilityBitfield, SignedAvailabilityBitfields, SigningContext, SlotRange, Statement, SubId, SystemInherentData, TeleportAsset, Transact, TransientValidationData, UpwardMessage, ValidDisputeStatementKind, ValidationCode, ValidationData, ValidationDataType, ValidationFunctionParams, ValidatorSignature, ValidityAttestation, VecInboundHrmpMessage, VersionedMultiAsset, VersionedMultiLocation, VersionedXcm, WinnersData, WinnersDataTuple, WinningData, WinningDataEntry, WithdrawAsset, Xcm, XcmError, XcmResult } from '@polkadot/types/interfaces/parachains'; +import type { AbridgedCandidateReceipt, AbridgedHostConfiguration, AbridgedHrmpChannel, AssignmentId, AssignmentKind, AttestedCandidate, AuctionIndex, AuthorityDiscoveryId, AvailabilityBitfield, AvailabilityBitfieldRecord, BackedCandidate, Bidder, BufferedSessionChange, CandidateCommitments, CandidateDescriptor, CandidateHash, CandidatePendingAvailability, CandidateReceipt, CollatorId, CollatorSignature, CommittedCandidateReceipt, CoreAssignment, CoreIndex, CoreOccupied, DisputeStatement, DisputeStatementSet, DoubleVoteReport, DownwardMessage, ExplicitDisputeStatement, GlobalValidationData, GlobalValidationSchedule, GroupIndex, HeadData, HostConfiguration, HrmpChannel, HrmpChannelId, HrmpOpenChannelRequest, InboundDownwardMessage, InboundHrmpMessage, InboundHrmpMessages, IncomingParachain, IncomingParachainDeploy, IncomingParachainFixed, InvalidDisputeStatementKind, LeasePeriod, LeasePeriodOf, LocalValidationData, MessageIngestionType, MessageQueueChain, MessagingStateSnapshot, MessagingStateSnapshotEgressEntry, MultiDisputeStatementSet, NewBidder, OutboundHrmpMessage, ParaGenesisArgs, ParaId, ParaInfo, ParaLifecycle, ParaPastCodeMeta, ParaScheduling, ParaValidatorIndex, ParachainDispatchOrigin, ParachainInherentData, ParachainProposal, ParachainsInherentData, ParathreadClaim, ParathreadClaimQueue, ParathreadEntry, PersistedValidationData, QueuedParathread, RegisteredParachainInfo, RelayChainBlockNumber, RelayChainHash, Remark, Retriable, Scheduling, ServiceQuality, SessionInfo, SessionInfoValidatorGroup, SignedAvailabilityBitfield, SignedAvailabilityBitfields, SigningContext, SlotRange, Statement, SubId, SystemInherentData, TransientValidationData, UpwardMessage, ValidDisputeStatementKind, ValidationCode, ValidationData, ValidationDataType, ValidationFunctionParams, ValidatorSignature, ValidityAttestation, VecInboundHrmpMessage, WinnersData, WinnersDataTuple, WinningData, WinningDataEntry } from '@polkadot/types/interfaces/parachains'; import type { FeeDetails, InclusionFee, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment'; import type { Approvals } from '@polkadot/types/interfaces/poll'; import type { ProxyAnnouncement, ProxyDefinition, ProxyType } from '@polkadot/types/interfaces/proxy'; @@ -54,6 +54,7 @@ import type { Bounty, BountyIndex, BountyStatus, BountyStatusActive, BountyStatu import type { Multiplier } from '@polkadot/types/interfaces/txpayment'; import type { Multisig, Timepoint } from '@polkadot/types/interfaces/utility'; import type { VestingInfo } from '@polkadot/types/interfaces/vesting'; +import type { AccountId32Junction, AccountIndex64Junction, AccountKey20Junction, AssetInstance, DoubleEncodedCall, Junction, MultiAsset, MultiAssetAbstractFungible, MultiAssetAbstractNonFungible, MultiAssetConcreteFungible, MultiAssetConcreteNonFungible, MultiLocation, NetworkId, VersionedMultiAsset, VersionedMultiLocation, VersionedXcm, Xcm, XcmAssetEffects, XcmError, XcmHrmpChannelAccepted, XcmHrmpChannelClosing, XcmHrmpNewChannelOpenRequest, XcmOrder, XcmOrderBuyExecution, XcmOrderDepositAsset, XcmOrderDepositReserveAsset, XcmOrderExchangeAsset, XcmOrderInitiateReserveWithdraw, XcmOrderInitiateTeleport, XcmOrderQueryHolding, XcmOriginKind, XcmOutcome, XcmQueryResponse, XcmRelayedFrom, XcmReserveAssetDeposit, XcmResponse, XcmTeleportAsset, XcmTransact, XcmTransferAsset, XcmTransferReserveAsset, XcmWithdrawAsset } from '@polkadot/types/interfaces/xcm'; declare module '@polkadot/types/types/registry' { export interface InterfaceTypes { @@ -147,8 +148,6 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; - 'Option': Option; - 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -211,7 +210,6 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; - 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -257,8 +255,6 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; - 'Option': Option; - 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -307,8 +303,6 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; - 'Option': Option; - 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -326,6 +320,7 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; + 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -396,7 +391,6 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; - 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -500,8 +494,6 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; - 'Option': Option; - 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -566,6 +558,10 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -599,10 +595,8 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; - 'Option': Option; 'Option': Option; 'Option': Option; - 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -664,7 +658,6 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; - 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -698,15 +691,12 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; - 'Option': Option; - 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; - 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -831,11 +821,9 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; - 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; - 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -912,16 +900,35 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; - 'Option': Option; 'Option': Option; 'Option': Option; + 'Option': Option; 'Option': Option; - 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; - 'Vec': Vec; - 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -984,7 +991,6 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; - 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -1030,8 +1036,6 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; - 'Vec': Vec; - 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -1080,8 +1084,6 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; - 'Vec': Vec; - 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -1099,6 +1101,7 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; + 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -1169,7 +1172,6 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; - 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -1273,8 +1275,6 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; - 'Vec': Vec; - 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -1339,6 +1339,10 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -1372,10 +1376,8 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; - 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; - 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -1437,7 +1439,6 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; - 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -1471,15 +1472,12 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; - 'Vec': Vec; - 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; - 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -1604,11 +1602,9 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; - 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; - 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -1685,16 +1681,35 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; - 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; + 'Vec': Vec; 'Vec': Vec; - 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; AbridgedCandidateReceipt: AbridgedCandidateReceipt; AbridgedHostConfiguration: AbridgedHostConfiguration; AbridgedHrmpChannel: AbridgedHrmpChannel; - AbstractFungible: AbstractFungible; - AbstractNonFungible: AbstractNonFungible; AccountData: AccountData; AccountId: AccountId; AccountId32Junction: AccountId32Junction; @@ -1757,7 +1772,6 @@ declare module '@polkadot/types/types/registry' { BalanceLock: BalanceLock; BalanceLockTo212: BalanceLockTo212; BalanceOf: BalanceOf; - Balances: Balances; BalanceStatus: BalanceStatus; BeefyKey: BeefyKey; BeefyNextAuthoritySet: BeefyNextAuthoritySet; @@ -1803,8 +1817,6 @@ declare module '@polkadot/types/types/registry' { CompactAssignmentsTo257: CompactAssignmentsTo257; CompactScore: CompactScore; CompactScoreCompact: CompactScoreCompact; - ConcreteFungible: ConcreteFungible; - ConcreteNonFungible: ConcreteNonFungible; Consensus: Consensus; ConsensusEngineId: ConsensusEngineId; ConsumedWeight: ConsumedWeight; @@ -1853,8 +1865,6 @@ declare module '@polkadot/types/types/registry' { DefunctVoter: DefunctVoter; Delegations: Delegations; DeletedContract: DeletedContract; - DepositAsset: DepositAsset; - DepositReserveAsset: DepositReserveAsset; Digest: Digest; DigestItem: DigestItem; DigestOf: DigestOf; @@ -1872,6 +1882,7 @@ declare module '@polkadot/types/types/registry' { DisputeStatement: DisputeStatement; DisputeStatementSet: DisputeStatementSet; DoNotConstruct: DoNotConstruct; + DoubleEncodedCall: DoubleEncodedCall; DoubleMapTypeLatest: DoubleMapTypeLatest; DoubleMapTypeV10: DoubleMapTypeV10; DoubleMapTypeV11: DoubleMapTypeV11; @@ -1942,7 +1953,6 @@ declare module '@polkadot/types/types/registry' { EvmAccount: EvmAccount; EvmLog: EvmLog; EvmVicinity: EvmVicinity; - ExchangeAsset: ExchangeAsset; ExitError: ExitError; ExitFatal: ExitFatal; ExitReason: ExitReason; @@ -2046,8 +2056,6 @@ declare module '@polkadot/types/types/registry' { Index: Index; IndicesLookupSource: IndicesLookupSource; IndividualExposure: IndividualExposure; - InitiateReserveWithdraw: InitiateReserveWithdraw; - InitiateTeleport: InitiateTeleport; InstructionWeights: InstructionWeights; InvalidDisputeStatementKind: InvalidDisputeStatementKind; InvalidTransaction: InvalidTransaction; @@ -2112,6 +2120,10 @@ declare module '@polkadot/types/types/registry' { MortalEra: MortalEra; MultiAddress: MultiAddress; MultiAsset: MultiAsset; + MultiAssetAbstractFungible: MultiAssetAbstractFungible; + MultiAssetAbstractNonFungible: MultiAssetAbstractNonFungible; + MultiAssetConcreteFungible: MultiAssetConcreteFungible; + MultiAssetConcreteNonFungible: MultiAssetConcreteNonFungible; MultiDisputeStatementSet: MultiDisputeStatementSet; MultiLocation: MultiLocation; Multiplier: Multiplier; @@ -2145,10 +2157,8 @@ declare module '@polkadot/types/types/registry' { OpenTipFinderTo225: OpenTipFinderTo225; OpenTipTip: OpenTipTip; OpenTipTo225: OpenTipTo225; - Order: Order; Origin: Origin; OriginCaller: OriginCaller; - OriginKind: OriginKind; OutboundHrmpMessage: OutboundHrmpMessage; Owner: Owner; PalletId: PalletId; @@ -2210,7 +2220,6 @@ declare module '@polkadot/types/types/registry' { ProxyDefinition: ProxyDefinition; ProxyState: ProxyState; ProxyType: ProxyType; - QueryHolding: QueryHolding; QueuedParathread: QueuedParathread; Randomness: Randomness; Raw: Raw; @@ -2244,15 +2253,12 @@ declare module '@polkadot/types/types/registry' { RegistrationJudgement: RegistrationJudgement; RelayChainBlockNumber: RelayChainBlockNumber; RelayChainHash: RelayChainHash; - RelayedFrom: RelayedFrom; - RelayTo: RelayTo; Releases: Releases; Remark: Remark; Renouncing: Renouncing; ReportedRoundStates: ReportedRoundStates; Reporter: Reporter; ReportIdOf: ReportIdOf; - ReserveAssetDeposit: ReserveAssetDeposit; Retriable: Retriable; RewardDestination: RewardDestination; RewardPoint: RewardPoint; @@ -2377,11 +2383,9 @@ declare module '@polkadot/types/types/registry' { TaskAddress: TaskAddress; TAssetBalance: TAssetBalance; TAssetDepositBalance: TAssetDepositBalance; - TeleportAsset: TeleportAsset; Text: Text; Timepoint: Timepoint; TombstoneContractInfo: TombstoneContractInfo; - Transact: Transact; TransactionPriority: TransactionPriority; TransactionValidityError: TransactionValidityError; TransientValidationData: TransientValidationData; @@ -2458,10 +2462,31 @@ declare module '@polkadot/types/types/registry' { WinnersDataTuple: WinnersDataTuple; WinningData: WinningData; WinningDataEntry: WinningDataEntry; - WithdrawAsset: WithdrawAsset; WithdrawReasons: WithdrawReasons; Xcm: Xcm; + XcmAssetEffects: XcmAssetEffects; XcmError: XcmError; - XcmResult: XcmResult; + XcmHrmpChannelAccepted: XcmHrmpChannelAccepted; + XcmHrmpChannelClosing: XcmHrmpChannelClosing; + XcmHrmpNewChannelOpenRequest: XcmHrmpNewChannelOpenRequest; + XcmOrder: XcmOrder; + XcmOrderBuyExecution: XcmOrderBuyExecution; + XcmOrderDepositAsset: XcmOrderDepositAsset; + XcmOrderDepositReserveAsset: XcmOrderDepositReserveAsset; + XcmOrderExchangeAsset: XcmOrderExchangeAsset; + XcmOrderInitiateReserveWithdraw: XcmOrderInitiateReserveWithdraw; + XcmOrderInitiateTeleport: XcmOrderInitiateTeleport; + XcmOrderQueryHolding: XcmOrderQueryHolding; + XcmOriginKind: XcmOriginKind; + XcmOutcome: XcmOutcome; + XcmQueryResponse: XcmQueryResponse; + XcmRelayedFrom: XcmRelayedFrom; + XcmReserveAssetDeposit: XcmReserveAssetDeposit; + XcmResponse: XcmResponse; + XcmTeleportAsset: XcmTeleportAsset; + XcmTransact: XcmTransact; + XcmTransferAsset: XcmTransferAsset; + XcmTransferReserveAsset: XcmTransferReserveAsset; + XcmWithdrawAsset: XcmWithdrawAsset; } } diff --git a/packages/types/src/interfaces/definitions.ts b/packages/types/src/interfaces/definitions.ts index 156878fa16..aa031f96f8 100644 --- a/packages/types/src/interfaces/definitions.ts +++ b/packages/types/src/interfaces/definitions.ts @@ -48,6 +48,7 @@ export { default as crowdloan } from './crowdloan/definitions'; export { default as parachains } from './parachains/definitions'; export { default as poll } from './poll/definitions'; export { default as purchase } from './purchase/definitions'; +export { default as xcm } from './xcm/definitions'; // scale-info & contracts export { default as contractsAbi } from './contractsAbi/definitions'; diff --git a/packages/types/src/interfaces/parachains/definitions.ts b/packages/types/src/interfaces/parachains/definitions.ts index 3fe7e059b7..6f0a96f33e 100644 --- a/packages/types/src/interfaces/parachains/definitions.ts +++ b/packages/types/src/interfaces/parachains/definitions.ts @@ -387,204 +387,6 @@ export default { Explicit: 'ValidatorSignature' } }, - VersionedXcm: { - _enum: { - V0: 'Xcm' - } - }, - WithdrawAsset: { - assets: 'Vec', - effects: 'Vec' - }, - ReserveAssetDeposit: { - assets: 'Vec', - effects: 'Vec' - }, - TeleportAsset: { - assets: 'Vec', - effects: 'Vec' - }, - Balances: { - queryId: 'Compact', - assets: 'Vec' - }, - Transact: { - originType: 'OriginKind', - call: 'Vec' - }, - RelayTo: { - dest: 'MultiLocation', - inner: 'VersionedXcm' - }, - RelayedFrom: { - superorigin: 'MultiLocation', - inner: 'VersionedXcm' - }, - Xcm: { - _enum: { - WithdrawAsset: 'WithdrawAsset', - ReserveAssetDeposit: 'ReserveAssetDeposit', - TeleportAsset: 'TeleportAsset', - Balances: 'Balances', - Transact: 'Transact', - RelayTo: 'RelayTo', - RelayedFrom: 'RelayedFrom' - } - }, - XcmError: { - _enum: ['Undefined', 'Unimplemented', 'UnhandledXcmVersion', 'UnhandledXcmMessage', 'UnhandledEffect', 'EscalationOfPrivilege', 'UntrustedReserveLocation', 'UntrustedTeleportLocation', 'DestinationBufferOverflow', 'CannotReachDestination', 'MultiLocationFull', 'FailedToDecode', 'BadOrigin'] - }, - XcmResult: { - _enum: { - Ok: '()', - Err: 'XcmError' - } - }, - OriginKind: { - _enum: ['Native', 'SovereignAccount', 'Superuser'] - }, - NetworkId: { - _enum: { - Any: 'Null', - Named: 'Vec', - Polkadot: 'Null', - Kusama: 'Null' - } - }, - MultiLocation: { - _enum: { - Null: '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)' - } - }, - AccountId32Junction: { - network: 'NetworkId', - id: 'AccountId' - }, - AccountIndex64Junction: { - network: 'NetworkId', - index: 'Compact' - }, - AccountKey20Junction: { - network: 'NetworkId', - index: '[u8; 20]' - }, - Junction: { - _enum: { - Parent: 'Null', - Parachain: 'Compact', - AccountId32: 'AccountId32Junction', - AccountIndex64: 'AccountIndex64Junction', - AccountKey20: 'AccountKey20Junction', - PalletInstance: 'u8', - GeneralIndex: 'Compact', - GeneralKey: 'Vec', - OnlyChild: 'Null' - } - }, - VersionedMultiLocation: { - _enum: { - V0: 'MultiLocation' - } - }, - AssetInstance: { - _enum: { - Undefined: 'Null', - Index8: 'u8', - Index16: 'Compact', - Index32: 'Compact', - Index64: 'Compact', - Index128: 'Compact', - Array4: '[u8; 4]', - Array8: '[u8; 8]', - Array16: '[u8; 16]', - Array32: '[u8; 32]', - Blob: 'Vec' - } - }, - AbstractFungible: { - id: 'Vec', - instance: 'Compact' - }, - AbstractNonFungible: { - class: 'Vec', - instance: 'AssetInstance' - }, - ConcreteFungible: { - id: 'MultiLocation', - amount: 'Compact' - }, - ConcreteNonFungible: { - class: 'MultiLocation', - instance: 'AssetInstance' - }, - MultiAsset: { - _enum: { - None: 'Null', - All: 'Null', - AllFungible: 'Null', - AllNonFungible: 'Null', - AllAbstractFungible: 'Vec', - AllAbstractNonFungible: 'Vec', - AllConcreteFungible: 'MultiLocation', - AllConcreteNonFungible: 'MultiLocation', - AbstractFungible: 'AbstractFungible', - AbstractNonFungible: 'AbstractNonFungible', - ConcreteFungible: 'ConcreteFungible', - ConcreteNonFungible: 'ConcreteNonFungible' - } - }, - VersionedMultiAsset: { - _enum: { - V0: 'MultiAsset' - } - }, - DepositAsset: { - assets: 'Vec', - dest: 'MultiLocation' - }, - DepositReserveAsset: { - assets: 'Vec', - dest: 'MultiLocation', - effects: 'Vec' - }, - ExchangeAsset: { - give: 'Vec', - receive: 'Vec' - }, - InitiateReserveWithdraw: { - assets: 'Vec', - reserve: 'MultiLocation', - effects: 'Vec' - }, - InitiateTeleport: { - assets: 'Vec', - dest: 'MultiLocation', - effects: 'Vec' - }, - QueryHolding: { - queryId: 'Compact', - dest: 'MultiLocation', - assets: 'Vec' - }, - Order: { - _enum: { - Null: 'Null', - DepositAsset: 'DepositAsset', - DepositReserveAsset: 'DepositReserveAsset', - ExchangeAsset: 'ExchangeAsset', - InitiateReserveWithdraw: 'InitiateReserveWithdraw', - InitiateTeleport: 'InitiateTeleport', - QueryHolding: 'QueryHolding' - } - }, MessagingStateSnapshot: { relayDispatchQueueSize: '(u32, u32)', egressChannels: 'Vec' diff --git a/packages/types/src/interfaces/parachains/types.ts b/packages/types/src/interfaces/parachains/types.ts index 23b89b2619..6d57e84bab 100644 --- a/packages/types/src/interfaces/parachains/types.ts +++ b/packages/types/src/interfaces/parachains/types.ts @@ -1,7 +1,7 @@ // Auto-generated via `yarn polkadot-types-from-defs`, do not edit /* eslint-disable */ -import type { BTreeMap, BitVec, Bytes, Compact, Enum, Option, Struct, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types'; +import type { BTreeMap, BitVec, Bytes, Enum, Option, Struct, U8aFixed, Vec, bool, u32 } from '@polkadot/types'; import type { ITuple } from '@polkadot/types/types'; import type { Signature } from '@polkadot/types/interfaces/extrinsics'; import type { AccountId, Balance, BalanceOf, BlockNumber, H256, Hash, Header, StorageProof, ValidatorId, Weight } from '@polkadot/types/interfaces/runtime'; @@ -42,61 +42,6 @@ export interface AbridgedHrmpChannel extends Struct { readonly mqcHead: Option; } -/** @name AbstractFungible */ -export interface AbstractFungible extends Struct { - readonly id: Bytes; - readonly instance: Compact; -} - -/** @name AbstractNonFungible */ -export interface AbstractNonFungible extends Struct { - readonly class: Bytes; - readonly instance: AssetInstance; -} - -/** @name AccountId32Junction */ -export interface AccountId32Junction extends Struct { - readonly network: NetworkId; - readonly id: AccountId; -} - -/** @name AccountIndex64Junction */ -export interface AccountIndex64Junction extends Struct { - readonly network: NetworkId; - readonly index: Compact; -} - -/** @name AccountKey20Junction */ -export interface AccountKey20Junction extends Struct { - readonly network: NetworkId; - readonly index: U8aFixed; -} - -/** @name AssetInstance */ -export interface AssetInstance extends Enum { - readonly isUndefined: boolean; - readonly isIndex8: boolean; - readonly asIndex8: u8; - readonly isIndex16: boolean; - readonly asIndex16: Compact; - readonly isIndex32: boolean; - readonly asIndex32: Compact; - readonly isIndex64: boolean; - readonly asIndex64: Compact; - readonly isIndex128: boolean; - readonly asIndex128: Compact; - readonly isArray4: boolean; - readonly asArray4: U8aFixed; - readonly isArray8: boolean; - readonly asArray8: U8aFixed; - readonly isArray16: boolean; - readonly asArray16: U8aFixed; - readonly isArray32: boolean; - readonly asArray32: U8aFixed; - readonly isBlob: boolean; - readonly asBlob: Bytes; -} - /** @name AssignmentId */ export interface AssignmentId extends AccountId {} @@ -136,12 +81,6 @@ export interface BackedCandidate extends Struct { readonly validatorIndices: BitVec; } -/** @name Balances */ -export interface Balances extends Struct { - readonly queryId: Compact; - readonly assets: Vec; -} - /** @name Bidder */ export interface Bidder extends Enum { readonly isNew: boolean; @@ -213,18 +152,6 @@ export interface CommittedCandidateReceipt extends Struct { readonly commitments: CandidateCommitments; } -/** @name ConcreteFungible */ -export interface ConcreteFungible extends Struct { - readonly id: MultiLocation; - readonly amount: Compact; -} - -/** @name ConcreteNonFungible */ -export interface ConcreteNonFungible extends Struct { - readonly class: MultiLocation; - readonly instance: AssetInstance; -} - /** @name CoreAssignment */ export interface CoreAssignment extends Struct { readonly core: CoreIndex; @@ -243,19 +170,6 @@ export interface CoreOccupied extends Enum { readonly isParachain: boolean; } -/** @name DepositAsset */ -export interface DepositAsset extends Struct { - readonly assets: Vec; - readonly dest: MultiLocation; -} - -/** @name DepositReserveAsset */ -export interface DepositReserveAsset extends Struct { - readonly assets: Vec; - readonly dest: MultiLocation; - readonly effects: Vec; -} - /** @name DisputeStatement */ export interface DisputeStatement extends Enum { readonly isValid: boolean; @@ -283,12 +197,6 @@ export interface DoubleVoteReport extends Struct { /** @name DownwardMessage */ export interface DownwardMessage extends Bytes {} -/** @name ExchangeAsset */ -export interface ExchangeAsset extends Struct { - readonly give: Vec; - readonly receive: Vec; -} - /** @name ExplicitDisputeStatement */ export interface ExplicitDisputeStatement extends Struct { readonly valid: bool; @@ -423,45 +331,11 @@ export interface IncomingParachainFixed extends Struct { readonly initialHeadData: HeadData; } -/** @name InitiateReserveWithdraw */ -export interface InitiateReserveWithdraw extends Struct { - readonly assets: Vec; - readonly reserve: MultiLocation; - readonly effects: Vec; -} - -/** @name InitiateTeleport */ -export interface InitiateTeleport extends Struct { - readonly assets: Vec; - readonly dest: MultiLocation; - readonly effects: Vec; -} - /** @name InvalidDisputeStatementKind */ export interface InvalidDisputeStatementKind extends Enum { readonly isExplicit: boolean; } -/** @name Junction */ -export interface Junction extends Enum { - readonly isParent: boolean; - readonly isParachain: boolean; - readonly asParachain: Compact; - readonly isAccountId32: boolean; - readonly asAccountId32: AccountId32Junction; - readonly isAccountIndex64: boolean; - readonly asAccountIndex64: AccountIndex64Junction; - readonly isAccountKey20: boolean; - readonly asAccountKey20: AccountKey20Junction; - readonly isPalletInstance: boolean; - readonly asPalletInstance: u8; - readonly isGeneralIndex: boolean; - readonly asGeneralIndex: Compact; - readonly isGeneralKey: boolean; - readonly asGeneralKey: Bytes; - readonly isOnlyChild: boolean; -} - /** @name LeasePeriod */ export interface LeasePeriod extends BlockNumber {} @@ -493,93 +367,15 @@ export interface MessagingStateSnapshot extends Struct { /** @name MessagingStateSnapshotEgressEntry */ export interface MessagingStateSnapshotEgressEntry extends ITuple<[ParaId, AbridgedHrmpChannel]> {} -/** @name MultiAsset */ -export interface MultiAsset extends Enum { - readonly isNone: boolean; - readonly isAll: boolean; - readonly isAllFungible: boolean; - readonly isAllNonFungible: boolean; - readonly isAllAbstractFungible: boolean; - readonly asAllAbstractFungible: Bytes; - readonly isAllAbstractNonFungible: boolean; - readonly asAllAbstractNonFungible: Bytes; - readonly isAllConcreteFungible: boolean; - readonly asAllConcreteFungible: MultiLocation; - readonly isAllConcreteNonFungible: boolean; - readonly asAllConcreteNonFungible: MultiLocation; - readonly isAbstractFungible: boolean; - readonly asAbstractFungible: AbstractFungible; - readonly isAbstractNonFungible: boolean; - readonly asAbstractNonFungible: AbstractNonFungible; - readonly isConcreteFungible: boolean; - readonly asConcreteFungible: ConcreteFungible; - readonly isConcreteNonFungible: boolean; - readonly asConcreteNonFungible: ConcreteNonFungible; -} - /** @name MultiDisputeStatementSet */ export interface MultiDisputeStatementSet extends Vec {} -/** @name MultiLocation */ -export interface MultiLocation extends Enum { - readonly isNull: 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 NetworkId */ -export interface NetworkId extends Enum { - readonly isAny: boolean; - readonly isNamed: boolean; - readonly asNamed: Bytes; - readonly isPolkadot: boolean; - readonly isKusama: boolean; -} - /** @name NewBidder */ export interface NewBidder extends Struct { readonly who: AccountId; readonly sub: SubId; } -/** @name Order */ -export interface Order extends Enum { - readonly isNull: boolean; - readonly isDepositAsset: boolean; - readonly asDepositAsset: DepositAsset; - readonly isDepositReserveAsset: boolean; - readonly asDepositReserveAsset: DepositReserveAsset; - readonly isExchangeAsset: boolean; - readonly asExchangeAsset: ExchangeAsset; - readonly isInitiateReserveWithdraw: boolean; - readonly asInitiateReserveWithdraw: InitiateReserveWithdraw; - readonly isInitiateTeleport: boolean; - readonly asInitiateTeleport: InitiateTeleport; - readonly isQueryHolding: boolean; - readonly asQueryHolding: QueryHolding; -} - -/** @name OriginKind */ -export interface OriginKind extends Enum { - readonly isNative: boolean; - readonly isSovereignAccount: boolean; - readonly isSuperuser: boolean; -} - /** @name OutboundHrmpMessage */ export interface OutboundHrmpMessage extends Struct { readonly recipient: u32; @@ -684,13 +480,6 @@ export interface PersistedValidationData extends Struct { readonly maxPovSize: u32; } -/** @name QueryHolding */ -export interface QueryHolding extends Struct { - readonly queryId: Compact; - readonly dest: MultiLocation; - readonly assets: Vec; -} - /** @name QueuedParathread */ export interface QueuedParathread extends Struct { readonly claim: ParathreadEntry; @@ -709,27 +498,9 @@ export interface RelayChainBlockNumber extends u32 {} /** @name RelayChainHash */ export interface RelayChainHash extends Hash {} -/** @name RelayedFrom */ -export interface RelayedFrom extends Struct { - readonly superorigin: MultiLocation; - readonly inner: VersionedXcm; -} - -/** @name RelayTo */ -export interface RelayTo extends Struct { - readonly dest: MultiLocation; - readonly inner: VersionedXcm; -} - /** @name Remark */ export interface Remark extends U8aFixed {} -/** @name ReserveAssetDeposit */ -export interface ReserveAssetDeposit extends Struct { - readonly assets: Vec; - readonly effects: Vec; -} - /** @name Retriable */ export interface Retriable extends Enum { readonly isNever: boolean; @@ -813,18 +584,6 @@ export interface SubId extends u32 {} /** @name SystemInherentData */ export interface SystemInherentData extends ParachainInherentData {} -/** @name TeleportAsset */ -export interface TeleportAsset extends Struct { - readonly assets: Vec; - readonly effects: Vec; -} - -/** @name Transact */ -export interface Transact extends Struct { - readonly originType: OriginKind; - readonly call: Bytes; -} - /** @name TransientValidationData */ export interface TransientValidationData extends Struct { readonly maxCodeSize: u32; @@ -882,24 +641,6 @@ export interface ValidityAttestation extends Enum { /** @name VecInboundHrmpMessage */ export interface VecInboundHrmpMessage extends Vec {} -/** @name VersionedMultiAsset */ -export interface VersionedMultiAsset extends Enum { - readonly isV0: boolean; - readonly asV0: MultiAsset; -} - -/** @name VersionedMultiLocation */ -export interface VersionedMultiLocation extends Enum { - readonly isV0: boolean; - readonly asV0: MultiLocation; -} - -/** @name VersionedXcm */ -export interface VersionedXcm extends Enum { - readonly isV0: boolean; - readonly asV0: Xcm; -} - /** @name WinnersData */ export interface WinnersData extends Vec {} @@ -912,53 +653,4 @@ export interface WinningData extends Vec {} /** @name WinningDataEntry */ export interface WinningDataEntry extends Option> {} -/** @name WithdrawAsset */ -export interface WithdrawAsset extends Struct { - readonly assets: Vec; - readonly effects: Vec; -} - -/** @name Xcm */ -export interface Xcm extends Enum { - readonly isWithdrawAsset: boolean; - readonly asWithdrawAsset: WithdrawAsset; - readonly isReserveAssetDeposit: boolean; - readonly asReserveAssetDeposit: ReserveAssetDeposit; - readonly isTeleportAsset: boolean; - readonly asTeleportAsset: TeleportAsset; - readonly isBalances: boolean; - readonly asBalances: Balances; - readonly isTransact: boolean; - readonly asTransact: Transact; - readonly isRelayTo: boolean; - readonly asRelayTo: RelayTo; - readonly isRelayedFrom: boolean; - readonly asRelayedFrom: RelayedFrom; -} - -/** @name XcmError */ -export interface XcmError extends Enum { - readonly isUndefined: boolean; - readonly isUnimplemented: boolean; - readonly isUnhandledXcmVersion: boolean; - readonly isUnhandledXcmMessage: boolean; - readonly isUnhandledEffect: boolean; - readonly isEscalationOfPrivilege: boolean; - readonly isUntrustedReserveLocation: boolean; - readonly isUntrustedTeleportLocation: boolean; - readonly isDestinationBufferOverflow: boolean; - readonly isCannotReachDestination: boolean; - readonly isMultiLocationFull: boolean; - readonly isFailedToDecode: boolean; - readonly isBadOrigin: boolean; -} - -/** @name XcmResult */ -export interface XcmResult extends Enum { - readonly isOk: boolean; - readonly asOk: ITuple<[]>; - readonly isErr: boolean; - readonly asErr: XcmError; -} - export type PHANTOM_PARACHAINS = 'parachains'; diff --git a/packages/types/src/interfaces/types.ts b/packages/types/src/interfaces/types.ts index 6ede3ec42a..9878c423b3 100644 --- a/packages/types/src/interfaces/types.ts +++ b/packages/types/src/interfaces/types.ts @@ -43,6 +43,7 @@ export * from './crowdloan/types'; export * from './parachains/types'; export * from './poll/types'; export * from './purchase/types'; +export * from './xcm/types'; export * from './contractsAbi/types'; export * from './scaleInfo/types'; export * from './eth/types'; diff --git a/packages/types/src/interfaces/xcm/definitions.ts b/packages/types/src/interfaces/xcm/definitions.ts new file mode 100644 index 0000000000..cb08b38829 --- /dev/null +++ b/packages/types/src/interfaces/xcm/definitions.ts @@ -0,0 +1,227 @@ +// Copyright 2017-2021 @polkadot/types authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +// order important in structs... :) +/* eslint-disable sort-keys */ + +import type { Definitions } from '../../types'; + +const xcm = { + XcmAssetEffects: { + assets: 'Vec', + effects: 'Vec' + }, + XcmWithdrawAsset: 'XcmAssetEffects', + XcmReserveAssetDeposit: 'XcmAssetEffects', + XcmTeleportAsset: 'XcmAssetEffects', + XcmQueryResponse: { queryId: 'Compact', response: 'XcmResponse' }, + XcmTransferAsset: { assets: 'Vec', dest: 'MultiLocation' }, + XcmTransferReserveAsset: { assets: 'Vec', dest: 'MultiLocation', effects: 'Vec' }, + XcmTransact: { originType: 'XcmOriginKind', requireWeightAtMost: 'u64', call: 'DoubleEncodedCall' }, + XcmHrmpNewChannelOpenRequest: { sender: 'Compact', maxMessageSize: 'Compact', maxCapacity: 'Compact' }, + XcmHrmpChannelAccepted: { recipient: 'Compact' }, + XcmHrmpChannelClosing: { initiator: 'Compact', sender: 'Compact', recipient: 'Compact' }, + XcmRelayedFrom: { who: 'MultiLocation', message: 'Xcm' }, + Xcm: { + _enum: { + WithdrawAsset: 'XcmWithdrawAsset', + ReserveAssetDeposit: 'XcmReserveAssetDeposit', + TeleportAsset: 'XcmTeleportAsset', + QueryResponse: 'XcmQueryResponse', + TransferAsset: 'XcmTransferAsset', + TransferReserveAsset: 'XcmTransferReserveAsset', + Transact: 'XcmTransact', + HrmpNewChannelOpenRequest: 'XcmHrmpNewChannelOpenRequest', + HrmpChannelAccepted: 'XcmHrmpChannelAccepted', + HrmpChannelClosing: 'XcmHrmpChannelClosing', + RelayedFrom: 'XcmRelayedFrom' + } + }, + VersionedXcm: { + _enum: { + V0: 'Xcm' + } + } +}; + +const xmcOrder = { + XcmOrderDepositAsset: { assets: 'Vec', dest: 'MultiLocation' }, + XcmOrderDepositReserveAsset: { assets: 'Vec', dest: 'MultiLocation', effects: 'Vec' }, + XcmOrderExchangeAsset: { give: 'Vec', receive: 'Vec' }, + XcmOrderInitiateReserveWithdraw: { assets: 'Vec', reserve: 'MultiLocation', effects: 'Vec' }, + XcmOrderInitiateTeleport: { assets: 'Vec', dest: 'MultiLocation', effects: 'Vec' }, + XcmOrderQueryHolding: { queryId: 'Compact', dest: 'MultiLocation', assets: 'Vec' }, + XcmOrderBuyExecution: { fees: 'MultiAsset', weight: 'u64', debt: 'u64', haltOnError: 'bool', xcm: 'Vec' }, + XcmOrder: { + _enum: { + Null: 'Null', + DepositAsset: 'XcmOrderDepositAsset', + DepositReserveAsset: 'XcmOrderDepositReserveAsset', + ExchangeAsset: 'XcmOrderExchangeAsset', + InitiateReserveWithdraw: 'XcmOrderInitiateReserveWithdraw', + InitiateTeleport: 'XcmOrderInitiateTeleport', + QueryHolding: 'XcmOrderQueryHolding', + BuyExecution: 'XcmOrderBuyExecution' + } + } +}; + +const multiAsset = { + MultiAssetAbstractFungible: { + id: 'Vec', + instance: 'Compact' + }, + MultiAssetAbstractNonFungible: { + class: 'Vec', + instance: 'AssetInstance' + }, + MultiAssetConcreteFungible: { + id: 'MultiLocation', + amount: 'Compact' + }, + MultiAssetConcreteNonFungible: { + class: 'MultiLocation', + instance: 'AssetInstance' + }, + MultiAsset: { + _enum: { + None: 'Null', + All: 'Null', + AllFungible: 'Null', + AllNonFungible: 'Null', + AllAbstractFungible: 'Vec', + AllAbstractNonFungible: 'Vec', + AllConcreteFungible: 'MultiLocation', + AllConcreteNonFungible: 'MultiLocation', + AbstractFungible: 'MultiAssetAbstractFungible', + AbstractNonFungible: 'MultiAssetAbstractNonFungible', + ConcreteFungible: 'MultiAssetConcreteFungible', + ConcreteNonFungible: 'MultiAssetConcreteNonFungible' + } + }, + VersionedMultiAsset: { + _enum: { + V0: 'MultiAsset' + } + } +}; + +export default { + rpc: {}, + types: { + ...multiAsset, + ...xcm, + ...xmcOrder, + DoubleEncodedCall: { encoded: 'Vec' }, + NetworkId: { + _enum: { + Any: 'Null', + Named: 'Vec', + Polkadot: 'Null', + Kusama: 'Null' + } + }, + XcmOriginKind: { + _enum: ['Native', 'SovereignAccount', 'Superuser'] + }, + XcmResponse: { + _enum: { + Assets: 'Vec' + } + }, + XcmError: { + _enum: { + Undefined: 'Null', + Overflow: 'Null', + Unimplemented: 'Null', + UnhandledXcmVersion: 'Null', + UnhandledXcmMessage: 'Null', + UnhandledEffect: 'Null', + EscalationOfPrivilege: 'Null', + UntrustedReserveLocation: 'Null', + UntrustedTeleportLocation: 'Null', + DestinationBufferOverflow: 'Null', + SendFailed: 'Null', // (#[codec(skip)] &'static str), + CannotReachDestination: '(MultiLocation, Xcm)', + MultiLocationFull: 'Null', + FailedToDecode: 'Null', + BadOrigin: 'Null', + ExceedsMaxMessageSize: 'Null', + FailedToTransactAsset: 'Null', // (#[codec(skip)] &'static str), + WeightLimitReached: 'Null', + Wildcard: 'Null', + TooMuchWeightRequired: 'Null', + NotHoldingFees: 'Null', + WeightNotComputable: 'Null', + Barrier: 'Null', + NotWithdrawable: 'Null', + LocationCannotHold: 'Null' + } + }, + XcmOutcome: { + _enum: { + Complete: 'Weight', + Incomplete: '(Weight, XcmError)', + Error: 'XcmError' + } + }, + MultiLocation: { + _enum: { + Null: '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)' + } + }, + AccountId32Junction: { + network: 'NetworkId', + id: 'AccountId' + }, + AccountIndex64Junction: { + network: 'NetworkId', + index: 'Compact' + }, + AccountKey20Junction: { + network: 'NetworkId', + index: '[u8; 20]' + }, + Junction: { + _enum: { + Parent: 'Null', + Parachain: 'Compact', + AccountId32: 'AccountId32Junction', + AccountIndex64: 'AccountIndex64Junction', + AccountKey20: 'AccountKey20Junction', + PalletInstance: 'u8', + GeneralIndex: 'Compact', + GeneralKey: 'Vec', + OnlyChild: 'Null' + } + }, + VersionedMultiLocation: { + _enum: { + V0: 'MultiLocation' + } + }, + AssetInstance: { + _enum: { + Undefined: 'Null', + Index8: 'u8', + Index16: 'Compact', + Index32: 'Compact', + Index64: 'Compact', + Index128: 'Compact', + Array4: '[u8; 4]', + Array8: '[u8; 8]', + Array16: '[u8; 16]', + Array32: '[u8; 32]', + Blob: 'Vec' + } + } + } +} as Definitions; diff --git a/packages/types/src/interfaces/xcm/index.ts b/packages/types/src/interfaces/xcm/index.ts new file mode 100644 index 0000000000..2d307291c3 --- /dev/null +++ b/packages/types/src/interfaces/xcm/index.ts @@ -0,0 +1,4 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from './types'; diff --git a/packages/types/src/interfaces/xcm/types.ts b/packages/types/src/interfaces/xcm/types.ts new file mode 100644 index 0000000000..d74903f670 --- /dev/null +++ b/packages/types/src/interfaces/xcm/types.ts @@ -0,0 +1,385 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +import type { Bytes, Compact, Enum, Struct, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types'; +import type { ITuple } from '@polkadot/types/types'; +import type { AccountId, Weight } from '@polkadot/types/interfaces/runtime'; + +/** @name AccountId32Junction */ +export interface AccountId32Junction extends Struct { + readonly network: NetworkId; + readonly id: AccountId; +} + +/** @name AccountIndex64Junction */ +export interface AccountIndex64Junction extends Struct { + readonly network: NetworkId; + readonly index: Compact; +} + +/** @name AccountKey20Junction */ +export interface AccountKey20Junction extends Struct { + readonly network: NetworkId; + readonly index: U8aFixed; +} + +/** @name AssetInstance */ +export interface AssetInstance extends Enum { + readonly isUndefined: boolean; + readonly isIndex8: boolean; + readonly asIndex8: u8; + readonly isIndex16: boolean; + readonly asIndex16: Compact; + readonly isIndex32: boolean; + readonly asIndex32: Compact; + readonly isIndex64: boolean; + readonly asIndex64: Compact; + readonly isIndex128: boolean; + readonly asIndex128: Compact; + readonly isArray4: boolean; + readonly asArray4: U8aFixed; + readonly isArray8: boolean; + readonly asArray8: U8aFixed; + readonly isArray16: boolean; + readonly asArray16: U8aFixed; + readonly isArray32: boolean; + readonly asArray32: U8aFixed; + readonly isBlob: boolean; + readonly asBlob: Bytes; +} + +/** @name DoubleEncodedCall */ +export interface DoubleEncodedCall extends Struct { + readonly encoded: Bytes; +} + +/** @name Junction */ +export interface Junction extends Enum { + readonly isParent: boolean; + readonly isParachain: boolean; + readonly asParachain: Compact; + readonly isAccountId32: boolean; + readonly asAccountId32: AccountId32Junction; + readonly isAccountIndex64: boolean; + readonly asAccountIndex64: AccountIndex64Junction; + readonly isAccountKey20: boolean; + readonly asAccountKey20: AccountKey20Junction; + readonly isPalletInstance: boolean; + readonly asPalletInstance: u8; + readonly isGeneralIndex: boolean; + readonly asGeneralIndex: Compact; + readonly isGeneralKey: boolean; + readonly asGeneralKey: Bytes; + readonly isOnlyChild: boolean; +} + +/** @name MultiAsset */ +export interface MultiAsset extends Enum { + readonly isNone: boolean; + readonly isAll: boolean; + readonly isAllFungible: boolean; + readonly isAllNonFungible: boolean; + readonly isAllAbstractFungible: boolean; + readonly asAllAbstractFungible: Bytes; + readonly isAllAbstractNonFungible: boolean; + readonly asAllAbstractNonFungible: Bytes; + readonly isAllConcreteFungible: boolean; + readonly asAllConcreteFungible: MultiLocation; + readonly isAllConcreteNonFungible: boolean; + readonly asAllConcreteNonFungible: MultiLocation; + readonly isAbstractFungible: boolean; + readonly asAbstractFungible: MultiAssetAbstractFungible; + readonly isAbstractNonFungible: boolean; + readonly asAbstractNonFungible: MultiAssetAbstractNonFungible; + readonly isConcreteFungible: boolean; + readonly asConcreteFungible: MultiAssetConcreteFungible; + readonly isConcreteNonFungible: boolean; + readonly asConcreteNonFungible: MultiAssetConcreteNonFungible; +} + +/** @name MultiAssetAbstractFungible */ +export interface MultiAssetAbstractFungible extends Struct { + readonly id: Bytes; + readonly instance: Compact; +} + +/** @name MultiAssetAbstractNonFungible */ +export interface MultiAssetAbstractNonFungible extends Struct { + readonly class: Bytes; + readonly instance: AssetInstance; +} + +/** @name MultiAssetConcreteFungible */ +export interface MultiAssetConcreteFungible extends Struct { + readonly id: MultiLocation; + readonly amount: Compact; +} + +/** @name MultiAssetConcreteNonFungible */ +export interface MultiAssetConcreteNonFungible extends Struct { + readonly class: MultiLocation; + readonly instance: AssetInstance; +} + +/** @name MultiLocation */ +export interface MultiLocation extends Enum { + readonly isNull: 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 NetworkId */ +export interface NetworkId extends Enum { + readonly isAny: boolean; + readonly isNamed: boolean; + readonly asNamed: Bytes; + readonly isPolkadot: boolean; + readonly isKusama: boolean; +} + +/** @name VersionedMultiAsset */ +export interface VersionedMultiAsset extends Enum { + readonly isV0: boolean; + readonly asV0: MultiAsset; +} + +/** @name VersionedMultiLocation */ +export interface VersionedMultiLocation extends Enum { + readonly isV0: boolean; + readonly asV0: MultiLocation; +} + +/** @name VersionedXcm */ +export interface VersionedXcm extends Enum { + readonly isV0: boolean; + readonly asV0: Xcm; +} + +/** @name Xcm */ +export interface Xcm extends Enum { + readonly isWithdrawAsset: boolean; + readonly asWithdrawAsset: XcmWithdrawAsset; + readonly isReserveAssetDeposit: boolean; + readonly asReserveAssetDeposit: XcmReserveAssetDeposit; + readonly isTeleportAsset: boolean; + readonly asTeleportAsset: XcmTeleportAsset; + readonly isQueryResponse: boolean; + readonly asQueryResponse: XcmQueryResponse; + readonly isTransferAsset: boolean; + readonly asTransferAsset: XcmTransferAsset; + readonly isTransferReserveAsset: boolean; + readonly asTransferReserveAsset: XcmTransferReserveAsset; + readonly isTransact: boolean; + readonly asTransact: XcmTransact; + readonly isHrmpNewChannelOpenRequest: boolean; + readonly asHrmpNewChannelOpenRequest: XcmHrmpNewChannelOpenRequest; + readonly isHrmpChannelAccepted: boolean; + readonly asHrmpChannelAccepted: XcmHrmpChannelAccepted; + readonly isHrmpChannelClosing: boolean; + readonly asHrmpChannelClosing: XcmHrmpChannelClosing; + readonly isRelayedFrom: boolean; + readonly asRelayedFrom: XcmRelayedFrom; +} + +/** @name XcmAssetEffects */ +export interface XcmAssetEffects extends Struct { + readonly assets: Vec; + readonly effects: Vec; +} + +/** @name XcmError */ +export interface XcmError extends Enum { + readonly isUndefined: boolean; + readonly isOverflow: boolean; + readonly isUnimplemented: boolean; + readonly isUnhandledXcmVersion: boolean; + readonly isUnhandledXcmMessage: boolean; + readonly isUnhandledEffect: boolean; + readonly isEscalationOfPrivilege: boolean; + readonly isUntrustedReserveLocation: boolean; + readonly isUntrustedTeleportLocation: boolean; + readonly isDestinationBufferOverflow: boolean; + readonly isSendFailed: boolean; + readonly isCannotReachDestination: boolean; + readonly asCannotReachDestination: ITuple<[MultiLocation, Xcm]>; + readonly isMultiLocationFull: boolean; + readonly isFailedToDecode: boolean; + readonly isBadOrigin: boolean; + readonly isExceedsMaxMessageSize: boolean; + readonly isFailedToTransactAsset: boolean; + readonly isWeightLimitReached: boolean; + readonly isWildcard: boolean; + readonly isTooMuchWeightRequired: boolean; + readonly isNotHoldingFees: boolean; + readonly isWeightNotComputable: boolean; + readonly isBarrier: boolean; + readonly isNotWithdrawable: boolean; + readonly isLocationCannotHold: boolean; +} + +/** @name XcmHrmpChannelAccepted */ +export interface XcmHrmpChannelAccepted extends Struct { + readonly recipient: Compact; +} + +/** @name XcmHrmpChannelClosing */ +export interface XcmHrmpChannelClosing extends Struct { + readonly initiator: Compact; + readonly sender: Compact; + readonly recipient: Compact; +} + +/** @name XcmHrmpNewChannelOpenRequest */ +export interface XcmHrmpNewChannelOpenRequest extends Struct { + readonly sender: Compact; + readonly maxMessageSize: Compact; + readonly maxCapacity: Compact; +} + +/** @name XcmOrder */ +export interface XcmOrder extends Enum { + readonly isNull: boolean; + readonly isDepositAsset: boolean; + readonly asDepositAsset: XcmOrderDepositAsset; + readonly isDepositReserveAsset: boolean; + readonly asDepositReserveAsset: XcmOrderDepositReserveAsset; + readonly isExchangeAsset: boolean; + readonly asExchangeAsset: XcmOrderExchangeAsset; + readonly isInitiateReserveWithdraw: boolean; + readonly asInitiateReserveWithdraw: XcmOrderInitiateReserveWithdraw; + readonly isInitiateTeleport: boolean; + readonly asInitiateTeleport: XcmOrderInitiateTeleport; + readonly isQueryHolding: boolean; + readonly asQueryHolding: XcmOrderQueryHolding; + readonly isBuyExecution: boolean; + readonly asBuyExecution: XcmOrderBuyExecution; +} + +/** @name XcmOrderBuyExecution */ +export interface XcmOrderBuyExecution extends Struct { + readonly fees: MultiAsset; + readonly weight: u64; + readonly debt: u64; + readonly haltOnError: bool; + readonly xcm: Vec; +} + +/** @name XcmOrderDepositAsset */ +export interface XcmOrderDepositAsset extends Struct { + readonly assets: Vec; + readonly dest: MultiLocation; +} + +/** @name XcmOrderDepositReserveAsset */ +export interface XcmOrderDepositReserveAsset extends Struct { + readonly assets: Vec; + readonly dest: MultiLocation; + readonly effects: Vec; +} + +/** @name XcmOrderExchangeAsset */ +export interface XcmOrderExchangeAsset extends Struct { + readonly give: Vec; + readonly receive: Vec; +} + +/** @name XcmOrderInitiateReserveWithdraw */ +export interface XcmOrderInitiateReserveWithdraw extends Struct { + readonly assets: Vec; + readonly reserve: MultiLocation; + readonly effects: Vec; +} + +/** @name XcmOrderInitiateTeleport */ +export interface XcmOrderInitiateTeleport extends Struct { + readonly assets: Vec; + readonly dest: MultiLocation; + readonly effects: Vec; +} + +/** @name XcmOrderQueryHolding */ +export interface XcmOrderQueryHolding extends Struct { + readonly queryId: Compact; + readonly dest: MultiLocation; + readonly assets: Vec; +} + +/** @name XcmOriginKind */ +export interface XcmOriginKind extends Enum { + readonly isNative: boolean; + readonly isSovereignAccount: boolean; + readonly isSuperuser: boolean; +} + +/** @name XcmOutcome */ +export interface XcmOutcome extends Enum { + readonly isComplete: boolean; + readonly asComplete: Weight; + readonly isIncomplete: boolean; + readonly asIncomplete: ITuple<[Weight, XcmError]>; + readonly isError: boolean; + readonly asError: XcmError; +} + +/** @name XcmQueryResponse */ +export interface XcmQueryResponse extends Struct { + readonly queryId: Compact; + readonly response: XcmResponse; +} + +/** @name XcmRelayedFrom */ +export interface XcmRelayedFrom extends Struct { + readonly who: MultiLocation; + readonly message: Xcm; +} + +/** @name XcmReserveAssetDeposit */ +export interface XcmReserveAssetDeposit extends XcmAssetEffects {} + +/** @name XcmResponse */ +export interface XcmResponse extends Enum { + readonly isAssets: boolean; + readonly asAssets: Vec; +} + +/** @name XcmTeleportAsset */ +export interface XcmTeleportAsset extends XcmAssetEffects {} + +/** @name XcmTransact */ +export interface XcmTransact extends Struct { + readonly originType: XcmOriginKind; + readonly requireWeightAtMost: u64; + readonly call: DoubleEncodedCall; +} + +/** @name XcmTransferAsset */ +export interface XcmTransferAsset extends Struct { + readonly assets: Vec; + readonly dest: MultiLocation; +} + +/** @name XcmTransferReserveAsset */ +export interface XcmTransferReserveAsset extends Struct { + readonly assets: Vec; + readonly dest: MultiLocation; + readonly effects: Vec; +} + +/** @name XcmWithdrawAsset */ +export interface XcmWithdrawAsset extends XcmAssetEffects {} + +export type PHANTOM_XCM = 'xcm';