From ddf6f574f616d28cc0c59354baaf58208a776274 Mon Sep 17 00:00:00 2001 From: Jaco Date: Fri, 18 Jun 2021 16:39:48 +0300 Subject: [PATCH] XcmOrigin definition (#3675) * XcmOrigin definition * CHANGELOG --- CHANGELOG.md | 1 + packages/metadata/src/v13/toLatest.ts | 5 ++++- packages/types/src/interfaces/xcm/definitions.ts | 5 +++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c3d8bab48..68853ec886 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ Changes: - Allow for type decoding of nested fixed vectors, tuples and structs - Added `childstate_getKeysPaged` RPC +- Add `XcmOrigin` mapping for `OriginCaller` generation - Align static metadata with latest Substrate - Adjust error message for contracts V3 (extrinsic from runtime) - Correct module optionality in `api.derive.balances.account` diff --git a/packages/metadata/src/v13/toLatest.ts b/packages/metadata/src/v13/toLatest.ts index eeaee9a82d..cee9043785 100644 --- a/packages/metadata/src/v13/toLatest.ts +++ b/packages/metadata/src/v13/toLatest.ts @@ -13,10 +13,13 @@ import { stringCamelCase } from '@polkadot/util'; // in a pure Substrate/Polkadot implementation, any other custom origins won't be handled at all const KNOWN_ORIGINS: Record = { /* eslint-disable sort-keys */ - // Substrate/Polkadot + // Substrate Council: 'CollectiveOrigin', System: 'SystemOrigin', TechnicalCommittee: 'CollectiveOrigin', + // Polkadot + Xcm: 'XcmOrigin', + XcmPallet: 'XcmOrigin', // Acala Authority: 'AuthorityOrigin', GeneralCouncil: 'CollectiveOrigin' diff --git a/packages/types/src/interfaces/xcm/definitions.ts b/packages/types/src/interfaces/xcm/definitions.ts index 074ae3b058..e1a7ed160e 100644 --- a/packages/types/src/interfaces/xcm/definitions.ts +++ b/packages/types/src/interfaces/xcm/definitions.ts @@ -22,6 +22,11 @@ const xcm = { XcmHrmpChannelAccepted: { recipient: 'Compact' }, XcmHrmpChannelClosing: { initiator: 'Compact', sender: 'Compact', recipient: 'Compact' }, XcmRelayedFrom: { who: 'MultiLocation', message: 'Xcm' }, + XcmOrigin: { + _enum: { + Xcm: 'MultiLocation' + } + }, Xcm: { _enum: { WithdrawAsset: 'XcmWithdrawAsset',