query_xcm_weight: RuntimeDescriptor<
    [
        message: Enum<
            {
                V3: XcmV3Instruction[];
                V4: XcmV4Instruction[];
                V5: Enum<
                    {
                        AliasOrigin: {
                            interior: Enum<
                                {
                                    Here: ...;
                                    X1: ...;
                                    X2: ...;
                                    X3: ...;
                                    X4: ...;
                                    X5: ...;
                                    X6: ...;
                                    X7: ...;
                                    X8: ...;
                                },
                            >;
                            parents: number;
                        };
                        BurnAsset: {
                            fun: XcmV3MultiassetFungibility;
                            id: { interior: ...; parents: ... };
                        }[];
                        BuyExecution: {
                            fees: {
                                fun: XcmV3MultiassetFungibility;
                                id: { interior: ...; parents: ... };
                            };
                            weight_limit: XcmV3WeightLimit;
                        };
                        ClaimAsset: {
                            assets: { fun: ...; id: ... }[];
                            ticket: { interior: Enum<(...)>; parents: number };
                        };
                        ClearError: undefined;
                        ClearOrigin: undefined;
                        ClearTopic: undefined;
                        ClearTransactStatus: undefined;
                        DepositAsset: {
                            assets: Enum<{ Definite: ...; Wild: ... }>;
                            beneficiary: { interior: Enum<(...)>; parents: number };
                        };
                        DepositReserveAsset: {
                            assets: Enum<{ Definite: ...; Wild: ... }>;
                            dest: { interior: Enum<(...)>; parents: number };
                            xcm: __Circular;
                        };
                        DescendOrigin: Enum<
                            {
                                Here: undefined;
                                X1: Enum<(...)>;
                                X2: FixedSizeArray<(...), (...)>;
                                X3: FixedSizeArray<(...), (...)>;
                                X4: FixedSizeArray<(...), (...)>;
                                X5: FixedSizeArray<(...), (...)>;
                                X6: FixedSizeArray<(...), (...)>;
                                X7: FixedSizeArray<(...), (...)>;
                                X8: FixedSizeArray<(...), (...)>;
                            },
                        >;
                        ExchangeAsset: {
                            give: Enum<{ Definite: ...; Wild: ... }>;
                            maximal: boolean;
                            want: { fun: ...; id: ... }[];
                        };
                        ExecuteWithOrigin: { descendant_origin?: ...; xcm: __Circular };
                        ExpectAsset: {
                            fun: XcmV3MultiassetFungibility;
                            id: { interior: ...; parents: ... };
                        }[];
                        ExpectError?: [(...), (...)];
                        ExpectOrigin?: { interior: ...; parents: ... };
                        ExpectPallet: {
                            crate_major: number;
                            index: number;
                            min_crate_minor: number;
                            module_name: Binary;
                            name: Binary;
                        };
                        ExpectTransactStatus: XcmV3MaybeErrorCode;
                        ExportMessage: {
                            destination: Enum<
                                {
                                    Here: ...;
                                    X1: ...;
                                    X2: ...;
                                    X3: ...;
                                    X4: ...;
                                    X5: ...;
                                    X6: ...;
                                    X7: ...;
                                    X8: ...;
                                },
                            >;
                            network: Enum<
                                {
                                    BitcoinCash: ...;
                                    BitcoinCore: ...;
                                    ByFork: ...;
                                    ByGenesis: ...;
                                    Ethereum: ...;
                                    Kusama: ...;
                                    Polkadot: ...;
                                    PolkadotBulletin: ...;
                                },
                            >;
                            xcm: __Circular;
                        };
                        HrmpChannelAccepted: { recipient: number };
                        HrmpChannelClosing: {
                            initiator: number;
                            recipient: number;
                            sender: number;
                        };
                        HrmpNewChannelOpenRequest: {
                            max_capacity: number;
                            max_message_size: number;
                            sender: number;
                        };
                        InitiateReserveWithdraw: {
                            assets: Enum<{ Definite: ...; Wild: ... }>;
                            reserve: { interior: Enum<(...)>; parents: number };
                            xcm: __Circular;
                        };
                        InitiateTeleport: {
                            assets: Enum<{ Definite: ...; Wild: ... }>;
                            dest: { interior: Enum<(...)>; parents: number };
                            xcm: __Circular;
                        };
                        InitiateTransfer: {
                            assets: Enum<(...)>[];
                            destination: { interior: Enum<(...)>; parents: number };
                            preserve_origin: boolean;
                            remote_fees?: ...;
                            remote_xcm: __Circular;
                        };
                        LockAsset: {
                            asset: {
                                fun: XcmV3MultiassetFungibility;
                                id: { interior: ...; parents: ... };
                            };
                            unlocker: { interior: Enum<(...)>; parents: number };
                        };
                        NoteUnlockable: {
                            asset: {
                                fun: XcmV3MultiassetFungibility;
                                id: { interior: ...; parents: ... };
                            };
                            owner: { interior: Enum<(...)>; parents: number };
                        };
                        PayFees: {
                            asset: {
                                fun: XcmV3MultiassetFungibility;
                                id: { interior: ...; parents: ... };
                            };
                        };
                        QueryPallet: {
                            module_name: Binary;
                            response_info: {
                                destination: { interior: ...; parents: ... };
                                max_weight: { proof_size: ...; ref_time: ... };
                                query_id: bigint;
                            };
                        };
                        QueryResponse: {
                            max_weight: { proof_size: bigint; ref_time: bigint };
                            querier?: ...;
                            query_id: bigint;
                            response: Enum<
                                {
                                    Assets: ...;
                                    DispatchResult: ...;
                                    ExecutionResult?: ...;
                                    Null: ...;
                                    PalletsInfo: ...;
                                    Version: ...;
                                },
                            >;
                        };
                        ReceiveTeleportedAsset: {
                            fun: XcmV3MultiassetFungibility;
                            id: { interior: ...; parents: ... };
                        }[];
                        RefundSurplus: undefined;
                        ReportError: {
                            destination: { interior: Enum<(...)>; parents: number };
                            max_weight: { proof_size: bigint; ref_time: bigint };
                            query_id: bigint;
                        };
                        ReportHolding: {
                            assets: Enum<{ Definite: ...; Wild: ... }>;
                            response_info: {
                                destination: { interior: ...; parents: ... };
                                max_weight: { proof_size: ...; ref_time: ... };
                                query_id: bigint;
                            };
                        };
                        ReportTransactStatus: {
                            destination: { interior: Enum<(...)>; parents: number };
                            max_weight: { proof_size: bigint; ref_time: bigint };
                            query_id: bigint;
                        };
                        RequestUnlock: {
                            asset: {
                                fun: XcmV3MultiassetFungibility;
                                id: { interior: ...; parents: ... };
                            };
                            locker: { interior: Enum<(...)>; parents: number };
                        };
                        ReserveAssetDeposited: {
                            fun: XcmV3MultiassetFungibility;
                            id: { interior: ...; parents: ... };
                        }[];
                        SetAppendix: __Circular;
                        SetErrorHandler: __Circular;
                        SetFeesMode: { jit_withdraw: boolean };
                        SetHints: { hints: Enum<(...)>[] };
                        SetTopic: FixedSizeBinary<32>;
                        SubscribeVersion: {
                            max_response_weight: { proof_size: bigint; ref_time: bigint };
                            query_id: bigint;
                        };
                        Transact: {
                            call: Binary;
                            fallback_max_weight?: ...;
                            origin_kind: XcmV2OriginKind;
                        };
                        TransferAsset: {
                            assets: { fun: ...; id: ... }[];
                            beneficiary: { interior: Enum<(...)>; parents: number };
                        };
                        TransferReserveAsset: {
                            assets: { fun: ...; id: ... }[];
                            dest: { interior: Enum<(...)>; parents: number };
                            xcm: __Circular;
                        };
                        Trap: bigint;
                        UniversalOrigin: Enum<
                            {
                                AccountId32: { id: ...; network?: ... };
                                AccountIndex64: { index: ...; network?: ... };
                                AccountKey20: { key: ...; network?: ... };
                                GeneralIndex: bigint;
                                GeneralKey: { data: ...; length: ... };
                                GlobalConsensus: Enum<(...)>;
                                OnlyChild: undefined;
                                PalletInstance: number;
                                Parachain: number;
                                Plurality: { id: ...; part: ... };
                            },
                        >;
                        UnlockAsset: {
                            asset: {
                                fun: XcmV3MultiassetFungibility;
                                id: { interior: ...; parents: ... };
                            };
                            target: { interior: Enum<(...)>; parents: number };
                        };
                        UnpaidExecution: {
                            check_origin?: ...;
                            weight_limit: XcmV3WeightLimit;
                        };
                        UnsubscribeVersion: undefined;
                        WithdrawAsset: {
                            fun: XcmV3MultiassetFungibility;
                            id: { interior: ...; parents: ... };
                        }[];
                    },
                >[];
            },
        >,
    ],
    ResultPayload<
        { proof_size: bigint; ref_time: bigint },
        Enum<
            {
                AssetNotFound: undefined;
                UnhandledXcmVersion: undefined;
                Unimplemented: undefined;
                Unroutable: undefined;
                VersionedConversionFailed: undefined;
                WeightNotComputable: undefined;
            },
        >,
    >,
>

Returns a weight needed to execute a XCM.

Arguments

  • message: VersionedXcm.