@moonbeam-network/xcm-utils 4.2.2 → 4.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/format/address.ts","../src/format/asset.ts","../src/numbers/decimals.ts","../src/polkadot/polkadot.address.ts","../src/polkadot/polkadot.api.ts","../src/polkadot/polkadot.apps.ts"],"sourcesContent":["export function isHexString(asset: unknown): boolean {\n return typeof asset === 'string' && asset.startsWith('0x');\n}\n\nexport function isEthAddress(address: string): boolean {\n return address.length === 42 && address.startsWith('0x');\n}\n","export function formatAssetIdToERC20(id: string) {\n if (id.startsWith('0x')) {\n return id;\n }\n\n if (!/^\\d{38,39}$/.test(id)) {\n throw new Error(`Asset id: ${id} must be a string and have 38-39 digits`);\n }\n\n return `0xffffffff${BigInt(id).toString(16).padStart(32, '0')}`;\n}\n\nexport function convertAddressTo32Bytes(address: string): string {\n if (!/^0x[a-fA-F0-9]{40}$/.test(address)) {\n throw new Error(`Invalid address: ${address}`);\n }\n\n return `0x000000000000000000000000${address.substring(2)}`;\n}\n","import Big, { type RoundingMode } from 'big.js';\n\nBig.NE = -18;\n\nexport function toDecimal(\n number: bigint | number | string,\n decimals: number,\n maxDecimal = 6,\n roundType?: RoundingMode,\n): string {\n const dividend = Big(number.toString().replace(/[^0-9]/g, ''));\n const divisor = Big(10).pow(decimals);\n const result = dividend.div(divisor).round(maxDecimal, roundType);\n\n return result.toString();\n}\n\nexport function toBigInt(\n amount: bigint | string | number,\n decimals: number,\n): bigint {\n if (typeof amount === 'bigint') {\n return amount;\n }\n\n const multiplier = Big(10).pow(decimals);\n const result = Big(amount).mul(multiplier);\n\n return BigInt(result.toFixed(0, Big.roundDown));\n}\n\nexport function convertDecimals(\n number: string | bigint,\n decimals: number,\n targetDecimals: number,\n): bigint {\n const decimalNumber = toDecimal(number, decimals, decimals);\n\n return toBigInt(decimalNumber.toString(), targetDecimals);\n}\n\nexport function hasDecimalOverflow(fl: number | string, maxDecimal: number) {\n const parts = fl.toString().split('.');\n return parts.length > 1 && parts[1].length > maxDecimal;\n}\n","import {\n bnToU8a,\n compactToU8a,\n hexToU8a,\n stringToU8a,\n u8aToHex,\n} from '@polkadot/util';\nimport { blake2AsU8a, decodeAddress } from '@polkadot/util-crypto';\nimport { isEthAddress } from '../format';\n\n/**\n * reference: https://github.com/Moonsong-Labs/xcm-tools/blob/main/scripts/calculate-sovereign-account.ts\n */\n\nexport function getSovereignAccountAddresses(paraId: number) {\n const paraIdU8a = bnToU8a(paraId, { bitLength: 32 });\n const relay = u8aToHex(\n new Uint8Array([...stringToU8a('para'), ...paraIdU8a]),\n ).padEnd(66, '0');\n const generic = u8aToHex(\n new Uint8Array([...stringToU8a('sibl'), ...paraIdU8a]),\n ).padEnd(66, '0');\n const moonbeam = generic.slice(0, 42);\n\n return {\n generic,\n moonbeam,\n relay,\n };\n}\n\n/**\n * reference: https://github.com/Moonsong-Labs/xcm-tools/blob/main/scripts/calculate-multilocation-derivative-account.ts\n */\n\nexport function getMultilocationDerivedAddresses({\n paraId,\n address,\n isParents = false,\n}: {\n paraId?: number;\n address: string;\n isParents?: boolean;\n}) {\n const parents = isParents ? 1 : 0;\n const accType = isEthAddress(address) ? 'AccountKey20' : 'AccountId32';\n const decodedAddress = isEthAddress(address)\n ? hexToU8a(address)\n : decodeAddress(address);\n\n // Describe Family\n // https://github.com/paritytech/polkadot/blob/master/xcm/xcm-builder/src/location_conversion.rs#L96-L118\n const family =\n parents === 0 && paraId\n ? 'ChildChain'\n : parents === 1 && !paraId\n ? 'ParentChain'\n : 'SiblingChain';\n\n const blake = blake2AsU8a(\n new Uint8Array([\n ...stringToU8a(family),\n ...(paraId ? compactToU8a(paraId) : []),\n ...compactToU8a(accType.length + (isEthAddress(address) ? 20 : 32)),\n ...stringToU8a(accType),\n ...decodedAddress,\n ]),\n );\n\n const address20 = u8aToHex(blake.slice(0, 20));\n const address32 = u8aToHex(blake.slice(0, 32));\n\n return {\n address20,\n address32,\n };\n}\n","import { ApiPromise, WsProvider } from '@polkadot/api';\nimport { typesBundle } from '@polkadot/apps-config';\nimport { LRUCache } from 'lru-cache';\n\nexport enum MRLTypes {\n // TODO handle both types according to RT version\n XcmVersionedMultiLocation = 'XcmVersionedMultiLocation',\n XcmVersionedLocation = 'XcmVersionedLocation',\n XcmRoutingUserAction = 'XcmRoutingUserAction',\n VersionedUserAction = 'VersionedUserAction',\n}\n\nconst cache = new LRUCache<string, Promise<ApiPromise>>({\n max: 20,\n dispose: async (promise: Promise<ApiPromise>) => {\n const api = await promise;\n\n if (api.isConnected) {\n api.disconnect();\n }\n },\n});\n\nexport async function getPolkadotApi(\n ws: string | string[],\n): Promise<ApiPromise> {\n const key = Array.isArray(ws) ? ws.join(';') : ws;\n const promise =\n cache.get(key) ||\n ApiPromise.create({\n noInitWarn: true,\n provider: new WsProvider(ws),\n types: {\n [MRLTypes.XcmRoutingUserAction]: {\n destination: MRLTypes.XcmVersionedLocation,\n },\n [MRLTypes.VersionedUserAction]: {\n _enum: { V1: MRLTypes.XcmRoutingUserAction },\n },\n },\n typesBundle,\n });\n\n cache.set(key, promise);\n\n const api = await promise;\n\n await api.isReady;\n\n return api;\n}\n","export function getPolkadotAppsUrl(ws: string) {\n return `https://polkadot.js.org/apps/?rpc=${encodeURIComponent(ws)}#/explorer/query`;\n}\n"],"mappings":";AAAO,SAAS,YAAY,OAAyB;AACnD,SAAO,OAAO,UAAU,YAAY,MAAM,WAAW,IAAI;AAC3D;AAEO,SAAS,aAAa,SAA0B;AACrD,SAAO,QAAQ,WAAW,MAAM,QAAQ,WAAW,IAAI;AACzD;;;ACNO,SAAS,qBAAqB,IAAY;AAC/C,MAAI,GAAG,WAAW,IAAI,GAAG;AACvB,WAAO;AAAA,EACT;AAEA,MAAI,CAAC,cAAc,KAAK,EAAE,GAAG;AAC3B,UAAM,IAAI,MAAM,aAAa,EAAE,yCAAyC;AAAA,EAC1E;AAEA,SAAO,aAAa,OAAO,EAAE,EAAE,SAAS,EAAE,EAAE,SAAS,IAAI,GAAG,CAAC;AAC/D;AAEO,SAAS,wBAAwB,SAAyB;AAC/D,MAAI,CAAC,sBAAsB,KAAK,OAAO,GAAG;AACxC,UAAM,IAAI,MAAM,oBAAoB,OAAO,EAAE;AAAA,EAC/C;AAEA,SAAO,6BAA6B,QAAQ,UAAU,CAAC,CAAC;AAC1D;;;AClBA,OAAO,SAAgC;AAEvC,IAAI,KAAK;AAEF,SAAS,UACd,QACA,UACA,aAAa,GACb,WACQ;AACR,QAAM,WAAW,IAAI,OAAO,SAAS,EAAE,QAAQ,WAAW,EAAE,CAAC;AAC7D,QAAM,UAAU,IAAI,EAAE,EAAE,IAAI,QAAQ;AACpC,QAAM,SAAS,SAAS,IAAI,OAAO,EAAE,MAAM,YAAY,SAAS;AAEhE,SAAO,OAAO,SAAS;AACzB;AAEO,SAAS,SACd,QACA,UACQ;AACR,MAAI,OAAO,WAAW,UAAU;AAC9B,WAAO;AAAA,EACT;AAEA,QAAM,aAAa,IAAI,EAAE,EAAE,IAAI,QAAQ;AACvC,QAAM,SAAS,IAAI,MAAM,EAAE,IAAI,UAAU;AAEzC,SAAO,OAAO,OAAO,QAAQ,GAAG,IAAI,SAAS,CAAC;AAChD;AAEO,SAAS,gBACd,QACA,UACA,gBACQ;AACR,QAAM,gBAAgB,UAAU,QAAQ,UAAU,QAAQ;AAE1D,SAAO,SAAS,cAAc,SAAS,GAAG,cAAc;AAC1D;AAEO,SAAS,mBAAmB,IAAqB,YAAoB;AAC1E,QAAM,QAAQ,GAAG,SAAS,EAAE,MAAM,GAAG;AACrC,SAAO,MAAM,SAAS,KAAK,MAAM,CAAC,EAAE,SAAS;AAC/C;;;AC5CA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,aAAa,qBAAqB;AAOpC,SAAS,6BAA6B,QAAgB;AAC3D,QAAM,YAAY,QAAQ,QAAQ,EAAE,WAAW,GAAG,CAAC;AACnD,QAAM,QAAQ;AAAA,IACZ,IAAI,WAAW,CAAC,GAAG,YAAY,MAAM,GAAG,GAAG,SAAS,CAAC;AAAA,EACvD,EAAE,OAAO,IAAI,GAAG;AAChB,QAAM,UAAU;AAAA,IACd,IAAI,WAAW,CAAC,GAAG,YAAY,MAAM,GAAG,GAAG,SAAS,CAAC;AAAA,EACvD,EAAE,OAAO,IAAI,GAAG;AAChB,QAAM,WAAW,QAAQ,MAAM,GAAG,EAAE;AAEpC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAMO,SAAS,iCAAiC;AAAA,EAC/C;AAAA,EACA;AAAA,EACA,YAAY;AACd,GAIG;AACD,QAAM,UAAU,YAAY,IAAI;AAChC,QAAM,UAAU,aAAa,OAAO,IAAI,iBAAiB;AACzD,QAAM,iBAAiB,aAAa,OAAO,IACvC,SAAS,OAAO,IAChB,cAAc,OAAO;AAIzB,QAAM,SACJ,YAAY,KAAK,SACb,eACA,YAAY,KAAK,CAAC,SAChB,gBACA;AAER,QAAM,QAAQ;AAAA,IACZ,IAAI,WAAW;AAAA,MACb,GAAG,YAAY,MAAM;AAAA,MACrB,GAAI,SAAS,aAAa,MAAM,IAAI,CAAC;AAAA,MACrC,GAAG,aAAa,QAAQ,UAAU,aAAa,OAAO,IAAI,KAAK,GAAG;AAAA,MAClE,GAAG,YAAY,OAAO;AAAA,MACtB,GAAG;AAAA,IACL,CAAC;AAAA,EACH;AAEA,QAAM,YAAY,SAAS,MAAM,MAAM,GAAG,EAAE,CAAC;AAC7C,QAAM,YAAY,SAAS,MAAM,MAAM,GAAG,EAAE,CAAC;AAE7C,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;;;AC5EA,SAAS,YAAY,kBAAkB;AACvC,SAAS,mBAAmB;AAC5B,SAAS,gBAAgB;AAElB,IAAK,WAAL,kBAAKA,cAAL;AAEL,EAAAA,UAAA,+BAA4B;AAC5B,EAAAA,UAAA,0BAAuB;AACvB,EAAAA,UAAA,0BAAuB;AACvB,EAAAA,UAAA,yBAAsB;AALZ,SAAAA;AAAA,GAAA;AAQZ,IAAM,QAAQ,IAAI,SAAsC;AAAA,EACtD,KAAK;AAAA,EACL,SAAS,OAAO,YAAiC;AAC/C,UAAM,MAAM,MAAM;AAElB,QAAI,IAAI,aAAa;AACnB,UAAI,WAAW;AAAA,IACjB;AAAA,EACF;AACF,CAAC;AAED,eAAsB,eACpB,IACqB;AACrB,QAAM,MAAM,MAAM,QAAQ,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI;AAC/C,QAAM,UACJ,MAAM,IAAI,GAAG,KACb,WAAW,OAAO;AAAA,IAChB,YAAY;AAAA,IACZ,UAAU,IAAI,WAAW,EAAE;AAAA,IAC3B,OAAO;AAAA,MACL,CAAC,iDAA6B,GAAG;AAAA,QAC/B,aAAa;AAAA,MACf;AAAA,MACA,CAAC,+CAA4B,GAAG;AAAA,QAC9B,OAAO,EAAE,IAAI,kDAA8B;AAAA,MAC7C;AAAA,IACF;AAAA,IACA;AAAA,EACF,CAAC;AAEH,QAAM,IAAI,KAAK,OAAO;AAEtB,QAAM,MAAM,MAAM;AAElB,QAAM,IAAI;AAEV,SAAO;AACT;;;AClDO,SAAS,mBAAmB,IAAY;AAC7C,SAAO,qCAAqC,mBAAmB,EAAE,CAAC;AACpE;","names":["MRLTypes"]}
1
+ {"version":3,"sources":["../src/format/address.ts","../src/format/asset.ts","../src/numbers/decimals.ts","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/metadata/hashers.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/metadata/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/metadata/v9.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/metadata/v10.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/metadata/v11.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/metadata/v12.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/metadata/v13.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/scaleInfo/v1.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/metadata/v14.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/metadata/v15.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/metadata/v16.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/metadata/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/runtime/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/runtime/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/scaleInfo/v0.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/scaleInfo/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/assetConversion/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/assetConversion/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/assets/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/assets/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/aura/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/aura/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/authorship/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/babe/rpc.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/babe/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/babe/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/balances/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/beefy/rpc.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/beefy/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/beefy/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/benchmark/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/benchmark/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/blockbuilder/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/blockbuilder/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/collective/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/consensus/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/contracts/rpc.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/contracts/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/contracts/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/democracy/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/dev/rpc.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/dev/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/discovery/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/discovery/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/elections/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/engine/rpc.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/engine/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/evm/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/extrinsics/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/fungibles/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/fungibles/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/genericAsset/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/genesisBuilder/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/genesisBuilder/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/gilt/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/grandpa/rpc.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/grandpa/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/grandpa/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/identity/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/imOnline/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/lottery/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/mixnet/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/mixnet/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/mmr/rpc.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/mmr/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/mmr/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/nfts/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/nfts/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/nompools/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/nompools/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/offences/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/pow/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/pow/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/proxy/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/recovery/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/scheduler/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/session/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/session/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/society/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/staking/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/staking/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/statement/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/statement/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/support/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/syncstate/rpc.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/syncstate/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/system/rpc.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/system/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/system/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/treasury/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/txpayment/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/txqueue/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/txqueue/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/uniques/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/utility/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/vesting/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/attestations/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/bridges/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/claims/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/crowdloan/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/cumulus/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/cumulus/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/finality/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/finality/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/parachains/hrmp.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/parachains/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/parachains/slots.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/parachains/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/poll/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/purchase/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/dryRunApi/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/dryRunApi/definitions.js","../../../node_modules/.pnpm/@polkadot+types-create@16.5.4/node_modules/@polkadot/types-create/types/types.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/abstract/Array.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/utils/compareArray.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/utils/util.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/abstract/Base.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/abstract/Int.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/base/Compact.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/utils/compareMap.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/utils/compareSet.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/utils/decodeU8a.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/utils/sanitize.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/utils/sortValues.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/utils/toConstructors.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/utils/typesToMap.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/base/DoNotConstruct.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/base/Enum.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/base/Null.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/base/Int.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/base/Option.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/base/Result.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/base/Tuple.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/base/UInt.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/base/Vec.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/base/VecFixed.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/extended/BitVec.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/native/Raw.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/extended/Map.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/native/Struct.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/extended/BTreeMap.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/extended/BTreeSet.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/extended/Bytes.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/extended/HashMap.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/extended/OptionBool.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/native/Bool.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/extended/Range.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/extended/RangeInclusive.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/native/Text.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/extended/Type.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/extended/U8aFixed.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/extended/WrapperKeepOpaque.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/extended/WrapperOpaque.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/native/Float.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/native/Json.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/native/Set.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/primitive/F32.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/primitive/F64.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/primitive/I8.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/primitive/I16.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/primitive/I32.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/primitive/I64.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/primitive/I128.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/primitive/I256.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/primitive/ISize.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/primitive/U8.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/primitive/U16.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/primitive/U32.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/primitive/U64.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/primitive/U128.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/primitive/U256.js","../../../node_modules/.pnpm/@polkadot+types-codec@16.5.4/node_modules/@polkadot/types-codec/primitive/USize.js","../../../node_modules/.pnpm/@polkadot+types-create@16.5.4/node_modules/@polkadot/types-create/create/class.js","../../../node_modules/.pnpm/@polkadot+types-create@16.5.4/node_modules/@polkadot/types-create/util/getTypeDef.js","../../../node_modules/.pnpm/@polkadot+types-create@16.5.4/node_modules/@polkadot/types-create/util/typeSplit.js","../../../node_modules/.pnpm/@polkadot+types-create@16.5.4/node_modules/@polkadot/types-create/create/type.js","../../../node_modules/.pnpm/@polkadot+types-create@16.5.4/node_modules/@polkadot/types-create/util/encodeTypes.js","../../../node_modules/.pnpm/@polkadot+types-create@16.5.4/node_modules/@polkadot/types-create/util/xcm.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/xcm/v0.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/xcm/v1.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/xcm/v2.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/xcm/v3.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/xcm/v4.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/xcm/v5.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/xcm/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/xcmPaymentApi/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/xcmPaymentApi/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/xcmRuntimeApi/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/xcmRuntimeApi/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/contractsAbi/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/eth/rpc.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/eth/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/eth/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/nimbus/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/nimbus/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/ormlOracle/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/ormlOracle/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/ormlTokens/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/ormlTokens/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/rpc/rpc.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/rpc/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/author/rpc.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/author/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/chain/rpc.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/chain/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/childstate/rpc.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/childstate/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/offchain/rpc.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/offchain/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/offchain/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/payment/rpc.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/payment/runtime.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/payment/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/state/rpc.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/state/definitions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/PortableRegistry/PortableRegistry.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/util/flattenUniq.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/util/getSiName.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/util/validateTypes.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/util/extractTypes.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/util/getUniqTypes.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/util/toCallsOnly.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/util/storage.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/create/lazy.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/create/registry.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/signedExtensions/index.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/signedExtensions/emptyCheck.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/signedExtensions/polkadot.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/signedExtensions/shell.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/signedExtensions/statemint.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/signedExtensions/substrate.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/generic/Event.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/index.types.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/Extrinsic.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/constants.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/ExtrinsicEra.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/ExtrinsicPayload.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/ExtrinsicPayloadUnknown.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/ExtrinsicUnknown.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/SignerPayload.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/v4/Extrinsic.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/v4/ExtrinsicPayload.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/util.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/v4/ExtrinsicSignature.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/v5/Extrinsic.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/v5/ExtrinsicPayload.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/v5/ExtrinsicSignature.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/extrinsic/v5/GeneralExtrinsic.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/generic/AccountId.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/generic/AccountIndex.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/generic/Block.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/generic/Call.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/generic/ChainProperties.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/generic/ConsensusEngineId.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/generic/LookupSource.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/generic/MultiAddress.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/generic/Vote.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/ethereum/AccountId.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/ethereum/LookupSource.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/primitive/Data.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/primitive/StorageKey.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/decorate/extrinsics/index.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/decorate/util.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/decorate/extrinsics/createUnchecked.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/Metadata.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/v9/toV10.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/v10/toV11.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/v11/toV12.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/v12/toV13.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/v13/toV14.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/interfaces/alias.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/v14/toV15.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/v15/toV16.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/v16/toLatest.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/MagicNumber.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/versions.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/MetadataVersioned.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/decorate/constants/index.js","../../../node_modules/.pnpm/@polkadot+types@16.5.4/node_modules/@polkadot/types/metadata/decorate/events/index.js","../src/polkadot/polkadot.address.ts","../src/polkadot/polkadot.api.ts","../src/polkadot/polkadot.apps.ts"],"sourcesContent":["export function isHexString(asset: unknown): boolean {\n return typeof asset === 'string' && asset.startsWith('0x');\n}\n\nexport function isEthAddress(address: string): boolean {\n return address.length === 42 && address.startsWith('0x');\n}\n","export function formatAssetIdToERC20(id: string) {\n if (id.startsWith('0x')) {\n return id;\n }\n\n if (!/^\\d{38,39}$/.test(id)) {\n throw new Error(`Asset id: ${id} must be a string and have 38-39 digits`);\n }\n\n return `0xffffffff${BigInt(id).toString(16).padStart(32, '0')}`;\n}\n\nexport function convertAddressTo32Bytes(address: string): string {\n if (!/^0x[a-fA-F0-9]{40}$/.test(address)) {\n throw new Error(`Invalid address: ${address}`);\n }\n\n return `0x000000000000000000000000${address.substring(2)}`;\n}\n","import Big, { type RoundingMode } from 'big.js';\n\nBig.NE = -18;\n\nexport function toDecimal(\n number: bigint | number | string,\n decimals: number,\n maxDecimal = 6,\n roundType?: RoundingMode,\n): string {\n const dividend = Big(number.toString().replace(/[^0-9]/g, ''));\n const divisor = Big(10).pow(decimals);\n const result = dividend.div(divisor).round(maxDecimal, roundType);\n\n return result.toString();\n}\n\nexport function toBigInt(\n amount: bigint | string | number,\n decimals: number,\n): bigint {\n if (typeof amount === 'bigint') {\n return amount;\n }\n\n const multiplier = Big(10).pow(decimals);\n const result = Big(amount).mul(multiplier);\n\n return BigInt(result.toFixed(0, Big.roundDown));\n}\n\nexport function convertDecimals(\n number: string | bigint,\n decimals: number,\n targetDecimals: number,\n): bigint {\n const decimalNumber = toDecimal(number, decimals, decimals);\n\n return toBigInt(decimalNumber.toString(), targetDecimals);\n}\n\nexport function hasDecimalOverflow(fl: number | string, maxDecimal: number) {\n const parts = fl.toString().split('.');\n return parts.length > 1 && parts[1].length > maxDecimal;\n}\n","export * from './essentials.js';\nexport { default as assetConversion } from './assetConversion/definitions.js';\nexport { default as assets } from './assets/definitions.js';\nexport { default as aura } from './aura/definitions.js';\nexport { default as authorship } from './authorship/definitions.js';\nexport { default as babe } from './babe/definitions.js';\nexport { default as balances } from './balances/definitions.js';\nexport { default as beefy } from './beefy/definitions.js';\nexport { default as benchmark } from './benchmark/definitions.js';\nexport { default as blockbuilder } from './blockbuilder/definitions.js';\nexport { default as collective } from './collective/definitions.js';\nexport { default as consensus } from './consensus/definitions.js';\nexport { default as contracts } from './contracts/definitions.js';\nexport { default as democracy } from './democracy/definitions.js';\nexport { default as dev } from './dev/definitions.js';\nexport { default as discovery } from './discovery/definitions.js';\nexport { default as elections } from './elections/definitions.js';\nexport { default as engine } from './engine/definitions.js';\nexport { default as evm } from './evm/definitions.js';\nexport { default as extrinsics } from './extrinsics/definitions.js';\nexport { default as fungibles } from './fungibles/definitions.js';\nexport { default as genericAsset } from './genericAsset/definitions.js';\nexport { default as genesisBuilder } from './genesisBuilder/definitions.js';\nexport { default as gilt } from './gilt/definitions.js';\nexport { default as grandpa } from './grandpa/definitions.js';\nexport { default as identity } from './identity/definitions.js';\nexport { default as imOnline } from './imOnline/definitions.js';\nexport { default as lottery } from './lottery/definitions.js';\nexport { default as mixnet } from './mixnet/definitions.js';\nexport { default as mmr } from './mmr/definitions.js';\nexport { default as nfts } from './nfts/definitions.js';\nexport { default as nompools } from './nompools/definitions.js';\nexport { default as offences } from './offences/definitions.js';\nexport { default as pow } from './pow/definitions.js';\nexport { default as proxy } from './proxy/definitions.js';\nexport { default as recovery } from './recovery/definitions.js';\nexport { default as scheduler } from './scheduler/definitions.js';\nexport { default as session } from './session/definitions.js';\nexport { default as society } from './society/definitions.js';\nexport { default as staking } from './staking/definitions.js';\nexport { default as statement } from './statement/definitions.js';\nexport { default as support } from './support/definitions.js';\nexport { default as syncstate } from './syncstate/definitions.js';\nexport { default as system } from './system/definitions.js';\nexport { default as treasury } from './treasury/definitions.js';\nexport { default as txpayment } from './txpayment/definitions.js';\nexport { default as txqueue } from './txqueue/definitions.js';\nexport { default as uniques } from './uniques/definitions.js';\nexport { default as utility } from './utility/definitions.js';\nexport { default as vesting } from './vesting/definitions.js';\nexport { default as attestations } from './attestations/definitions.js';\nexport { default as bridges } from './bridges/definitions.js';\nexport { default as claims } from './claims/definitions.js';\nexport { default as crowdloan } from './crowdloan/definitions.js';\nexport { default as cumulus } from './cumulus/definitions.js';\nexport { default as finality } from './finality/definitions.js';\nexport { default as parachains } from './parachains/definitions.js';\nexport { default as poll } from './poll/definitions.js';\nexport { default as purchase } from './purchase/definitions.js';\nexport { default as dryRunApi } from './dryRunApi/definitions.js';\nexport { default as xcm } from './xcm/definitions.js';\nexport { default as xcmPaymentApi } from './xcmPaymentApi/definitions.js';\nexport { default as xcmRuntimeApi } from './xcmRuntimeApi/definitions.js';\nexport { default as contractsAbi } from './contractsAbi/definitions.js';\nexport { default as eth } from './eth/definitions.js';\nexport { default as nimbus } from './nimbus/definitions.js';\nexport { default as ormlOracle } from './ormlOracle/definitions.js';\nexport { default as ormlTokens } from './ormlTokens/definitions.js';\nexport { default as rpc } from './rpc/definitions.js';\nexport { default as author } from './author/definitions.js';\nexport { default as chain } from './chain/definitions.js';\nexport { default as childstate } from './childstate/definitions.js';\nexport { default as offchain } from './offchain/definitions.js';\nexport { default as payment } from './payment/definitions.js';\nexport { default as state } from './state/definitions.js';\n","/* eslint-disable sort-keys */\nexport const AllHashers = {\n Blake2_128: null, // eslint-disable-line camelcase\n Blake2_256: null, // eslint-disable-line camelcase\n Blake2_128Concat: null, // eslint-disable-line camelcase\n Twox128: null,\n Twox256: null,\n Twox64Concat: null,\n // new in v11\n Identity: null\n};\n","const META_V1_TO_V2 = {\n metadata: {\n description: 'Returns the metadata of a runtime',\n params: [],\n type: 'OpaqueMetadata'\n }\n};\nexport const runtime = {\n Metadata: [\n {\n methods: {\n metadata_at_version: {\n description: 'Returns the metadata at a given version.',\n params: [\n {\n name: 'version',\n type: 'u32'\n }\n ],\n type: 'Option<OpaqueMetadata>'\n },\n metadata_versions: {\n description: 'Returns the supported metadata versions.',\n params: [],\n type: 'Vec<u32>'\n },\n ...META_V1_TO_V2\n },\n version: 2\n },\n {\n methods: {\n ...META_V1_TO_V2\n },\n version: 1\n }\n ]\n};\n","export const v9 = {\n // v9\n ErrorMetadataV9: {\n name: 'Text',\n docs: 'Vec<Text>'\n },\n EventMetadataV9: {\n name: 'Text',\n args: 'Vec<Type>',\n docs: 'Vec<Text>'\n },\n FunctionArgumentMetadataV9: {\n name: 'Text',\n type: 'Type'\n },\n FunctionMetadataV9: {\n name: 'Text',\n args: 'Vec<FunctionArgumentMetadataV9>',\n docs: 'Vec<Text>'\n },\n MetadataV9: {\n modules: 'Vec<ModuleMetadataV9>'\n },\n ModuleConstantMetadataV9: {\n name: 'Text',\n type: 'Type',\n value: 'Bytes',\n docs: 'Vec<Text>'\n },\n ModuleMetadataV9: {\n name: 'Text',\n storage: 'Option<StorageMetadataV9>',\n calls: 'Option<Vec<FunctionMetadataV9>>',\n events: 'Option<Vec<EventMetadataV9>>',\n constants: 'Vec<ModuleConstantMetadataV9>',\n errors: 'Vec<ErrorMetadataV9>'\n },\n StorageEntryMetadataV9: {\n name: 'Text',\n modifier: 'StorageEntryModifierV9',\n type: 'StorageEntryTypeV9',\n fallback: 'Bytes',\n docs: 'Vec<Text>'\n },\n StorageEntryModifierV9: {\n _enum: ['Optional', 'Default', 'Required']\n },\n StorageEntryTypeV9: {\n _enum: {\n Plain: 'Type',\n Map: {\n hasher: 'StorageHasherV9',\n key: 'Type',\n value: 'Type',\n linked: 'bool'\n },\n DoubleMap: {\n hasher: 'StorageHasherV9',\n key1: 'Type',\n key2: 'Type',\n value: 'Type',\n key2Hasher: 'StorageHasherV9'\n }\n }\n },\n StorageHasherV9: {\n _enum: {\n Blake2_128: null, // eslint-disable-line camelcase\n Blake2_256: null, // eslint-disable-line camelcase\n Twox128: null,\n Twox256: null,\n Twox64Concat: null\n }\n },\n StorageMetadataV9: {\n prefix: 'Text',\n items: 'Vec<StorageEntryMetadataV9>'\n }\n};\n","export const v10 = {\n // v10\n ErrorMetadataV10: 'ErrorMetadataV9',\n EventMetadataV10: 'EventMetadataV9',\n FunctionArgumentMetadataV10: 'FunctionArgumentMetadataV9',\n FunctionMetadataV10: 'FunctionMetadataV9',\n MetadataV10: {\n modules: 'Vec<ModuleMetadataV10>'\n },\n ModuleConstantMetadataV10: 'ModuleConstantMetadataV9',\n ModuleMetadataV10: {\n name: 'Text',\n storage: 'Option<StorageMetadataV10>',\n calls: 'Option<Vec<FunctionMetadataV10>>',\n events: 'Option<Vec<EventMetadataV10>>',\n constants: 'Vec<ModuleConstantMetadataV10>',\n errors: 'Vec<ErrorMetadataV10>'\n },\n StorageEntryModifierV10: 'StorageEntryModifierV9',\n StorageEntryMetadataV10: {\n name: 'Text',\n modifier: 'StorageEntryModifierV10',\n type: 'StorageEntryTypeV10',\n fallback: 'Bytes',\n docs: 'Vec<Text>'\n },\n StorageEntryTypeV10: {\n _enum: {\n Plain: 'Type',\n Map: {\n hasher: 'StorageHasherV10',\n key: 'Type',\n value: 'Type',\n linked: 'bool'\n },\n DoubleMap: {\n hasher: 'StorageHasherV10',\n key1: 'Type',\n key2: 'Type',\n value: 'Type',\n key2Hasher: 'StorageHasherV10'\n }\n }\n },\n StorageMetadataV10: {\n prefix: 'Text',\n items: 'Vec<StorageEntryMetadataV10>'\n },\n StorageHasherV10: {\n _enum: {\n Blake2_128: null, // eslint-disable-line camelcase\n Blake2_256: null, // eslint-disable-line camelcase\n Blake2_128Concat: null, // eslint-disable-line camelcase\n Twox128: null,\n Twox256: null,\n Twox64Concat: null\n }\n }\n};\n","import { AllHashers } from './hashers.js';\nexport const v11 = {\n // v11\n ErrorMetadataV11: 'ErrorMetadataV10',\n EventMetadataV11: 'EventMetadataV10',\n ExtrinsicMetadataV11: {\n version: 'u8',\n signedExtensions: 'Vec<Text>'\n },\n FunctionArgumentMetadataV11: 'FunctionArgumentMetadataV10',\n FunctionMetadataV11: 'FunctionMetadataV10',\n MetadataV11: {\n modules: 'Vec<ModuleMetadataV11>',\n extrinsic: 'ExtrinsicMetadataV11'\n },\n ModuleConstantMetadataV11: 'ModuleConstantMetadataV10',\n ModuleMetadataV11: {\n name: 'Text',\n storage: 'Option<StorageMetadataV11>',\n calls: 'Option<Vec<FunctionMetadataV11>>',\n events: 'Option<Vec<EventMetadataV11>>',\n constants: 'Vec<ModuleConstantMetadataV11>',\n errors: 'Vec<ErrorMetadataV11>'\n },\n StorageEntryModifierV11: 'StorageEntryModifierV10',\n StorageEntryMetadataV11: {\n name: 'Text',\n modifier: 'StorageEntryModifierV11',\n type: 'StorageEntryTypeV11',\n fallback: 'Bytes',\n docs: 'Vec<Text>'\n },\n StorageEntryTypeV11: {\n _enum: {\n Plain: 'Type',\n Map: {\n hasher: 'StorageHasherV11',\n key: 'Type',\n value: 'Type',\n linked: 'bool'\n },\n DoubleMap: {\n hasher: 'StorageHasherV11',\n key1: 'Type',\n key2: 'Type',\n value: 'Type',\n key2Hasher: 'StorageHasherV11'\n }\n }\n },\n StorageMetadataV11: {\n prefix: 'Text',\n items: 'Vec<StorageEntryMetadataV11>'\n },\n StorageHasherV11: {\n _enum: AllHashers\n }\n};\n","export const v12 = {\n // v12\n ErrorMetadataV12: 'ErrorMetadataV11',\n EventMetadataV12: 'EventMetadataV11',\n ExtrinsicMetadataV12: 'ExtrinsicMetadataV11',\n FunctionArgumentMetadataV12: 'FunctionArgumentMetadataV11',\n FunctionMetadataV12: 'FunctionMetadataV11',\n MetadataV12: {\n modules: 'Vec<ModuleMetadataV12>',\n extrinsic: 'ExtrinsicMetadataV12'\n },\n ModuleConstantMetadataV12: 'ModuleConstantMetadataV11',\n ModuleMetadataV12: {\n name: 'Text',\n storage: 'Option<StorageMetadataV12>',\n calls: 'Option<Vec<FunctionMetadataV12>>',\n events: 'Option<Vec<EventMetadataV12>>',\n constants: 'Vec<ModuleConstantMetadataV12>',\n errors: 'Vec<ErrorMetadataV12>',\n index: 'u8'\n },\n StorageEntryModifierV12: 'StorageEntryModifierV11',\n StorageEntryMetadataV12: 'StorageEntryMetadataV11',\n StorageEntryTypeV12: 'StorageEntryTypeV11',\n StorageMetadataV12: 'StorageMetadataV11',\n StorageHasherV12: 'StorageHasherV11'\n};\n","export const v13 = {\n // v13\n ErrorMetadataV13: 'ErrorMetadataV12',\n EventMetadataV13: 'EventMetadataV12',\n ExtrinsicMetadataV13: 'ExtrinsicMetadataV12',\n FunctionArgumentMetadataV13: 'FunctionArgumentMetadataV12',\n FunctionMetadataV13: 'FunctionMetadataV12',\n MetadataV13: {\n modules: 'Vec<ModuleMetadataV13>',\n extrinsic: 'ExtrinsicMetadataV13'\n },\n ModuleConstantMetadataV13: 'ModuleConstantMetadataV12',\n ModuleMetadataV13: {\n name: 'Text',\n storage: 'Option<StorageMetadataV13>',\n calls: 'Option<Vec<FunctionMetadataV13>>',\n events: 'Option<Vec<EventMetadataV13>>',\n constants: 'Vec<ModuleConstantMetadataV13>',\n errors: 'Vec<ErrorMetadataV13>',\n index: 'u8'\n },\n StorageEntryModifierV13: 'StorageEntryModifierV12',\n StorageEntryMetadataV13: {\n name: 'Text',\n modifier: 'StorageEntryModifierV13',\n type: 'StorageEntryTypeV13',\n fallback: 'Bytes',\n docs: 'Vec<Text>'\n },\n StorageEntryTypeV13: {\n _enum: {\n Plain: 'Type',\n Map: {\n hasher: 'StorageHasherV13',\n key: 'Type',\n value: 'Type',\n linked: 'bool'\n },\n DoubleMap: {\n hasher: 'StorageHasherV13',\n key1: 'Type',\n key2: 'Type',\n value: 'Type',\n key2Hasher: 'StorageHasherV13'\n },\n NMap: {\n keyVec: 'Vec<Type>',\n hashers: 'Vec<StorageHasherV13>',\n value: 'Type'\n }\n }\n },\n StorageMetadataV13: {\n prefix: 'Text',\n items: 'Vec<StorageEntryMetadataV13>'\n },\n StorageHasherV13: 'StorageHasherV12'\n};\n","/* eslint-disable sort-keys */\nexport const Si1Variant = {\n name: 'Text',\n fields: 'Vec<Si1Field>',\n index: 'u8',\n docs: 'Vec<Text>'\n};\nexport const v1 = {\n Si1Field: {\n name: 'Option<Text>',\n type: 'Si1LookupTypeId',\n typeName: 'Option<Text>',\n docs: 'Vec<Text>'\n },\n Si1LookupTypeId: 'Compact<u32>',\n Si1Path: 'Si0Path',\n Si1Type: {\n path: 'Si1Path',\n params: 'Vec<Si1TypeParameter>',\n def: 'Si1TypeDef',\n docs: 'Vec<Text>'\n },\n Si1TypeDef: {\n _enum: {\n Composite: 'Si1TypeDefComposite',\n Variant: 'Si1TypeDefVariant',\n Sequence: 'Si1TypeDefSequence',\n Array: 'Si1TypeDefArray',\n Tuple: 'Si1TypeDefTuple',\n Primitive: 'Si1TypeDefPrimitive',\n Compact: 'Si1TypeDefCompact',\n BitSequence: 'Si1TypeDefBitSequence',\n // NOTE: This is specific to the implementation for pre-v14 metadata\n // compatibility (always keep this as the last entry in the enum)\n HistoricMetaCompat: 'Type'\n }\n },\n Si1TypeDefArray: {\n len: 'u32',\n type: 'Si1LookupTypeId'\n },\n Si1TypeDefBitSequence: {\n bitStoreType: 'Si1LookupTypeId',\n bitOrderType: 'Si1LookupTypeId'\n },\n Si1TypeDefCompact: {\n type: 'Si1LookupTypeId'\n },\n Si1TypeDefComposite: {\n fields: 'Vec<Si1Field>'\n },\n Si1TypeDefPrimitive: 'Si0TypeDefPrimitive',\n Si1TypeDefSequence: {\n type: 'Si1LookupTypeId'\n },\n Si1TypeDefTuple: 'Vec<Si1LookupTypeId>',\n Si1TypeParameter: {\n name: 'Text',\n type: 'Option<Si1LookupTypeId>'\n },\n Si1TypeDefVariant: {\n variants: 'Vec<Si1Variant>'\n },\n Si1Variant\n};\n","import { Si1Variant } from '../scaleInfo/v1.js';\nexport const v14 = {\n // registry\n PortableTypeV14: {\n id: 'Si1LookupTypeId',\n type: 'Si1Type'\n },\n // compatibility with earlier layouts, i.e. don't break previous users\n ErrorMetadataV14: {\n ...Si1Variant,\n args: 'Vec<Type>'\n },\n EventMetadataV14: {\n ...Si1Variant,\n args: 'Vec<Type>'\n },\n FunctionArgumentMetadataV14: {\n name: 'Text',\n type: 'Type',\n typeName: 'Option<Type>'\n },\n FunctionMetadataV14: {\n ...Si1Variant,\n args: 'Vec<FunctionArgumentMetadataV14>'\n },\n // V14\n ExtrinsicMetadataV14: {\n type: 'SiLookupTypeId',\n version: 'u8',\n signedExtensions: 'Vec<SignedExtensionMetadataV14>'\n },\n MetadataV14: {\n lookup: 'PortableRegistry',\n pallets: 'Vec<PalletMetadataV14>',\n extrinsic: 'ExtrinsicMetadataV14',\n type: 'SiLookupTypeId'\n },\n PalletCallMetadataV14: {\n type: 'SiLookupTypeId'\n },\n PalletConstantMetadataV14: {\n name: 'Text',\n type: 'SiLookupTypeId',\n value: 'Bytes',\n docs: 'Vec<Text>'\n },\n PalletErrorMetadataV14: {\n type: 'SiLookupTypeId'\n },\n PalletEventMetadataV14: {\n type: 'SiLookupTypeId'\n },\n PalletMetadataV14: {\n name: 'Text',\n storage: 'Option<PalletStorageMetadataV14>',\n calls: 'Option<PalletCallMetadataV14>',\n events: 'Option<PalletEventMetadataV14>',\n constants: 'Vec<PalletConstantMetadataV14>',\n errors: 'Option<PalletErrorMetadataV14>',\n index: 'u8'\n },\n PalletStorageMetadataV14: {\n prefix: 'Text',\n // NOTE: Renamed from entries\n items: 'Vec<StorageEntryMetadataV14>'\n },\n SignedExtensionMetadataV14: {\n identifier: 'Text',\n type: 'SiLookupTypeId',\n additionalSigned: 'SiLookupTypeId'\n },\n StorageEntryMetadataV14: {\n name: 'Text',\n modifier: 'StorageEntryModifierV14',\n type: 'StorageEntryTypeV14',\n fallback: 'Bytes',\n docs: 'Vec<Text>'\n },\n StorageEntryModifierV14: 'StorageEntryModifierV13',\n StorageEntryTypeV14: {\n _enum: {\n Plain: 'SiLookupTypeId',\n Map: {\n hashers: 'Vec<StorageHasherV14>',\n key: 'SiLookupTypeId', // NOTE: Renamed from \"keys\"\n value: 'SiLookupTypeId'\n }\n }\n },\n StorageHasherV14: 'StorageHasherV13'\n};\n","export const v15 = {\n // new/adjusted in v15\n CustomMetadata15: {\n map: 'BTreeMap<Text, CustomValueMetadata15>'\n },\n CustomValueMetadata15: {\n type: 'SiLookupTypeId',\n value: 'Bytes'\n },\n ExtrinsicMetadataV15: {\n version: 'u8',\n addressType: 'SiLookupTypeId',\n callType: 'SiLookupTypeId',\n signatureType: 'SiLookupTypeId',\n extraType: 'SiLookupTypeId',\n signedExtensions: 'Vec<SignedExtensionMetadataV14>'\n },\n OuterEnums15: {\n callType: 'SiLookupTypeId',\n eventType: 'SiLookupTypeId',\n errorType: 'SiLookupTypeId'\n },\n PalletMetadataV15: {\n name: 'Text',\n storage: 'Option<PalletStorageMetadataV14>',\n calls: 'Option<PalletCallMetadataV14>',\n events: 'Option<PalletEventMetadataV14>',\n constants: 'Vec<PalletConstantMetadataV14>',\n errors: 'Option<PalletErrorMetadataV14>',\n index: 'u8',\n docs: 'Vec<Text>'\n },\n RuntimeApiMetadataV15: {\n name: 'Text',\n methods: 'Vec<RuntimeApiMethodMetadataV15>',\n docs: 'Vec<Text>'\n },\n RuntimeApiMethodMetadataV15: {\n name: 'Text',\n inputs: 'Vec<RuntimeApiMethodParamMetadataV15>',\n output: 'SiLookupTypeId',\n docs: 'Vec<Text>'\n },\n RuntimeApiMethodParamMetadataV15: {\n name: 'Text',\n type: 'SiLookupTypeId'\n },\n // actual v15 definition\n MetadataV15: {\n lookup: 'PortableRegistry',\n pallets: 'Vec<PalletMetadataV15>',\n extrinsic: 'ExtrinsicMetadataV15',\n type: 'SiLookupTypeId',\n apis: 'Vec<RuntimeApiMetadataV15>',\n outerEnums: 'OuterEnums15',\n custom: 'CustomMetadata15'\n }\n};\n","export const v16 = {\n // actual v16 definition\n MetadataV16: {\n lookup: 'PortableRegistry',\n pallets: 'Vec<PalletMetadataV16>',\n extrinsic: 'ExtrinsicMetadataV16',\n apis: 'Vec<RuntimeApiMetadataV16>',\n outerEnums: 'OuterEnums15',\n custom: 'CustomMetadata15'\n },\n // ---- Pallet definitions ----\n PalletMetadataV16: {\n name: 'Text',\n storage: 'Option<PalletStorageMetadataV16>',\n calls: 'Option<PalletCallMetadataV16>',\n events: 'Option<PalletEventMetadataV16>',\n constants: 'Vec<PalletConstantMetadataV16>',\n errors: 'Option<PalletErrorMetadataV16>',\n associatedTypes: 'Vec<PalletAssociatedTypeMetadataV16>',\n viewFunctions: 'Vec<PalletViewFunctionMetadataV16>',\n index: 'u8',\n docs: 'Vec<Text>',\n // Deprecation info\n deprecationInfo: 'ItemDeprecationInfoV16'\n },\n PalletStorageMetadataV16: {\n prefix: 'Text',\n items: 'Vec<StorageEntryMetadataV16>'\n },\n StorageEntryMetadataV16: {\n name: 'Text',\n modifier: 'StorageEntryModifierV14',\n type: 'StorageEntryTypeV14',\n fallback: 'Bytes',\n docs: 'Vec<Text>',\n deprecationInfo: 'ItemDeprecationInfoV16'\n },\n ItemDeprecationInfoV16: {\n _enum: {\n // Item is not deprecated.\n NotDeprecated: 'Null',\n // Item is fully deprecated without a note.\n DeprecatedWithoutNote: 'Null',\n // Item is fully deprecated with a note and an optional `since` field.\n Deprecated: {\n // Note explaining the deprecation\n note: 'Text',\n // Optional value for noting the version when the deprecation occurred.\n since: 'Option<Text>'\n }\n }\n },\n PalletCallMetadataV16: {\n type: 'SiLookupTypeId',\n // Deprecation status of the pallet call\n deprecationInfo: 'EnumDeprecationInfoV16'\n },\n // Deprecation information for enums in which specific variants can be deprecated.\n // If the map is empty, then nothing is deprecated.\n EnumDeprecationInfoV16: 'BTreeMap<u8, VariantDeprecationInfoV16>',\n VariantDeprecationInfoV16: {\n _enum: {\n // Dummy variant, just here to force DeprecatedWithoutNote\n // to have index 1 and Deprecated to have index 2\n DummyVariant: 'Null',\n // Variant is deprecated without a note.\n DeprecatedWithoutNote: 'Null',\n // Variant is deprecated with a note and an optional `since` field.\n Deprecated: {\n // Note explaining the deprecation\n note: 'Text',\n // Optional value for noting the version when the deprecation occurred.\n since: 'Option<Text>'\n }\n }\n },\n PalletEventMetadataV16: {\n type: 'SiLookupTypeId',\n // Deprecation info\n deprecationInfo: 'EnumDeprecationInfoV16'\n },\n PalletConstantMetadataV16: {\n name: 'Text',\n type: 'SiLookupTypeId',\n value: 'Bytes',\n docs: 'Vec<Text>',\n // Deprecation info\n deprecationInfo: 'ItemDeprecationInfoV16'\n },\n PalletErrorMetadataV16: {\n type: 'SiLookupTypeId',\n // Deprecation info\n deprecationInfo: 'EnumDeprecationInfoV16'\n },\n PalletAssociatedTypeMetadataV16: {\n name: 'Text',\n type: 'SiLookupTypeId',\n docs: 'Vec<Text>'\n },\n PalletViewFunctionMetadataV16: {\n id: '[u8; 32]',\n // Method name.\n name: 'Text',\n // Method par ameters.\n inputs: 'Vec<RuntimeApiMethodParamMetadataV15>',\n // Method output.\n output: 'SiLookupTypeId',\n // Method documentation.\n docs: 'Vec<T::String>',\n // Deprecation info\n deprecationInfo: 'ItemDeprecationInfoV16'\n },\n // ---- Extrinsic definitions ----\n ExtrinsicMetadataV16: {\n // Extrinsic versions supported by the runtime.\n versions: 'Vec<u8>',\n // The type of the address that signs the extrinsic\n addressType: 'SiLookupTypeId',\n // The type of the outermost Call enum.\n callType: 'SiLookupTypeId',\n // The type of the extrinsic's signature.\n signatureType: 'SiLookupTypeId',\n // A mapping of supported transaction extrinsic versions to their respective transaction extension indexes.\n //\n // For each supported version number, list the indexes, in order, of the extensions used.\n transactionExtensionsByVersion: 'BTreeMap<u8, Vec<Compact<u32>>>',\n // The transaction extensions in the order they appear in the extrinsic.\n transactionExtensions: 'Vec<TransactionExtensionMetadataV16>'\n },\n TransactionExtensionMetadataV16: {\n // The unique transaction extension identifier, which may be different from the type name.\n identifier: 'Text',\n // The type of the transaction extension, with the data to be included in the extrinsic.\n type: 'SiLookupTypeId',\n // The type of the implicit data, with the data to be included in the signed payload.\n implicit: 'SiLookupTypeId'\n },\n // ---- Runtime Api definitions ----\n RuntimeApiMetadataV16: {\n name: 'Text',\n methods: 'Vec<RuntimeApiMethodMetadataV16>',\n docs: 'Vec<Text>',\n // Runtime API version.\n version: 'Compact<u32>',\n // Deprecation info\n deprecationInfo: 'ItemDeprecationInfoV16'\n },\n RuntimeApiMethodMetadataV16: {\n name: 'Text',\n inputs: 'Vec<RuntimeApiMethodParamMetadataV15>',\n output: 'SiLookupTypeId',\n docs: 'Vec<Text>',\n // Deprecation info\n deprecationInfo: 'ItemDeprecationInfoV16'\n }\n};\n","import { AllHashers } from './hashers.js';\nimport { runtime } from './runtime.js';\nimport { v9 } from './v9.js';\nimport { v10 } from './v10.js';\nimport { v11 } from './v11.js';\nimport { v12 } from './v12.js';\nimport { v13 } from './v13.js';\nimport { v14 } from './v14.js';\nimport { v15 } from './v15.js';\nimport { v16 } from './v16.js';\nexport { AllHashers };\nexport default {\n rpc: {},\n runtime,\n types: {\n // all known\n ...v9,\n ...v10,\n ...v11,\n ...v12,\n ...v13,\n ...v14,\n ...v15,\n ...v16,\n // latest mappings\n // NOTE: For v15, we only added the runtime defintions,\n // hence latest for most pointing to the previous V14\n ErrorMetadataLatest: 'ErrorMetadataV14',\n EventMetadataLatest: 'EventMetadataV14',\n ExtrinsicMetadataLatest: 'ExtrinsicMetadataV16',\n FunctionArgumentMetadataLatest: 'FunctionArgumentMetadataV14',\n FunctionMetadataLatest: 'FunctionMetadataV14',\n MetadataLatest: 'MetadataV16',\n PalletCallMetadataLatest: 'PalletCallMetadataV16',\n PalletConstantMetadataLatest: 'PalletConstantMetadataV16',\n PalletErrorMetadataLatest: 'PalletErrorMetadataV16',\n PalletEventMetadataLatest: 'PalletEventMetadataV16',\n PalletMetadataLatest: 'PalletMetadataV16',\n PalletStorageMetadataLatest: 'PalletStorageMetadataV16',\n PortableType: 'PortableTypeV14',\n RuntimeApiMetadataLatest: 'RuntimeApiMetadataV16',\n SignedExtensionMetadataLatest: 'SignedExtensionMetadataV14',\n TransactionExtensionMetadataLatest: 'TransactionExtensionMetadataV16',\n StorageEntryMetadataLatest: 'StorageEntryMetadataV16',\n StorageEntryModifierLatest: 'StorageEntryModifierV14',\n StorageEntryTypeLatest: 'StorageEntryTypeV14',\n StorageHasher: 'StorageHasherV14',\n // additional types\n OpaqueMetadata: 'Opaque<Bytes>',\n // the enum containing all the mappings\n MetadataAll: {\n _enum: {\n V0: 'DoNotConstruct<MetadataV0>',\n V1: 'DoNotConstruct<MetadataV1>',\n V2: 'DoNotConstruct<MetadataV2>',\n V3: 'DoNotConstruct<MetadataV3>',\n V4: 'DoNotConstruct<MetadataV4>',\n V5: 'DoNotConstruct<MetadataV5>',\n V6: 'DoNotConstruct<MetadataV6>',\n V7: 'DoNotConstruct<MetadataV7>',\n V8: 'DoNotConstruct<MetadataV8>',\n // First version on Kusama in V9, dropping will be problematic\n V9: 'MetadataV9',\n V10: 'MetadataV10',\n V11: 'MetadataV11',\n V12: 'MetadataV12',\n V13: 'MetadataV13',\n V14: 'MetadataV14',\n V15: 'MetadataV15',\n V16: 'MetadataV16'\n }\n }\n }\n};\n","const CORE_V1_TO_V4 = {\n execute_block: {\n description: 'Execute the given block.',\n params: [\n {\n name: 'block',\n type: 'Block'\n }\n ],\n type: 'Null'\n }\n};\nconst CORE_V1_TO_V2 = {\n version: {\n description: 'Returns the version of the runtime.',\n params: [],\n type: 'RuntimeVersionPre3'\n }\n};\nconst CORE_V2_TO_V4 = {\n initialize_block: {\n description: 'Initialize a block with the given header.',\n params: [\n {\n name: 'header',\n type: 'Header'\n }\n ],\n type: 'Null'\n }\n};\nconst CORE_V4_VERSION = {\n version: {\n description: 'Returns the version of the runtime.',\n params: [],\n type: 'RuntimeVersion'\n }\n};\nconst CORE_V4_TO_V5 = {\n ...CORE_V1_TO_V4,\n initialize_block: {\n description: 'Initialize a block with the given header.',\n params: [\n {\n name: 'header',\n type: 'Header'\n }\n ],\n type: 'ExtrinsicInclusionMode'\n }\n};\nexport const runtime = {\n Core: [\n {\n methods: {\n ...CORE_V4_VERSION,\n ...CORE_V4_TO_V5\n },\n version: 5\n },\n {\n methods: {\n ...CORE_V4_VERSION,\n ...CORE_V1_TO_V4,\n ...CORE_V2_TO_V4\n },\n version: 4\n },\n {\n methods: {\n version: {\n description: 'Returns the version of the runtime.',\n params: [],\n type: 'RuntimeVersionPre4'\n },\n ...CORE_V1_TO_V4,\n ...CORE_V2_TO_V4\n },\n version: 3\n },\n {\n methods: {\n ...CORE_V1_TO_V2,\n ...CORE_V1_TO_V4,\n ...CORE_V2_TO_V4\n },\n version: 2\n },\n {\n methods: {\n initialise_block: {\n description: 'Initialize a block with the given header.',\n params: [\n {\n name: 'header',\n type: 'Header'\n }\n ],\n type: 'Null'\n },\n ...CORE_V1_TO_V2,\n ...CORE_V1_TO_V4\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nconst numberTypes = {\n Fixed64: 'Int<64, Fixed64>',\n FixedI64: 'Int<64, FixedI64>',\n FixedU64: 'UInt<64, FixedU64>',\n Fixed128: 'Int<128, Fixed128>',\n FixedI128: 'Int<128, FixedI128>',\n FixedU128: 'UInt<128, FixedU128>',\n I32F32: 'Int<64, I32F32>',\n U32F32: 'UInt<64, U32F32>',\n PerU16: 'UInt<16, PerU16>',\n Perbill: 'UInt<32, Perbill>',\n Percent: 'UInt<8, Percent>',\n Permill: 'UInt<32, Permill>',\n Perquintill: 'UInt<64, Perquintill>'\n};\nexport const knownOrigins = {\n //\n // (1) Defaults from Substrate\n //\n Council: 'CollectiveOrigin',\n System: 'SystemOrigin',\n TechnicalCommittee: 'CollectiveOrigin',\n //\n // (2) Defaults from Polkadot\n //\n Xcm: 'XcmOrigin',\n XcmPallet: 'XcmOrigin',\n //\n // (3) Defaults from Acala\n //\n Authority: 'AuthorityOrigin',\n GeneralCouncil: 'CollectiveOrigin'\n};\nexport default {\n rpc: {},\n runtime,\n types: {\n ...numberTypes,\n AccountId: 'AccountId32',\n AccountId20: 'GenericEthereumAccountId',\n AccountId32: 'GenericAccountId32',\n AccountId33: 'GenericAccountId33',\n AccountIdOf: 'AccountId',\n AccountIndex: 'GenericAccountIndex',\n Address: 'MultiAddress',\n AssetId: 'u32',\n Balance: 'UInt<128, Balance>',\n BalanceOf: 'Balance',\n Block: 'GenericBlock',\n BlockNumber: 'u32',\n BlockNumberFor: 'BlockNumber',\n BlockNumberOf: 'BlockNumber',\n Call: 'GenericCall',\n CallHash: 'Hash',\n CallHashOf: 'CallHash',\n ChangesTrieConfiguration: {\n digestInterval: 'u32',\n digestLevels: 'u32'\n },\n ChangesTrieSignal: {\n _enum: {\n NewConfiguration: 'Option<ChangesTrieConfiguration>'\n }\n },\n ConsensusEngineId: 'GenericConsensusEngineId',\n CodecHash: 'Hash',\n CrateVersion: {\n major: 'u16',\n minor: 'u8',\n patch: 'u8'\n },\n Digest: {\n logs: 'Vec<DigestItem>'\n },\n DigestItem: {\n _enum: {\n Other: 'Bytes', // 0\n AuthoritiesChange: 'Vec<AuthorityId>', // 1\n ChangesTrieRoot: 'Hash', // 2\n SealV0: 'SealV0', // 3\n Consensus: 'Consensus', // 4\n Seal: 'Seal', // 5\n PreRuntime: 'PreRuntime', // 6\n ChangesTrieSignal: 'ChangesTrieSignal', // 7\n RuntimeEnvironmentUpdated: 'Null' // 8\n }\n },\n ExtrinsicsWeight: {\n normal: 'Weight',\n operational: 'Weight'\n },\n H32: '[u8; 4; H32]',\n H64: '[u8; 8; H64]',\n H128: '[u8; 16; H128]',\n H160: '[u8; 20; H160]',\n H256: '[u8; 32; H256]',\n H512: '[u8; 64; H512]',\n H1024: '[u8; 128; H1024]',\n H2048: '[u8; 256; H2048]',\n Hash: 'H256',\n Header: {\n parentHash: 'Hash',\n number: 'Compact<BlockNumber>',\n stateRoot: 'Hash',\n extrinsicsRoot: 'Hash',\n digest: 'Digest'\n },\n HeaderPartial: {\n parentHash: 'Hash',\n // since we only parse JSON with this, having non-compact works\n number: 'BlockNumber'\n },\n IndicesLookupSource: 'GenericLookupSource',\n Index: 'u32',\n Justification: '(ConsensusEngineId, EncodedJustification)',\n EncodedJustification: 'Bytes',\n Justifications: 'Vec<Justification>',\n KeyValue: '(StorageKey, StorageData)',\n KeyTypeId: 'u32',\n LockIdentifier: '[u8; 8]',\n LookupSource: 'MultiAddress',\n LookupTarget: 'AccountId',\n ModuleId: 'LockIdentifier',\n MultiAddress: 'GenericMultiAddress',\n MultiSigner: {\n _enum: {\n Ed25519: '[u8; 32]',\n Sr25519: '[u8; 32]',\n Ecdsa: '[u8; 33]'\n }\n },\n Moment: 'UInt<64, Moment>',\n OpaqueCall: 'Bytes',\n Origin: 'DoNotConstruct<Origin>',\n OriginCaller: {\n _enum: {\n // this should be dynamically built from the actual modules, based on index\n System: 'SystemOrigin'\n }\n },\n PalletId: 'LockIdentifier',\n PalletsOrigin: 'OriginCaller',\n PalletVersion: {\n major: 'u16',\n minor: 'u8',\n patch: 'u8'\n },\n Pays: {\n _enum: ['Yes', 'No']\n },\n Phantom: 'Null',\n PhantomData: 'Null',\n Releases: {\n _enum: ['V1', 'V2', 'V3', 'V4', 'V5', 'V6', 'V7', 'V8', 'V9', 'V10']\n },\n RuntimeCall: 'Call',\n RuntimeEvent: 'Event',\n RuntimeDbWeight: {\n read: 'Weight',\n write: 'Weight'\n },\n SignedBlock: 'SignedBlockWithJustifications',\n SignedBlockWithJustification: {\n block: 'Block',\n justification: 'Option<EncodedJustification>'\n },\n SignedBlockWithJustifications: {\n block: 'Block',\n justifications: 'Option<Justifications>'\n },\n Slot: 'u64',\n SlotDuration: 'u64',\n StorageData: 'Bytes',\n StorageInfo: {\n palletName: 'Bytes',\n storage_name: 'Bytes',\n prefix: 'Bytes',\n maxValues: 'Option<u32>',\n maxSize: 'Option<u32>'\n },\n StorageProof: {\n trieNodes: 'Vec<Bytes>'\n },\n TransactionPriority: 'u64',\n TransactionLongevity: 'u64',\n TransactionTag: 'Bytes',\n TransactionInfo: {\n _alias: {\n dataSize: 'size'\n },\n chunkRoot: 'H256',\n contentHash: 'H256',\n dataSize: 'u32',\n blockChunks: 'u32'\n },\n TransactionStorageProof: {\n chunk: 'Vec<u8>',\n proof: 'Vec<Vec<u8>>'\n },\n ValidatorId: 'AccountId',\n ValidatorIdOf: 'ValidatorId',\n WeightV0: 'u32',\n WeightV1: 'u64',\n WeightV2: {\n refTime: 'Compact<u64>',\n proofSize: 'Compact<u64>'\n },\n Weight: 'WeightV2',\n WeightMultiplier: 'Fixed64',\n // digest\n PreRuntime: '(ConsensusEngineId, Bytes)',\n SealV0: '(u64, Signature)',\n Seal: '(ConsensusEngineId, Bytes)',\n Consensus: '(ConsensusEngineId, Bytes)',\n // Type when core initialize_block went from v4 to v5\n ExtrinsicInclusionMode: {\n _enum: ['AllExtrinsics', 'OnlyInherents']\n }\n }\n};\n","/* eslint-disable sort-keys */\nexport const v0 = {\n Si0Field: {\n name: 'Option<Text>',\n type: 'Si0LookupTypeId',\n typeName: 'Option<Text>',\n docs: 'Vec<Text>'\n },\n Si0LookupTypeId: 'u32',\n Si0Path: 'Vec<Text>',\n Si0Type: {\n path: 'Si0Path',\n params: 'Vec<Si0LookupTypeId>',\n def: 'Si0TypeDef'\n },\n Si0TypeDef: {\n _enum: {\n Composite: 'Si0TypeDefComposite',\n Variant: 'Si0TypeDefVariant',\n Sequence: 'Si0TypeDefSequence',\n Array: 'Si0TypeDefArray',\n Tuple: 'Si0TypeDefTuple',\n Primitive: 'Si0TypeDefPrimitive',\n Compact: 'Si0TypeDefCompact',\n Phantom: 'Si0TypeDefPhantom',\n BitSequence: 'Si0TypeDefBitSequence'\n }\n },\n Si0TypeDefArray: {\n len: 'u32',\n type: 'Si0LookupTypeId'\n },\n Si0TypeDefBitSequence: {\n bitStoreType: 'Si0LookupTypeId',\n bitOrderType: 'Si0LookupTypeId'\n },\n Si0TypeDefCompact: {\n type: 'Si0LookupTypeId'\n },\n Si0TypeDefComposite: {\n fields: 'Vec<Si0Field>'\n },\n Si0TypeDefPhantom: 'Null',\n Si0TypeDefVariant: {\n variants: 'Vec<Si0Variant>'\n },\n Si0TypeDefPrimitive: {\n _enum: ['Bool', 'Char', 'Str', 'U8', 'U16', 'U32', 'U64', 'U128', 'U256', 'I8', 'I16', 'I32', 'I64', 'I128', 'I256']\n },\n Si0TypeDefSequence: {\n type: 'Si0LookupTypeId'\n },\n Si0TypeDefTuple: 'Vec<Si0LookupTypeId>',\n Si0TypeParameter: {\n name: 'Text',\n type: 'Option<Si0LookupTypeId>'\n },\n Si0Variant: {\n name: 'Text',\n fields: 'Vec<Si0Field>',\n index: 'Option<u8>',\n discriminant: 'Option<u64>',\n docs: 'Vec<Text>'\n }\n};\n","import { v0 } from './v0.js';\nimport { v1 } from './v1.js';\n/* eslint-disable sort-keys */\nexport default {\n rpc: {},\n types: {\n ...v0,\n ...v1,\n // latest mappings\n SiField: 'Si1Field',\n SiLookupTypeId: 'Si1LookupTypeId',\n SiPath: 'Si1Path',\n SiType: 'Si1Type',\n SiTypeDef: 'Si1TypeDef',\n SiTypeDefArray: 'Si1TypeDefArray',\n SiTypeDefBitSequence: 'Si1TypeDefBitSequence',\n SiTypeDefCompact: 'Si1TypeDefCompact',\n SiTypeDefComposite: 'Si1TypeDefComposite',\n SiTypeDefPrimitive: 'Si1TypeDefPrimitive',\n SiTypeDefSequence: 'Si1TypeDefSequence',\n SiTypeDefTuple: 'Si1TypeDefTuple',\n SiTypeParameter: 'Si1TypeParameter',\n SiTypeDefVariant: 'Si1TypeDefVariant',\n SiVariant: 'Si1Variant'\n }\n};\n","export const runtime = {\n AssetConversionApi: [\n {\n methods: {\n get_reserves: {\n description: 'Get pool reserves',\n params: [\n {\n name: 'asset1',\n type: 'StagingXcmV3MultiLocation'\n },\n {\n name: 'asset2',\n type: 'StagingXcmV3MultiLocation'\n }\n ],\n type: 'Option<(Balance,Balance)>'\n },\n quote_price_exact_tokens_for_tokens: {\n description: 'Quote price: exact tokens for tokens',\n params: [\n {\n name: 'asset1',\n type: 'StagingXcmV3MultiLocation'\n },\n {\n name: 'asset2',\n type: 'StagingXcmV3MultiLocation'\n },\n {\n name: 'amount',\n type: 'u128'\n },\n {\n name: 'include_fee',\n type: 'bool'\n }\n ],\n type: 'Option<(Balance)>'\n },\n quote_price_tokens_for_exact_tokens: {\n description: 'Quote price: tokens for exact tokens',\n params: [\n {\n name: 'asset1',\n type: 'StagingXcmV3MultiLocation'\n },\n {\n name: 'asset2',\n type: 'StagingXcmV3MultiLocation'\n },\n {\n name: 'amount',\n type: 'u128'\n },\n {\n name: 'include_fee',\n type: 'bool'\n }\n ],\n type: 'Option<(Balance)>'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {\n TAssetConversion: 'Option<MultiLocation>'\n }\n};\n","export const runtime = {\n AssetsApi: [\n {\n methods: {\n account_balances: {\n description: 'Return the current set of authorities.',\n params: [\n {\n name: 'account',\n type: 'AccountId'\n }\n ],\n type: 'Vec<(u32, TAssetBalance)>'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {\n AssetApprovalKey: {\n owner: 'AccountId',\n delegate: 'AccountId'\n },\n AssetApproval: {\n amount: 'TAssetBalance',\n deposit: 'TAssetDepositBalance'\n },\n AssetBalance: {\n balance: 'TAssetBalance',\n isFrozen: 'bool',\n isSufficient: 'bool'\n },\n AssetDestroyWitness: {\n accounts: 'Compact<u32>',\n sufficients: 'Compact<u32>',\n approvals: 'Compact<u32>'\n },\n AssetDetails: {\n owner: 'AccountId',\n issuer: 'AccountId',\n admin: 'AccountId',\n freezer: 'AccountId',\n supply: 'TAssetBalance',\n deposit: 'TAssetDepositBalance',\n minBalance: 'TAssetBalance',\n isSufficient: 'bool',\n accounts: 'u32',\n sufficients: 'u32',\n approvals: 'u32',\n isFrozen: 'bool'\n },\n AssetMetadata: {\n deposit: 'TAssetDepositBalance',\n name: 'Vec<u8>',\n symbol: 'Vec<u8>',\n decimals: 'u8',\n isFrozen: 'bool'\n },\n TAssetBalance: 'u64',\n TAssetDepositBalance: 'BalanceOf'\n }\n};\n","export const runtime = {\n AuraApi: [\n {\n methods: {\n authorities: {\n description: 'Return the current set of authorities.',\n params: [],\n type: 'Vec<AuthorityId>'\n },\n slot_duration: {\n description: 'Returns the slot duration for Aura.',\n params: [],\n type: 'SlotDuration'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {\n RawAuraPreDigest: {\n slotNumber: 'u64'\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n UncleEntryItem: {\n _enum: {\n InclusionHeight: 'BlockNumber',\n Uncle: '(Hash, Option<AccountId>)'\n }\n }\n }\n};\n","export const rpc = {\n epochAuthorship: {\n description: 'Returns data about which slots (primary or secondary) can be claimed in the current epoch with the keys in the keystore',\n isUnsafe: true,\n params: [],\n type: 'HashMap<AuthorityId, EpochAuthorship>'\n }\n};\n","const V1_V2_SHARED = {\n current_epoch: {\n description: 'Returns information regarding the current epoch.',\n params: [],\n type: 'Epoch'\n },\n current_epoch_start: {\n description: 'Returns the slot that started the current epoch.',\n params: [],\n type: 'Slot'\n },\n generate_key_ownership_proof: {\n description: 'Generates a proof of key ownership for the given authority in the current epoch.',\n params: [\n {\n name: 'slot',\n type: 'Slot'\n },\n {\n name: 'authorityId',\n type: 'AuthorityId'\n }\n ],\n type: 'Option<OpaqueKeyOwnershipProof>'\n },\n next_epoch: {\n description: 'Returns information regarding the next epoch (which was already previously announced).',\n params: [],\n type: 'Epoch'\n },\n submit_report_equivocation_unsigned_extrinsic: {\n description: 'Submits an unsigned extrinsic to report an equivocation.',\n params: [\n {\n name: 'equivocationProof',\n type: 'BabeEquivocationProof'\n },\n {\n name: 'keyOwnerProof',\n type: 'OpaqueKeyOwnershipProof'\n }\n ],\n type: 'Option<Null>'\n }\n};\nexport const runtime = {\n BabeApi: [\n {\n methods: {\n configuration: {\n description: 'Return the genesis configuration for BABE. The configuration is only read on genesis.',\n params: [],\n type: 'BabeGenesisConfiguration'\n },\n ...V1_V2_SHARED\n },\n version: 2\n },\n {\n methods: {\n configuration: {\n description: 'Return the configuration for BABE. Version 1.',\n params: [],\n type: 'BabeGenesisConfigurationV1'\n },\n ...V1_V2_SHARED\n },\n version: 1\n }\n ]\n};\n","import { rpc } from './rpc.js';\nimport { runtime } from './runtime.js';\nexport default {\n rpc,\n runtime,\n types: {\n AllowedSlots: {\n _enum: ['PrimarySlots', 'PrimaryAndSecondaryPlainSlots', 'PrimaryAndSecondaryVRFSlots']\n },\n BabeAuthorityWeight: 'u64',\n BabeEpochConfiguration: {\n c: '(u64, u64)',\n allowedSlots: 'AllowedSlots'\n },\n BabeBlockWeight: 'u32',\n BabeEquivocationProof: {\n offender: 'AuthorityId',\n slotNumber: 'SlotNumber',\n firstHeader: 'Header',\n secondHeader: 'Header'\n },\n BabeGenesisConfiguration: {\n slotDuration: 'u64',\n epochLength: 'u64',\n c: '(u64, u64)',\n genesisAuthorities: 'Vec<(AuthorityId, BabeAuthorityWeight)>',\n randomness: 'Randomness',\n allowedSlots: 'AllowedSlots'\n },\n BabeGenesisConfigurationV1: {\n slotDuration: 'u64',\n epochLength: 'u64',\n c: '(u64, u64)',\n genesisAuthorities: 'Vec<(AuthorityId, BabeAuthorityWeight)>',\n randomness: 'Randomness',\n secondarySlots: 'bool'\n },\n BabeWeight: 'u64',\n MaybeRandomness: 'Option<Randomness>',\n MaybeVrf: 'Option<VrfData>',\n Epoch: {\n epochIndex: 'u64',\n startSlot: 'Slot',\n duration: 'u64',\n authorities: 'Vec<(AuthorityId, BabeAuthorityWeight)>',\n randomness: 'Hash', // [u8; VRF_OUTPUT_LENGTH],\n config: 'BabeEpochConfiguration'\n },\n EpochAuthorship: {\n primary: 'Vec<u64>',\n secondary: 'Vec<u64>',\n secondary_vrf: 'Vec<u64>'\n },\n NextConfigDescriptor: {\n _enum: {\n V0: 'Null',\n V1: 'NextConfigDescriptorV1'\n }\n },\n NextConfigDescriptorV1: {\n c: '(u64, u64)',\n allowedSlots: 'AllowedSlots'\n },\n OpaqueKeyOwnershipProof: 'Bytes',\n Randomness: 'Hash', // [u8; RANDOMNESS_LENGTH],\n RawBabePreDigest: {\n _enum: {\n Phantom: 'Null', // index starts at 1... empty slot at 0\n Primary: 'RawBabePreDigestPrimary',\n SecondaryPlain: 'RawBabePreDigestSecondaryPlain',\n SecondaryVRF: 'RawBabePreDigestSecondaryVRF'\n }\n },\n RawBabePreDigestPrimary: {\n authorityIndex: 'u32', // AuthorityIndex (also in aura)\n slotNumber: 'SlotNumber',\n vrfOutput: 'VrfOutput',\n vrfProof: 'VrfProof'\n },\n RawBabePreDigestSecondaryPlain: {\n authorityIndex: 'u32', // AuthorityIndex (also in aura)\n slotNumber: 'SlotNumber'\n },\n RawBabePreDigestSecondaryVRF: {\n authorityIndex: 'u32',\n slotNumber: 'SlotNumber',\n vrfOutput: 'VrfOutput',\n vrfProof: 'VrfProof'\n },\n RawBabePreDigestTo159: {\n _enum: {\n Primary: 'RawBabePreDigestPrimaryTo159',\n Secondary: 'RawBabePreDigestSecondaryTo159'\n }\n },\n RawBabePreDigestPrimaryTo159: {\n authorityIndex: 'u32',\n slotNumber: 'SlotNumber',\n weight: 'BabeBlockWeight',\n vrfOutput: 'VrfOutput',\n vrfProof: 'VrfProof'\n },\n RawBabePreDigestSecondaryTo159: {\n authorityIndex: 'u32',\n slotNumber: 'SlotNumber',\n weight: 'BabeBlockWeight'\n },\n // a cross old/new compatible version of the digest, that is _only_ useful\n // for partial parsing and extraction of the author. This assumes that all\n // entries has the authorityIndex in the first position - and that it is all\n // we are interested in\n RawBabePreDigestCompat: {\n _enum: {\n Zero: 'u32',\n One: 'u32',\n Two: 'u32',\n Three: 'u32'\n }\n },\n SlotNumber: 'u64',\n VrfData: '[u8; 32]',\n VrfOutput: '[u8; 32]',\n VrfProof: '[u8; 64]'\n }\n};\n","export default {\n rpc: {},\n types: {\n AccountData: {\n free: 'Balance',\n reserved: 'Balance',\n miscFrozen: 'Balance',\n feeFrozen: 'Balance'\n },\n BalanceLockTo212: {\n id: 'LockIdentifier',\n amount: 'Balance',\n until: 'BlockNumber',\n reasons: 'WithdrawReasons'\n },\n BalanceLock: {\n id: 'LockIdentifier',\n amount: 'Balance',\n reasons: 'Reasons'\n },\n BalanceStatus: {\n _enum: ['Free', 'Reserved']\n },\n Reasons: {\n _enum: ['Fee', 'Misc', 'All']\n },\n ReserveData: {\n id: 'ReserveIdentifier',\n amount: 'Balance'\n },\n ReserveIdentifier: '[u8; 8]',\n VestingSchedule: {\n offset: 'Balance',\n perBlock: 'Balance',\n startingBlock: 'BlockNumber'\n },\n WithdrawReasons: {\n _set: {\n TransactionPayment: 0b0000_0001,\n Transfer: 0b0000_0010,\n Reserve: 0b0000_0100,\n Fee: 0b0000_1000,\n Tip: 0b0001_0000\n }\n }\n }\n};\n","export const rpc = {\n getFinalizedHead: {\n description: 'Returns hash of the latest BEEFY finalized block as seen by this client.',\n params: [],\n type: 'H256'\n },\n subscribeJustifications: {\n description: 'Returns the block most recently finalized by BEEFY, alongside its justification.',\n params: [],\n pubsub: [\n 'justifications',\n 'subscribeJustifications',\n 'unsubscribeJustifications'\n ],\n type: 'BeefyVersionedFinalityProof'\n }\n};\n","const BEEFY_V3 = {\n beefy_genesis: {\n description: 'Return the block number where BEEFY consensus is enabled/started',\n params: [],\n type: 'Option<BlockNumber>'\n },\n generate_key_ownership_proof: {\n description: 'Generates a proof of key ownership for the given authority in the given set.',\n params: [\n {\n name: 'setId',\n type: 'ValidatorSetId'\n },\n {\n name: 'authorityId',\n type: 'AuthorityId'\n }\n ],\n type: 'Option<OpaqueKeyOwnershipProof>'\n },\n validator_set: {\n description: 'Return the current active BEEFY validator set',\n params: [],\n type: 'Option<ValidatorSet>'\n }\n};\nconst BEEFY_V1_V3 = {\n ...BEEFY_V3,\n submit_report_equivocation_unsigned_extrinsic: {\n description: 'Submits an unsigned extrinsic to report an equivocation.',\n params: [\n {\n name: 'equivocationProof',\n type: 'BeefyEquivocationProof'\n },\n {\n name: 'keyOwnerProof',\n type: 'OpaqueKeyOwnershipProof'\n }\n ],\n type: 'Option<Null>'\n }\n};\nconst BEEFY_V4 = {\n ...BEEFY_V3,\n submit_report_double_voting_unsigned_extrinsic: {\n description: 'Submits an unsigned extrinsic to report a double voting equivocation.',\n params: [\n {\n name: 'equivocationProof',\n type: 'SpConsensusBeefyDoubleVotingProof'\n },\n {\n name: 'keyOwnerProof',\n type: 'OpaqueKeyOwnershipProof'\n }\n ],\n type: 'Option<Null>'\n }\n};\nconst BEEFY_MMR_V1 = {\n authority_set_proof: {\n description: 'Return the currently active BEEFY authority set proof.',\n params: [],\n type: 'BeefyAuthoritySet'\n },\n next_authority_set_proof: {\n description: 'Return the next/queued BEEFY authority set proof.',\n params: [],\n type: 'BeefyNextAuthoritySet'\n }\n};\nexport const runtime = {\n BeefyApi: [\n {\n methods: BEEFY_V4,\n version: 4\n },\n {\n methods: BEEFY_V1_V3,\n version: 3\n },\n {\n methods: BEEFY_V1_V3,\n version: 2\n },\n {\n methods: BEEFY_V1_V3,\n version: 1\n }\n ],\n BeefyMmrApi: [\n {\n methods: BEEFY_MMR_V1,\n version: 1\n }\n ]\n};\n","import { rpc } from './rpc.js';\nimport { runtime } from './runtime.js';\nexport default {\n rpc,\n runtime,\n types: {\n BeefyAuthoritySet: {\n id: 'u64',\n len: 'u32',\n root: 'H256'\n },\n BeefyCommitment: {\n payload: 'BeefyPayload',\n blockNumber: 'BlockNumber',\n validatorSetId: 'ValidatorSetId'\n },\n BeefyId: '[u8; 33]',\n BeefyEquivocationProof: {\n first: 'BeefyVoteMessage',\n second: 'BeefyVoteMessage'\n },\n BeefyCompactSignedCommitment: {\n commitment: 'BeefyCommitment',\n signaturesFrom: 'Vec<u8>',\n validatorSetLen: 'u32',\n signaturesCompact: 'Vec<EcdsaSignature>'\n },\n BeefySignedCommitment: {\n commitment: 'BeefyCommitment',\n signatures: 'Vec<Option<EcdsaSignature>>'\n },\n BeefyVersionedFinalityProof: {\n _enum: {\n V0: 'Null',\n V1: 'BeefyCompactSignedCommitment'\n }\n },\n BeefyNextAuthoritySet: {\n id: 'u64',\n len: 'u32',\n root: 'H256'\n },\n BeefyPayload: 'Vec<(BeefyPayloadId, Bytes)>',\n BeefyPayloadId: '[u8;2]',\n BeefyVoteMessage: {\n commitment: 'BeefyCommitment',\n id: 'AuthorityId',\n signature: 'Signature'\n },\n MmrRootHash: 'H256',\n ValidatorSetId: 'u64',\n ValidatorSet: {\n validators: 'Vec<AuthorityId>',\n id: 'ValidatorSetId'\n }\n }\n};\n","export const runtime = {\n Benchmark: [\n {\n methods: {\n benchmark_metadata: {\n description: 'Get the benchmark metadata available for this runtime.',\n params: [\n {\n name: 'extra',\n type: 'bool'\n }\n ],\n type: '(Vec<BenchmarkList>, Vec<StorageInfo>)'\n },\n dispatch_benchmark: {\n description: 'Dispatch the given benchmark.',\n params: [\n {\n name: 'config',\n type: 'BenchmarkConfig'\n }\n ],\n type: 'Result<Vec<BenchmarkBatch>, Text>'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {\n BenchmarkBatch: {\n pallet: 'Text',\n instance: 'Text',\n benchmark: 'Text',\n results: 'Vec<BenchmarkResult>'\n },\n BenchmarkConfig: {\n pallet: 'Bytes',\n benchmark: 'Bytes',\n selectedComponents: 'Vec<(BenchmarkParameter, u32)>',\n verify: 'bool',\n internalRepeats: 'u32'\n },\n BenchmarkList: {\n pallet: 'Bytes',\n instance: 'Bytes',\n benchmarks: 'Vec<BenchmarkMetadata>'\n },\n BenchmarkMetadata: {\n name: 'Bytes',\n components: 'Vec<(BenchmarkParameter, u32, u32)>'\n },\n BenchmarkParameter: {\n _enum: ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']\n },\n BenchmarkResult: {\n components: 'Vec<(BenchmarkParameter, u32)>',\n extrinsicTime: 'u128',\n storageRootTime: 'u128',\n reads: 'u32',\n repeatReads: 'u32',\n writes: 'u32',\n repeatWrites: 'u32',\n proofSize: 'u32',\n benchKeys: 'Vec<(Vec<u8>, u32, u32, bool)>'\n }\n }\n};\n","const BB_V2_TO_V4 = {\n // this was removed after V4\n random_seed: {\n description: 'Generate a random seed.',\n params: [],\n type: 'Hash'\n }\n};\nconst BB_V2_TO_V5 = {\n apply_extrinsic: {\n description: 'Apply the given extrinsic.',\n params: [\n {\n name: 'extrinsic',\n type: 'Extrinsic'\n }\n ],\n type: 'ApplyExtrinsicResultPre6'\n }\n};\nconst BB_V2_TO_V6 = {\n check_inherents: {\n description: 'Check that the inherents are valid.',\n params: [\n {\n name: 'block',\n type: 'Block'\n },\n {\n name: 'data',\n type: 'InherentData'\n }\n ],\n type: 'CheckInherentsResult'\n },\n inherent_extrinsics: {\n description: 'Generate inherent extrinsics.',\n params: [\n {\n name: 'inherent',\n type: 'InherentData'\n }\n ],\n type: 'Vec<Extrinsic>'\n }\n};\nconst BB_V3_TO_V6 = {\n // renamed in v3 from finalize_block\n finalize_block: {\n description: 'Finish the current block.',\n params: [],\n type: 'Header'\n }\n};\nexport const runtime = {\n BlockBuilder: [\n {\n methods: {\n apply_extrinsic: {\n description: 'Apply the given extrinsic.',\n params: [\n {\n name: 'extrinsic',\n type: 'Extrinsic'\n }\n ],\n type: 'ApplyExtrinsicResult'\n },\n ...BB_V2_TO_V6,\n ...BB_V3_TO_V6\n },\n version: 6\n },\n {\n methods: {\n // apply_extrinsic result changed in 6\n ...BB_V2_TO_V5,\n ...BB_V2_TO_V6,\n ...BB_V3_TO_V6\n },\n version: 5\n },\n {\n methods: {\n // random_seed removed\n ...BB_V2_TO_V4,\n ...BB_V2_TO_V5,\n ...BB_V2_TO_V6,\n ...BB_V3_TO_V6\n },\n version: 4\n },\n {\n methods: {\n // finalize_block renamed\n ...BB_V2_TO_V4,\n ...BB_V2_TO_V6,\n ...BB_V3_TO_V6\n },\n version: 3\n },\n {\n methods: {\n finalise_block: {\n description: 'Finish the current block.',\n params: [],\n type: 'Header'\n },\n ...BB_V2_TO_V4,\n ...BB_V2_TO_V6\n },\n version: 2\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {\n CheckInherentsResult: {\n okay: 'bool',\n fatalError: 'bool',\n errors: 'InherentData'\n },\n InherentData: {\n data: 'BTreeMap<InherentIdentifier, Bytes>'\n },\n InherentIdentifier: '[u8; 8]'\n }\n};\n","export default {\n rpc: {},\n types: {\n CollectiveOrigin: {\n _enum: {\n Members: '(MemberCount, MemberCount)',\n Member: 'AccountId'\n }\n },\n MemberCount: 'u32',\n ProposalIndex: 'u32',\n VotesTo230: {\n index: 'ProposalIndex',\n threshold: 'MemberCount',\n ayes: 'Vec<AccountId>',\n nays: 'Vec<AccountId>'\n },\n Votes: {\n index: 'ProposalIndex',\n threshold: 'MemberCount',\n ayes: 'Vec<AccountId>',\n nays: 'Vec<AccountId>',\n end: 'BlockNumber'\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n AuthorityId: 'AccountId',\n RawVRFOutput: '[u8; 32]'\n }\n};\n","export const rpc = {\n call: {\n deprecated: 'Use the runtime interface `api.call.contractsApi.call` instead',\n description: 'Executes a call to a contract',\n params: [\n {\n name: 'callRequest',\n type: 'ContractCallRequest'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'ContractExecResult'\n },\n getStorage: {\n deprecated: 'Use the runtime interface `api.call.contractsApi.getStorage` instead',\n description: 'Returns the value under a specified storage key in a contract',\n params: [\n {\n name: 'address',\n type: 'AccountId'\n },\n {\n name: 'key',\n type: 'H256'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'Option<Bytes>'\n },\n instantiate: {\n deprecated: 'Use the runtime interface `api.call.contractsApi.instantiate` instead',\n description: 'Instantiate a new contract',\n params: [\n {\n name: 'request',\n type: 'InstantiateRequestV1'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'ContractInstantiateResult'\n },\n rentProjection: {\n deprecated: 'Not available in newer versions of the contracts interfaces',\n description: 'Returns the projected time a given contract will be able to sustain paying its rent',\n params: [\n {\n name: 'address',\n type: 'AccountId'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'Option<BlockNumber>'\n },\n uploadCode: {\n deprecated: 'Use the runtime interface `api.call.contractsApi.uploadCode` instead',\n description: 'Upload new code without instantiating a contract from it',\n // The RPC here is terribly misnamed - somebody forgot how the RPCs\n // are actually done, ie. <module>_<camelCasedMethod>\n endpoint: 'contracts_upload_code',\n params: [\n {\n name: 'uploadRequest',\n type: 'CodeUploadRequest'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'CodeUploadResult'\n }\n};\n","const SHARED_V1_V2 = {\n get_storage: {\n description: 'Query a given storage key in a given contract.',\n params: [\n {\n name: 'address',\n type: 'AccountId'\n },\n {\n name: 'key',\n type: 'Bytes'\n }\n ],\n type: 'Option<Bytes>'\n },\n upload_code: {\n description: 'Upload new code without instantiating a contract from it.',\n params: [\n {\n name: 'origin',\n type: 'AccountId'\n },\n {\n name: 'code',\n type: 'Bytes'\n },\n {\n name: 'storageDepositLimit',\n type: 'Option<Balance>'\n }\n ],\n type: 'CodeUploadResult'\n }\n};\nexport const runtime = {\n ContractsApi: [\n {\n methods: {\n call: {\n description: 'Perform a call from a specified account to a given contract.',\n params: [\n {\n name: 'origin',\n type: 'AccountId'\n },\n {\n name: 'dest',\n type: 'AccountId'\n },\n {\n name: 'value',\n type: 'Balance'\n },\n {\n name: 'gasLimit',\n type: 'Option<WeightV2>'\n },\n {\n name: 'storageDepositLimit',\n type: 'Option<Balance>'\n },\n {\n name: 'inputData',\n type: 'Vec<u8>'\n }\n ],\n type: 'ContractExecResult'\n },\n instantiate: {\n description: 'Instantiate a new contract.',\n params: [\n {\n name: 'origin',\n type: 'AccountId'\n },\n {\n name: 'value',\n type: 'Balance'\n },\n {\n name: 'gasLimit',\n type: 'Option<WeightV2>'\n },\n {\n name: 'storageDepositLimit',\n type: 'Option<Balance>'\n },\n {\n name: 'code',\n type: 'CodeSource'\n },\n {\n name: 'data',\n type: 'Bytes'\n },\n {\n name: 'salt',\n type: 'Bytes'\n }\n ],\n type: 'ContractInstantiateResult'\n },\n ...SHARED_V1_V2\n },\n version: 2\n },\n {\n methods: {\n call: {\n description: 'Perform a call from a specified account to a given contract.',\n params: [\n {\n name: 'origin',\n type: 'AccountId'\n },\n {\n name: 'dest',\n type: 'AccountId'\n },\n {\n name: 'value',\n type: 'Balance'\n },\n {\n name: 'gasLimit',\n type: 'u64'\n },\n {\n name: 'storageDepositLimit',\n type: 'Option<Balance>'\n },\n {\n name: 'inputData',\n type: 'Vec<u8>'\n }\n ],\n type: 'ContractExecResultU64'\n },\n instantiate: {\n description: 'Instantiate a new contract.',\n params: [\n {\n name: 'origin',\n type: 'AccountId'\n },\n {\n name: 'value',\n type: 'Balance'\n },\n {\n name: 'gasLimit',\n type: 'u64'\n },\n {\n name: 'storageDepositLimit',\n type: 'Option<Balance>'\n },\n {\n name: 'code',\n type: 'CodeSource'\n },\n {\n name: 'data',\n type: 'Bytes'\n },\n {\n name: 'salt',\n type: 'Bytes'\n }\n ],\n type: 'ContractInstantiateResultU64'\n },\n ...SHARED_V1_V2\n },\n version: 1\n }\n ]\n};\n","import { rpc } from './rpc.js';\nimport { runtime } from './runtime.js';\nexport default {\n rpc,\n runtime,\n types: {\n AliveContractInfo: {\n trieId: 'TrieId',\n storageSize: 'u32',\n pairCount: 'u32',\n codeHash: 'CodeHash',\n rentAllowance: 'Balance',\n rentPaid: 'Balance',\n deductBlock: 'BlockNumber',\n lastWrite: 'Option<BlockNumber>',\n _reserved: 'Option<Null>'\n },\n CodeHash: 'Hash',\n CodeSource: {\n _enum: {\n Upload: 'Bytes',\n Existing: 'Hash'\n }\n },\n CodeUploadRequest: {\n origin: 'AccountId',\n code: 'Bytes',\n storageDepositLimit: 'Option<Balance>'\n },\n CodeUploadResult: 'Result<CodeUploadResultValue, DispatchError>',\n CodeUploadResultValue: {\n codeHash: 'CodeHash',\n deposit: 'Balance'\n },\n ContractCallRequest: {\n origin: 'AccountId',\n dest: 'AccountId',\n value: 'Balance',\n gasLimit: 'u64',\n storageDepositLimit: 'Option<Balance>',\n inputData: 'Bytes'\n },\n ContractExecResultSuccessTo255: {\n status: 'u8',\n data: 'Raw'\n },\n ContractExecResultTo255: {\n _enum: {\n Success: 'ContractExecResultSuccessTo255',\n Error: 'Null'\n }\n },\n ContractExecResultSuccessTo260: {\n flags: 'ContractReturnFlags',\n data: 'Bytes',\n gasConsumed: 'u64'\n },\n ContractExecResultTo260: {\n _enum: {\n Success: 'ContractExecResultSuccessTo260',\n Error: 'Null'\n }\n },\n ContractExecResultOk: {\n flags: 'ContractReturnFlags',\n data: 'Bytes'\n },\n ContractExecResultResult: 'Result<ContractExecResultOk, DispatchError>',\n ContractExecResultTo267: {\n gasConsumed: 'u64',\n debugMessage: 'Text',\n result: 'ContractExecResultResult'\n },\n ContractExecResult: {\n gasConsumed: 'Weight',\n gasRequired: 'Weight',\n storageDeposit: 'StorageDeposit',\n debugMessage: 'Text',\n result: 'ContractExecResultResult'\n },\n ContractExecResultU64: {\n gasConsumed: 'u64',\n gasRequired: 'u64',\n storageDeposit: 'StorageDeposit',\n debugMessage: 'Text',\n result: 'ContractExecResultResult'\n },\n ContractInfo: {\n _enum: {\n Alive: 'AliveContractInfo',\n Tombstone: 'TombstoneContractInfo'\n }\n },\n ContractCallFlags: {\n _set: {\n _bitLength: 32,\n ForwardInput: 0b0000_0001,\n CloneInput: 0b0000_0010,\n TailCall: 0b0000_0100,\n AllowReentry: 0b0000_1000\n }\n },\n ContractReturnFlags: {\n _set: {\n _bitLength: 32,\n Revert: 0x0000_0001\n }\n },\n ContractStorageKey: '[u8; 32]',\n DeletedContract: {\n pairCount: 'u32',\n trieId: 'TrieId'\n },\n ExecReturnValue: {\n flags: 'ContractReturnFlags',\n data: 'Bytes'\n },\n Gas: 'u64',\n HostFnWeightsTo264: {\n caller: 'Weight',\n address: 'Weight',\n gasLeft: 'Weight',\n balance: 'Weight',\n valueTransferred: 'Weight',\n minimumBalance: 'Weight',\n tombstoneDeposit: 'Weight',\n rentAllowance: 'Weight',\n blockNumber: 'Weight',\n now: 'Weight',\n weightToFee: 'Weight',\n gas: 'Weight',\n input: 'Weight',\n inputPerByte: 'Weight',\n return: 'Weight',\n returnPerByte: 'Weight',\n terminate: 'Weight',\n restoreTo: 'Weight',\n restoreToPerDelta: 'Weight',\n random: 'Weight',\n depositEvent: 'Weight',\n depositEventPerTopic: 'Weight',\n depositEventPerByte: 'Weight',\n setRentAllowance: 'Weight',\n setStorage: 'Weight',\n setStoragePerByte: 'Weight',\n clearStorage: 'Weight',\n getStorage: 'Weight',\n getStoragePerByte: 'Weight',\n transfer: 'Weight',\n call: 'Weight',\n callTransferSurcharge: 'Weight',\n callPerInputByte: 'Weight',\n callPerOutputByte: 'Weight',\n instantiate: 'Weight',\n instantiatePerInputByte: 'Weight',\n instantiatePerOutputByte: 'Weight',\n hashSha2256: 'Weight',\n hashSha2256PerByte: 'Weight',\n hashKeccak256: 'Weight',\n hashKeccak256PerByte: 'Weight',\n hashBlake2256: 'Weight',\n hashBlake2256PerByte: 'Weight',\n hashBlake2128: 'Weight',\n hashBlake2128PerByte: 'Weight'\n },\n HostFnWeights: {\n caller: 'Weight',\n address: 'Weight',\n gasLeft: 'Weight',\n balance: 'Weight',\n valueTransferred: 'Weight',\n minimumBalance: 'Weight',\n tombstoneDeposit: 'Weight',\n rentAllowance: 'Weight',\n blockNumber: 'Weight',\n now: 'Weight',\n weightToFee: 'Weight',\n gas: 'Weight',\n input: 'Weight',\n inputPerByte: 'Weight',\n return: 'Weight',\n returnPerByte: 'Weight',\n terminate: 'Weight',\n terminatePerCodeByte: 'Weight',\n restoreTo: 'Weight',\n restoreToPerCallerCodeByte: 'Weight',\n restoreToPerTombstoneCodeByte: 'Weight',\n restoreToPerDelta: 'Weight',\n random: 'Weight',\n depositEvent: 'Weight',\n depositEventPerTopic: 'Weight',\n depositEventPerByte: 'Weight',\n setRentAllowance: 'Weight',\n setStorage: 'Weight',\n setStoragePerByte: 'Weight',\n clearStorage: 'Weight',\n getStorage: 'Weight',\n getStoragePerByte: 'Weight',\n transfer: 'Weight',\n call: 'Weight',\n callPerCodeByte: 'Weight',\n callTransferSurcharge: 'Weight',\n callPerInputByte: 'Weight',\n callPerOutputByte: 'Weight',\n instantiate: 'Weight',\n instantiatePerCodeByte: 'Weight',\n instantiatePerInputByte: 'Weight',\n instantiatePerOutputByte: 'Weight',\n instantiatePerSaltByte: 'Weight',\n hashSha2256: 'Weight',\n hashSha2256PerByte: 'Weight',\n hashKeccak256: 'Weight',\n hashKeccak256PerByte: 'Weight',\n hashBlake2256: 'Weight',\n hashBlake2256PerByte: 'Weight',\n hashBlake2128: 'Weight',\n hashBlake2128PerByte: 'Weight',\n rentParams: 'Weight'\n },\n InstantiateRequestV1: {\n origin: 'AccountId',\n value: 'Balance',\n gasLimit: 'Gas',\n code: 'Bytes',\n data: 'Bytes',\n salt: 'Bytes'\n },\n InstantiateRequestV2: {\n _fallback: 'InstantiateRequestV1',\n origin: 'AccountId',\n value: 'Balance',\n gasLimit: 'Gas',\n storageDepositLimit: 'Option<Balance>',\n code: 'Bytes',\n data: 'Bytes',\n salt: 'Bytes'\n },\n InstantiateRequest: {\n _fallback: 'InstantiateRequestV2',\n origin: 'AccountId',\n value: 'Balance',\n gasLimit: 'Gas',\n storageDepositLimit: 'Option<Balance>',\n code: 'CodeSource',\n data: 'Bytes',\n salt: 'Bytes'\n },\n ContractInstantiateResultTo267: 'Result<InstantiateReturnValueTo267, Null>',\n ContractInstantiateResultTo299: 'Result<InstantiateReturnValueOk, Null>',\n ContractInstantiateResult: {\n gasConsumed: 'WeightV2',\n gasRequired: 'WeightV2',\n storageDeposit: 'StorageDeposit',\n debugMessage: 'Text',\n result: 'InstantiateReturnValue'\n },\n ContractInstantiateResultU64: {\n // only this one can fail, the current version (above) _should_ be correctly\n // versioned now, aka no more deprecated RPCs involved, only runtime calls\n _fallback: 'ContractInstantiateResultTo299',\n gasConsumed: 'u64',\n gasRequired: 'u64',\n storageDeposit: 'StorageDeposit',\n debugMessage: 'Text',\n result: 'InstantiateReturnValue'\n },\n InstantiateReturnValueTo267: {\n result: 'ExecReturnValue',\n accountId: 'AccountId',\n rentProjection: 'Option<RentProjection>'\n },\n InstantiateReturnValueOk: {\n result: 'ExecReturnValue',\n accountId: 'AccountId'\n },\n InstantiateReturnValue: 'Result<InstantiateReturnValueOk, DispatchError>',\n InstructionWeights: {\n i64const: 'u32',\n i64load: 'u32',\n i64store: 'u32',\n select: 'u32',\n rIf: 'u32',\n br: 'u32',\n brIf: 'u32',\n brIable: 'u32',\n brIablePerEntry: 'u32',\n call: 'u32',\n callIndirect: 'u32',\n callIndirectPerParam: 'u32',\n localGet: 'u32',\n localSet: 'u32',\n local_tee: 'u32',\n globalGet: 'u32',\n globalSet: 'u32',\n memoryCurrent: 'u32',\n memoryGrow: 'u32',\n i64clz: 'u32',\n i64ctz: 'u32',\n i64popcnt: 'u32',\n i64eqz: 'u32',\n i64extendsi32: 'u32',\n i64extendui32: 'u32',\n i32wrapi64: 'u32',\n i64eq: 'u32',\n i64ne: 'u32',\n i64lts: 'u32',\n i64ltu: 'u32',\n i64gts: 'u32',\n i64gtu: 'u32',\n i64les: 'u32',\n i64leu: 'u32',\n i64ges: 'u32',\n i64geu: 'u32',\n i64add: 'u32',\n i64sub: 'u32',\n i64mul: 'u32',\n i64divs: 'u32',\n i64divu: 'u32',\n i64rems: 'u32',\n i64remu: 'u32',\n i64and: 'u32',\n i64or: 'u32',\n i64xor: 'u32',\n i64shl: 'u32',\n i64shrs: 'u32',\n i64shru: 'u32',\n i64rotl: 'u32',\n i64rotr: 'u32'\n },\n LimitsTo264: {\n eventTopics: 'u32',\n stackHeight: 'u32',\n globals: 'u32',\n parameters: 'u32',\n memoryPages: 'u32',\n tableSize: 'u32',\n brTableSize: 'u32',\n subjectLen: 'u32',\n codeSize: 'u32'\n },\n Limits: {\n eventTopics: 'u32',\n stackHeight: 'u32',\n globals: 'u32',\n parameters: 'u32',\n memoryPages: 'u32',\n tableSize: 'u32',\n brTableSize: 'u32',\n subjectLen: 'u32'\n },\n PrefabWasmModule: {\n scheduleVersion: 'Compact<u32>',\n initial: 'Compact<u32>',\n maximum: 'Compact<u32>',\n refcount: 'Compact<u64>',\n _reserved: 'Option<Null>',\n code: 'Bytes',\n originalCodeLen: 'u32'\n },\n RentProjection: {\n _enum: {\n EvictionAt: 'BlockNumber',\n NoEviction: 'Null'\n }\n },\n ScheduleTo212: {\n version: 'u32',\n putCodePerByteCost: 'Gas',\n growMemCost: 'Gas',\n regularOpCost: 'Gas',\n returnDataPerByteCost: 'Gas',\n eventDataPerByteCost: 'Gas',\n eventPerTopicCost: 'Gas',\n eventBaseCost: 'Gas',\n sandboxDataReadCost: 'Gas',\n sandboxDataWriteCost: 'Gas',\n maxEventTopics: 'u32',\n maxStackHeight: 'u32',\n maxMemoryPages: 'u32',\n enablePrintln: 'bool',\n maxSubjectLen: 'u32'\n },\n ScheduleTo258: {\n version: 'u32',\n putCodePerByteCost: 'Gas',\n growMemCost: 'Gas',\n regularOpCost: 'Gas',\n returnDataPerByteCost: 'Gas',\n eventDataPerByteCost: 'Gas',\n eventPerTopicCost: 'Gas',\n eventBaseCost: 'Gas',\n sandboxDataReadCost: 'Gas',\n sandboxDataWriteCost: 'Gas',\n transferCost: 'Gas',\n maxEventTopics: 'u32',\n maxStackHeight: 'u32',\n maxMemoryPages: 'u32',\n enablePrintln: 'bool',\n maxSubjectLen: 'u32'\n },\n ScheduleTo264: {\n version: 'u32',\n enablePrintln: 'bool',\n limits: 'LimitsTo264',\n instructionWeights: 'InstructionWeights',\n hostFnWeights: 'HostFnWeightsTo264'\n },\n Schedule: {\n version: 'u32',\n enablePrintln: 'bool',\n limits: 'Limits',\n instructionWeights: 'InstructionWeights',\n hostFnWeights: 'HostFnWeights'\n },\n SeedOf: 'Hash',\n StorageDeposit: {\n _enum: {\n Refund: 'Balance',\n Charge: 'Balance'\n }\n },\n TombstoneContractInfo: 'Hash',\n TrieId: 'Bytes'\n }\n};\n","export const AllConvictions = [\n // 0.1x votes, unlocked.\n 'None',\n // 1x votes, locked for an enactment period following a successful vote.\n 'Locked1x',\n // 2x votes, locked for 2x enactment periods following a successful vote.\n 'Locked2x',\n // 3x votes, locked for 4x...\n 'Locked3x',\n // 4x votes, locked for 8x...\n 'Locked4x',\n // 5x votes, locked for 16x...\n 'Locked5x',\n // 6x votes, locked for 32x...\n 'Locked6x'\n];\nexport default {\n rpc: {},\n types: {\n AccountVote: {\n _enum: {\n Standard: 'AccountVoteStandard',\n Split: 'AccountVoteSplit'\n }\n },\n AccountVoteSplit: {\n aye: 'Balance',\n nay: 'Balance'\n },\n AccountVoteStandard: {\n vote: 'Vote',\n balance: 'Balance'\n },\n Conviction: {\n _enum: AllConvictions\n },\n Delegations: {\n votes: 'Balance',\n capital: 'Balance'\n },\n PreimageStatus: {\n _enum: {\n Missing: 'BlockNumber',\n Available: 'PreimageStatusAvailable'\n }\n },\n PreimageStatusAvailable: {\n data: 'Bytes',\n provider: 'AccountId',\n deposit: 'Balance',\n since: 'BlockNumber',\n expiry: 'Option<BlockNumber>'\n },\n PriorLock: '(BlockNumber, Balance)',\n PropIndex: 'u32',\n Proposal: 'Call',\n ProxyState: {\n _enum: {\n Open: 'AccountId',\n Active: 'AccountId'\n }\n },\n ReferendumIndex: 'u32',\n ReferendumInfoTo239: {\n end: 'BlockNumber',\n proposalHash: 'Hash',\n threshold: 'VoteThreshold',\n delay: 'BlockNumber'\n },\n ReferendumInfo: {\n _enum: {\n Ongoing: 'ReferendumStatus',\n Finished: 'ReferendumInfoFinished'\n }\n },\n ReferendumInfoFinished: {\n approved: 'bool',\n end: 'BlockNumber'\n },\n ReferendumStatus: {\n end: 'BlockNumber',\n proposalHash: 'Hash',\n threshold: 'VoteThreshold',\n delay: 'BlockNumber',\n tally: 'Tally'\n },\n Tally: {\n ayes: 'Balance',\n nays: 'Balance',\n turnout: 'Balance'\n },\n Voting: {\n _enum: {\n Direct: 'VotingDirect',\n Delegating: 'VotingDelegating'\n }\n },\n VotingDirect: {\n votes: 'Vec<VotingDirectVote>',\n delegations: 'Delegations',\n prior: 'PriorLock'\n },\n VotingDirectVote: '(ReferendumIndex, AccountVote)',\n VotingDelegating: {\n balance: 'Balance',\n target: 'AccountId',\n conviction: 'Conviction',\n delegations: 'Delegations',\n prior: 'PriorLock'\n }\n }\n};\n","export const rpc = {\n getBlockStats: {\n description: 'Reexecute the specified `block_hash` and gather statistics while doing so',\n isUnsafe: true,\n params: [\n {\n isHistoric: true,\n name: 'at',\n type: 'Hash'\n }\n ],\n type: 'Option<BlockStats>'\n }\n};\n","import { rpc } from './rpc.js';\nexport default {\n rpc,\n types: {\n BlockStats: {\n witnessLen: 'u64',\n witnessCompactLen: 'u64',\n blockLen: 'u64',\n blockNumExtrinsics: 'u64'\n }\n }\n};\n","export const runtime = {\n AuthorityDiscoveryApi: [\n {\n methods: {\n authorities: {\n description: 'Retrieve authority identifiers of the current and next authority set.',\n params: [],\n type: 'Vec<AuthorityId>'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {}\n};\n","export default {\n rpc: {},\n types: {\n ApprovalFlag: 'u32',\n DefunctVoter: {\n who: 'AccountId',\n voteCount: 'Compact<u32>',\n candidateCount: 'Compact<u32>'\n },\n Renouncing: {\n _enum: {\n Member: 'Null',\n RunnerUp: 'Null',\n Candidate: 'Compact<u32>'\n }\n },\n SetIndex: 'u32',\n Vote: 'GenericVote',\n VoteIndex: 'u32',\n VoterInfo: {\n lastActive: 'VoteIndex',\n lastWin: 'VoteIndex',\n pot: 'Balance',\n stake: 'Balance'\n },\n VoteThreshold: {\n _enum: [\n 'Super Majority Approve',\n 'Super Majority Against',\n 'Simple Majority'\n ]\n }\n }\n};\n","export const rpc = {\n createBlock: {\n description: 'Instructs the manual-seal authorship task to create a new block',\n params: [\n {\n name: 'createEmpty',\n type: 'bool'\n },\n {\n name: 'finalize',\n type: 'bool'\n },\n {\n isOptional: true,\n name: 'parentHash',\n type: 'BlockHash'\n }\n ],\n type: 'CreatedBlock'\n },\n finalizeBlock: {\n description: 'Instructs the manual-seal authorship task to finalize a block',\n params: [\n {\n name: 'hash',\n type: 'BlockHash'\n },\n {\n isOptional: true,\n name: 'justification',\n type: 'Justification'\n }\n ],\n type: 'bool'\n }\n};\n","import { rpc } from './rpc.js';\nexport default {\n rpc,\n types: {\n CreatedBlock: {\n _alias: {\n blockHash: 'hash'\n },\n blockHash: 'BlockHash',\n aux: 'ImportedAux'\n },\n ImportedAux: {\n headerOnly: 'bool',\n clearJustificationRequests: 'bool',\n needsJustification: 'bool',\n badJustification: 'bool',\n needsFinalityProof: 'bool',\n isNewBest: 'bool'\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n EvmAccount: {\n nonce: 'u256',\n balance: 'u256'\n },\n EvmCallInfo: {\n exitReason: 'ExitReason',\n value: 'Bytes',\n usedGas: 'U256',\n logs: 'Vec<EvmLog>'\n },\n EvmCreateInfo: {\n exitReason: 'ExitReason',\n value: 'H160',\n usedGas: 'U256',\n logs: 'Vec<EvmLog>'\n },\n EvmCallInfoV2: {\n exitReason: 'ExitReason',\n value: 'Bytes',\n usedGas: 'U256',\n weightInfo: 'Option<EvmWeightInfo>',\n logs: 'Vec<EvmLog>'\n },\n EvmCreateInfoV2: {\n exitReason: 'ExitReason',\n value: 'H160',\n usedGas: 'U256',\n weightInfo: 'Option<EvmWeightInfo>',\n logs: 'Vec<EvmLog>'\n },\n EvmLog: {\n address: 'H160',\n topics: 'Vec<H256>',\n data: 'Bytes'\n },\n EvmVicinity: {\n gasPrice: 'u256',\n origin: 'H160'\n },\n EvmWeightInfo: {\n refTimeLimit: 'Option<u64>',\n proofSizeLimit: 'Option<u64>',\n refTimeUsage: 'Option<u64>',\n proofSizeUsage: 'Option<u64>'\n },\n ExitError: {\n _enum: {\n StackUnderflow: 'Null',\n StackOverflow: 'Null',\n InvalidJump: 'Null',\n InvalidRange: 'Null',\n DesignatedInvalid: 'Null',\n CallTooDeep: 'Null',\n CreateCollision: 'Null',\n CreateContractLimit: 'Null',\n OutOfOffset: 'Null',\n OutOfGas: 'Null',\n OutOfFund: 'Null',\n PCUnderflow: 'Null',\n CreateEmpty: 'Null',\n Other: 'Text'\n }\n },\n ExitFatal: {\n _enum: {\n NotSupported: 'Null',\n UnhandledInterrupt: 'Null',\n CallErrorAsFatal: 'ExitError',\n Other: 'Text'\n }\n },\n ExitReason: {\n _enum: {\n Succeed: 'ExitSucceed',\n Error: 'ExitError',\n Revert: 'ExitRevert',\n Fatal: 'ExitFatal'\n }\n },\n ExitRevert: {\n _enum: ['Reverted']\n },\n ExitSucceed: {\n _enum: ['Stopped', 'Returned', 'Suicided']\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n Extrinsic: 'GenericExtrinsic',\n ExtrinsicEra: 'GenericExtrinsicEra',\n ExtrinsicPayload: 'GenericExtrinsicPayload',\n ExtrinsicSignature: 'MultiSignature',\n ExtrinsicV4: 'GenericExtrinsicV4',\n ExtrinsicPayloadV4: 'GenericExtrinsicPayloadV4',\n ExtrinsicSignatureV4: 'GenericExtrinsicSignatureV4',\n ExtrinsicUnknown: 'GenericExtrinsicUnknown',\n ExtrinsicPayloadUnknown: 'GenericExtrinsicPayloadUnknown',\n ExtrinsicV5: 'GenericExtrinsicV5',\n ExtrinsicPayloadV5: 'GenericExtrinsicPayloadV5',\n ExtrinsicSignatureV5: 'GenericExtrinsicSignatureV5',\n // eras\n Era: 'ExtrinsicEra',\n ImmortalEra: 'GenericImmortalEra',\n MortalEra: 'GenericMortalEra',\n // signatures & signer\n AnySignature: 'H512',\n MultiSignature: {\n _enum: {\n Ed25519: 'Ed25519Signature',\n Sr25519: 'Sr25519Signature',\n Ecdsa: 'EcdsaSignature'\n }\n },\n Signature: 'H512',\n SignerPayload: 'GenericSignerPayload',\n EcdsaSignature: '[u8; 65]',\n Ed25519Signature: 'H512',\n Sr25519Signature: 'H512'\n }\n};\n","export const runtime = {\n FungiblesApi: [\n {\n methods: {\n query_account_balances: {\n description: 'Returns the list of all `MultiAsset` that an `AccountId` has',\n params: [\n {\n name: 'account',\n type: 'AccountId'\n }\n ],\n type: 'Result<Vec<XcmV3MultiAsset>, FungiblesAccessError>'\n }\n },\n version: 1\n },\n {\n methods: {\n query_account_balances: {\n description: 'Returns the list of all `MultiAsset` that an `AccountId` has',\n params: [\n {\n name: 'account',\n type: 'AccountId'\n }\n ],\n type: 'Result<XcmVersionedAssets, FungiblesAccessError>'\n }\n },\n version: 2\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {\n FungiblesAccessError: {\n _enum: ['AssetIdConversionFailed', 'AmountToBalanceConversionFailed']\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n AssetOptions: {\n initalIssuance: 'Compact<Balance>',\n permissions: 'PermissionLatest'\n },\n Owner: {\n _enum: {\n None: 'Null',\n Address: 'AccountId'\n }\n },\n PermissionsV1: {\n update: 'Owner',\n mint: 'Owner',\n burn: 'Owner'\n },\n PermissionVersions: {\n _enum: {\n V1: 'PermissionsV1'\n }\n },\n PermissionLatest: 'PermissionsV1'\n }\n};\n","export const runtime = {\n GenesisBuilder: [\n {\n methods: {\n build_config: {\n description: 'Build `RuntimeGenesisConfig` from a JSON blob not using any defaults and store it in the storage.',\n params: [\n {\n name: 'json',\n type: 'Vec<u8>'\n }\n ],\n type: 'Result<(), GenesisBuildErr>'\n },\n create_default_config: {\n description: 'Creates the default `RuntimeGenesisConfig` and returns it as a JSON blob.',\n params: [],\n type: 'Vec<u8>'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {\n GenesisBuildErr: 'Text'\n }\n};\n","export default {\n rpc: {},\n types: {\n ActiveGilt: {\n proportion: 'Perquintill',\n amount: 'Balance',\n who: 'AccountId',\n expiry: 'BlockNumber'\n },\n ActiveGiltsTotal: {\n frozen: 'Balance',\n proportion: 'Perquintill',\n index: 'ActiveIndex',\n target: 'Perquintill'\n },\n ActiveIndex: 'u32',\n GiltBid: {\n amount: 'Balance',\n who: 'AccountId'\n }\n }\n};\n","export const rpc = {\n proveFinality: {\n description: 'Prove finality for the given block number, returning the Justification for the last block in the set.',\n params: [\n {\n name: 'blockNumber',\n type: 'BlockNumber'\n }\n ],\n type: 'Option<EncodedFinalityProofs>'\n },\n roundState: {\n description: 'Returns the state of the current best round state as well as the ongoing background rounds',\n params: [],\n type: 'ReportedRoundStates'\n },\n subscribeJustifications: {\n description: 'Subscribes to grandpa justifications',\n params: [],\n pubsub: [\n 'justifications',\n 'subscribeJustifications',\n 'unsubscribeJustifications'\n ],\n type: 'JustificationNotification'\n }\n};\n","const GRANDPA_V2_V3 = {\n generate_key_ownership_proof: {\n description: 'Generates a proof of key ownership for the given authority in the given set.',\n params: [\n {\n name: 'setId',\n type: 'SetId'\n },\n {\n name: 'authorityId',\n type: 'AuthorityId'\n }\n ],\n type: 'Option<OpaqueKeyOwnershipProof>'\n },\n grandpa_authorities: {\n description: 'Get the current GRANDPA authorities and weights. This should not change except for when changes are scheduled and the corresponding delay has passed.',\n params: [],\n type: 'AuthorityList'\n },\n submit_report_equivocation_unsigned_extrinsic: {\n description: 'Submits an unsigned extrinsic to report an equivocation.',\n params: [\n {\n name: 'equivocationProof',\n type: 'GrandpaEquivocationProof'\n },\n {\n name: 'keyOwnerProof',\n type: 'OpaqueKeyOwnershipProof'\n }\n ],\n type: 'Option<Null>'\n }\n};\nexport const runtime = {\n GrandpaApi: [\n {\n methods: {\n current_set_id: {\n description: 'Get current GRANDPA authority set id.',\n params: [],\n type: 'SetId'\n },\n ...GRANDPA_V2_V3\n },\n version: 3\n },\n {\n methods: GRANDPA_V2_V3,\n version: 2\n }\n ]\n};\n","import { rpc } from './rpc.js';\nimport { runtime } from './runtime.js';\nexport default {\n rpc,\n runtime,\n types: {\n AuthorityIndex: 'u64',\n AuthorityList: 'Vec<NextAuthority>',\n AuthoritySet: {\n currentAuthorities: 'AuthorityList',\n setId: 'u64',\n pendingStandardChanges: 'ForkTreePendingChange',\n pendingForcedChanges: 'Vec<PendingChange>',\n authoritySetChanges: 'AuthoritySetChanges'\n },\n ForkTreePendingChange: {\n roots: 'Vec<ForkTreePendingChangeNode>',\n bestFinalizedNumber: 'Option<BlockNumber>'\n },\n ForkTreePendingChangeNode: {\n hash: 'BlockHash',\n number: 'BlockNumber',\n data: 'PendingChange', // actual data, here PendingChange\n children: 'Vec<ForkTreePendingChangeNode>'\n },\n AuthoritySetChange: '(U64, BlockNumber)',\n AuthoritySetChanges: 'Vec<AuthoritySetChange>',\n AuthorityWeight: 'u64',\n DelayKind: {\n _enum: {\n Finalized: 'Null',\n Best: 'DelayKindBest'\n }\n },\n DelayKindBest: {\n medianLastFinalized: 'BlockNumber'\n },\n EncodedFinalityProofs: 'Bytes',\n GrandpaEquivocation: {\n _enum: {\n Prevote: 'GrandpaEquivocationValue',\n Precommit: 'GrandpaEquivocationValue'\n }\n },\n GrandpaEquivocationProof: {\n setId: 'SetId',\n equivocation: 'GrandpaEquivocation'\n },\n GrandpaEquivocationValue: {\n roundNumber: 'u64',\n identity: 'AuthorityId',\n first: '(GrandpaPrevote, AuthoritySignature)',\n second: '(GrandpaPrevote, AuthoritySignature)'\n },\n GrandpaPrevote: {\n targetHash: 'Hash',\n targetNumber: 'BlockNumber'\n },\n GrandpaCommit: {\n targetHash: 'BlockHash',\n targetNumber: 'BlockNumber',\n precommits: 'Vec<GrandpaSignedPrecommit>'\n },\n GrandpaPrecommit: {\n targetHash: 'BlockHash',\n targetNumber: 'BlockNumber'\n },\n GrandpaSignedPrecommit: {\n precommit: 'GrandpaPrecommit',\n signature: 'AuthoritySignature',\n id: 'AuthorityId'\n },\n GrandpaJustification: {\n round: 'u64',\n commit: 'GrandpaCommit',\n votesAncestries: 'Vec<Header>'\n },\n JustificationNotification: 'Bytes',\n KeyOwnerProof: 'MembershipProof',\n NextAuthority: '(AuthorityId, AuthorityWeight)',\n PendingChange: {\n nextAuthorities: 'AuthorityList',\n delay: 'BlockNumber',\n canonHeight: 'BlockNumber',\n canonHash: 'BlockHash',\n delayKind: 'DelayKind'\n },\n PendingPause: {\n scheduledAt: 'BlockNumber',\n delay: 'BlockNumber'\n },\n PendingResume: {\n scheduledAt: 'BlockNumber',\n delay: 'BlockNumber'\n },\n Precommits: {\n currentWeight: 'u32',\n missing: 'BTreeSet<AuthorityId>'\n },\n Prevotes: {\n currentWeight: 'u32',\n missing: 'BTreeSet<AuthorityId>'\n },\n ReportedRoundStates: {\n setId: 'u32',\n best: 'RoundState',\n background: 'Vec<RoundState>'\n },\n RoundState: {\n round: 'u32',\n totalWeight: 'u32',\n thresholdWeight: 'u32',\n prevotes: 'Prevotes',\n precommits: 'Precommits'\n },\n SetId: 'u64',\n StoredPendingChange: {\n scheduledAt: 'BlockNumber',\n delay: 'BlockNumber',\n nextAuthorities: 'AuthorityList'\n },\n StoredState: {\n _enum: {\n Live: 'Null',\n PendingPause: 'PendingPause',\n Paused: 'Null',\n PendingResume: 'PendingResume'\n }\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n IdentityFields: {\n _set: {\n _bitLength: 64,\n // Mapped here to 32 bits, in Rust these are 64-bit values\n Display: 0b00000000_00000000_00000000_0000_0001,\n Legal: 0b00000000_00000000_00000000_0000_0010,\n Web: 0b00000000_00000000_00000000_0000_0100,\n Riot: 0b00000000_00000000_00000000_0000_1000,\n Email: 0b00000000_00000000_00000000_0001_0000,\n PgpFingerprint: 0b00000000_00000000_00000000_0010_0000,\n Image: 0b00000000_00000000_00000000_0100_0000,\n Twitter: 0b00000000_00000000_00000000_1000_0000\n }\n },\n IdentityInfoAdditional: '(Data, Data)',\n IdentityInfoTo198: {\n additional: 'Vec<IdentityInfoAdditional>',\n display: 'Data',\n legal: 'Data',\n web: 'Data',\n riot: 'Data',\n email: 'Data',\n pgpFingerprint: 'Option<H160>',\n image: 'Data'\n },\n IdentityInfo: {\n _fallback: 'IdentityInfoTo198',\n additional: 'Vec<IdentityInfoAdditional>',\n display: 'Data',\n legal: 'Data',\n web: 'Data',\n riot: 'Data',\n email: 'Data',\n pgpFingerprint: 'Option<H160>',\n image: 'Data',\n twitter: 'Data'\n },\n IdentityJudgement: {\n _enum: {\n Unknown: 'Null',\n FeePaid: 'Balance',\n Reasonable: 'Null',\n KnownGood: 'Null',\n OutOfDate: 'Null',\n LowQuality: 'Null',\n Erroneous: 'Null'\n }\n },\n RegistrationJudgement: '(RegistrarIndex, IdentityJudgement)',\n RegistrationTo198: {\n judgements: 'Vec<RegistrationJudgement>',\n deposit: 'Balance',\n info: 'IdentityInfoTo198'\n },\n Registration: {\n _fallback: 'RegistrationTo198',\n judgements: 'Vec<RegistrationJudgement>',\n deposit: 'Balance',\n info: 'IdentityInfo'\n },\n RegistrarIndex: 'u32',\n RegistrarInfo: {\n account: 'AccountId',\n fee: 'Balance',\n fields: 'IdentityFields'\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n AuthIndex: 'u32',\n AuthoritySignature: 'Signature',\n Heartbeat: {\n blockNumber: 'BlockNumber',\n networkState: 'OpaqueNetworkState',\n sessionIndex: 'SessionIndex',\n authorityIndex: 'AuthIndex',\n validatorsLen: 'u32'\n },\n HeartbeatTo244: {\n blockNumber: 'BlockNumber',\n networkState: 'OpaqueNetworkState',\n sessionIndex: 'SessionIndex',\n authorityIndex: 'AuthIndex'\n },\n OpaqueMultiaddr: 'Opaque<Bytes>',\n OpaquePeerId: 'Opaque<Bytes>',\n OpaqueNetworkState: {\n peerId: 'OpaquePeerId',\n externalAddresses: 'Vec<OpaqueMultiaddr>'\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n CallIndex: '(u8, u8)',\n LotteryConfig: {\n price: 'Balance',\n start: 'BlockNumber',\n length: 'BlockNumber',\n delay: 'BlockNumber',\n repeat: 'bool'\n }\n }\n};\n","export const runtime = {\n MixnetApi: [\n {\n methods: {\n current_mixnodes: {\n description: 'Get the index and phase of the current session.',\n params: [],\n type: 'Result<Mixnode, MixnodesErr>'\n },\n maybe_register: {\n description: 'Try to register a mixnode for the next session.',\n params: [\n {\n name: 'session_index',\n type: 'u32'\n },\n {\n name: 'mixnode',\n type: 'Mixnode'\n }\n ],\n type: 'bool'\n },\n prev_mixnodes: {\n description: 'Get the index and phase of the current session.',\n params: [],\n type: 'Result<Mixnode, MixnodesErr>'\n },\n session_status: {\n description: 'Get the index and phase of the current session.',\n params: [],\n type: 'SessionStatus'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {\n Mixnode: {\n externalAddresses: 'Vec<Bytes>',\n kxPublic: '[u8; 32]',\n peerId: '[u8; 32]'\n },\n MixnodesErr: {\n _enum: {\n InsufficientRegistrations: {\n min: 'u32',\n num: 'u32'\n }\n }\n },\n SessionPhase: {\n _enum: ['CoverToCurrent', 'RequestsToCurrent', 'CoverToPrev', 'DisconnectFromPrev']\n },\n SessionStatus: {\n currentIndex: 'u32',\n phase: 'SessionPhase'\n }\n }\n};\n","export const rpc = {\n generateProof: {\n description: 'Generate MMR proof for the given block numbers.',\n params: [\n {\n name: 'blockNumbers',\n type: 'Vec<u64>'\n },\n {\n isOptional: true,\n name: 'bestKnownBlockNumber',\n type: 'u64'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'MmrLeafBatchProof'\n },\n root: {\n description: 'Get the MMR root hash for the current best block.',\n params: [\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'MmrHash'\n },\n verifyProof: {\n description: 'Verify an MMR proof',\n params: [\n {\n name: 'proof',\n type: 'MmrLeafBatchProof'\n }\n ],\n type: 'bool'\n },\n verifyProofStateless: {\n description: 'Verify an MMR proof statelessly given an mmr_root',\n params: [\n {\n name: 'root',\n type: 'MmrHash'\n },\n {\n name: 'proof',\n type: 'MmrLeafBatchProof'\n }\n ],\n type: 'bool'\n }\n};\n","const MMR_V2 = {\n generate_proof: {\n description: 'Generate MMR proof for the given block numbers.',\n params: [\n {\n name: 'blockNumbers',\n type: 'Vec<BlockNumber>'\n },\n {\n name: 'bestKnownBlockNumber',\n type: 'Option<BlockNumber>'\n }\n ],\n type: 'Result<(Vec<MmrEncodableOpaqueLeaf>, MmrBatchProof), MmrError>'\n },\n mmr_leaf_count: {\n description: 'Return the number of MMR blocks in the chain.',\n params: [],\n type: 'Result<U64, MmrError>'\n },\n mmr_root: {\n description: 'Return the on-chain MMR root hash.',\n params: [],\n type: 'Result<Hash, MmrError>'\n },\n verify_proof: {\n description: 'Verify MMR proof against on-chain MMR.',\n params: [\n {\n name: 'leaves',\n type: 'Vec<MmrEncodableOpaqueLeaf>'\n },\n {\n name: 'proof',\n type: 'MmrBatchProof'\n }\n ],\n type: 'Result<(), MmrError>'\n },\n verify_proof_stateless: {\n description: 'Verify MMR proof against given root hash.',\n params: [\n {\n name: 'root',\n type: 'Hash'\n },\n {\n name: 'leaves',\n type: 'Vec<MmrEncodableOpaqueLeaf>'\n },\n {\n name: 'proof',\n type: 'MmrBatchProof'\n }\n ],\n type: 'Result<(), MmrError>'\n }\n};\nconst MMR_V1 = {\n generate_batch_proof: {\n description: 'Generate MMR proof for a series of leaves under given indices.',\n params: [\n {\n name: 'leafIndices',\n type: 'Vec<MmrLeafIndex>'\n }\n ],\n type: 'Result<(Vec<MmrEncodableOpaqueLeaf>, MmrBatchProof), MmrError>'\n },\n generate_proof: {\n description: 'Generate MMR proof for a leaf under given index.',\n params: [\n {\n name: 'leafIndex',\n type: 'MmrLeafIndex'\n }\n ],\n type: 'Result<(MmrEncodableOpaqueLeaf, MmrProof), MmrError>'\n },\n mmr_root: {\n description: 'Return the on-chain MMR root hash.',\n params: [],\n type: 'Result<Hash, MmrError>'\n },\n verify_batch_proof: {\n description: 'Verify MMR proof against on-chain MMR for a batch of leaves.',\n params: [\n {\n name: 'leaves',\n type: 'Vec<MmrEncodableOpaqueLeaf>'\n },\n {\n name: 'proof',\n type: 'MmrBatchProof'\n }\n ],\n type: 'Result<(), MmrError>'\n },\n verify_batch_proof_stateless: {\n description: 'Verify MMR proof against given root hash or a batch of leaves.',\n params: [\n {\n name: 'root',\n type: 'Hash'\n },\n {\n name: 'leaves',\n type: 'Vec<MmrEncodableOpaqueLeaf>'\n },\n {\n name: 'proof',\n type: 'MmrBatchProof'\n }\n ],\n type: 'Result<(), MmrError>'\n },\n verify_proof: {\n description: 'Verify MMR proof against on-chain MMR.',\n params: [\n {\n name: 'leaf',\n type: 'MmrEncodableOpaqueLeaf'\n },\n {\n name: 'proof',\n type: 'MmrProof'\n }\n ],\n type: 'Result<(), MmrError>'\n },\n verify_proof_stateless: {\n description: 'Verify MMR proof against given root hash.',\n params: [\n {\n name: 'root',\n type: 'Hash'\n },\n {\n name: 'leaf',\n type: 'MmrEncodableOpaqueLeaf'\n },\n {\n name: 'proof',\n type: 'MmrProof'\n }\n ],\n type: 'Result<(), MmrError>'\n }\n};\nexport const runtime = {\n MmrApi: [\n {\n methods: MMR_V2,\n version: 2\n },\n {\n methods: MMR_V1,\n version: 1\n }\n ]\n};\n","import { rpc } from './rpc.js';\nimport { runtime } from './runtime.js';\nexport default {\n rpc,\n runtime,\n types: {\n MmrBatchProof: {\n leafIndices: 'Vec<MmrLeafIndex>',\n leafCount: 'MmrNodeIndex',\n items: 'Vec<Hash>'\n },\n MmrEncodableOpaqueLeaf: 'Bytes',\n MmrError: {\n _enum: ['InvalidNumericOp', 'Push', 'GetRoot', 'Commit', 'GenerateProof', 'Verify', 'LeafNotFound', ' PalletNotIncluded', 'InvalidLeafIndex', 'InvalidBestKnownBlock']\n },\n MmrHash: 'Hash',\n MmrLeafBatchProof: {\n blockHash: 'BlockHash',\n leaves: 'Bytes',\n proof: 'Bytes'\n },\n MmrLeafIndex: 'u64',\n MmrLeafProof: {\n blockHash: 'BlockHash',\n leaf: 'Bytes',\n proof: 'Bytes'\n },\n MmrNodeIndex: 'u64',\n MmrProof: {\n leafIndex: 'MmrLeafIndex',\n leafCount: 'MmrNodeIndex',\n items: 'Vec<Hash>'\n }\n }\n};\n","export const runtime = {\n NftsApi: [\n {\n methods: {\n attribute: {\n description: 'An attribute',\n params: [\n {\n name: 'collection',\n type: 'NftCollectionId'\n },\n {\n name: 'item',\n type: 'NftItemId'\n },\n {\n name: 'key',\n type: 'Bytes'\n }\n ],\n type: 'Option<Bytes>'\n },\n collection_attribute: {\n description: 'A collection attribute',\n params: [\n {\n name: 'collection',\n type: 'NftCollectionId'\n },\n {\n name: 'key',\n type: 'Bytes'\n }\n ],\n type: 'Option<Bytes>'\n },\n collection_owner: {\n description: 'A collection owner',\n params: [\n {\n name: 'collection',\n type: 'NftCollectionId'\n }\n ],\n type: 'Option<AccountId>'\n },\n custom_attribute: {\n description: 'A custom attribute',\n params: [\n {\n name: 'account',\n type: 'AccountId'\n },\n {\n name: 'collection',\n type: 'NftCollectionId'\n },\n {\n name: 'item',\n type: 'NftItemId'\n },\n {\n name: 'key',\n type: 'Bytes'\n }\n ],\n type: 'Option<Bytes>'\n },\n owner: {\n description: 'Collection owner',\n params: [\n {\n name: 'collection',\n type: 'NftCollectionId'\n },\n {\n name: 'item',\n type: 'NftItemId'\n }\n ],\n type: 'Option<AccountId>'\n },\n system_attribute: {\n description: 'System attribute',\n params: [\n {\n name: 'collection',\n type: 'NftCollectionId'\n },\n {\n name: 'item',\n type: 'NftItemId'\n },\n {\n name: 'key',\n type: 'Bytes'\n }\n ],\n type: 'Option<Bytes>'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {\n NftCollectionId: 'u32',\n NftItemId: 'u32'\n }\n};\n","export const runtime = {\n NominationPoolsApi: [\n {\n methods: {\n balance_to_points: {\n description: 'Returns the equivalent points of `new_funds` for a given pool.',\n params: [\n {\n name: 'poolId',\n type: 'NpPoolId'\n },\n {\n name: 'newFunds',\n type: 'Balance'\n }\n ],\n type: 'Balance'\n },\n pending_rewards: {\n description: 'Returns the pending rewards for the given member.',\n params: [\n {\n name: 'member',\n type: 'AccountId'\n }\n ],\n type: 'Balance'\n },\n points_to_balance: {\n description: 'Returns the equivalent balance of `points` for a given pool.',\n params: [\n {\n name: 'poolId',\n type: 'NpPoolId'\n },\n {\n name: 'points',\n type: 'Balance'\n }\n ],\n type: 'Balance'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {\n NpApiError: {\n _enum: ['MemberNotFound', 'OverflowInPendingRewards']\n },\n NpPoolId: 'u32'\n }\n};\n","export default {\n rpc: {},\n types: {\n DeferredOffenceOf: '(Vec<OffenceDetails>, Vec<Perbill>, SessionIndex)',\n Kind: '[u8; 16]',\n OffenceDetails: {\n offender: 'Offender',\n reporters: 'Vec<Reporter>'\n },\n Offender: 'IdentificationTuple',\n OpaqueTimeSlot: 'Bytes',\n ReportIdOf: 'Hash',\n Reporter: 'AccountId'\n }\n};\n","export const runtime = {\n DifficultyApi: [\n {\n methods: {\n difficulty: {\n description: 'Return the target difficulty of the next block.',\n params: [],\n // This is Difficulty in the original, however this is chain-specific\n type: 'Raw'\n }\n },\n version: 1\n }\n ],\n TimestampApi: [\n {\n methods: {\n timestamp: {\n description: 'API necessary for timestamp-based difficulty adjustment algorithms.',\n params: [],\n type: 'Moment'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {}\n};\n","export default {\n rpc: {},\n types: {\n ProxyDefinition: {\n delegate: 'AccountId',\n proxyType: 'ProxyType',\n delay: 'BlockNumber'\n },\n ProxyType: {\n _enum: ['Any', 'NonTransfer', 'Governance', 'Staking']\n },\n ProxyAnnouncement: {\n real: 'AccountId',\n callHash: 'Hash',\n height: 'BlockNumber'\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n ActiveRecovery: {\n created: 'BlockNumber',\n deposit: 'Balance',\n friends: 'Vec<AccountId>'\n },\n RecoveryConfig: {\n delayPeriod: 'BlockNumber',\n deposit: 'Balance',\n friends: 'Vec<AccountId>',\n threshold: 'u16'\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n Period: '(BlockNumber, u32)',\n Priority: 'u8',\n SchedulePeriod: 'Period',\n SchedulePriority: 'Priority',\n Scheduled: {\n maybeId: 'Option<Bytes>',\n priority: 'SchedulePriority',\n call: 'Call',\n maybePeriodic: 'Option<SchedulePeriod>',\n origin: 'PalletsOrigin'\n },\n ScheduledTo254: {\n maybeId: 'Option<Bytes>',\n priority: 'SchedulePriority',\n call: 'Call',\n maybePeriodic: 'Option<SchedulePeriod>'\n },\n TaskAddress: '(BlockNumber, u32)'\n }\n};\n","export const runtime = {\n SessionKeys: [\n {\n methods: {\n decode_session_keys: {\n description: 'Decode the given public session keys.',\n params: [\n {\n name: 'encoded',\n type: 'Bytes'\n }\n ],\n type: 'Option<Vec<(Bytes, KeyTypeId)>>'\n },\n generate_session_keys: {\n description: 'Generate a set of session keys with optionally using the given seed.',\n params: [\n {\n name: 'seed',\n type: 'Option<Bytes>'\n }\n ],\n type: 'Bytes'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nconst keyTypes = {\n // key for beefy\n BeefyKey: '[u8; 33]',\n // default to Substrate master defaults, 4 keys (polkadot master, 5 keys)\n Keys: 'SessionKeys4',\n SessionKeys1: '(AccountId)',\n SessionKeys2: '(AccountId, AccountId)',\n SessionKeys3: '(AccountId, AccountId, AccountId)',\n SessionKeys4: '(AccountId, AccountId, AccountId, AccountId)',\n SessionKeys5: '(AccountId, AccountId, AccountId, AccountId, AccountId)',\n SessionKeys6: '(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId)',\n SessionKeys6B: '(AccountId, AccountId, AccountId, AccountId, AccountId, BeefyKey)',\n SessionKeys7: '(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId)',\n SessionKeys7B: '(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, BeefyKey)',\n SessionKeys8: '(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId)',\n SessionKeys8B: '(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, BeefyKey)',\n SessionKeys9: '(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId)',\n SessionKeys9B: '(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, BeefyKey)',\n SessionKeys10: '(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId)',\n SessionKeys10B: '(AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, AccountId, BeefyKey)'\n};\nexport default {\n rpc: {},\n runtime,\n types: {\n ...keyTypes,\n FullIdentification: 'Exposure',\n IdentificationTuple: '(ValidatorId, FullIdentification)',\n MembershipProof: {\n session: 'SessionIndex',\n trieNodes: 'Vec<Bytes>',\n validatorCount: 'ValidatorCount'\n },\n SessionIndex: 'u32',\n ValidatorCount: 'u32'\n }\n};\n","export default {\n rpc: {},\n types: {\n Bid: {\n who: 'AccountId',\n kind: 'BidKind',\n value: 'Balance'\n },\n BidKind: {\n _enum: {\n Deposit: 'Balance',\n Vouch: '(AccountId, Balance)'\n }\n },\n // a society-specific Judgement (not the same as identity Judgement)\n SocietyJudgement: {\n _enum: ['Rebid', 'Reject', 'Approve']\n },\n // a society-specific Vote\n SocietyVote: {\n _enum: ['Skeptic', 'Reject', 'Approve']\n },\n StrikeCount: 'u32',\n VouchingStatus: {\n _enum: ['Vouching', 'Banned']\n }\n }\n};\n","export const runtime = {\n StakingApi: [\n {\n methods: {\n nominations_quota: {\n description: 'Returns the nominations quota for a nominator with a given balance.',\n params: [\n {\n name: 'balance',\n type: 'Balance'\n }\n ],\n type: 'u32'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nconst deprecated = {\n Points: 'u32',\n EraPoints: {\n total: 'Points',\n individual: 'Vec<Points>'\n }\n};\nconst phragmen = {\n CompactAssignments: 'CompactAssignmentsWith16',\n CompactAssignmentsWith16: {\n votes1: 'Vec<(NominatorIndexCompact, ValidatorIndexCompact)>',\n votes2: 'Vec<(NominatorIndexCompact, CompactScoreCompact, ValidatorIndexCompact)>',\n votes3: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 2], ValidatorIndexCompact)>',\n votes4: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 3], ValidatorIndexCompact)>',\n votes5: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 4], ValidatorIndexCompact)>',\n votes6: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 5], ValidatorIndexCompact)>',\n votes7: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 6], ValidatorIndexCompact)>',\n votes8: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 7], ValidatorIndexCompact)>',\n votes9: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 8], ValidatorIndexCompact)>',\n votes10: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 9], ValidatorIndexCompact)>',\n votes11: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 10], ValidatorIndexCompact)>',\n votes12: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 11], ValidatorIndexCompact)>',\n votes13: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 12], ValidatorIndexCompact)>',\n votes14: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 13], ValidatorIndexCompact)>',\n votes15: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 14], ValidatorIndexCompact)>',\n votes16: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 15], ValidatorIndexCompact)>'\n },\n CompactAssignmentsWith24: {\n votes1: 'Vec<(NominatorIndexCompact, ValidatorIndexCompact)>',\n votes2: 'Vec<(NominatorIndexCompact, CompactScoreCompact, ValidatorIndexCompact)>',\n votes3: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 2], ValidatorIndexCompact)>',\n votes4: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 3], ValidatorIndexCompact)>',\n votes5: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 4], ValidatorIndexCompact)>',\n votes6: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 5], ValidatorIndexCompact)>',\n votes7: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 6], ValidatorIndexCompact)>',\n votes8: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 7], ValidatorIndexCompact)>',\n votes9: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 8], ValidatorIndexCompact)>',\n votes10: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 9], ValidatorIndexCompact)>',\n votes11: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 10], ValidatorIndexCompact)>',\n votes12: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 11], ValidatorIndexCompact)>',\n votes13: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 12], ValidatorIndexCompact)>',\n votes14: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 13], ValidatorIndexCompact)>',\n votes15: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 14], ValidatorIndexCompact)>',\n votes16: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 15], ValidatorIndexCompact)>',\n votes17: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 16], ValidatorIndexCompact)>',\n votes18: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 17], ValidatorIndexCompact)>',\n votes19: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 18], ValidatorIndexCompact)>',\n votes20: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 19], ValidatorIndexCompact)>',\n votes21: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 20], ValidatorIndexCompact)>',\n votes22: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 21], ValidatorIndexCompact)>',\n votes23: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 22], ValidatorIndexCompact)>',\n votes24: 'Vec<(NominatorIndexCompact, [CompactScoreCompact; 23], ValidatorIndexCompact)>'\n },\n CompactAssignmentsTo265: 'CompactAssignmentsWith16',\n CompactAssignmentsTo257: {\n votes1: 'Vec<(NominatorIndex, [CompactScore; 0], ValidatorIndex)>',\n votes2: 'Vec<(NominatorIndex, [CompactScore; 1], ValidatorIndex)>',\n votes3: 'Vec<(NominatorIndex, [CompactScore; 2], ValidatorIndex)>',\n votes4: 'Vec<(NominatorIndex, [CompactScore; 3], ValidatorIndex)>',\n votes5: 'Vec<(NominatorIndex, [CompactScore; 4], ValidatorIndex)>',\n votes6: 'Vec<(NominatorIndex, [CompactScore; 5], ValidatorIndex)>',\n votes7: 'Vec<(NominatorIndex, [CompactScore; 6], ValidatorIndex)>',\n votes8: 'Vec<(NominatorIndex, [CompactScore; 7], ValidatorIndex)>',\n votes9: 'Vec<(NominatorIndex, [CompactScore; 8], ValidatorIndex)>',\n votes10: 'Vec<(NominatorIndex, [CompactScore; 9], ValidatorIndex)>',\n votes11: 'Vec<(NominatorIndex, [CompactScore; 10], ValidatorIndex)>',\n votes12: 'Vec<(NominatorIndex, [CompactScore; 11], ValidatorIndex)>',\n votes13: 'Vec<(NominatorIndex, [CompactScore; 12], ValidatorIndex)>',\n votes14: 'Vec<(NominatorIndex, [CompactScore; 13], ValidatorIndex)>',\n votes15: 'Vec<(NominatorIndex, [CompactScore; 14], ValidatorIndex)>',\n votes16: 'Vec<(NominatorIndex, [CompactScore; 15], ValidatorIndex)>'\n },\n CompactScore: '(ValidatorIndex, OffchainAccuracy)',\n CompactScoreCompact: '(ValidatorIndexCompact, OffchainAccuracyCompact)',\n ElectionCompute: {\n // in previous versions the last entry was \"AuthorityId\"\n // (since no data attached, and it is via SCALE can rename)\n _enum: ['OnChain', 'Signed', 'Unsigned']\n },\n ElectionPhase: {\n _enum: {\n Off: null,\n Signed: null,\n Unsigned: '(bool, BlockNumber)',\n Emergency: null\n }\n },\n ElectionResult: {\n compute: 'ElectionCompute',\n slotStake: 'Balance',\n electedStashes: 'Vec<AccountId>',\n exposures: 'Vec<(AccountId, Exposure)>'\n },\n ElectionResultToSpec10: {\n electedStashes: 'Vec<AccountId>',\n exposures: 'Vec<(AccountId, Exposure<AccountId, Balance>)>',\n compute: 'ElectionCompute'\n },\n ElectionScore: '[u128; 3]',\n ElectionSize: {\n validators: 'Compact<ValidatorIndex>',\n nominators: 'Compact<NominatorIndex>'\n },\n ElectionStatus: {\n _enum: {\n Close: 'Null',\n Open: 'BlockNumber'\n }\n },\n ExtendedBalance: 'u128',\n RawSolution: 'RawSolutionWith16',\n RawSolutionWith16: {\n compact: 'CompactAssignmentsWith16',\n score: 'ElectionScore',\n round: 'u32'\n },\n RawSolutionWith24: {\n compact: 'CompactAssignmentsWith24',\n score: 'ElectionScore',\n round: 'u32'\n },\n RawSolutionTo265: 'RawSolutionWith16',\n ReadySolution: {\n supports: 'SolutionSupports',\n score: 'ElectionScore',\n compute: 'ElectionCompute'\n },\n RoundSnapshot: {\n voters: 'Vec<(AccountId, VoteWeight, Vec<AccountId>)>',\n targets: 'Vec<AccountId>'\n },\n SeatHolder: {\n who: 'AccountId',\n stake: 'Balance',\n deposit: 'Balance'\n },\n SignedSubmission: {\n _fallback: 'SignedSubmissionTo276',\n who: 'AccountId',\n deposit: 'Balance',\n solution: 'RawSolution',\n reward: 'Balance'\n },\n SignedSubmissionTo276: {\n who: 'AccountId',\n deposit: 'Balance',\n solution: 'RawSolution'\n },\n SignedSubmissionOf: 'SignedSubmission',\n SolutionOrSnapshotSize: {\n voters: 'Compact<u32>',\n targets: 'Compact<u32>'\n },\n SolutionSupport: {\n total: 'ExtendedBalance',\n voters: 'Vec<(AccountId, ExtendedBalance)>'\n },\n SolutionSupports: 'Vec<(AccountId, SolutionSupport)>',\n Supports: 'SolutionSupports',\n SubmissionIndicesOf: 'BTreeMap<ElectionScore, u32>',\n Voter: {\n votes: 'Vec<AccountId>',\n stake: 'Balance',\n deposit: 'Balance'\n },\n VoteWeight: 'u64'\n};\nexport default {\n rpc: {},\n runtime,\n types: {\n ...deprecated,\n ...phragmen,\n ActiveEraInfo: {\n index: 'EraIndex',\n start: 'Option<Moment>'\n },\n EraIndex: 'u32',\n EraRewardPoints: {\n total: 'RewardPoint',\n individual: 'BTreeMap<AccountId, RewardPoint>'\n },\n EraRewards: {\n total: 'u32',\n rewards: 'Vec<u32>'\n },\n Exposure: {\n total: 'Compact<Balance>',\n own: 'Compact<Balance>',\n others: 'Vec<IndividualExposure>'\n },\n Forcing: {\n _enum: [\n 'NotForcing',\n 'ForceNew',\n 'ForceNone',\n 'ForceAlways'\n ]\n },\n IndividualExposure: {\n who: 'AccountId',\n value: 'Compact<Balance>'\n },\n KeyType: 'AccountId',\n MomentOf: 'Moment',\n Nominations: {\n targets: 'Vec<AccountId>',\n submittedIn: 'EraIndex',\n suppressed: 'bool'\n },\n NominatorIndex: 'u32',\n NominatorIndexCompact: 'Compact<NominatorIndex>',\n OffchainAccuracy: 'PerU16',\n OffchainAccuracyCompact: 'Compact<OffchainAccuracy>',\n PhragmenScore: '[u128; 3]',\n Points: 'u32',\n RewardDestination: {\n _enum: {\n Staked: 'Null',\n Stash: 'Null',\n Controller: 'Null',\n Account: 'AccountId',\n None: 'Null'\n }\n },\n RewardPoint: 'u32',\n SlashJournalEntry: {\n who: 'AccountId',\n amount: 'Balance',\n ownSlash: 'Balance'\n },\n SlashingSpansTo204: {\n spanIndex: 'SpanIndex',\n lastStart: 'EraIndex',\n prior: 'Vec<EraIndex>'\n },\n SlashingSpans: {\n spanIndex: 'SpanIndex',\n lastStart: 'EraIndex',\n lastNonzeroSlash: 'EraIndex',\n prior: 'Vec<EraIndex>'\n },\n SpanIndex: 'u32',\n SpanRecord: {\n slashed: 'Balance',\n paidOut: 'Balance'\n },\n StakingLedgerTo223: {\n stash: 'AccountId',\n total: 'Compact<Balance>',\n active: 'Compact<Balance>',\n unlocking: 'Vec<UnlockChunk>'\n },\n StakingLedgerTo240: {\n _fallback: 'StakingLedgerTo223',\n stash: 'AccountId',\n total: 'Compact<Balance>',\n active: 'Compact<Balance>',\n unlocking: 'Vec<UnlockChunk>',\n lastReward: 'Option<EraIndex>'\n },\n StakingLedger: {\n stash: 'AccountId',\n total: 'Compact<Balance>',\n active: 'Compact<Balance>',\n unlocking: 'Vec<UnlockChunk>',\n claimedRewards: 'Vec<EraIndex>'\n },\n UnappliedSlashOther: '(AccountId, Balance)',\n UnappliedSlash: {\n validator: 'AccountId',\n own: 'Balance',\n others: 'Vec<UnappliedSlashOther>',\n reporters: 'Vec<AccountId>',\n payout: 'Balance'\n },\n UnlockChunk: {\n value: 'Compact<Balance>',\n era: 'Compact<BlockNumber>'\n },\n ValidatorIndex: 'u16',\n ValidatorIndexCompact: 'Compact<ValidatorIndex>',\n ValidatorPrefs: 'ValidatorPrefsWithBlocked',\n ValidatorPrefsWithCommission: {\n commission: 'Compact<Perbill>'\n },\n ValidatorPrefsWithBlocked: {\n commission: 'Compact<Perbill>',\n blocked: 'bool'\n },\n ValidatorPrefsTo196: {\n validatorPayment: 'Compact<Balance>'\n },\n ValidatorPrefsTo145: {\n unstakeThreshold: 'Compact<u32>',\n validatorPayment: 'Compact<Balance>'\n }\n }\n};\n","export const runtime = {\n ValidateStatement: [\n {\n methods: {\n valdate_statement: {\n description: 'Validate the statement.',\n params: [\n {\n name: 'source',\n type: 'StatementStoreStatementSource'\n },\n {\n name: 'statement',\n type: 'SpStatementStoreStatement'\n }\n ],\n type: 'Result<StatementStoreValidStatement, StatementStoreInvalidStatement>'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {\n StatementStoreStatementSource: {\n _enum: ['Chain', 'Network', 'Local']\n },\n StatementStoreValidStatement: {\n maxCount: 'u32',\n maxSize: 'u32'\n },\n StatementStoreInvalidStatement: {\n _enum: ['BadProof', 'NoProof', 'InternalError']\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n WeightToFeeCoefficient: {\n coeffInteger: 'Balance',\n coeffFrac: 'Perbill',\n negative: 'bool',\n degree: 'u8'\n }\n }\n};\n","export const rpc = {\n genSyncSpec: {\n description: 'Returns the json-serialized chainspec running the node, with a sync state.',\n endpoint: 'sync_state_genSyncSpec',\n params: [\n {\n name: 'raw',\n type: 'bool'\n }\n ],\n type: 'Json'\n }\n};\n","import { rpc } from './rpc.js';\nexport default {\n rpc,\n types: {}\n};\n","export const rpc = {\n accountNextIndex: {\n alias: ['account_nextIndex'],\n description: 'Retrieves the next accountIndex as available on the node',\n params: [\n {\n name: 'accountId',\n type: 'AccountId'\n }\n ],\n type: 'Index'\n },\n addLogFilter: {\n description: 'Adds the supplied directives to the current log filter',\n isUnsafe: true,\n params: [\n {\n name: 'directives',\n type: 'Text'\n }\n ],\n type: 'Null'\n },\n addReservedPeer: {\n description: 'Adds a reserved peer',\n isUnsafe: true,\n params: [\n {\n name: 'peer',\n type: 'Text'\n }\n ],\n type: 'Text'\n },\n chain: {\n description: 'Retrieves the chain',\n params: [],\n type: 'Text'\n },\n chainType: {\n description: 'Retrieves the chain type',\n params: [],\n type: 'ChainType'\n },\n dryRun: {\n alias: ['system_dryRunAt'],\n description: 'Dry run an extrinsic at a given block',\n isUnsafe: true,\n params: [\n {\n name: 'extrinsic',\n type: 'Bytes'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'ApplyExtrinsicResult'\n },\n health: {\n description: 'Return health status of the node',\n noErrorLog: true,\n params: [],\n type: 'Health'\n },\n localListenAddresses: {\n description: 'The addresses include a trailing /p2p/ with the local PeerId, and are thus suitable to be passed to addReservedPeer or as a bootnode address for example',\n params: [],\n type: 'Vec<Text>'\n },\n localPeerId: {\n description: 'Returns the base58-encoded PeerId of the node',\n params: [],\n type: 'Text'\n },\n name: {\n description: 'Retrieves the node name',\n params: [],\n type: 'Text'\n },\n networkState: {\n alias: ['system_unstable_networkState'],\n description: 'Returns current state of the network',\n isUnsafe: true,\n params: [],\n type: 'NetworkState'\n },\n nodeRoles: {\n description: 'Returns the roles the node is running as',\n params: [],\n type: 'Vec<NodeRole>'\n },\n peers: {\n description: 'Returns the currently connected peers',\n isUnsafe: true,\n params: [],\n type: 'Vec<PeerInfo>'\n },\n properties: {\n description: 'Get a custom set of properties as a JSON object, defined in the chain spec',\n params: [],\n type: 'ChainProperties'\n },\n removeReservedPeer: {\n description: 'Remove a reserved peer',\n isUnsafe: true,\n params: [\n {\n name: 'peerId',\n type: 'Text'\n }\n ],\n type: 'Text'\n },\n reservedPeers: {\n description: 'Returns the list of reserved peers',\n params: [],\n type: 'Vec<Text>'\n },\n resetLogFilter: {\n description: 'Resets the log filter to Substrate defaults',\n isUnsafe: true,\n params: [],\n type: 'Null'\n },\n syncState: {\n description: 'Returns the state of the syncing of the node',\n params: [],\n type: 'SyncState'\n },\n version: {\n description: 'Retrieves the version of the node',\n params: [],\n type: 'Text'\n }\n};\n","export const runtime = {\n AccountNonceApi: [\n {\n methods: {\n account_nonce: {\n description: 'The API to query account nonce (aka transaction index)',\n params: [\n {\n name: 'accountId',\n type: 'AccountId'\n }\n ],\n type: 'Index'\n }\n },\n version: 1\n }\n ]\n};\n","import { rpc } from './rpc.js';\nimport { runtime } from './runtime.js';\nexport default {\n rpc,\n runtime,\n types: {\n AccountInfo: 'AccountInfoWithTripleRefCount',\n AccountInfoWithRefCountU8: {\n nonce: 'Index',\n refcount: 'u8',\n data: 'AccountData'\n },\n AccountInfoWithRefCount: {\n _fallback: 'AccountInfoWithRefCountU8',\n nonce: 'Index',\n refcount: 'RefCount',\n data: 'AccountData'\n },\n AccountInfoWithDualRefCount: {\n _fallback: 'AccountInfoWithRefCount',\n nonce: 'Index',\n consumers: 'RefCount',\n providers: 'RefCount',\n data: 'AccountData'\n },\n // original naming\n AccountInfoWithProviders: 'AccountInfoWithDualRefCount',\n AccountInfoWithTripleRefCount: {\n _fallback: 'AccountInfoWithDualRefCount',\n nonce: 'Index',\n consumers: 'RefCount',\n providers: 'RefCount',\n sufficients: 'RefCount',\n data: 'AccountData'\n },\n ApplyExtrinsicResult: 'Result<DispatchOutcome, TransactionValidityError>',\n ApplyExtrinsicResultPre6: 'Result<DispatchOutcomePre6, TransactionValidityError>',\n ArithmeticError: {\n _enum: [\n 'Underflow',\n 'Overflow',\n 'DivisionByZero'\n ]\n },\n BlockLength: {\n max: 'PerDispatchClassU32'\n },\n BlockWeights: {\n baseBlock: 'Weight',\n maxBlock: 'Weight',\n perClass: 'PerDispatchClassWeightsPerClass'\n },\n ChainProperties: 'GenericChainProperties',\n ChainType: {\n _enum: {\n Development: 'Null',\n Local: 'Null',\n Live: 'Null',\n Custom: 'Text'\n }\n },\n ConsumedWeight: 'PerDispatchClassWeight',\n DigestOf: 'Digest',\n DispatchClass: {\n _enum: ['Normal', 'Operational', 'Mandatory']\n },\n DispatchError: {\n _enum: {\n Other: 'Null',\n CannotLookup: 'Null',\n BadOrigin: 'Null',\n Module: 'DispatchErrorModule',\n ConsumerRemaining: 'Null',\n NoProviders: 'Null',\n TooManyConsumers: 'Null',\n Token: 'TokenError',\n Arithmetic: 'ArithmeticError',\n Transactional: 'TransactionalError',\n Exhausted: 'Null',\n Corruption: 'Null',\n Unavailable: 'Null'\n }\n },\n DispatchErrorPre6: {\n _enum: {\n Other: 'Null',\n CannotLookup: 'Null',\n BadOrigin: 'Null',\n Module: 'DispatchErrorModulePre6',\n ConsumerRemaining: 'Null',\n NoProviders: 'Null',\n TooManyConsumers: 'Null',\n Token: 'TokenError',\n Arithmetic: 'ArithmeticError',\n Transactional: 'TransactionalError'\n }\n },\n DispatchErrorPre6First: {\n // The enum was modified mid-flight, affecting asset chains -\n // https://github.com/paritytech/substrate/pull/10382/files#diff-e4e016b33a82268b6208dc974eea841bad47597865a749fee2f937eb6fdf67b4R498\n _enum: {\n Other: 'Null',\n CannotLookup: 'Null',\n BadOrigin: 'Null',\n Module: 'DispatchErrorModulePre6',\n ConsumerRemaining: 'Null',\n NoProviders: 'Null',\n Token: 'TokenError',\n Arithmetic: 'ArithmeticError',\n Transactional: 'TransactionalError'\n }\n },\n DispatchErrorModuleU8: {\n index: 'u8',\n error: 'u8'\n },\n DispatchErrorModuleU8a: {\n index: 'u8',\n error: '[u8; 4]'\n },\n DispatchErrorModule: 'DispatchErrorModuleU8a',\n DispatchErrorModulePre6: 'DispatchErrorModuleU8',\n DispatchErrorTo198: {\n module: 'Option<u8>',\n error: 'u8'\n },\n DispatchInfo: {\n weight: 'Weight',\n class: 'DispatchClass',\n paysFee: 'Pays'\n },\n DispatchInfoTo190: {\n weight: 'Weight',\n class: 'DispatchClass'\n },\n DispatchInfoTo244: {\n weight: 'Weight',\n class: 'DispatchClass',\n paysFee: 'bool'\n },\n DispatchOutcome: 'Result<(), DispatchError>',\n DispatchOutcomePre6: 'Result<(), DispatchErrorPre6>',\n DispatchResult: 'Result<(), DispatchError>',\n DispatchResultOf: 'DispatchResult',\n DispatchResultTo198: 'Result<(), Text>',\n Event: 'GenericEvent',\n EventId: '[u8; 2]',\n EventIndex: 'u32',\n EventRecord: {\n phase: 'Phase',\n event: 'Event',\n topics: 'Vec<Hash>'\n },\n Health: {\n peers: 'u64',\n isSyncing: 'bool',\n shouldHavePeers: 'bool'\n },\n InvalidTransaction: {\n _enum: {\n Call: 'Null',\n Payment: 'Null',\n Future: 'Null',\n Stale: 'Null',\n BadProof: 'Null',\n AncientBirthBlock: 'Null',\n ExhaustsResources: 'Null',\n Custom: 'u8',\n BadMandatory: 'Null',\n MandatoryDispatch: 'Null',\n BadSigner: 'Null'\n }\n },\n Key: 'Bytes',\n LastRuntimeUpgradeInfo: {\n specVersion: 'Compact<u32>',\n specName: 'Text'\n },\n NetworkState: {\n peerId: 'Text',\n listenedAddresses: 'Vec<Text>',\n externalAddresses: 'Vec<Text>',\n connectedPeers: 'HashMap<Text, Peer>',\n notConnectedPeers: 'HashMap<Text, NotConnectedPeer>',\n averageDownloadPerSec: 'u64',\n averageUploadPerSec: 'u64',\n peerset: 'NetworkStatePeerset'\n },\n NetworkStatePeerset: {\n messageQueue: 'u64',\n nodes: 'HashMap<Text, NetworkStatePeersetInfo>'\n },\n NetworkStatePeersetInfo: {\n connected: 'bool',\n reputation: 'i32'\n },\n NodeRole: {\n _enum: {\n Full: 'Null',\n LightClient: 'Null',\n Authority: 'Null',\n UnknownRole: 'u8'\n }\n },\n NotConnectedPeer: {\n knownAddresses: 'Vec<Text>',\n latestPingTime: 'Option<PeerPing>',\n versionString: 'Option<Text>'\n },\n Peer: {\n enabled: 'bool',\n endpoint: 'PeerEndpoint',\n knownAddresses: 'Vec<Text>',\n latestPingTime: 'PeerPing',\n open: 'bool',\n versionString: 'Text'\n },\n PeerEndpoint: {\n listening: 'PeerEndpointAddr'\n },\n PeerEndpointAddr: {\n _alias: {\n localAddr: 'local_addr',\n sendBackAddr: 'send_back_addr'\n },\n localAddr: 'Text',\n sendBackAddr: 'Text'\n },\n PeerPing: {\n nanos: 'u64',\n secs: 'u64'\n },\n PeerInfo: {\n peerId: 'Text',\n roles: 'Text',\n protocolVersion: 'u32',\n bestHash: 'Hash',\n bestNumber: 'BlockNumber'\n },\n PerDispatchClassU32: {\n normal: 'u32',\n operational: 'u32',\n mandatory: 'u32'\n },\n PerDispatchClassWeight: {\n normal: 'Weight',\n operational: 'Weight',\n mandatory: 'Weight'\n },\n PerDispatchClassWeightsPerClass: {\n normal: 'WeightPerClass',\n operational: 'WeightPerClass',\n mandatory: 'WeightPerClass'\n },\n Phase: {\n _enum: {\n ApplyExtrinsic: 'u32',\n Finalization: 'Null',\n Initialization: 'Null'\n }\n },\n RawOrigin: {\n _enum: {\n Root: 'Null',\n Signed: 'AccountId',\n None: 'Null'\n }\n },\n RefCount: 'u32',\n RefCountTo259: 'u8',\n SyncState: {\n startingBlock: 'BlockNumber',\n currentBlock: 'BlockNumber',\n highestBlock: 'Option<BlockNumber>'\n },\n SystemOrigin: 'RawOrigin',\n TokenError: {\n _enum: [\n 'NoFunds',\n 'WouldDie',\n 'BelowMinimum',\n 'CannotCreate',\n 'UnknownAsset',\n 'Frozen',\n 'Unsupported',\n // these are dropped, but still in older versions\n // (if this adjusts, will need to take a re-look)\n 'Underflow',\n 'Overflow'\n ]\n },\n TransactionValidityError: {\n _enum: {\n Invalid: 'InvalidTransaction',\n Unknown: 'UnknownTransaction'\n }\n },\n TransactionalError: {\n _enum: [\n 'LimitReached',\n 'NoLayer'\n ]\n },\n UnknownTransaction: {\n _enum: {\n CannotLookup: 'Null',\n NoUnsignedValidator: 'Null',\n Custom: 'u8'\n }\n },\n WeightPerClass: {\n baseExtrinsic: 'Weight',\n maxExtrinsic: 'Option<Weight>',\n maxTotal: 'Option<Weight>',\n reserved: 'Option<Weight>'\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n Bounty: {\n proposer: 'AccountId',\n value: 'Balance',\n fee: 'Balance',\n curatorDeposit: 'Balance',\n bond: 'Balance',\n status: 'BountyStatus'\n },\n BountyIndex: 'u32',\n BountyStatus: {\n _enum: {\n Proposed: 'Null',\n Approved: 'Null',\n Funded: 'Null',\n CuratorProposed: 'BountyStatusCuratorProposed',\n Active: 'BountyStatusActive',\n PendingPayout: 'BountyStatusPendingPayout'\n }\n },\n BountyStatusActive: {\n curator: 'AccountId',\n updateDue: 'BlockNumber'\n },\n BountyStatusCuratorProposed: {\n curator: 'AccountId'\n },\n BountyStatusPendingPayout: {\n curator: 'AccountId',\n beneficiary: 'AccountId',\n unlockAt: 'BlockNumber'\n },\n OpenTip: {\n reason: 'Hash',\n who: 'AccountId',\n finder: 'AccountId',\n deposit: 'Balance',\n closes: 'Option<BlockNumber>',\n tips: 'Vec<OpenTipTip>',\n findersFee: 'bool'\n },\n OpenTipTo225: {\n reason: 'Hash',\n who: 'AccountId',\n finder: 'Option<OpenTipFinderTo225>',\n closes: 'Option<BlockNumber>',\n tips: 'Vec<OpenTipTip>'\n },\n OpenTipFinderTo225: '(AccountId, Balance)',\n OpenTipTip: '(AccountId, Balance)',\n TreasuryProposal: {\n proposer: 'AccountId',\n value: 'Balance',\n beneficiary: 'AccountId',\n bond: 'Balance'\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n Multiplier: 'Fixed128'\n }\n};\n","export const runtime = {\n TaggedTransactionQueue: [\n {\n methods: {\n validate_transaction: {\n description: 'Validate the transaction.',\n params: [\n {\n name: 'source',\n type: 'TransactionSource'\n },\n {\n name: 'tx',\n type: 'Extrinsic'\n },\n {\n name: 'blockHash',\n type: 'BlockHash'\n }\n ],\n type: 'TransactionValidity'\n }\n },\n version: 3\n },\n {\n methods: {\n validate_transaction: {\n description: 'Validate the transaction.',\n params: [\n {\n name: 'source',\n type: 'TransactionSource'\n },\n {\n name: 'tx',\n type: 'Extrinsic'\n }\n ],\n type: 'TransactionValidity'\n }\n },\n version: 2\n },\n {\n methods: {\n validate_transaction: {\n description: 'Validate the transaction.',\n params: [\n {\n name: 'tx',\n type: 'Extrinsic'\n }\n ],\n type: 'TransactionValidity'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {\n TransactionSource: {\n _enum: ['InBlock', 'Local', 'External']\n },\n TransactionValidity: 'Result<ValidTransaction, TransactionValidityError>',\n ValidTransaction: {\n priority: 'TransactionPriority',\n requires: 'Vec<TransactionTag>',\n provides: 'Vec<TransactionTag>',\n longevity: 'TransactionLongevity',\n propagate: 'bool'\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n ClassId: 'u32',\n InstanceId: 'u32',\n DepositBalance: 'Balance',\n DepositBalanceOf: 'Balance',\n ClassDetails: {\n owner: 'AccountId',\n issuer: 'AccountId',\n admin: 'AccountId',\n freezer: 'AccountId',\n totalDeposit: 'DepositBalance',\n freeHolding: 'bool',\n instances: 'u32',\n instanceMetadatas: 'u32',\n attributes: 'u32',\n isFrozen: 'bool'\n },\n DestroyWitness: {\n instances: 'Compact<u32>',\n instanceMetadatas: 'Compact<u32>',\n attributes: 'Compact<u32>'\n },\n InstanceDetails: {\n owner: 'AccountId',\n approved: 'Option<AccountId>',\n isFrozen: 'bool',\n deposit: 'DepositBalance'\n },\n ClassMetadata: {\n deposit: 'DepositBalance',\n data: 'Vec<u8>',\n isFrozen: 'bool'\n },\n InstanceMetadata: {\n deposit: 'DepositBalance',\n data: 'Vec<u8>',\n isFrozen: 'bool'\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n Multisig: {\n when: 'Timepoint',\n deposit: 'Balance',\n depositor: 'AccountId',\n approvals: 'Vec<AccountId>'\n },\n Timepoint: {\n height: 'BlockNumber',\n index: 'u32'\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n VestingInfo: {\n locked: 'Balance',\n perBlock: 'Balance',\n startingBlock: 'BlockNumber'\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n BlockAttestations: {\n receipt: 'CandidateReceipt',\n valid: 'Vec<AccountId>',\n invalid: 'Vec<AccountId>'\n },\n IncludedBlocks: {\n actualNumber: 'BlockNumber',\n session: 'SessionIndex',\n randomSeed: 'H256',\n activeParachains: 'Vec<ParaId>',\n paraBlocks: 'Vec<Hash>'\n },\n MoreAttestations: {}\n }\n};\n","export default {\n rpc: {},\n types: {\n BridgedBlockHash: 'H256',\n BridgedBlockNumber: 'BlockNumber',\n BridgedHeader: 'Header',\n BridgeMessageId: '(LaneId, MessageNonce)',\n CallOrigin: {\n _enum: {\n SourceRoot: 'Null',\n TargetAccount: '(AccountId, MultiSigner, MultiSignature)',\n SourceAccount: 'AccountId'\n }\n },\n ChainId: '[u8; 4]',\n DeliveredMessages: {\n begin: 'MessageNonce',\n end: 'MessageNonce',\n // pub type DispatchResultsBitVec = BitVec<Msb0, u8>;\n dispatchResults: 'BitVec'\n },\n DispatchFeePayment: {\n _enum: ['AtSourceChain', 'AtTargetChain']\n },\n InboundLaneData: {\n relayers: 'Vec<UnrewardedRelayer>',\n lastConfirmedNonce: 'MessageNonce'\n },\n InboundRelayer: 'AccountId',\n InitializationData: {\n header: 'Header',\n authorityList: 'AuthorityList',\n setId: 'SetId',\n isHalted: 'bool'\n },\n LaneId: '[u8; 4]',\n MessageData: {\n payload: 'Bytes',\n fee: 'Balance'\n },\n MessagesDeliveryProofOf: {\n bridgedHeaderHash: 'BlockHash',\n storageProof: 'Vec<Bytes>',\n lane: 'LaneId'\n },\n MessageKey: {\n laneId: 'LaneId',\n nonce: 'MessageNonce'\n },\n MessageNonce: 'u64',\n MessagesProofOf: {\n bridgedHeaderHash: 'BridgedBlockHash',\n storageProof: 'Vec<Bytes>',\n lane: 'LaneId',\n noncesStart: 'MessageNonce',\n noncesEnd: 'MessageNonce'\n },\n OperatingMode: {\n _enum: ['Normal', 'RejectingOutboundMessages', 'Halted']\n },\n OutboundLaneData: {\n oldestUnprunedNonce: 'MessageNonce',\n latestReceivedNonce: 'MessageNonce',\n latestGeneratedNonce: 'MessageNonce'\n },\n OutboundMessageFee: 'Balance',\n OutboundPayload: {\n specVersion: 'u32',\n weight: 'Weight',\n origin: 'CallOrigin',\n dispatchFeePayment: 'DispatchFeePayment',\n call: 'Bytes'\n },\n Parameter: 'Null',\n RelayerId: 'AccountId',\n UnrewardedRelayer: {\n relayer: 'RelayerId',\n messages: 'DeliveredMessages'\n },\n UnrewardedRelayersState: {\n unrewardedRelayer_Entries: 'MessageNonce',\n messagesInOldestEntry: 'MessageNonce',\n totalMessages: 'MessageNonce'\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n StatementKind: {\n _enum: ['Regular', 'Saft']\n }\n }\n};\n","export default {\n rpc: {},\n types: {\n FundIndex: 'u32',\n LastContribution: {\n _enum: {\n Never: 'Null',\n PreEnding: 'u32',\n Ending: 'BlockNumber'\n }\n },\n FundInfo: {\n depositor: 'AccountId',\n verifier: 'Option<MultiSigner>',\n deposit: 'Balance',\n raised: 'Balance',\n end: 'BlockNumber',\n cap: 'Balance',\n lastContribution: 'LastContribution',\n firstPeriod: 'LeasePeriod',\n lastPeriod: 'LeasePeriod',\n trieIndex: 'TrieIndex'\n },\n TrieIndex: 'u32'\n }\n};\n","export const runtime = {\n AuraUnincludedSegmentApi: [\n {\n methods: {\n can_build_upon: {\n description: 'Whether it is legal to extend the chain',\n params: [\n {\n name: 'includedHash',\n type: 'BlockHash'\n },\n {\n name: 'slot',\n type: 'Slot'\n }\n ],\n type: 'bool'\n }\n },\n version: 1\n }\n ],\n CollectCollationInfo: [\n {\n methods: {\n collect_collation_info: {\n description: 'Collect information about a collation.',\n params: [\n {\n name: 'header',\n type: 'Header'\n }\n ],\n type: 'CollationInfo'\n }\n },\n version: 2\n },\n {\n methods: {\n collect_collation_info: {\n description: 'Collect information about a collation.',\n params: [],\n type: 'CollationInfoV1'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nconst dmpQueue = {\n CollationInfo: {\n upwardMessages: 'Vec<UpwardMessage>',\n horizontalMessages: 'Vec<OutboundHrmpMessage>',\n newValidationCode: 'Option<ValidationCode>',\n processedDownwardMessages: 'u32',\n hrmpWatermark: 'RelayBlockNumber',\n headData: 'HeadData'\n },\n CollationInfoV1: {\n upwardMessages: 'Vec<UpwardMessage>',\n horizontalMessages: 'Vec<OutboundHrmpMessage>',\n newValidationCode: 'Option<ValidationCode>',\n processedDownwardMessages: 'u32',\n hrmpWatermark: 'RelayBlockNumber'\n },\n ConfigData: {\n maxIndividual: 'Weight'\n },\n MessageId: '[u8; 32]',\n OverweightIndex: 'u64',\n PageCounter: 'u32',\n PageIndexData: {\n beginUsed: 'PageCounter',\n endUsed: 'PageCounter',\n overweightCount: 'OverweightIndex'\n }\n};\nexport default {\n rpc: {},\n runtime,\n types: dmpQueue\n};\n","const finalityV1 = {\n methods: {\n best_finalized: {\n description: 'Returns number and hash of the best finalized header known to the bridge module.',\n params: [],\n type: '(BlockNumber, Hash)'\n }\n },\n version: 1\n};\nexport const runtime = {\n KusamaFinalityApi: [finalityV1],\n PolkadotFinalityApi: [finalityV1],\n RococoFinalityApi: [finalityV1],\n WestendFinalityApi: [finalityV1]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {}\n};\n","/* eslint-disable sort-keys */\nexport default {\n HrmpChannel: {\n maxCapacity: 'u32',\n maxTotalSize: 'u32',\n maxMessageSize: 'u32',\n msgCount: 'u32',\n totalSize: 'u32',\n mqcHead: 'Option<Hash>',\n senderDeposit: 'Balance',\n recipientDeposit: 'Balance'\n },\n HrmpChannelId: {\n sender: 'u32',\n receiver: 'u32'\n },\n HrmpOpenChannelRequest: {\n confirmed: 'bool',\n age: 'SessionIndex',\n senderDeposit: 'Balance',\n maxMessageSize: 'u32',\n maxCapacity: 'u32',\n maxTotalSize: 'u32'\n }\n};\n","const PH_V1_TO_V2 = {\n assumed_validation_data: {\n description: 'Returns the persisted validation data for the given `ParaId` along with the corresponding validation code hash.',\n params: [\n {\n name: 'paraId',\n type: 'ParaId'\n },\n {\n name: 'hash',\n type: 'Hash'\n }\n ],\n type: 'Option<(PersistedValidationData, ValidationCodeHash)>'\n },\n availability_cores: {\n description: 'Yields information on all availability cores as relevant to the child block.',\n params: [],\n type: 'Vec<CoreState>'\n },\n candidate_events: {\n description: 'Get a vector of events concerning candidates that occurred within a block.',\n params: [],\n type: 'Vec<CandidateEvent>'\n },\n candidate_pending_availability: {\n description: 'Get the receipt of a candidate pending availability.',\n params: [\n {\n name: 'paraId',\n type: 'ParaId'\n }\n ],\n type: 'Option<CommittedCandidateReceipt>'\n },\n check_validation_outputs: {\n description: 'Checks if the given validation outputs pass the acceptance criteria.',\n params: [\n {\n name: 'paraId',\n type: 'ParaId'\n },\n {\n name: 'outputs',\n type: 'CandidateCommitments'\n }\n ],\n type: 'bool'\n },\n dmq_contents: {\n description: 'Get all the pending inbound messages in the downward message queue for a para.',\n params: [\n {\n name: 'paraId',\n type: 'ParaId'\n }\n ],\n type: 'Vec<InboundDownwardMessage>'\n },\n inbound_hrmp_channels_contents: {\n description: 'Get the contents of all channels addressed to the given recipient.',\n params: [\n {\n name: 'paraId',\n type: 'ParaId'\n }\n ],\n type: 'Vec<InboundHrmpMessage>'\n },\n on_chain_votes: {\n description: 'Scrape dispute relevant from on-chain, backing votes and resolved disputes.',\n params: [],\n type: 'Option<ScrapedOnChainVotes>'\n },\n persisted_validation_data: {\n description: 'Yields the persisted validation data for the given `ParaId` along with an assumption that should be used if the para currently occupies a core.',\n params: [\n {\n name: 'paraId',\n type: 'ParaId'\n },\n {\n name: 'assumption',\n type: 'OccupiedCoreAssumption'\n }\n ],\n type: 'Option<PersistedValidationData>'\n },\n session_index_for_child: {\n description: 'Returns the session index expected at a child of the block.',\n params: [],\n type: 'SessionIndex'\n },\n validation_code: {\n description: 'Fetch the validation code used by a para, making the given `OccupiedCoreAssumption`.',\n params: [\n {\n name: 'paraId',\n type: 'ParaId'\n },\n {\n name: 'assumption',\n type: 'OccupiedCoreAssumption'\n }\n ],\n type: 'Option<ValidationCode>'\n },\n validation_code_by_hash: {\n description: 'Get the validation code from its hash.',\n params: [\n {\n name: 'hash',\n type: 'ValidationCodeHash'\n }\n ],\n type: 'Option<ValidationCode>'\n },\n validator_groups: {\n description: 'Returns the validator groups and rotation info localized based on the hypothetical child of a block whose state this is invoked on',\n params: [],\n type: '(Vec<Vec<ParaValidatorIndex>>, GroupRotationInfo)'\n },\n validators: {\n description: 'Get the current validators.',\n params: [],\n type: 'Vec<ValidatorId>'\n }\n};\nconst PH_V2_TO_V3 = {\n pvfs_require_precheck: {\n description: 'Returns code hashes of PVFs that require pre-checking by validators in the active set.',\n params: [],\n type: 'Vec<ValidationCodeHash>'\n },\n session_info: {\n description: 'Get the session info for the given session, if stored.',\n params: [\n {\n name: 'index',\n type: 'SessionIndex'\n }\n ],\n type: 'Option<SessionInfo>'\n },\n submit_pvf_check_statement: {\n description: 'Submits a PVF pre-checking statement into the transaction pool.',\n params: [\n {\n name: 'stmt',\n type: 'PvfCheckStatement'\n },\n {\n name: 'signature',\n type: 'ValidatorSignature'\n }\n ],\n type: 'Null'\n },\n validation_code_hash: {\n description: 'Fetch the hash of the validation code used by a para, making the given `OccupiedCoreAssumption`.',\n params: [\n {\n name: 'paraId',\n type: 'ParaId'\n },\n {\n name: 'assumption',\n type: 'OccupiedCoreAssumption'\n }\n ],\n type: 'Option<ValidationCodeHash>'\n }\n};\nconst PH_V3 = {\n disputes: {\n description: 'Returns all onchain disputes.',\n params: [],\n type: 'Vec<(SessionIndex, CandidateHash, DisputeState)>'\n }\n};\nconst PH_V4 = {\n session_executor_params: {\n description: 'Returns execution parameters for the session.',\n params: [\n {\n name: 'sessionIndex',\n type: 'SessionIndex'\n }\n ],\n type: 'Option<ExecutorParams>'\n }\n};\nconst PH_V5 = {\n key_ownership_proof: {\n description: 'Returns a merkle proof of a validator session key',\n params: [\n {\n name: 'validatorId',\n type: 'ValidatorId'\n }\n ],\n type: 'Option<OpaqueKeyOwnershipProof>'\n },\n submit_report_dispute_lost: {\n description: 'Submit an unsigned extrinsic to slash validators who lost a dispute about a candidate of a past session',\n params: [\n {\n name: 'disputeProof',\n type: 'DisputeProof'\n },\n {\n name: 'keyOwnershipProof',\n type: 'OpaqueKeyOwnershipProof'\n }\n ],\n type: 'Option<Null>'\n },\n unapplied_slashes: {\n description: 'Returns a list of validators that lost a past session dispute and need to be slashed',\n params: [],\n type: 'Vec<(SessionIndex, CandidateHash, PendingSlashes)>'\n }\n};\nconst PH_V6 = {\n minimum_backing_votes: {\n description: 'Get the minimum number of backing votes for a parachain candidate. This is a staging method! Do not use on production runtimes!',\n params: [],\n type: 'u32'\n }\n};\nconst PH_V7 = {\n async_backing_params: {\n description: 'Returns candidate\\'s acceptance limitations for asynchronous backing for a relay parent',\n params: [],\n type: 'AsyncBackingParams'\n },\n para_backing_state: {\n description: 'Returns the state of parachain backing for a given para',\n params: [\n {\n name: 'paraId',\n type: 'ParaId'\n }\n ],\n type: 'Option<BackingState>'\n }\n};\nconst PH_V8 = {\n disabled_validators: {\n description: 'Returns a list of all disabled validators at the given block',\n params: [],\n type: 'ValidatorIndex'\n }\n};\nconst PH_V9 = {\n node_features: {\n description: 'Get node features. This is a staging method! Do not use on production runtimes!',\n params: [],\n type: 'NodeFeatures'\n }\n};\nconst PH_V10 = {\n approval_voting_params: {\n description: 'Approval voting configuration parameters',\n params: [],\n type: 'ApprovalVotingParams'\n }\n};\nconst PH_V11 = {\n claim_queue: {\n description: 'Claim queue',\n params: [],\n type: 'BTreeMap<CoreIndex, Vec<u32>>'\n }\n};\nexport const runtime = {\n ParachainHost: [\n {\n methods: {\n ...PH_V1_TO_V2,\n ...PH_V2_TO_V3,\n ...PH_V3,\n ...PH_V4,\n ...PH_V5,\n ...PH_V6,\n ...PH_V7,\n ...PH_V8,\n ...PH_V9,\n ...PH_V10,\n ...PH_V11\n },\n version: 11\n },\n {\n methods: {\n ...PH_V1_TO_V2,\n ...PH_V2_TO_V3,\n ...PH_V3,\n ...PH_V4,\n ...PH_V5,\n ...PH_V6,\n ...PH_V7,\n ...PH_V8,\n ...PH_V9,\n ...PH_V10\n },\n version: 10\n },\n {\n methods: {\n ...PH_V1_TO_V2,\n ...PH_V2_TO_V3,\n ...PH_V3,\n ...PH_V4,\n ...PH_V5,\n ...PH_V6,\n ...PH_V7,\n ...PH_V8,\n ...PH_V9\n },\n version: 9\n },\n {\n methods: {\n ...PH_V1_TO_V2,\n ...PH_V2_TO_V3,\n ...PH_V3,\n ...PH_V4,\n ...PH_V5,\n ...PH_V6,\n ...PH_V7,\n ...PH_V8\n },\n version: 8\n },\n {\n methods: {\n ...PH_V1_TO_V2,\n ...PH_V2_TO_V3,\n ...PH_V3,\n ...PH_V4,\n ...PH_V5,\n ...PH_V6,\n ...PH_V7\n },\n version: 7\n },\n {\n methods: {\n ...PH_V1_TO_V2,\n ...PH_V2_TO_V3,\n ...PH_V3,\n ...PH_V4,\n ...PH_V5,\n ...PH_V6\n },\n version: 6\n },\n {\n methods: {\n ...PH_V1_TO_V2,\n ...PH_V2_TO_V3,\n ...PH_V3,\n ...PH_V4,\n ...PH_V5\n },\n version: 5\n },\n {\n methods: {\n ...PH_V1_TO_V2,\n ...PH_V2_TO_V3,\n ...PH_V3,\n ...PH_V4\n },\n version: 4\n },\n {\n methods: {\n ...PH_V1_TO_V2,\n ...PH_V2_TO_V3,\n ...PH_V3\n },\n version: 3\n },\n {\n methods: {\n ...PH_V1_TO_V2,\n ...PH_V2_TO_V3\n },\n version: 2\n },\n {\n methods: {\n session_info: {\n description: 'Get the session info for the given session, if stored.',\n params: [\n {\n name: 'index',\n type: 'SessionIndex'\n }\n ],\n type: 'Option<OldV1SessionInfo>'\n },\n ...PH_V1_TO_V2\n },\n version: 1\n }\n ]\n};\n","/* eslint-disable sort-keys */\nconst SlotRange10 = {\n _enum: ['ZeroZero', 'ZeroOne', 'ZeroTwo', 'ZeroThree', 'OneOne', 'OneTwo', 'OneThree', 'TwoTwo', 'TwoThree', 'ThreeThree']\n};\nconst SlotRange = {\n _enum: ['ZeroZero', 'ZeroOne', 'ZeroTwo', 'ZeroThree', 'ZeroFour', 'ZeroFive', 'ZeroSix', 'ZeroSeven', 'OneOne', 'OneTwo', 'OneThree', 'OneFour', 'OneFive', 'OneSix', 'OneSeven', 'TwoTwo', 'TwoThree', 'TwoFour', 'TwoFive', 'TwoSix', 'TwoSeven', 'ThreeThree', 'ThreeFour', 'ThreeFive', 'ThreeSix', 'ThreeSeven', 'FourFour', 'FourFive', 'FourSix', 'FourSeven', 'FiveFive', 'FiveSix', 'FiveSeven', 'SixSix', 'SixSeven', 'SevenSeven']\n};\nconst oldTypes = {\n Bidder: {\n _enum: {\n New: 'NewBidder',\n Existing: 'ParaId'\n }\n },\n IncomingParachain: {\n _enum: {\n Unset: 'NewBidder',\n Fixed: 'IncomingParachainFixed',\n Deploy: 'IncomingParachainDeploy'\n }\n },\n IncomingParachainDeploy: {\n code: 'ValidationCode',\n initialHeadData: 'HeadData'\n },\n IncomingParachainFixed: {\n codeHash: 'Hash',\n codeSize: 'u32',\n initialHeadData: 'HeadData'\n },\n NewBidder: {\n who: 'AccountId',\n sub: 'SubId'\n },\n SubId: 'u32'\n};\nexport default {\n ...oldTypes,\n AuctionIndex: 'u32',\n LeasePeriod: 'BlockNumber',\n LeasePeriodOf: 'BlockNumber',\n SlotRange10,\n SlotRange,\n WinningData10: `[WinningDataEntry; ${SlotRange10._enum.length}]`,\n WinningData: `[WinningDataEntry; ${SlotRange._enum.length}]`,\n WinningDataEntry: 'Option<(AccountId, ParaId, BalanceOf)>',\n WinnersData10: 'Vec<WinnersDataTuple10>',\n WinnersData: 'Vec<WinnersDataTuple>',\n WinnersDataTuple10: '(AccountId, ParaId, BalanceOf, SlotRange10)',\n WinnersDataTuple: '(AccountId, ParaId, BalanceOf, SlotRange)'\n};\n","import hrmpTypes from './hrmp.js';\nimport { runtime } from './runtime.js';\nimport slotTypes from './slots.js';\nconst proposeTypes = {\n ParachainProposal: {\n proposer: 'AccountId',\n genesisHead: 'HeadData',\n validators: 'Vec<ValidatorId>',\n name: 'Bytes',\n balance: 'Balance'\n },\n RegisteredParachainInfo: {\n validators: 'Vec<ValidatorId>',\n proposer: 'AccountId'\n }\n};\nconst cumulusTypes = {\n ServiceQuality: {\n _enum: ['Ordered', 'Fast']\n }\n};\nconst disputeTypes = {\n DisputeLocation: {\n _enum: ['Local', 'Remote']\n },\n DisputeResult: {\n _enum: ['Valid', 'Invalid']\n },\n DisputeState: {\n validatorsFor: 'BitVec',\n validatorsAgainst: 'BitVec',\n start: 'BlockNumber',\n concludedAt: 'Option<BlockNumber>'\n },\n DisputeStatement: {\n _enum: {\n Valid: 'ValidDisputeStatementKind',\n Invalid: 'InvalidDisputeStatementKind'\n }\n },\n DisputeStatementSet: {\n candidateHash: 'CandidateHash',\n session: 'SessionIndex',\n statements: 'Vec<(DisputeStatement, ParaValidatorIndex, ValidatorSignature)>'\n },\n ExecutorParam: {\n _enum: {\n Phantom: 'Null', // index starts at 1... empty slot at 0\n MaxMemoryPages: 'u32',\n StackLogicalMax: 'u32',\n StackNativeMax: 'u32',\n PrecheckingMaxMemory: 'u64',\n PvfPrepTimeout: '(PvfPrepTimeoutKind, u64)',\n PvfExecTimeout: '(PvfExecTimeoutKind, u64)'\n }\n },\n ExecutorParamsHash: 'Hash',\n ExecutorParams: 'Vec<ExecutorParam>',\n ExplicitDisputeStatement: {\n valid: 'bool',\n candidateHash: 'CandidateHash',\n session: 'SessionIndex'\n },\n InvalidDisputeStatementKind: {\n _enum: ['Explicit']\n },\n MultiDisputeStatementSet: 'Vec<DisputeStatementSet>',\n PvfExecTimeoutKind: {\n _enum: ['Backing', 'Approval']\n },\n PvfPrepTimeoutKind: {\n _enum: ['Precheck', 'Lenient']\n },\n ValidDisputeStatementKind: {\n _enum: {\n Explicit: 'Null',\n BackingSeconded: 'Hash',\n BackingValid: 'Hash',\n ApprovalChecking: 'Null'\n }\n }\n};\nexport default {\n rpc: {},\n runtime,\n types: {\n ...cumulusTypes,\n ...disputeTypes,\n ...hrmpTypes,\n ...proposeTypes,\n ...slotTypes,\n AbridgedCandidateReceipt: {\n parachainIndex: 'ParaId',\n relayParent: 'Hash',\n headData: 'HeadData',\n collator: 'CollatorId',\n signature: 'CollatorSignature',\n povBlockHash: 'Hash',\n commitments: 'CandidateCommitments'\n },\n AbridgedHostConfiguration: {\n maxCodeSize: 'u32',\n maxHeadDataSize: 'u32',\n maxUpwardQueueCount: 'u32',\n maxUpwardQueueSize: 'u32',\n maxUpwardMessageSize: 'u32',\n maxUpwardMessageNumPerCandidate: 'u32',\n hrmpMaxMessageNumPerCandidate: 'u32',\n validationUpgradeFrequency: 'BlockNumber',\n validationUpgradeDelay: 'BlockNumber'\n },\n AbridgedHrmpChannel: {\n maxCapacity: 'u32',\n maxTotalSize: 'u32',\n maxMessageSize: 'u32',\n msgCount: 'u32',\n totalSize: 'u32',\n mqcHead: 'Option<Hash>'\n },\n ApprovalVotingParams: {\n maxApprovalCoalesceCount: 'u32'\n },\n AssignmentId: 'AccountId',\n AssignmentKind: {\n _enum: {\n Parachain: 'Null',\n Parathread: '(CollatorId, u32)'\n }\n },\n AsyncBackingParams: {\n maxCandidateDepth: 'u32',\n allowedAncestryLen: 'u32'\n },\n AttestedCandidate: {\n candidate: 'AbridgedCandidateReceipt',\n validityVotes: 'Vec<ValidityAttestation>',\n validatorIndices: 'BitVec'\n },\n AuthorityDiscoveryId: 'AccountId',\n AvailabilityBitfield: 'BitVec',\n AvailabilityBitfieldRecord: {\n bitfield: 'AvailabilityBitfield',\n submittedTt: 'BlockNumber'\n },\n BackedCandidate: {\n candidate: 'CommittedCandidateReceipt',\n validityVotes: 'Vec<ValidityAttestation>',\n validatorIndices: 'BitVec'\n },\n BackingState: {\n constraints: 'Constraints',\n pendingAvailability: 'Vec<CandidatePendingAvailability>'\n },\n BufferedSessionChange: {\n applyAt: 'BlockNumber',\n validators: 'Vec<ValidatorId>',\n queued: 'Vec<ValidatorId>',\n sessionIndex: 'SessionIndex'\n },\n CandidateCommitments: {\n upwardMessages: 'Vec<UpwardMessage>',\n horizontalMessages: 'Vec<OutboundHrmpMessage>',\n newValidationCode: 'Option<ValidationCode>',\n headData: 'HeadData',\n processedDownwardMessages: 'u32',\n hrmpWatermark: 'BlockNumber'\n },\n CandidateDescriptor: {\n paraId: 'ParaId',\n relayParent: 'RelayChainHash',\n collatorId: 'CollatorId',\n persistedValidationDataHash: 'Hash',\n povHash: 'Hash',\n erasureRoot: 'Hash',\n signature: 'CollatorSignature',\n paraHead: 'Hash',\n validationCodeHash: 'ValidationCodeHash'\n },\n CandidateEvent: {\n _enum: {\n CandidateBacked: '(CandidateReceipt, HeadData, CoreIndex, GroupIndex)',\n CandidateIncluded: '(CandidateReceipt, HeadData, CoreIndex, GroupIndex)',\n CandidateTimedOut: '(CandidateReceipt, HeadData, CoreIndex)'\n }\n },\n CandidateHash: 'Hash',\n CandidateInfo: {\n who: 'AccountId',\n deposit: 'Balance'\n },\n CandidatePendingAvailability: {\n core: 'CoreIndex',\n hash: 'CandidateHash',\n descriptor: 'CandidateDescriptor',\n availabilityVotes: 'BitVec',\n backers: 'BitVec',\n relayParentNumber: 'BlockNumber',\n backedInNumber: 'BlockNumber',\n backingGroup: 'GroupIndex'\n },\n CandidateReceipt: {\n descriptor: 'CandidateDescriptor',\n commitmentsHash: 'Hash'\n },\n GlobalValidationData: {\n maxCodeSize: 'u32',\n maxHeadDataSize: 'u32',\n blockNumber: 'BlockNumber'\n },\n CollatorId: 'H256',\n CollatorSignature: 'Signature',\n CommittedCandidateReceipt: {\n descriptor: 'CandidateDescriptor',\n commitments: 'CandidateCommitments'\n },\n Constraints: {\n minRelayParentNumber: 'BlockNumber',\n maxPovSize: 'u32',\n maxCodeSize: 'u32',\n umpRemaining: 'u32',\n umpRemainingBytes: 'u32',\n maxUmpNumPerCandidate: 'u32',\n dmpRemainingMessages: 'Vec<BlockNumber>',\n hrmpInbound: 'InboundHrmpLimitations',\n hrmpChannelsOut: 'HashMap<ParaId, OutboundHrmpChannelLimitations>',\n maxHrmpNumPerCandidate: 'u32',\n requiredParent: 'HeadData',\n validationCodeHash: 'ValidationCodeHash',\n upgradeRestriction: 'Option<UpgradeRestriction>',\n futureValidationCode: 'Option<(BlockNumber, ValidationCodeHash)>'\n },\n CoreAssignment: {\n core: 'CoreIndex',\n paraId: 'ParaId',\n kind: 'AssignmentKind',\n groupIdx: 'GroupIndex'\n },\n CoreIndex: 'u32',\n CoreOccupied: {\n _enum: {\n Parathread: 'ParathreadEntry',\n Parachain: 'Null'\n }\n },\n CoreState: {\n _enum: {\n Occupied: 'OccupiedCore',\n Scheduled: 'ScheduledCore',\n Free: 'Null'\n }\n },\n DisputeProof: {\n timeSlot: 'DisputesTimeSlot',\n kind: 'SlashingOffenceKind',\n validatorIndex: 'ValidatorIndex',\n validatorId: 'ValidatorId'\n },\n DisputesTimeSlot: {\n sessionIndex: 'SessionIndex',\n candidateHash: 'CandidateHash'\n },\n DoubleVoteReport: {\n identity: 'ValidatorId',\n first: '(Statement, ValidatorSignature)',\n second: '(Statement, ValidatorSignature)',\n proof: 'MembershipProof',\n signingContext: 'SigningContext'\n },\n DownwardMessage: 'Bytes',\n GroupIndex: 'u32',\n GroupRotationInfo: {\n sessionStartBlock: 'BlockNumber',\n groupRotationFrequency: 'BlockNumber',\n now: 'BlockNumber'\n },\n GlobalValidationSchedule: {\n maxCodeSize: 'u32',\n maxHeadDataSize: 'u32',\n blockNumber: 'BlockNumber'\n },\n HeadData: 'Bytes',\n HostConfiguration: {\n maxCodeSize: 'u32',\n maxHeadDataSize: 'u32',\n maxUpwardQueueCount: 'u32',\n maxUpwardQueueSize: 'u32',\n maxUpwardMessageSize: 'u32',\n maxUpwardMessageNumPerCandidate: 'u32',\n hrmpMaxMessageNumPerCandidate: 'u32',\n validationUpgradeFrequency: 'BlockNumber',\n validationUpgradeDelay: 'BlockNumber',\n maxPovSize: 'u32',\n maxDownwardMessageSize: 'u32',\n preferredDispatchableUpwardMessagesStepWeight: 'Weight',\n hrmpMaxParachainOutboundChannels: 'u32',\n hrmpMaxParathreadOutboundChannels: 'u32',\n hrmpOpenRequestTtl: 'u32',\n hrmpSenderDeposit: 'Balance',\n hrmpRecipientDeposit: 'Balance',\n hrmpChannelMaxCapacity: 'u32',\n hrmpChannelMaxTotalSize: 'u32',\n hrmpMaxParachainInboundChannels: 'u32',\n hrmpMaxParathreadInboundChannels: 'u32',\n hrmpChannelMaxMessageSize: 'u32',\n codeRetentionPeriod: 'BlockNumber',\n parathreadCores: 'u32',\n parathreadRetries: 'u32',\n groupRotationFrequency: 'BlockNumber',\n chainAvailabilityPeriod: 'BlockNumber',\n threadAvailabilityPeriod: 'BlockNumber',\n schedulingLookahead: 'u32',\n maxValidatorsPerCore: 'Option<u32>',\n maxValidators: 'Option<u32>',\n disputePeriod: 'SessionIndex',\n disputePostConclusionAcceptancePeriod: 'BlockNumber',\n disputeMaxSpamSlots: 'u32',\n disputeConclusionByTimeOutPeriod: 'BlockNumber',\n noShowSlots: 'u32',\n nDelayTranches: 'u32',\n zerothDelayTrancheWidth: 'u32',\n neededApprovals: 'u32',\n relayVrfModuloSamples: 'u32'\n },\n InboundDownwardMessage: {\n pubSentAt: 'BlockNumber',\n pubMsg: 'DownwardMessage'\n },\n InboundHrmpMessage: {\n sentAt: 'BlockNumber',\n data: 'Bytes'\n },\n InboundHrmpLimitations: {\n validWatermarks: 'Vec<BlockNumber>'\n },\n InboundHrmpMessages: 'Vec<InboundHrmpMessage>',\n LocalValidationData: {\n parentHead: 'HeadData',\n balance: 'Balance',\n codeUpgradeAllowed: 'Option<BlockNumber>'\n },\n MessageIngestionType: {\n downwardMessages: 'Vec<InboundDownwardMessage>',\n horizontalMessages: 'BTreeMap<ParaId, InboundHrmpMessages>'\n },\n MessageQueueChain: 'RelayChainHash',\n NodeFeatures: 'BitVec',\n OccupiedCore: {\n nextUpOnAvailable: 'Option<ScheduledCore>',\n occupiedSince: 'BlockNumber',\n timeOutAt: 'BlockNumber',\n nextUpOnTimeOut: 'Option<ScheduledCore>',\n availability: 'BitVec',\n groupResponsible: 'GroupIndex',\n candidateHash: 'CandidateHash',\n candidateDescriptor: 'CandidateDescriptor'\n },\n OccupiedCoreAssumption: {\n _enum: ['Included,', 'TimedOut', 'Free']\n },\n OutboundHrmpChannelLimitations: {\n bytesRemaining: 'u32',\n messagesRemaining: 'u32'\n },\n OutboundHrmpMessage: {\n recipient: 'u32',\n data: 'Bytes'\n },\n PendingSlashes: {\n _alias: {\n slashKeys: 'keys'\n },\n slashKeys: 'BTreeMap<ValidatorIndex, ValidatorId>',\n kind: 'SlashingOffenceKind'\n },\n ParachainDispatchOrigin: {\n _enum: ['Signed', 'Parachain', 'Root']\n },\n ParachainInherentData: {\n validationData: 'PersistedValidationData',\n relayChainState: 'StorageProof',\n downwardMessages: 'Vec<InboundDownwardMessage>',\n horizontalMessages: 'BTreeMap<ParaId, VecInboundHrmpMessage>'\n },\n ParachainsInherentData: {\n bitfields: 'SignedAvailabilityBitfields',\n backedCandidates: 'Vec<BackedCandidate>',\n disputes: 'MultiDisputeStatementSet',\n parentHeader: 'Header'\n },\n ParaGenesisArgs: {\n genesisHead: 'Bytes',\n validationCode: 'Bytes',\n parachain: 'bool'\n },\n ParaId: 'u32',\n ParaInfo: {\n manager: 'AccountId',\n deposit: 'Balance',\n locked: 'bool'\n },\n ParaLifecycle: {\n _enum: ['Onboarding', 'Parathread', 'Parachain', 'UpgradingToParachain', 'DowngradingToParathread', 'OutgoingParathread', 'OutgoingParachain']\n },\n ParaPastCodeMeta: {\n upgradeTimes: 'Vec<ReplacementTimes>',\n lastPruned: 'Option<BlockNumber>'\n },\n ParaScheduling: {\n _enum: ['Always', 'Dynamic']\n },\n ParathreadClaim: '(ParaId, CollatorId)',\n ParathreadClaimQueue: {\n queue: 'Vec<QueuedParathread>',\n nextCoreOffset: 'u32'\n },\n ParathreadEntry: {\n claim: 'ParathreadClaim',\n retries: 'u32'\n },\n ParaValidatorIndex: 'u32',\n PersistedValidationData: {\n parentHead: 'HeadData',\n relayParentNumber: 'RelayChainBlockNumber',\n relayParentStorageRoot: 'Hash',\n maxPovSize: 'u32'\n },\n PvfCheckStatement: {\n accept: 'bool',\n subject: 'ValidationCodeHash',\n sessionIndex: 'SessionIndex',\n validatorIndex: 'ParaValidatorIndex'\n },\n QueuedParathread: {\n claim: 'ParathreadEntry',\n coreOffset: 'u32'\n },\n RelayBlockNumber: 'u32',\n RelayChainBlockNumber: 'RelayBlockNumber',\n RelayHash: 'Hash',\n RelayChainHash: 'RelayHash',\n Remark: '[u8; 32]',\n ReplacementTimes: {\n expectedAt: 'BlockNumber',\n activatedAt: 'BlockNumber'\n },\n Retriable: {\n _enum: {\n Never: 'Null',\n WithRetries: 'u32'\n }\n },\n ScheduledCore: {\n paraId: 'ParaId',\n collator: 'Option<CollatorId>'\n },\n Scheduling: {\n _enum: ['Always', 'Dynamic']\n },\n ScrapedOnChainVotes: {\n session: 'SessionIndex',\n backingValidatorsPerCandidate: 'Vec<(CandidateReceipt, Vec<(ParaValidatorIndex, ValidityAttestation)>)>',\n disputes: 'MultiDisputeStatementSet'\n },\n SessionInfo: {\n activeValidatorIndices: 'Vec<ParaValidatorIndex>',\n randomSeed: '[u8; 32]',\n disputePeriod: 'SessionIndex',\n validators: 'Vec<ValidatorId>',\n discoveryKeys: 'Vec<AuthorityDiscoveryId>',\n assignmentKeys: 'Vec<AssignmentId>',\n validatorGroups: 'Vec<Vec<ValidatorIndex>>',\n nCores: 'u32',\n zerothDelayTrancheWidth: 'u32',\n relayVrfModuloSamples: 'u32',\n nDelayTranches: 'u32',\n noShowSlots: 'u32',\n neededApprovals: 'u32'\n },\n OldV1SessionInfo: {\n validators: 'Vec<ValidatorId>',\n discoveryKeys: 'Vec<AuthorityDiscoveryId>',\n assignmentKeys: 'Vec<AssignmentId>',\n validatorGroups: 'Vec<Vec<ParaValidatorIndex>>',\n nCores: 'u32',\n zerothDelayTrancheWidth: 'u32',\n relayVrfModuloSamples: 'u32',\n nDelayTranches: 'u32',\n noShowSlots: 'u32',\n neededApprovals: 'u32'\n },\n SessionInfoValidatorGroup: 'Vec<ParaValidatorIndex>',\n SignedAvailabilityBitfield: {\n payload: 'BitVec',\n validatorIndex: 'ParaValidatorIndex',\n signature: 'ValidatorSignature'\n },\n SignedAvailabilityBitfields: 'Vec<SignedAvailabilityBitfield>',\n SigningContext: {\n sessionIndex: 'SessionIndex',\n parentHash: 'Hash'\n },\n SlashingOffenceKind: {\n _enum: ['ForInvalid', 'AgainstValid']\n },\n Statement: {\n _enum: {\n Never: 'Null', // starts at 1\n Candidate: 'Hash',\n Valid: 'Hash',\n Invalid: 'Hash'\n }\n },\n TransientValidationData: {\n maxCodeSize: 'u32',\n maxHeadDataSize: 'u32',\n balance: 'Balance',\n codeUpgradeAllowed: 'Option<BlockNumber>',\n dmqLength: 'u32'\n },\n UpgradeGoAhead: {\n _enum: ['Abort', 'GoAhead']\n },\n UpgradeRestriction: {\n _enum: ['Present']\n },\n UpwardMessage: 'Bytes',\n ValidationFunctionParams: {\n maxCodeSize: 'u32',\n relayChainHeight: 'RelayChainBlockNumber',\n codeUpgradeAllowed: 'Option<RelayChainBlockNumber>'\n },\n ValidationCode: 'Bytes',\n ValidationCodeHash: 'Hash',\n ValidationData: {\n persisted: 'PersistedValidationData',\n transient: 'TransientValidationData'\n },\n ValidationDataType: {\n validationData: 'ValidationData',\n relayChainState: 'Vec<Bytes>'\n },\n ValidatorSignature: 'Signature',\n ValidityAttestation: {\n _enum: {\n Never: 'Null', // starts at 1\n Implicit: 'ValidatorSignature',\n Explicit: 'ValidatorSignature'\n }\n },\n MessagingStateSnapshot: {\n relayDispatchQueueSize: '(u32, u32)',\n egressChannels: 'Vec<MessagingStateSnapshotEgressEntry>'\n },\n MessagingStateSnapshotEgressEntry: '(ParaId, AbridgedHrmpChannel)',\n SystemInherentData: 'ParachainInherentData',\n VecInboundHrmpMessage: 'Vec<InboundHrmpMessage>'\n }\n};\n","export default {\n rpc: {},\n types: {\n Approvals: '[bool; 4]'\n }\n};\n","export default {\n rpc: {},\n types: {\n AccountStatus: {\n validity: 'AccountValidity',\n freeBalance: 'Balance',\n lockedBalance: 'Balance',\n signature: 'Vec<u8>',\n vat: 'Permill'\n },\n AccountValidity: {\n _enum: ['Invalid', 'Initiated', 'Pending', 'ValidLow', 'ValidHigh', 'Completed']\n }\n }\n};\n","export const runtime = {\n DryRunApi: [\n {\n methods: {\n dry_run_call: {\n description: 'Dry run call',\n params: [\n {\n name: 'origin',\n type: 'OriginCaller'\n },\n {\n name: 'call',\n type: 'RuntimeCall'\n }\n ],\n type: 'Result<CallDryRunEffects, XcmDryRunApiError>'\n },\n dry_run_xcm: {\n description: 'Dry run XCM program',\n params: [\n {\n name: 'originLocation',\n type: 'VersionedMultiLocation'\n },\n {\n name: 'xcm',\n type: 'VersionedXcm'\n }\n ],\n type: 'Result<XcmDryRunEffects, XcmDryRunApiError>'\n }\n },\n version: 1\n },\n {\n methods: {\n dry_run_call: {\n description: 'Dry run call',\n params: [\n {\n name: 'origin',\n type: 'OriginCaller'\n },\n {\n name: 'call',\n type: 'RuntimeCall'\n },\n {\n name: 'resultXcmsVersion',\n type: 'u32'\n }\n ],\n type: 'Result<CallDryRunEffects, XcmDryRunApiError>'\n },\n dry_run_xcm: {\n description: 'Dry run XCM program',\n params: [\n {\n name: 'originLocation',\n type: 'VersionedMultiLocation'\n },\n {\n name: 'xcm',\n type: 'VersionedXcm'\n }\n ],\n type: 'Result<XcmDryRunEffects, XcmDryRunApiError>'\n }\n },\n version: 2\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {\n PostDispatchInfo: {\n actualWeight: 'Option<Weight>',\n paysFee: 'Pays'\n },\n DispatchResultWithPostInfo: 'Result<PostDispatchInfo, DispatchError>',\n CallDryRunEffects: {\n executionResult: 'DispatchResultWithPostInfo',\n emittedEvents: 'Vec<Event>',\n localXcm: 'Option<VersionedXcm>',\n forwardedXcms: 'Vec<(VersionedMultiLocation, Vec<VersionedXcm>)>'\n },\n XcmDryRunEffects: {\n executionResult: 'OutcomeV4',\n emittedEvents: 'Vec<Event>',\n forwardedXcms: 'Vec<(VersionedMultiLocation, Vec<VersionedXcm>)>'\n },\n XcmDryRunApiError: {\n _enum: [\n 'Unimplemented',\n 'VersionedConversionFailed'\n ]\n }\n }\n};\n","export var TypeDefInfo;\n(function (TypeDefInfo) {\n TypeDefInfo[TypeDefInfo[\"BTreeMap\"] = 0] = \"BTreeMap\";\n TypeDefInfo[TypeDefInfo[\"BTreeSet\"] = 1] = \"BTreeSet\";\n TypeDefInfo[TypeDefInfo[\"Compact\"] = 2] = \"Compact\";\n TypeDefInfo[TypeDefInfo[\"DoNotConstruct\"] = 3] = \"DoNotConstruct\";\n TypeDefInfo[TypeDefInfo[\"Enum\"] = 4] = \"Enum\";\n TypeDefInfo[TypeDefInfo[\"HashMap\"] = 5] = \"HashMap\";\n TypeDefInfo[TypeDefInfo[\"Int\"] = 6] = \"Int\";\n TypeDefInfo[TypeDefInfo[\"Linkage\"] = 7] = \"Linkage\";\n TypeDefInfo[TypeDefInfo[\"Null\"] = 8] = \"Null\";\n TypeDefInfo[TypeDefInfo[\"Option\"] = 9] = \"Option\";\n TypeDefInfo[TypeDefInfo[\"Plain\"] = 10] = \"Plain\";\n TypeDefInfo[TypeDefInfo[\"Range\"] = 11] = \"Range\";\n TypeDefInfo[TypeDefInfo[\"RangeInclusive\"] = 12] = \"RangeInclusive\";\n TypeDefInfo[TypeDefInfo[\"Result\"] = 13] = \"Result\";\n TypeDefInfo[TypeDefInfo[\"Set\"] = 14] = \"Set\";\n TypeDefInfo[TypeDefInfo[\"Si\"] = 15] = \"Si\";\n TypeDefInfo[TypeDefInfo[\"Struct\"] = 16] = \"Struct\";\n TypeDefInfo[TypeDefInfo[\"Tuple\"] = 17] = \"Tuple\";\n TypeDefInfo[TypeDefInfo[\"UInt\"] = 18] = \"UInt\";\n TypeDefInfo[TypeDefInfo[\"Vec\"] = 19] = \"Vec\";\n TypeDefInfo[TypeDefInfo[\"VecFixed\"] = 20] = \"VecFixed\";\n TypeDefInfo[TypeDefInfo[\"WrapperKeepOpaque\"] = 21] = \"WrapperKeepOpaque\";\n TypeDefInfo[TypeDefInfo[\"WrapperOpaque\"] = 22] = \"WrapperOpaque\";\n})(TypeDefInfo || (TypeDefInfo = {}));\n","import { compactToU8a, u8aConcatStrict, u8aToHex } from '@polkadot/util';\nimport { compareArray } from '../utils/compareArray.js';\n/**\n * @name AbstractArray\n * @description\n * This manages codec arrays. It is an extension to Array, providing\n * specific encoding/decoding on top of the base type.\n * @noInheritDoc\n */\nexport class AbstractArray extends Array {\n registry;\n createdAtHash;\n initialU8aLength;\n isStorageFallback;\n /**\n * @description This ensures that operators such as clice, filter, map, etc. return\n * new Array instances (without this we need to apply overrides)\n */\n static get [Symbol.species]() {\n return Array;\n }\n constructor(registry, length) {\n super(length);\n this.registry = registry;\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n // We need to loop through all entries since they may have a variable length themselves,\n // e.g. when a Vec or Compact is contained withing, it has a variable length based on data\n const count = this.length;\n let total = compactToU8a(count).length;\n for (let i = 0; i < count; i++) {\n total += this[i].encodedLength;\n }\n return total;\n }\n /**\n * @description returns a hash of the contents\n */\n get hash() {\n return this.registry.hash(this.toU8a());\n }\n /**\n * @description Checks if the value is an empty value\n */\n get isEmpty() {\n return this.length === 0;\n }\n /**\n * @description The length of the value\n */\n get length() {\n // only included here since we ignore inherited docs\n return super.length;\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n return compareArray(this, other);\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n return {\n inner: this.inspectInner(),\n outer: [compactToU8a(this.length)]\n };\n }\n /**\n * @internal\n * @description Internal per-item inspection of internal values\n */\n inspectInner() {\n const count = this.length;\n const inner = new Array(count);\n for (let i = 0; i < count; i++) {\n inner[i] = this[i].inspect();\n }\n return inner;\n }\n /**\n * @description Converts the Object to an standard JavaScript Array\n */\n toArray() {\n return Array.from(this);\n }\n /**\n * @description Returns a hex string representation of the value\n */\n toHex() {\n return u8aToHex(this.toU8a());\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman(isExtended, disableAscii) {\n const count = this.length;\n const result = new Array(count);\n for (let i = 0; i < count; i++) {\n result[i] = this[i] && this[i].toHuman(isExtended, disableAscii);\n }\n return result;\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n const count = this.length;\n const result = new Array(count);\n for (let i = 0; i < count; i++) {\n // We actually log inside the U8a decoding and use JSON.stringify(...), which\n // means that the Vec may be partially populated (same applies to toHuman, same check)\n result[i] = this[i] && this[i].toJSON();\n }\n return result;\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive(disableAscii) {\n const count = this.length;\n const result = new Array(count);\n for (let i = 0; i < count; i++) {\n result[i] = this[i] && this[i].toPrimitive(disableAscii);\n }\n return result;\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n const count = this.length;\n const result = new Array(count);\n for (let i = 0; i < count; i++) {\n result[i] = this[i].toString();\n }\n return `[${result.join(', ')}]`;\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8a(isBare) {\n const encoded = this.toU8aInner();\n return isBare\n ? u8aConcatStrict(encoded)\n : u8aConcatStrict([compactToU8a(this.length), ...encoded]);\n }\n /**\n * @internal\n * @description Internal per-item SCALE encoding of contained values\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8aInner(isBare) {\n const count = this.length;\n const encoded = new Array(count);\n for (let i = 0; i < count; i++) {\n encoded[i] = this[i].toU8a(isBare);\n }\n return encoded;\n }\n}\n","import { isUndefined } from '@polkadot/util';\nimport { hasEq } from './util.js';\nexport function compareArray(a, b) {\n if (Array.isArray(b)) {\n return (a.length === b.length) && isUndefined(a.find((v, index) => hasEq(v)\n ? !v.eq(b[index])\n : v !== b[index]));\n }\n return false;\n}\n","import { isFunction } from '@polkadot/util';\nexport function hasEq(o) {\n return isFunction(o.eq);\n}\n","/**\n * @name Base\n * @description A type extends the Base class, when it holds a value\n */\nexport class AbstractBase {\n registry;\n createdAtHash;\n initialU8aLength;\n isStorageFallback;\n #raw;\n constructor(registry, value, initialU8aLength) {\n this.initialU8aLength = initialU8aLength;\n this.#raw = value;\n this.registry = registry;\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n return this.toU8a().length;\n }\n /**\n * @description returns a hash of the contents\n */\n get hash() {\n return this.registry.hash(this.toU8a());\n }\n /**\n * @description returns the inner (wrapped value)\n */\n get inner() {\n return this.#raw;\n }\n /**\n * @description Checks if the value is an empty value\n */\n get isEmpty() {\n return this.#raw.isEmpty;\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n return this.#raw.eq(other);\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n return this.#raw.inspect();\n }\n /**\n * @description Returns a hex string representation of the value. isLe returns a LE (number-only) representation\n */\n toHex(isLe) {\n return this.#raw.toHex(isLe);\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman(isExtended, disableAscii) {\n return this.#raw.toHuman(isExtended, disableAscii);\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n return this.#raw.toJSON();\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive(disableAscii) {\n return this.#raw.toPrimitive(disableAscii);\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n return this.#raw.toString();\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8a(isBare) {\n return this.#raw.toU8a(isBare);\n }\n /**\n * @description Returns the inner wrapped value (equivalent to valueOf)\n */\n unwrap() {\n return this.#raw;\n }\n /**\n * @description Returns the inner wrapped value\n */\n valueOf() {\n return this.#raw;\n }\n}\n","import { BN, BN_BILLION, BN_HUNDRED, BN_MILLION, BN_QUINTILL, bnToBn, bnToHex, bnToU8a, formatBalance, formatNumber, hexToBn, isBigInt, isBn, isFunction, isHex, isNumber, isObject, isString, isU8a, u8aToBn, u8aToNumber } from '@polkadot/util';\nexport const DEFAULT_UINT_BITS = 64;\nconst MAX_NUMBER_BITS = 52;\nconst MUL_P = new BN(1_00_00);\nconst FORMATTERS = [\n ['Perquintill', BN_QUINTILL],\n ['Perbill', BN_BILLION],\n ['Permill', BN_MILLION],\n ['Percent', BN_HUNDRED]\n];\nfunction isToBn(value) {\n return isFunction(value.toBn);\n}\nfunction toPercentage(value, divisor) {\n return `${(value.mul(MUL_P).div(divisor).toNumber() / 100).toFixed(2)}%`;\n}\n/** @internal */\nfunction decodeAbstractInt(value, isNegative) {\n if (isNumber(value)) {\n if (!Number.isInteger(value) || value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER) {\n throw new Error('Number needs to be an integer <= Number.MAX_SAFE_INTEGER, i.e. 2 ^ 53 - 1');\n }\n return value;\n }\n else if (isString(value)) {\n if (isHex(value, -1, true)) {\n return hexToBn(value, { isLe: false, isNegative }).toString();\n }\n if (value.includes('.') || value.includes(',') || value.includes('e')) {\n throw new Error('String should not contain decimal points or scientific notation');\n }\n return value;\n }\n else if (isBn(value) || isBigInt(value)) {\n return value.toString();\n }\n else if (isObject(value)) {\n if (isToBn(value)) {\n return value.toBn().toString();\n }\n // Allow the construction from an object with a single top-level key. This means that\n // single key objects can be treated equivalently to numbers, assuming they meet the\n // specific requirements. (This is useful in Weights 1.5 where Objects are compact)\n const keys = Object.keys(value);\n if (keys.length !== 1) {\n throw new Error('Unable to construct number from multi-key object');\n }\n return decodeAbstractInt(value[keys[0]], isNegative);\n }\n else if (!value) {\n return 0;\n }\n throw new Error(`Unable to create BN from unknown type ${typeof value}`);\n}\n/**\n * @name AbstractInt\n * @ignore\n * @noInheritDoc\n */\nexport class AbstractInt extends BN {\n registry;\n encodedLength;\n isUnsigned;\n createdAtHash;\n initialU8aLength;\n isStorageFallback;\n #bitLength;\n constructor(registry, value = 0, bitLength = DEFAULT_UINT_BITS, isSigned = false) {\n // Construct via a string/number, which will be passed in the BN constructor.\n // It would be ideal to actually return a BN, but there is an issue:\n // https://github.com/indutny/bn.js/issues/206\n super(\n // shortcut isU8a as used in SCALE decoding\n isU8a(value)\n ? bitLength <= 48\n ? u8aToNumber(value.subarray(0, bitLength / 8), { isNegative: isSigned })\n : u8aToBn(value.subarray(0, bitLength / 8), { isLe: true, isNegative: isSigned }).toString()\n : decodeAbstractInt(value, isSigned));\n this.registry = registry;\n this.#bitLength = bitLength;\n this.encodedLength = this.#bitLength / 8;\n this.initialU8aLength = this.#bitLength / 8;\n this.isUnsigned = !isSigned;\n const isNegative = this.isNeg();\n const maxBits = bitLength - (isSigned && !isNegative ? 1 : 0);\n if (isNegative && !isSigned) {\n throw new Error(`${this.toRawType()}: Negative number passed to unsigned type`);\n }\n else if (super.bitLength() > maxBits) {\n throw new Error(`${this.toRawType()}: Input too large. Found input with ${super.bitLength()} bits, expected ${maxBits}`);\n }\n }\n /**\n * @description returns a hash of the contents\n */\n get hash() {\n return this.registry.hash(this.toU8a());\n }\n /**\n * @description Checks if the value is a zero value (align elsewhere)\n */\n get isEmpty() {\n return this.isZero();\n }\n /**\n * @description Returns the number of bits in the value\n */\n bitLength() {\n return this.#bitLength;\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n eq(other) {\n // Here we are actually overriding the built-in .eq to take care of both\n // number and BN inputs (no `.eqn` needed) - numbers will be converted\n return super.eq(isHex(other)\n ? hexToBn(other.toString(), { isLe: false, isNegative: !this.isUnsigned })\n : bnToBn(other));\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n return {\n outer: [this.toU8a()]\n };\n }\n /**\n * @description True if this value is the max of the type\n */\n isMax() {\n const u8a = this.toU8a().filter((b) => b === 0xff);\n return u8a.length === (this.#bitLength / 8);\n }\n /**\n * @description Returns a BigInt representation of the number\n */\n toBigInt() {\n return BigInt(this.toString());\n }\n /**\n * @description Returns the BN representation of the number. (Compatibility)\n */\n toBn() {\n return this;\n }\n /**\n * @description Returns a hex string representation of the value\n */\n toHex(isLe = false) {\n // For display/JSON, this is BE, for compare, use isLe\n return bnToHex(this, {\n bitLength: this.bitLength(),\n isLe,\n isNegative: !this.isUnsigned\n });\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman(_isExpanded) {\n const rawType = this.toRawType();\n if (rawType === 'Balance') {\n return this.isMax()\n ? 'everything'\n // FIXME In the case of multiples we need some way of detecting which instance this belongs\n // to. as it stands we will always format (incorrectly) against the first token defined\n : formatBalance(this, { decimals: this.registry.chainDecimals[0], withSi: true, withUnit: this.registry.chainTokens[0] });\n }\n const [, divisor] = FORMATTERS.find(([type]) => type === rawType) || [];\n return divisor\n ? toPercentage(this, divisor)\n : formatNumber(this);\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON(onlyHex = false) {\n // FIXME this return type should by string | number, however BN returns string\n // Options here are\n // - super.bitLength() - the actual used bits, use hex when close to MAX_SAFE_INTEGER\n // - this.#bitLength - the max used bits, use hex when larger than native Rust type\n return onlyHex || (this.#bitLength > 128) || (super.bitLength() > MAX_NUMBER_BITS)\n ? this.toHex()\n : this.toNumber();\n }\n /**\n * @description Returns the value in a primitive form, either number when <= 52 bits, or string otherwise\n */\n toPrimitive() {\n return super.bitLength() > MAX_NUMBER_BITS\n ? this.toString()\n : this.toNumber();\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n // NOTE In the case of balances, which have a special meaning on the UI\n // and can be interpreted differently, return a specific value for it so\n // underlying it always matches (no matter which length it actually is)\n return this instanceof this.registry.createClassUnsafe('Balance')\n ? 'Balance'\n : `${this.isUnsigned ? 'u' : 'i'}${this.bitLength()}`;\n }\n /**\n * @description Returns the string representation of the value\n * @param base The base to use for the conversion\n */\n toString(base) {\n // only included here since we do not inherit docs\n return super.toString(base);\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n */\n toU8a(_isBare) {\n return bnToU8a(this, {\n bitLength: this.bitLength(),\n isLe: true,\n isNegative: !this.isUnsigned\n });\n }\n}\n","import { compactFromU8a, compactFromU8aLim, compactToU8a, identity, isU8a } from '@polkadot/util';\nimport { typeToConstructor } from '../utils/index.js';\nfunction decodeCompact(registry, Type, value) {\n if (isU8a(value)) {\n const [decodedLength, bn] = (value[0] & 0b11) < 0b11\n ? compactFromU8aLim(value)\n : compactFromU8a(value);\n return [new Type(registry, bn), decodedLength];\n }\n else if (value instanceof Compact) {\n const raw = value.unwrap();\n return raw instanceof Type\n ? [raw, 0]\n : [new Type(registry, raw), 0];\n }\n else if (value instanceof Type) {\n return [value, 0];\n }\n return [new Type(registry, value), 0];\n}\n/**\n * @name Compact\n * @description\n * A compact length-encoding codec wrapper. It performs the same function as Length, however\n * differs in that it uses a variable number of bytes to do the actual encoding. This is mostly\n * used by other types to add length-prefixed encoding, or in the case of wrapped types, taking\n * a number and making the compact representation thereof\n */\nexport class Compact {\n registry;\n createdAtHash;\n initialU8aLength;\n isStorageFallback;\n #Type;\n #raw;\n constructor(registry, Type, value = 0, { definition, setDefinition = identity } = {}) {\n this.registry = registry;\n this.#Type = definition || setDefinition(typeToConstructor(registry, Type));\n const [raw, decodedLength] = decodeCompact(registry, this.#Type, value);\n this.initialU8aLength = decodedLength;\n this.#raw = raw;\n }\n static with(Type) {\n let definition;\n // eslint-disable-next-line no-return-assign\n const setDefinition = (d) => (definition = d);\n return class extends Compact {\n constructor(registry, value) {\n super(registry, Type, value, { definition, setDefinition });\n }\n };\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n return this.toU8a().length;\n }\n /**\n * @description returns a hash of the contents\n */\n get hash() {\n return this.registry.hash(this.toU8a());\n }\n /**\n * @description Checks if the value is an empty value\n */\n get isEmpty() {\n return this.#raw.isEmpty;\n }\n /**\n * @description Returns the number of bits in the value\n */\n bitLength() {\n return this.#raw.bitLength();\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n return this.#raw.eq(other instanceof Compact\n ? other.#raw\n : other);\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n return {\n outer: [this.toU8a()]\n };\n }\n /**\n * @description Returns a BigInt representation of the number\n */\n toBigInt() {\n return this.#raw.toBigInt();\n }\n /**\n * @description Returns the BN representation of the number\n */\n toBn() {\n return this.#raw.toBn();\n }\n /**\n * @description Returns a hex string representation of the value. isLe returns a LE (number-only) representation\n */\n toHex(isLe) {\n return this.#raw.toHex(isLe);\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman(isExtended, disableAscii) {\n return this.#raw.toHuman(isExtended, disableAscii);\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n return this.#raw.toJSON();\n }\n /**\n * @description Returns the number representation for the value\n */\n toNumber() {\n return this.#raw.toNumber();\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive(disableAscii) {\n return this.#raw.toPrimitive(disableAscii);\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return `Compact<${this.registry.getClassName(this.#Type) || this.#raw.toRawType()}>`;\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n return this.#raw.toString();\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n */\n toU8a(_isBare) {\n return compactToU8a(this.#raw.toBn());\n }\n /**\n * @description Returns the embedded [[UInt]] or [[Moment]] value\n */\n unwrap() {\n return this.#raw;\n }\n}\n","import { isObject, isUndefined } from '@polkadot/util';\nimport { hasEq } from './util.js';\nfunction hasMismatch(a, b) {\n return isUndefined(a) || (hasEq(a)\n ? !a.eq(b)\n : a !== b);\n}\nfunction notEntry(value) {\n return !Array.isArray(value) || value.length !== 2;\n}\nfunction compareMapArray(a, b) {\n // equal number of entries and each entry in the array should match\n return (a.size === b.length) && !b.some((e) => notEntry(e) ||\n hasMismatch(a.get(e[0]), e[1]));\n}\nexport function compareMap(a, b) {\n if (Array.isArray(b)) {\n return compareMapArray(a, b);\n }\n else if (b instanceof Map) {\n return compareMapArray(a, [...b.entries()]);\n }\n else if (isObject(b)) {\n return compareMapArray(a, Object.entries(b));\n }\n return false;\n}\n","import { isObject } from '@polkadot/util';\nfunction compareSetArray(a, b) {\n // equal number of entries and each entry in the array should match\n return (a.size === b.length) && !b.some((e) => !a.has(e));\n}\nexport function compareSet(a, b) {\n if (Array.isArray(b)) {\n return compareSetArray(a, b);\n }\n else if (b instanceof Set) {\n return compareSetArray(a, [...b.values()]);\n }\n else if (isObject(b)) {\n return compareSetArray(a, Object.values(b));\n }\n return false;\n}\n","import { u8aToHex } from '@polkadot/util';\nconst MAX_DEPTH = 1024;\n/** @internal */\nfunction isComplexType(Type) {\n const typeName = Type.name?.toLowerCase() || '';\n return ['enum', 'hashmap', 'linkage', 'null', 'option', 'range', 'rangeinclusive', 'result', 'struct', 'tuple', 'vec', 'vecfixed'].includes(typeName);\n}\n/** @internal */\nfunction formatFailure(registry, fn, _result, { message }, u8a, i, count, Type, key) {\n let type = '';\n try {\n type = `: ${new Type(registry).toRawType()}`;\n }\n catch {\n // ignore\n }\n // This is extra debugging info (we most-probably want this in in some way, shape or form,\n // but at this point not quite sure how to include and format it (it can be quite massive)\n // console.error(JSON.stringify(result, null, 2));\n return `${fn}: failed at ${u8aToHex(u8a.subarray(0, 16))}…${key ? ` on ${key}` : ''} (index ${i + 1}/${count})${type}:: ${message}`;\n}\n/**\n * @internal\n *\n * Given an u8a, and an array of Type constructors, decode the u8a against the\n * types, and return an array of decoded values.\n *\n * @param u8a - The u8a to decode.\n * @param result - The result array (will be returned with values pushed)\n * @param types - The array of CodecClass to decode the U8a against.\n */\nexport function decodeU8a(registry, result, u8a, [Types, keys]) {\n const count = result.length;\n let offset = 0;\n let i = 0;\n try {\n while (i < count) {\n const value = new Types[i](registry, u8a.subarray(offset));\n offset += value.initialU8aLength || value.encodedLength;\n result[i] = value;\n i++;\n }\n }\n catch (error) {\n throw new Error(formatFailure(registry, 'decodeU8a', result, error, u8a.subarray(offset), i, count, Types[i], keys[i]));\n }\n return [result, offset];\n}\n/**\n * @internal\n *\n * Split from decodeU8a since this is specialized to zip returns ... while we duplicate, this\n * is all on the hot-path, so it is not great, however there is (some) method behind the madness\n */\nexport function decodeU8aStruct(registry, result, u8a, [Types, keys]) {\n const count = result.length;\n let offset = 0;\n let i = 0;\n if (count > MAX_DEPTH && isComplexType(Types[i])) {\n throw new Error(`decodeU8aStruct: Maximum depth exceeded, received ${count} elements, limit ${MAX_DEPTH}`);\n }\n try {\n while (i < count) {\n const value = new Types[i](registry, u8a.subarray(offset));\n offset += value.initialU8aLength || value.encodedLength;\n result[i] = [keys[i], value];\n i++;\n }\n }\n catch (error) {\n throw new Error(formatFailure(registry, 'decodeU8aStruct', result, error, u8a.subarray(offset), i, count, Types[i], keys[i]));\n }\n return [result, offset];\n}\n/**\n * @internal\n *\n * Split from decodeU8a since this is specialized to 1 instance ... while we duplicate, this\n * is all on the hot-path, so it is not great, however there is (some) method behind the madness\n */\nexport function decodeU8aVec(registry, result, u8a, startAt, Type) {\n const count = result.length;\n if (count > MAX_DEPTH && isComplexType(Type)) {\n throw new Error(`decodeU8aVec: Maximum depth exceeded, received ${count} elements, limit ${MAX_DEPTH}`);\n }\n let offset = startAt;\n let i = 0;\n try {\n while (i < count) {\n const value = new Type(registry, u8a.subarray(offset));\n offset += value.initialU8aLength || value.encodedLength;\n result[i] = value;\n i++;\n }\n }\n catch (error) {\n throw new Error(formatFailure(registry, 'decodeU8aVec', result, error, u8a.subarray(offset), i, count, Type));\n }\n return [offset, offset - startAt];\n}\n","const BOUNDED = ['BTreeMap', 'BTreeSet', 'HashMap', 'Vec'];\nconst ALLOWED_BOXES = BOUNDED.concat(['Compact', 'DoNotConstruct', 'Int', 'Linkage', 'Range', 'RangeInclusive', 'Result', 'Opaque', 'Option', 'UInt', 'WrapperKeepOpaque', 'WrapperOpaque']);\nconst BOX_PRECEDING = ['<', '(', '[', '\"', ',', ' ']; // start of vec, tuple, fixed array, part of struct def or in tuple\nconst mappings = [\n // alias <T::InherentOfflineReport as InherentOfflineReport>::Inherent -> InherentOfflineReport\n alias('<T::InherentOfflineReport as InherentOfflineReport>::Inherent', 'InherentOfflineReport', false),\n alias('VecDeque<', 'Vec<', false),\n // <T::Balance as HasCompact>\n cleanupCompact(),\n // Change BoundedVec<Type, Size> to Vec<Type>\n removeExtensions('Bounded', true),\n // Change WeakVec<Type> to Vec<Type>\n removeExtensions('Weak', false),\n // Remove all the trait prefixes\n removeTraits(),\n // remove PairOf<T> -> (T, T)\n removePairOf(),\n // remove boxing, `Box<Proposal>` -> `Proposal`\n removeWrap('Box<'),\n // remove generics, `MisbehaviorReport<Hash, BlockNumber>` -> `MisbehaviorReport`\n removeGenerics(),\n // alias String -> Text (compat with jsonrpc methods)\n alias('String', 'Text'),\n // alias Vec<u8> -> Bytes\n alias('Vec<u8>', 'Bytes'),\n alias('&\\\\[u8\\\\]', 'Bytes'),\n alias(\"&'static\\\\[u8\\\\]\", 'Bytes'),\n // alias RawAddress -> Address\n alias('RawAddress', 'Address'),\n // lookups, mapped to Address/AccountId as appropriate in runtime\n alias('Lookup::Source', 'LookupSource'),\n alias('Lookup::Target', 'LookupTarget'),\n // HACK duplication between contracts & primitives, however contracts prefixed with exec\n alias('exec::StorageKey', 'ContractStorageKey'),\n // flattens tuples with one value, `(AccountId)` -> `AccountId`\n flattenSingleTuple(),\n // converts ::Type to Type, <T as Trait<I>>::Proposal -> Proposal\n removeColons(),\n // remove all trailing spaces - this should always be the last\n trim()\n];\nexport function trim() {\n return (value) => value.trim();\n}\nexport function findClosing(value, start) {\n let depth = 0;\n for (let i = start, count = value.length; i < count; i++) {\n if (value[i] === '>') {\n if (!depth) {\n return i;\n }\n depth--;\n }\n else if (value[i] === '<') {\n depth++;\n }\n }\n throw new Error(`Unable to find closing matching <> on '${value}' (start ${start})`);\n}\nexport function alias(src, dest, withChecks = true) {\n const from = new RegExp(`(^${src}|${BOX_PRECEDING.map((box) => `\\\\${box}${src}`).join('|')})`, 'g');\n const to = (src) => {\n from.lastIndex = 0;\n return withChecks && BOX_PRECEDING.includes(src[0])\n ? `${src[0]}${dest}`\n : dest;\n };\n return (value) => value.replace(from, to);\n}\nexport function cleanupCompact() {\n return (value) => {\n if (value.includes(' as HasCompact')) {\n for (let i = 0, count = value.length; i < count; i++) {\n if (value[i] === '<') {\n const end = findClosing(value, i + 1) - 14;\n if (value.substring(end, end + 14) === ' as HasCompact') {\n value = `Compact<${value.substring(i + 1, end)}>`;\n }\n }\n }\n }\n return value;\n };\n}\nexport function flattenSingleTuple() {\n const from1 = /,\\)/g;\n const from2 = /\\(([^,]+)\\)/;\n return (value) => {\n from1.lastIndex = 0;\n return value\n // tuples may have trailing commas, e.g. (u32, BlockNumber, )\n .replace(from1, ')')\n // change (u32) -> u32\n .replace(from2, '$1');\n };\n}\nfunction replaceTagWith(value, matcher, replacer) {\n let index = -1;\n while (true) {\n index = value.indexOf(matcher, index + 1);\n if (index === -1) {\n return value;\n }\n const start = index + matcher.length;\n const end = findClosing(value, start);\n value = `${value.substring(0, index)}${replacer(value.substring(start, end))}${value.substring(end + 1)}`;\n }\n}\nexport function removeExtensions(type, isSized) {\n return (value) => {\n for (let i = 0, count = BOUNDED.length; i < count; i++) {\n const tag = BOUNDED[i];\n value = replaceTagWith(value, `${type}${tag}<`, (v) => {\n const parts = v\n .split(',')\n .map((s) => s.trim())\n .filter((s) => s);\n if (isSized) {\n parts.pop();\n }\n return `${tag}<${parts.join(',')}>`;\n });\n }\n return value;\n };\n}\nexport function removeColons() {\n return (value) => {\n let index = 0;\n while (index !== -1) {\n index = value.indexOf('::');\n if (index === 0) {\n value = value.substring(2);\n }\n else if (index !== -1) {\n let start = index;\n while (start !== -1 && !BOX_PRECEDING.includes(value[start])) {\n start--;\n }\n value = `${value.substring(0, start + 1)}${value.substring(index + 2)}`;\n }\n }\n return value;\n };\n}\nexport function removeGenerics() {\n return (value) => {\n for (let i = 0, count = value.length; i < count; i++) {\n if (value[i] === '<') {\n // check against the allowed wrappers, be it Vec<..>, Option<...> ...\n const box = ALLOWED_BOXES.find((box) => {\n const start = i - box.length;\n return ((start >= 0 &&\n value.substring(start, i) === box) && (\n // make sure it is stand-alone, i.e. don't catch ElectionResult<...> as Result<...>\n start === 0 ||\n BOX_PRECEDING.includes(value[start - 1])));\n });\n // we have not found anything, unwrap generic innards\n if (!box) {\n const end = findClosing(value, i + 1);\n value = `${value.substring(0, i)}${value.substring(end + 1)}`;\n }\n }\n }\n return value;\n };\n}\nexport function removePairOf() {\n const replacer = (v) => `(${v},${v})`;\n return (value) => replaceTagWith(value, 'PairOf<', replacer);\n}\nexport function removeTraits() {\n const from1 = /\\s/g;\n const from2 = /(T|Self)::/g;\n const from3 = /<(T|Self)asTrait>::/g;\n const from4 = /<Tas[a-z]+::Trait>::/g;\n const from5 = /<LookupasStaticLookup>/g;\n const from6 = /::Type/g;\n return (value) => {\n from1.lastIndex = 0;\n from2.lastIndex = 0;\n from3.lastIndex = 0;\n from4.lastIndex = 0;\n from5.lastIndex = 0;\n from6.lastIndex = 0;\n return value\n // remove all whitespaces\n .replace(from1, '')\n // anything `T::<type>` to end up as `<type>`\n .replace(from2, '')\n // replace `<T as Trait>::` (whitespaces were removed above)\n .replace(from3, '')\n // replace `<T as something::Trait>::` (whitespaces were removed above)\n .replace(from4, '')\n // replace <Lookup as StaticLookup>\n .replace(from5, 'Lookup')\n // replace `<...>::Type`\n .replace(from6, '');\n };\n}\nexport function removeWrap(check) {\n const replacer = (v) => v;\n return (value) => replaceTagWith(value, check, replacer);\n}\nconst sanitizeMap = new Map();\nexport function sanitize(value) {\n const startValue = value.toString();\n const memoized = sanitizeMap.get(startValue);\n if (memoized) {\n return memoized;\n }\n let result = startValue;\n for (let i = 0, count = mappings.length; i < count; i++) {\n result = mappings[i](result);\n }\n sanitizeMap.set(startValue, result);\n return result;\n}\n","import { bnToBn, isBigInt, isBn, isBoolean, isCodec, isNumber, stringify } from '@polkadot/util';\n/** @internal **/\nfunction isArrayLike(arg) {\n return arg instanceof Uint8Array || Array.isArray(arg);\n}\n/** @internal **/\nfunction isEnum(arg) {\n return isCodec(arg) && isNumber(arg.index) && isCodec(arg.value);\n}\n/** @internal **/\nfunction isOption(arg) {\n return isCodec(arg) && isBoolean(arg.isSome) && isCodec(arg.value);\n}\n/** @internal */\nfunction isNumberLike(arg) {\n return isNumber(arg) || isBn(arg) || isBigInt(arg);\n}\n/** @internal */\nfunction sortArray(a, b) {\n // Vec, Tuple, Bytes etc.\n let sortRes = 0;\n const minLen = Math.min(a.length, b.length);\n for (let i = 0; i < minLen; ++i) {\n sortRes = sortAsc(a[i], b[i]);\n if (sortRes !== 0) {\n return sortRes;\n }\n }\n return a.length - b.length;\n}\n/** @internal */\nfunction checkForDuplicates(container, seen, arg) {\n // Convert the value to hex.\n if (isCodec(arg)) {\n const hex = arg.toHex();\n // Check if we have seen the value.\n if (seen.has(hex)) {\n // Duplicates are not allowed.\n throw new Error(`Duplicate value in ${container}: ${stringify(arg)}`);\n }\n seen.add(hex);\n }\n return true;\n}\n/**\n* Sort keys/values of BTreeSet/BTreeMap in ascending order for encoding compatibility with Rust's BTreeSet/BTreeMap\n* (https://doc.rust-lang.org/stable/std/collections/struct.BTreeSet.html)\n* (https://doc.rust-lang.org/stable/std/collections/struct.BTreeMap.html)\n*/\nexport function sortAsc(a, b) {\n if (isNumberLike(a) && isNumberLike(b)) {\n return bnToBn(a).cmp(bnToBn(b));\n }\n else if (a instanceof Map && b instanceof Map) {\n return sortAsc(Array.from(a.values()), Array.from(b.values()));\n }\n else if (isEnum(a) && isEnum(b)) {\n return sortAsc(a.index, b.index) || sortAsc(a.value, b.value);\n }\n else if (isOption(a) && isOption(b)) {\n return sortAsc(a.isNone ? 0 : 1, b.isNone ? 0 : 1) || sortAsc(a.value, b.value);\n }\n else if (isArrayLike(a) && isArrayLike(b)) {\n return sortArray(a, b);\n }\n else if (isCodec(a) && isCodec(b)) {\n // Text, Bool etc.\n return sortAsc(a.toU8a(true), b.toU8a(true));\n }\n throw new Error(`Attempting to sort unrecognized values: ${stringify(a)} (typeof ${typeof a}) <-> ${stringify(b)} (typeof ${typeof b})`);\n}\nexport function sortSet(set) {\n const seen = new Set();\n return new Set(Array.from(set).filter((value) => checkForDuplicates('BTreeSet', seen, value)).sort(sortAsc));\n}\nexport function sortMap(map) {\n const seen = new Set();\n return new Map(Array.from(map.entries()).filter(([key]) => checkForDuplicates('BTreeMap', seen, key)).sort(([keyA], [keyB]) => sortAsc(keyA, keyB)));\n}\n","/**\n * @internal\n * From a type string or class, return the associated type class\n */\nexport function typeToConstructor(registry, type) {\n return typeof type === 'function'\n ? type\n : registry.createClassUnsafe(type);\n}\n/**\n * @internal\n * Takes an input array of types and returns the associated classes for it\n*/\nexport function typesToConstructors(registry, types) {\n const count = types.length;\n const result = new Array(count);\n for (let i = 0; i < count; i++) {\n result[i] = typeToConstructor(registry, types[i]);\n }\n return result;\n}\n/**\n * @internal\n * Takes an input map of the form `{ [string]: string | CodecClass }` and returns a map of `{ [string]: CodecClass }`\n */\nexport function mapToTypeMap(registry, input) {\n const entries = Object.entries(input);\n const count = entries.length;\n const output = [new Array(count), new Array(count)];\n for (let i = 0; i < count; i++) {\n output[1][i] = entries[i][0];\n output[0][i] = typeToConstructor(registry, entries[i][1]);\n }\n return output;\n}\n","export function typesToMap(registry, [Types, keys]) {\n const result = {};\n for (let i = 0, count = keys.length; i < count; i++) {\n result[keys[i]] = registry.getClassName(Types[i]) || new Types[i](registry).toRawType();\n }\n return result;\n}\n","/**\n * @name DoNotConstruct\n * @description\n * An unknown type that fails on construction with the type info\n */\nexport class DoNotConstruct {\n registry;\n createdAtHash;\n isStorageFallback;\n #neverError;\n constructor(registry, typeName = 'DoNotConstruct') {\n this.registry = registry;\n this.#neverError = new Error(`DoNotConstruct: Cannot construct unknown type ${typeName}`);\n throw this.#neverError;\n }\n static with(typeName) {\n return class extends DoNotConstruct {\n constructor(registry) {\n super(registry, typeName);\n }\n };\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n throw this.#neverError;\n }\n /**\n * @description returns a hash of the contents\n */\n get hash() {\n throw this.#neverError;\n }\n /**\n * @description Checks if the value is an empty value (always true)\n */\n get isEmpty() {\n throw this.#neverError;\n }\n /**\n * @description Unimplemented\n */\n eq() {\n throw this.#neverError;\n }\n /**\n * @description Unimplemented\n */\n inspect() {\n throw this.#neverError;\n }\n /**\n * @description Unimplemented\n */\n toHex() {\n throw this.#neverError;\n }\n /**\n * @description Unimplemented\n */\n toHuman() {\n throw this.#neverError;\n }\n /**\n * @description Unimplemented\n */\n toJSON() {\n throw this.#neverError;\n }\n /**\n * @description Unimplemented\n */\n toPrimitive() {\n throw this.#neverError;\n }\n /**\n * @description Unimplemented\n */\n toRawType() {\n throw this.#neverError;\n }\n /**\n * @description Unimplemented\n */\n toString() {\n throw this.#neverError;\n }\n /**\n * @description Unimplemented\n */\n toU8a() {\n throw this.#neverError;\n }\n}\n","import { identity, isHex, isNumber, isObject, isString, isU8a, objectProperties, stringCamelCase, stringify, stringPascalCase, u8aConcatStrict, u8aToHex, u8aToU8a } from '@polkadot/util';\nimport { mapToTypeMap, typesToMap } from '../utils/index.js';\nimport { Null } from './Null.js';\nfunction isRustEnum(def) {\n const defValues = Object.values(def);\n if (defValues.some((v) => isNumber(v))) {\n if (!defValues.every((v) => isNumber(v) && v >= 0 && v <= 255)) {\n throw new Error('Invalid number-indexed enum definition');\n }\n return false;\n }\n return true;\n}\nfunction extractDef(registry, _def) {\n const def = {};\n let isBasic;\n let isIndexed;\n if (Array.isArray(_def)) {\n for (let i = 0, count = _def.length; i < count; i++) {\n def[_def[i]] = { Type: Null, index: i };\n }\n isBasic = true;\n isIndexed = false;\n }\n else if (isRustEnum(_def)) {\n const [Types, keys] = mapToTypeMap(registry, _def);\n for (let i = 0, count = keys.length; i < count; i++) {\n def[keys[i]] = { Type: Types[i], index: i };\n }\n isBasic = !Object.values(def).some(({ Type }) => Type !== Null);\n isIndexed = false;\n }\n else {\n const entries = Object.entries(_def);\n for (let i = 0, count = entries.length; i < count; i++) {\n const [key, index] = entries[i];\n def[key] = { Type: Null, index };\n }\n isBasic = true;\n isIndexed = true;\n }\n return {\n def,\n isBasic,\n isIndexed\n };\n}\nfunction getEntryType(def, checkIdx) {\n const values = Object.values(def);\n for (let i = 0, count = values.length; i < count; i++) {\n const { Type, index } = values[i];\n if (index === checkIdx) {\n return Type;\n }\n }\n throw new Error(`Unable to create Enum via index ${checkIdx}, in ${Object.keys(def).join(', ')}`);\n}\nfunction createFromU8a(registry, def, index, value) {\n const Type = getEntryType(def, index);\n return {\n index,\n value: new Type(registry, value)\n };\n}\nfunction createFromValue(registry, def, index = 0, value) {\n const Type = getEntryType(def, index);\n return {\n index,\n value: value instanceof Type\n ? value\n : new Type(registry, value)\n };\n}\nfunction decodeFromJSON(registry, def, key, value) {\n // JSON comes in the form of { \"<type (camelCase)>\": \"<value for type>\" }, here we\n // additionally force to lower to ensure forward compat\n const keys = Object.keys(def).map((k) => k.toLowerCase());\n const keyLower = key.toLowerCase();\n const index = keys.indexOf(keyLower);\n if (index === -1) {\n throw new Error(`Cannot map Enum JSON, unable to find '${key}' in ${keys.join(', ')}`);\n }\n try {\n return createFromValue(registry, def, Object.values(def)[index].index, value);\n }\n catch (error) {\n throw new Error(`Enum(${key}):: ${error.message}`);\n }\n}\nfunction decodeEnum(registry, def, value, index) {\n // NOTE We check the index path first, before looking at values - this allows treating\n // the optional indexes before anything else, more-specific > less-specific\n if (isNumber(index)) {\n return createFromValue(registry, def, index, value);\n }\n else if (isU8a(value) || isHex(value)) {\n const u8a = u8aToU8a(value);\n // nested, we don't want to match isObject below\n if (u8a.length) {\n return createFromU8a(registry, def, u8a[0], u8a.subarray(1));\n }\n }\n else if (value instanceof Enum) {\n return createFromValue(registry, def, value.index, value.value);\n }\n else if (isNumber(value)) {\n return createFromValue(registry, def, value);\n }\n else if (isString(value)) {\n return decodeFromJSON(registry, def, value.toString());\n }\n else if (isObject(value)) {\n const key = Object.keys(value)[0];\n return decodeFromJSON(registry, def, key, value[key]);\n }\n // Worst-case scenario, return the first with default\n return createFromValue(registry, def, Object.values(def)[0].index);\n}\n/**\n * @name Enum\n * @description\n * This implements an enum, that based on the value wraps a different type. It is effectively\n * an extension to enum where the value type is determined by the actual index.\n */\nexport class Enum {\n registry;\n createdAtHash;\n initialU8aLength;\n isStorageFallback;\n #def;\n #entryIndex;\n #indexes;\n #isBasic;\n #isIndexed;\n #raw;\n constructor(registry, Types, value, index, { definition, setDefinition = identity } = {}) {\n const { def, isBasic, isIndexed } = definition || setDefinition(extractDef(registry, Types));\n // shortcut isU8a as used in SCALE decoding\n const decoded = isU8a(value) && value.length && !isNumber(index)\n ? createFromU8a(registry, def, value[0], value.subarray(1))\n : decodeEnum(registry, def, value, index);\n this.registry = registry;\n this.#def = def;\n this.#isBasic = isBasic;\n this.#isIndexed = isIndexed;\n this.#indexes = Object.values(def).map(({ index }) => index);\n this.#entryIndex = this.#indexes.indexOf(decoded.index);\n this.#raw = decoded.value;\n if (this.#raw.initialU8aLength) {\n this.initialU8aLength = 1 + this.#raw.initialU8aLength;\n }\n }\n static with(Types) {\n let definition;\n // eslint-disable-next-line no-return-assign\n const setDefinition = (d) => definition = d;\n return class extends Enum {\n static {\n const keys = Array.isArray(Types)\n ? Types\n : Object.keys(Types);\n const count = keys.length;\n const asKeys = new Array(count);\n const isKeys = new Array(count);\n for (let i = 0; i < count; i++) {\n const name = stringPascalCase(keys[i]);\n asKeys[i] = `as${name}`;\n isKeys[i] = `is${name}`;\n }\n objectProperties(this.prototype, isKeys, (_, i, self) => self.type === keys[i]);\n objectProperties(this.prototype, asKeys, (k, i, self) => {\n if (self.type !== keys[i]) {\n throw new Error(`Cannot convert '${self.type}' via ${k}`);\n }\n return self.value;\n });\n }\n constructor(registry, value, index) {\n super(registry, Types, value, index, { definition, setDefinition });\n }\n };\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n return 1 + this.#raw.encodedLength;\n }\n /**\n * @description returns a hash of the contents\n */\n get hash() {\n return this.registry.hash(this.toU8a());\n }\n /**\n * @description The index of the enum value\n */\n get index() {\n return this.#indexes[this.#entryIndex];\n }\n /**\n * @description The value of the enum\n */\n get inner() {\n return this.#raw;\n }\n /**\n * @description true if this is a basic enum (no values)\n */\n get isBasic() {\n return this.#isBasic;\n }\n /**\n * @description Checks if the value is an empty value\n */\n get isEmpty() {\n return this.#raw.isEmpty;\n }\n /**\n * @description Checks if the Enum points to a [[Null]] type\n */\n get isNone() {\n return this.#raw instanceof Null;\n }\n /**\n * @description The available keys for this enum\n */\n get defIndexes() {\n return this.#indexes;\n }\n /**\n * @description The available keys for this enum\n */\n get defKeys() {\n return Object.keys(this.#def);\n }\n /**\n * @description The name of the type this enum value represents\n */\n get type() {\n return this.defKeys[this.#entryIndex];\n }\n /**\n * @description The value of the enum\n */\n get value() {\n return this.#raw;\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n // cater for the case where we only pass the enum index\n if (isU8a(other)) {\n return !this.toU8a().some((entry, index) => entry !== other[index]);\n }\n else if (isNumber(other)) {\n return this.toNumber() === other;\n }\n else if (this.#isBasic && isString(other)) {\n return this.type === other;\n }\n else if (isHex(other)) {\n return this.toHex() === other;\n }\n else if (other instanceof Enum) {\n return this.index === other.index && this.value.eq(other.value);\n }\n else if (isObject(other)) {\n return this.value.eq(other[this.type]);\n }\n // compare the actual wrapper value\n return this.value.eq(other);\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n if (this.#isBasic) {\n return { outer: [new Uint8Array([this.index])] };\n }\n const { inner, outer = [] } = this.#raw.inspect();\n return {\n inner,\n outer: [new Uint8Array([this.index]), ...outer]\n };\n }\n /**\n * @description Returns a hex string representation of the value\n */\n toHex() {\n return u8aToHex(this.toU8a());\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman(isExtended, disableAscii) {\n return this.#isBasic || this.isNone\n ? this.type\n : { [this.type]: this.#raw.toHuman(isExtended, disableAscii) };\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n return this.#isBasic\n ? this.type\n : { [stringCamelCase(this.type)]: this.#raw.toJSON() };\n }\n /**\n * @description Returns the number representation for the value\n */\n toNumber() {\n return this.index;\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive(disableAscii) {\n return this.#isBasic\n ? this.type\n : { [stringCamelCase(this.type)]: this.#raw.toPrimitive(disableAscii) };\n }\n /**\n * @description Returns a raw struct representation of the enum types\n */\n _toRawStruct() {\n if (this.#isBasic) {\n return this.#isIndexed\n ? this.defKeys.reduce((out, key, index) => {\n out[key] = this.#indexes[index];\n return out;\n }, {})\n : this.defKeys;\n }\n const entries = Object.entries(this.#def);\n return typesToMap(this.registry, entries.reduce((out, [key, { Type }], i) => {\n out[0][i] = Type;\n out[1][i] = key;\n return out;\n }, [new Array(entries.length), new Array(entries.length)]));\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return stringify({ _enum: this._toRawStruct() });\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n return this.isNone\n ? this.type\n : stringify(this.toJSON());\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8a(isBare) {\n return isBare\n ? this.#raw.toU8a(isBare)\n : u8aConcatStrict([\n new Uint8Array([this.index]),\n this.#raw.toU8a(isBare)\n ]);\n }\n}\n","import { isNull } from '@polkadot/util';\n/**\n * @name Null\n * @description\n * Implements a type that does not contain anything (apart from `null`)\n */\nexport class Null {\n encodedLength = 0;\n isEmpty = true;\n registry;\n createdAtHash;\n initialU8aLength = 0;\n isStorageFallback;\n constructor(registry) {\n this.registry = registry;\n }\n /**\n * @description returns a hash of the contents\n */\n get hash() {\n throw new Error('.hash is not implemented on Null');\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n return other instanceof Null || isNull(other);\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n return {};\n }\n /**\n * @description Returns a hex string representation of the value\n */\n toHex() {\n return '0x';\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman() {\n return this.toJSON();\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n return null;\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive() {\n return null;\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'Null';\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n return '';\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n */\n toU8a(_isBare) {\n return new Uint8Array();\n }\n}\n","import { AbstractInt } from '../abstract/Int.js';\n/**\n * @name Int\n * @description\n * A generic signed integer codec. For Substrate all numbers are Little Endian encoded,\n * this handles the encoding and decoding of those numbers. Upon construction\n * the bitLength is provided and any additional use keeps the number to this\n * length. This extends `BN`, so all methods available on a normal `BN` object\n * is available here.\n * @noInheritDoc\n */\nexport class Int extends AbstractInt {\n constructor(registry, value = 0, bitLength) {\n super(registry, value, bitLength, true);\n }\n static with(bitLength, typeName) {\n return class extends Int {\n constructor(registry, value) {\n super(registry, value, bitLength);\n }\n toRawType() {\n return typeName || super.toRawType();\n }\n };\n }\n}\n","import { identity, isCodec, isNull, isU8a, isUndefined, u8aToHex } from '@polkadot/util';\nimport { typeToConstructor } from '../utils/index.js';\nimport { Null } from './Null.js';\nclass None extends Null {\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'None';\n }\n}\n/** @internal */\nfunction decodeOption(registry, Type, value) {\n if (value instanceof Type) {\n // don't re-create, use as it (which also caters for derived types)\n return value;\n }\n else if (value instanceof Option) {\n if (value.value instanceof Type) {\n // same instance, return it\n return value.value;\n }\n else if (value.isNone) {\n // internal is None, we are also none\n return new None(registry);\n }\n // convert the actual value into known\n return new Type(registry, value.value);\n }\n else if (isNull(value) || isUndefined(value) || value === '0x' || value instanceof None) {\n // anything empty we pass as-is\n return new None(registry);\n }\n else if (isU8a(value)) {\n // the isU8a check happens last in the if-tree - since the wrapped value\n // may be an instance of it, so Type and Option checks go in first\n return !value.length || value[0] === 0\n ? new None(registry)\n : new Type(registry, value.subarray(1));\n }\n return new Type(registry, value);\n}\n/**\n * @name Option\n * @description\n * An Option is an optional field. Basically the first byte indicates that there is\n * is value to follow. If the byte is `1` there is an actual value. So the Option\n * implements that - decodes, checks for optionality and wraps the required structure\n * with a value if/as required/found.\n */\nexport class Option {\n registry;\n createdAtHash;\n initialU8aLength;\n isStorageFallback;\n #Type;\n #raw;\n constructor(registry, typeName, value, { definition, setDefinition = identity } = {}) {\n const Type = definition || setDefinition(typeToConstructor(registry, typeName));\n const decoded = isU8a(value) && value.length && !isCodec(value)\n ? value[0] === 0\n ? new None(registry)\n : new Type(registry, value.subarray(1))\n : decodeOption(registry, Type, value);\n this.registry = registry;\n this.#Type = Type;\n this.#raw = decoded;\n if (decoded?.initialU8aLength) {\n this.initialU8aLength = 1 + decoded.initialU8aLength;\n }\n }\n static with(Type) {\n let definition;\n const setDefinition = (d) => {\n definition = d;\n return d;\n };\n return class extends Option {\n constructor(registry, value) {\n super(registry, Type, value, { definition, setDefinition });\n }\n };\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n // boolean byte (has value, doesn't have) along with wrapped length\n return 1 + this.#raw.encodedLength;\n }\n /**\n * @description returns a hash of the contents\n */\n get hash() {\n return this.registry.hash(this.toU8a());\n }\n /**\n * @description Checks if the Option has no value\n */\n get isEmpty() {\n return this.isNone;\n }\n /**\n * @description Checks if the Option has no value\n */\n get isNone() {\n return this.#raw instanceof None;\n }\n /**\n * @description Checks if the Option has a value\n */\n get isSome() {\n return !this.isNone;\n }\n /**\n * @description The actual value for the Option\n */\n get value() {\n return this.#raw;\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n if (other instanceof Option) {\n return (this.isSome === other.isSome) && this.value.eq(other.value);\n }\n return this.value.eq(other);\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n if (this.isNone) {\n return { outer: [new Uint8Array([0])] };\n }\n const { inner, outer = [] } = this.#raw.inspect();\n return {\n inner,\n outer: [new Uint8Array([1]), ...outer]\n };\n }\n /**\n * @description Returns a hex string representation of the value\n */\n toHex() {\n // This attempts to align with the JSON encoding - actually in this case\n // the isSome value is correct, however the `isNone` may be problematic\n return this.isNone\n ? '0x'\n : u8aToHex(this.toU8a().subarray(1));\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman(isExtended, disableAscii) {\n return this.#raw.toHuman(isExtended, disableAscii);\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n return this.isNone\n ? null\n : this.#raw.toJSON();\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive(disableAscii) {\n return this.isNone\n ? null\n : this.#raw.toPrimitive(disableAscii);\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType(isBare) {\n const wrapped = this.registry.getClassName(this.#Type) || new this.#Type(this.registry).toRawType();\n return isBare\n ? wrapped\n : `Option<${wrapped}>`;\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n return this.#raw.toString();\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8a(isBare) {\n if (isBare) {\n return this.#raw.toU8a(true);\n }\n const u8a = new Uint8Array(this.encodedLength);\n if (this.isSome) {\n u8a.set([1]);\n u8a.set(this.#raw.toU8a(), 1);\n }\n return u8a;\n }\n /**\n * @description Returns the value that the Option represents (if available), throws if null\n */\n unwrap() {\n if (this.isNone) {\n throw new Error('Option: unwrapping a None value');\n }\n return this.#raw;\n }\n /**\n * @description Returns the value that the Option represents (if available) or defaultValue if none\n * @param defaultValue The value to return if the option isNone\n */\n unwrapOr(defaultValue) {\n return this.isSome\n ? this.unwrap()\n : defaultValue;\n }\n /**\n * @description Returns the value that the Option represents (if available) or defaultValue if none\n * @param defaultValue The value to return if the option isNone\n */\n unwrapOrDefault() {\n return this.isSome\n ? this.unwrap()\n : new this.#Type(this.registry);\n }\n}\n","import { Enum } from './Enum.js';\n/**\n * @name Result\n * @description\n * A Result maps to the Rust Result type, that can either wrap a success or error value\n */\nexport class Result extends Enum {\n constructor(registry, Ok, Err, value) {\n // NOTE This is order-dependent, Ok (with index 0) needs to be first\n // eslint-disable-next-line sort-keys\n super(registry, { Ok, Err }, value);\n }\n static with(Types) {\n return class extends Result {\n constructor(registry, value) {\n super(registry, Types.Ok, Types.Err, value);\n }\n };\n }\n /**\n * @description Returns the wrapper Err value (if isErr)\n */\n get asErr() {\n if (!this.isErr) {\n throw new Error('Cannot extract Err value from Ok result, check isErr first');\n }\n return this.value;\n }\n /**\n * @description Returns the wrapper Ok value (if isOk)\n */\n get asOk() {\n if (!this.isOk) {\n throw new Error('Cannot extract Ok value from Err result, check isOk first');\n }\n return this.value;\n }\n /**\n * @description Checks if the Result has no value\n */\n get isEmpty() {\n return this.isOk && this.value.isEmpty;\n }\n /**\n * @description Checks if the Result wraps an Err value\n */\n get isErr() {\n return !this.isOk;\n }\n /**\n * @description Checks if the Result wraps an Ok value\n */\n get isOk() {\n return this.index === 0;\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n const Types = this._toRawStruct();\n return `Result<${Types.Ok},${Types.Err}>`;\n }\n}\n","import { identity, isFunction, isHex, isString, isU8a, stringify, u8aConcatStrict, u8aToU8a } from '@polkadot/util';\nimport { AbstractArray } from '../abstract/Array.js';\nimport { decodeU8a, mapToTypeMap, typesToConstructors, typeToConstructor } from '../utils/index.js';\n/** @internal */\nfunction decodeTuple(registry, result, value, Classes) {\n if (Array.isArray(value)) {\n const Types = Classes[0];\n for (let i = 0, count = Types.length; i < count; i++) {\n try {\n const entry = value?.[i];\n result[i] = entry instanceof Types[i]\n ? entry\n : new Types[i](registry, entry);\n }\n catch (error) {\n throw new Error(`Tuple: failed on ${i}:: ${error.message}`);\n }\n }\n return [result, 0];\n }\n else if (isHex(value)) {\n return decodeU8a(registry, result, u8aToU8a(value), Classes);\n }\n else if (!value || !result.length) {\n const Types = Classes[0];\n for (let i = 0, count = Types.length; i < count; i++) {\n result[i] = new Types[i](registry);\n }\n return [result, 0];\n }\n throw new Error(`Expected array input to Tuple decoding, found ${typeof value}: ${stringify(value)}`);\n}\n/**\n * @name Tuple\n * @description\n * A Tuple defines an anonymous fixed-length array, where each element has its\n * own type. It extends the base JS `Array` object.\n */\nexport class Tuple extends AbstractArray {\n #Types;\n constructor(registry, Types, value, { definition, setDefinition = identity } = {}) {\n const Classes = definition || setDefinition(Array.isArray(Types)\n ? [typesToConstructors(registry, Types), []]\n : isFunction(Types) || isString(Types)\n ? [[typeToConstructor(registry, Types)], []]\n : mapToTypeMap(registry, Types));\n super(registry, Classes[0].length);\n this.initialU8aLength = (isU8a(value)\n ? decodeU8a(registry, this, value, Classes)\n : decodeTuple(registry, this, value, Classes))[1];\n this.#Types = Classes;\n }\n static with(Types) {\n let definition;\n // eslint-disable-next-line no-return-assign\n const setDefinition = (d) => definition = d;\n return class extends Tuple {\n constructor(registry, value) {\n super(registry, Types, value, { definition, setDefinition });\n }\n };\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n let total = 0;\n for (let i = 0, count = this.length; i < count; i++) {\n total += this[i].encodedLength;\n }\n return total;\n }\n /**\n * @description The types definition of the tuple\n */\n get Types() {\n return this.#Types[1].length\n ? this.#Types[1]\n : this.#Types[0].map((T) => new T(this.registry).toRawType());\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n return {\n inner: this.inspectInner()\n };\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n const types = this.#Types[0].map((T) => this.registry.getClassName(T) || new T(this.registry).toRawType());\n return `(${types.join(',')})`;\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n // Overwrite the default toString representation of Array.\n return stringify(this.toJSON());\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8a(isBare) {\n return u8aConcatStrict(this.toU8aInner(isBare));\n }\n}\n","import { AbstractInt } from '../abstract/Int.js';\n/**\n * @name UInt\n * @description\n * A generic unsigned integer codec. For Substrate all numbers are Little Endian encoded,\n * this handles the encoding and decoding of those numbers. Upon construction\n * the bitLength is provided and any additional use keeps the number to this\n * length. This extends `BN`, so all methods available on a normal `BN` object\n * is available here.\n * @noInheritDoc\n */\nexport class UInt extends AbstractInt {\n static with(bitLength, typeName) {\n return class extends UInt {\n constructor(registry, value) {\n super(registry, value, bitLength);\n }\n toRawType() {\n return typeName || super.toRawType();\n }\n };\n }\n}\n","import { compactFromU8aLim, identity, isHex, isU8a, logger, stringify, u8aToU8a } from '@polkadot/util';\nimport { AbstractArray } from '../abstract/Array.js';\nimport { decodeU8aVec, typeToConstructor } from '../utils/index.js';\nconst MAX_LENGTH = 512 * 1024;\nconst l = logger('Vec');\nfunction decodeVecLength(value) {\n if (Array.isArray(value)) {\n return [value, value.length, 0];\n }\n else if (isU8a(value) || isHex(value)) {\n const u8a = u8aToU8a(value);\n const [startAt, length] = compactFromU8aLim(u8a);\n if (length > MAX_LENGTH) {\n throw new Error(`Vec length ${length.toString()} exceeds ${MAX_LENGTH}`);\n }\n return [u8a, length, startAt];\n }\n else if (!value) {\n return [null, 0, 0];\n }\n throw new Error(`Expected array/hex input to Vec<*> decoding, found ${typeof value}: ${stringify(value)}`);\n}\nexport function decodeVec(registry, result, value, startAt, Type) {\n if (Array.isArray(value)) {\n const count = result.length;\n for (let i = 0; i < count; i++) {\n // 26/08/2022 this is actually a false positive - after recent eslint upgdates\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const entry = value[i];\n try {\n result[i] = entry instanceof Type\n ? entry\n : new Type(registry, entry);\n }\n catch (error) {\n l.error(`Unable to decode on index ${i}`, error.message);\n throw error;\n }\n }\n return [0, 0];\n }\n else if (!value) {\n return [0, 0];\n }\n // we don't need more checks, we already limited it via the length decoding\n return decodeU8aVec(registry, result, u8aToU8a(value), startAt, Type);\n}\n/**\n * @name Vec\n * @description\n * This manages codec arrays. Internally it keeps track of the length (as decoded) and allows\n * construction with the passed `Type` in the constructor. It is an extension to Array, providing\n * specific encoding/decoding on top of the base type.\n */\nexport class Vec extends AbstractArray {\n #Type;\n constructor(registry, Type, value = [], { definition, setDefinition = identity } = {}) {\n const [decodeFrom, length, startAt] = decodeVecLength(value);\n super(registry, length);\n this.#Type = definition || setDefinition(typeToConstructor(registry, Type));\n this.initialU8aLength = (isU8a(decodeFrom)\n ? decodeU8aVec(registry, this, decodeFrom, startAt, this.#Type)\n : decodeVec(registry, this, decodeFrom, startAt, this.#Type))[0];\n }\n static with(Type) {\n let definition;\n // eslint-disable-next-line no-return-assign\n const setDefinition = (d) => (definition = d);\n return class extends Vec {\n constructor(registry, value) {\n super(registry, Type, value, { definition, setDefinition });\n }\n };\n }\n /**\n * @description The type for the items\n */\n get Type() {\n return this.#Type.name;\n }\n /**\n * @description Finds the index of the value in the array\n */\n indexOf(other) {\n // convert type first, this removes overhead from the eq\n const check = other instanceof this.#Type\n ? other\n : new this.#Type(this.registry, other);\n for (let i = 0, count = this.length; i < count; i++) {\n if (check.eq(this[i])) {\n return i;\n }\n }\n return -1;\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return `Vec<${this.registry.getClassName(this.#Type) || new this.#Type(this.registry).toRawType()}>`;\n }\n}\n","import { identity, isU8a, u8aConcatStrict } from '@polkadot/util';\nimport { AbstractArray } from '../abstract/Array.js';\nimport { decodeU8aVec, typeToConstructor } from '../utils/index.js';\nimport { decodeVec } from './Vec.js';\n/**\n * @name VecFixed\n * @description\n * This manages codec arrays of a fixed length\n */\nexport class VecFixed extends AbstractArray {\n #Type;\n constructor(registry, Type, length, value = [], { definition, setDefinition = identity } = {}) {\n super(registry, length);\n this.#Type = definition || setDefinition(typeToConstructor(registry, Type));\n this.initialU8aLength = (isU8a(value)\n ? decodeU8aVec(registry, this, value, 0, this.#Type)\n : decodeVec(registry, this, value, 0, this.#Type))[1];\n }\n static with(Type, length) {\n let definition;\n // eslint-disable-next-line no-return-assign\n const setDefinition = (d) => (definition = d);\n return class extends VecFixed {\n constructor(registry, value) {\n super(registry, Type, length, value, { definition, setDefinition });\n }\n };\n }\n /**\n * @description The type for the items\n */\n get Type() {\n return new this.#Type(this.registry).toRawType();\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n let total = 0;\n for (let i = 0, count = this.length; i < count; i++) {\n total += this[i].encodedLength;\n }\n return total;\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n return {\n inner: this.inspectInner()\n };\n }\n toU8a() {\n // we override, we don't add the length prefix for ourselves, and at the same time we\n // ignore isBare on entries, since they should be properly encoded at all times\n const encoded = this.toU8aInner();\n return encoded.length\n ? u8aConcatStrict(encoded)\n : new Uint8Array([]);\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return `[${this.Type};${this.length}]`;\n }\n}\n","import { compactFromU8aLim, compactToU8a, isString, u8aConcatStrict, u8aToU8a } from '@polkadot/util';\nimport { Raw } from '../native/Raw.js';\n/** @internal */\nfunction decodeBitVecU8a(value) {\n if (!value?.length) {\n return [0, new Uint8Array()];\n }\n // handle all other Uint8Array inputs, these do have a length prefix which is the number of bits encoded\n const [offset, length] = compactFromU8aLim(value);\n const total = offset + Math.ceil(length / 8);\n if (total > value.length) {\n throw new Error(`BitVec: required length less than remainder, expected at least ${total}, found ${value.length}`);\n }\n return [length, value.subarray(offset, total)];\n}\n/** @internal */\nfunction decodeBitVec(value) {\n if (Array.isArray(value) || isString(value)) {\n const u8a = u8aToU8a(value);\n return [u8a.length * 8, u8a];\n }\n return decodeBitVecU8a(value);\n}\n/**\n * @name BitVec\n * @description\n * A BitVec that represents an array of bits. The bits are however stored encoded. The difference between this\n * and a normal Bytes would be that the length prefix indicates the number of bits encoded, not the bytes\n */\nexport class BitVec extends Raw {\n #decodedLength;\n #isMsb;\n // In lieu of having the Msb/Lsb identifiers passed through, we default to assuming\n // we are dealing with Lsb, which is the default (as of writing) BitVec format used\n // in the Polkadot code (this only affects the toHuman displays)\n constructor(registry, value, isMsb = false) {\n const [decodedLength, u8a] = decodeBitVec(value);\n super(registry, u8a);\n this.#decodedLength = decodedLength;\n this.#isMsb = isMsb;\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n return this.length + compactToU8a(this.#decodedLength).length;\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n return {\n outer: [compactToU8a(this.#decodedLength), super.toU8a()]\n };\n }\n /**\n * @description Creates a boolean array of the bit values\n */\n toBoolArray() {\n const map = [...this.toU8a(true)].map((v) => [\n !!(v & 0b1000_0000),\n !!(v & 0b0100_0000),\n !!(v & 0b0010_0000),\n !!(v & 0b0001_0000),\n !!(v & 0b0000_1000),\n !!(v & 0b0000_0100),\n !!(v & 0b0000_0010),\n !!(v & 0b0000_0001)\n ]);\n const count = map.length;\n const result = new Array(8 * count);\n for (let i = 0; i < count; i++) {\n const off = i * 8;\n const v = map[i];\n for (let j = 0; j < 8; j++) {\n result[off + j] = this.#isMsb\n ? v[j]\n : v[7 - j];\n }\n }\n return result;\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman() {\n return `0b${[...this.toU8a(true)]\n .map((d) => `00000000${d.toString(2)}`.slice(-8))\n .map((s) => this.#isMsb ? s : s.split('').reverse().join(''))\n .join('_')}`;\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'BitVec';\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8a(isBare) {\n const bitVec = super.toU8a(isBare);\n return isBare\n ? bitVec\n : u8aConcatStrict([compactToU8a(this.#decodedLength), bitVec]);\n }\n}\n","import { isAscii, isUndefined, isUtf8, u8aToHex, u8aToString, u8aToU8a } from '@polkadot/util';\n/**\n * @name Raw\n * @description\n * A basic wrapper around Uint8Array, with no frills and no fuss. It does differ\n * from other implementations where it will consume the full Uint8Array as passed to it.\n * As such it is meant to be subclassed where the wrapper takes care of the\n * actual lengths instead of used directly.\n * @noInheritDoc\n */\nexport class Raw extends Uint8Array {\n registry;\n createdAtHash;\n initialU8aLength;\n isStorageFallback;\n /**\n * @description This ensures that operators such as clice, filter, map, etc. return\n * new Array instances (without this we need to apply overrides)\n */\n static get [Symbol.species]() {\n return Uint8Array;\n }\n constructor(registry, value, initialU8aLength) {\n super(u8aToU8a(value));\n this.registry = registry;\n this.initialU8aLength = initialU8aLength;\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n return this.length;\n }\n /**\n * @description returns a hash of the contents\n */\n get hash() {\n return this.registry.hash(this.toU8a());\n }\n /**\n * @description Returns true if the wrapped value contains only ASCII printable characters\n */\n get isAscii() {\n return isAscii(this);\n }\n /**\n * @description Returns true if the type wraps an empty/default all-0 value\n */\n get isEmpty() {\n return !this.length || isUndefined(this.find((b) => !!b));\n }\n /**\n * @description Returns true if the wrapped value contains only utf8 characters\n */\n get isUtf8() {\n return isUtf8(this);\n }\n /**\n * @description Returns the number of bits in the value\n */\n bitLength() {\n return this.length * 8;\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n if (other instanceof Uint8Array) {\n return (this.length === other.length) &&\n !this.some((b, index) => b !== other[index]);\n }\n return this.eq(u8aToU8a(other));\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n return {\n outer: [this.toU8a()]\n };\n }\n /**\n * @description Returns a hex string representation of the value\n */\n toHex() {\n return u8aToHex(this);\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman(_isExtended, disableAscii) {\n return this.toPrimitive(disableAscii);\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n return this.toHex();\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive(disableAscii) {\n if (!disableAscii && this.isAscii) {\n const text = this.toUtf8();\n // ensure we didn't end up with multibyte codepoints\n if (isAscii(text)) {\n return text;\n }\n }\n return this.toJSON();\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'Raw';\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n return this.toHex();\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n */\n toU8a(_isBare) {\n return Uint8Array.from(this);\n }\n /**\n * @description Returns the wrapped data as a UTF-8 string\n */\n toUtf8() {\n if (!this.isUtf8) {\n throw new Error('The character sequence is not a valid Utf8 string');\n }\n return u8aToString(this);\n }\n}\n","import { compactFromU8aLim, compactToU8a, isHex, isObject, isU8a, logger, stringify, u8aConcatStrict, u8aToHex, u8aToU8a } from '@polkadot/util';\nimport { AbstractArray } from '../abstract/Array.js';\nimport { Enum } from '../base/Enum.js';\nimport { Raw } from '../native/Raw.js';\nimport { Struct } from '../native/Struct.js';\nimport { compareMap, decodeU8a, sortMap, typeToConstructor } from '../utils/index.js';\nconst l = logger('Map');\n/** @internal */\nfunction decodeMapFromU8a(registry, KeyClass, ValClass, u8a) {\n const output = new Map();\n const [offset, count] = compactFromU8aLim(u8a);\n const types = [];\n for (let i = 0; i < count; i++) {\n types.push(KeyClass, ValClass);\n }\n const [values, decodedLength] = decodeU8a(registry, new Array(types.length), u8a.subarray(offset), [types, []]);\n for (let i = 0, count = values.length; i < count; i += 2) {\n output.set(values[i], values[i + 1]);\n }\n return [KeyClass, ValClass, output, offset + decodedLength];\n}\n/** @internal */\nfunction decodeMapFromMap(registry, KeyClass, ValClass, value) {\n const output = new Map();\n for (const [key, val] of value.entries()) {\n const isComplex = KeyClass.prototype instanceof AbstractArray ||\n KeyClass.prototype instanceof Struct ||\n KeyClass.prototype instanceof Enum;\n try {\n output.set(key instanceof KeyClass\n ? key\n : new KeyClass(registry, isComplex && typeof key === 'string' ? JSON.parse(key) : key), val instanceof ValClass\n ? val\n : new ValClass(registry, val));\n }\n catch (error) {\n l.error('Failed to decode key or value:', error.message);\n throw error;\n }\n }\n return [KeyClass, ValClass, output, 0];\n}\n/**\n * Decode input to pass into constructor.\n *\n * @param KeyClass - Type of the map key\n * @param ValClass - Type of the map value\n * @param value - Value to decode, one of:\n * - null\n * - undefined\n * - hex\n * - Uint8Array\n * - Map<any, any>, where both key and value types are either\n * constructors or decodeable values for their types.\n * @param jsonMap\n * @internal\n */\nfunction decodeMap(registry, keyType, valType, value) {\n const KeyClass = typeToConstructor(registry, keyType);\n const ValClass = typeToConstructor(registry, valType);\n if (!value) {\n return [KeyClass, ValClass, new Map(), 0];\n }\n else if (isU8a(value) || isHex(value)) {\n return decodeMapFromU8a(registry, KeyClass, ValClass, u8aToU8a(value));\n }\n else if (value instanceof Map) {\n return decodeMapFromMap(registry, KeyClass, ValClass, value);\n }\n else if (isObject(value)) {\n return decodeMapFromMap(registry, KeyClass, ValClass, new Map(Object.entries(value)));\n }\n throw new Error('Map: cannot decode type');\n}\nexport class CodecMap extends Map {\n registry;\n createdAtHash;\n initialU8aLength;\n isStorageFallback;\n #KeyClass;\n #ValClass;\n #type;\n constructor(registry, keyType, valType, rawValue, type = 'HashMap') {\n const [KeyClass, ValClass, decoded, decodedLength] = decodeMap(registry, keyType, valType, rawValue);\n super(type === 'BTreeMap' ? sortMap(decoded) : decoded);\n this.registry = registry;\n this.initialU8aLength = decodedLength;\n this.#KeyClass = KeyClass;\n this.#ValClass = ValClass;\n this.#type = type;\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n let len = compactToU8a(this.size).length;\n for (const [k, v] of this.entries()) {\n len += k.encodedLength + v.encodedLength;\n }\n return len;\n }\n /**\n * @description Returns a hash of the value\n */\n get hash() {\n return this.registry.hash(this.toU8a());\n }\n /**\n * @description Checks if the value is an empty value\n */\n get isEmpty() {\n return this.size === 0;\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n return compareMap(this, other);\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n const inner = [];\n for (const [k, v] of this.entries()) {\n inner.push(k.inspect());\n inner.push(v.inspect());\n }\n return {\n inner,\n outer: [compactToU8a(this.size)]\n };\n }\n /**\n * @description Returns a hex string representation of the value. isLe returns a LE (number-only) representation\n */\n toHex() {\n return u8aToHex(this.toU8a());\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman(isExtended, disableAscii) {\n const json = {};\n for (const [k, v] of this.entries()) {\n json[k instanceof Raw && !disableAscii && k.isAscii\n ? k.toUtf8()\n : k.toString()] = v.toHuman(isExtended, disableAscii);\n }\n return json;\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n const json = {};\n for (const [k, v] of this.entries()) {\n json[k.toString()] = v.toJSON();\n }\n return json;\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive(disableAscii) {\n const json = {};\n for (const [k, v] of this.entries()) {\n json[k instanceof Raw && !disableAscii && k.isAscii\n ? k.toUtf8()\n : k.toString()] = v.toPrimitive(disableAscii);\n }\n return json;\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return `${this.#type}<${this.registry.getClassName(this.#KeyClass) || new this.#KeyClass(this.registry).toRawType()},${this.registry.getClassName(this.#ValClass) || new this.#ValClass(this.registry).toRawType()}>`;\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n return stringify(this.toJSON());\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8a(isBare) {\n const encoded = [];\n if (!isBare) {\n encoded.push(compactToU8a(this.size));\n }\n for (const [k, v] of this.entries()) {\n encoded.push(k.toU8a(isBare), v.toU8a(isBare));\n }\n return u8aConcatStrict(encoded);\n }\n}\n","import { isBoolean, isHex, isObject, isU8a, isUndefined, objectProperties, stringCamelCase, stringify, u8aConcatStrict, u8aToHex, u8aToU8a } from '@polkadot/util';\nimport { compareMap, decodeU8aStruct, mapToTypeMap, typesToMap } from '../utils/index.js';\nfunction noopSetDefinition(d) {\n return d;\n}\n/** @internal */\nfunction decodeStructFromObject(registry, [Types, keys], value, jsonMap) {\n let jsonObj;\n const typeofArray = Array.isArray(value);\n const typeofMap = value instanceof Map;\n const count = keys.length;\n if (!typeofArray && !typeofMap && !isObject(value)) {\n throw new Error(`Struct: Cannot decode value ${stringify(value)} (typeof ${typeof value}), expected an input object, map or array`);\n }\n else if (typeofArray && value.length !== count) {\n throw new Error(`Struct: Unable to map ${stringify(value)} array to object with known keys ${keys.join(', ')}`);\n }\n const raw = new Array(count);\n for (let i = 0; i < count; i++) {\n const key = keys[i];\n const jsonKey = jsonMap.get(key) || key;\n const Type = Types[i];\n let assign;\n try {\n if (typeofArray) {\n assign = value[i];\n }\n else if (typeofMap) {\n assign = jsonKey && value.get(jsonKey);\n }\n else {\n assign = jsonKey && Object.prototype.hasOwnProperty.call(value, jsonKey) ? value[jsonKey] : undefined;\n if (isUndefined(assign)) {\n if (isUndefined(jsonObj)) {\n const entries = Object.entries(value);\n jsonObj = {};\n for (let e = 0, ecount = entries.length; e < ecount; e++) {\n if (Object.prototype.hasOwnProperty.call(value, entries[e][0])) {\n jsonObj[stringCamelCase(entries[e][0])] = entries[e][1];\n }\n }\n }\n assign = jsonKey && Object.prototype.hasOwnProperty.call(jsonObj, jsonKey) ? jsonObj[jsonKey] : undefined;\n }\n }\n raw[i] = [\n key,\n assign instanceof Type\n ? assign\n : new Type(registry, assign)\n ];\n }\n catch (error) {\n let type = Type.name;\n try {\n type = new Type(registry).toRawType();\n }\n catch {\n // ignore\n }\n throw new Error(`Struct: failed on ${jsonKey}: ${type}:: ${error.message}`);\n }\n }\n return [raw, 0];\n}\n/**\n * @name Struct\n * @description\n * A Struct defines an Object with key-value pairs - where the values are Codec values. It removes\n * a lot of repetition from the actual coding, define a structure type, pass it the key/Codec\n * values in the constructor and it manages the decoding. It is important that the constructor\n * values matches 100% to the order in th Rust code, i.e. don't go crazy and make it alphabetical,\n * it needs to decoded in the specific defined order.\n * @noInheritDoc\n */\nexport class Struct extends Map {\n registry;\n createdAtHash;\n initialU8aLength;\n isStorageFallback;\n #jsonMap;\n #Types;\n constructor(registry, Types, value, jsonMap = new Map(), { definition, setDefinition = noopSetDefinition } = {}) {\n const typeMap = definition || setDefinition(mapToTypeMap(registry, Types));\n const [decoded, decodedLength] = isU8a(value) || isHex(value)\n ? decodeU8aStruct(registry, new Array(typeMap[0].length), u8aToU8a(value), typeMap)\n : value instanceof Struct\n ? [value, 0]\n : decodeStructFromObject(registry, typeMap, value || {}, jsonMap);\n super(decoded);\n this.initialU8aLength = decodedLength;\n this.registry = registry;\n this.#jsonMap = jsonMap;\n this.#Types = typeMap;\n }\n static with(Types, jsonMap) {\n let definition;\n // eslint-disable-next-line no-return-assign\n const setDefinition = (d) => definition = d;\n return class extends Struct {\n static {\n const keys = Object.keys(Types);\n objectProperties(this.prototype, keys, (k, _, self) => self.get(k));\n }\n constructor(registry, value) {\n super(registry, Types, value, jsonMap, { definition, setDefinition });\n }\n };\n }\n /**\n * @description The available keys for this struct\n */\n get defKeys() {\n return this.#Types[1];\n }\n /**\n * @description Checks if the value is an empty value '{}'\n */\n get isEmpty() {\n return [...this.keys()].length === 0;\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n let total = 0;\n for (const v of this.values()) {\n total += v.encodedLength;\n }\n return total;\n }\n /**\n * @description returns a hash of the contents\n */\n get hash() {\n return this.registry.hash(this.toU8a());\n }\n /**\n * @description Returns the Type description of the structure\n */\n get Type() {\n const result = {};\n const [Types, keys] = this.#Types;\n for (let i = 0, count = keys.length; i < count; i++) {\n result[keys[i]] = new Types[i](this.registry).toRawType();\n }\n return result;\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n return compareMap(this, other);\n }\n /**\n * @description Returns a specific names entry in the structure\n * @param key The name of the entry to retrieve\n */\n get(key) {\n return super.get(key);\n }\n /**\n * @description Returns the values of a member at a specific index (Rather use get(name) for performance)\n */\n getAtIndex(index) {\n return this.toArray()[index];\n }\n /**\n * @description Returns the a types value by name\n */\n getT(key) {\n return super.get(key);\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect(isBare) {\n const inner = [];\n for (const [k, v] of this.entries()) {\n inner.push({\n ...v.inspect(!isBare || isBoolean(isBare)\n ? isBare\n : isBare[k]),\n name: stringCamelCase(k)\n });\n }\n return {\n inner\n };\n }\n /**\n * @description Converts the Object to an standard JavaScript Array\n */\n toArray() {\n return [...this.values()];\n }\n /**\n * @description Returns a hex string representation of the value\n */\n toHex() {\n return u8aToHex(this.toU8a());\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman(isExtended, disableAscii) {\n const json = {};\n for (const [k, v] of this.entries()) {\n json[k] = v.toHuman(isExtended, disableAscii);\n }\n return json;\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n const json = {};\n for (const [k, v] of this.entries()) {\n // Here we pull out the entry against the JSON mapping (if supplied)\n // since this representation goes over RPC and needs to be correct\n json[(this.#jsonMap.get(k) || k)] = v.toJSON();\n }\n return json;\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive(disableAscii) {\n const json = {};\n for (const [k, v] of this.entries()) {\n json[k] = v.toPrimitive(disableAscii);\n }\n return json;\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return stringify(typesToMap(this.registry, this.#Types));\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n return stringify(this.toJSON());\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8a(isBare) {\n const encoded = [];\n for (const [k, v] of this.entries()) {\n encoded.push(v.toU8a(!isBare || isBoolean(isBare)\n ? isBare\n : isBare[k]));\n }\n return u8aConcatStrict(encoded);\n }\n}\n","import { CodecMap } from './Map.js';\nexport class BTreeMap extends CodecMap {\n static with(keyType, valType) {\n return class extends BTreeMap {\n constructor(registry, value) {\n super(registry, keyType, valType, value, 'BTreeMap');\n }\n };\n }\n}\n","import { compactFromU8aLim, compactToU8a, isHex, isU8a, logger, stringify, u8aConcatStrict, u8aToHex, u8aToU8a } from '@polkadot/util';\nimport { compareSet, decodeU8aVec, sortSet, typeToConstructor } from '../utils/index.js';\nconst l = logger('BTreeSet');\n/** @internal */\nfunction decodeSetFromU8a(registry, ValClass, u8a) {\n const output = new Set();\n const [offset, count] = compactFromU8aLim(u8a);\n const result = new Array(count);\n const [decodedLength] = decodeU8aVec(registry, result, u8a, offset, ValClass);\n for (let i = 0; i < count; i++) {\n output.add(result[i]);\n }\n return [ValClass, output, decodedLength];\n}\n/** @internal */\nfunction decodeSetFromSet(registry, ValClass, value) {\n const output = new Set();\n value.forEach((val) => {\n try {\n output.add((val instanceof ValClass) ? val : new ValClass(registry, val));\n }\n catch (error) {\n l.error('Failed to decode key or value:', error.message);\n throw error;\n }\n });\n return [ValClass, output, 0];\n}\n/**\n * Decode input to pass into constructor.\n *\n * @param ValClass - Type of the map value\n * @param value - Value to decode, one of:\n * - null\n * - undefined\n * - hex\n * - Uint8Array\n * - Set<any>, where both key and value types are either\n * constructors or decodeable values for their types.\n * @param jsonSet\n * @internal\n */\nfunction decodeSet(registry, valType, value) {\n const ValClass = typeToConstructor(registry, valType);\n if (!value) {\n return [ValClass, new Set(), 0];\n }\n else if (isU8a(value) || isHex(value)) {\n return decodeSetFromU8a(registry, ValClass, u8aToU8a(value));\n }\n else if (Array.isArray(value) || value instanceof Set) {\n return decodeSetFromSet(registry, ValClass, value);\n }\n throw new Error('BTreeSet: cannot decode type');\n}\nexport class BTreeSet extends Set {\n registry;\n createdAtHash;\n initialU8aLength;\n isStorageFallback;\n #ValClass;\n constructor(registry, valType, rawValue) {\n const [ValClass, values, decodedLength] = decodeSet(registry, valType, rawValue);\n super(sortSet(values));\n this.registry = registry;\n this.initialU8aLength = decodedLength;\n this.#ValClass = ValClass;\n }\n static with(valType) {\n return class extends BTreeSet {\n constructor(registry, value) {\n super(registry, valType, value);\n }\n };\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n let len = compactToU8a(this.size).length;\n for (const v of this.values()) {\n len += v.encodedLength;\n }\n return len;\n }\n /**\n * @description Returns a hash of the value\n */\n get hash() {\n return this.registry.hash(this.toU8a());\n }\n /**\n * @description Checks if the value is an empty value\n */\n get isEmpty() {\n return this.size === 0;\n }\n /**\n * @description The actual set values as a string[]\n */\n get strings() {\n return [...super.values()].map((v) => v.toString());\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n return compareSet(this, other);\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n const inner = [];\n for (const v of this.values()) {\n inner.push(v.inspect());\n }\n return {\n inner,\n outer: [compactToU8a(this.size)]\n };\n }\n /**\n * @description Returns a hex string representation of the value. isLe returns a LE (number-only) representation\n */\n toHex() {\n return u8aToHex(this.toU8a());\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman(isExtended, disableAscii) {\n const json = [];\n for (const v of this.values()) {\n json.push(v.toHuman(isExtended, disableAscii));\n }\n return json;\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n const json = [];\n for (const v of this.values()) {\n json.push(v.toJSON());\n }\n return json;\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return `BTreeSet<${this.registry.getClassName(this.#ValClass) || new this.#ValClass(this.registry).toRawType()}>`;\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive(disableAscii) {\n const json = [];\n for (const v of this.values()) {\n json.push(v.toPrimitive(disableAscii));\n }\n return json;\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n return stringify(this.toJSON());\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8a(isBare) {\n const encoded = [];\n if (!isBare) {\n encoded.push(compactToU8a(this.size));\n }\n for (const v of this.values()) {\n encoded.push(v.toU8a(isBare));\n }\n return u8aConcatStrict(encoded);\n }\n}\n","import { compactAddLength, compactFromU8aLim, compactToU8a, isString, isU8a, u8aToU8a } from '@polkadot/util';\nimport { Raw } from '../native/Raw.js';\nconst MAX_LENGTH = 10 * 1024 * 1024;\n/** @internal */\nfunction decodeBytesU8a(value) {\n if (!value.length) {\n return [new Uint8Array(), 0];\n }\n // handle all other Uint8Array inputs, these do have a length prefix\n const [offset, length] = compactFromU8aLim(value);\n const total = offset + length;\n if (length > MAX_LENGTH) {\n throw new Error(`Bytes length ${length.toString()} exceeds ${MAX_LENGTH}`);\n }\n else if (total > value.length) {\n throw new Error(`Bytes: required length less than remainder, expected at least ${total}, found ${value.length}`);\n }\n return [value.subarray(offset, total), total];\n}\n/**\n * @name Bytes\n * @description\n * A Bytes wrapper for Vec<u8>. The significant difference between this and a normal Uint8Array\n * is that this version allows for length-encoding. (i.e. it is a variable-item codec, the same\n * as what is found in [[Text]] and [[Vec]])\n */\nexport class Bytes extends Raw {\n constructor(registry, value) {\n const [u8a, decodedLength] = isU8a(value) && !(value instanceof Raw)\n ? decodeBytesU8a(value)\n : Array.isArray(value) || isString(value)\n ? [u8aToU8a(value), 0]\n : [value, 0];\n super(registry, u8a, decodedLength);\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n return this.length + compactToU8a(this.length).length;\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect(isBare) {\n const clength = compactToU8a(this.length);\n return {\n outer: isBare\n ? [super.toU8a()]\n : this.length\n ? [clength, super.toU8a()]\n : [clength]\n };\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'Bytes';\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8a(isBare) {\n return isBare\n ? super.toU8a(isBare)\n : compactAddLength(this);\n }\n}\n","import { CodecMap } from './Map.js';\nexport class HashMap extends CodecMap {\n static with(keyType, valType) {\n return class extends HashMap {\n constructor(registry, value) {\n super(registry, keyType, valType, value);\n }\n };\n }\n}\n","import { isHex, isU8a, u8aToU8a } from '@polkadot/util';\nimport { Option } from '../base/Option.js';\nimport { bool as Bool } from '../native/Bool.js';\nfunction decodeU8a(registry, value) {\n // Encoded as -\n // - 0 = None\n // - 1 = True\n // - 2 = False\n return value[0] === 0\n ? null\n : new Bool(registry, value[0] === 1);\n}\n/**\n * @name OptionBool\n * @description A specific implementation of Option<bool> than allows for single-byte encoding\n */\nexport class OptionBool extends Option {\n constructor(registry, value) {\n super(registry, Bool, isU8a(value) || isHex(value)\n ? decodeU8a(registry, u8aToU8a(value))\n : value);\n this.initialU8aLength = 1;\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n return 1 | 0;\n }\n /**\n * @description Checks if the value is an empty value (always false)\n */\n get isFalse() {\n return this.isSome\n ? !this.value.valueOf()\n : false;\n }\n /**\n * @description Checks if the value is an empty value (always false)\n */\n get isTrue() {\n return this.isSome\n ? this.value.valueOf()\n : false;\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n return { outer: [this.toU8a()] };\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType(isBare) {\n return isBare\n ? 'bool'\n : 'Option<bool>';\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8a(isBare) {\n if (isBare) {\n return super.toU8a(true);\n }\n return this.isSome\n ? new Uint8Array([this.isTrue ? 1 : 2])\n : new Uint8Array([0]);\n }\n}\n","import { isU8a, u8aToHex } from '@polkadot/util';\n/**\n * @name bool\n * @description\n * Representation for a boolean value in the system. It extends the base JS `Boolean` class\n * @noInheritDoc\n */\nexport class bool extends Boolean {\n registry;\n createdAtHash;\n initialU8aLength = 1;\n isStorageFallback;\n constructor(registry, value = false) {\n super(isU8a(value)\n ? value[0] === 1\n : value instanceof Boolean\n ? value.valueOf()\n : !!value);\n this.registry = registry;\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n return 1 | 0;\n }\n /**\n * @description returns a hash of the contents\n */\n get hash() {\n return this.registry.hash(this.toU8a());\n }\n /**\n * @description Checks if the value is an empty value (true when it wraps false/default)\n */\n get isEmpty() {\n return this.isFalse;\n }\n /**\n * @description Checks if the value is an empty value (always false)\n */\n get isFalse() {\n return !this.isTrue;\n }\n /**\n * @description Checks if the value is an empty value (always false)\n */\n get isTrue() {\n return this.valueOf();\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n return this.valueOf() === (other instanceof Boolean\n ? other.valueOf()\n : other);\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n return {\n outer: [this.toU8a()]\n };\n }\n /**\n * @description Returns a hex string representation of the value\n */\n toHex() {\n return u8aToHex(this.toU8a());\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman() {\n return this.toJSON();\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n return this.valueOf();\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive() {\n return this.toJSON();\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'bool';\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n return this.toJSON().toString();\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n */\n toU8a(_isBare) {\n return new Uint8Array([this.valueOf() ? 1 : 0]);\n }\n}\n","import { Tuple } from '../base/Tuple.js';\n/**\n * @name Range\n * @description\n * Rust `Range<T>` representation\n */\nexport class Range extends Tuple {\n #rangeName;\n constructor(registry, Type, value, { rangeName = 'Range' } = {}) {\n super(registry, [Type, Type], value);\n this.#rangeName = rangeName;\n }\n static with(Type) {\n return class extends Range {\n constructor(registry, value) {\n super(registry, Type, value);\n }\n };\n }\n /**\n * @description Returns the starting range value\n */\n get start() {\n return this[0];\n }\n /**\n * @description Returns the ending range value\n */\n get end() {\n return this[1];\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return `${this.#rangeName}<${this.start.toRawType()}>`;\n }\n}\n","import { Range } from './Range.js';\nexport class RangeInclusive extends Range {\n constructor(registry, Type, value) {\n super(registry, Type, value, { rangeName: 'RangeInclusive' });\n }\n static with(Type) {\n return class extends RangeInclusive {\n constructor(registry, value) {\n super(registry, Type, value);\n }\n };\n }\n}\n","import { compactAddLength, compactFromU8aLim, compactToU8a, hexToU8a, isHex, isString, isU8a, stringToU8a, u8aToHex, u8aToString } from '@polkadot/util';\nimport { Raw } from './Raw.js';\nconst MAX_LENGTH = 128 * 1024;\n/** @internal */\nfunction decodeText(value) {\n if (isU8a(value)) {\n if (!value.length) {\n return ['', 0];\n }\n // for Raw, the internal buffer does not have an internal length\n // (the same applies in e.g. Bytes, where length is added at encoding-time)\n if (value instanceof Raw) {\n return [u8aToString(value), 0];\n }\n const [offset, length] = compactFromU8aLim(value);\n const total = offset + length;\n if (length > MAX_LENGTH) {\n throw new Error(`Text: length ${length.toString()} exceeds ${MAX_LENGTH}`);\n }\n else if (total > value.length) {\n throw new Error(`Text: required length less than remainder, expected at least ${total}, found ${value.length}`);\n }\n return [u8aToString(value.subarray(offset, total)), total];\n }\n else if (isHex(value)) {\n return [u8aToString(hexToU8a(value)), 0];\n }\n return [value ? value.toString() : '', 0];\n}\n/**\n * @name Text\n * @description\n * This is a string wrapper, along with the length. It is used both for strings as well\n * as items such as documentation. It simply extends the standard JS `String` built-in\n * object, inheriting all methods exposed from `String`.\n * @noInheritDoc\n */\nexport class Text extends String {\n registry;\n createdAtHash;\n initialU8aLength;\n isStorageFallback;\n #override = null;\n constructor(registry, value) {\n const [str, decodedLength] = decodeText(value);\n super(str);\n this.registry = registry;\n this.initialU8aLength = decodedLength;\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n return this.toU8a().length;\n }\n /**\n * @description returns a hash of the contents\n */\n get hash() {\n return this.registry.hash(this.toU8a());\n }\n /**\n * @description Checks if the value is an empty value\n */\n get isEmpty() {\n return this.length === 0;\n }\n /**\n * @description The length of the value\n */\n get length() {\n // only included here since we ignore inherited docs\n return super.length;\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n return isString(other)\n ? this.toString() === other.toString()\n : false;\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n const value = stringToU8a(super.toString());\n return {\n outer: value.length\n ? [compactToU8a(value.length), value]\n : [compactToU8a(value.length)]\n };\n }\n /**\n * @description Set an override value for this\n */\n setOverride(override) {\n this.#override = override;\n }\n /**\n * @description Returns a hex string representation of the value\n */\n toHex() {\n // like with Vec<u8>, when we are encoding to hex, we don't actually add\n // the length prefix (it is already implied by the actual string length)\n return u8aToHex(this.toU8a(true));\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman() {\n return this.toJSON();\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n return this.toString();\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive() {\n return this.toJSON();\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'Text';\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n return this.#override || super.toString();\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8a(isBare) {\n // NOTE Here we use the super toString (we are not taking overrides into account,\n // rather encoding the original value the string was constructed with)\n const encoded = stringToU8a(super.toString());\n return isBare\n ? encoded\n : compactAddLength(encoded);\n }\n}\n","import { Text } from '../native/Text.js';\nimport { sanitize } from '../utils/index.js';\n/**\n * @name Type\n * @description\n * This is a extended version of Text, specifically to handle types. Here we rely fully\n * on what Text provides us, however we also adjust the types received from the runtime,\n * i.e. we remove the `T::` prefixes found in some types for consistency across implementation.\n */\nexport class Type extends Text {\n constructor(registry, value = '') {\n super(registry, value);\n this.setOverride(sanitize(this.toString()));\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'Type';\n }\n}\n","import { isU8a, u8aToU8a } from '@polkadot/util';\nimport { Raw } from '../native/Raw.js';\n/** @internal */\nfunction decodeU8aFixed(value, bitLength) {\n const u8a = u8aToU8a(value);\n const byteLength = bitLength / 8;\n if (!u8a.length) {\n return [new Uint8Array(byteLength), 0];\n }\n if (isU8a(value) ? u8a.length < byteLength : u8a.length !== byteLength) {\n throw new Error(`Expected input with ${byteLength} bytes (${bitLength} bits), found ${u8a.length} bytes`);\n }\n return [u8a.subarray(0, byteLength), byteLength];\n}\n/**\n * @name U8aFixed\n * @description\n * A U8a that manages a a sequence of bytes up to the specified bitLength. Not meant\n * to be used directly, rather is should be subclassed with the specific lengths.\n */\nexport class U8aFixed extends Raw {\n constructor(registry, value = new Uint8Array(), bitLength = 256) {\n const [u8a, decodedLength] = decodeU8aFixed(value, bitLength);\n super(registry, u8a, decodedLength);\n }\n static with(bitLength, typeName) {\n return class extends U8aFixed {\n constructor(registry, value) {\n super(registry, value, bitLength);\n }\n toRawType() {\n return typeName || super.toRawType();\n }\n };\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return `[u8;${this.length}]`;\n }\n}\n","import { compactAddLength, compactStripLength, compactToU8a, isHex, isU8a, u8aToU8a } from '@polkadot/util';\nimport { Raw } from '../native/Raw.js';\nimport { typeToConstructor } from '../utils/index.js';\nimport { Bytes } from './Bytes.js';\nfunction decodeRaw(registry, typeName, value) {\n const Type = typeToConstructor(registry, typeName);\n if (isU8a(value) || isHex(value)) {\n try {\n const [, u8a] = isHex(value)\n ? [0, u8aToU8a(value)]\n : (value instanceof Raw)\n ? [0, value.subarray()]\n : compactStripLength(value);\n return [Type, new Type(registry, u8a), value];\n }\n catch {\n return [Type, null, value];\n }\n }\n const instance = new Type(registry, value);\n return [Type, instance, compactAddLength(instance.toU8a())];\n}\nexport class WrapperKeepOpaque extends Bytes {\n #Type;\n #decoded;\n #opaqueName;\n constructor(registry, typeName, value, { opaqueName = 'WrapperKeepOpaque' } = {}) {\n const [Type, decoded, u8a] = decodeRaw(registry, typeName, value);\n super(registry, u8a);\n this.#Type = Type;\n this.#decoded = decoded;\n this.#opaqueName = opaqueName;\n }\n static with(Type) {\n return class extends WrapperKeepOpaque {\n constructor(registry, value) {\n super(registry, Type, value);\n }\n };\n }\n /**\n * @description Checks if the wrapper is decodable\n */\n get isDecoded() {\n return !!this.#decoded;\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n return this.#decoded\n ? {\n inner: [this.#decoded.inspect()],\n outer: [compactToU8a(this.length)]\n }\n : {\n outer: [compactToU8a(this.length), this.toU8a(true)]\n };\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman(isExtended, disableAscii) {\n return this.#decoded\n ? this.#decoded.toHuman(isExtended, disableAscii)\n : super.toHuman(isExtended, disableAscii);\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive(disableAscii) {\n return this.#decoded\n ? this.#decoded.toPrimitive(disableAscii)\n : super.toPrimitive(disableAscii);\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return `${this.#opaqueName}<${this.registry.getClassName(this.#Type) || (this.#decoded ? this.#decoded.toRawType() : new this.#Type(this.registry).toRawType())}>`;\n }\n /**\n * @description Converts the Object to to a string (either decoded or bytes)\n */\n toString() {\n return this.#decoded\n ? this.#decoded.toString()\n : super.toString();\n }\n /**\n * @description Returns the decoded that the WrapperKeepOpaque represents (if available), throws if non-decodable\n */\n unwrap() {\n if (!this.#decoded) {\n throw new Error(`${this.#opaqueName}: unwrapping an undecodable value`);\n }\n return this.#decoded;\n }\n}\n","import { WrapperKeepOpaque } from './WrapperKeepOpaque.js';\nexport class WrapperOpaque extends WrapperKeepOpaque {\n constructor(registry, typeName, value) {\n super(registry, typeName, value, { opaqueName: 'WrapperOpaque' });\n }\n static with(Type) {\n return class extends WrapperOpaque {\n constructor(registry, value) {\n super(registry, Type, value);\n }\n };\n }\n /**\n * @description The inner value for this wrapper, in all cases it _should_ be decodable (unlike KeepOpaque)\n */\n get inner() {\n return this.unwrap();\n }\n}\n","import { floatToU8a, isHex, isU8a, u8aToFloat, u8aToHex, u8aToU8a } from '@polkadot/util';\n/**\n * @name Float\n * @description\n * A Codec wrapper for F32 & F64 values. You generally don't want to be using\n * f32/f64 in your runtime, operations on fixed points numbers are preferable. This class\n * was explicitly added since scale-codec has a flag that enables this and it is available\n * in some eth_* RPCs\n */\nexport class Float extends Number {\n encodedLength;\n registry;\n createdAtHash;\n initialU8aLength;\n isStorageFallback;\n #bitLength;\n constructor(registry, value, { bitLength = 32 } = {}) {\n super(isU8a(value) || isHex(value)\n ? value.length === 0\n ? 0\n : u8aToFloat(u8aToU8a(value), { bitLength })\n : (value || 0));\n this.#bitLength = bitLength;\n this.encodedLength = bitLength / 8;\n this.initialU8aLength = this.encodedLength;\n this.registry = registry;\n }\n static with(bitLength) {\n return class extends Float {\n constructor(registry, value) {\n super(registry, value, { bitLength });\n }\n };\n }\n /**\n * @description returns a hash of the contents\n */\n get hash() {\n return this.registry.hash(this.toU8a());\n }\n /**\n * @description Returns true if the type wraps an empty/default all-0 value\n */\n get isEmpty() {\n return this.valueOf() === 0;\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n return this.valueOf() === Number(other);\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n return {\n outer: [this.toU8a()]\n };\n }\n /**\n * @description Returns a hex string representation of the value\n */\n toHex() {\n return u8aToHex(this.toU8a());\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman() {\n return this.toString();\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n // Not sure if this is actually a hex or a string value\n // (would need to check against RPCs to see the result here)\n return this.toHex();\n }\n /**\n * @description Returns the number representation (Same as valueOf)\n */\n toNumber() {\n return this.valueOf();\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive() {\n return this.toNumber();\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return `f${this.#bitLength}`;\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n */\n toU8a(_isBare) {\n return floatToU8a(this, {\n bitLength: this.#bitLength\n });\n }\n}\n","import { isFunction, objectProperties, stringify } from '@polkadot/util';\nimport { compareMap } from '../utils/index.js';\n/** @internal */\nfunction decodeJson(value) {\n return Object.entries(value || {});\n}\n/**\n * @name Json\n * @description\n * Wraps the a JSON structure retrieve via RPC. It extends the standard JS Map with. While it\n * implements a Codec, it is limited in that it can only be used with input objects via RPC,\n * i.e. no hex decoding. Unlike a struct, this waps a JSON object with unknown keys\n * @noInheritDoc\n */\nexport class Json extends Map {\n registry;\n createdAtHash;\n initialU8aLength;\n isStorageFallback;\n constructor(registry, value) {\n const decoded = decodeJson(value);\n super(decoded);\n this.registry = registry;\n objectProperties(this, decoded.map(([k]) => k), (k) => this.get(k));\n }\n /**\n * @description Always 0, never encodes as a Uint8Array\n */\n get encodedLength() {\n return 0 | 0;\n }\n /**\n * @description returns a hash of the contents\n */\n get hash() {\n return this.registry.hash(this.toU8a());\n }\n /**\n * @description Checks if the value is an empty value\n */\n get isEmpty() {\n return [...this.keys()].length === 0;\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n return compareMap(this, other);\n }\n /**\n * @description Returns a typed value from the internal map\n */\n getT(key) {\n return this.get(key);\n }\n /**\n * @description Unimplemented, will throw\n */\n inspect() {\n throw new Error('Unimplemented');\n }\n /**\n * @description Unimplemented, will throw\n */\n toHex() {\n throw new Error('Unimplemented');\n }\n /**\n * @description Converts the Object to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman() {\n return [...this.entries()].reduce((json, [key, value]) => {\n json[key] = isFunction(value?.toHuman)\n ? value.toHuman()\n : value;\n return json;\n }, {});\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n return [...this.entries()].reduce((json, [key, value]) => {\n json[key] = value;\n return json;\n }, {});\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive(disableAscii) {\n return [...this.entries()].reduce((json, [key, value]) => {\n json[key] = isFunction(value.toPrimitive)\n ? value.toPrimitive(disableAscii)\n : value;\n return json;\n }, {});\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'Json';\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n return stringify(this.toJSON());\n }\n /**\n * @description Unimplemented, will throw\n */\n toU8a(_isBare) {\n throw new Error('Unimplemented');\n }\n}\n","import { BN, bnToBn, bnToU8a, isBn, isNumber, isString, isU8a, isUndefined, objectProperties, stringify, stringPascalCase, u8aToBn, u8aToHex, u8aToU8a } from '@polkadot/util';\nimport { compareArray } from '../utils/index.js';\nfunction encodeSet(setValues, values) {\n const encoded = new BN(0);\n for (let i = 0, count = values.length; i < count; i++) {\n encoded.ior(bnToBn(setValues[values[i]] || 0));\n }\n return encoded;\n}\n/** @internal */\nfunction decodeSetArray(setValues, values) {\n const count = values.length;\n const result = new Array(count);\n for (let i = 0; i < count; i++) {\n const key = values[i];\n if (isUndefined(setValues[key])) {\n throw new Error(`Set: Invalid key '${key}' passed to Set, allowed ${Object.keys(setValues).join(', ')}`);\n }\n result[i] = key;\n }\n return result;\n}\n/** @internal */\nfunction decodeSetNumber(setValues, _value) {\n const bn = bnToBn(_value);\n const keys = Object.keys(setValues);\n const result = [];\n for (let i = 0, count = keys.length; i < count; i++) {\n const key = keys[i];\n if (bn.and(bnToBn(setValues[key])).eq(bnToBn(setValues[key]))) {\n result.push(key);\n }\n }\n const computed = encodeSet(setValues, result);\n if (!bn.eq(computed)) {\n throw new Error(`Set: Mismatch decoding '${bn.toString()}', computed as '${computed.toString()}' with ${result.join(', ')}`);\n }\n return result;\n}\n/** @internal */\nfunction decodeSet(setValues, value = 0, bitLength) {\n if (bitLength % 8 !== 0) {\n throw new Error(`Expected valid bitLength, power of 8, found ${bitLength}`);\n }\n const byteLength = bitLength / 8;\n if (isU8a(value)) {\n return value.length === 0\n ? []\n : decodeSetNumber(setValues, u8aToBn(value.subarray(0, byteLength), { isLe: true }));\n }\n else if (isString(value)) {\n return decodeSet(setValues, u8aToU8a(value), byteLength);\n }\n else if (value instanceof Set || Array.isArray(value)) {\n const input = Array.isArray(value)\n ? value\n : [...value.values()];\n return decodeSetArray(setValues, input);\n }\n return decodeSetNumber(setValues, value);\n}\n/**\n * @name Set\n * @description\n * An Set is an array of string values, represented an an encoded type by\n * a bitwise representation of the values.\n */\nexport class CodecSet extends Set {\n registry;\n createdAtHash;\n initialU8aLength;\n isStorageFallback;\n #allowed;\n #byteLength;\n constructor(registry, setValues, value, bitLength = 8) {\n super(decodeSet(setValues, value, bitLength));\n this.registry = registry;\n this.#allowed = setValues;\n this.#byteLength = bitLength / 8;\n }\n static with(values, bitLength) {\n return class extends CodecSet {\n static {\n const keys = Object.keys(values);\n const count = keys.length;\n const isKeys = new Array(count);\n for (let i = 0; i < count; i++) {\n isKeys[i] = `is${stringPascalCase(keys[i])}`;\n }\n objectProperties(this.prototype, isKeys, (_, i, self) => self.strings.includes(keys[i]));\n }\n constructor(registry, value) {\n super(registry, values, value, bitLength);\n }\n };\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n return this.#byteLength;\n }\n /**\n * @description returns a hash of the contents\n */\n get hash() {\n return this.registry.hash(this.toU8a());\n }\n /**\n * @description true is the Set contains no values\n */\n get isEmpty() {\n return this.size === 0;\n }\n /**\n * @description The actual set values as a string[]\n */\n get strings() {\n return [...super.values()];\n }\n /**\n * @description The encoded value for the set members\n */\n get valueEncoded() {\n return encodeSet(this.#allowed, this.strings);\n }\n /**\n * @description adds a value to the Set (extended to allow for validity checking)\n */\n add = (key) => {\n // ^^^ add = () property done to assign this instance's this, otherwise Set.add creates \"some\" chaos\n // we have the isUndefined(this._setValues) in here as well, add is used internally\n // in the Set constructor (so it is undefined at this point, and should allow)\n if (this.#allowed && isUndefined(this.#allowed[key])) {\n throw new Error(`Set: Invalid key '${key}' on add`);\n }\n super.add(key);\n return this;\n };\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n if (Array.isArray(other)) {\n // we don't actually care about the order, sort the values\n return compareArray(this.strings.sort(), other.sort());\n }\n else if (other instanceof Set) {\n return this.eq([...other.values()]);\n }\n else if (isNumber(other) || isBn(other)) {\n return this.valueEncoded.eq(bnToBn(other));\n }\n return false;\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n return {\n outer: [this.toU8a()]\n };\n }\n /**\n * @description Returns a hex string representation of the value\n */\n toHex() {\n return u8aToHex(this.toU8a());\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman() {\n return this.toJSON();\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n return this.strings;\n }\n /**\n * @description The encoded value for the set members\n */\n toNumber() {\n return this.valueEncoded.toNumber();\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive() {\n return this.toJSON();\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return stringify({ _set: this.#allowed });\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n return `[${this.strings.join(', ')}]`;\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n */\n toU8a(_isBare) {\n return bnToU8a(this.valueEncoded, {\n bitLength: this.#byteLength * 8,\n isLe: true\n });\n }\n}\n","import { Float } from '../native/Float.js';\n/**\n * @name f32\n * @description\n * A 32-bit float\n */\nexport class f32 extends Float.with(32) {\n // NOTE without this, we cannot properly determine extensions\n __FloatType = 'f32';\n}\n","import { Float } from '../native/Float.js';\n/**\n * @name f64\n * @description\n * A 64-bit float\n */\nexport class f64 extends Float.with(64) {\n // NOTE without this, we cannot properly determine extensions\n __FloatType = 'f64';\n}\n","import { Int } from '../base/Int.js';\n/**\n * @name i8\n * @description\n * An 8-bit signed integer\n */\nexport class i8 extends Int.with(8) {\n // NOTE without this, we cannot properly determine extensions\n __IntType = 'i8';\n}\n","import { Int } from '../base/Int.js';\n/**\n * @name i16\n * @description\n * A 16-bit signed integer\n */\nexport class i16 extends Int.with(16) {\n // NOTE without this, we cannot properly determine extensions\n __IntType = 'i16';\n}\n","import { Int } from '../base/Int.js';\n/**\n * @name i32\n * @description\n * A 32-bit signed integer\n */\nexport class i32 extends Int.with(32) {\n // NOTE without this, we cannot properly determine extensions\n __IntType = 'i32';\n}\n","import { Int } from '../base/Int.js';\n/**\n * @name i64\n * @description\n * A 64-bit signed integer\n */\nexport class i64 extends Int.with(64) {\n // NOTE without this, we cannot properly determine extensions\n __IntType = 'i64';\n}\n","import { Int } from '../base/Int.js';\n/**\n * @name i128\n * @description\n * A 128-bit signed integer\n */\nexport class i128 extends Int.with(128) {\n // NOTE without this, we cannot properly determine extensions\n __IntType = 'i128';\n}\n","import { Int } from '../base/Int.js';\n/**\n * @name i256\n * @description\n * A 256-bit signed integer\n */\nexport class i256 extends Int.with(256) {\n // NOTE without this, we cannot properly determine extensions\n __IntType = 'i256';\n}\n","import { i32 } from './I32.js';\n/**\n * @name ISize\n * @description\n * A System default signed number, typically used in RPC to report non-consensus\n * data. It is a wrapper for [[I32]] as a WASM default (as generated by Rust bindings).\n * It is not to be used, since it creates consensus mismatches.\n */\nexport class isize extends i32 {\n constructor(registry, value) {\n super(registry, value);\n throw new Error('The `isize` type should not be used. Since it is platform-specific, it creates incompatibilities between native (generally i64) and WASM (always i32) code. Use one of the `i32` or `i64` types explicitly.');\n }\n}\n","import { UInt } from '../base/UInt.js';\n/**\n * @name u8\n * @description\n * An 8-bit unsigned integer\n */\nexport class u8 extends UInt.with(8) {\n // NOTE without this, we cannot properly determine extensions\n __UIntType = 'u8';\n}\n","import { UInt } from '../base/UInt.js';\n/**\n * @name u16\n * @description\n * A 16-bit unsigned integer\n */\nexport class u16 extends UInt.with(16) {\n // NOTE without this, we cannot properly determine extensions\n __UIntType = 'u16';\n}\n","import { UInt } from '../base/UInt.js';\n/**\n * @name u32\n * @description\n * A 32-bit unsigned integer\n */\nexport class u32 extends UInt.with(32) {\n // NOTE without this, we cannot properly determine extensions\n __UIntType = 'u32';\n}\n","import { UInt } from '../base/UInt.js';\n/**\n * @name u64\n * @description\n * A 64-bit unsigned integer\n */\nexport class u64 extends UInt.with(64) {\n // NOTE without this, we cannot properly determine extensions\n __UIntType = 'u64';\n}\n","import { UInt } from '../base/UInt.js';\n/**\n * @name u128\n * @description\n * A 128-bit unsigned integer\n */\nexport class u128 extends UInt.with(128) {\n // NOTE without this, we cannot properly determine extensions\n __UIntType = 'u128';\n}\n","import { UInt } from '../base/UInt.js';\n/**\n * @name u256\n * @description\n * A 256-bit unsigned integer\n */\nexport class u256 extends UInt.with(256) {\n // NOTE without this, we cannot properly determine extensions\n __UIntType = 'u256';\n}\n","import { u32 } from './U32.js';\n/**\n * @name USize\n * @description\n * A System default unsigned number, typically used in RPC to report non-consensus\n * data. It is a wrapper for [[U32]] as a WASM default (as generated by Rust bindings).\n * It is not to be used, since it created consensus mismatches.\n */\nexport class usize extends u32 {\n constructor(registry, value) {\n super(registry, value);\n throw new Error('The `usize` type should not be used. Since it is platform-specific, it creates incompatibilities between native (generally u64) and WASM (always u32) code. Use one of the `u32` or `u64` types explicitly.');\n }\n}\n","import { BTreeMap, BTreeSet, Bytes, CodecSet, Compact, DoNotConstruct, Enum, HashMap, Int, Null, Option, Range, RangeInclusive, Result, Struct, Tuple, U8aFixed, UInt, Vec, VecFixed, WrapperKeepOpaque, WrapperOpaque } from '@polkadot/types-codec';\nimport { isNumber, stringify } from '@polkadot/util';\nimport { TypeDefInfo } from '../types/index.js';\nimport { getTypeDef } from '../util/getTypeDef.js';\nfunction getTypeDefType({ lookupName, type }) {\n return lookupName || type;\n}\nfunction getSubDefArray(value) {\n if (!Array.isArray(value.sub)) {\n throw new Error(`Expected subtype as TypeDef[] in ${stringify(value)}`);\n }\n return value.sub;\n}\nfunction getSubDef(value) {\n if (!value.sub || Array.isArray(value.sub)) {\n throw new Error(`Expected subtype as TypeDef in ${stringify(value)}`);\n }\n return value.sub;\n}\nfunction getSubType(value) {\n return getTypeDefType(getSubDef(value));\n}\nfunction getTypeClassMap(value) {\n const subs = getSubDefArray(value);\n const map = {};\n for (let i = 0, count = subs.length; i < count; i++) {\n const sub = subs[i];\n if (!sub.name) {\n throw new Error(`No name found in definition ${stringify(sub)}`);\n }\n map[sub.name] = getTypeDefType(sub);\n }\n return map;\n}\nfunction getTypeClassArray(value) {\n return getSubDefArray(value).map(getTypeDefType);\n}\nfunction createInt(Clazz, { displayName, length }) {\n if (!isNumber(length)) {\n throw new Error(`Expected bitLength information for ${displayName || Clazz.constructor.name}<bitLength>`);\n }\n return Clazz.with(length, displayName);\n}\nfunction createHashMap(Clazz, value) {\n const [keyType, valueType] = getTypeClassArray(value);\n return Clazz.with(keyType, valueType);\n}\nfunction createWithSub(Clazz, value) {\n return Clazz.with(getSubType(value));\n}\nconst infoMapping = {\n [TypeDefInfo.BTreeMap]: (_registry, value) => createHashMap(BTreeMap, value),\n [TypeDefInfo.BTreeSet]: (_registry, value) => createWithSub(BTreeSet, value),\n [TypeDefInfo.Compact]: (_registry, value) => createWithSub(Compact, value),\n [TypeDefInfo.DoNotConstruct]: (_registry, value) => DoNotConstruct.with(value.displayName || value.type),\n [TypeDefInfo.Enum]: (_registry, value) => {\n const subs = getSubDefArray(value);\n return Enum.with(subs.every(({ type }) => type === 'Null')\n ? subs.reduce((out, { index, name }, count) => {\n if (!name) {\n throw new Error('No name found in sub definition');\n }\n out[name] = index || count;\n return out;\n }, {})\n : getTypeClassMap(value));\n },\n [TypeDefInfo.HashMap]: (_registry, value) => createHashMap(HashMap, value),\n [TypeDefInfo.Int]: (_registry, value) => createInt(Int, value),\n // We have circular deps between Linkage & Struct\n [TypeDefInfo.Linkage]: (_registry, value) => {\n const type = `Option<${getSubType(value)}>`;\n // eslint-disable-next-line sort-keys\n const Clazz = Struct.with({ previous: type, next: type });\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Clazz.prototype.toRawType = function () {\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-call\n return `Linkage<${this.next.toRawType(true)}>`;\n };\n return Clazz;\n },\n [TypeDefInfo.Null]: (_registry, _value) => Null,\n [TypeDefInfo.Option]: (_registry, value) => {\n if (!value.sub || Array.isArray(value.sub)) {\n throw new Error('Expected type information for Option');\n }\n // NOTE This is opt-in (unhandled), not by default\n // if (value.sub.type === 'bool') {\n // return OptionBool;\n // }\n return createWithSub(Option, value);\n },\n [TypeDefInfo.Plain]: (registry, value) => registry.getOrUnknown(value.type),\n [TypeDefInfo.Range]: (_registry, value) => createWithSub(Range, value),\n [TypeDefInfo.RangeInclusive]: (_registry, value) => createWithSub(RangeInclusive, value),\n [TypeDefInfo.Result]: (_registry, value) => {\n const [Ok, Err] = getTypeClassArray(value);\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return Result.with({ Err, Ok });\n },\n [TypeDefInfo.Set]: (_registry, value) => CodecSet.with(getSubDefArray(value).reduce((result, { index, name }) => {\n if (!name || !isNumber(index)) {\n throw new Error('No name found in sub definition');\n }\n result[name] = index;\n return result;\n }, {}), value.length),\n [TypeDefInfo.Si]: (registry, value) => getTypeClass(registry, registry.lookup.getTypeDef(value.type)),\n [TypeDefInfo.Struct]: (_registry, value) => Struct.with(getTypeClassMap(value), value.alias),\n [TypeDefInfo.Tuple]: (_registry, value) => Tuple.with(getTypeClassArray(value)),\n [TypeDefInfo.UInt]: (_registry, value) => createInt(UInt, value),\n [TypeDefInfo.Vec]: (_registry, { sub }) => {\n if (!sub || Array.isArray(sub)) {\n throw new Error('Expected type information for vector');\n }\n return (sub.type === 'u8'\n ? Bytes\n : Vec.with(getTypeDefType(sub)));\n },\n [TypeDefInfo.VecFixed]: (_registry, { displayName, length, sub }) => {\n if (!isNumber(length) || !sub || Array.isArray(sub)) {\n throw new Error('Expected length & type information for fixed vector');\n }\n return (sub.type === 'u8'\n ? U8aFixed.with((length * 8), displayName)\n : VecFixed.with(getTypeDefType(sub), length));\n },\n [TypeDefInfo.WrapperKeepOpaque]: (_registry, value) => createWithSub(WrapperKeepOpaque, value),\n [TypeDefInfo.WrapperOpaque]: (_registry, value) => createWithSub(WrapperOpaque, value)\n};\nexport function constructTypeClass(registry, typeDef) {\n try {\n const Type = infoMapping[typeDef.info](registry, typeDef);\n if (!Type) {\n throw new Error('No class created');\n }\n // don't clobber any existing\n if (!Type.__fallbackType && typeDef.fallbackType) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore ...this is the only place we we actually assign this...\n Type.__fallbackType = typeDef.fallbackType;\n }\n return Type;\n }\n catch (error) {\n throw new Error(`Unable to construct class from ${stringify(typeDef)}: ${error.message}`);\n }\n}\nexport function getTypeClass(registry, typeDef) {\n return registry.getUnsafe(typeDef.type, false, typeDef);\n}\nexport function createClassUnsafe(registry, type) {\n return (\n // just retrieve via name, no creation via typeDef\n registry.getUnsafe(type) ||\n // we don't have an existing type, create the class via typeDef\n getTypeClass(registry, registry.isLookupType(type)\n ? registry.lookup.getTypeDef(type)\n : getTypeDef(type)));\n}\n","import { sanitize } from '@polkadot/types-codec';\nimport { isNumber, isString, objectSpread, stringify } from '@polkadot/util';\nimport { TypeDefInfo } from '../types/index.js';\nimport { typeSplit } from './typeSplit.js';\nconst KNOWN_INTERNALS = ['_alias', '_fallback'];\nfunction getTypeString(typeOrObj) {\n return isString(typeOrObj)\n ? typeOrObj.toString()\n : stringify(typeOrObj);\n}\nfunction isRustEnum(details) {\n const values = Object.values(details);\n if (values.some((v) => isNumber(v))) {\n if (!values.every((v) => isNumber(v) && v >= 0 && v <= 255)) {\n throw new Error('Invalid number-indexed enum definition');\n }\n return false;\n }\n return true;\n}\nfunction _decodeEnum(value, details, count, fallbackType) {\n value.info = TypeDefInfo.Enum;\n value.fallbackType = fallbackType;\n // not as pretty, but remain compatible with oo7 for both struct and Array types\n if (Array.isArray(details)) {\n value.sub = details.map((name, index) => ({\n index,\n info: TypeDefInfo.Plain,\n name,\n type: 'Null'\n }));\n }\n else if (isRustEnum(details)) {\n value.sub = Object.entries(details).map(([name, typeOrObj], index) => objectSpread({}, getTypeDef(getTypeString(typeOrObj || 'Null'), { name }, count), { index }));\n }\n else {\n value.sub = Object.entries(details).map(([name, index]) => ({\n index,\n info: TypeDefInfo.Plain,\n name,\n type: 'Null'\n }));\n }\n return value;\n}\nfunction _decodeSet(value, details, fallbackType) {\n value.info = TypeDefInfo.Set;\n value.fallbackType = fallbackType;\n value.length = details._bitLength;\n value.sub = Object\n .entries(details)\n .filter(([name]) => !name.startsWith('_'))\n .map(([name, index]) => ({\n index,\n info: TypeDefInfo.Plain,\n name,\n type: 'Null'\n }));\n return value;\n}\nfunction _decodeStruct(value, type, _, count) {\n const parsed = JSON.parse(type);\n const keys = Object.keys(parsed);\n if (parsed._enum) {\n return _decodeEnum(value, parsed._enum, count, parsed._fallback);\n }\n else if (parsed._set) {\n return _decodeSet(value, parsed._set, parsed._fallback);\n }\n value.alias = parsed._alias\n ? new Map(Object.entries(parsed._alias))\n : undefined;\n value.fallbackType = parsed._fallback;\n value.sub = keys\n .filter((name) => !KNOWN_INTERNALS.includes(name))\n .map((name) => getTypeDef(getTypeString(parsed[name]), { name }, count));\n return value;\n}\nfunction _decodeFixedVec(value, type, _, count) {\n const max = type.length - 1;\n let index = -1;\n let inner = 0;\n for (let i = 1; (i < max) && (index === -1); i++) {\n switch (type[i]) {\n case ';': {\n if (inner === 0) {\n index = i;\n }\n break;\n }\n case '[':\n case '(':\n case '<':\n inner++;\n break;\n case ']':\n case ')':\n case '>':\n inner--;\n break;\n }\n }\n if (index === -1) {\n throw new Error(`${type}: Unable to extract location of ';'`);\n }\n const vecType = type.substring(1, index);\n const [strLength, displayName] = type.substring(index + 1, max).split(';');\n const length = parseInt(strLength.trim(), 10);\n if (length > 2048) {\n throw new Error(`${type}: Only support for [Type; <length>], where length <= 2048`);\n }\n value.displayName = displayName;\n value.length = length;\n value.sub = getTypeDef(vecType, {}, count);\n return value;\n}\nfunction _decodeTuple(value, _, subType, count) {\n value.sub = subType.length === 0\n ? []\n : typeSplit(subType).map((inner) => getTypeDef(inner, {}, count));\n return value;\n}\nfunction _decodeAnyInt(value, type, _, clazz) {\n const [strLength, displayName] = type.substring(clazz.length + 1, type.length - 1).split(',');\n const length = parseInt(strLength.trim(), 10);\n if ((length > 8192) || (length % 8)) {\n throw new Error(`${type}: Only support for ${clazz}<bitLength>, where length <= 8192 and a power of 8, found ${length}`);\n }\n value.displayName = displayName;\n value.length = length;\n return value;\n}\nfunction _decodeInt(value, type, subType) {\n return _decodeAnyInt(value, type, subType, 'Int');\n}\nfunction _decodeUInt(value, type, subType) {\n return _decodeAnyInt(value, type, subType, 'UInt');\n}\nfunction _decodeDoNotConstruct(value, type, _) {\n const NAME_LENGTH = 'DoNotConstruct'.length;\n value.displayName = type.substring(NAME_LENGTH + 1, type.length - 1);\n return value;\n}\nfunction hasWrapper(type, [start, end]) {\n return (type.startsWith(start)) && (type.slice(-1 * end.length) === end);\n}\nconst nestedExtraction = [\n ['[', ']', TypeDefInfo.VecFixed, _decodeFixedVec],\n ['{', '}', TypeDefInfo.Struct, _decodeStruct],\n ['(', ')', TypeDefInfo.Tuple, _decodeTuple],\n // the inner for these are the same as tuple, multiple values\n ['BTreeMap<', '>', TypeDefInfo.BTreeMap, _decodeTuple],\n ['HashMap<', '>', TypeDefInfo.HashMap, _decodeTuple],\n ['Int<', '>', TypeDefInfo.Int, _decodeInt],\n ['Result<', '>', TypeDefInfo.Result, _decodeTuple],\n ['UInt<', '>', TypeDefInfo.UInt, _decodeUInt],\n ['DoNotConstruct<', '>', TypeDefInfo.DoNotConstruct, _decodeDoNotConstruct]\n];\nconst wrappedExtraction = [\n ['BTreeSet<', '>', TypeDefInfo.BTreeSet],\n ['Compact<', '>', TypeDefInfo.Compact],\n ['Linkage<', '>', TypeDefInfo.Linkage],\n ['Opaque<', '>', TypeDefInfo.WrapperOpaque],\n ['Option<', '>', TypeDefInfo.Option],\n ['Range<', '>', TypeDefInfo.Range],\n ['RangeInclusive<', '>', TypeDefInfo.RangeInclusive],\n ['Vec<', '>', TypeDefInfo.Vec],\n ['WrapperKeepOpaque<', '>', TypeDefInfo.WrapperKeepOpaque],\n ['WrapperOpaque<', '>', TypeDefInfo.WrapperOpaque]\n];\nfunction extractSubType(type, [start, end]) {\n return type.substring(start.length, type.length - end.length);\n}\nexport function getTypeDef(_type, { displayName, name } = {}, count = 0) {\n // create the type via Type, allowing types to be sanitized\n const type = sanitize(_type);\n const value = { displayName, info: TypeDefInfo.Plain, name, type };\n if (++count > 64) {\n throw new Error('getTypeDef: Maximum nested limit reached');\n }\n const nested = nestedExtraction.find((nested) => hasWrapper(type, nested));\n if (nested) {\n value.info = nested[2];\n return nested[3](value, type, extractSubType(type, nested), count);\n }\n const wrapped = wrappedExtraction.find((wrapped) => hasWrapper(type, wrapped));\n if (wrapped) {\n value.info = wrapped[2];\n value.sub = getTypeDef(extractSubType(type, wrapped), {}, count);\n }\n return value;\n}\n","export function typeSplit(type) {\n const result = [];\n // these are the depths of the various tokens: <, [, {, (\n let c = 0;\n let f = 0;\n let s = 0;\n let t = 0;\n // current start position\n let start = 0;\n for (let i = 0, count = type.length; i < count; i++) {\n switch (type[i]) {\n // if we are not nested, add the type\n case ',': {\n if (!(c || f || s || t)) {\n result.push(type.substring(start, i).trim());\n start = i + 1;\n }\n break;\n }\n // adjust compact/vec (and friends) depth\n case '<':\n c++;\n break;\n case '>':\n c--;\n break;\n // adjust fixed vec depths\n case '[':\n f++;\n break;\n case ']':\n f--;\n break;\n // adjust struct depth\n case '{':\n s++;\n break;\n case '}':\n s--;\n break;\n // adjust tuple depth\n case '(':\n t++;\n break;\n case ')':\n t--;\n break;\n }\n }\n // ensure we have all the terminators taken care of\n if (c || f || s || t) {\n throw new Error(`Invalid definition (missing terminators) found in ${type}`);\n }\n // the final leg of the journey\n result.push(type.substring(start, type.length).trim());\n return result;\n}\n","import { Option } from '@polkadot/types-codec';\nimport { isHex, isU8a, u8aEq, u8aToHex, u8aToU8a } from '@polkadot/util';\nimport { createClassUnsafe } from './class.js';\nfunction checkInstance(created, matcher) {\n const u8a = created.toU8a();\n const rawType = created.toRawType();\n const isOk = (\n // full match, all ok\n u8aEq(u8a, matcher) ||\n (\n // on a length-prefixed type, just check the actual length\n ['Bytes', 'Text', 'Type'].includes(rawType) &&\n matcher.length === created.length) ||\n (\n // when the created is empty and matcher is also empty, let it slide...\n created.isEmpty &&\n matcher.every((v) => !v)));\n if (!isOk) {\n throw new Error(`${rawType}:: Decoded input doesn't match input, received ${u8aToHex(matcher, 512)} (${matcher.length} bytes), created ${u8aToHex(u8a, 512)} (${u8a.length} bytes)`);\n }\n}\nfunction checkPedantic(created, [value]) {\n if (isU8a(value)) {\n checkInstance(created, value);\n }\n else if (isHex(value)) {\n checkInstance(created, u8aToU8a(value));\n }\n}\nfunction initType(registry, Type, params = [], { blockHash, isFallback, isOptional, isPedantic } = {}) {\n const created = new (isOptional\n ? Option.with(Type)\n : Type)(registry, ...params);\n isPedantic && checkPedantic(created, params);\n if (blockHash) {\n created.createdAtHash = createTypeUnsafe(registry, 'BlockHash', [blockHash]);\n }\n if (isFallback) {\n created.isStorageFallback = true;\n }\n return created;\n}\nexport function createTypeUnsafe(registry, type, params = [], options = {}) {\n let Clazz = null;\n let firstError = null;\n try {\n Clazz = createClassUnsafe(registry, type);\n return initType(registry, Clazz, params, options);\n }\n catch (error) {\n firstError = new Error(`createType(${type}):: ${error.message}`);\n }\n if (Clazz?.__fallbackType) {\n try {\n Clazz = createClassUnsafe(registry, Clazz.__fallbackType);\n return initType(registry, Clazz, params, options);\n }\n catch {\n // swallow, we will throw the first error again\n }\n }\n throw firstError;\n}\n","import { isNumber, isUndefined, objectSpread, stringify } from '@polkadot/util';\nimport { TypeDefInfo } from '../types/index.js';\nconst stringIdentity = (value) => value.toString();\nconst INFO_WRAP = ['BTreeMap', 'BTreeSet', 'Compact', 'HashMap', 'Option', 'Result', 'Vec'];\nexport function paramsNotation(outer, inner, transform = stringIdentity) {\n return `${outer}${inner\n ? `<${(Array.isArray(inner) ? inner : [inner]).map(transform).join(', ')}>`\n : ''}`;\n}\nfunction encodeWithParams(registry, typeDef, outer) {\n const { info, sub } = typeDef;\n switch (info) {\n case TypeDefInfo.BTreeMap:\n case TypeDefInfo.BTreeSet:\n case TypeDefInfo.Compact:\n case TypeDefInfo.HashMap:\n case TypeDefInfo.Linkage:\n case TypeDefInfo.Option:\n case TypeDefInfo.Range:\n case TypeDefInfo.RangeInclusive:\n case TypeDefInfo.Result:\n case TypeDefInfo.Vec:\n case TypeDefInfo.WrapperKeepOpaque:\n case TypeDefInfo.WrapperOpaque:\n return paramsNotation(outer, sub, (p) => encodeTypeDef(registry, p));\n }\n throw new Error(`Unable to encode ${stringify(typeDef)} with params`);\n}\nfunction encodeSubTypes(registry, sub, asEnum, extra) {\n const names = sub.map(({ name }) => name);\n if (!names.every((n) => !!n)) {\n throw new Error(`Subtypes does not have consistent names, ${names.join(', ')}`);\n }\n const inner = objectSpread({}, extra);\n for (let i = 0, count = sub.length; i < count; i++) {\n const def = sub[i];\n if (!def.name) {\n throw new Error(`No name found in ${stringify(def)}`);\n }\n inner[def.name] = encodeTypeDef(registry, def);\n }\n return stringify(asEnum\n ? { _enum: inner }\n : inner);\n}\nconst encoders = {\n [TypeDefInfo.BTreeMap]: (registry, typeDef) => encodeWithParams(registry, typeDef, 'BTreeMap'),\n [TypeDefInfo.BTreeSet]: (registry, typeDef) => encodeWithParams(registry, typeDef, 'BTreeSet'),\n [TypeDefInfo.Compact]: (registry, typeDef) => encodeWithParams(registry, typeDef, 'Compact'),\n [TypeDefInfo.DoNotConstruct]: (registry, { displayName, lookupIndex, lookupName }) => `DoNotConstruct<${lookupName || displayName || (isUndefined(lookupIndex) ? 'Unknown' : registry.createLookupType(lookupIndex))}>`,\n [TypeDefInfo.Enum]: (registry, { sub }) => {\n if (!Array.isArray(sub)) {\n throw new Error('Unable to encode Enum type');\n }\n // c-like enums have all Null entries\n // TODO We need to take the disciminant into account and auto-add empty entries\n return sub.every(({ type }) => type === 'Null')\n ? stringify({ _enum: sub.map(({ name }, index) => `${name || `Empty${index}`}`) })\n : encodeSubTypes(registry, sub, true);\n },\n [TypeDefInfo.HashMap]: (registry, typeDef) => encodeWithParams(registry, typeDef, 'HashMap'),\n [TypeDefInfo.Int]: (_registry, { length = 32 }) => `Int<${length}>`,\n [TypeDefInfo.Linkage]: (registry, typeDef) => encodeWithParams(registry, typeDef, 'Linkage'),\n [TypeDefInfo.Null]: (_registry, _typeDef) => 'Null',\n [TypeDefInfo.Option]: (registry, typeDef) => encodeWithParams(registry, typeDef, 'Option'),\n [TypeDefInfo.Plain]: (_registry, { displayName, type }) => displayName || type,\n [TypeDefInfo.Range]: (registry, typeDef) => encodeWithParams(registry, typeDef, 'Range'),\n [TypeDefInfo.RangeInclusive]: (registry, typeDef) => encodeWithParams(registry, typeDef, 'RangeInclusive'),\n [TypeDefInfo.Result]: (registry, typeDef) => encodeWithParams(registry, typeDef, 'Result'),\n [TypeDefInfo.Set]: (_registry, { length = 8, sub }) => {\n if (!Array.isArray(sub)) {\n throw new Error('Unable to encode Set type');\n }\n return stringify({\n _set: sub.reduce((all, { index, name }, count) => objectSpread(all, { [`${name || `Unknown${index || count}`}`]: index || count }), { _bitLength: length || 8 })\n });\n },\n [TypeDefInfo.Si]: (_registry, { lookupName, type }) => lookupName || type,\n [TypeDefInfo.Struct]: (registry, { alias, sub }) => {\n if (!Array.isArray(sub)) {\n throw new Error('Unable to encode Struct type');\n }\n return encodeSubTypes(registry, sub, false, alias\n ? {\n _alias: [...alias.entries()].reduce((all, [k, v]) => objectSpread(all, { [k]: v }), {})\n }\n : {});\n },\n [TypeDefInfo.Tuple]: (registry, { sub }) => {\n if (!Array.isArray(sub)) {\n throw new Error('Unable to encode Tuple type');\n }\n return `(${sub.map((type) => encodeTypeDef(registry, type)).join(',')})`;\n },\n [TypeDefInfo.UInt]: (_registry, { length = 32 }) => `UInt<${length}>`,\n [TypeDefInfo.Vec]: (registry, typeDef) => encodeWithParams(registry, typeDef, 'Vec'),\n [TypeDefInfo.VecFixed]: (_registry, { length, sub }) => {\n if (!isNumber(length) || !sub || Array.isArray(sub)) {\n throw new Error('Unable to encode VecFixed type');\n }\n return `[${sub.type};${length}]`;\n },\n [TypeDefInfo.WrapperKeepOpaque]: (registry, typeDef) => encodeWithParams(registry, typeDef, 'WrapperKeepOpaque'),\n [TypeDefInfo.WrapperOpaque]: (registry, typeDef) => encodeWithParams(registry, typeDef, 'WrapperOpaque')\n};\nfunction encodeType(registry, typeDef, withLookup = true) {\n return withLookup && typeDef.lookupName\n ? typeDef.lookupName\n : encoders[typeDef.info](registry, typeDef);\n}\nexport function encodeTypeDef(registry, typeDef) {\n // In the case of contracts we do have the unfortunate situation where the displayName would\n // refer to \"Option\" when it is an option. For these, string it out, only using when actually\n // not a top-level element to be used\n return (typeDef.displayName && !INFO_WRAP.some((i) => typeDef.displayName === i))\n ? typeDef.displayName\n : encodeType(registry, typeDef);\n}\nexport function withTypeString(registry, typeDef) {\n return objectSpread({}, typeDef, {\n type: encodeType(registry, typeDef, false)\n });\n}\n","import { objectSpread } from '@polkadot/util';\nexport const XCM_MAPPINGS = ['AssetInstance', 'Fungibility', 'Junction', 'Junctions', 'MultiAsset', 'MultiAssetFilter', 'MultiLocation', 'Response', 'WildFungibility', 'WildMultiAsset', 'Xcm', 'XcmError'];\nexport function mapXcmTypes(version) {\n return XCM_MAPPINGS.reduce((all, key) => objectSpread(all, { [key]: `${key}${version}` }), {});\n}\n","export const v0 = {\n FungibilityV0: 'FungibilityV1',\n WildFungibilityV0: 'WildFungibilityV1',\n AssetInstanceV0: {\n _enum: {\n Undefined: 'Null',\n Index8: 'u8',\n Index16: 'Compact<u16>',\n Index32: 'Compact<u32>',\n Index64: 'Compact<u64>',\n Index128: 'Compact<u128>',\n Array4: '[u8; 4]',\n Array8: '[u8; 8]',\n Array16: '[u8; 16]',\n Array32: '[u8; 32]',\n Blob: 'Vec<u8>'\n }\n },\n JunctionV0: {\n _enum: {\n Parent: 'Null',\n Parachain: 'Compact<u32>',\n AccountId32: {\n network: 'NetworkId',\n id: 'AccountId'\n },\n AccountIndex64: {\n network: 'NetworkId',\n index: 'Compact<u64>'\n },\n AccountKey20: {\n network: 'NetworkId',\n key: '[u8; 20]'\n },\n PalletInstance: 'u8',\n GeneralIndex: 'Compact<u128>',\n GeneralKey: 'Vec<u8>',\n OnlyChild: 'Null',\n Plurality: {\n id: 'BodyId',\n part: 'BodyPart'\n }\n }\n },\n MultiAssetV0: {\n _enum: {\n None: 'Null',\n All: 'Null',\n AllFungible: 'Null',\n AllNonFungible: 'Null',\n AllAbstractFungible: 'Vec<u8>',\n AllAbstractNonFungible: 'Vec<u8>',\n AllConcreteFungible: 'MultiLocationV0',\n AllConcreteNonFungible: 'MultiLocationV0',\n AbstractFungible: {\n id: 'Vec<u8>',\n instance: 'Compact<u128>'\n },\n AbstractNonFungible: {\n class: 'Vec<u8>',\n instance: 'AssetInstanceV0'\n },\n ConcreteFungible: {\n id: 'MultiLocationV0',\n amount: 'Compact<u128>'\n },\n ConcreteNonFungible: {\n class: 'MultiLocationV0',\n instance: 'AssetInstanceV0'\n }\n }\n },\n MultiLocationV0: {\n _enum: {\n Here: 'Null',\n X1: 'JunctionV0',\n X2: '(JunctionV0, JunctionV0)',\n X3: '(JunctionV0, JunctionV0, JunctionV0)',\n X4: '(JunctionV0, JunctionV0, JunctionV0, JunctionV0)',\n X5: '(JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0)',\n X6: '(JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0)',\n X7: '(JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0)',\n X8: '(JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0, JunctionV0)'\n }\n },\n OriginKindV0: {\n _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']\n },\n ResponseV0: {\n _enum: {\n Assets: 'Vec<MultiAssetV0>'\n }\n },\n XcmV0: {\n _enum: {\n WithdrawAsset: {\n assets: 'Vec<MultiAssetV0>',\n effects: 'Vec<XcmOrderV0>'\n },\n ReserveAssetDeposit: {\n assets: 'Vec<MultiAssetV0>',\n effects: 'Vec<XcmOrderV0>'\n },\n ReceiveTeleportedAsset: {\n assets: 'Vec<MultiAssetV0>',\n effects: 'Vec<XcmOrderV0>'\n },\n QueryResponse: {\n queryId: 'Compact<u64>',\n response: 'ResponseV0'\n },\n TransferAsset: {\n assets: 'Vec<MultiAssetV0>',\n dest: 'MultiLocationV0'\n },\n TransferReserveAsset: {\n assets: 'Vec<MultiAssetV0>',\n dest: 'MultiLocationV0',\n effects: 'Vec<XcmOrderV0>'\n },\n Transact: {\n originType: 'XcmOriginKind',\n requireWeightAtMost: 'u64',\n call: 'DoubleEncodedCall'\n },\n HrmpNewChannelOpenRequest: {\n sender: 'Compact<u32>',\n maxMessageSize: 'Compact<u32>',\n maxCapacity: 'Compact<u32>'\n },\n HrmpChannelAccepted: {\n recipient: 'Compact<u32>'\n },\n HrmpChannelClosing: {\n initiator: 'Compact<u32>',\n sender: 'Compact<u32>',\n recipient: 'Compact<u32>'\n },\n RelayedFrom: {\n who: 'MultiLocationV0',\n message: 'XcmV0'\n }\n }\n },\n XcmErrorV0: {\n _enum: {\n Undefined: 'Null',\n Overflow: 'Null',\n Unimplemented: 'Null',\n UnhandledXcmVersion: 'Null',\n UnhandledXcmMessage: 'Null',\n UnhandledEffect: 'Null',\n EscalationOfPrivilege: 'Null',\n UntrustedReserveLocation: 'Null',\n UntrustedTeleportLocation: 'Null',\n DestinationBufferOverflow: 'Null',\n SendFailed: 'Null',\n CannotReachDestination: '(MultiLocation, Xcm)',\n MultiLocationFull: 'Null',\n FailedToDecode: 'Null',\n BadOrigin: 'Null',\n ExceedsMaxMessageSize: 'Null',\n FailedToTransactAsset: 'Null',\n WeightLimitReached: 'Weight',\n Wildcard: 'Null',\n TooMuchWeightRequired: 'Null',\n NotHoldingFees: 'Null',\n WeightNotComputable: 'Null',\n Barrier: 'Null',\n NotWithdrawable: 'Null',\n LocationCannotHold: 'Null',\n TooExpensive: 'Null',\n AssetNotFound: 'Null',\n RecursionLimitReached: 'Null'\n }\n },\n XcmOrderV0: {\n _enum: {\n Null: 'Null',\n DepositAsset: {\n assets: 'Vec<MultiAssetV0>',\n dest: 'MultiLocationV0'\n },\n DepositReserveAsset: {\n assets: 'Vec<MultiAssetV0>',\n dest: 'MultiLocationV0',\n effects: 'Vec<XcmOrderV0>'\n },\n ExchangeAsset: {\n give: 'Vec<MultiAssetV0>',\n receive: 'Vec<MultiAssetV0>'\n },\n InitiateReserveWithdraw: {\n assets: 'Vec<MultiAssetV0>',\n reserve: 'MultiLocationV0',\n effects: 'Vec<XcmOrderV0>'\n },\n InitiateTeleport: {\n assets: 'Vec<MultiAssetV0>',\n dest: 'MultiLocationV0',\n effects: 'Vec<XcmOrderV0>'\n },\n QueryHolding: {\n queryId: 'Compact<u64>',\n dest: 'MultiLocationV0',\n assets: 'Vec<MultiAssetV0>'\n },\n BuyExecution: {\n fees: 'MultiAssetV0',\n weight: 'u64',\n debt: 'u64',\n haltOnError: 'bool',\n xcm: 'Vec<XcmV0>'\n }\n }\n }\n};\n","export const v1 = {\n AssetInstanceV1: {\n _enum: {\n Undefined: 'Null',\n Index: 'Compact<u128>',\n Array4: '[u8; 4]',\n Array8: '[u8; 8]',\n Array16: '[u8; 16]',\n Array32: '[u8; 32]',\n Blob: 'Bytes'\n }\n },\n FungibilityV1: {\n _enum: {\n Fungible: 'Compact<u128>',\n NonFungible: 'AssetInstanceV1'\n }\n },\n JunctionV1: {\n _enum: {\n Parachain: 'Compact<u32>',\n AccountId32: {\n network: 'NetworkId',\n id: 'AccountId'\n },\n AccountIndex64: {\n network: 'NetworkId',\n index: 'Compact<u64>'\n },\n AccountKey20: {\n network: 'NetworkId',\n key: '[u8; 20]'\n },\n PalletInstance: 'u8',\n GeneralIndex: 'Compact<u128>',\n GeneralKey: 'Vec<u8>',\n OnlyChild: 'Null',\n Plurality: {\n id: 'BodyId',\n part: 'BodyPart'\n }\n }\n },\n JunctionsV1: {\n _enum: {\n Here: 'Null',\n X1: 'JunctionV1',\n X2: '(JunctionV1, JunctionV1)',\n X3: '(JunctionV1, JunctionV1, JunctionV1)',\n X4: '(JunctionV1, JunctionV1, JunctionV1, JunctionV1)',\n X5: '(JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1)',\n X6: '(JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1)',\n X7: '(JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1)',\n X8: '(JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1, JunctionV1)'\n }\n },\n MultiAssetsV1: 'Vec<MultiAssetV1>',\n MultiAssetV1: {\n id: 'XcmAssetId',\n fungibility: 'FungibilityV1'\n },\n MultiAssetFilterV1: {\n _enum: {\n Definite: 'MultiAssetsV1',\n Wild: 'WildMultiAssetV1'\n }\n },\n MultiLocationV1: {\n parents: 'u8',\n interior: 'JunctionsV1'\n },\n OriginKindV1: 'OriginKindV0',\n ResponseV1: {\n _enum: {\n Assets: 'MultiAssetsV1'\n }\n },\n WildFungibilityV1: {\n _enum: ['Fungible', 'NonFungible']\n },\n WildMultiAssetV1: {\n _enum: {\n All: 'Null',\n AllOf: {\n id: 'XcmAssetId',\n fungibility: 'WildFungibilityV1'\n }\n }\n },\n XcmV1: {\n _enum: {\n WithdrawAsset: {\n assets: 'MultiAssetsV1',\n effects: 'Vec<XcmOrderV1>'\n },\n ReserveAssetDeposit: {\n assets: 'MultiAssetsV1',\n effects: 'Vec<XcmOrderV1>'\n },\n ReceiveTeleportedAsset: {\n assets: 'MultiAssetsV1',\n effects: 'Vec<XcmOrderV1>'\n },\n QueryResponse: {\n queryId: 'Compact<u64>',\n response: 'ResponseV1'\n },\n TransferAsset: {\n assets: 'MultiAssetsV1',\n dest: 'MultiLocationV1'\n },\n TransferReserveAsset: {\n assets: 'MultiAssetsV1',\n dest: 'MultiLocationV1',\n effects: 'Vec<XcmOrderV1>'\n },\n Transact: {\n originType: 'XcmOriginKind',\n requireWeightAtMost: 'u64',\n call: 'DoubleEncodedCall'\n },\n HrmpNewChannelOpenRequest: {\n sender: 'Compact<u32>',\n maxMessageSize: 'Compact<u32>',\n maxCapacity: 'Compact<u32>'\n },\n HrmpChannelAccepted: {\n recipient: 'Compact<u32>'\n },\n HrmpChannelClosing: {\n initiator: 'Compact<u32>',\n sender: 'Compact<u32>',\n recipient: 'Compact<u32>'\n },\n RelayedFrom: {\n who: 'MultiLocationV1',\n message: 'XcmV1'\n }\n }\n },\n XcmErrorV1: {\n _enum: {\n Undefined: 'Null',\n Overflow: 'Null',\n Unimplemented: 'Null',\n UnhandledXcmVersion: 'Null',\n UnhandledXcmMessage: 'Null',\n UnhandledEffect: 'Null',\n EscalationOfPrivilege: 'Null',\n UntrustedReserveLocation: 'Null',\n UntrustedTeleportLocation: 'Null',\n DestinationBufferOverflow: 'Null',\n SendFailed: 'Null',\n CannotReachDestination: '(MultiLocationV1, XcmV1)',\n MultiLocationFull: 'Null',\n FailedToDecode: 'Null',\n BadOrigin: 'Null',\n ExceedsMaxMessageSize: 'Null',\n FailedToTransactAsset: 'Null',\n WeightLimitReached: 'Weight',\n Wildcard: 'Null',\n TooMuchWeightRequired: 'Null',\n NotHoldingFees: 'Null',\n WeightNotComputable: 'Null',\n Barrier: 'Null',\n NotWithdrawable: 'Null',\n LocationCannotHold: 'Null',\n TooExpensive: 'Null',\n AssetNotFound: 'Null',\n DestinationUnsupported: 'Null',\n RecursionLimitReached: 'Null'\n }\n },\n XcmOrderV1: {\n _enum: {\n Noop: 'Null',\n DepositAsset: {\n assets: 'MultiAssetFilterV1',\n maxAssets: 'u32',\n beneficiary: 'MultiLocationV1'\n },\n DepositReserveAsset: {\n assets: 'MultiAssetFilterV1',\n maxAssets: 'u32',\n dest: 'MultiLocationV1',\n effects: 'Vec<XcmOrderV1>'\n },\n ExchangeAsset: {\n give: 'MultiAssetFilterV1',\n receive: 'MultiAssetsV1'\n },\n InitiateReserveWithdraw: {\n assets: 'MultiAssetFilterV1',\n reserve: 'MultiLocationV1',\n effects: 'Vec<XcmOrderV1>'\n },\n InitiateTeleport: {\n assets: 'MultiAssetFilterV1',\n dest: 'MultiLocationV1',\n effects: 'Vec<XcmOrderV1>'\n },\n QueryHolding: {\n queryId: 'Compact<u64>',\n dest: 'MultiLocationV1',\n assets: 'MultiAssetFilterV1'\n },\n BuyExecution: {\n fees: 'MultiAssetV1',\n weight: 'u64',\n debt: 'u64',\n haltOnError: 'bool',\n instructions: 'Vec<XcmV1>'\n }\n }\n }\n};\n","export const v2 = {\n AssetIdV2: {\n _enum: {\n Concrete: 'MultiLocationV2',\n Abstract: 'Bytes'\n }\n },\n AssetInstanceV2: {\n _enum: {\n Undefined: 'Null',\n Index: 'Compact<u128>',\n Array4: '[u8;4]',\n Array8: '[u8;8]',\n Array16: '[u8;16]',\n Array32: '[u8;32]',\n Blob: 'Bytes'\n }\n },\n BodyIdV2: {\n _enum: {\n Unit: 'Null',\n Named: 'Bytes',\n Index: 'Compact<u32>',\n Executive: 'Null',\n Technical: 'Null',\n Legislative: 'Null',\n Judicial: 'Null',\n Defense: 'Null',\n Administration: 'Null',\n Treasury: 'Null'\n }\n },\n BodyPartV2: {\n _enum: {\n Voice: 'Null',\n Members: {\n count: 'Compact<u32>'\n },\n Fraction: {\n nom: 'Compact<u32>',\n denom: 'Compact<u32>'\n },\n AtLeastProportion: {\n nom: 'Compact<u32>',\n denom: 'Compact<u32>'\n },\n MoreThanProportion: {\n nom: 'Compact<u32>',\n denom: 'Compact<u32>'\n }\n }\n },\n NetworkIdV2: {\n _enum: {\n Any: 'Null',\n Named: 'Bytes',\n Polkadot: 'Null',\n Kusama: 'Null'\n }\n },\n JunctionV2: {\n _enum: {\n Parachain: 'Compact<u32>',\n AccountId32: {\n network: 'NetworkIdV2',\n id: '[u8; 32]'\n },\n AccountIndex64: {\n network: 'NetworkIdV2',\n index: 'Compact<u64>'\n },\n AccountKey20: {\n network: 'NetworkIdV2',\n key: '[u8; 20]'\n },\n PalletInstance: 'u8',\n GeneralIndex: 'Compact<u128>',\n GeneralKey: 'Bytes',\n OnlyChild: 'Null',\n Plurality: {\n id: 'BodyIdV2',\n part: 'BodyPartV2'\n }\n }\n },\n JunctionsV2: {\n _enum: {\n Here: 'Null',\n X1: 'JunctionV2',\n X2: '(JunctionV2, JunctionV2)',\n X3: '(JunctionV2, JunctionV2, JunctionV2)',\n X4: '(JunctionV2, JunctionV2, JunctionV2, JunctionV2)',\n X5: '(JunctionV2, JunctionV2, JunctionV2, JunctionV2, JunctionV2)',\n X6: '(JunctionV2, JunctionV2, JunctionV2, JunctionV2, JunctionV2, JunctionV2)',\n X7: '(JunctionV2, JunctionV2, JunctionV2, JunctionV2, JunctionV2, JunctionV2, JunctionV2)',\n X8: '(JunctionV2, JunctionV2, JunctionV2, JunctionV2, JunctionV2, JunctionV2, JunctionV2, JunctionV2)'\n }\n },\n FungibilityV2: {\n _enum: {\n Fungible: 'Compact<u128>',\n NonFungible: 'AssetInstanceV2'\n }\n },\n InteriorMultiLocationV2: 'JunctionsV2',\n MultiAssetV2: {\n id: 'AssetIdV2',\n fun: 'FungibilityV2'\n },\n MultiAssetsV2: 'Vec<MultiAssetV2>',\n MultiAssetFilterV2: {\n _enum: {\n Definite: 'MultiAssetsV2',\n Wild: 'WildMultiAssetV2'\n }\n },\n MultiLocationV2: {\n parents: 'u8',\n interior: 'JunctionsV2'\n },\n OriginKindV2: {\n _enum: {\n Native: 'Null',\n SovereignAccount: 'Null',\n Superuser: 'Null',\n Xcm: 'Null'\n }\n },\n WildFungibilityV2: {\n _enum: {\n Fungible: 'Null',\n NonFungible: 'Null'\n }\n },\n ResponseV2: {\n _enum: {\n Null: 'Null',\n Assets: 'MultiAssetsV2',\n ExecutionResult: 'Option<(u32, XcmErrorV2)>',\n Version: 'u32'\n }\n },\n ResponseV2Error: '(u32, XcmErrorV2)',\n WeightLimitV2: {\n _enum: {\n Unlimited: 'Null',\n Limited: 'Compact<u64>'\n }\n },\n InstructionV2: {\n _enum: {\n WithdrawAsset: 'MultiAssetsV2',\n ReserveAssetDeposited: 'MultiAssetsV2',\n ReceiveTeleportedAsset: 'MultiAssetsV2',\n QueryResponse: {\n queryId: 'Compact<u64>',\n response: 'ResponseV2',\n maxWeight: 'Compact<u64>'\n },\n TransferAsset: {\n assets: 'MultiAssetsV2',\n beneficiary: 'MultiLocationV2'\n },\n TransferReserveAsset: {\n assets: 'MultiAssetsV2',\n dest: 'MultiLocationV2',\n xcm: 'XcmV2'\n },\n Transact: {\n originType: 'XcmOriginKind',\n requireWeightAtMost: 'Compact<u64>',\n call: 'DoubleEncodedCall'\n },\n HrmpNewChannelOpenRequest: {\n sender: 'Compact<u32>',\n maxMessageSize: 'Compact<u32>',\n maxCapacity: 'Compact<u32>'\n },\n HrmpChannelAccepted: {\n recipient: 'Compact<u32>'\n },\n HrmpChannelClosing: {\n initiator: 'Compact<u32>',\n sender: 'Compact<u32>',\n recipient: 'Compact<u32>'\n },\n ClearOrigin: 'Null',\n DescendOrigin: 'InteriorMultiLocationV2',\n ReportError: {\n queryId: 'Compact<u64>',\n dest: 'MultiLocationV2',\n maxResponseWeight: 'Compact<u64>'\n },\n DepositAsset: {\n assets: 'MultiAssetFilterV2',\n maxAssets: 'Compact<u32>',\n beneficiary: 'MultiLocationV2'\n },\n DepositReserveAsset: {\n assets: 'MultiAssetFilterV2',\n maxAssets: 'Compact<u32>',\n dest: 'MultiLocationV2',\n xcm: 'XcmV2'\n },\n ExchangeAsset: {\n give: 'MultiAssetFilterV2',\n receive: 'MultiAssetsV2'\n },\n InitiateReserveWithdraw: {\n assets: 'MultiAssetFilterV2',\n reserve: 'MultiLocationV2',\n xcm: 'XcmV2'\n },\n InitiateTeleport: {\n assets: 'MultiAssetFilterV2',\n dest: 'MultiLocationV2',\n xcm: 'XcmV2'\n },\n QueryHolding: {\n queryId: 'Compact<u64>',\n dest: 'MultiLocationV2',\n assets: 'MultiAssetFilterV2',\n maxResponseWeight: 'Compact<u64>'\n },\n BuyExecution: {\n fees: 'MultiAssetV2',\n weightLimit: 'WeightLimitV2'\n },\n RefundSurplus: 'Null',\n SetErrorHandler: 'XcmV2<RuntimeCall>',\n SetAppendix: 'XcmV2<RuntimeCall>',\n ClearError: 'Null',\n ClaimAsset: {\n assets: 'MultiAssetsV2',\n ticket: 'MultiLocationV2'\n },\n Trap: 'Compact<u64>',\n SubscribeVersion: {\n queryId: 'Compact<u64>',\n maxResponseWeight: 'Compact<u64>'\n },\n UnsubscribeVersion: 'Null'\n }\n },\n WildMultiAssetV2: {\n _enum: {\n All: 'Null',\n AllOf: {\n id: 'AssetIdV2',\n fun: 'WildFungibilityV2'\n }\n }\n },\n XcmV2: 'Vec<InstructionV2>',\n XcmErrorV2: {\n _enum: {\n Overflow: 'Null',\n Unimplemented: 'Null',\n UntrustedReserveLocation: 'Null',\n UntrustedTeleportLocation: 'Null',\n MultiLocationFull: 'Null',\n MultiLocationNotInvertible: 'Null',\n BadOrigin: 'Null',\n InvalidLocation: 'Null',\n AssetNotFound: 'Null',\n FailedToTransactAsset: 'Null',\n NotWithdrawable: 'Null',\n LocationCannotHold: 'Null',\n ExceedsMaxMessageSize: 'Null',\n DestinationUnsupported: 'Null',\n Transport: 'Null',\n Unroutable: 'Null',\n UnknownClaim: 'Null',\n FailedToDecode: 'Null',\n MaxWeightInvalid: 'Null',\n NotHoldingFees: 'Null',\n TooExpensive: 'Null',\n Trap: 'u64',\n UnhandledXcmVersion: 'Null',\n WeightLimitReached: 'Weight',\n Barrier: 'Null',\n WeightNotComputable: 'Null'\n }\n }\n};\n","export const v3 = {\n AssetIdV3: {\n _enum: {\n Concrete: 'MultiLocationV3',\n Abstract: 'Bytes'\n }\n },\n BodyIdV3: {\n _enum: {\n Unit: 'Null',\n Moniker: '[u8;4]',\n Index: 'Compact<u32>',\n Executive: 'Null',\n Technical: 'Null',\n Legislative: 'Null',\n Judicial: 'Null',\n Defense: 'Null',\n Administration: 'Null',\n Treasury: 'Null'\n }\n },\n BodyPartV3: {\n _enum: {\n Voice: 'Null',\n Members: {\n count: 'Compact<u32>'\n },\n Fraction: {\n nom: 'Compact<u32>',\n denom: 'Compact<u32>'\n },\n AtLeastProportion: {\n nom: 'Compact<u32>',\n denom: 'Compact<u32>'\n },\n MoreThanProportion: {\n nom: 'Compact<u32>',\n denom: 'Compact<u32>'\n }\n }\n },\n AssetInstanceV3: {\n _enum: {\n Undefined: 'Null',\n Index: 'Compact<u128>',\n Array4: '[u8;4]',\n Array8: '[u8;8]',\n Array16: '[u8;16]',\n Array32: '[u8;32]'\n }\n },\n FungibilityV3: {\n _enum: {\n Fungible: 'Compact<u128>',\n NonFungible: 'AssetInstanceV3'\n }\n },\n InteriorMultiLocationV3: 'JunctionsV3',\n JunctionV3: {\n _enum: {\n Parachain: 'Compact<u32>',\n AccountId32: {\n network: 'Option<NetworkIdV3>',\n id: '[u8;32]'\n },\n AccountIndex64: {\n network: 'Option<NetworkIdV3>',\n index: 'Compact<u64>'\n },\n AccountKey20: {\n network: 'Option<NetworkIdV3>',\n key: '[u8;20]'\n },\n PalletInstance: 'u8',\n GeneralIndex: 'Compact<u128>',\n GeneralKey: {\n length: 'u8',\n data: '[u8;32]'\n },\n OnlyChild: 'Null',\n Plurality: {\n id: 'BodyIdV3',\n part: 'BodyPartV3'\n },\n GlobalConsensus: 'NetworkIdV3'\n }\n },\n JunctionsV3: {\n _enum: {\n Here: 'Null',\n X1: 'JunctionV3',\n X2: '(JunctionV3, JunctionV3)',\n X3: '(JunctionV3, JunctionV3, JunctionV3)',\n X4: '(JunctionV3, JunctionV3, JunctionV3, JunctionV3)',\n X5: '(JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3)',\n X6: '(JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3)',\n X7: '(JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3)',\n X8: '(JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3, JunctionV3)'\n }\n },\n MaybeErrorCodeV3: {\n _enum: {\n Success: 'Null',\n Error: 'Bytes',\n TruncatedError: 'Bytes'\n }\n },\n MaxPalletsInfo: 'u32',\n MultiAssetV3: {\n id: 'AssetIdV3',\n fun: 'FungibilityV3'\n },\n MultiAssetsV3: 'Vec<MultiAssetV3>',\n MultiAssetFilterV3: {\n _enum: {\n Definite: 'MultiAssetsV3',\n Wild: 'WildMultiAssetV3'\n }\n },\n MultiLocationV3: {\n parents: 'u8',\n interior: 'JunctionsV3'\n },\n MaxPalletNameLen: 'u32',\n NetworkIdV3: {\n _enum: {\n ByGenesis: '[u8;32]',\n ByFork: {\n blockNumber: 'u64',\n blockHash: '[u8;32]'\n },\n Polkadot: 'Null',\n Kusama: 'Null',\n Westend: 'Null',\n Rococo: 'Null',\n Wococo: 'Null',\n Ethereum: {\n chainId: 'Compact<u64>'\n },\n BitcoinCore: 'Null',\n BitcoinCash: 'Null',\n PolkadotBulletin: 'Null'\n }\n },\n OriginKindV3: 'OriginKindV2',\n PalletInfoV3: {\n index: 'Compact<u32>',\n name: 'Bytes',\n moduleName: 'Bytes',\n major: 'Compact<u32>',\n minor: 'Compact<u32>',\n patch: 'Compact<u32>'\n },\n WildFungibilityV3: 'WildFungibilityV2',\n QueryResponseInfoV3: {\n destination: 'MultiLocationV3',\n queryId: 'Compact<u64>',\n maxWeight: 'WeightV2'\n },\n ResponseV3: {\n _enum: {\n Null: 'Null',\n Assets: 'MultiAssetsV3',\n ExecutionResult: 'Option<(u32,XcmErrorV3)>',\n Version: 'u32',\n PalletsInfo: 'Vec<PalletInfoV3>',\n DispatchResult: 'MaybeErrorCodeV3'\n }\n },\n XcmErrorV3: {\n _enum: {\n Overflow: 'Null',\n Unimplemented: 'Null',\n UntrustedReserveLocation: 'Null',\n UntrustedTeleportLocation: 'Null',\n LocationFull: 'Null',\n LocationNotInvertible: 'Null',\n BadOrigin: 'Null',\n InvalidLocation: 'Null',\n AssetNotFound: 'Null',\n FailedToTransactAsset: 'Null',\n NotWithdrawable: 'Null',\n LocationCannotHold: 'Null',\n ExceedsMaxMessageSize: 'Null',\n DestinationUnsupported: 'Null',\n Transport: 'Null',\n Unroutable: 'Null',\n UnknownClaim: 'Null',\n FailedToDecode: 'Null',\n MaxWeightInvalid: 'Null',\n NotHoldingFees: 'Null',\n TooExpensive: 'Null',\n Trap: 'u64',\n ExpectationFalse: 'Null',\n PalletNotFound: 'Null',\n NameMismatch: 'Null',\n VersionIncompatible: 'Null',\n HoldingWouldOverflow: 'Null',\n ExportError: 'Null',\n ReanchorFailed: 'Null',\n NoDeal: 'Null',\n FeesNotMet: 'Null',\n LockError: 'Null',\n NoPermission: 'Null',\n Unanchored: 'Null',\n NotDepositable: 'Null',\n UnhandledXcmVersion: 'Null',\n WeightLimitReached: 'WeightV2',\n Barrier: 'Null',\n ExceedsStackLimit: 'Null'\n }\n },\n ResponseV3Error: '(u32, XcmErrorV3)',\n ResponseV3Result: 'Option<(u32, ResponseV3Error)>',\n WeightLimitV3: {\n _enum: {\n Unlimited: 'Null',\n Limited: 'WeightV2'\n }\n },\n InstructionV3: {\n _enum: {\n WithdrawAsset: 'MultiAssetsV3',\n ReserveAssetDeposited: 'MultiAssetsV3',\n ReceiveTeleportedAsset: 'MultiAssetsV3',\n QueryResponse: {\n queryId: 'Compact<u64>',\n response: 'ResponseV3',\n maxWeight: 'WeightV2',\n querier: 'Option<MultiLocationV3>'\n },\n TransferAsset: {\n assets: 'MultiAssetsV3',\n beneficiary: 'MultiLocationV3'\n },\n TransferReserveAsset: {\n assets: 'MultiAssetsV3',\n dest: 'MultiLocationV3',\n xcm: 'XcmV3'\n },\n Transact: {\n originKind: 'XcmOriginKind',\n requireWeightAtMost: 'WeightV2',\n call: 'DoubleEncodedCall'\n },\n HrmpNewChannelOpenRequest: {\n sender: 'Compact<u32>',\n maxMessageSize: 'Compact<u32>',\n maxCapacity: 'Compact<u32>'\n },\n HrmpChannelAccepted: {\n recipient: 'Compact<u32>'\n },\n HrmpChannelClosing: {\n initiator: 'Compact<u32>',\n sender: 'Compact<u32>',\n recipient: 'Compact<u32>'\n },\n ClearOrigin: 'Null',\n DescendOrigin: 'JunctionsV3',\n ReportError: 'QueryResponseInfoV3',\n DepositAsset: {\n assets: 'MultiAssetFilterV3',\n beneficiary: 'MultiLocationV3'\n },\n DepositReserveAsset: {\n assets: 'MultiAssetFilterV3',\n dest: 'MultiLocationV3',\n xcm: 'XcmV3'\n },\n ExchangeAsset: {\n give: 'MultiAssetFilterV3',\n want: 'MultiAssetsV3',\n maximal: 'bool'\n },\n InitiateReserveWithdraw: {\n assets: 'MultiAssetFilterV3',\n reserve: 'MultiLocationV3',\n xcm: 'XcmV3'\n },\n InitiateTeleport: {\n assets: 'MultiAssetFilterV3',\n dest: 'MultiLocationV3',\n xcm: 'XcmV3'\n },\n ReportHolding: {\n responseInfo: 'QueryResponseInfoV3',\n assets: 'MultiAssetFilterV3'\n },\n BuyExecution: {\n fees: 'MultiAssetV3',\n weightLimit: 'WeightLimitV3'\n },\n RefundSurplus: 'Null',\n SetErrorHandler: 'XcmV3<RuntimeCall>',\n SetAppendix: 'XcmV3<RuntimeCall>',\n ClearError: 'Null',\n ClaimAsset: {\n assets: 'MultiAssetsV3',\n ticket: 'MultiLocationV3'\n },\n Trap: 'Compact<u64>',\n SubscribeVersion: {\n queryId: 'Compact<u64>',\n maxResponseWeight: 'WeightV2'\n },\n UnsubscribeVersion: 'Null',\n BurnAsset: 'MultiAssetsV3',\n ExpectAsset: 'MultiAssetsV3',\n ExpectOrigin: 'Option<MultiLocationV3>',\n ExpectError: 'Option<(u32, XcmErrorV3)>',\n ExpectTransactStatus: 'MaybeErrorCodeV3',\n QueryPallet: {\n moduleName: 'Vec<u8>',\n responseInfo: 'QueryResponseInfoV3'\n },\n ExpectPallet: {\n index: 'Compact<u32>',\n name: 'Vec<u8>',\n moduleName: 'Vec<u8>',\n crateMajor: 'Compact<u32>',\n minCrateMinor: 'Compact<u32>'\n },\n ReportTransactStatus: 'QueryResponseInfoV3',\n ClearTransactStatus: 'Null',\n UniversalOrigin: 'JunctionV3',\n ExportMessage: {\n network: 'NetworkIdV3',\n destination: 'JunctionsV3',\n xcm: 'XcmV3'\n },\n LockAsset: {\n asset: 'MultiAssetV3',\n unlocker: 'MultiLocationV3'\n },\n UnlockAsset: {\n asset: 'MultiAssetV3',\n target: 'MultiLocationV3'\n },\n NoteUnlockable: {\n asset: 'MultiAssetV3',\n owner: 'MultiLocationV3'\n },\n RequestUnlock: {\n asset: 'MultiAssetV3',\n locker: 'MultiLocationV3'\n },\n SetFeesMode: {\n jitWithdraw: 'bool'\n },\n SetTopic: '[u8; 32]',\n ClearTopic: 'Null',\n AliasOrigin: 'MultiLocationV3',\n UnpaidExecution: {\n weightLimit: 'WeightLimitV3',\n checkOrigin: 'Option<MultiLocationV3>'\n }\n }\n },\n WildMultiAssetV3: {\n _enum: {\n All: 'Null',\n AllOf: {\n id: 'AssetIdV3',\n fun: 'WildFungibilityV2'\n },\n AllCounted: 'Compact<u32>',\n AllOfCounted: {\n id: 'AssetIdV3',\n fun: 'WildFungibilityV2',\n count: 'Compact<u32>'\n }\n }\n },\n VersionV3: 'u32',\n XcmV3: 'Vec<InstructionV3>'\n};\n","export const v4 = {\n AssetIdV4: 'MultiLocationV4',\n AssetInstanceV4: {\n _enum: {\n Undefined: 'Null',\n Index: 'Compact<u128>',\n Array4: '[u8;4]',\n Array8: '[u8;8]',\n Array16: '[u8;16]',\n Array32: '[u8;32]'\n }\n },\n FungibilityV4: {\n _enum: {\n Fungible: 'Compact<u128>',\n NonFungible: 'AssetInstanceV4'\n }\n },\n UncheckedFungibilityV4: {\n _enum: {\n Fungible: 'Compact<u128>',\n NonFungible: 'AssetInstanceV4'\n }\n },\n JunctionV4: {\n _enum: {\n Parachain: 'Compact<u32>',\n AccountId32: {\n network: 'Option<NetworkIdV4>',\n id: '[u8;32]'\n },\n AccountIndex64: {\n network: 'Option<NetworkIdV4>',\n index: 'Compact<u64>'\n },\n AccountKey20: {\n network: 'Option<NetworkIdV4>',\n key: '[u8;20]'\n },\n PalletInstance: 'u8',\n GeneralIndex: 'Compact<u128>',\n GeneralKey: {\n length: 'u8',\n data: '[u8;32]'\n },\n OnlyChild: 'Null',\n Plurality: {\n id: 'BodyIdV3',\n part: 'BodyPartV3'\n },\n GlobalConsensus: 'NetworkIdV4'\n }\n },\n JunctionsV4: {\n _enum: {\n Here: 'Null',\n X1: '[JunctionV4;1]',\n X2: '[JunctionV4;2]',\n X3: '[JunctionV4;3]',\n X4: '[JunctionV4;4]',\n X5: '[JunctionV4;5]',\n X6: '[JunctionV4;6]',\n X7: '[JunctionV4;7]',\n X8: '[JunctionV4;8]'\n }\n },\n MaxPalletsInfo: 'u32',\n NetworkIdV4: 'NetworkIdV3',\n MultiAssetV4: {\n id: 'AssetIdV4',\n fun: 'FungibilityV4'\n },\n MultiAssetsV4: 'Vec<MultiAssetV4>',\n MultiAssetFilterV4: {\n _enum: {\n Definite: 'MultiAssetsV4',\n Wild: 'WildMultiAssetV4'\n }\n },\n MultiLocationV4: {\n parents: 'u8',\n interior: 'JunctionsV4'\n },\n OriginKindV4: 'XcmOriginKind',\n PalletInfoV4: 'PalletInfoV3',\n WildFungibilityV4: 'WildFungibilityV2',\n QueryResponseInfoV4: {\n destination: 'MultiLocationV4',\n queryId: 'Compact<u64>',\n maxWeight: 'WeightV2'\n },\n ResponseV4: {\n _enum: {\n Null: 'Null',\n Assets: 'MultiAssetsV4',\n ExecutionResult: 'Option<(u32, XcmErrorV3)>',\n Version: 'u32',\n PalletsInfo: 'Vec<PalletInfoV4>',\n DispatchResult: 'MaybeErrorCodeV3'\n }\n },\n InstructionV4: {\n _enum: {\n WithdrawAsset: 'MultiAssetsV4',\n ReserveAssetDeposited: 'MultiAssetsV4',\n ReceiveTeleportedAsset: 'MultiAssetsV4',\n QueryResponse: {\n queryId: 'Compact<u64>',\n response: 'ResponseV4',\n maxWeight: 'WeightV2',\n querier: 'Option<MultiLocationV4>'\n },\n TransferAsset: {\n assets: 'MultiAssetsV4',\n beneficiary: 'MultiLocationV4'\n },\n TransferReserveAsset: {\n assets: 'MultiAssetsV4',\n dest: 'MultiLocationV4',\n xcm: 'XcmV4'\n },\n Transact: {\n originKind: 'OriginKindV4',\n requireWeightAtMost: 'WeightV2',\n call: 'DoubleEncodedCall'\n },\n HrmpNewChannelOpenRequest: {\n sender: 'Compact<u32>',\n maxMessageSize: 'Compact<u32>',\n maxCapacity: 'Compact<u32>'\n },\n HrmpChannelAccepted: {\n recipient: 'Compact<u32>'\n },\n HrmpChannelClosing: {\n initiator: 'Compact<u32>',\n sender: 'Compact<u32>',\n recipient: 'Compact<u32>'\n },\n ClearOrigin: 'Null',\n DescendOrigin: 'JunctionsV4',\n ReportError: 'QueryResponseInfoV4',\n DepositAsset: {\n assets: 'MultiAssetFilterV4',\n beneficiary: 'MultiLocationV4'\n },\n DepositReserveAsset: {\n assets: 'MultiAssetFilterV4',\n dest: 'MultiLocationV4',\n xcm: 'XcmV4'\n },\n ExchangeAsset: {\n give: 'MultiAssetFilterV4',\n want: 'MultiAssetsV4',\n maximal: 'bool'\n },\n InitiateReserveWithdraw: {\n assets: 'MultiAssetFilterV4',\n reserve: 'MultiLocationV4',\n xcm: 'XcmV4'\n },\n InitiateTeleport: {\n assets: 'MultiAssetFilterV4',\n dest: 'MultiLocationV4',\n xcm: 'XcmV4'\n },\n ReportHolding: {\n responseInfo: 'QueryResponseInfoV4',\n assets: 'MultiAssetFilterV4'\n },\n BuyExecution: {\n fees: 'MultiAssetV4',\n weightLimit: 'WeightLimitV3'\n },\n RefundSurplus: 'Null',\n SetErrorHandler: 'XcmV4',\n SetAppendix: 'XcmV4',\n ClearError: 'Null',\n ClaimAsset: {\n assets: 'MultiAssetsV4',\n ticket: 'MultiLocationV4'\n },\n Trap: 'Compact<u64>',\n SubscribeVersion: {\n queryId: 'Compact<u64>',\n maxResponseWeight: 'WeightV2'\n },\n UnsubscribeVersion: 'Null',\n BurnAsset: 'MultiAssetsV4',\n ExpectAsset: 'MultiAssetsV4',\n ExpectOrigin: 'Option<MultiLocationV4>',\n ExpectError: 'Option<(u32, XcmErrorV3)>',\n ExpectTransactStatus: 'MaybeErrorCodeV3',\n QueryPallet: {\n moduleName: 'Vec<u8>',\n responseInfo: 'QueryResponseInfoV4'\n },\n ExpectPallet: {\n index: 'Compact<u32>',\n name: 'Vec<u8>',\n moduleName: 'Vec<u8>',\n crateMajor: 'Compact<u32>',\n minCrateMinor: 'Compact<u32>'\n },\n ReportTransactStatus: 'QueryResponseInfoV4',\n ClearTransactStatus: 'Null',\n UniversalOrigin: 'JunctionV4',\n ExportMessage: {\n network: 'NetworkIdV4',\n destination: 'JunctionsV4',\n xcm: 'XcmV4'\n },\n LockAsset: {\n asset: 'MultiAssetV4',\n unlocker: 'MultiLocationV4'\n },\n UnlockAsset: {\n asset: 'MultiAssetV4',\n target: 'MultiLocationV4'\n },\n NoteUnlockable: {\n asset: 'MultiAssetV4',\n owner: 'MultiLocationV4'\n },\n RequestUnlock: {\n asset: 'MultiAssetV4',\n locker: 'MultiLocationV4'\n },\n SetFeesMode: {\n jitWithdraw: 'bool'\n },\n SetTopic: '[u8;32]',\n ClearTopic: 'Null',\n AliasOrigin: 'MultiLocationV4',\n UnpaidExecution: {\n weightLimit: 'WeightLimitV3',\n checkOrigin: 'Option<MultiLocationV4>'\n }\n }\n },\n OutcomeV4: {\n _enum: {\n Complete: {\n used: 'WeightV2'\n },\n Incomplete: {\n used: 'WeightV2',\n error: 'XcmErrorV3'\n },\n Error: {\n error: 'XcmErrorV3'\n }\n }\n },\n WildMultiAssetV4: {\n _enum: {\n All: 'Null',\n AllOf: {\n id: 'AssetIdV4',\n fun: 'WildFungibilityV4'\n },\n AllCounted: 'Compact<u32>',\n AllOfCounted: {\n id: 'AssetIdV4',\n fun: 'WildFungibilityV4',\n count: 'Compact<u32>'\n }\n }\n },\n VersionV4: 'u32',\n XcmV4: 'Vec<InstructionV4>',\n XcmErrorV4: 'XcmErrorV3'\n};\n","export const v5 = {\n AssetIdV5: 'MultiLocationV5',\n AssetInstanceV5: {\n _enum: {\n Undefined: 'Null',\n Index: 'Compact<u128>',\n Array4: '[u8;4]',\n Array8: '[u8;8]',\n Array16: '[u8;16]',\n Array32: '[u8;32]'\n }\n },\n // Maps to xcmV5::Asset but we keep the prefix 'Multi'\n // to keep consistency with the rest of the code base.\n MultiAssetV5: {\n id: 'AssetIdV5',\n fun: 'FungibilityV5'\n },\n MultiAssetsV5: 'Vec<MultiAssetV5>',\n WildMultiAssetV5: {\n _enum: {\n All: 'Null',\n AllOf: {\n id: 'AssetIdV5',\n fun: 'WildFungibilityV5'\n },\n AllCounted: 'Compact<u32>',\n AllOfCounted: {\n id: 'AssetIdV5',\n fun: 'WildFungibilityV5',\n count: 'Compact<u32>'\n }\n }\n },\n MultiAssetFilterV5: {\n _enum: {\n Definite: 'MultiAssetsV5',\n Wild: 'WildMultiAssetV5'\n }\n },\n MultiAssetTransferFilterV5: {\n _enum: {\n Teleport: 'MultiAssetFilterV5',\n ReserveDeposit: 'MultiAssetFilterV5',\n ReserveWithdraw: 'MultiAssetFilterV5'\n }\n },\n FungibilityV5: {\n _enum: {\n Fungible: 'Compact<u128>',\n NonFungible: 'AssetInstanceV5'\n }\n },\n UncheckedFungibilityV5: {\n _enum: {\n Fungible: 'Compact<u128>',\n NonFungible: 'AssetInstanceV5'\n }\n },\n WildFungibilityV5: 'WildFungibilityV2',\n JunctionV5: {\n _enum: {\n Parachain: 'Compact<u32>',\n AccountId32: {\n network: 'Option<NetworkIdV5>',\n id: '[u8;32]'\n },\n AccountIndex64: {\n network: 'Option<NetworkIdV5>',\n index: 'Compact<u64>'\n },\n AccountKey20: {\n network: 'Option<NetworkIdV5>',\n key: '[u8;20]'\n },\n PalletInstance: 'u8',\n GeneralIndex: 'Compact<u128>',\n GeneralKey: {\n length: 'u8',\n data: '[u8;32]'\n },\n OnlyChild: 'Null',\n Plurality: {\n id: 'BodyIdV3',\n part: 'BodyPartV3'\n },\n GlobalConsensus: 'NetworkIdV5'\n }\n },\n NetworkIdV5: {\n _enum: {\n ByGenesis: '[u8;32]',\n ByFork: {\n blockNumber: 'u64',\n blockHash: '[u8;32]'\n },\n Polkadot: 'Null',\n Kusama: 'Null',\n Ethereum: {\n chainId: 'Compact<u64>'\n },\n BitcoinCore: 'Null',\n BitcoinCash: 'Null',\n PolkadotBulletin: 'Null'\n }\n },\n JunctionsV5: {\n _enum: {\n Here: 'Null',\n X1: '[JunctionV5;1]',\n X2: '[JunctionV5;2]',\n X3: '[JunctionV5;3]',\n X4: '[JunctionV5;4]',\n X5: '[JunctionV5;5]',\n X6: '[JunctionV5;6]',\n X7: '[JunctionV5;7]',\n X8: '[JunctionV5;8]'\n }\n },\n MultiLocationV5: {\n parents: 'u8',\n interior: 'JunctionsV5'\n },\n InteriorMultiLocationV5: 'JunctionsV5',\n XcmV5: 'Vec<InstructionV5>',\n PalletInfoV5: 'PalletInfoV3',\n ResponseV5: {\n _enum: {\n Null: 'Null',\n Assets: 'MultiAssetsV5',\n ExecutionResult: 'Option<(u32, XcmErrorV3)>',\n Version: 'u32',\n PalletsInfo: 'Vec<PalletInfoV5>',\n DispatchResult: 'MaybeErrorCodeV3'\n }\n },\n QueryResponseInfoV5: {\n destination: 'MultiLocationV5',\n queryId: 'Compact<u64>',\n maxWeight: 'WeightV2'\n },\n InstructionV5: {\n _enum: {\n WithdrawAsset: 'MultiAssetsV5',\n ReserveAssetDeposited: 'MultiAssetsV5',\n ReceiveTeleportedAsset: 'MultiAssetsV5',\n QueryResponse: {\n queryId: 'Compact<u64>',\n response: 'ResponseV5',\n maxWeight: 'WeightV2',\n querier: 'Option<MultiLocationV5>'\n },\n TransferAsset: {\n assets: 'MultiAssetsV5',\n beneficiary: 'MultiLocationV5'\n },\n TransferReserveAsset: {\n assets: 'MultiAssetsV5',\n dest: 'MultiLocationV5',\n xcm: 'XcmV5'\n },\n Transact: {\n originKind: 'OriginKindV4',\n requireWeightAtMost: 'WeightV2',\n call: 'DoubleEncodedCall'\n },\n HrmpNewChannelOpenRequest: {\n sender: 'Compact<u32>',\n maxMessageSize: 'Compact<u32>',\n maxCapacity: 'Compact<u32>'\n },\n HrmpChannelAccepted: {\n recipient: 'Compact<u32>'\n },\n HrmpChannelClosing: {\n initiator: 'Compact<u32>',\n sender: 'Compact<u32>',\n recipient: 'Compact<u32>'\n },\n ClearOrigin: 'Null',\n DescendOrigin: 'InteriorMultiLocationV5',\n ReportError: 'QueryResponseInfoV4',\n DepositAsset: {\n assets: 'MultiAssetFilterV5',\n beneficiary: 'MultiLocationV5'\n },\n DepositReserveAsset: {\n assets: 'MultiAssetFilterV5',\n dest: 'MultiLocationV5',\n xcm: 'XcmV5'\n },\n ExchangeAsset: {\n give: 'MultiAssetFilterV5',\n want: 'MultiAssetsV5',\n maximal: 'bool'\n },\n InitiateReserveWithdraw: {\n assets: 'MultiAssetFilterV5',\n reserve: 'MultiLocationV5',\n xcm: 'XcmV5'\n },\n InitiateTeleport: {\n assets: 'MultiAssetFilterV5',\n dest: 'MultiLocationV5',\n xcm: 'XcmV5'\n },\n ReportHolding: {\n responseInfo: 'QueryResponseInfoV4',\n assets: 'MultiAssetFilterV5'\n },\n BuyExecution: {\n fees: 'MultiAssetV4',\n weightLimit: 'WeightLimitV3'\n },\n RefundSurplus: 'Null',\n SetErrorHandler: 'XcmV5',\n SetAppendix: 'XcmV5',\n ClearError: 'Null',\n ClaimAsset: {\n assets: 'MultiAssetsV5',\n ticket: 'MultiLocationV5'\n },\n Trap: 'Compact<u64>',\n SubscribeVersion: {\n queryId: 'Compact<u64>',\n maxResponseWeight: 'WeightV2'\n },\n UnsubscribeVersion: 'Null',\n BurnAsset: 'MultiAssetsV5',\n ExpectAsset: 'MultiAssetsV5',\n ExpectOrigin: 'Option<MultiLocationV5>',\n ExpectError: 'Option<(u32, XcmErrorV3)>',\n ExpectTransactStatus: 'MaybeErrorCodeV3',\n QueryPallet: {\n moduleName: 'Vec<u8>',\n responseInfo: 'QueryResponseInfoV4'\n },\n ExpectPallet: {\n index: 'Compact<u32>',\n name: 'Vec<u8>',\n moduleName: 'Vec<u8>',\n crateMajor: 'Compact<u32>',\n minCrateMinor: 'Compact<u32>'\n },\n ReportTransactStatus: 'QueryResponseInfoV4',\n ClearTransactStatus: 'Null',\n UniversalOrigin: 'JunctionV5',\n ExportMessage: {\n network: 'NetworkIdV5',\n destination: 'InteriorMultiLocationV5',\n xcm: 'XcmV5'\n },\n LockAsset: {\n asset: 'MultiAssetV5',\n unlocker: 'MultiLocationV5'\n },\n UnlockAsset: {\n asset: 'MultiAssetV5',\n target: 'MultiLocationV5'\n },\n NoteUnlockable: {\n asset: 'MultiAssetV5',\n owner: 'MultiLocationV5'\n },\n RequestUnlock: {\n asset: 'MultiAssetV5',\n locker: 'MultiLocationV5'\n },\n SetFeesMode: {\n jitWithdraw: 'bool'\n },\n SetTopic: '[u8;32]',\n ClearTopic: 'Null',\n AliasOrigin: 'MultiLocationV5',\n UnpaidExecution: {\n weightLimit: 'WeightLimitV3',\n checkOrigin: 'Option<MultiLocationV5>'\n },\n PayFees: {\n asset: 'MultiAssetV5'\n },\n InitiateTransfer: {\n destination: 'MultiLocationV5',\n remoteFees: 'Option<MultiAssetTransferFilterV5>',\n preserveOrigin: 'bool',\n assets: 'Vec<MultiAssetTransferFilterV5>',\n remoteXcm: 'XcmV5'\n },\n ExecuteWithOrigin: {\n descendant_origin: 'Option<InteriorMultiLocationV5>',\n xcm: 'XcmV5'\n },\n SetHints: {\n hints: 'Vec<HintV5>'\n }\n }\n },\n HintV5: {\n _enum: {\n AssetClaimer: {\n location: 'MultiLocationV5'\n }\n }\n },\n XcmErrorV5: 'XcmErrorV3'\n};\n","import { mapXcmTypes } from '@polkadot/types-create';\nimport { v0 } from './v0.js';\nimport { v1 } from './v1.js';\nimport { v2 } from './v2.js';\nimport { v3 } from './v3.js';\nimport { v4 } from './v4.js';\nimport { v5 } from './v5.js';\nconst XCM_LATEST = 'V5';\nconst xcm = {\n XcmOrigin: {\n _enum: {\n Xcm: 'MultiLocation'\n }\n },\n XcmpMessageFormat: {\n _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']\n },\n XcmAssetId: {\n _enum: {\n Concrete: 'MultiLocation',\n Abstract: 'Bytes'\n }\n },\n InboundStatus: {\n _enum: ['Ok', 'Suspended']\n },\n OutboundStatus: {\n _enum: ['Ok', 'Suspended']\n },\n MultiAssets: 'Vec<MultiAsset>'\n};\nconst location = {\n BodyId: {\n _enum: {\n Unit: 'Null',\n Named: 'Vec<u8>',\n Index: 'Compact<u32>',\n Executive: 'Null',\n Technical: 'Null',\n Legislative: 'Null',\n Judicial: 'Null'\n }\n },\n BodyPart: {\n _enum: {\n Voice: 'Null',\n Members: 'Compact<u32>',\n Fraction: {\n nom: 'Compact<u32>',\n denom: 'Compact<u32>'\n },\n AtLeastProportion: {\n nom: 'Compact<u32>',\n denom: 'Compact<u32>'\n },\n MoreThanProportion: {\n nom: 'Compact<u32>',\n denom: 'Compact<u32>'\n }\n }\n },\n InteriorMultiLocation: 'Junctions',\n NetworkId: {\n _enum: {\n Any: 'Null',\n Named: 'Vec<u8>',\n Polkadot: 'Null',\n Kusama: 'Null'\n }\n }\n};\nexport default {\n rpc: {},\n types: {\n ...location,\n ...xcm,\n ...v0,\n ...v1,\n ...v2,\n ...v3,\n ...v4,\n ...v5,\n ...mapXcmTypes(XCM_LATEST),\n DoubleEncodedCall: {\n encoded: 'Bytes'\n },\n XcmOriginKind: {\n _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']\n },\n Outcome: {\n _enum: {\n Complete: 'Weight',\n Incomplete: '(Weight, XcmErrorV0)',\n Error: 'XcmErrorV0'\n }\n },\n QueryId: 'u64',\n QueryStatus: {\n _enum: {\n Pending: {\n responder: 'VersionedMultiLocation',\n maybeNotify: 'Option<(u8, u8)>',\n timeout: 'BlockNumber'\n },\n Ready: {\n response: 'VersionedResponse',\n at: 'BlockNumber'\n }\n }\n },\n QueueConfigData: {\n suspendThreshold: 'u32',\n dropThreshold: 'u32',\n resumeThreshold: 'u32',\n thresholdWeight: 'Weight',\n weightRestrictDecay: 'Weight'\n },\n VersionMigrationStage: {\n _enum: {\n MigrateSupportedVersion: 'Null',\n MigrateVersionNotifiers: 'Null',\n NotifyCurrentTargets: 'Option<Bytes>',\n MigrateAndNotifyOldTargets: 'Null'\n }\n },\n VersionedMultiAsset: {\n _enum: {\n V0: 'MultiAssetV0',\n V1: 'MultiAssetV1',\n V2: 'MultiAssetV2',\n V3: 'MultiAssetV3',\n V4: 'MultiAssetV4',\n V5: 'MultiAssetV5'\n }\n },\n VersionedMultiAssets: {\n _enum: {\n V0: 'Vec<MultiAssetV0>',\n V1: 'MultiAssetsV1',\n V2: 'MultiAssetsV2',\n V3: 'MultiAssetsV3',\n V4: 'MultiAssetsV4',\n V5: 'MultiAssetsV5'\n }\n },\n VersionedMultiLocation: {\n _enum: {\n V0: 'MultiLocationV0',\n V1: 'MultiLocationV1',\n V2: 'MultiLocationV2',\n V3: 'MultiLocationV3',\n V4: 'MultiLocationV4',\n v5: 'MultiLocationV5'\n }\n },\n VersionedResponse: {\n V0: 'ResponseV0',\n V1: 'ResponseV1',\n V2: 'ResponseV2',\n V3: 'ResponseV3',\n V4: 'ResponseV4',\n V5: 'ResponseV5'\n },\n VersionedXcm: {\n _enum: {\n V0: 'XcmV0',\n V1: 'XcmV1',\n V2: 'XcmV2',\n V3: 'XcmV3',\n V4: 'XcmV4',\n V5: 'XcmV5'\n }\n },\n XcmVersion: 'u32'\n }\n};\n","export const runtime = {\n XcmPaymentApi: [\n {\n methods: {\n query_acceptable_payment_assets: {\n description: 'The API to query acceptable payment assets',\n params: [\n {\n name: 'version',\n type: 'u32'\n }\n ],\n type: 'Result<Vec<XcmVersionedAssetId>, XcmPaymentApiError>'\n },\n query_weight_to_asset_fee: {\n description: '',\n params: [\n {\n name: 'weight',\n type: 'WeightV2'\n },\n {\n name: 'asset',\n type: 'XcmVersionedAssetId'\n }\n ],\n type: 'Result<u128, XcmPaymentApiError>'\n },\n query_xcm_weight: {\n description: '',\n params: [\n {\n name: 'message',\n type: 'XcmVersionedXcm'\n }\n ],\n type: 'Result<WeightV2, XcmPaymentApiError>'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {\n XcmPaymentApiError: {\n _enum: [\n 'Unimplemented',\n 'VersionedConversionFailed',\n 'WeightNotComputable',\n 'UnhandledXcmVersion',\n 'AssetNotFound'\n ]\n }\n }\n};\n","export const runtime = {\n LocationToAccountApi: [\n {\n methods: {\n convert_location: {\n description: 'Converts `Location` to `AccountId`',\n params: [\n {\n name: 'location',\n type: 'XcmVersionedLocation'\n }\n ],\n type: 'Result<AccountId, Error>'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {\n Error: {\n _enum: ['Unsupported', 'VersionedConversionFailed']\n }\n }\n};\n","/* eslint-disable sort-keys */\nconst layout = {\n ContractCryptoHasher: {\n _enum: ['Blake2x256', 'Sha2x256', 'Keccak256']\n },\n ContractDiscriminant: 'u32',\n ContractLayoutArray: {\n offset: 'ContractLayoutKey',\n len: 'u32',\n cellsPerElem: 'u64',\n layout: 'ContractStorageLayout'\n },\n ContractLayoutCell: {\n key: 'ContractLayoutKey',\n ty: 'SiLookupTypeId'\n },\n ContractLayoutEnum: {\n dispatchKey: 'ContractLayoutKey',\n variants: 'BTreeMap<ContractDiscriminant, ContractLayoutStruct>'\n },\n ContractLayoutHash: {\n offset: 'ContractLayoutKey',\n strategy: 'ContractLayoutHashingStrategy',\n layout: 'ContractStorageLayout'\n },\n ContractLayoutHashingStrategy: {\n hasher: 'ContractCryptoHasher',\n postfix: 'Vec<u8>',\n prefix: 'Vec<u8>'\n },\n ContractLayoutKey: '[u8; 32]',\n ContractLayoutStruct: {\n fields: 'Vec<ContractLayoutStructField>'\n },\n ContractLayoutStructField: {\n layout: 'ContractStorageLayout',\n name: 'Text'\n },\n ContractStorageLayout: {\n _enum: {\n Cell: 'ContractLayoutCell',\n Hash: 'ContractLayoutHash',\n Array: 'ContractLayoutArray',\n Struct: 'ContractLayoutStruct',\n Enum: 'ContractLayoutEnum'\n }\n }\n};\nconst spec = {\n ContractConstructorSpecV0: {\n name: 'Text',\n selector: 'ContractSelector',\n args: 'Vec<ContractMessageParamSpecV0>',\n docs: 'Vec<Text>'\n },\n ContractConstructorSpecV1: {\n name: 'Vec<Text>',\n selector: 'ContractSelector',\n args: 'Vec<ContractMessageParamSpecV0>',\n docs: 'Vec<Text>'\n },\n ContractConstructorSpecV2: {\n label: 'Text',\n selector: 'ContractSelector',\n args: 'Vec<ContractMessageParamSpecV2>',\n docs: 'Vec<Text>'\n },\n ContractConstructorSpecV3: {\n label: 'Text',\n selector: 'ContractSelector',\n payable: 'bool',\n args: 'Vec<ContractMessageParamSpecV2>',\n docs: 'Vec<Text>'\n },\n ContractConstructorSpecV4: {\n label: 'Text',\n selector: 'ContractSelector',\n payable: 'bool',\n args: 'Vec<ContractMessageParamSpecV2>',\n docs: 'Vec<Text>',\n default: 'bool',\n returnType: 'Option<ContractTypeSpec>'\n },\n ContractContractSpecV0: {\n constructors: 'Vec<ContractConstructorSpecV0>',\n messages: 'Vec<ContractMessageSpecV0>',\n events: 'Vec<ContractEventSpecV0>',\n docs: 'Vec<Text>'\n },\n ContractContractSpecV1: {\n constructors: 'Vec<ContractConstructorSpecV1>',\n messages: 'Vec<ContractMessageSpecV1>',\n events: 'Vec<ContractEventSpecV1>',\n docs: 'Vec<Text>'\n },\n ContractContractSpecV2: {\n constructors: 'Vec<ContractConstructorSpecV2>',\n messages: 'Vec<ContractMessageSpecV2>',\n events: 'Vec<ContractEventSpecV2>',\n docs: 'Vec<Text>'\n },\n ContractContractSpecV3: {\n constructors: 'Vec<ContractConstructorSpecV3>',\n messages: 'Vec<ContractMessageSpecV2>',\n events: 'Vec<ContractEventSpecV2>',\n docs: 'Vec<Text>'\n },\n ContractContractSpecV4: {\n constructors: 'Vec<ContractConstructorSpecV4>',\n messages: 'Vec<ContractMessageSpecV3>',\n events: 'Vec<ContractEventSpecV2>',\n docs: 'Vec<Text>',\n environment: 'ContractEnvironmentV4'\n },\n ContractContractSpecV5: {\n constructors: 'Vec<ContractConstructorSpecV4>',\n messages: 'Vec<ContractMessageSpecV3>',\n events: 'Vec<ContractEventSpecV3>',\n docs: 'Vec<Text>',\n environment: 'ContractEnvironmentV4'\n },\n ContractContractSpecV6: {\n constructors: 'Vec<ContractConstructorSpecV4>',\n messages: 'Vec<ContractMessageSpecV3>',\n events: 'Vec<ContractEventSpecV3>',\n docs: 'Vec<Text>',\n environment: 'ContractEnvironmentV4'\n },\n ContractDisplayName: 'SiPath',\n ContractEventParamSpecV0: {\n name: 'Text',\n indexed: 'bool',\n type: 'ContractTypeSpec',\n docs: 'Vec<Text>'\n },\n ContractEventParamSpecV2: {\n label: 'Text',\n indexed: 'bool',\n type: 'ContractTypeSpec',\n docs: 'Vec<Text>'\n },\n ContractEventSpecV0: {\n name: 'Text',\n args: 'Vec<ContractEventParamSpecV0>',\n docs: 'Vec<Text>'\n },\n ContractEventSpecV1: {\n name: 'Text',\n args: 'Vec<ContractEventParamSpecV0>',\n docs: 'Vec<Text>'\n },\n ContractEventSpecV2: {\n label: 'Text',\n args: 'Vec<ContractEventParamSpecV2>',\n docs: 'Vec<Text>'\n },\n ContractEventSpecV3: {\n label: 'Text',\n args: 'Vec<ContractEventParamSpecV2>',\n docs: 'Vec<Text>',\n module_path: 'Text',\n signature_topic: 'Option<[u8; 32]>'\n },\n ContractMessageParamSpecV0: {\n name: 'Text',\n type: 'ContractTypeSpec'\n },\n ContractMessageParamSpecV2: {\n label: 'Text',\n type: 'ContractTypeSpec'\n },\n ContractMessageSpecV0: {\n name: 'Text',\n selector: 'ContractSelector',\n mutates: 'bool',\n payable: 'bool',\n args: 'Vec<ContractMessageParamSpecV0>',\n returnType: 'Option<ContractTypeSpec>',\n docs: 'Vec<Text>'\n },\n ContractMessageSpecV1: {\n name: 'Vec<Text>',\n selector: 'ContractSelector',\n mutates: 'bool',\n payable: 'bool',\n args: 'Vec<ContractMessageParamSpecV0>',\n returnType: 'Option<ContractTypeSpec>',\n docs: 'Vec<Text>'\n },\n ContractMessageSpecV2: {\n label: 'Text',\n selector: 'ContractSelector',\n mutates: 'bool',\n payable: 'bool',\n args: 'Vec<ContractMessageParamSpecV2>',\n returnType: 'Option<ContractTypeSpec>',\n docs: 'Vec<Text>'\n },\n ContractMessageSpecV3: {\n label: 'Text',\n selector: 'ContractSelector',\n mutates: 'bool',\n payable: 'bool',\n args: 'Vec<ContractMessageParamSpecV2>',\n returnType: 'Option<ContractTypeSpec>',\n docs: 'Vec<Text>',\n default: 'bool'\n },\n ContractSelector: '[u8; 4]',\n ContractTypeSpec: {\n type: 'SiLookupTypeId',\n displayName: 'ContractDisplayName'\n }\n};\nconst latest = {\n ContractConstructorSpecLatest: 'ContractConstructorSpecV4',\n ContractEventSpecLatest: 'ContractEventSpecV3',\n ContractEventParamSpecLatest: 'ContractEventParamSpecV2',\n ContractMessageParamSpecLatest: 'ContractMessageParamSpecV2',\n ContractMessageSpecLatest: 'ContractMessageSpecV3',\n ContractMetadataLatest: 'ContractMetadataV6'\n};\nexport default {\n rpc: {},\n types: {\n ...layout,\n ...spec,\n ...latest,\n ContractProjectInfo: {\n source: 'ContractProjectSource',\n contract: 'ContractProjectContract'\n },\n ContractReviveProjectInfo: {\n source: 'ContractReviveProjectSource',\n contract: 'ContractProjectContract'\n },\n ContractMetadataV0: {\n metadataVersion: 'Text',\n types: 'Vec<Si0Type>',\n spec: 'ContractContractSpecV0'\n },\n ContractMetadataV1: {\n types: 'Vec<PortableType>',\n spec: 'ContractContractSpecV1'\n },\n ContractMetadataV2: {\n types: 'Vec<PortableType>',\n spec: 'ContractContractSpecV2'\n },\n ContractMetadataV3: {\n types: 'Vec<PortableType>',\n spec: 'ContractContractSpecV3'\n },\n ContractMetadataV4: {\n types: 'Vec<PortableType>',\n spec: 'ContractContractSpecV4',\n version: 'Text'\n },\n ContractMetadataV5: {\n types: 'Vec<PortableType>',\n spec: 'ContractContractSpecV5',\n version: 'u64'\n },\n ContractMetadataV6: {\n types: 'Vec<PortableType>',\n spec: 'ContractContractSpecV6',\n version: 'u64'\n },\n ContractMetadata: {\n _enum: {\n V0: 'ContractMetadataV0',\n V1: 'ContractMetadataV1',\n V2: 'ContractMetadataV2',\n V3: 'ContractMetadataV3',\n V4: 'ContractMetadataV4',\n V5: 'ContractMetadataV5',\n V6: 'ContractMetadataV6'\n }\n },\n ContractProjectV0: {\n metadataVersion: 'Text',\n source: 'ContractProjectSource',\n contract: 'ContractProjectContract',\n types: 'Vec<Si0Type>',\n spec: 'ContractContractSpecV0'\n },\n ContractProject: '(ContractProjectInfo, ContractMetadata)',\n ContractProjectContract: {\n _alias: {\n docs: 'documentation'\n },\n name: 'Text',\n version: 'Text',\n authors: 'Vec<Text>',\n description: 'Option<Text>',\n docs: 'Option<Text>',\n repository: 'Option<Text>',\n homepage: 'Option<Text>',\n license: 'Option<Text>'\n },\n ContractProjectSource: {\n _alias: {\n wasmHash: 'hash'\n },\n wasmHash: '[u8; 32]',\n language: 'Text',\n compiler: 'Text',\n wasm: 'Raw'\n },\n ContractReviveProjectSource: {\n _alias: {\n wasmHash: 'hash',\n wasm: 'contract_binary'\n },\n wasmHash: '[u8; 32]',\n language: 'Text',\n compiler: 'Text',\n wasm: 'Raw'\n },\n ContractEnvironmentV4: {\n _alias: {\n hashType: 'hash'\n },\n // NOTE These are not marked optional in the Rust code, however since we\n // convert from older versions to newer, we may not have these fields.\n // The Option<...> works since our inputs are always JSON, so it will\n // be None when not specified.\n //\n // Additionally we don't mark the full structure as Option, rather we\n // do it on a per-field basis since fields may be added as the versions\n // progress.\n accountId: 'Option<ContractTypeSpec>',\n balance: 'Option<ContractTypeSpec>',\n blockNumber: 'Option<ContractTypeSpec>',\n hashType: 'Option<ContractTypeSpec>',\n timestamp: 'Option<ContractTypeSpec>',\n maxEventTopics: 'Option<u32>'\n }\n }\n};\n","const netRpc = {\n listening: {\n aliasSection: 'net',\n description: 'Returns true if client is actively listening for network connections. Otherwise false.',\n params: [],\n type: 'bool'\n },\n peerCount: {\n aliasSection: 'net',\n description: 'Returns number of peers connected to node.',\n params: [],\n type: 'Text'\n },\n version: {\n aliasSection: 'net',\n description: 'Returns protocol version.',\n params: [],\n type: 'Text'\n }\n};\nconst web3Rpc = {\n clientVersion: {\n aliasSection: 'web3',\n description: 'Returns current client version.',\n params: [],\n type: 'Text'\n },\n sha3: {\n aliasSection: 'web3',\n description: 'Returns sha3 of the given data',\n params: [{ name: 'data', type: 'Bytes' }],\n type: 'H256'\n }\n};\nexport const rpc = {\n ...netRpc,\n ...web3Rpc,\n accounts: {\n description: 'Returns accounts list.',\n params: [],\n type: 'Vec<H160>'\n },\n blockNumber: {\n description: 'Returns the blockNumber',\n params: [],\n type: 'U256'\n },\n call: {\n description: 'Call contract, returning the output data.',\n params: [\n {\n name: 'request',\n type: 'EthCallRequest'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'number',\n type: 'BlockNumber'\n }\n ],\n type: 'Bytes'\n },\n chainId: {\n description: 'Returns the chain ID used for transaction signing at the current best block. None is returned if not available.',\n params: [],\n type: 'U64'\n },\n coinbase: {\n description: 'Returns block author.',\n params: [],\n type: 'H160'\n },\n estimateGas: {\n description: 'Estimate gas needed for execution of given contract.',\n params: [\n {\n name: 'request',\n type: 'EthCallRequest'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'number',\n type: 'BlockNumber'\n }\n ],\n type: 'U256'\n },\n feeHistory: {\n description: 'Returns fee history for given block count & reward percentiles',\n params: [\n {\n name: 'blockCount',\n type: 'U256'\n },\n {\n name: 'newestBlock',\n type: 'BlockNumber'\n },\n {\n name: 'rewardPercentiles',\n type: 'Option<Vec<f64>>'\n }\n ],\n type: 'EthFeeHistory'\n },\n gasPrice: {\n description: 'Returns current gas price.',\n params: [],\n type: 'U256'\n },\n getBalance: {\n description: 'Returns balance of the given account.',\n params: [\n {\n name: 'address',\n type: 'H160'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'number',\n type: 'BlockNumber'\n }\n ],\n type: 'U256'\n },\n getBlockByHash: {\n description: 'Returns block with given hash.',\n params: [\n {\n name: 'hash',\n type: 'H256'\n },\n {\n name: 'full',\n type: 'bool'\n }\n ],\n type: 'Option<EthRichBlock>'\n },\n getBlockByNumber: {\n description: 'Returns block with given number.',\n params: [\n {\n name: 'block',\n type: 'BlockNumber'\n },\n { name: 'full', type: 'bool' }\n ],\n type: 'Option<EthRichBlock>'\n },\n getBlockTransactionCountByHash: {\n description: 'Returns the number of transactions in a block with given hash.',\n params: [\n {\n name: 'hash',\n type: 'H256'\n }\n ],\n type: 'U256'\n },\n getBlockTransactionCountByNumber: {\n description: 'Returns the number of transactions in a block with given block number.',\n params: [\n {\n name: 'block',\n type: 'BlockNumber'\n }\n ],\n type: 'U256'\n },\n getCode: {\n description: 'Returns the code at given address at given time (block number).',\n params: [\n {\n name: 'address',\n type: 'H160'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'number',\n type: 'BlockNumber'\n }\n ],\n type: 'Bytes'\n },\n getFilterChanges: {\n description: 'Returns filter changes since last poll.',\n params: [\n {\n name: 'index',\n type: 'U256'\n }\n ],\n type: 'EthFilterChanges'\n },\n getFilterLogs: {\n description: 'Returns all logs matching given filter (in a range \\'from\\' - \\'to\\').',\n params: [\n {\n name: 'index',\n type: 'U256'\n }\n ],\n type: 'Vec<EthLog>'\n },\n getLogs: {\n description: 'Returns logs matching given filter object.',\n params: [\n {\n name: 'filter',\n type: 'EthFilter'\n }\n ],\n type: 'Vec<EthLog>'\n },\n getProof: {\n description: 'Returns proof for account and storage.',\n params: [\n {\n name: 'address',\n type: 'H160'\n },\n {\n name: 'storageKeys',\n type: 'Vec<H256>'\n },\n {\n name: 'number',\n type: 'BlockNumber'\n }\n ],\n type: 'EthAccount'\n },\n getStorageAt: {\n description: 'Returns content of the storage at given address.',\n params: [\n {\n name: 'address',\n type: 'H160'\n },\n {\n name: 'index',\n type: 'U256'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'number',\n type: 'BlockNumber'\n }\n ],\n type: 'H256'\n },\n getTransactionByBlockHashAndIndex: {\n description: 'Returns transaction at given block hash and index.',\n params: [\n {\n name: 'hash',\n type: 'H256'\n },\n {\n name: 'index',\n type: 'U256'\n }\n ],\n type: 'EthTransaction'\n },\n getTransactionByBlockNumberAndIndex: {\n description: 'Returns transaction by given block number and index.',\n params: [\n {\n name: 'number',\n type: 'BlockNumber'\n },\n {\n name: 'index',\n type: 'U256'\n }\n ],\n type: 'EthTransaction'\n },\n getTransactionByHash: {\n description: 'Get transaction by its hash.',\n params: [\n {\n name: 'hash',\n type: 'H256'\n }\n ],\n type: 'EthTransaction'\n },\n getTransactionCount: {\n description: 'Returns the number of transactions sent from given address at given time (block number).',\n params: [\n {\n name: 'address',\n type: 'H160'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'number',\n type: 'BlockNumber'\n }\n ],\n type: 'U256'\n },\n getTransactionReceipt: {\n description: 'Returns transaction receipt by transaction hash.',\n params: [\n {\n name: 'hash',\n type: 'H256'\n }\n ],\n type: 'EthReceipt'\n },\n getUncleByBlockHashAndIndex: {\n description: 'Returns an uncles at given block and index.',\n params: [\n {\n name: 'hash',\n type: 'H256'\n },\n {\n name: 'index',\n type: 'U256'\n }\n ],\n type: 'EthRichBlock'\n },\n getUncleByBlockNumberAndIndex: {\n description: 'Returns an uncles at given block and index.',\n params: [\n {\n name: 'number',\n type: 'BlockNumber'\n },\n {\n name: 'index',\n type: 'U256'\n }\n ],\n type: 'EthRichBlock'\n },\n getUncleCountByBlockHash: {\n description: 'Returns the number of uncles in a block with given hash.',\n params: [\n {\n name: 'hash',\n type: 'H256'\n }\n ],\n type: 'U256'\n },\n getUncleCountByBlockNumber: {\n description: 'Returns the number of uncles in a block with given block number.',\n params: [\n {\n name: 'number',\n type: 'BlockNumber'\n }\n ],\n type: 'U256'\n },\n getWork: {\n description: 'Returns the hash of the current block, the seedHash, and the boundary condition to be met.',\n params: [],\n type: 'EthWork'\n },\n hashrate: {\n description: 'Returns the number of hashes per second that the node is mining with.',\n params: [],\n type: 'U256'\n },\n maxPriorityFeePerGas: {\n description: 'Returns max priority fee per gas',\n params: [],\n type: 'U256'\n },\n mining: {\n description: 'Returns true if client is actively mining new blocks.',\n params: [],\n type: 'bool'\n },\n newBlockFilter: {\n description: 'Returns id of new block filter.',\n params: [],\n type: 'U256'\n },\n newFilter: {\n description: 'Returns id of new filter.',\n params: [\n {\n name: 'filter',\n type: 'EthFilter'\n }\n ],\n type: 'U256'\n },\n newPendingTransactionFilter: {\n description: 'Returns id of new block filter.',\n params: [],\n type: 'U256'\n },\n protocolVersion: {\n description: 'Returns protocol version encoded as a string (quotes are necessary).',\n params: [],\n type: 'u64'\n },\n sendRawTransaction: {\n description: 'Sends signed transaction, returning its hash.',\n params: [\n {\n name: 'bytes',\n type: 'Bytes'\n }\n ],\n type: 'H256'\n },\n sendTransaction: {\n description: 'Sends transaction; will block waiting for signer to return the transaction hash',\n params: [\n {\n name: 'tx',\n type: 'EthTransactionRequest'\n }\n ],\n type: 'H256'\n },\n submitHashrate: {\n description: 'Used for submitting mining hashrate.',\n params: [\n {\n name: 'index',\n type: 'U256'\n },\n {\n name: 'hash',\n type: 'H256'\n }\n ],\n type: 'bool'\n },\n submitWork: {\n description: 'Used for submitting a proof-of-work solution.',\n params: [\n {\n name: 'nonce',\n type: 'H64'\n },\n {\n name: 'headerHash',\n type: 'H256'\n },\n {\n name: 'mixDigest',\n type: 'H256'\n }\n ],\n type: 'bool'\n },\n subscribe: {\n description: 'Subscribe to Eth subscription.',\n params: [\n { name: 'kind', type: 'EthSubKind' },\n {\n isOptional: true,\n name: 'params',\n type: 'EthSubParams'\n }\n ],\n pubsub: [\n 'subscription',\n 'subscribe',\n 'unsubscribe'\n ],\n type: 'Null'\n },\n syncing: {\n description: 'Returns an object with data about the sync status or false.',\n params: [],\n type: 'EthSyncStatus'\n },\n uninstallFilter: {\n description: 'Uninstalls filter.',\n params: [\n {\n name: 'index',\n type: 'U256'\n }\n ],\n type: 'bool'\n }\n};\n","const ethMethodsV4 = {\n account_basic: {\n description: 'Returns pallet_evm::Accounts by address.',\n params: [\n {\n name: 'address',\n type: 'H160'\n }\n ],\n type: 'EvmAccount'\n },\n account_code_at: {\n description: 'For a given account address, returns pallet_evm::AccountCodes.',\n params: [\n {\n name: 'address',\n type: 'H160'\n }\n ],\n type: 'Bytes'\n },\n author: {\n description: 'Returns the converted FindAuthor::find_author authority id.',\n params: [],\n type: 'H160'\n },\n call: {\n description: 'Returns a frame_ethereum::call response. If `estimate` is true,',\n params: [\n {\n name: 'from',\n type: 'H160'\n },\n {\n name: 'to',\n type: 'H160'\n },\n {\n name: 'data',\n type: 'Vec<u8>'\n },\n {\n name: 'value',\n type: 'U256'\n },\n {\n name: 'gasLimit',\n type: 'U256'\n },\n {\n name: 'maxFeePerGas',\n type: 'Option<U256>'\n },\n {\n name: 'maxPriorityFeePerGas',\n type: 'Option<U256>'\n },\n {\n name: 'nonce',\n type: 'Option<U256>'\n },\n {\n name: 'estimate',\n type: 'bool'\n },\n {\n name: 'accessList',\n type: 'Option<Vec<(H160, Vec<H256>)>>'\n }\n ],\n type: 'Result<EvmCallInfo, DispatchError>'\n },\n chain_id: {\n description: 'Returns runtime defined pallet_evm::ChainId.',\n params: [],\n type: 'u64'\n },\n create: {\n description: 'Returns a frame_ethereum::call response. If `estimate` is true,',\n params: [\n {\n name: 'from',\n type: 'H160'\n },\n {\n name: 'data',\n type: 'Vec<u8>'\n },\n {\n name: 'value',\n type: 'U256'\n },\n {\n name: 'gasLimit',\n type: 'U256'\n },\n {\n name: 'maxFeePerGas',\n type: 'Option<U256>'\n },\n {\n name: 'maxPriorityFeePerGas',\n type: 'Option<U256>'\n },\n {\n name: 'nonce',\n type: 'Option<U256>'\n },\n {\n name: 'estimate',\n type: 'bool'\n },\n {\n name: 'accessList',\n type: 'Option<Vec<(H160, Vec<H256>)>>'\n }\n ],\n type: 'Result<EvmCreateInfo, DispatchError>'\n },\n current_all: {\n description: 'Return all the current data for a block in a single runtime call.',\n params: [],\n type: '(Option<BlockV2>, Option<Vec<EthReceiptV3>>, Option<Vec<EthTransactionStatus>>)'\n },\n current_block: {\n description: 'Return the current block.',\n params: [],\n type: 'BlockV2'\n },\n current_receipts: {\n description: 'Return the current receipt.',\n params: [],\n type: 'Option<Vec<EthReceiptV3>>'\n },\n current_transaction_statuses: {\n description: 'Return the current transaction status.',\n params: [],\n type: 'Option<Vec<EthTransactionStatus>>'\n },\n elasticity: {\n description: 'Return the elasticity multiplier.',\n params: [],\n type: 'Option<Permill>'\n },\n extrinsic_filter: {\n description: 'Receives a `Vec<OpaqueExtrinsic>` and filters all the ethereum transactions.',\n params: [\n {\n name: 'xts',\n type: 'Vec<Extrinsic>'\n }\n ],\n type: 'Vec<TransactionV2>'\n },\n gas_price: {\n description: 'Returns FixedGasPrice::min_gas_price',\n params: [],\n type: 'u256'\n },\n storage_at: {\n description: 'For a given account address and index, returns pallet_evm::AccountStorages.',\n params: [\n {\n name: 'address',\n type: 'H160'\n },\n {\n name: 'index',\n type: 'u256'\n }\n ],\n type: 'H256'\n }\n};\nconst ethMethodsV5 = {\n call: {\n description: 'Returns a frame_ethereum::call response. If `estimate` is true,',\n params: [\n {\n name: 'from',\n type: 'H160'\n },\n {\n name: 'to',\n type: 'H160'\n },\n {\n name: 'data',\n type: 'Vec<u8>'\n },\n {\n name: 'value',\n type: 'U256'\n },\n {\n name: 'gasLimit',\n type: 'U256'\n },\n {\n name: 'maxFeePerGas',\n type: 'Option<U256>'\n },\n {\n name: 'maxPriorityFeePerGas',\n type: 'Option<U256>'\n },\n {\n name: 'nonce',\n type: 'Option<U256>'\n },\n {\n name: 'estimate',\n type: 'bool'\n },\n {\n name: 'accessList',\n type: 'Option<Vec<(H160, Vec<H256>)>>'\n }\n ],\n type: 'Result<EvmCallInfoV2, DispatchError>'\n },\n create: {\n description: 'Returns a frame_ethereum::call response. If `estimate` is true,',\n params: [\n {\n name: 'from',\n type: 'H160'\n },\n {\n name: 'data',\n type: 'Vec<u8>'\n },\n {\n name: 'value',\n type: 'U256'\n },\n {\n name: 'gasLimit',\n type: 'U256'\n },\n {\n name: 'maxFeePerGas',\n type: 'Option<U256>'\n },\n {\n name: 'maxPriorityFeePerGas',\n type: 'Option<U256>'\n },\n {\n name: 'nonce',\n type: 'Option<U256>'\n },\n {\n name: 'estimate',\n type: 'bool'\n },\n {\n name: 'accessList',\n type: 'Option<Vec<(H160, Vec<H256>)>>'\n }\n ],\n type: 'Result<EvmCreateInfoV2, DispatchError>'\n }\n};\nexport const runtime = {\n ConvertTransactionRuntimeApi: [\n {\n methods: {\n convert_transaction: {\n description: 'Converts an Ethereum-style transaction to Extrinsic',\n params: [\n {\n name: 'transaction',\n type: 'TransactionV2'\n }\n ],\n type: 'Extrinsic'\n }\n },\n version: 2\n },\n {\n methods: {\n convert_transaction: {\n description: 'Converts an Ethereum-style transaction to Extrinsic',\n params: [\n {\n name: 'transaction',\n type: 'TransactionV3'\n }\n ],\n type: 'Extrinsic'\n }\n },\n version: 3\n }\n ],\n DebugRuntimeApi: [\n {\n methods: {\n trace_block: {\n description: 'Trace all block extrinsics',\n params: [\n {\n name: 'extrinsics',\n type: 'Vec<Extrinsic>'\n },\n {\n name: 'knownTransactions',\n type: 'Vec<H256>'\n }\n ],\n type: 'Result<(), DispatchError>'\n },\n trace_transaction: {\n description: 'Trace transaction extrinsics',\n params: [\n {\n name: 'extrinsics',\n type: 'Vec<Extrinsic>'\n },\n {\n name: 'transaction',\n type: 'EthTransaction'\n }\n ],\n type: 'Result<(), DispatchError>'\n }\n },\n version: 4\n }\n ],\n EthereumRuntimeRPCApi: [\n {\n methods: {\n ...ethMethodsV4\n },\n version: 4\n },\n {\n methods: {\n ...ethMethodsV4,\n ...ethMethodsV5\n },\n version: 5\n }\n ]\n};\n","import { rpc } from './rpc.js';\nimport { runtime } from './runtime.js';\nconst V0 = {\n BlockV0: {\n header: 'EthHeader',\n transactions: 'Vec<TransactionV0>',\n ommers: 'Vec<EthHeader>'\n },\n LegacyTransaction: {\n nonce: 'U256',\n gasPrice: 'U256',\n gasLimit: 'U256',\n action: 'EthTransactionAction',\n value: 'U256',\n input: 'Bytes',\n signature: 'EthLegacyTransactionSignature'\n },\n TransactionV0: 'LegacyTransaction'\n};\nconst V1 = {\n BlockV1: {\n header: 'EthHeader',\n transactions: 'Vec<TransactionV1>',\n ommers: 'Vec<EthHeader>'\n },\n EIP2930Transaction: {\n chainId: 'u64',\n nonce: 'U256',\n gasPrice: 'U256',\n gasLimit: 'U256',\n action: 'EthTransactionAction',\n value: 'U256',\n input: 'Bytes',\n accessList: 'EthAccessList',\n signature: 'EthTransactionSignature'\n },\n TransactionV1: {\n _enum: {\n Legacy: 'LegacyTransaction',\n EIP2930: 'EIP2930Transaction'\n }\n }\n};\nconst V2 = {\n BlockV2: {\n header: 'EthHeader',\n transactions: 'Vec<TransactionV2>',\n ommers: 'Vec<EthHeader>'\n },\n EIP1559Transaction: {\n chainId: 'u64',\n nonce: 'U256',\n maxPriorityFeePerGas: 'U256',\n maxFeePerGas: 'U256',\n gasLimit: 'U256',\n action: 'EthTransactionAction',\n value: 'U256',\n input: 'Bytes',\n accessList: 'EthAccessList',\n signature: 'EthTransactionSignature'\n },\n TransactionV2: {\n _enum: {\n Legacy: 'LegacyTransaction',\n EIP2930: 'EIP2930Transaction',\n EIP1559: 'EIP1559Transaction'\n }\n }\n};\nconst V3 = {\n BlockV3: {\n header: 'EthHeader',\n transactions: 'Vec<TransactionV3>',\n ommers: 'Vec<EthHeader>'\n },\n EIP7702Transaction: {\n chainId: 'u64',\n nonce: 'U256',\n maxPriorityFeePerGas: 'U256',\n maxFeePerGas: 'U256',\n gasLimit: 'U256',\n destination: 'EthTransactionAction',\n value: 'U256',\n data: 'Bytes',\n accessList: 'EthAccessList',\n authorizationList: 'EthAuthorizationList',\n signature: 'EthTransactionSignature'\n },\n TransactionV3: {\n _enum: {\n Legacy: 'LegacyTransaction',\n EIP2930: 'EIP2930Transaction',\n EIP1559: 'EIP1559Transaction',\n EIP7702: 'EIP7702Transaction'\n }\n }\n};\nconst types = {\n ...V0,\n ...V1,\n ...V2,\n ...V3,\n EthereumAccountId: 'GenericEthereumAccountId',\n EthereumAddress: 'GenericEthereumAccountId',\n EthereumLookupSource: 'GenericEthereumLookupSource',\n EthereumSignature: '[u8; 65]',\n EthAccessListItem: {\n address: 'EthAddress',\n slots: 'Vec<H256>'\n },\n EthAccessList: 'Vec<EthAccessListItem>',\n EthAuthorizationList: 'Vec<EthAuthorizationListItem>',\n EthAuthorizationListItem: {\n chainId: 'u64',\n address: 'H160',\n nonce: 'U256',\n signature: 'EthAuthorizationSignature'\n },\n EthAuthorizationSignature: {\n oddYParity: 'bool',\n r: 'H256',\n s: 'H256'\n },\n EthAccount: {\n address: 'EthAddress',\n balance: 'U256',\n nonce: 'U256',\n codeHash: 'H256',\n storageHash: 'H256',\n accountProof: 'Vec<Bytes>',\n storageProof: 'Vec<EthStorageProof>'\n },\n EthAddress: 'H160',\n EthBlock: {\n header: 'EthHeader',\n transactions: 'Vec<EthTransaction>',\n ommers: 'Vec<EthHeader>'\n },\n EthHeader: {\n parentHash: 'H256',\n ommersHash: 'H256',\n beneficiary: 'EthAddress',\n stateRoot: 'H256',\n transactionsRoot: 'H256',\n receiptsRoot: 'H256',\n logsBloom: 'EthBloom',\n difficulty: 'U256',\n number: 'U256',\n gasLimit: 'U256',\n gasUsed: 'U256',\n timestamp: 'u64',\n extraData: 'Bytes',\n mixMash: 'H256',\n nonce: 'H64'\n },\n EthRichBlock: {\n _alias: {\n blockHash: 'hash',\n blockSize: 'size'\n },\n blockHash: 'Option<H256>',\n parentHash: 'H256',\n sha3Uncles: 'H256',\n author: 'EthAddress',\n miner: 'EthAddress',\n stateRoot: 'H256',\n transactionsRoot: 'H256',\n receiptsRoot: 'H256',\n number: 'Option<U256>',\n gasUsed: 'U256',\n gasLimit: 'U256',\n extraData: 'Bytes',\n logsBloom: 'EthBloom',\n timestamp: 'U256',\n difficulty: 'U256',\n totalDifficulty: 'Option<U256>',\n sealFields: 'Vec<Bytes>',\n uncles: 'Vec<H256>',\n transactions: 'Vec<EthTransaction>',\n blockSize: 'Option<U256>'\n },\n EthBloom: 'H2048',\n EthCallRequest: {\n from: 'Option<EthAddress>',\n to: 'Option<EthAddress>',\n gasPrice: 'Option<U256>',\n gas: 'Option<U256>',\n value: 'Option<U256>',\n data: 'Option<Bytes>',\n nonce: 'Option<U256>'\n },\n EthFeeHistory: {\n oldestBlock: 'U256',\n baseFeePerGas: 'Vec<U256>',\n gasUsedRatio: 'Vec<f64>',\n reward: 'Option<Vec<Vec<U256>>>'\n },\n EthFilter: {\n fromBlock: 'Option<BlockNumber>',\n toBlock: 'Option<BlockNumber>',\n blockHash: 'Option<H256>',\n address: 'Option<EthFilterAddress>',\n topics: 'Option<EthFilterTopic>'\n },\n EthFilterAddress: {\n _enum: {\n Single: 'EthAddress',\n Multiple: 'Vec<EthAddress>',\n Null: 'Null'\n }\n },\n EthFilterChanges: {\n _enum: {\n Logs: 'Vec<EthLog>',\n Hashes: 'Vec<H256>',\n Empty: 'Null'\n }\n },\n EthFilterTopic: {\n _enum: {\n Single: 'EthFilterTopicInner',\n Multiple: 'Vec<EthFilterTopicInner>',\n Null: 'Null'\n }\n },\n EthFilterTopicEntry: 'Option<H256>',\n EthFilterTopicInner: {\n _enum: {\n Single: 'EthFilterTopicEntry',\n Multiple: 'Vec<EthFilterTopicEntry>',\n Null: 'Null'\n }\n },\n EthRichHeader: {\n _alias: {\n blockHash: 'hash',\n blockSize: 'size'\n },\n blockHash: 'Option<H256>',\n parentHash: 'H256',\n sha3Uncles: 'H256',\n author: 'EthAddress',\n miner: 'EthAddress',\n stateRoot: 'H256',\n transactionsRoot: 'H256',\n receiptsRoot: 'H256',\n number: 'Option<U256>',\n gasUsed: 'U256',\n gasLimit: 'U256',\n extraData: 'Bytes',\n logsBloom: 'EthBloom',\n timestamp: 'U256',\n difficulty: 'U256',\n sealFields: 'Vec<Bytes>',\n blockSize: 'Option<U256>'\n },\n EthLog: {\n address: 'EthAddress',\n topics: 'Vec<H256>',\n data: 'Bytes',\n blockHash: 'Option<H256>',\n blockNumber: 'Option<U256>',\n transactionHash: 'Option<H256>',\n transactionIndex: 'Option<U256>',\n logIndex: 'Option<U256>',\n transactionLogIndex: 'Option<U256>',\n removed: 'bool'\n },\n EthReceipt: {\n transactionHash: 'Option<H256>',\n transactionIndex: 'Option<U256>',\n blockHash: 'Option<H256>',\n from: 'Option<EthAddress>',\n to: 'Option<EthAddress>',\n blockNumber: 'Option<U256>',\n cumulativeGasUsed: 'U256',\n gasUsed: 'Option<U256>',\n contractAddress: 'Option<EthAddress>',\n logs: 'Vec<EthLog>',\n root: 'Option<H256>',\n logsBloom: 'EthBloom',\n statusCode: 'Option<U64>'\n },\n // not convinced, however the original commit matches, so... (maybe V3 is incorrect?)\n EthReceiptV0: 'EthReceipt',\n EthReceiptV3: 'EthReceipt',\n EthReceiptV4: 'EthReceipt',\n EthStorageProof: {\n key: 'U256',\n value: 'U256',\n proof: 'Vec<Bytes>'\n },\n EthSubKind: {\n _enum: ['newHeads', 'logs', 'newPendingTransactions', 'syncing']\n },\n EthSubParams: {\n _enum: {\n None: 'Null',\n Logs: 'EthFilter'\n }\n },\n EthSubResult: {\n _enum: {\n Header: 'EthRichHeader',\n Log: 'EthLog',\n TransactionHash: 'H256',\n SyncState: 'EthSyncStatus'\n }\n },\n EthSyncInfo: {\n startingBlock: 'U256',\n currentBlock: 'U256',\n highestBlock: 'U256',\n warpChunksAmount: 'Option<U256>',\n warpChunksProcessed: 'Option<U256>'\n },\n EthSyncStatus: {\n _enum: {\n Info: 'EthSyncInfo',\n None: 'Null'\n }\n },\n EthTransaction: {\n hash: 'H256',\n nonce: 'U256',\n blockHash: 'Option<H256>',\n blockNumber: 'Option<U256>',\n transactionIndex: 'Option<U256>',\n from: 'H160',\n to: 'Option<H160>',\n value: 'U256',\n gasPrice: 'Option<U256>',\n maxFeePerGas: 'Option<U256>',\n maxPriorityFeePerGas: 'Option<U256>',\n gas: 'U256',\n input: 'Bytes',\n creates: 'Option<H160>',\n raw: 'Bytes',\n publicKey: 'Option<H512>',\n chainId: 'Option<U64>',\n standardV: 'U256',\n v: 'U256',\n r: 'U256',\n s: 'U256',\n accessList: 'Option<Vec<EthAccessListItem>>',\n transactionType: 'Option<U256>'\n },\n EthLegacyTransactionSignature: {\n v: 'u64',\n r: 'H256',\n s: 'H256'\n },\n EthTransactionSignature: {\n oddYParity: 'bool',\n r: 'H256',\n s: 'H256'\n },\n EthTransactionAction: {\n _enum: {\n Call: 'H160',\n Create: 'Null'\n }\n },\n EthTransactionCondition: {\n _enum: {\n block: 'u64',\n time: 'u64'\n }\n },\n EthTransactionRequest: {\n from: 'Option<EthAddress>',\n to: 'Option<EthAddress>',\n gasPrice: 'Option<U256>',\n gas: 'Option<U256>',\n value: 'Option<U256>',\n data: 'Option<Bytes>',\n nonce: 'Option<U256>'\n },\n EthTransactionStatus: {\n transactionHash: 'H256',\n transactionIndex: 'u32',\n from: 'EthAddress',\n to: 'Option<EthAddress>',\n contractAddress: 'Option<EthAddress>',\n logs: 'Vec<EthLog>',\n logsBloom: 'EthBloom'\n },\n EthWork: {\n powHash: 'H256',\n seedHash: 'H256',\n target: 'H256',\n number: 'Option<u64>'\n }\n};\nexport default { rpc, runtime, types };\n","export const runtime = {\n // deprecated, the NimbusApi is current - this is for backwards compat\n AuthorFilterAPI: [\n {\n methods: {\n can_author: {\n description: 'The runtime api used to predict whether an author will be eligible in the given slot',\n params: [\n {\n name: 'author',\n type: 'AccountId'\n },\n {\n name: 'relayParent',\n type: 'u32'\n },\n {\n name: 'parentHeader',\n type: 'Header'\n }\n ],\n type: 'bool'\n }\n },\n version: 2\n },\n {\n methods: {\n can_author: {\n description: 'The runtime api used to predict whether an author will be eligible in the given slot',\n params: [\n {\n name: 'author',\n type: 'AccountId'\n },\n {\n name: 'relayParent',\n type: 'u32'\n }\n ],\n type: 'bool'\n }\n },\n version: 1\n }\n ],\n NimbusApi: [\n {\n methods: {\n can_author: {\n description: 'The runtime api used to predict whether a Nimbus author will be eligible in the given slot',\n params: [\n {\n name: 'author',\n type: 'AccountId'\n },\n {\n name: 'relayParent',\n type: 'u32'\n },\n {\n name: 'parentHeader',\n type: 'Header'\n }\n ],\n type: 'bool'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {}\n};\n","export const runtime = {\n // https://github.com/open-web3-stack/open-runtime-module-library/blob/b57f88b39cd547e2fb51727d8bb9bcc64fddf8b5/oracle/rpc/runtime-api/src/lib.rs#L12-L21\n OracleApi: [\n {\n methods: {\n get_all_values: {\n description: 'Retrieves all values',\n params: [\n {\n name: 'providerId',\n // This is a Codec type\n type: 'Raw'\n }\n ],\n // This won't actually work as expected - since we have\n // no information about the actual Raw sizes, we cannot\n // handle it in this format (it would need an override\n // for the specific Codec). So return the Raw value.\n // type: 'Vec<(Raw, Option<Raw>)>'\n type: 'Raw'\n },\n get_value: {\n description: 'Retrieves a single value',\n params: [\n {\n name: 'providerId',\n // This is a Codec type\n type: 'Raw'\n },\n {\n name: 'key',\n // This is a Codec type\n type: 'Raw'\n }\n ],\n // This is an Option<Codec> type\n type: 'Option<Raw>'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {}\n};\n","export const runtime = {\n // https://github.com/open-web3-stack/open-runtime-module-library/blob/b57f88b39cd547e2fb51727d8bb9bcc64fddf8b5/tokens/rpc/runtime-api/src/lib.rs#L11-L18\n TokensApi: [\n {\n methods: {\n query_existential_deposit: {\n description: 'Query the existential amount for a specific currency',\n params: [\n {\n name: 'currencyId',\n // This is CurrencyId, as per the return value, we are unsure\n // if this is specialized and/or global to the chain or not\n type: 'Raw'\n }\n ],\n // This is Balance - since we don't understand enough about the way\n // in which this is used, we default to u128 here (it certainly could\n // be a specialized type that doesn't map to the on-chain Balance)\n type: 'u128'\n }\n },\n version: 1\n }\n ]\n};\n","import { runtime } from './runtime.js';\nexport default {\n rpc: {},\n runtime,\n types: {}\n};\n","export const rpc = {\n methods: {\n description: 'Retrieves the list of RPC methods that are exposed by the node',\n params: [],\n type: 'RpcMethods'\n }\n};\n","import { rpc } from './rpc.js';\nexport default {\n rpc,\n types: {\n RpcMethods: {\n version: 'u32',\n methods: 'Vec<Text>'\n }\n }\n};\n","export const rpc = {\n hasKey: {\n description: 'Returns true if the keystore has private keys for the given public key and key type.',\n isUnsafe: true,\n params: [\n {\n name: 'publicKey',\n type: 'Bytes'\n },\n {\n name: 'keyType',\n type: 'Text'\n }\n ],\n type: 'bool'\n },\n hasSessionKeys: {\n description: 'Returns true if the keystore has private keys for the given session public keys.',\n isUnsafe: true,\n params: [\n {\n name: 'sessionKeys',\n type: 'Bytes'\n }\n ],\n type: 'bool'\n },\n insertKey: {\n description: 'Insert a key into the keystore.',\n isUnsafe: true,\n params: [\n {\n name: 'keyType',\n type: 'Text'\n },\n {\n name: 'suri',\n type: 'Text'\n },\n {\n name: 'publicKey',\n type: 'Bytes'\n }\n ],\n type: 'Bytes'\n },\n pendingExtrinsics: {\n description: 'Returns all pending extrinsics, potentially grouped by sender',\n params: [],\n type: 'Vec<Extrinsic>'\n },\n removeExtrinsic: {\n description: 'Remove given extrinsic from the pool and temporarily ban it to prevent reimporting',\n isUnsafe: true,\n params: [\n {\n name: 'bytesOrHash',\n type: 'Vec<ExtrinsicOrHash>'\n }\n ],\n type: 'Vec<Hash>'\n },\n rotateKeys: {\n description: 'Generate new session keys and returns the corresponding public keys',\n isUnsafe: true,\n params: [],\n type: 'Bytes'\n },\n submitAndWatchExtrinsic: {\n description: 'Submit and subscribe to watch an extrinsic until unsubscribed',\n isSigned: true,\n params: [\n {\n name: 'extrinsic',\n type: 'Extrinsic'\n }\n ],\n pubsub: [\n 'extrinsicUpdate',\n 'submitAndWatchExtrinsic',\n 'unwatchExtrinsic'\n ],\n type: 'ExtrinsicStatus'\n },\n submitExtrinsic: {\n description: 'Submit a fully formatted extrinsic for block inclusion',\n isSigned: true,\n params: [\n {\n name: 'extrinsic',\n type: 'Extrinsic'\n }\n ],\n type: 'Hash'\n }\n};\n","import { rpc } from './rpc.js';\nexport default {\n rpc,\n types: {\n ExtrinsicOrHash: {\n _enum: {\n Hash: 'Hash',\n Extrinsic: 'Bytes'\n }\n },\n ExtrinsicStatus: {\n _enum: {\n Future: 'Null',\n Ready: 'Null',\n Broadcast: 'Vec<Text>',\n InBlock: 'Hash',\n Retracted: 'Hash',\n FinalityTimeout: 'Hash',\n Finalized: 'Hash',\n Usurped: 'Hash',\n Dropped: 'Null',\n Invalid: 'Null'\n }\n }\n }\n};\n","export const rpc = {\n getBlock: {\n description: 'Get header and body of a relay chain block',\n params: [\n {\n isHistoric: true,\n isOptional: true,\n name: 'hash',\n type: 'BlockHash'\n }\n ],\n type: 'SignedBlock'\n },\n getBlockHash: {\n description: 'Get the block hash for a specific block',\n params: [\n {\n isOptional: true,\n name: 'blockNumber',\n type: 'BlockNumber'\n }\n ],\n type: 'BlockHash'\n },\n getFinalizedHead: {\n alias: ['chain_getFinalisedHead'],\n description: 'Get hash of the last finalized block in the canon chain',\n params: [],\n type: 'BlockHash'\n },\n getHeader: {\n alias: ['chain_getHead'],\n description: 'Retrieves the header for a specific block',\n params: [\n {\n isHistoric: true,\n isOptional: true,\n name: 'hash',\n type: 'BlockHash'\n }\n ],\n type: 'Header'\n },\n subscribeAllHeads: {\n description: 'Retrieves the newest header via subscription',\n params: [],\n pubsub: [\n 'allHead',\n 'subscribeAllHeads',\n 'unsubscribeAllHeads'\n ],\n type: 'Header'\n },\n subscribeFinalizedHeads: {\n alias: ['chain_subscribeFinalisedHeads', 'chain_unsubscribeFinalisedHeads'],\n description: 'Retrieves the best finalized header via subscription',\n params: [],\n pubsub: [\n 'finalizedHead',\n 'subscribeFinalizedHeads',\n 'unsubscribeFinalizedHeads'\n ],\n type: 'Header'\n },\n subscribeNewHeads: {\n alias: ['chain_unsubscribeNewHeads', 'subscribe_newHead', 'unsubscribe_newHead'],\n description: 'Retrieves the best header via subscription',\n params: [],\n // NOTE These still has the aliassed version, compatible with 1.x\n pubsub: [\n 'newHead',\n 'subscribeNewHead',\n 'unsubscribeNewHead'\n ],\n type: 'Header'\n }\n};\n","import { rpc } from './rpc.js';\nexport default {\n rpc,\n types: {\n BlockHash: 'Hash'\n }\n};\n","export const rpc = {\n getKeys: {\n description: 'Returns the keys with prefix from a child storage, leave empty to get all the keys',\n params: [\n {\n name: 'childKey',\n type: 'PrefixedStorageKey'\n },\n {\n name: 'prefix',\n type: 'StorageKey'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'Hash'\n }\n ],\n type: 'Vec<StorageKey>'\n },\n getKeysPaged: {\n alias: ['childstate_getKeysPagedAt'],\n description: 'Returns the keys with prefix from a child storage with pagination support',\n params: [\n {\n name: 'childKey',\n type: 'PrefixedStorageKey'\n },\n {\n name: 'prefix',\n type: 'StorageKey'\n },\n {\n name: 'count',\n type: 'u32'\n },\n {\n isOptional: true,\n name: 'startKey',\n type: 'StorageKey'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'Hash'\n }\n ],\n type: 'Vec<StorageKey>'\n },\n getStorage: {\n description: 'Returns a child storage entry at a specific block state',\n params: [\n {\n name: 'childKey',\n type: 'PrefixedStorageKey'\n },\n {\n name: 'key',\n type: 'StorageKey'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'Hash'\n }\n ],\n type: 'Option<StorageData>'\n },\n getStorageEntries: {\n description: 'Returns child storage entries for multiple keys at a specific block state',\n params: [\n {\n name: 'childKey',\n type: 'PrefixedStorageKey'\n },\n {\n name: 'keys',\n type: 'Vec<StorageKey>'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'Hash'\n }\n ],\n type: 'Vec<Option<StorageData>>'\n },\n getStorageHash: {\n description: 'Returns the hash of a child storage entry at a block state',\n params: [\n {\n name: 'childKey',\n type: 'PrefixedStorageKey'\n },\n {\n name: 'key',\n type: 'StorageKey'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'Hash'\n }\n ],\n type: 'Option<Hash>'\n },\n getStorageSize: {\n description: 'Returns the size of a child storage entry at a block state',\n params: [\n {\n name: 'childKey',\n type: 'PrefixedStorageKey'\n },\n {\n name: 'key',\n type: 'StorageKey'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'Hash'\n }\n ],\n type: 'Option<u64>'\n }\n};\n","import { rpc } from './rpc.js';\nexport default {\n rpc,\n types: {\n // StorageKey extends Bytes\n PrefixedStorageKey: 'StorageKey'\n }\n};\n","export const rpc = {\n localStorageClear: {\n description: 'Clear offchain local storage under given key and prefix',\n isUnsafe: true,\n params: [\n {\n name: 'kind',\n type: 'StorageKind'\n },\n {\n name: 'key',\n type: 'Bytes'\n }\n ],\n type: 'Null'\n },\n localStorageGet: {\n description: 'Get offchain local storage under given key and prefix',\n isUnsafe: true,\n params: [\n {\n name: 'kind',\n type: 'StorageKind'\n },\n {\n name: 'key',\n type: 'Bytes'\n }\n ],\n type: 'Option<Bytes>'\n },\n localStorageSet: {\n description: 'Set offchain local storage under given key and prefix',\n isUnsafe: true,\n params: [\n {\n name: 'kind',\n type: 'StorageKind'\n },\n {\n name: 'key',\n type: 'Bytes'\n },\n {\n name: 'value',\n type: 'Bytes'\n }\n ],\n type: 'Null'\n }\n};\n","export const runtime = {\n OffchainWorkerApi: [\n {\n methods: {\n offchain_worker: {\n description: 'Starts the off-chain task for given block header.',\n params: [\n {\n name: 'header',\n type: 'Header'\n }\n ],\n type: 'Null'\n }\n },\n version: 2\n },\n {\n methods: {\n offchain_worker: {\n description: 'Starts the off-chain task for given block header.',\n params: [\n {\n name: 'number',\n type: 'BlockNumber'\n }\n ],\n type: 'Null'\n }\n },\n version: 1\n }\n ]\n};\n","import { rpc } from './rpc.js';\nimport { runtime } from './runtime.js';\nexport default {\n rpc,\n runtime,\n types: {\n StorageKind: {\n _enum: {\n PERSISTENT: 1,\n LOCAL: 2\n }\n }\n }\n};\n","export const rpc = {\n queryFeeDetails: {\n // NOTE: Not deprecated (yet) in Substrate, but it is the intent to do so\n deprecated: 'Use `api.call.transactionPaymentApi.queryFeeDetails` instead',\n description: 'Query the detailed fee of a given encoded extrinsic',\n params: [\n {\n name: 'extrinsic',\n type: 'Bytes'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'FeeDetails'\n },\n queryInfo: {\n // NOTE: Not deprecated (yet) in Substrate, but it is the intent to do so\n deprecated: 'Use `api.call.transactionPaymentApi.queryInfo` instead',\n description: 'Retrieves the fee information for an encoded extrinsic',\n params: [\n {\n name: 'extrinsic',\n type: 'Bytes'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n // NOTE: Stuck on V1 forever (at least for the time being)\n type: 'RuntimeDispatchInfoV1'\n }\n};\n","const V1_TO_V4_SHARED_PAY = {\n query_fee_details: {\n description: 'The transaction fee details',\n params: [\n {\n name: 'uxt',\n type: 'Extrinsic'\n },\n {\n name: 'len',\n type: 'u32'\n }\n ],\n type: 'FeeDetails'\n }\n};\nconst V1_TO_V3_SHARED_CALL = {\n query_call_fee_details: {\n description: 'The call fee details',\n params: [\n {\n name: 'call',\n type: 'Call'\n },\n {\n name: 'len',\n type: 'u32'\n }\n ],\n type: 'FeeDetails'\n }\n};\nconst V2_TO_V4_SHARED_PAY = {\n query_info: {\n description: 'The transaction info',\n params: [\n {\n name: 'uxt',\n type: 'Extrinsic'\n },\n {\n name: 'len',\n type: 'u32'\n }\n ],\n type: 'RuntimeDispatchInfo'\n }\n};\nconst V2_V3_SHARED_CALL = {\n query_call_info: {\n description: 'The call info',\n params: [\n {\n name: 'call',\n type: 'Call'\n },\n {\n name: 'len',\n type: 'u32'\n }\n ],\n type: 'RuntimeDispatchInfo'\n }\n};\nconst V3_SHARED_PAY_CALL = {\n query_length_to_fee: {\n description: 'Query the output of the current LengthToFee given some input',\n params: [\n {\n name: 'length',\n type: 'u32'\n }\n ],\n type: 'Balance'\n },\n query_weight_to_fee: {\n description: 'Query the output of the current WeightToFee given some input',\n params: [\n {\n name: 'weight',\n type: 'Weight'\n }\n ],\n type: 'Balance'\n }\n};\nexport const runtime = {\n TransactionPaymentApi: [\n {\n // V4 is equivalent to V3 (V4 just dropped all V1 references)\n methods: {\n ...V3_SHARED_PAY_CALL,\n ...V2_TO_V4_SHARED_PAY,\n ...V1_TO_V4_SHARED_PAY\n },\n version: 4\n },\n {\n methods: {\n ...V3_SHARED_PAY_CALL,\n ...V2_TO_V4_SHARED_PAY,\n ...V1_TO_V4_SHARED_PAY\n },\n version: 3\n },\n {\n methods: {\n ...V2_TO_V4_SHARED_PAY,\n ...V1_TO_V4_SHARED_PAY\n },\n version: 2\n },\n {\n methods: {\n query_info: {\n description: 'The transaction info',\n params: [\n {\n name: 'uxt',\n type: 'Extrinsic'\n },\n {\n name: 'len',\n type: 'u32'\n }\n ],\n // NOTE: _Should_ be V1 (as per current Substrate), however the interface was\n // changed mid-flight between versions. So we have some of each depending on\n // runtime. (We do detect the weight type, so correct)\n type: 'RuntimeDispatchInfo'\n },\n ...V1_TO_V4_SHARED_PAY\n },\n version: 1\n }\n ],\n TransactionPaymentCallApi: [\n {\n methods: {\n ...V3_SHARED_PAY_CALL,\n ...V2_V3_SHARED_CALL,\n ...V1_TO_V3_SHARED_CALL\n },\n version: 3\n },\n {\n methods: {\n ...V2_V3_SHARED_CALL,\n ...V1_TO_V3_SHARED_CALL\n },\n version: 2\n },\n {\n methods: {\n CALL: {\n description: 'The call info',\n params: [\n {\n name: 'call',\n type: 'Call'\n },\n {\n name: 'len',\n type: 'u32'\n }\n ],\n // NOTE: As per the above comment, the below is correct according to Substrate, but\n // _may_ yield fallback decoding on some versions of the runtime\n type: 'RuntimeDispatchInfo'\n },\n ...V1_TO_V3_SHARED_CALL\n },\n version: 1\n }\n ]\n};\n","import { rpc } from './rpc.js';\nimport { runtime } from './runtime.js';\nexport default {\n rpc,\n runtime,\n types: {\n FeeDetails: {\n inclusionFee: 'Option<InclusionFee>'\n // skipped in serde\n // tip: 'Balance'\n },\n InclusionFee: {\n baseFee: 'Balance',\n lenFee: 'Balance',\n adjustedWeightFee: 'Balance'\n },\n RuntimeDispatchInfo: {\n weight: 'Weight',\n class: 'DispatchClass',\n partialFee: 'Balance'\n },\n RuntimeDispatchInfoV1: {\n weight: 'WeightV1',\n class: 'DispatchClass',\n partialFee: 'Balance'\n },\n RuntimeDispatchInfoV2: {\n weight: 'WeightV2',\n class: 'DispatchClass',\n partialFee: 'Balance'\n }\n }\n};\n","export const rpc = {\n call: {\n alias: ['state_callAt'],\n description: 'Perform a call to a builtin on the chain',\n params: [\n {\n name: 'method',\n type: 'Text'\n },\n {\n name: 'data',\n type: 'Bytes'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'Bytes'\n },\n getChildKeys: {\n description: 'Retrieves the keys with prefix of a specific child storage',\n params: [\n {\n name: 'childStorageKey',\n type: 'StorageKey'\n },\n {\n name: 'childDefinition',\n type: 'StorageKey'\n },\n {\n name: 'childType',\n type: 'u32'\n },\n {\n name: 'key',\n type: 'StorageKey'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'Vec<StorageKey>'\n },\n getChildReadProof: {\n description: 'Returns proof of storage for child key entries at a specific block state.',\n params: [\n {\n name: 'childStorageKey',\n type: 'PrefixedStorageKey'\n },\n {\n name: 'keys',\n type: 'Vec<StorageKey>'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'ReadProof'\n },\n getChildStorage: {\n description: 'Retrieves the child storage for a key',\n params: [\n {\n name: 'childStorageKey',\n type: 'StorageKey'\n },\n {\n name: 'childDefinition',\n type: 'StorageKey'\n },\n {\n name: 'childType',\n type: 'u32'\n },\n {\n name: 'key',\n type: 'StorageKey'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'StorageData'\n },\n getChildStorageHash: {\n description: 'Retrieves the child storage hash',\n params: [\n {\n name: 'childStorageKey',\n type: 'StorageKey'\n },\n {\n name: 'childDefinition',\n type: 'StorageKey'\n },\n {\n name: 'childType',\n type: 'u32'\n },\n {\n name: 'key',\n type: 'StorageKey'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'Hash'\n },\n getChildStorageSize: {\n description: 'Retrieves the child storage size',\n params: [\n {\n name: 'childStorageKey',\n type: 'StorageKey'\n },\n {\n name: 'childDefinition',\n type: 'StorageKey'\n },\n {\n name: 'childType',\n type: 'u32'\n },\n {\n name: 'key',\n type: 'StorageKey'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'u64'\n },\n getKeys: {\n deprecated: 'Use `api.rpc.state.getKeysPaged` to retrieve keys',\n description: 'Retrieves the keys with a certain prefix',\n params: [\n {\n name: 'key',\n type: 'StorageKey'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'Vec<StorageKey>'\n },\n getKeysPaged: {\n alias: ['state_getKeysPagedAt'],\n description: 'Returns the keys with prefix with pagination support.',\n params: [\n {\n name: 'key',\n type: 'StorageKey'\n },\n {\n name: 'count',\n type: 'u32'\n },\n {\n isOptional: true,\n name: 'startKey',\n type: 'StorageKey'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'Vec<StorageKey>'\n },\n getMetadata: {\n description: 'Returns the runtime metadata',\n params: [\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'Metadata'\n },\n getPairs: {\n deprecated: 'Use `api.rpc.state.getKeysPaged` to retrieve keys',\n description: 'Returns the keys with prefix, leave empty to get all the keys (deprecated: Use getKeysPaged)',\n isUnsafe: true,\n params: [\n {\n name: 'prefix',\n type: 'StorageKey'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'Vec<KeyValue>'\n },\n getReadProof: {\n description: 'Returns proof of storage entries at a specific block state',\n params: [\n {\n name: 'keys',\n type: 'Vec<StorageKey>'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'ReadProof'\n },\n getRuntimeVersion: {\n alias: ['chain_getRuntimeVersion'],\n description: 'Get the runtime version',\n params: [\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'RuntimeVersion'\n },\n getStorage: {\n alias: ['state_getStorageAt'],\n description: 'Retrieves the storage for a key',\n params: [\n {\n name: 'key',\n type: 'StorageKey'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'StorageData'\n },\n getStorageHash: {\n alias: ['state_getStorageHashAt'],\n description: 'Retrieves the storage hash',\n params: [\n {\n name: 'key',\n type: 'StorageKey'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'Hash'\n },\n getStorageSize: {\n alias: ['state_getStorageSizeAt'],\n description: 'Retrieves the storage size',\n params: [\n {\n name: 'key',\n type: 'StorageKey'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'u64'\n },\n queryStorage: {\n description: 'Query historical storage entries (by key) starting from a start block',\n isUnsafe: true,\n params: [\n {\n name: 'keys',\n type: 'Vec<StorageKey>'\n },\n {\n name: 'fromBlock',\n type: 'Hash'\n },\n {\n isOptional: true,\n name: 'toBlock',\n type: 'BlockHash'\n }\n ],\n type: 'Vec<StorageChangeSet>'\n },\n queryStorageAt: {\n description: 'Query storage entries (by key) starting at block hash given as the second parameter',\n params: [\n {\n name: 'keys',\n type: 'Vec<StorageKey>'\n },\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'Vec<StorageChangeSet>'\n },\n subscribeRuntimeVersion: {\n alias: ['chain_subscribeRuntimeVersion', 'chain_unsubscribeRuntimeVersion'],\n description: 'Retrieves the runtime version via subscription',\n params: [],\n pubsub: [\n 'runtimeVersion',\n 'subscribeRuntimeVersion',\n 'unsubscribeRuntimeVersion'\n ],\n type: 'RuntimeVersion'\n },\n subscribeStorage: {\n description: 'Subscribes to storage changes for the provided keys',\n // NOTE Just marking it here to follow the logic - this is unsafe when no\n // keys are provided (i.e. subscribing to all), generally this is used\n // extensively with normal subscriptions\n // isUnsafe: true,\n params: [\n {\n isOptional: true,\n name: 'keys',\n type: 'Vec<StorageKey>'\n }\n ],\n pubsub: [\n 'storage',\n 'subscribeStorage',\n 'unsubscribeStorage'\n ],\n type: 'StorageChangeSet'\n },\n traceBlock: {\n description: 'Provides a way to trace the re-execution of a single block',\n isUnsafe: true,\n params: [\n {\n name: 'block',\n type: 'Hash'\n },\n {\n name: 'targets',\n type: 'Option<Text>'\n },\n {\n name: 'storageKeys',\n type: 'Option<Text>'\n },\n {\n name: 'methods',\n type: 'Option<Text>'\n }\n ],\n type: 'TraceBlockResponse'\n },\n trieMigrationStatus: {\n description: 'Check current migration state',\n isUnsafe: true,\n params: [\n {\n isHistoric: true,\n isOptional: true,\n name: 'at',\n type: 'BlockHash'\n }\n ],\n type: 'MigrationStatusResult'\n }\n};\n","import { rpc } from './rpc.js';\nexport default {\n rpc,\n types: {\n ApiId: '[u8; 8]',\n BlockTrace: {\n blockHash: 'Text',\n parentHash: 'Text',\n tracingTargets: 'Text',\n storageKeys: 'Text',\n spans: 'Vec<BlockTraceSpan>',\n events: 'Vec<BlockTraceEvent>'\n },\n BlockTraceEvent: {\n target: 'Text',\n data: 'BlockTraceEventData',\n parentId: 'Option<u64>'\n },\n BlockTraceEventData: {\n stringValues: 'HashMap<Text, Text>'\n },\n BlockTraceSpan: {\n id: 'u64',\n parentId: 'Option<u64>',\n name: 'Text',\n target: 'Text',\n wasm: 'bool'\n },\n KeyValueOption: '(StorageKey, Option<StorageData>)',\n MigrationStatusResult: {\n topRemainingToMigrate: 'u64',\n childRemainingToMigrate: 'u64'\n },\n ReadProof: {\n at: 'Hash',\n proof: 'Vec<Bytes>'\n },\n RuntimeVersionApi: '(ApiId, u32)',\n RuntimeVersion: {\n specName: 'Text',\n implName: 'Text',\n authoringVersion: 'u32',\n specVersion: 'u32',\n implVersion: 'u32',\n apis: 'Vec<RuntimeVersionApi>',\n transactionVersion: 'u32',\n stateVersion: 'u8'\n },\n RuntimeVersionPre4: {\n specName: 'Text',\n implName: 'Text',\n authoringVersion: 'u32',\n specVersion: 'u32',\n implVersion: 'u32',\n apis: 'Vec<RuntimeVersionApi>',\n transactionVersion: 'u32'\n },\n RuntimeVersionPre3: {\n specName: 'Text',\n implName: 'Text',\n authoringVersion: 'u32',\n specVersion: 'u32',\n implVersion: 'u32',\n apis: 'Vec<RuntimeVersionApi>'\n },\n RuntimeVersionPartial: {\n specName: 'Text',\n specVersion: 'u32',\n apis: 'Vec<RuntimeVersionApi>'\n },\n SpecVersion: 'u32',\n StorageChangeSet: {\n block: 'Hash',\n changes: 'Vec<KeyValueOption>'\n },\n TraceBlockResponse: {\n _enum: {\n TraceError: 'TraceError',\n BlockTrace: 'BlockTrace'\n }\n },\n TraceError: {\n error: 'Text'\n }\n }\n};\n","import { sanitize, Struct } from '@polkadot/types-codec';\nimport { getTypeDef, TypeDefInfo, withTypeString } from '@polkadot/types-create';\nimport { assertUnreachable, isNumber, isString, logger, objectSpread, stringCamelCase, stringify, stringPascalCase } from '@polkadot/util';\nconst l = logger('PortableRegistry');\nconst TYPE_UNWRAP = { toNumber: () => -1 };\nconst PRIMITIVE_ALIAS = {\n Char: 'u32', // Rust char is 4-bytes\n Str: 'Text'\n};\nconst PATHS_ALIAS = splitNamespace([\n // full matching on exact names...\n // these are well-known types with additional encoding\n 'sp_core::crypto::AccountId32',\n 'sp_runtime::generic::era::Era',\n 'sp_runtime::multiaddress::MultiAddress',\n // ethereum overrides (Frontier, Moonbeam, Polkadot claims)\n 'fp_account::AccountId20',\n 'account::AccountId20',\n 'polkadot_runtime_common::claims::EthereumAddress',\n // weights 2 is a structure, however for 1.5. with a single field it\n // should be flatenned (can appear in Compact<Weight> extrinsics)\n 'frame_support::weights::weight_v2::Weight',\n 'sp_weights::weight_v2::Weight',\n // wildcard matching in place...\n // these have a specific encoding or logic, use a wildcard for {pallet, darwinia}_democracy\n '*_democracy::vote::Vote',\n '*_conviction_voting::vote::Vote',\n '*_identity::types::Data',\n // these are opaque Vec<u8> wrappers\n 'sp_core::OpaqueMetadata',\n 'sp_core::OpaquePeerId',\n 'sp_core::offchain::OpaqueMultiaddr',\n // shorten some well-known types\n 'primitive_types::*',\n 'sp_arithmetic::per_things::*',\n // runtime\n '*_runtime::RuntimeCall',\n '*_runtime::RuntimeEvent',\n // ink!\n 'ink::env::types::*',\n 'ink::primitives::types::*',\n 'ink_env::types::*',\n 'ink_primitives::types::*'\n]);\nconst PATHS_SET = splitNamespace([\n 'pallet_identity::types::BitFlags'\n]);\nconst BITVEC_NS_LSB = ['bitvec::order::Lsb0', 'BitOrderLsb0'];\nconst BITVEC_NS_MSB = ['bitvec::order::Msb0', 'BitOrderMsb0'];\nconst BITVEC_NS = [...BITVEC_NS_LSB, ...BITVEC_NS_MSB];\nconst WRAPPERS = ['BoundedBTreeMap', 'BoundedBTreeSet', 'BoundedVec', 'Box', 'BTreeMap', 'BTreeSet', 'Cow', 'Option', 'Range', 'RangeInclusive', 'Result', 'WeakBoundedVec', 'WrapperKeepOpaque', 'WrapperOpaque'];\nconst RESERVED = [\n // JS reserved words\n 'entries', 'keys', 'new', 'size',\n // exposed by all Codec objects\n 'hash', 'registry'\n];\nconst PATH_RM_INDEX_1 = ['generic', 'misc', 'pallet', 'traits', 'types'];\n/** @internal Converts a Text[] into string[] (used as part of definitions) */\nfunction sanitizeDocs(docs) {\n const count = docs.length;\n const result = new Array(count);\n for (let i = 0; i < count; i++) {\n result[i] = docs[i].toString();\n }\n return result;\n}\n/** @internal Split a namespace with :: into individual parts */\nfunction splitNamespace(values) {\n const count = values.length;\n const result = new Array(count);\n for (let i = 0; i < count; i++) {\n result[i] = values[i].split('::');\n }\n return result;\n}\n/** @internal Match a namespace based on parts (alongside wildcards) */\nfunction matchParts(first, second) {\n return first.length === second.length && first.every((a, index) => {\n const b = second[index].toString();\n if ((a === '*') || (a === b)) {\n return true;\n }\n if (a.includes('*') && a.includes('_') && b.includes('_')) {\n let suba = a.split('_');\n let subb = b.split('_');\n // match initial *'s to multiples if we have a match for the other\n if (suba[0] === '*') {\n const indexOf = subb.indexOf(suba[1]);\n if (indexOf !== -1) {\n suba = suba.slice(1);\n subb = subb.slice(indexOf);\n }\n }\n // check for * matches at the end, adjust accordingly\n if ((suba.length === 2) && (suba[1] === '*') && (suba[0] === subb[0])) {\n return true;\n }\n return matchParts(suba, subb);\n }\n return false;\n });\n}\n/** @internal check if the path matches the PATHS_ALIAS (with wildcards) */\nfunction getAliasPath({ def, path }) {\n // specific logic for weights - we override when non-complex struct\n // (as applied in Weight 1.5 where we also have `Compact<{ refTime: u64 }>)\n if (['frame_support::weights::weight_v2::Weight', 'sp_weights::weight_v2::Weight'].includes(path.join('::'))) {\n return !def.isComposite || def.asComposite.fields.length === 1\n ? 'WeightV1'\n : null;\n }\n // TODO We need to handle ink! Balance in some way\n return path.length && PATHS_ALIAS.some((a) => matchParts(a, path))\n ? path[path.length - 1].toString()\n : null;\n}\n/** @internal Converts a type name into a JS-API compatible name */\nfunction extractNameFlat(portable, lookupIndex, params, path, isInternal = false) {\n const count = path.length;\n // if we have no path or determined as a wrapper, we just skip it\n if (count === 0 || WRAPPERS.includes(path[count - 1].toString())) {\n return null;\n }\n const camels = new Array(count);\n const lowers = new Array(count);\n // initially just create arrays of the camelCase and lowercase path\n // parts - we will check these to extract the final values. While\n // we have 2 loops here, we also don't do the same operation twice\n for (let i = 0; i < count; i++) {\n const c = stringPascalCase(isInternal\n ? path[i].replace('pallet_', '')\n : path[i]);\n const l = c.toLowerCase();\n camels[i] = c;\n lowers[i] = l;\n }\n let name = '';\n for (let i = 0; i < count; i++) {\n const l = lowers[i];\n // Remove ::{generic, misc, pallet, traits, types}::\n if (i !== 1 || !PATH_RM_INDEX_1.includes(l)) {\n // sp_runtime::generic::digest::Digest -> sp_runtime::generic::Digest\n // sp_runtime::multiaddress::MultiAddress -> sp_runtime::MultiAddress\n if (l !== lowers[i + 1]) {\n name += camels[i];\n }\n }\n }\n // do magic for RawOrigin lookup, e.g. pallet_collective::RawOrigin\n if (camels[1] === 'RawOrigin' && count === 2 && params.length === 2 && params[1].type.isSome) {\n const instanceType = portable[params[1].type.unwrap().toNumber()];\n if (instanceType.type.path.length === 2) {\n name = `${name}${instanceType.type.path[1].toString()}`;\n }\n }\n return { lookupIndex, name, params };\n}\n/** @internal Alias for extractNameFlat with PortableType as a last parameter */\nfunction extractName(portable, lookupIndex, { type: { params, path } }) {\n return extractNameFlat(portable, lookupIndex, params, path);\n}\n/** @internal Check for dupes from a specific index onwards */\nfunction nextDupeMatches(name, startAt, names) {\n const result = [names[startAt]];\n for (let i = startAt + 1, count = names.length; i < count; i++) {\n const v = names[i];\n if (v.name === name) {\n result.push(v);\n }\n }\n return result;\n}\n/** @internal Checks to see if a type is a full duplicate (with all params matching) */\nfunction rewriteDupes(input, rewrite) {\n const count = input.length;\n for (let i = 0; i < count; i++) {\n const a = input[i];\n for (let j = i + 1; j < count; j++) {\n const b = input[j];\n // if the indexes are not the same and the names match, we have a dupe\n if (a.lookupIndex !== b.lookupIndex && a.name === b.name) {\n return false;\n }\n }\n }\n // add all the adjusted values to the rewite map\n for (let i = 0; i < count; i++) {\n const p = input[i];\n rewrite[p.lookupIndex] = p.name;\n }\n return true;\n}\n/** @internal Find duplicates and adjust the names based on parameters */\nfunction removeDupeNames(lookup, portable, names) {\n const rewrite = {};\n return names\n .map((original, startAt) => {\n const { lookupIndex, name, params } = original;\n if (!name) {\n // the name is empty (this is not expected, but have a failsafe)\n return null;\n }\n else if (rewrite[lookupIndex]) {\n // we have already rewritten this one, we can skip it\n return original;\n }\n // those where the name is matching starting from this index\n const allSame = nextDupeMatches(name, startAt, names);\n // we only have one, so all ok\n if (allSame.length === 1) {\n return original;\n }\n // are there param differences between matching names\n const anyDiff = allSame.some((o) => params.length !== o.params.length ||\n params.some((p, index) => !p.name.eq(o.params[index].name) ||\n p.type.unwrapOr(TYPE_UNWRAP).toNumber() !== o.params[index].type.unwrapOr(TYPE_UNWRAP).toNumber()));\n // everything matches, we can combine these\n if (!anyDiff) {\n return original;\n }\n // TODO We probably want to attach all the indexes with differences,\n // not just the first\n // find the first parameter that yields differences\n const paramIdx = params.findIndex(({ type }, index) => allSame.every(({ params }, aIndex) => params[index].type.isSome && (aIndex === 0 ||\n !params[index].type.eq(type))));\n // No param found that is different\n if (paramIdx === -1) {\n return original;\n }\n // see if using the param type helps\n const sameCount = allSame.length;\n const adjusted = new Array(sameCount);\n // loop through all, specifically checking that index where the\n // first param yields differences\n for (let i = 0; i < sameCount; i++) {\n const { lookupIndex, name, params } = allSame[i];\n const { def, path } = lookup.getSiType(params[paramIdx].type.unwrap());\n // if it is not a primitive and it doesn't have a path, we really cannot\n // do anything at this point\n if (!def.isPrimitive && !path.length) {\n return null;\n }\n adjusted[i] = {\n lookupIndex,\n name: def.isPrimitive\n ? `${name}${def.asPrimitive.toString()}`\n : `${name}${path[path.length - 1].toString()}`\n };\n }\n // check to see if the adjusted names have no issues\n if (rewriteDupes(adjusted, rewrite)) {\n return original;\n }\n // TODO This is duplicated from the section just above...\n // ... we certainly need a better solution here\n //\n // Last-ditch effort to use the full type path - ugly\n // loop through all, specifically checking that index where the\n // first param yields differences\n for (let i = 0; i < sameCount; i++) {\n const { lookupIndex, name, params } = allSame[i];\n const { def, path } = lookup.getSiType(params[paramIdx].type.unwrap());\n const flat = extractNameFlat(portable, lookupIndex, params, path, true);\n if (def.isPrimitive || !flat) {\n return null;\n }\n adjusted[i] = {\n lookupIndex,\n name: `${name}${flat.name}`\n };\n }\n // check to see if the adjusted names have no issues\n if (rewriteDupes(adjusted, rewrite)) {\n return original;\n }\n return null;\n })\n .filter((n) => !!n)\n .map(({ lookupIndex, name, params }) => ({\n lookupIndex,\n name: rewrite[lookupIndex] || name,\n params\n }));\n}\n/** @internal Detect on-chain types (AccountId/Signature) as set as the default */\nfunction registerTypes(lookup, lookups, names, params) {\n // Register the types we extracted\n lookup.registry.register(lookups);\n // Try and extract the AccountId/Address/Signature type from UncheckedExtrinsic\n if (params.SpRuntimeUncheckedExtrinsic) {\n // Address, Call, Signature, Extra\n const [addrParam, , sigParam] = params.SpRuntimeUncheckedExtrinsic;\n const siAddress = lookup.getSiType(addrParam.type.unwrap());\n const siSignature = lookup.getSiType(sigParam.type.unwrap());\n const nsSignature = siSignature.path.join('::');\n let nsAccountId = siAddress.path.join('::');\n const isMultiAddress = nsAccountId === 'sp_runtime::multiaddress::MultiAddress';\n // With multiaddress, we check the first type param again\n if (isMultiAddress) {\n // AccountId, AccountIndex\n const [idParam] = siAddress.params;\n nsAccountId = lookup.getSiType(idParam.type.unwrap()).path.join('::');\n }\n lookup.registry.register({\n // known: account::AccountId20, fp_account::AccountId20, primitive_types::H160\n AccountId: nsAccountId.endsWith('::AccountId20') || nsAccountId.endsWith('::H160')\n ? 'AccountId20'\n : 'AccountId32',\n Address: isMultiAddress\n ? 'MultiAddress'\n : 'AccountId',\n ExtrinsicSignature: ['sp_runtime::MultiSignature'].includes(nsSignature)\n ? 'MultiSignature'\n : names[sigParam.type.unwrap().toNumber()] || 'MultiSignature'\n });\n }\n}\n/**\n * @internal Extracts aliases based on what we know the runtime config looks like in a\n * Substrate chain. Specifically we want to have access to the Call and Event params\n **/\nfunction extractAliases(params, isContract) {\n const hasParams = Object.keys(params).some((k) => !k.startsWith('Pallet'));\n const alias = {};\n if (params.SpRuntimeUncheckedExtrinsic) {\n // Address, Call, Signature, Extra\n const [, { type }] = params.SpRuntimeUncheckedExtrinsic;\n alias[type.unwrap().toNumber()] = 'Call';\n }\n else if (hasParams && !isContract) {\n l.warn('Unable to determine runtime Call type, cannot inspect sp_runtime::generic::unchecked_extrinsic::UncheckedExtrinsic');\n }\n if (params.FrameSystemEventRecord) {\n // Event, Topic\n const [{ type }] = params.FrameSystemEventRecord;\n alias[type.unwrap().toNumber()] = 'Event';\n }\n else if (hasParams && !isContract) {\n l.warn('Unable to determine runtime Event type, cannot inspect frame_system::EventRecord');\n }\n return alias;\n}\n/** @internal Extracts all the intreresting type information for this registry */\nfunction extractTypeInfo(lookup, portable) {\n const nameInfo = [];\n const types = {};\n for (let i = 0, count = portable.length; i < count; i++) {\n const type = portable[i];\n const lookupIndex = type.id.toNumber();\n const extracted = extractName(portable, lookupIndex, portable[i]);\n if (extracted) {\n nameInfo.push(extracted);\n }\n types[lookupIndex] = type;\n }\n const lookups = {};\n const names = {};\n const params = {};\n const dedup = removeDupeNames(lookup, portable, nameInfo);\n for (let i = 0, count = dedup.length; i < count; i++) {\n const { lookupIndex, name, params: p } = dedup[i];\n names[lookupIndex] = name;\n lookups[name] = lookup.registry.createLookupType(lookupIndex);\n params[name] = p;\n }\n return { lookups, names, params, types };\n}\nexport class PortableRegistry extends Struct {\n #alias;\n #lookups;\n #names;\n #params;\n #typeDefs = {};\n #types;\n constructor(registry, value, isContract) {\n // const timeStart = performance.now()\n super(registry, {\n types: 'Vec<PortableType>'\n }, value);\n const { lookups, names, params, types } = extractTypeInfo(this, this.types);\n this.#alias = extractAliases(params, isContract);\n this.#lookups = lookups;\n this.#names = names;\n this.#params = params;\n this.#types = types;\n // console.log('PortableRegistry', `${(performance.now() - timeStart).toFixed(2)}ms`)\n }\n /**\n * @description Returns all the available type names for this chain\n **/\n get names() {\n return Object.values(this.#names).sort();\n }\n /**\n * @description Returns all the available parameterized types for this chain\n **/\n get paramTypes() {\n return this.#params;\n }\n /**\n * @description The types of the registry\n */\n get types() {\n return this.getT('types');\n }\n /**\n * @description Register all available types into the registry (generally for internal usage)\n */\n register() {\n registerTypes(this, this.#lookups, this.#names, this.#params);\n }\n /**\n * @description Returns the name for a specific lookup\n */\n getName(lookupId) {\n return this.#names[this.#getLookupId(lookupId)];\n }\n /**\n * @description Finds a specific type in the registry\n */\n getSiType(lookupId) {\n // NOTE catch-22 - this may already be used as part of the constructor, so\n // ensure that we have actually initialized it correctly\n const found = (this.#types || this.types)[this.#getLookupId(lookupId)];\n if (!found) {\n throw new Error(`PortableRegistry: Unable to find type with lookupId ${lookupId.toString()}`);\n }\n return found.type;\n }\n /**\n * @description Lookup the type definition for the index\n */\n getTypeDef(lookupId) {\n const lookupIndex = this.#getLookupId(lookupId);\n if (!this.#typeDefs[lookupIndex]) {\n const lookupName = this.#names[lookupIndex];\n const empty = {\n info: TypeDefInfo.DoNotConstruct,\n lookupIndex,\n lookupName,\n type: this.registry.createLookupType(lookupIndex)\n };\n // Set named items since we will get into circular lookups along the way\n if (lookupName) {\n this.#typeDefs[lookupIndex] = empty;\n }\n const extracted = this.#extract(this.getSiType(lookupId), lookupIndex);\n // For non-named items, we only set this right at the end\n if (!lookupName) {\n this.#typeDefs[lookupIndex] = empty;\n }\n Object.keys(extracted).forEach((k) => {\n if (k !== 'lookupName' || extracted[k]) {\n // these are safe since we are looking through the keys as set\n this.#typeDefs[lookupIndex][k] = extracted[k];\n }\n });\n // don't set lookupName on lower-level, we want to always direct to the type\n if (extracted.info === TypeDefInfo.Plain) {\n this.#typeDefs[lookupIndex].lookupNameRoot = this.#typeDefs[lookupIndex].lookupName;\n delete this.#typeDefs[lookupIndex].lookupName;\n }\n }\n return this.#typeDefs[lookupIndex];\n }\n /**\n * @description For a specific field, perform adjustments to not have built-in conflicts\n */\n sanitizeField(name) {\n let nameField = null;\n let nameOrig = null;\n if (name.isSome) {\n nameField = stringCamelCase(name.unwrap());\n if (nameField.includes('#')) {\n nameOrig = nameField;\n nameField = nameOrig.replace(/#/g, '_');\n }\n else if (RESERVED.includes(nameField)) {\n nameOrig = nameField;\n nameField = `${nameField}_`;\n }\n }\n return [nameField, nameOrig];\n }\n /** @internal Creates a TypeDef based on an internal lookupId */\n #createSiDef(lookupId) {\n const typeDef = this.getTypeDef(lookupId);\n const lookupIndex = lookupId.toNumber();\n // Setup for a lookup on complex types\n return [TypeDefInfo.DoNotConstruct, TypeDefInfo.Enum, TypeDefInfo.Struct].includes(typeDef.info) && typeDef.lookupName\n ? {\n docs: typeDef.docs,\n info: TypeDefInfo.Si,\n lookupIndex,\n lookupName: this.#names[lookupIndex],\n type: this.registry.createLookupType(lookupId)\n }\n : typeDef;\n }\n /** @internal Converts a lookupId input to the actual lookup index */\n #getLookupId(lookupId) {\n if (isString(lookupId)) {\n if (!this.registry.isLookupType(lookupId)) {\n throw new Error(`PortableRegistry: Expected a lookup string type, found ${lookupId}`);\n }\n return parseInt(lookupId.replace('Lookup', ''), 10);\n }\n else if (isNumber(lookupId)) {\n return lookupId;\n }\n return lookupId.toNumber();\n }\n /** @internal Converts a type into a TypeDef for Codec usage */\n #extract(type, lookupIndex) {\n const namespace = type.path.join('::');\n let typeDef;\n const aliasType = this.#alias[lookupIndex] || getAliasPath(type);\n try {\n if (aliasType) {\n typeDef = this.#extractAliasPath(lookupIndex, aliasType);\n }\n else {\n switch (type.def.type) {\n case 'Array':\n typeDef = this.#extractArray(lookupIndex, type.def.asArray);\n break;\n case 'BitSequence':\n typeDef = this.#extractBitSequence(lookupIndex, type.def.asBitSequence);\n break;\n case 'Compact':\n typeDef = this.#extractCompact(lookupIndex, type.def.asCompact);\n break;\n case 'Composite':\n typeDef = this.#extractComposite(lookupIndex, type, type.def.asComposite);\n break;\n case 'HistoricMetaCompat':\n typeDef = this.#extractHistoric(lookupIndex, type.def.asHistoricMetaCompat);\n break;\n case 'Primitive':\n typeDef = this.#extractPrimitive(lookupIndex, type);\n break;\n case 'Sequence':\n typeDef = this.#extractSequence(lookupIndex, type.def.asSequence);\n break;\n case 'Tuple':\n typeDef = this.#extractTuple(lookupIndex, type.def.asTuple);\n break;\n case 'Variant':\n typeDef = this.#extractVariant(lookupIndex, type, type.def.asVariant);\n break;\n default: assertUnreachable(type.def.type);\n }\n }\n }\n catch (error) {\n throw new Error(`PortableRegistry: ${lookupIndex}${namespace ? ` (${namespace})` : ''}: Error extracting ${stringify(type)}: ${error.message}`);\n }\n return objectSpread({\n docs: sanitizeDocs(type.docs),\n namespace\n }, typeDef);\n }\n /** @internal Extracts a ScaleInfo Array into TypeDef.VecFixed */\n #extractArray(_, { len, type }) {\n const length = len.toNumber();\n if (length > 2048) {\n throw new Error('Only support for [Type; <length>], where length <= 2048');\n }\n return withTypeString(this.registry, {\n info: TypeDefInfo.VecFixed,\n length,\n sub: this.#createSiDef(type)\n });\n }\n /** @internal Extracts a ScaleInfo BitSequence into TypeDef.Plain */\n #extractBitSequence(_, { bitOrderType, bitStoreType }) {\n // With the v3 of scale-info this swapped around, but obviously the decoder cannot determine\n // the order. With that in-mind, we apply a detection for LSb0/Msb and set accordingly\n const a = this.#createSiDef(bitOrderType);\n const b = this.#createSiDef(bitStoreType);\n const [bitOrder, bitStore] = BITVEC_NS.includes(a.namespace || '')\n ? [a, b]\n : [b, a];\n if (!bitOrder.namespace || !BITVEC_NS.includes(bitOrder.namespace)) {\n throw new Error(`Unexpected bitOrder found as ${bitOrder.namespace || '<unknown>'}`);\n }\n else if (bitStore.info !== TypeDefInfo.Plain || bitStore.type !== 'u8') {\n throw new Error(`Only u8 bitStore is currently supported, found ${bitStore.type}`);\n }\n const isLsb = BITVEC_NS_LSB.includes(bitOrder.namespace);\n if (!isLsb) {\n // TODO To remove this limitation, we need to pass an extra info flag\n // through to the TypeDef (Here we could potentially re-use something\n // like index (???) to indicate and ensure we use it to pass to the\n // BitVec constructor - which does handle this type)\n //\n // See https://github.com/polkadot-js/api/issues/5588\n // throw new Error(`Only LSB BitVec is currently supported, found ${bitOrder.namespace}`);\n }\n return {\n info: TypeDefInfo.Plain,\n type: 'BitVec'\n };\n }\n /** @internal Extracts a ScaleInfo Compact into TypeDef.Compact */\n #extractCompact(_, { type }) {\n return withTypeString(this.registry, {\n info: TypeDefInfo.Compact,\n sub: this.#createSiDef(type)\n });\n }\n /** @internal Extracts a ScaleInfo Composite into TypeDef.{BTree*, Range*, Wrapper*} */\n #extractComposite(lookupIndex, { params, path }, { fields }) {\n if (path.length) {\n const pathFirst = path[0].toString();\n const pathLast = path[path.length - 1].toString();\n if (path.length === 1 && pathFirst === 'BTreeMap') {\n if (params.length !== 2) {\n throw new Error(`BTreeMap requires 2 parameters, found ${params.length}`);\n }\n return withTypeString(this.registry, {\n info: TypeDefInfo.BTreeMap,\n sub: params.map(({ type }) => this.#createSiDef(type.unwrap()))\n });\n }\n else if (path.length === 1 && pathFirst === 'BTreeSet') {\n if (params.length !== 1) {\n throw new Error(`BTreeSet requires 1 parameter, found ${params.length}`);\n }\n return withTypeString(this.registry, {\n info: TypeDefInfo.BTreeSet,\n sub: this.#createSiDef(params[0].type.unwrap())\n });\n }\n else if (['Range', 'RangeInclusive'].includes(pathFirst)) {\n if (params.length !== 1) {\n throw new Error(`Range requires 1 parameter, found ${params.length}`);\n }\n return withTypeString(this.registry, {\n info: pathFirst === 'Range'\n ? TypeDefInfo.Range\n : TypeDefInfo.RangeInclusive,\n sub: this.#createSiDef(params[0].type.unwrap()),\n type: pathFirst\n });\n }\n else if (['WrapperKeepOpaque', 'WrapperOpaque'].includes(pathLast)) {\n if (params.length !== 1) {\n throw new Error(`WrapperOpaque requires 1 parameter, found ${params.length}`);\n }\n return withTypeString(this.registry, {\n info: pathLast === 'WrapperKeepOpaque'\n ? TypeDefInfo.WrapperKeepOpaque\n : TypeDefInfo.WrapperOpaque,\n sub: this.#createSiDef(params[0].type.unwrap()),\n type: pathLast\n });\n }\n }\n return PATHS_SET.some((p) => matchParts(p, path))\n ? this.#extractCompositeSet(lookupIndex, params, fields)\n : this.#extractFields(lookupIndex, fields);\n }\n /** @internal Extracts a ScaleInfo CompositeSet into TypeDef.Set */\n #extractCompositeSet(_, params, fields) {\n if (params.length !== 1 || fields.length !== 1) {\n throw new Error('Set handling expects param/field as single entries');\n }\n return withTypeString(this.registry, {\n info: TypeDefInfo.Set,\n length: this.registry.createTypeUnsafe(this.registry.createLookupType(fields[0].type), []).bitLength(),\n sub: this.getSiType(params[0].type.unwrap()).def.asVariant.variants.map(({ index, name }) => ({\n // This will be an issue > 2^53 - 1 ... don't have those (yet)\n index: index.toNumber(),\n info: TypeDefInfo.Plain,\n name: name.toString(),\n type: 'Null'\n }))\n });\n }\n /** @internal Extracts ScaleInfo enum/struct fields into TypeDef.{Struct, Tuple} */\n #extractFields(lookupIndex, fields) {\n let isStruct = true;\n let isTuple = true;\n const count = fields.length;\n for (let f = 0; f < count; f++) {\n const { name } = fields[f];\n isStruct = isStruct && name.isSome;\n isTuple = isTuple && name.isNone;\n }\n if (!isTuple && !isStruct) {\n throw new Error('Invalid fields type detected, expected either Tuple (all unnamed) or Struct (all named)');\n }\n if (count === 0) {\n return {\n info: TypeDefInfo.Null,\n type: 'Null'\n };\n }\n else if (isTuple && count === 1) {\n const typeDef = this.#createSiDef(fields[0].type);\n return objectSpread({}, typeDef, lookupIndex === -1\n ? null\n : {\n lookupIndex,\n lookupName: this.#names[lookupIndex],\n lookupNameRoot: typeDef.lookupName\n }, fields[0].typeName.isSome\n ? { typeName: sanitize(fields[0].typeName.unwrap()) }\n : null);\n }\n const [sub, alias] = this.#extractFieldsAlias(fields);\n return withTypeString(this.registry, objectSpread({\n info: isTuple // Tuple check first\n ? TypeDefInfo.Tuple\n : TypeDefInfo.Struct,\n sub\n }, alias.size\n ? { alias }\n : null, lookupIndex === -1\n ? null\n : {\n lookupIndex,\n lookupName: this.#names[lookupIndex]\n }));\n }\n /** @internal Apply field aliassed (with no JS conflicts) */\n #extractFieldsAlias(fields) {\n const alias = new Map();\n const count = fields.length;\n const sub = new Array(count);\n for (let i = 0; i < count; i++) {\n const { docs, name, type, typeName } = fields[i];\n const typeDef = this.#createSiDef(type);\n if (name.isNone) {\n sub[i] = typeDef;\n }\n else {\n const [nameField, nameOrig] = this.sanitizeField(name);\n if (nameField && nameOrig) {\n alias.set(nameField, nameOrig);\n }\n sub[i] = objectSpread({\n docs: sanitizeDocs(docs),\n name: nameField\n }, typeDef, typeName.isSome\n ? { typeName: sanitize(typeName.unwrap()) }\n : null);\n }\n }\n return [sub, alias];\n }\n /** @internal Extracts an internal Historic (pre V14) type */\n #extractHistoric(_, type) {\n return objectSpread({\n displayName: type.toString(),\n isFromSi: true\n }, getTypeDef(type));\n }\n /** @internal Extracts a ScaleInfo Primitive into TypeDef.Plain */\n #extractPrimitive(_, type) {\n const typeStr = type.def.asPrimitive.type.toString();\n return {\n info: TypeDefInfo.Plain,\n type: PRIMITIVE_ALIAS[typeStr] || typeStr.toLowerCase()\n };\n }\n /** @internal Applies an alias path onto the TypeDef */\n #extractAliasPath(_, type) {\n return {\n info: TypeDefInfo.Plain,\n type\n };\n }\n /** @internal Extracts a ScaleInfo Sequence into TypeDef.Vec (with Bytes shortcut) */\n #extractSequence(lookupIndex, { type }) {\n const sub = this.#createSiDef(type);\n if (sub.type === 'u8') {\n return {\n info: TypeDefInfo.Plain,\n type: 'Bytes'\n };\n }\n return withTypeString(this.registry, {\n info: TypeDefInfo.Vec,\n lookupIndex,\n lookupName: this.#names[lookupIndex],\n sub\n });\n }\n /** @internal Extracts a ScaleInfo Tuple into TypeDef.Tuple */\n #extractTuple(lookupIndex, ids) {\n if (ids.length === 0) {\n return {\n info: TypeDefInfo.Null,\n type: 'Null'\n };\n }\n else if (ids.length === 1) {\n return this.getTypeDef(ids[0]);\n }\n const sub = ids.map((t) => this.#createSiDef(t));\n return withTypeString(this.registry, {\n info: TypeDefInfo.Tuple,\n lookupIndex,\n lookupName: this.#names[lookupIndex],\n sub\n });\n }\n /** @internal Extracts a ScaleInfo Variant into TypeDef.{Option, Result, Enum} */\n #extractVariant(lookupIndex, { params, path }, { variants }) {\n if (path.length) {\n const specialVariant = path[0].toString();\n if (specialVariant === 'Option') {\n if (params.length !== 1) {\n throw new Error(`Option requires 1 parameter, found ${params.length}`);\n }\n // NOTE This is opt-in (unhandled), not by default\n // if (sub.type === 'bool') {\n // return withTypeString(this.registry, {\n // info: TypeDefInfo.Plain,\n // type: 'OptionBool'\n // });\n // }\n return withTypeString(this.registry, {\n info: TypeDefInfo.Option,\n sub: this.#createSiDef(params[0].type.unwrap())\n });\n }\n else if (specialVariant === 'Result') {\n if (params.length !== 2) {\n throw new Error(`Result requires 2 parameters, found ${params.length}`);\n }\n return withTypeString(this.registry, {\n info: TypeDefInfo.Result,\n sub: params.map(({ type }, index) => objectSpread({\n name: ['Ok', 'Error'][index]\n }, this.#createSiDef(type.unwrap())))\n });\n }\n }\n if (variants.length === 0) {\n return {\n info: TypeDefInfo.Null,\n type: 'Null'\n };\n }\n return this.#extractVariantEnum(lookupIndex, variants);\n }\n /** @internal Extracts a ScaleInfo Variant into TypeDef.Enum */\n #extractVariantEnum(lookupIndex, variants) {\n const sub = [];\n // we may get entries out of order, arrange them first before creating with gaps filled\n // NOTE: Since we mutate, use a copy of the array as an input\n variants\n .slice()\n .sort((a, b) => a.index.cmp(b.index))\n .forEach(({ fields, index: bnIndex, name }) => {\n const index = bnIndex.toNumber();\n while (sub.length !== index) {\n sub.push({\n index: sub.length,\n info: TypeDefInfo.Null,\n name: `__Unused${sub.length}`,\n type: 'Null'\n });\n }\n sub.push(objectSpread(this.#extractFields(-1, fields), {\n index,\n name: name.toString()\n }));\n });\n return withTypeString(this.registry, {\n info: TypeDefInfo.Enum,\n lookupIndex,\n lookupName: this.#names[lookupIndex],\n sub\n });\n }\n}\n","/** @internal */\nexport function flattenUniq(list, result = []) {\n for (let i = 0, count = list.length; i < count; i++) {\n const entry = list[i];\n if (Array.isArray(entry)) {\n flattenUniq(entry, result);\n }\n else {\n result.push(entry);\n }\n }\n return [...new Set(result)];\n}\n","export function getSiName(lookup, type) {\n const typeDef = lookup.getTypeDef(type);\n return typeDef.lookupName || typeDef.type;\n}\n","import { logger } from '@polkadot/util';\nimport { extractTypes } from './extractTypes.js';\nimport { flattenUniq } from './flattenUniq.js';\nconst l = logger('metadata');\n/** @internal */\nexport function validateTypes(registry, throwError, types) {\n const missing = flattenUniq(extractTypes(types))\n .filter((type) => !registry.hasType(type) &&\n !registry.isLookupType(type))\n .sort();\n if (missing.length !== 0) {\n const message = `Unknown types found, no types for ${missing.join(', ')}`;\n if (throwError) {\n throw new Error(message);\n }\n else {\n l.warn(message);\n }\n }\n return types;\n}\n","import { getTypeDef, TypeDefInfo } from '@polkadot/types-create';\nfunction extractSubSingle(_, { sub }) {\n const { lookupName, type } = sub;\n return extractTypes([lookupName || type]);\n}\nfunction extractSubArray(_, { sub }) {\n return extractTypes(sub.map(({ lookupName, type }) => lookupName || type));\n}\nfunction unhandled(type, { info }) {\n throw new Error(`Unhandled: Unable to create and validate type from ${type} (info=${TypeDefInfo[info]})`);\n}\nconst mapping = {\n [TypeDefInfo.BTreeMap]: extractSubArray,\n [TypeDefInfo.BTreeSet]: extractSubSingle,\n [TypeDefInfo.Compact]: extractSubSingle,\n [TypeDefInfo.DoNotConstruct]: unhandled,\n [TypeDefInfo.Enum]: extractSubArray,\n [TypeDefInfo.HashMap]: extractSubArray,\n [TypeDefInfo.Int]: unhandled,\n [TypeDefInfo.Linkage]: extractSubSingle,\n [TypeDefInfo.Null]: unhandled,\n [TypeDefInfo.Option]: extractSubSingle,\n [TypeDefInfo.Plain]: (_, typeDef) => typeDef.lookupName || typeDef.type,\n [TypeDefInfo.Range]: extractSubSingle,\n [TypeDefInfo.RangeInclusive]: extractSubSingle,\n [TypeDefInfo.Result]: extractSubArray,\n [TypeDefInfo.Set]: extractSubArray,\n [TypeDefInfo.Si]: unhandled,\n [TypeDefInfo.Struct]: extractSubArray,\n [TypeDefInfo.Tuple]: extractSubArray,\n [TypeDefInfo.UInt]: unhandled,\n [TypeDefInfo.Vec]: extractSubSingle,\n [TypeDefInfo.VecFixed]: extractSubSingle,\n [TypeDefInfo.WrapperKeepOpaque]: extractSubSingle,\n [TypeDefInfo.WrapperOpaque]: extractSubSingle\n};\n/** @internal */\nexport function extractTypes(types) {\n const count = types.length;\n const result = new Array(count);\n for (let i = 0; i < count; i++) {\n const type = types[i];\n const typeDef = getTypeDef(type);\n result[i] = mapping[typeDef.info](type, typeDef);\n }\n return result;\n}\n","import { flattenUniq } from './flattenUniq.js';\nimport { validateTypes } from './validateTypes.js';\n/** @internal */\nfunction extractTypes(lookup, types) {\n return types.map(({ type }) => lookup.getTypeDef(type).type);\n}\n/** @internal */\nfunction extractFieldTypes(lookup, type) {\n return lookup.getSiType(type).def.asVariant.variants.map(({ fields }) => extractTypes(lookup, fields));\n}\n/** @internal */\nfunction getPalletNames({ lookup, pallets }) {\n return pallets.reduce((all, { calls, constants, events, storage }) => {\n all.push([extractTypes(lookup, constants)]);\n if (calls.isSome) {\n all.push(extractFieldTypes(lookup, calls.unwrap().type));\n }\n if (events.isSome) {\n all.push(extractFieldTypes(lookup, events.unwrap().type));\n }\n if (storage.isSome) {\n all.push(storage.unwrap().items.map(({ type }) => {\n if (type.isPlain) {\n return [lookup.getTypeDef(type.asPlain).type];\n }\n const { hashers, key, value } = type.asMap;\n return hashers.length === 1\n ? [\n lookup.getTypeDef(value).type,\n lookup.getTypeDef(key).type\n ]\n : [\n lookup.getTypeDef(value).type,\n ...lookup.getSiType(key).def.asTuple.map((t) => lookup.getTypeDef(t).type)\n ];\n }));\n }\n return all;\n }, []);\n}\n/** @internal */\nexport function getUniqTypes(registry, meta, throwError) {\n return validateTypes(registry, throwError, flattenUniq(getPalletNames(meta)));\n}\n","import { objectSpread } from '@polkadot/util';\nfunction trimDocs(docs) {\n const strings = docs.map((d) => d.toString().trim());\n const firstEmpty = strings.findIndex((d) => !d.length);\n return firstEmpty === -1\n ? strings\n : strings.slice(0, firstEmpty);\n}\n/** @internal */\nexport function toCallsOnly(registry, { extrinsic, lookup, pallets }) {\n return registry.createTypeUnsafe('MetadataLatest', [{\n extrinsic,\n lookup: {\n types: lookup.types.map(({ id, type }) => registry.createTypeUnsafe('PortableType', [{\n id,\n type: objectSpread({}, type, { docs: trimDocs(type.docs) })\n }]))\n },\n pallets: pallets.map(({ calls, index, name }) => ({\n calls: registry.createTypeUnsafe('Option<PalletCallMetadataLatest>', [calls.unwrapOr(null)]),\n index,\n name\n }))\n }]).toJSON();\n}\n","import { getSiName } from '../metadata/util/index.js';\n/** @internal */\nexport function unwrapStorageSi(type) {\n return type.isPlain\n ? type.asPlain\n : type.asMap.value;\n}\n/** @internal */\nexport function unwrapStorageType(registry, type, isOptional) {\n const outputType = getSiName(registry.lookup, unwrapStorageSi(type));\n return isOptional\n ? `Option<${outputType}>`\n : outputType;\n}\n","import { lazyMethod } from '@polkadot/util';\nexport function lazyVariants(lookup, { type }, getName, creator) {\n const result = {};\n const variants = lookup.getSiType(type).def.asVariant.variants;\n for (let i = 0, count = variants.length; i < count; i++) {\n lazyMethod(result, variants[i], creator, getName, i);\n }\n return result;\n}\n","import { DoNotConstruct, Json, Raw } from '@polkadot/types-codec';\nimport { constructTypeClass, createClassUnsafe, createTypeUnsafe } from '@polkadot/types-create';\nimport { assertReturn, formatBalance, isBn, isFunction, isNumber, isString, isU8a, lazyMethod, logger, objectSpread, stringCamelCase, stringify } from '@polkadot/util';\nimport { blake2AsU8a } from '@polkadot/util-crypto';\nimport { expandExtensionTypes, fallbackExtensions, findUnknownExtensions } from '../extrinsic/signedExtensions/index.js';\nimport { GenericEventData } from '../generic/Event.js';\nimport * as baseTypes from '../index.types.js';\nimport * as definitions from '../interfaces/definitions.js';\nimport { createCallFunction } from '../metadata/decorate/extrinsics/index.js';\nimport { decorateConstants, filterCallsSome, filterEventsSome } from '../metadata/decorate/index.js';\nimport { Metadata } from '../metadata/Metadata.js';\nimport { PortableRegistry } from '../metadata/PortableRegistry/index.js';\nimport { lazyVariants } from './lazy.js';\nconst DEFAULT_FIRST_CALL_IDX = new Uint8Array(2);\nconst l = logger('registry');\nfunction sortDecimalStrings(a, b) {\n return parseInt(a, 10) - parseInt(b, 10);\n}\nfunction valueToString(v) {\n return v.toString();\n}\nfunction getFieldArgs(lookup, fields) {\n const count = fields.length;\n const args = new Array(count);\n for (let i = 0; i < count; i++) {\n args[i] = lookup.getTypeDef(fields[i].type).type;\n }\n return args;\n}\nfunction clearRecord(record) {\n const keys = Object.keys(record);\n for (let i = 0, count = keys.length; i < count; i++) {\n delete record[keys[i]];\n }\n}\nfunction getVariantStringIdx({ index }) {\n return index.toString();\n}\nfunction injectErrors(_, { lookup, pallets }, version, result) {\n clearRecord(result);\n for (let i = 0, count = pallets.length; i < count; i++) {\n const { errors, index, name } = pallets[i];\n if (errors.isSome) {\n const sectionName = stringCamelCase(name);\n lazyMethod(result, version >= 12 ? index.toNumber() : i, () => lazyVariants(lookup, errors.unwrap(), getVariantStringIdx, ({ docs, fields, index, name }) => ({\n args: getFieldArgs(lookup, fields),\n docs: docs.map(valueToString),\n fields,\n index: index.toNumber(),\n method: name.toString(),\n name: name.toString(),\n section: sectionName\n })));\n }\n }\n}\nfunction injectEvents(registry, { lookup, pallets }, version, result) {\n const filtered = pallets.filter(filterEventsSome);\n clearRecord(result);\n for (let i = 0, count = filtered.length; i < count; i++) {\n const { events, index, name } = filtered[i];\n lazyMethod(result, version >= 12 ? index.toNumber() : i, () => lazyVariants(lookup, events.unwrap(), getVariantStringIdx, (variant) => {\n const meta = registry.createType('EventMetadataLatest', objectSpread({}, variant, { args: getFieldArgs(lookup, variant.fields) }));\n return class extends GenericEventData {\n constructor(registry, value) {\n super(registry, value, meta, stringCamelCase(name), variant.name.toString());\n }\n };\n }));\n }\n}\nfunction injectExtrinsics(registry, { lookup, pallets }, version, result, mapping) {\n const filtered = pallets.filter(filterCallsSome);\n clearRecord(result);\n clearRecord(mapping);\n for (let i = 0, count = filtered.length; i < count; i++) {\n const { calls, index, name } = filtered[i];\n const sectionIndex = version >= 12 ? index.toNumber() : i;\n const sectionName = stringCamelCase(name);\n const allCalls = calls.unwrap();\n lazyMethod(result, sectionIndex, () => lazyVariants(lookup, allCalls, getVariantStringIdx, (variant) => createCallFunction(registry, lookup, variant, sectionName, sectionIndex)));\n const { path } = registry.lookup.getSiType(allCalls.type);\n // frame_system::pallet::Call / pallet_balances::pallet::Call / polkadot_runtime_parachains::configuration::pallet::Call /\n const palletIdx = path.findIndex((v) => v.eq('pallet'));\n if (palletIdx !== -1) {\n const name = stringCamelCase(path\n .slice(0, palletIdx)\n .map((p, i) => i === 0\n // frame_system || pallet_balances\n ? p.replace(/^(frame|pallet)_/, '')\n : p)\n .join(' '));\n if (!mapping[name]) {\n mapping[name] = [sectionName];\n }\n else {\n mapping[name].push(sectionName);\n }\n }\n }\n}\nfunction extractProperties(registry, metadata) {\n const original = registry.getChainProperties();\n const constants = decorateConstants(registry, metadata.asLatest, metadata.version);\n const ss58Format = constants['system'] && (constants['system']['sS58Prefix'] || constants['system']['ss58Prefix']);\n if (!ss58Format) {\n return original;\n }\n const { isEthereum, tokenDecimals, tokenSymbol } = original || {};\n return registry.createTypeUnsafe('ChainProperties', [{ isEthereum, ss58Format, tokenDecimals, tokenSymbol }]);\n}\nexport class TypeRegistry {\n #chainProperties;\n #classes = new Map();\n #definitions = new Map();\n #firstCallIndex = null;\n #hasher = blake2AsU8a;\n #knownTypes = {};\n #lookup;\n #metadata;\n #metadataVersion = 0;\n #signedExtensions = fallbackExtensions;\n #unknownTypes = new Map();\n #userExtensions;\n #knownDefaults;\n #knownDefaultsEntries;\n #knownDefinitions;\n #metadataCalls = {};\n #metadataErrors = {};\n #metadataEvents = {};\n #moduleMap = {};\n createdAtHash;\n constructor(createdAtHash) {\n this.#knownDefaults = new Map(Object.entries({ Json, Metadata, PortableRegistry, Raw, ...baseTypes }));\n this.#knownDefaultsEntries = Array.from(this.#knownDefaults.entries());\n this.#knownDefinitions = definitions;\n const allKnown = Object.values(this.#knownDefinitions);\n for (let i = 0, count = allKnown.length; i < count; i++) {\n this.register(allKnown[i].types);\n }\n if (createdAtHash) {\n this.createdAtHash = this.createType('BlockHash', createdAtHash);\n }\n }\n get chainDecimals() {\n if (this.#chainProperties?.tokenDecimals.isSome) {\n const allDecimals = this.#chainProperties.tokenDecimals.unwrap();\n if (allDecimals.length) {\n return allDecimals.map((b) => b.toNumber());\n }\n }\n return [12];\n }\n get chainIsEthereum() {\n return this.#chainProperties?.isEthereum.isTrue || false;\n }\n get chainSS58() {\n return this.#chainProperties?.ss58Format.isSome\n ? this.#chainProperties.ss58Format.unwrap().toNumber()\n : undefined;\n }\n get chainTokens() {\n if (this.#chainProperties?.tokenSymbol.isSome) {\n const allTokens = this.#chainProperties.tokenSymbol.unwrap();\n if (allTokens.length) {\n return allTokens.map(valueToString);\n }\n }\n return [formatBalance.getDefaults().unit];\n }\n get firstCallIndex() {\n return this.#firstCallIndex || DEFAULT_FIRST_CALL_IDX;\n }\n /**\n * @description Returns true if the type is in a Compat format\n */\n isLookupType(value) {\n return /Lookup\\d+$/.test(value);\n }\n /**\n * @description Creates a lookup string from the supplied id\n */\n createLookupType(lookupId) {\n return `Lookup${typeof lookupId === 'number' ? lookupId : lookupId.toNumber()}`;\n }\n get knownTypes() {\n return this.#knownTypes;\n }\n get lookup() {\n return assertReturn(this.#lookup, 'PortableRegistry has not been set on this registry');\n }\n get metadata() {\n return assertReturn(this.#metadata, 'Metadata has not been set on this registry');\n }\n get unknownTypes() {\n return [...this.#unknownTypes.keys()];\n }\n get signedExtensions() {\n return this.#signedExtensions;\n }\n clearCache() {\n this.#classes = new Map();\n }\n /**\n * @describe Creates an instance of the class\n */\n createClass(type) {\n return createClassUnsafe(this, type);\n }\n /**\n * @describe Creates an instance of the class\n */\n createClassUnsafe(type) {\n return createClassUnsafe(this, type);\n }\n /**\n * @description Creates an instance of a type as registered\n */\n createType(type, ...params) {\n return createTypeUnsafe(this, type, params);\n }\n /**\n * @description Creates an instance of a type as registered\n */\n createTypeUnsafe(type, params, options) {\n return createTypeUnsafe(this, type, params, options);\n }\n // find a specific call\n findMetaCall(callIndex) {\n const [section, method] = [callIndex[0], callIndex[1]];\n return assertReturn(this.#metadataCalls[`${section}`] && this.#metadataCalls[`${section}`][`${method}`], () => `findMetaCall: Unable to find Call with index [${section}, ${method}]/[${callIndex.toString()}]`);\n }\n // finds an error\n findMetaError(errorIndex) {\n const [section, method] = isU8a(errorIndex)\n ? [errorIndex[0], errorIndex[1]]\n : [\n errorIndex.index.toNumber(),\n isU8a(errorIndex.error)\n ? errorIndex.error[0]\n : errorIndex.error.toNumber()\n ];\n return assertReturn(this.#metadataErrors[`${section}`] && this.#metadataErrors[`${section}`][`${method}`], () => `findMetaError: Unable to find Error with index [${section}, ${method}]/[${errorIndex.toString()}]`);\n }\n findMetaEvent(eventIndex) {\n const [section, method] = [eventIndex[0], eventIndex[1]];\n return assertReturn(this.#metadataEvents[`${section}`] && this.#metadataEvents[`${section}`][`${method}`], () => `findMetaEvent: Unable to find Event with index [${section}, ${method}]/[${eventIndex.toString()}]`);\n }\n get(name, withUnknown, knownTypeDef) {\n return this.getUnsafe(name, withUnknown, knownTypeDef);\n }\n getUnsafe(name, withUnknown, knownTypeDef) {\n let Type = this.#classes.get(name) || this.#knownDefaults.get(name);\n // we have not already created the type, attempt it\n if (!Type) {\n const definition = this.#definitions.get(name);\n let BaseType;\n // we have a definition, so create the class now (lazily)\n if (definition) {\n BaseType = createClassUnsafe(this, definition);\n }\n else if (knownTypeDef) {\n BaseType = constructTypeClass(this, knownTypeDef);\n }\n else if (withUnknown) {\n l.warn(`Unable to resolve type ${name}, it will fail on construction`);\n this.#unknownTypes.set(name, true);\n BaseType = DoNotConstruct.with(name);\n }\n if (BaseType) {\n // NOTE If we didn't extend here, we would have strange artifacts. An example is\n // Balance, with this, new Balance() instanceof u128 is true, but Balance !== u128\n // Additionally, we now pass through the registry, which is a link to ourselves\n Type = class extends BaseType {\n };\n this.#classes.set(name, Type);\n // In the case of lookups, we also want to store the actual class against\n // the lookup name, instad of having to traverse again\n if (knownTypeDef && isNumber(knownTypeDef.lookupIndex)) {\n this.#classes.set(this.createLookupType(knownTypeDef.lookupIndex), Type);\n }\n }\n }\n return Type;\n }\n getChainProperties() {\n return this.#chainProperties;\n }\n getClassName(Type) {\n // we cannot rely on export order (anymore, since babel/core 7.15.8), so in the case of\n // items such as u32 & U32, we get the lowercase versions here... not quite as optimal\n // (previously this used to be a simple find & return)\n const names = [];\n for (const [name, Clazz] of this.#knownDefaultsEntries) {\n if (Type === Clazz) {\n names.push(name);\n }\n }\n for (const [name, Clazz] of this.#classes.entries()) {\n if (Type === Clazz) {\n names.push(name);\n }\n }\n return names.length\n // both sort and reverse are done in-place\n // ['U32', 'u32'] -> ['u32', 'U32']\n ? names.sort().reverse()[0]\n : undefined;\n }\n getDefinition(typeName) {\n return this.#definitions.get(typeName);\n }\n getModuleInstances(specName, moduleName) {\n return this.#knownTypes?.typesBundle?.spec?.[specName.toString()]?.instances?.[moduleName] || this.#moduleMap[moduleName];\n }\n getOrThrow(name) {\n const Clazz = this.get(name);\n if (!Clazz) {\n throw new Error(`type ${name} not found`);\n }\n return Clazz;\n }\n getOrUnknown(name) {\n return this.get(name, true);\n }\n // Only used in extrinsic version 5\n getTransactionExtensionVersion() {\n return 0;\n }\n getSignedExtensionExtra() {\n return expandExtensionTypes(this.#signedExtensions, 'payload', this.#userExtensions);\n }\n getSignedExtensionTypes() {\n return expandExtensionTypes(this.#signedExtensions, 'extrinsic', this.#userExtensions);\n }\n hasClass(name) {\n return this.#classes.has(name) || !!this.#knownDefaults.has(name);\n }\n hasDef(name) {\n return this.#definitions.has(name);\n }\n hasType(name) {\n return !this.#unknownTypes.get(name) && (this.hasClass(name) || this.hasDef(name));\n }\n hash(data) {\n return this.createType('CodecHash', this.#hasher(data));\n }\n // eslint-disable-next-line no-dupe-class-members\n register(arg1, arg2) {\n // NOTE Constructors appear as functions here\n if (isFunction(arg1)) {\n this.#classes.set(arg1.name, arg1);\n }\n else if (isString(arg1)) {\n if (!isFunction(arg2)) {\n throw new Error(`Expected class definition passed to '${arg1}' registration`);\n }\n else if (arg1 === arg2.toString()) {\n throw new Error(`Unable to register circular ${arg1} === ${arg1}`);\n }\n this.#classes.set(arg1, arg2);\n }\n else {\n this.#registerObject(arg1);\n }\n }\n #registerObject = (obj) => {\n const entries = Object.entries(obj);\n for (let e = 0, count = entries.length; e < count; e++) {\n const [name, type] = entries[e];\n if (isFunction(type)) {\n // This _looks_ a bit funny, but `typeof Clazz === 'function'\n this.#classes.set(name, type);\n }\n else {\n const def = isString(type)\n ? type\n : stringify(type);\n if (name === def) {\n throw new Error(`Unable to register circular ${name} === ${def}`);\n }\n // we already have this type, remove the classes registered for it\n if (this.#classes.has(name)) {\n this.#classes.delete(name);\n }\n this.#definitions.set(name, def);\n }\n }\n };\n // sets the chain properties\n setChainProperties(properties) {\n if (properties) {\n this.#chainProperties = properties;\n }\n }\n setHasher(hasher) {\n this.#hasher = hasher || blake2AsU8a;\n }\n setKnownTypes(knownTypes) {\n this.#knownTypes = knownTypes;\n }\n setLookup(lookup) {\n this.#lookup = lookup;\n // register all applicable types found\n lookup.register();\n }\n // register alias types alongside the portable/lookup setup\n // (we don't combine this into setLookup since that would/could\n // affect stand-along lookups, such as ABIs which don't have\n // actual on-chain metadata)\n #registerLookup = (lookup) => {\n // attach the lookup before we register any types\n this.setLookup(lookup);\n // we detect based on runtime configuration\n let Weight = null;\n if (this.hasType('SpWeightsWeightV2Weight')) {\n // detection for WeightV2 type based on latest naming\n const weightv2 = this.createType('SpWeightsWeightV2Weight');\n Weight = weightv2.refTime && weightv2.proofSize\n // with both refTime & proofSize we use as-is (WeightV2)\n ? 'SpWeightsWeightV2Weight'\n // fallback to WeightV1 (WeightV1.5 is a struct, single field)\n : 'WeightV1';\n }\n else if (!isBn(this.createType('Weight'))) {\n // where we have an already-supplied BN override, we don't clobber\n // it with our detected value (This protects against pre-defines\n // where Weight may be aliassed to WeightV0, e.g. in early Kusama chains)\n Weight = 'WeightV1';\n }\n if (Weight) {\n // we have detected a version, adjust the definition\n this.register({ Weight });\n }\n };\n // sets the metadata\n setMetadata(metadata, signedExtensions, userExtensions, noInitWarn) {\n this.#metadata = metadata.asLatest;\n this.#metadataVersion = metadata.version;\n this.#firstCallIndex = null;\n // attach the lookup at this point and register relevant types (before injecting)\n this.#registerLookup(this.#metadata.lookup);\n injectExtrinsics(this, this.#metadata, this.#metadataVersion, this.#metadataCalls, this.#moduleMap);\n injectErrors(this, this.#metadata, this.#metadataVersion, this.#metadataErrors);\n injectEvents(this, this.#metadata, this.#metadataVersion, this.#metadataEvents);\n // set the default call index (the lowest section, the lowest method)\n // in most chains this should be 0,0\n const [defSection] = Object\n .keys(this.#metadataCalls)\n .sort(sortDecimalStrings);\n if (defSection) {\n const [defMethod] = Object\n .keys(this.#metadataCalls[defSection])\n .sort(sortDecimalStrings);\n if (defMethod) {\n this.#firstCallIndex = new Uint8Array([parseInt(defSection, 10), parseInt(defMethod, 10)]);\n }\n }\n // setup the available extensions\n this.setSignedExtensions(signedExtensions || (this.#metadata.extrinsic.versions.length > 0 && this.#metadata.extrinsic.versions.every((value) => value > 0)\n // FIXME Use the extension and their injected types\n ? this.#metadata.extrinsic.transactionExtensions.map(({ identifier }) => identifier.toString())\n : fallbackExtensions), userExtensions, noInitWarn);\n // setup the chain properties with format overrides\n this.setChainProperties(extractProperties(this, metadata));\n }\n // sets the available signed extensions\n setSignedExtensions(signedExtensions = fallbackExtensions, userExtensions, noInitWarn) {\n this.#signedExtensions = signedExtensions;\n this.#userExtensions = userExtensions;\n if (!noInitWarn) {\n const unknown = findUnknownExtensions(this.#signedExtensions, this.#userExtensions);\n if (unknown.length) {\n l.warn(`Unknown signed extensions ${unknown.join(', ')} found, treating them as no-effect`);\n }\n }\n }\n}\n","import { objectSpread } from '@polkadot/util';\nimport { polkadot } from './polkadot.js';\nimport { shell } from './shell.js';\nimport { statemint } from './statemint.js';\nimport { substrate } from './substrate.js';\nexport const allExtensions = objectSpread({}, substrate, polkadot, shell, statemint);\nexport const fallbackExtensions = [\n 'CheckVersion',\n 'CheckGenesis',\n 'CheckEra',\n 'CheckNonce',\n 'CheckWeight',\n 'ChargeTransactionPayment',\n 'CheckBlockGasLimit'\n];\nexport function findUnknownExtensions(extensions, userExtensions = {}) {\n const names = [...Object.keys(allExtensions), ...Object.keys(userExtensions)];\n return extensions.filter((k) => !names.includes(k));\n}\nexport function expandExtensionTypes(extensions, type, userExtensions = {}) {\n return extensions\n // Always allow user extensions first - these should provide overrides\n .map((k) => userExtensions[k] || allExtensions[k])\n .filter((info) => !!info)\n .reduce((result, info) => objectSpread(result, info[type]), {});\n}\n","export const emptyCheck = {\n extrinsic: {},\n payload: {}\n};\n","import { emptyCheck } from './emptyCheck.js';\nexport const polkadot = {\n LimitParathreadCommits: emptyCheck,\n OnlyStakingAndClaims: emptyCheck,\n PrevalidateAttests: emptyCheck,\n RestrictFunctionality: emptyCheck,\n TransactionCallFilter: emptyCheck,\n ValidateDoubleVoteReports: emptyCheck\n};\n","import { emptyCheck } from './emptyCheck.js';\nexport const shell = {\n DisallowSigned: emptyCheck\n};\n","export const statemint = {\n ChargeAssetTxPayment: {\n extrinsic: {\n tip: 'Compact<Balance>',\n // eslint-disable-next-line sort-keys\n assetId: 'TAssetConversion'\n },\n payload: {}\n }\n};\n","import { emptyCheck } from './emptyCheck.js';\nconst CheckMetadataHash = {\n extrinsic: {\n mode: 'u8'\n },\n payload: {\n metadataHash: 'Option<[u8;32]>'\n }\n};\nconst CheckMortality = {\n extrinsic: {\n era: 'ExtrinsicEra'\n },\n payload: {\n blockHash: 'Hash'\n }\n};\nconst ChargeTransactionPayment = {\n extrinsic: {\n tip: 'Compact<Balance>'\n },\n payload: {}\n};\nexport const substrate = {\n ChargeTransactionPayment,\n CheckBlockGasLimit: emptyCheck,\n CheckEra: CheckMortality,\n CheckGenesis: {\n extrinsic: {},\n payload: {\n genesisHash: 'Hash'\n }\n },\n CheckMetadataHash,\n CheckMortality,\n CheckNonZeroSender: emptyCheck,\n CheckNonce: {\n extrinsic: {\n nonce: 'Compact<Index>'\n },\n payload: {}\n },\n CheckSpecVersion: {\n extrinsic: {},\n payload: {\n specVersion: 'u32'\n }\n },\n CheckTxVersion: {\n extrinsic: {},\n payload: {\n transactionVersion: 'u32'\n }\n },\n CheckVersion: {\n extrinsic: {},\n payload: {\n specVersion: 'u32'\n }\n },\n CheckWeight: emptyCheck,\n LockStakingStatus: emptyCheck,\n SkipCheckIfFeeless: ChargeTransactionPayment,\n ValidateEquivocationReport: emptyCheck,\n WeightReclaim: emptyCheck\n};\n","import { Null, Struct, Tuple } from '@polkadot/types-codec';\nimport { objectProperties, objectSpread } from '@polkadot/util';\n/** @internal */\nfunction decodeEvent(registry, value) {\n if (!value?.length) {\n return { DataType: Null };\n }\n const index = value.subarray(0, 2);\n return {\n DataType: registry.findMetaEvent(index),\n value: {\n data: value.subarray(2),\n index\n }\n };\n}\n/**\n * @name GenericEventData\n * @description\n * Wrapper for the actual data that forms part of an [[Event]]\n */\nexport class GenericEventData extends Tuple {\n #meta;\n #method;\n #names = null;\n #section;\n #typeDef;\n constructor(registry, value, meta, section = '<unknown>', method = '<unknown>') {\n const fields = meta?.fields || [];\n super(registry, fields.map(({ type }) => registry.createLookupType(type)), value);\n this.#meta = meta;\n this.#method = method;\n this.#section = section;\n this.#typeDef = fields.map(({ type }) => registry.lookup.getTypeDef(type));\n const names = fields\n .map(({ name }) => registry.lookup.sanitizeField(name)[0])\n .filter((n) => !!n);\n if (names.length === fields.length) {\n this.#names = names;\n objectProperties(this, names, (_, i) => this[i]);\n }\n }\n /**\n * @description The wrapped [[EventMetadata]]\n */\n get meta() {\n return this.#meta;\n }\n /**\n * @description The method as a string\n */\n get method() {\n return this.#method;\n }\n /**\n * @description The field names (as available)\n */\n get names() {\n return this.#names;\n }\n /**\n * @description The section as a string\n */\n get section() {\n return this.#section;\n }\n /**\n * @description The [[TypeDef]] for this event\n */\n get typeDef() {\n return this.#typeDef;\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman(isExtended, disableAscii) {\n if (this.#names !== null) {\n const json = {};\n for (let i = 0, count = this.#names.length; i < count; i++) {\n json[this.#names[i]] = this[i].toHuman(isExtended, disableAscii);\n }\n return json;\n }\n return super.toHuman(isExtended);\n }\n}\n/**\n * @name GenericEvent\n * @description\n * A representation of a system event. These are generated via the [[Metadata]] interfaces and\n * specific to a specific Substrate runtime\n */\nexport class GenericEvent extends Struct {\n // Currently we _only_ decode from Uint8Array, since we expect it to\n // be used via EventRecord\n constructor(registry, _value) {\n const { DataType, value } = decodeEvent(registry, _value);\n super(registry, {\n index: 'EventId',\n // eslint-disable-next-line sort-keys\n data: DataType\n }, value);\n }\n /**\n * @description The wrapped [[EventData]]\n */\n get data() {\n return this.getT('data');\n }\n /**\n * @description The [[EventId]], identifying the raw event\n */\n get index() {\n return this.getT('index');\n }\n /**\n * @description The [[EventMetadata]] with the documentation\n */\n get meta() {\n return this.data.meta;\n }\n /**\n * @description The method string identifying the event\n */\n get method() {\n return this.data.method;\n }\n /**\n * @description The section string identifying the event\n */\n get section() {\n return this.data.section;\n }\n /**\n * @description The [[TypeDef]] for the event\n */\n get typeDef() {\n return this.data.typeDef;\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman(isExpanded, disableAscii) {\n return objectSpread({\n method: this.method,\n section: this.section\n }, isExpanded\n ? { docs: this.meta.docs.map((d) => d.toString()) }\n : null, super.toHuman(isExpanded, disableAscii));\n }\n}\n","export * from './extrinsic/index.js';\nexport * from './generic/index.js';\nexport * from './primitive/index.js';\n","import { AbstractBase } from '@polkadot/types-codec';\nimport { compactAddLength, compactFromU8a, compactToU8a, isHex, isU8a, objectProperty, objectSpread, u8aConcat, u8aToHex, u8aToU8a } from '@polkadot/util';\nimport { BARE_EXTRINSIC, BIT_SIGNED, BIT_UNSIGNED, DEFAULT_PREAMBLE, GENERAL_EXTRINSIC, LATEST_EXTRINSIC_VERSION, LOWEST_SUPPORTED_EXTRINSIC_FORMAT_VERSION, TYPE_MASK, VERSION_MASK } from './constants.js';\nconst VERSIONS = [\n 'ExtrinsicUnknown', // v0 is unknown\n 'ExtrinsicUnknown',\n 'ExtrinsicUnknown',\n 'ExtrinsicUnknown',\n 'ExtrinsicV4',\n 'ExtrinsicV5'\n];\nconst PREAMBLE = {\n bare: 'ExtrinsicV5',\n general: 'GeneralExtrinsic'\n};\nconst PreambleMask = {\n bare: BARE_EXTRINSIC,\n general: GENERAL_EXTRINSIC\n};\nconst preambleUnMask = {\n 0: 'bare',\n // eslint-disable-next-line sort-keys\n 64: 'general'\n};\nexport { LATEST_EXTRINSIC_VERSION };\n/** @internal */\nfunction newFromValue(registry, value, version, preamble) {\n if (value instanceof GenericExtrinsic) {\n return value.unwrap();\n }\n const isSigned = (version & BIT_SIGNED) === BIT_SIGNED;\n const type = (version & VERSION_MASK) === 5 ? PREAMBLE[preamble] : VERSIONS[version & VERSION_MASK] || VERSIONS[0];\n // we cast here since the VERSION definition is incredibly broad - we don't have a\n // slice for \"only add extrinsic types\", and more string definitions become unwieldy\n return registry.createTypeUnsafe(type, [value, { isSigned, version }]);\n}\n/** @internal */\nfunction decodeExtrinsic(registry, value, version = LOWEST_SUPPORTED_EXTRINSIC_FORMAT_VERSION, preamble = DEFAULT_PREAMBLE) {\n if (isU8a(value) || Array.isArray(value) || isHex(value)) {\n return decodeU8a(registry, u8aToU8a(value), version, preamble);\n }\n else if (value instanceof registry.createClassUnsafe('Call')) {\n return newFromValue(registry, { method: value }, version, preamble);\n }\n return newFromValue(registry, value, version, preamble);\n}\n/** @internal */\nfunction decodeU8a(registry, value, version, preamble) {\n if (!value.length) {\n return newFromValue(registry, new Uint8Array(), version, preamble);\n }\n const [offset, length] = compactFromU8a(value);\n const total = offset + length.toNumber();\n if (total > value.length) {\n throw new Error(`Extrinsic: length less than remainder, expected at least ${total}, found ${value.length}`);\n }\n const data = value.subarray(offset, total);\n const unmaskedPreamble = data[0] & TYPE_MASK;\n if (preambleUnMask[`${unmaskedPreamble}`] === 'general') {\n // NOTE: GeneralExtrinsic needs to have the full data to validate the preamble and version\n return newFromValue(registry, value, data[0], preambleUnMask[`${unmaskedPreamble}`] || preamble);\n }\n else {\n return newFromValue(registry, data.subarray(1), data[0], preambleUnMask[`${unmaskedPreamble}`] || preamble);\n }\n}\nclass ExtrinsicBase extends AbstractBase {\n #preamble;\n constructor(registry, value, initialU8aLength, preamble) {\n super(registry, value, initialU8aLength);\n const signKeys = Object.keys(registry.getSignedExtensionTypes());\n if (this.version === 5 && preamble !== 'general') {\n const getter = (key) => this.inner.signature[key];\n // This is on the abstract class, ensuring that hasOwnProperty operates\n // correctly, i.e. it needs to be on the base class exposing it\n for (let i = 0, count = signKeys.length; i < count; i++) {\n objectProperty(this, signKeys[i], getter);\n }\n }\n const unmaskedPreamble = this.type & TYPE_MASK;\n this.#preamble = preamble || preambleUnMask[`${unmaskedPreamble}`];\n }\n isGeneral() {\n return this.#preamble === 'general';\n }\n /**\n * @description The arguments passed to for the call, exposes args so it is compatible with [[Call]]\n */\n get args() {\n return this.method.args;\n }\n /**\n * @description The argument definitions, compatible with [[Call]]\n */\n get argsDef() {\n return this.method.argsDef;\n }\n /**\n * @description The actual `[sectionIndex, methodIndex]` as used in the Call\n */\n get callIndex() {\n return this.method.callIndex;\n }\n /**\n * @description The actual data for the Call\n */\n get data() {\n return this.method.data;\n }\n /**\n * @description The era for this extrinsic\n */\n get era() {\n return this.isGeneral()\n ? this.inner.era\n : this.inner.signature.era;\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n return this.toU8a().length;\n }\n /**\n * @description `true` id the extrinsic is signed\n */\n get isSigned() {\n return this.isGeneral()\n ? false\n : this.inner.signature.isSigned;\n }\n /**\n * @description The length of the actual data, excluding prefix\n */\n get length() {\n return this.toU8a(true).length;\n }\n /**\n * @description The [[FunctionMetadataLatest]] that describes the extrinsic\n */\n get meta() {\n return this.method.meta;\n }\n /**\n * @description The [[Call]] this extrinsic wraps\n */\n get method() {\n return this.inner.method;\n }\n /**\n * @description The nonce for this extrinsic\n */\n get nonce() {\n return this.isGeneral()\n ? this.inner.nonce\n : this.inner.signature.nonce;\n }\n /**\n * @description The actual [[EcdsaSignature]], [[Ed25519Signature]] or [[Sr25519Signature]]\n */\n get signature() {\n if (this.isGeneral()) {\n throw new Error('Extrinsic: GeneralExtrinsic does not have signature implemented');\n }\n return this.inner.signature.signature;\n }\n /**\n * @description The [[Address]] that signed\n */\n get signer() {\n if (this.isGeneral()) {\n throw new Error('Extrinsic: GeneralExtrinsic does not have signer implemented');\n }\n return this.inner.signature.signer;\n }\n /**\n * @description Forwards compat\n */\n get tip() {\n return this.isGeneral()\n ? this.inner.tip\n : this.inner.signature.tip;\n }\n /**\n * @description Forward compat\n */\n get assetId() {\n return this.isGeneral()\n ? this.inner.assetId\n : this.inner.signature.assetId;\n }\n /**\n * @description Forward compat\n */\n get metadataHash() {\n return this.isGeneral()\n ? this.inner.metadataHash\n : this.inner.signature.metadataHash;\n }\n /**\n * @description Forward compat\n */\n get mode() {\n return this.isGeneral()\n ? this.inner.mode\n : this.inner.signature.mode;\n }\n /**\n * @description Returns the raw transaction version (not flagged with signing information)\n */\n get type() {\n return this.inner.version;\n }\n get inner() {\n return this.unwrap();\n }\n /**\n * @description Returns the encoded version flag\n */\n get version() {\n if (this.type <= LOWEST_SUPPORTED_EXTRINSIC_FORMAT_VERSION) {\n return this.type | (this.isSigned ? BIT_SIGNED : BIT_UNSIGNED);\n }\n else {\n if (this.isSigned) {\n throw new Error('Signed Extrinsics are currently only available for ExtrinsicV4');\n }\n return this.type | (this.isGeneral() ? PreambleMask.general : PreambleMask.bare);\n }\n }\n /**\n * @description Checks if the source matches this in type\n */\n is(other) {\n return this.method.is(other);\n }\n unwrap() {\n return super.unwrap();\n }\n}\n/**\n * @name GenericExtrinsic\n * @description\n * Representation of an Extrinsic in the system. It contains the actual call,\n * (optional) signature and encodes with an actual length prefix\n *\n * {@link https://github.com/paritytech/wiki/blob/master/Extrinsic.md#the-extrinsic-format-for-node}.\n *\n * Can be:\n * - signed, to create a transaction\n * - left as is, to create an inherent\n */\nexport class GenericExtrinsic extends ExtrinsicBase {\n #hashCache;\n static LATEST_EXTRINSIC_VERSION = LATEST_EXTRINSIC_VERSION;\n constructor(registry, value, { preamble, version } = {}) {\n const versionsLength = registry.metadata.extrinsic.versions.length;\n // TODO: Once ExtrinsicV5 is fully supported update this to use the highest supported verion which is the last item of the array\n const supportedVersion = versionsLength ? registry.metadata.extrinsic.versions[0] : undefined;\n super(registry, decodeExtrinsic(registry, value, version || supportedVersion, preamble), undefined, preamble);\n }\n /**\n * @description returns a hash of the contents\n */\n get hash() {\n if (!this.#hashCache) {\n this.#hashCache = super.hash;\n }\n return this.#hashCache;\n }\n /**\n * @description Injects an already-generated signature into the extrinsic\n */\n addSignature(signer, signature, payload) {\n this.inner.addSignature(signer, signature, payload);\n this.#hashCache = undefined;\n return this;\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n const encoded = u8aConcat(...this.toU8aInner());\n return {\n inner: this.isSigned\n ? this.inner.inspect().inner\n : this.inner.method.inspect().inner,\n outer: [compactToU8a(encoded.length), new Uint8Array([this.version])]\n };\n }\n /**\n * @description Sign the extrinsic with a specific keypair\n */\n sign(account, options) {\n this.inner.sign(account, options);\n this.#hashCache = undefined;\n return this;\n }\n /**\n * @describe Adds a fake signature to the extrinsic\n */\n signFake(signer, options) {\n this.inner.signFake(signer, options);\n this.#hashCache = undefined;\n return this;\n }\n /**\n * @description Returns a hex string representation of the value\n */\n toHex(isBare) {\n return u8aToHex(this.toU8a(isBare));\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman(isExpanded, disableAscii) {\n return objectSpread({}, {\n isSigned: this.isSigned,\n method: this.method.toHuman(isExpanded, disableAscii)\n }, this.isSigned\n ? {\n assetId: this.assetId ? this.assetId.toHuman(isExpanded, disableAscii) : null,\n era: this.era.toHuman(isExpanded, disableAscii),\n metadataHash: this.metadataHash ? this.metadataHash.toHex() : null,\n mode: this.mode ? this.mode.toHuman() : null,\n nonce: this.nonce.toHuman(isExpanded, disableAscii),\n signature: this.signature.toHex(),\n signer: this.signer.toHuman(isExpanded, disableAscii),\n tip: this.tip.toHuman(isExpanded, disableAscii)\n }\n : null);\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n return this.toHex();\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'Extrinsic';\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n * @param isBare true when the value is not length-prefixed\n */\n toU8a(isBare) {\n const encoded = u8aConcat(...this.toU8aInner());\n return isBare\n ? encoded\n : compactAddLength(encoded);\n }\n toU8aInner() {\n // we do not apply bare to the internal values, rather this only determines out length addition,\n // where we strip all lengths this creates an extrinsic that cannot be decoded\n return [\n new Uint8Array([this.version]),\n this.inner.toU8a()\n ];\n }\n}\n","export const BIT_SIGNED = 0b10000000;\nexport const BIT_UNSIGNED = 0;\nexport const EMPTY_U8A = new Uint8Array();\nexport const IMMORTAL_ERA = new Uint8Array([0]);\nexport const UNMASK_VERSION = 0b01111111;\nexport const DEFAULT_PREAMBLE = 'bare';\nexport const LATEST_EXTRINSIC_VERSION = 4;\nexport const VERSION_MASK = 0b00111111;\nexport const TYPE_MASK = 0b11000000;\nexport const BARE_EXTRINSIC = 0b00000000;\nexport const GENERAL_EXTRINSIC = 0b01000000;\nexport const LOWEST_SUPPORTED_EXTRINSIC_FORMAT_VERSION = 4;\n","import { Enum, Raw, Tuple, U64 } from '@polkadot/types-codec';\nimport { bnToBn, formatNumber, hexToU8a, isHex, isObject, isU8a, u8aToBn, u8aToU8a } from '@polkadot/util';\nimport { IMMORTAL_ERA } from './constants.js';\nfunction getTrailingZeros(period) {\n const binary = period.toString(2);\n let index = 0;\n while (binary[binary.length - 1 - index] === '0') {\n index++;\n }\n return index;\n}\n/** @internal */\nfunction decodeMortalEra(registry, value) {\n if (isU8a(value) || isHex(value) || Array.isArray(value)) {\n return decodeMortalU8a(registry, u8aToU8a(value));\n }\n else if (!value) {\n return [new U64(registry), new U64(registry)];\n }\n else if (isObject(value)) {\n return decodeMortalObject(registry, value);\n }\n throw new Error('Invalid data passed to Mortal era');\n}\n/** @internal */\nfunction decodeMortalObject(registry, value) {\n const { current, period } = value;\n let calPeriod = Math.pow(2, Math.ceil(Math.log2(period)));\n calPeriod = Math.min(Math.max(calPeriod, 4), 1 << 16);\n const phase = current % calPeriod;\n const quantizeFactor = Math.max(calPeriod >> 12, 1);\n const quantizedPhase = phase / quantizeFactor * quantizeFactor;\n return [new U64(registry, calPeriod), new U64(registry, quantizedPhase)];\n}\n/** @internal */\nfunction decodeMortalU8a(registry, value) {\n if (value.length === 0) {\n return [new U64(registry), new U64(registry)];\n }\n const first = u8aToBn(value.subarray(0, 1)).toNumber();\n const second = u8aToBn(value.subarray(1, 2)).toNumber();\n const encoded = first + (second << 8);\n const period = 2 << (encoded % (1 << 4));\n const quantizeFactor = Math.max(period >> 12, 1);\n const phase = (encoded >> 4) * quantizeFactor;\n if (period < 4 || phase >= period) {\n throw new Error('Invalid data passed to Mortal era');\n }\n return [new U64(registry, period), new U64(registry, phase)];\n}\n/** @internal */\nfunction decodeExtrinsicEra(value = new Uint8Array()) {\n if (isU8a(value)) {\n return (!value.length || value[0] === 0)\n ? new Uint8Array([0])\n : new Uint8Array([1, value[0], value[1]]);\n }\n else if (!value) {\n return new Uint8Array([0]);\n }\n else if (value instanceof GenericExtrinsicEra) {\n return decodeExtrinsicEra(value.toU8a());\n }\n else if (isHex(value)) {\n return decodeExtrinsicEra(hexToU8a(value));\n }\n else if (isObject(value)) {\n const entries = Object.entries(value).map(([k, v]) => [k.toLowerCase(), v]);\n const mortal = entries.find(([k]) => k.toLowerCase() === 'mortalera');\n const immortal = entries.find(([k]) => k.toLowerCase() === 'immortalera');\n // this is to de-serialize from JSON\n return mortal\n ? { MortalEra: mortal[1] }\n : immortal\n ? { ImmortalEra: immortal[1] }\n : { MortalEra: value };\n }\n throw new Error('Invalid data passed to Era');\n}\n/**\n * @name ImmortalEra\n * @description\n * The ImmortalEra for an extrinsic\n */\nexport class ImmortalEra extends Raw {\n constructor(registry, _value) {\n // For immortals, we always provide the known value (i.e. treated as a\n // constant no matter how it is constructed - it is a fixed structure)\n super(registry, IMMORTAL_ERA);\n }\n}\n/**\n * @name MortalEra\n * @description\n * The MortalEra for an extrinsic, indicating period and phase\n */\nexport class MortalEra extends Tuple {\n constructor(registry, value) {\n super(registry, {\n period: U64,\n phase: U64\n }, decodeMortalEra(registry, value));\n }\n /**\n * @description Encoded length for mortals occupy 2 bytes, different from the actual Tuple since it is encoded. This is a shortcut fro `toU8a().length`\n */\n get encodedLength() {\n return 2 | 0;\n }\n /**\n * @description The period of this Mortal wraps as a [[U64]]\n */\n get period() {\n return this[0];\n }\n /**\n * @description The phase of this Mortal wraps as a [[U64]]\n */\n get phase() {\n return this[1];\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman() {\n return {\n period: formatNumber(this.period),\n phase: formatNumber(this.phase)\n };\n }\n /**\n * @description Returns a JSON representation of the actual value\n */\n toJSON() {\n return this.toHex();\n }\n /**\n * @description Encodes the value as a Uint8Array as per the parity-codec specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n * Period and phase are encoded:\n * - The period of validity from the block hash found in the signing material.\n * - The phase in the period that this transaction's lifetime begins (and, importantly,\n * implies which block hash is included in the signature material). If the `period` is\n * greater than 1 << 12, then it will be a factor of the times greater than 1<<12 that\n * `period` is.\n */\n toU8a(_isBare) {\n const period = this.period.toNumber();\n const encoded = Math.min(15, Math.max(1, getTrailingZeros(period) - 1)) + ((this.phase.toNumber() / Math.max(period >> 12, 1)) << 4);\n return new Uint8Array([\n encoded & 0xff,\n encoded >> 8\n ]);\n }\n /**\n * @description Get the block number of the start of the era whose properties this object describes that `current` belongs to.\n */\n birth(current) {\n const phase = this.phase.toNumber();\n const period = this.period.toNumber();\n // FIXME No toNumber() here\n return (~~((Math.max(bnToBn(current).toNumber(), phase) - phase) / period) * period) + phase;\n }\n /**\n * @description Get the block number of the first block at which the era has ended.\n */\n death(current) {\n // FIXME No toNumber() here\n return this.birth(current) + this.period.toNumber();\n }\n}\n/**\n * @name GenericExtrinsicEra\n * @description\n * The era for an extrinsic, indicating either a mortal or immortal extrinsic\n */\nexport class GenericExtrinsicEra extends Enum {\n constructor(registry, value) {\n super(registry, {\n ImmortalEra,\n MortalEra\n }, decodeExtrinsicEra(value));\n }\n /**\n * @description Override the encoded length method\n */\n get encodedLength() {\n return this.isImmortalEra\n ? this.asImmortalEra.encodedLength\n : this.asMortalEra.encodedLength;\n }\n /**\n * @description Returns the item as a [[ImmortalEra]]\n */\n get asImmortalEra() {\n if (!this.isImmortalEra) {\n throw new Error(`Cannot convert '${this.type}' via asImmortalEra`);\n }\n return this.inner;\n }\n /**\n * @description Returns the item as a [[MortalEra]]\n */\n get asMortalEra() {\n if (!this.isMortalEra) {\n throw new Error(`Cannot convert '${this.type}' via asMortalEra`);\n }\n return this.inner;\n }\n /**\n * @description `true` if Immortal\n */\n get isImmortalEra() {\n return this.index === 0;\n }\n /**\n * @description `true` if Mortal\n */\n get isMortalEra() {\n return this.index > 0;\n }\n /**\n * @description Encodes the value as a Uint8Array as per the parity-codec specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8a(isBare) {\n return this.isMortalEra\n ? this.asMortalEra.toU8a(isBare)\n : this.asImmortalEra.toU8a(isBare);\n }\n}\n","import { AbstractBase } from '@polkadot/types-codec';\nimport { hexToU8a, isHex, u8aToHex } from '@polkadot/util';\nimport { DEFAULT_PREAMBLE, LATEST_EXTRINSIC_VERSION } from './constants.js';\nconst VERSIONS = [\n 'ExtrinsicPayloadUnknown', // v0 is unknown\n 'ExtrinsicPayloadUnknown',\n 'ExtrinsicPayloadUnknown',\n 'ExtrinsicPayloadUnknown',\n 'ExtrinsicPayloadV4',\n 'ExtrinsicPayloadV5'\n];\nconst PREAMBLES = {\n bare: 'ExtrinsicPayloadV5',\n // Not supported yet\n general: 'ExtrinsicPayloadV5'\n};\n/**\n * HACK: In order to change the assetId from `number | object` to HexString (While maintaining the true type ie Option<TAssetConversion>),\n * to allow for easier generalization of the SignerPayloadJSON interface the below check is necessary. The ExtrinsicPayloadV4 class does not like\n * a value passed in as an Option, and can't decode it properly. Therefore, we ensure to convert the following below, and then pass the option as a unwrapped\n * JSON value.\n *\n * ref: https://github.com/polkadot-js/api/pull/5968\n * ref: https://github.com/polkadot-js/api/pull/5967\n */\nexport function decodeAssetId(registry, payload) {\n const maybeAsset = payload?.assetId;\n if (maybeAsset && isHex(maybeAsset)) {\n const assetId = registry.createType('TAssetConversion', hexToU8a(maybeAsset));\n // we only want to adjust the payload if the hex passed has the option\n if (maybeAsset === '0x00' || maybeAsset === '0x01' + assetId.toHex().slice(2)) {\n return {\n ...payload,\n assetId: assetId.toJSON()\n };\n }\n }\n return payload;\n}\n/** @internal */\nfunction decodeExtrinsicPayload(registry, value, version = LATEST_EXTRINSIC_VERSION, preamble = DEFAULT_PREAMBLE) {\n if (value instanceof GenericExtrinsicPayload) {\n return value.unwrap();\n }\n const extVersion = version === 5 ? PREAMBLES[preamble] : VERSIONS[version] || VERSIONS[0];\n const payload = decodeAssetId(registry, value);\n return registry.createTypeUnsafe(extVersion, [payload, { version }]);\n}\n/**\n * @name GenericExtrinsicPayload\n * @description\n * A signing payload for an [[Extrinsic]]. For the final encoding, it is variable length based\n * on the contents included\n */\nexport class GenericExtrinsicPayload extends AbstractBase {\n constructor(registry, value, { preamble, version } = {}) {\n super(registry, decodeExtrinsicPayload(registry, value, version, preamble));\n }\n /**\n * @description The block [[BlockHash]] the signature applies to (mortal/immortal)\n */\n get blockHash() {\n return this.inner.blockHash;\n }\n /**\n * @description The [[ExtrinsicEra]]\n */\n get era() {\n return this.inner.era;\n }\n /**\n * @description The genesis block [[BlockHash]] the signature applies to\n */\n get genesisHash() {\n // NOTE only v3+\n return this.inner.genesisHash || this.registry.createTypeUnsafe('Hash', []);\n }\n /**\n * @description The [[Bytes]] contained in the payload\n */\n get method() {\n return this.inner.method;\n }\n /**\n * @description The [[Index]]\n */\n get nonce() {\n return this.inner.nonce;\n }\n /**\n * @description The specVersion as a [[u32]] for this payload\n */\n get specVersion() {\n // NOTE only v3+\n return this.inner.specVersion || this.registry.createTypeUnsafe('u32', []);\n }\n /**\n * @description The [[Balance]]\n */\n get tip() {\n // NOTE from v2+\n return this.inner.tip || this.registry.createTypeUnsafe('Compact<Balance>', []);\n }\n /**\n * @description The transaction version as a [[u32]] for this payload\n */\n get transactionVersion() {\n // NOTE only v4+\n return this.inner.transactionVersion || this.registry.createTypeUnsafe('u32', []);\n }\n /**\n * @description The (optional) asset id as a [[u32]] or [[MultiLocation]] for this payload\n */\n get assetId() {\n return this.inner.assetId;\n }\n /**\n * @description The (optional) [[Hash]] of the genesis metadata for this payload\n */\n get metadataHash() {\n return this.inner.metadataHash;\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n return this.inner.eq(other);\n }\n /**\n * @description Sign the payload with the keypair\n */\n sign(signerPair) {\n const signature = this.inner.sign(signerPair);\n // This is extensible, so we could quite readily extend to send back extra\n // information, such as for instance the payload, i.e. `payload: this.toHex()`\n // For the case here we sign via the extrinsic, we ignore the return, so generally\n // this is applicable for external signing\n return {\n signature: u8aToHex(signature)\n };\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman(isExtended, disableAscii) {\n return this.inner.toHuman(isExtended, disableAscii);\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n return this.toHex();\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'ExtrinsicPayload';\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n return this.toHex();\n }\n /**\n * @description Returns a serialized u8a form\n */\n toU8a(isBare) {\n // call our parent, with only the method stripped\n return super.toU8a(isBare ? { method: true } : false);\n }\n}\n","import { Struct } from '@polkadot/types-codec';\n/**\n * @name GenericExtrinsicPayloadUnknown\n * @description\n * A default handler for payloads where the version is not known (default throw)\n */\nexport class GenericExtrinsicPayloadUnknown extends Struct {\n constructor(registry, _value, { version = 0 } = {}) {\n super(registry, {});\n throw new Error(`Unsupported extrinsic payload version ${version}`);\n }\n}\n","import { Struct } from '@polkadot/types-codec';\nimport { UNMASK_VERSION } from './constants.js';\n/**\n * @name GenericExtrinsicUnknown\n * @description\n * A default handler for extrinsics where the version is not known (default throw)\n */\nexport class GenericExtrinsicUnknown extends Struct {\n constructor(registry, _value, { isSigned = false, version = 0 } = {}) {\n super(registry, {});\n throw new Error(`Unsupported ${isSigned ? '' : 'un'}signed extrinsic version ${version & UNMASK_VERSION}`);\n }\n}\n","import { Option, Struct } from '@polkadot/types-codec';\nimport { objectProperty, objectSpread, u8aToHex } from '@polkadot/util';\nconst knownTypes = {\n address: 'Address',\n assetId: 'Option<TAssetConversion>',\n blockHash: 'Hash',\n blockNumber: 'BlockNumber',\n era: 'ExtrinsicEra',\n genesisHash: 'Hash',\n metadataHash: 'Option<[u8;32]>',\n method: 'Call',\n mode: 'u8',\n nonce: 'Compact<Index>',\n runtimeVersion: 'RuntimeVersion',\n signedExtensions: 'Vec<Text>',\n tip: 'Compact<Balance>',\n version: 'u8'\n};\n/**\n * @name GenericSignerPayload\n * @description\n * A generic signer payload that can be used for serialization between API and signer\n */\nexport class GenericSignerPayload extends Struct {\n #extraTypes;\n constructor(registry, value) {\n const extensionTypes = objectSpread({}, registry.getSignedExtensionTypes(), registry.getSignedExtensionExtra());\n super(registry, objectSpread({}, extensionTypes, knownTypes, { withSignedTransaction: 'bool' }), value);\n this.#extraTypes = {};\n const getter = (key) => this.get(key);\n // add all extras that are not in the base types\n for (const [key, type] of Object.entries(extensionTypes)) {\n if (!knownTypes[key]) {\n this.#extraTypes[key] = type;\n }\n objectProperty(this, key, getter);\n }\n }\n get address() {\n return this.getT('address');\n }\n get blockHash() {\n return this.getT('blockHash');\n }\n get blockNumber() {\n return this.getT('blockNumber');\n }\n get era() {\n return this.getT('era');\n }\n get genesisHash() {\n return this.getT('genesisHash');\n }\n get method() {\n return this.getT('method');\n }\n get nonce() {\n return this.getT('nonce');\n }\n get runtimeVersion() {\n return this.getT('runtimeVersion');\n }\n get signedExtensions() {\n return this.getT('signedExtensions');\n }\n get tip() {\n return this.getT('tip');\n }\n get assetId() {\n return this.getT('assetId');\n }\n get version() {\n return this.getT('version');\n }\n get mode() {\n return this.getT('mode');\n }\n get metadataHash() {\n return this.getT('metadataHash');\n }\n get withSignedTransaction() {\n const val = this.getT('withSignedTransaction');\n return val.isTrue;\n }\n /**\n * @description Creates an representation of the structure as an ISignerPayload JSON\n */\n toPayload() {\n const result = {};\n const keys = Object.keys(this.#extraTypes);\n // add any explicit overrides we may have\n for (let i = 0, count = keys.length; i < count; i++) {\n const key = keys[i];\n const value = this.getT(key);\n // Don't include Option.isNone\n if (!(value instanceof Option) || value.isSome) {\n // NOTE In the spread below we convert (mostly) to Hex to align\n // with the typings. In the case of \"unknown\" fields, we use the\n // primitive toJSON conversion (which is serializable). Technically\n // we can include isNone in here as well (\"null\" is allowed), however\n // for empty fields we just skip it completely (historical compat)\n result[key] = value.toJSON();\n }\n }\n return objectSpread(result, {\n // the known defaults as managed explicitly and has different\n // formatting in cases, e.g. we mostly expose a hex format here\n address: this.address.toString(),\n assetId: this.assetId && this.assetId.isSome ? this.assetId.toHex() : null,\n blockHash: this.blockHash.toHex(),\n blockNumber: this.blockNumber.toHex(),\n era: this.era.toHex(),\n genesisHash: this.genesisHash.toHex(),\n metadataHash: this.metadataHash.isSome ? this.metadataHash.toHex() : null,\n method: this.method.toHex(),\n mode: this.mode.toNumber(),\n nonce: this.nonce.toHex(),\n signedExtensions: this.signedExtensions.map((e) => e.toString()),\n specVersion: this.runtimeVersion.specVersion.toHex(),\n tip: this.tip.toHex(),\n transactionVersion: this.runtimeVersion.transactionVersion.toHex(),\n version: this.version.toNumber(),\n withSignedTransaction: this.withSignedTransaction\n });\n }\n /**\n * @description Creates a representation of the payload in raw Exrinsic form\n */\n toRaw() {\n const payload = this.toPayload();\n const data = u8aToHex(this.registry\n .createTypeUnsafe('ExtrinsicPayload', [payload, { version: payload.version }])\n // NOTE Explicitly pass the bare flag so the method is encoded un-prefixed (non-decodable, for signing only)\n .toU8a({ method: true }));\n return {\n address: payload.address,\n data,\n type: 'payload'\n };\n }\n}\n","import { Struct } from '@polkadot/types-codec';\nimport { isU8a } from '@polkadot/util';\nexport const EXTRINSIC_VERSION = 4;\n/**\n * @name GenericExtrinsicV4\n * @description\n * The third generation of compact extrinsics\n */\nexport class GenericExtrinsicV4 extends Struct {\n constructor(registry, value, { isSigned } = {}) {\n super(registry, {\n signature: 'ExtrinsicSignatureV4',\n // eslint-disable-next-line sort-keys\n method: 'Call'\n }, GenericExtrinsicV4.decodeExtrinsic(registry, value, isSigned));\n }\n /** @internal */\n static decodeExtrinsic(registry, value, isSigned = false) {\n if (value instanceof GenericExtrinsicV4) {\n return value;\n }\n else if (value instanceof registry.createClassUnsafe('Call')) {\n return { method: value };\n }\n else if (isU8a(value)) {\n // here we decode manually since we need to pull through the version information\n const signature = registry.createTypeUnsafe('ExtrinsicSignatureV4', [value, { isSigned }]);\n const method = registry.createTypeUnsafe('Call', [value.subarray(signature.encodedLength)]);\n return {\n method,\n signature\n };\n }\n return value || {};\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n return this.toU8a().length;\n }\n /**\n * @description The [[Call]] this extrinsic wraps\n */\n get method() {\n return this.getT('method');\n }\n /**\n * @description The [[ExtrinsicSignatureV4]]\n */\n get signature() {\n return this.getT('signature');\n }\n /**\n * @description The version for the signature\n */\n get version() {\n return EXTRINSIC_VERSION;\n }\n /**\n * @description Add an [[ExtrinsicSignatureV4]] to the extrinsic (already generated)\n */\n addSignature(signer, signature, payload) {\n this.signature.addSignature(signer, signature, payload);\n return this;\n }\n /**\n * @description Sign the extrinsic with a specific keypair\n */\n sign(account, options) {\n this.signature.sign(this.method, account, options);\n return this;\n }\n /**\n * @describe Adds a fake signature to the extrinsic\n */\n signFake(signer, options) {\n this.signature.signFake(this.method, signer, options);\n return this;\n }\n}\n","import { Enum, Struct } from '@polkadot/types-codec';\nimport { objectSpread } from '@polkadot/util';\nimport { decodeAssetId } from '../ExtrinsicPayload.js';\nimport { sign } from '../util.js';\n/**\n * @name GenericExtrinsicPayloadV4\n * @description\n * A signing payload for an [[Extrinsic]]. For the final encoding, it is\n * variable length based on the contents included\n */\nexport class GenericExtrinsicPayloadV4 extends Struct {\n #signOptions;\n constructor(registry, value) {\n super(registry, objectSpread({ method: 'Bytes' }, registry.getSignedExtensionTypes(), registry.getSignedExtensionExtra()), decodeAssetId(registry, value));\n // Do detection for the type of extrinsic, in the case of MultiSignature\n // this is an enum, in the case of AnySignature, this is a Hash only\n // (which may be 64 or 65 bytes)\n this.#signOptions = {\n withType: registry.createTypeUnsafe('ExtrinsicSignature', []) instanceof Enum\n };\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n return super.inspect({ method: true });\n }\n /**\n * @description The block [[BlockHash]] the signature applies to (mortal/immortal)\n */\n get blockHash() {\n return this.getT('blockHash');\n }\n /**\n * @description The [[ExtrinsicEra]]\n */\n get era() {\n return this.getT('era');\n }\n /**\n * @description The genesis [[BlockHash]] the signature applies to (mortal/immortal)\n */\n get genesisHash() {\n return this.getT('genesisHash');\n }\n /**\n * @description The [[Bytes]] contained in the payload\n */\n get method() {\n return this.getT('method');\n }\n /**\n * @description The [[Index]]\n */\n get nonce() {\n return this.getT('nonce');\n }\n /**\n * @description The specVersion for this signature\n */\n get specVersion() {\n return this.getT('specVersion');\n }\n /**\n * @description The tip [[Balance]]\n */\n get tip() {\n return this.getT('tip');\n }\n /**\n * @description The transactionVersion for this signature\n */\n get transactionVersion() {\n return this.getT('transactionVersion');\n }\n /**\n * @description The (optional) asset id for this signature for chains that support transaction fees in assets\n */\n get assetId() {\n return this.getT('assetId');\n }\n /**\n * @description The (optional) asset id for this signature for chains that support transaction fees in assets\n */\n get metadataHash() {\n return this.getT('metadataHash');\n }\n /**\n * @description Sign the payload with the keypair\n */\n sign(signerPair) {\n // NOTE The `toU8a({ method: true })` argument is absolutely critical, we\n // don't want the method (Bytes) to have the length prefix included. This\n // means that the data-as-signed is un-decodable, but is also doesn't need\n // the extra information, only the pure data (and is not decoded) ...\n // The same applies to V1..V3, if we have a V5, carry this comment\n return sign(this.registry, signerPair, this.toU8a({ method: true }), this.#signOptions);\n }\n}\n","import { blake2AsU8a } from '@polkadot/util-crypto';\nexport function sign(_registry, signerPair, u8a, options) {\n const encoded = u8a.length > 256\n ? blake2AsU8a(u8a)\n : u8a;\n return signerPair.sign(encoded, options);\n}\nexport function signGeneral(registry, u8a) {\n const encoded = registry.hash(u8a);\n return encoded;\n}\n","import { Struct } from '@polkadot/types-codec';\nimport { isU8a, isUndefined, objectProperties, objectSpread, stringify, u8aToHex } from '@polkadot/util';\nimport { EMPTY_U8A, IMMORTAL_ERA } from '../constants.js';\nimport { GenericExtrinsicPayloadV4 } from './ExtrinsicPayload.js';\nconst FAKE_SIGNATURE = new Uint8Array(256).fill(1);\nfunction toAddress(registry, address) {\n return registry.createTypeUnsafe('Address', [isU8a(address) ? u8aToHex(address) : address]);\n}\n/**\n * @name GenericExtrinsicSignatureV4\n * @description\n * A container for the [[Signature]] associated with a specific [[Extrinsic]]\n */\nexport class GenericExtrinsicSignatureV4 extends Struct {\n #signKeys;\n constructor(registry, value, { isSigned } = {}) {\n const signTypes = registry.getSignedExtensionTypes();\n super(registry, objectSpread(\n // eslint-disable-next-line sort-keys\n { signer: 'Address', signature: 'ExtrinsicSignature' }, signTypes), GenericExtrinsicSignatureV4.decodeExtrinsicSignature(value, isSigned));\n this.#signKeys = Object.keys(signTypes);\n objectProperties(this, this.#signKeys, (k) => this.get(k));\n }\n /** @internal */\n static decodeExtrinsicSignature(value, isSigned = false) {\n if (!value) {\n return EMPTY_U8A;\n }\n else if (value instanceof GenericExtrinsicSignatureV4) {\n return value;\n }\n return isSigned\n ? value\n : EMPTY_U8A;\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n return this.isSigned\n ? super.encodedLength\n : 0;\n }\n /**\n * @description `true` if the signature is valid\n */\n get isSigned() {\n return !this.signature.isEmpty;\n }\n /**\n * @description The [[ExtrinsicEra]] (mortal or immortal) this signature applies to\n */\n get era() {\n return this.getT('era');\n }\n /**\n * @description The [[Index]] for the signature\n */\n get nonce() {\n return this.getT('nonce');\n }\n /**\n * @description The actual [[EcdsaSignature]], [[Ed25519Signature]] or [[Sr25519Signature]]\n */\n get signature() {\n // the second case here is when we don't have an enum signature, treat as raw\n return (this.multiSignature.value || this.multiSignature);\n }\n /**\n * @description The raw [[ExtrinsicSignature]]\n */\n get multiSignature() {\n return this.getT('signature');\n }\n /**\n * @description The [[Address]] that signed\n */\n get signer() {\n return this.getT('signer');\n }\n /**\n * @description The [[Balance]] tip\n */\n get tip() {\n return this.getT('tip');\n }\n /**\n * @description The [[u32]] or [[MultiLocation]] assetId\n */\n get assetId() {\n return this.getT('assetId');\n }\n /**\n * @description the [[u32]] mode\n */\n get mode() {\n return this.getT('mode');\n }\n /**\n * @description The [[Hash]] for the metadata\n */\n get metadataHash() {\n return this.getT('metadataHash');\n }\n _injectSignature(signer, signature, payload) {\n // use the fields exposed to guide the getters\n for (let i = 0, count = this.#signKeys.length; i < count; i++) {\n const k = this.#signKeys[i];\n const v = payload.get(k);\n if (!isUndefined(v)) {\n this.set(k, v);\n }\n }\n // additional fields (exposed in struct itself)\n this.set('signer', signer);\n this.set('signature', signature);\n return this;\n }\n /**\n * @description Adds a raw signature\n */\n addSignature(signer, signature, payload) {\n return this._injectSignature(toAddress(this.registry, signer), this.registry.createTypeUnsafe('ExtrinsicSignature', [signature]), new GenericExtrinsicPayloadV4(this.registry, payload));\n }\n /**\n * @description Creates a payload from the supplied options\n */\n createPayload(method, options) {\n const { era, runtimeVersion: { specVersion, transactionVersion } } = options;\n return new GenericExtrinsicPayloadV4(this.registry, objectSpread({}, options, {\n era: era || IMMORTAL_ERA,\n method: method.toHex(),\n specVersion,\n transactionVersion\n }));\n }\n /**\n * @description Generate a payload and applies the signature from a keypair\n */\n sign(method, account, options) {\n if (!account?.addressRaw) {\n throw new Error(`Expected a valid keypair for signing, found ${stringify(account)}`);\n }\n const payload = this.createPayload(method, options);\n return this._injectSignature(toAddress(this.registry, account.addressRaw), this.registry.createTypeUnsafe('ExtrinsicSignature', [payload.sign(account)]), payload);\n }\n /**\n * @description Generate a payload and applies a fake signature\n */\n signFake(method, address, options) {\n if (!address) {\n throw new Error(`Expected a valid address for signing, found ${stringify(address)}`);\n }\n const payload = this.createPayload(method, options);\n return this._injectSignature(toAddress(this.registry, address), this.registry.createTypeUnsafe('ExtrinsicSignature', [FAKE_SIGNATURE]), payload);\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8a(isBare) {\n return this.isSigned\n ? super.toU8a(isBare)\n : EMPTY_U8A;\n }\n}\n","import { Struct } from '@polkadot/types-codec';\nimport { isU8a } from '@polkadot/util';\nexport const EXTRINSIC_VERSION = 5;\n/**\n * @name GenericExtrinsicV5\n * @description\n * The fourth generation of compact extrinsics\n */\nexport class GenericExtrinsicV5 extends Struct {\n constructor(registry, value, { isSigned } = {}) {\n super(registry, {\n signature: 'ExtrinsicSignatureV5',\n // eslint-disable-next-line sort-keys\n method: 'Call'\n }, GenericExtrinsicV5.decodeExtrinsic(registry, value, isSigned));\n }\n /** @internal */\n static decodeExtrinsic(registry, value, isSigned = false) {\n if (value instanceof GenericExtrinsicV5) {\n return value;\n }\n else if (value instanceof registry.createClassUnsafe('Call')) {\n return { method: value };\n }\n else if (isU8a(value)) {\n // here we decode manually since we need to pull through the version information\n const signature = registry.createTypeUnsafe('ExtrinsicSignatureV5', [value, { isSigned }]);\n // We add 2 here since the length of the TransactionExtension Version needs to be accounted for\n const method = registry.createTypeUnsafe('Call', [value.subarray(signature.encodedLength)]);\n return {\n method,\n signature\n };\n }\n return value || {};\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n return this.toU8a().length;\n }\n /**\n * @description The [[Call]] this extrinsic wraps\n */\n get method() {\n return this.getT('method');\n }\n /**\n * @description The [[ExtrinsicSignatureV5]]\n */\n get signature() {\n return this.getT('signature');\n }\n /**\n * @description The version for the signature\n */\n get version() {\n return EXTRINSIC_VERSION;\n }\n /**\n * @description The [[Preamble]] for the extrinsic\n */\n get preamble() {\n return this.getT('preamble');\n }\n /**\n * @description Add an [[ExtrinsicSignatureV5]] to the extrinsic (already generated)\n *\n * [Disabled for ExtrinsicV5]\n */\n addSignature(_signer, _signature, _payload) {\n throw new Error('Extrinsic: ExtrinsicV5 does not include signing support');\n }\n /**\n * @description Sign the extrinsic with a specific keypair\n *\n * [Disabled for ExtrinsicV5]\n */\n sign(_account, _options) {\n throw new Error('Extrinsic: ExtrinsicV5 does not include signing support');\n }\n /**\n * @describe Adds a fake signature to the extrinsic\n *\n * [Disabled for ExtrinsicV5]\n */\n signFake(_signer, _options) {\n throw new Error('Extrinsic: ExtrinsicV5 does not include signing support');\n }\n}\n","import { Struct } from '@polkadot/types-codec';\nimport { objectSpread } from '@polkadot/util';\n/**\n * @name GenericExtrinsicPayloadV5\n * @description\n * A signing payload for an [[Extrinsic]]. For the final encoding, it is\n * variable length based on the contents included\n */\nexport class GenericExtrinsicPayloadV5 extends Struct {\n constructor(registry, value) {\n super(registry, objectSpread({ method: 'Bytes' }, registry.getSignedExtensionTypes(), registry.getSignedExtensionExtra()), value);\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n return super.inspect({ method: true });\n }\n /**\n * @description The block [[BlockHash]] the signature applies to (mortal/immortal)\n */\n get blockHash() {\n return this.getT('blockHash');\n }\n /**\n * @description The [[ExtrinsicEra]]\n */\n get era() {\n return this.getT('era');\n }\n /**\n * @description The genesis [[BlockHash]] the signature applies to (mortal/immortal)\n */\n get genesisHash() {\n return this.getT('genesisHash');\n }\n /**\n * @description The [[Bytes]] contained in the payload\n */\n get method() {\n return this.getT('method');\n }\n /**\n * @description The [[Index]]\n */\n get nonce() {\n return this.getT('nonce');\n }\n /**\n * @description The specVersion for this signature\n */\n get specVersion() {\n return this.getT('specVersion');\n }\n /**\n * @description The tip [[Balance]]\n */\n get tip() {\n return this.getT('tip');\n }\n /**\n * @description The transactionVersion for this signature\n */\n get transactionVersion() {\n return this.getT('transactionVersion');\n }\n /**\n * @description The (optional) asset id for this signature for chains that support transaction fees in assets\n */\n get assetId() {\n return this.getT('assetId');\n }\n /**\n * @description The (optional) metadataHash proof for the CheckMetadataHash TransactionExtension\n */\n get metadataHash() {\n return this.getT('metadataHash');\n }\n /**\n * @description Sign the payload with the keypair\n *\n * [Disabled for ExtrinsicV5]\n */\n sign(_signerPair) {\n throw new Error('Extrinsic: ExtrinsicV5 does not include signing support');\n }\n}\n","import { Struct } from '@polkadot/types-codec';\nimport { objectProperties, objectSpread } from '@polkadot/util';\nimport { EMPTY_U8A, IMMORTAL_ERA } from '../constants.js';\nimport { GenericExtrinsicPayloadV5 } from './ExtrinsicPayload.js';\n/**\n * @name GenericExtrinsicSignatureV5\n * @description\n * A container for the [[Signature]] associated with a specific [[Extrinsic]]\n */\nexport class GenericExtrinsicSignatureV5 extends Struct {\n #signKeys;\n constructor(registry, value, { isSigned } = {}) {\n const signTypes = registry.getSignedExtensionTypes();\n super(registry, objectSpread(\n // eslint-disable-next-line sort-keys\n { signer: 'Address', signature: 'ExtrinsicSignature', transactionExtensionVersion: 'u8' }, signTypes), GenericExtrinsicSignatureV5.decodeExtrinsicSignature(value, isSigned));\n this.#signKeys = Object.keys(signTypes);\n objectProperties(this, this.#signKeys, (k) => this.get(k));\n }\n /** @internal */\n static decodeExtrinsicSignature(value, isSigned = false) {\n if (!value) {\n return EMPTY_U8A;\n }\n else if (value instanceof GenericExtrinsicSignatureV5) {\n return value;\n }\n return isSigned\n ? value\n : EMPTY_U8A;\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n return this.isSigned\n ? super.encodedLength\n : 0;\n }\n /**\n * @description `true` if the signature is valid\n */\n get isSigned() {\n return !this.signature.isEmpty;\n }\n /**\n * @description The [[ExtrinsicEra]] (mortal or immortal) this signature applies to\n */\n get era() {\n return this.getT('era');\n }\n /**\n * @description The [[Index]] for the signature\n */\n get nonce() {\n return this.getT('nonce');\n }\n /**\n * @description The actual [[EcdsaSignature]], [[Ed25519Signature]] or [[Sr25519Signature]]\n */\n get signature() {\n // the second case here is when we don't have an enum signature, treat as raw\n return (this.multiSignature.value || this.multiSignature);\n }\n /**\n * @description The raw [[ExtrinsicSignature]]\n */\n get multiSignature() {\n return this.getT('signature');\n }\n /**\n * @description The [[Address]] that signed\n */\n get signer() {\n return this.getT('signer');\n }\n /**\n * @description The [[Balance]] tip\n */\n get tip() {\n return this.getT('tip');\n }\n /**\n * @description The [[u32]] or [[MultiLocation]] assetId\n */\n get assetId() {\n return this.getT('assetId');\n }\n /**\n * @description the [[u32]] mode\n */\n get mode() {\n return this.getT('mode');\n }\n /**\n * @description The (optional) [[Hash]] for the metadata proof\n */\n get metadataHash() {\n return this.getT('metadataHash');\n }\n /**\n * @description The [[u8]] for the TransactionExtension version\n */\n get transactionExtensionVersion() {\n return this.getT('transactionExtensionVersion');\n }\n /**\n * [Disabled for ExtrinsicV5]\n */\n _injectSignature(_signer, _signature, _payload) {\n throw new Error('Extrinsic: ExtrinsicV5 does not include signing support');\n }\n /**\n * @description Adds a raw signature\n *\n * [Disabled for ExtrinsicV5]\n */\n addSignature(_signer, _signature, _payload) {\n throw new Error('Extrinsic: ExtrinsicV5 does not include signing support');\n }\n /**\n * @description Creates a payload from the supplied options\n */\n createPayload(method, options) {\n const { era, runtimeVersion: { specVersion, transactionVersion } } = options;\n return new GenericExtrinsicPayloadV5(this.registry, objectSpread({}, options, {\n era: era || IMMORTAL_ERA,\n method: method.toHex(),\n specVersion,\n transactionVersion\n }));\n }\n /**\n * @description Generate a payload and applies the signature from a keypair\n *\n * [Disabled for ExtrinsicV5]\n */\n sign(_method, _account, _options) {\n throw new Error('Extrinsic: ExtrinsicV5 does not include signing support');\n }\n /**\n * @description Generate a payload and applies a fake signature\n *\n * [Disabled for ExtrinsicV5]\n */\n signFake(_method, _address, _options) {\n throw new Error('Extrinsic: ExtrinsicV5 does not include signing support');\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8a(isBare) {\n return this.isSigned\n ? super.toU8a(isBare)\n : EMPTY_U8A;\n }\n}\n","import { Struct } from '@polkadot/types-codec';\nimport { compactAddLength, compactFromU8a, isHex, isObject, isU8a, objectSpread, u8aConcat, u8aToHex, u8aToU8a } from '@polkadot/util';\nimport { EMPTY_U8A, UNMASK_VERSION } from '../constants.js';\nfunction decodeU8a(u8a) {\n if (!u8a.length) {\n return new Uint8Array();\n }\n const [offset, length] = compactFromU8a(u8a);\n const total = offset + length.toNumber();\n if (total > u8a.length) {\n throw new Error(`Extrinsic: length less than remainder, expected at least ${total}, found ${u8a.length}`);\n }\n const data = u8a.subarray(offset, total);\n // 69 denotes 0b01000101 which is the version and preamble for this Extrinsic\n if (data[0] !== 69) {\n throw new Error(`Extrinsic: incorrect version for General Transactions, expected 5, found ${data[0] & UNMASK_VERSION}`);\n }\n return data.subarray(1);\n}\nexport class GeneralExtrinsic extends Struct {\n #version;\n #preamble;\n constructor(registry, value, opt) {\n const extTypes = registry.getSignedExtensionTypes();\n super(registry, objectSpread({\n transactionExtensionVersion: 'u8'\n }, extTypes, {\n method: 'Call'\n }), GeneralExtrinsic.decodeExtrinsic(registry, value));\n this.#version = opt?.version || 0b00000101;\n this.#preamble = 0b01000000;\n }\n static decodeExtrinsic(registry, value) {\n if (!value) {\n return EMPTY_U8A;\n }\n else if (value instanceof GeneralExtrinsic) {\n return value;\n }\n else if (isU8a(value) || Array.isArray(value) || isHex(value)) {\n return decodeU8a(u8aToU8a(value));\n }\n else if (isObject(value)) {\n const { payload, transactionExtensionVersion } = value;\n return objectSpread(payload || {}, {\n transactionExtensionVersion: transactionExtensionVersion || registry.getTransactionExtensionVersion()\n });\n }\n return {};\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n return super.encodedLength;\n }\n /**\n * @description The [[ExtrinsicEra]]\n */\n get era() {\n return this.getT('era');\n }\n /**\n * @description The [[Index]]\n */\n get nonce() {\n return this.getT('nonce');\n }\n /**\n * @description The tip [[Balance]]\n */\n get tip() {\n return this.getT('tip');\n }\n /**\n * @description The (optional) asset id for this signature for chains that support transaction fees in assets\n */\n get assetId() {\n return this.getT('assetId');\n }\n /**\n * @description The mode used for the CheckMetadataHash TransactionExtension\n */\n get mode() {\n return this.getT('mode');\n }\n /**\n * @description The (optional) [[Hash]] for the metadata proof\n */\n get metadataHash() {\n return this.getT('metadataHash');\n }\n /**\n * @description The version of the TransactionExtensions used in this extrinsic\n */\n get transactionExtensionVersion() {\n return this.getT('transactionExtensionVersion');\n }\n /**\n * @description The [[Call]] this extrinsic wraps\n */\n get method() {\n return this.getT('method');\n }\n /**\n * @description The extrinsic's version\n */\n get version() {\n return this.#version;\n }\n /**\n * @description The [[Preamble]] for the extrinsic\n */\n get preamble() {\n return this.#preamble;\n }\n toHex(isBare) {\n return u8aToHex(this.toU8a(isBare));\n }\n toU8a(isBare) {\n return isBare\n ? this.encode()\n : compactAddLength(this.encode());\n }\n toRawType() {\n return 'GeneralExt';\n }\n /**\n *\n * @description Returns an encoded GeneralExtrinsic\n */\n encode() {\n return u8aConcat(new Uint8Array([this.version | this.preamble]), super.toU8a());\n }\n signFake() {\n throw new Error('Extrinsic: Type GeneralExtrinsic does not have signFake implemented');\n }\n addSignature() {\n throw new Error('Extrinsic: Type GeneralExtrinsic does not have addSignature implemented');\n }\n sign() {\n throw new Error('Extrinsic: Type GeneralExtrinsic does not have sign implemented');\n }\n signature() {\n throw new Error('Extrinsic: Type GeneralExtrinsic does not have the signature getter');\n }\n}\n","import { U8aFixed } from '@polkadot/types-codec';\nimport { hexToU8a, isHex, isString, isU8a, u8aToU8a } from '@polkadot/util';\nimport { decodeAddress, encodeAddress } from '@polkadot/util-crypto';\n/** @internal */\nfunction decodeAccountId(value) {\n if (isU8a(value) || Array.isArray(value)) {\n return u8aToU8a(value);\n }\n else if (!value) {\n return new Uint8Array();\n }\n else if (isHex(value)) {\n return hexToU8a(value);\n }\n else if (isString(value)) {\n return decodeAddress(value.toString());\n }\n throw new Error(`Unknown type passed to AccountId constructor, found typeof ${typeof value}`);\n}\nclass BaseAccountId extends U8aFixed {\n constructor(registry, allowedBits = 256 | 264, value) {\n const decoded = decodeAccountId(value);\n const decodedBits = decoded.length * 8;\n // Part of stream containing >= 32 bytes or a all empty (defaults)\n if (decodedBits < allowedBits && decoded.some((b) => b)) {\n throw new Error(`Invalid AccountId provided, expected ${allowedBits >> 3} bytes, found ${decoded.length}`);\n }\n super(registry, decoded, allowedBits);\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n return super.eq(decodeAccountId(other));\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman() {\n return this.toJSON();\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n return this.toString();\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive() {\n return this.toJSON();\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n return encodeAddress(this, this.registry.chainSS58);\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'AccountId';\n }\n}\n/**\n * @name GenericAccountId\n * @description\n * A wrapper around an AccountId/PublicKey representation. Since we are dealing with\n * underlying PublicKeys (32 bytes in length), we extend from U8aFixed which is\n * just a Uint8Array wrapper with a fixed length.\n * If constructed with an empty value ([], \"\", undefined) it will result in\n * the zero account 0x000...000.\n */\nexport class GenericAccountId extends BaseAccountId {\n constructor(registry, value) {\n super(registry, 256, value);\n }\n}\nexport class GenericAccountId33 extends BaseAccountId {\n constructor(registry, value) {\n super(registry, 264, value);\n }\n}\n","import { u32 } from '@polkadot/types-codec';\nimport { BN, bnToBn, isBigInt, isBn, isHex, isNumber, isU8a } from '@polkadot/util';\nimport { decodeAddress, encodeAddress } from '@polkadot/util-crypto';\nconst PREFIX_1BYTE = 0xef;\nconst PREFIX_2BYTE = 0xfc;\nconst PREFIX_4BYTE = 0xfd;\nconst PREFIX_8BYTE = 0xfe;\nconst MAX_1BYTE = new BN(PREFIX_1BYTE);\nconst MAX_2BYTE = new BN(1).shln(16);\nconst MAX_4BYTE = new BN(1).shln(32);\n/** @internal */\nfunction decodeAccountIndex(value) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n if (value instanceof GenericAccountIndex) {\n // `value.toBn()` on AccountIndex returns a pure BN (i.e. not an\n // AccountIndex), which has the initial `toString()` implementation.\n return value.toBn();\n }\n else if (isBn(value) || isNumber(value) || isHex(value) || isU8a(value) || isBigInt(value)) {\n return value;\n }\n return decodeAccountIndex(decodeAddress(value));\n}\n/**\n * @name GenericAccountIndex\n * @description\n * A wrapper around an AccountIndex, which is a shortened, variable-length encoding\n * for an Account. We extends from [[U32]] to provide the number-like properties.\n */\nexport class GenericAccountIndex extends u32 {\n constructor(registry, value = new BN(0)) {\n super(registry, decodeAccountIndex(value));\n }\n static calcLength(_value) {\n const value = bnToBn(_value);\n if (value.lte(MAX_1BYTE)) {\n return 1;\n }\n else if (value.lt(MAX_2BYTE)) {\n return 2;\n }\n else if (value.lt(MAX_4BYTE)) {\n return 4;\n }\n return 8;\n }\n static readLength(input) {\n const first = input[0];\n if (first === PREFIX_2BYTE) {\n return [1, 2];\n }\n else if (first === PREFIX_4BYTE) {\n return [1, 4];\n }\n else if (first === PREFIX_8BYTE) {\n return [1, 8];\n }\n return [0, 1];\n }\n static writeLength(input) {\n switch (input.length) {\n case 2: return new Uint8Array([PREFIX_2BYTE]);\n case 4: return new Uint8Array([PREFIX_4BYTE]);\n case 8: return new Uint8Array([PREFIX_8BYTE]);\n default: return new Uint8Array([]);\n }\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n // shortcut for BN or Number, don't create an object\n if (isBn(other) || isNumber(other)) {\n return super.eq(other);\n }\n // convert and compare\n return super.eq(this.registry.createTypeUnsafe('AccountIndex', [other]));\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman() {\n return this.toJSON();\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n return this.toString();\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive() {\n return this.toJSON();\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n const length = GenericAccountIndex.calcLength(this);\n return encodeAddress(this.toU8a().subarray(0, length), this.registry.chainSS58);\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'AccountIndex';\n }\n}\n","import { Struct } from '@polkadot/types-codec';\n/**\n * @name GenericBlock\n * @description\n * A block encoded with header and extrinsics\n */\nexport class GenericBlock extends Struct {\n constructor(registry, value) {\n super(registry, {\n header: 'Header',\n // eslint-disable-next-line sort-keys\n extrinsics: 'Vec<Extrinsic>'\n }, value);\n }\n /**\n * @description Encodes a content [[Hash]] for the block\n */\n get contentHash() {\n return this.registry.hash(this.toU8a());\n }\n /**\n * @description The [[Extrinsic]] contained in the block\n */\n get extrinsics() {\n return this.getT('extrinsics');\n }\n /**\n * @description Block/header [[Hash]]\n */\n get hash() {\n return this.header.hash;\n }\n /**\n * @description The [[Header]] of the block\n */\n get header() {\n return this.getT('header');\n }\n}\n","import { Struct, U8aFixed } from '@polkadot/types-codec';\nimport { isHex, isObject, isU8a, objectSpread, u8aToU8a } from '@polkadot/util';\n/**\n * Get a mapping of `argument name -> argument type` for the function, from\n * its metadata.\n *\n * @param meta - The function metadata used to get the definition.\n * @internal\n */\nfunction getArgsDef(registry, meta) {\n return meta.fields.reduce((result, { name, type }, index) => {\n result[name.unwrapOr(`param${index}`).toString()] = registry.createLookupType(type);\n return result;\n }, {});\n}\n/** @internal */\nfunction decodeCallViaObject(registry, value, _meta) {\n // we only pass args/methodsIndex out\n const { args, callIndex } = value;\n // Get the correct lookupIndex\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n const lookupIndex = callIndex instanceof GenericCallIndex\n ? callIndex.toU8a()\n : callIndex;\n // Find metadata with callIndex\n const meta = _meta || registry.findMetaCall(lookupIndex).meta;\n return {\n args,\n argsDef: getArgsDef(registry, meta),\n callIndex,\n meta\n };\n}\n/** @internal */\nfunction decodeCallViaU8a(registry, value, _meta) {\n // We need 2 bytes for the callIndex\n const callIndex = registry.firstCallIndex.slice();\n callIndex.set(value.subarray(0, 2), 0);\n // Find metadata with callIndex\n const meta = _meta || registry.findMetaCall(callIndex).meta;\n return {\n args: value.subarray(2),\n argsDef: getArgsDef(registry, meta),\n callIndex,\n meta\n };\n}\n/**\n * Decode input to pass into constructor.\n *\n * @param value - Value to decode, one of:\n * - hex\n * - Uint8Array\n * - {@see DecodeMethodInput}\n * @param _meta - Metadata to use, so that `injectMethods` lookup is not\n * necessary.\n * @internal\n */\nfunction decodeCall(registry, value = new Uint8Array(), _meta) {\n if (isU8a(value) || isHex(value)) {\n return decodeCallViaU8a(registry, u8aToU8a(value), _meta);\n }\n else if (isObject(value) && value.callIndex && value.args) {\n return decodeCallViaObject(registry, value, _meta);\n }\n throw new Error(`Call: Cannot decode value '${value}' of type ${typeof value}`);\n}\n/**\n * @name GenericCallIndex\n * @description\n * A wrapper around the `[sectionIndex, methodIndex]` value that uniquely identifies a method\n */\nexport class GenericCallIndex extends U8aFixed {\n constructor(registry, value) {\n super(registry, value, 16);\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive() {\n return this.toHex();\n }\n}\n/**\n * @name GenericCall\n * @description\n * Extrinsic function descriptor\n */\nexport class GenericCall extends Struct {\n _meta;\n constructor(registry, value, meta) {\n const decoded = decodeCall(registry, value, meta);\n try {\n super(registry, {\n callIndex: GenericCallIndex,\n // eslint-disable-next-line sort-keys\n args: Struct.with(decoded.argsDef)\n }, decoded);\n }\n catch (error) {\n let method = 'unknown.unknown';\n try {\n const c = registry.findMetaCall(decoded.callIndex);\n method = `${c.section}.${c.method}`;\n }\n catch {\n // ignore\n }\n throw new Error(`Call: failed decoding ${method}:: ${error.message}`);\n }\n this._meta = decoded.meta;\n }\n /**\n * @description The arguments for the function call\n */\n get args() {\n return [...this.getT('args').values()];\n }\n /**\n * @description The argument definitions\n */\n get argsDef() {\n return getArgsDef(this.registry, this.meta);\n }\n /**\n * @description The argument entries\n */\n get argsEntries() {\n return [...this.getT('args').entries()];\n }\n /**\n * @description The encoded `[sectionIndex, methodIndex]` identifier\n */\n get callIndex() {\n return this.getT('callIndex').toU8a();\n }\n /**\n * @description The encoded data\n */\n get data() {\n return this.getT('args').toU8a();\n }\n /**\n * @description The [[FunctionMetadata]]\n */\n get meta() {\n return this._meta;\n }\n /**\n * @description Returns the name of the method\n */\n get method() {\n return this.registry.findMetaCall(this.callIndex).method;\n }\n /**\n * @description Returns the module containing the method\n */\n get section() {\n return this.registry.findMetaCall(this.callIndex).section;\n }\n /**\n * @description Checks if the source matches this in type\n */\n is(other) {\n return other.callIndex[0] === this.callIndex[0] && other.callIndex[1] === this.callIndex[1];\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman(isExpanded, disableAscii) {\n let call;\n try {\n call = this.registry.findMetaCall(this.callIndex);\n }\n catch {\n // swallow\n }\n return objectSpread({\n args: this.argsEntries.reduce((args, [n, a]) => objectSpread(args, { [n]: a.toHuman(isExpanded, disableAscii) }), {}),\n method: call?.method,\n section: call?.section\n }, isExpanded && call\n ? { docs: call.meta.docs.map((d) => d.toString()) }\n : null);\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'Call';\n }\n}\n","import { Json } from '@polkadot/types-codec';\nimport { isFunction, isNull, isUndefined } from '@polkadot/util';\nfunction createValue(registry, type, value, asArray = true) {\n // We detect codec here as well - when found, generally this is constructed from itself\n if (value && isFunction(value.unwrapOrDefault)) {\n return value;\n }\n return registry.createTypeUnsafe(type, [\n asArray\n ? isNull(value) || isUndefined(value)\n ? null\n : Array.isArray(value)\n ? value\n : [value]\n : value\n ]);\n}\nfunction decodeValue(registry, key, value) {\n return key === 'ss58Format'\n ? createValue(registry, 'Option<u32>', value, false)\n : key === 'tokenDecimals'\n ? createValue(registry, 'Option<Vec<u32>>', value)\n : key === 'tokenSymbol'\n ? createValue(registry, 'Option<Vec<Text>>', value)\n : key === 'isEthereum'\n ? createValue(registry, 'Bool', value, false)\n : value;\n}\nfunction decode(registry, value) {\n return (\n // allow decoding from a map as well (ourselves)\n value && isFunction(value.entries)\n ? [...value.entries()]\n : Object.entries(value || {})).reduce((all, [key, value]) => {\n all[key] = decodeValue(registry, key, value);\n return all;\n }, {\n isEthereum: registry.createTypeUnsafe('Bool', []),\n ss58Format: registry.createTypeUnsafe('Option<u32>', []),\n tokenDecimals: registry.createTypeUnsafe('Option<Vec<u32>>', []),\n tokenSymbol: registry.createTypeUnsafe('Option<Vec<Text>>', [])\n });\n}\nexport class GenericChainProperties extends Json {\n constructor(registry, value) {\n super(registry, decode(registry, value));\n }\n /**\n * @description The chain uses Ethereum addresses\n */\n get isEthereum() {\n return this.getT('isEthereum');\n }\n /**\n * @description The chain ss58Format\n */\n get ss58Format() {\n return this.getT('ss58Format');\n }\n /**\n * @description The decimals for each of the tokens\n */\n get tokenDecimals() {\n return this.getT('tokenDecimals');\n }\n /**\n * @description The symbols for the tokens\n */\n get tokenSymbol() {\n return this.getT('tokenSymbol');\n }\n}\n","import { U8aFixed } from '@polkadot/types-codec';\nimport { BN, bnToU8a, isNumber, stringToU8a, u8aToHex, u8aToString } from '@polkadot/util';\nexport const CID_AURA = /*#__PURE__*/ stringToU8a('aura');\nexport const CID_BABE = /*#__PURE__*/ stringToU8a('BABE');\nexport const CID_GRPA = /*#__PURE__*/ stringToU8a('FRNK');\nexport const CID_POW = /*#__PURE__*/ stringToU8a('pow_');\nexport const CID_NMBS = /*#__PURE__*/ stringToU8a('nmbs');\nfunction getAuraAuthor(registry, bytes, sessionValidators) {\n return sessionValidators[registry.createTypeUnsafe('RawAuraPreDigest', [bytes.toU8a(true)])\n .slotNumber\n .mod(new BN(sessionValidators.length))\n .toNumber()];\n}\nfunction getBabeAuthor(registry, bytes, sessionValidators) {\n const digest = registry.createTypeUnsafe('RawBabePreDigestCompat', [bytes.toU8a(true)]);\n return sessionValidators[digest.value.toNumber()];\n}\nfunction getBytesAsAuthor(registry, bytes) {\n return registry.createTypeUnsafe('AccountId', [bytes]);\n}\n/**\n * @name GenericConsensusEngineId\n * @description\n * A 4-byte identifier identifying the engine\n */\nexport class GenericConsensusEngineId extends U8aFixed {\n constructor(registry, value) {\n super(registry, isNumber(value)\n ? bnToU8a(value, { isLe: false })\n : value, 32);\n }\n /**\n * @description `true` if the engine matches aura\n */\n get isAura() {\n return this.eq(CID_AURA);\n }\n /**\n * @description `true` is the engine matches babe\n */\n get isBabe() {\n return this.eq(CID_BABE);\n }\n /**\n * @description `true` is the engine matches grandpa\n */\n get isGrandpa() {\n return this.eq(CID_GRPA);\n }\n /**\n * @description `true` is the engine matches pow\n */\n get isPow() {\n return this.eq(CID_POW);\n }\n /**\n * @description `true` is the engine matches nimbus\n */\n get isNimbus() {\n return this.eq(CID_NMBS);\n }\n /**\n * @description From the input bytes, decode into an author\n */\n extractAuthor(bytes, sessionValidators) {\n if (sessionValidators?.length) {\n if (this.isAura) {\n return getAuraAuthor(this.registry, bytes, sessionValidators);\n }\n else if (this.isBabe) {\n return getBabeAuthor(this.registry, bytes, sessionValidators);\n }\n }\n // For pow & Nimbus, the bytes are the actual author\n if (this.isPow || this.isNimbus) {\n return getBytesAsAuthor(this.registry, bytes);\n }\n return undefined;\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman() {\n return this.toString();\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'ConsensusEngineId';\n }\n /**\n * @description Override the default toString to return a 4-byte string\n */\n toString() {\n return this.isAscii\n ? u8aToString(this)\n : u8aToHex(this);\n }\n}\n","import { AbstractBase } from '@polkadot/types-codec';\nimport { isBigInt, isBn, isHex, isNumber, isU8a, u8aConcat, u8aToBn, u8aToHex, u8aToU8a } from '@polkadot/util';\nimport { decodeAddress } from '@polkadot/util-crypto';\nimport { GenericAccountId } from './AccountId.js';\nimport { GenericAccountIndex } from './AccountIndex.js';\nexport const ACCOUNT_ID_PREFIX = new Uint8Array([0xff]);\n/** @internal */\nfunction decodeString(registry, value) {\n const decoded = decodeAddress(value);\n return decoded.length === 32\n ? registry.createTypeUnsafe('AccountId', [decoded])\n : registry.createTypeUnsafe('AccountIndex', [u8aToBn(decoded)]);\n}\n/** @internal */\nfunction decodeU8a(registry, value) {\n // This allows us to instantiate an address with a raw publicKey. Do this first before\n // we checking the first byte, otherwise we may split an already-existent valid address\n if (value.length === 32) {\n return registry.createTypeUnsafe('AccountId', [value]);\n }\n else if (value[0] === 0xff) {\n return registry.createTypeUnsafe('AccountId', [value.subarray(1)]);\n }\n const [offset, length] = GenericAccountIndex.readLength(value);\n return registry.createTypeUnsafe('AccountIndex', [u8aToBn(value.subarray(offset, offset + length))]);\n}\n/** @internal */\nfunction decodeAddressOrIndex(registry, value) {\n return value instanceof GenericLookupSource\n ? value.inner\n : value instanceof GenericAccountId || value instanceof GenericAccountIndex\n ? value\n : isBn(value) || isNumber(value) || isBigInt(value)\n ? registry.createTypeUnsafe('AccountIndex', [value])\n : Array.isArray(value) || isHex(value) || isU8a(value)\n ? decodeU8a(registry, u8aToU8a(value))\n : decodeString(registry, value);\n}\n/**\n * @name LookupSource\n * @description\n * A wrapper around an AccountId and/or AccountIndex that is encoded with a prefix.\n * Since we are dealing with underlying publicKeys (or shorter encoded addresses),\n * we extend from Base with an AccountId/AccountIndex wrapper. Basically the Address\n * is encoded as `[ <prefix-byte>, ...publicKey/...bytes ]` as per spec\n */\nexport class GenericLookupSource extends AbstractBase {\n constructor(registry, value = new Uint8Array()) {\n super(registry, decodeAddressOrIndex(registry, value));\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n const rawLength = this._rawLength;\n return rawLength + (\n // for 1 byte AccountIndexes, we are not adding a specific prefix\n rawLength > 1\n ? 1\n : 0);\n }\n /**\n * @description The length of the raw value, either AccountIndex or AccountId\n */\n get _rawLength() {\n return this.inner instanceof GenericAccountIndex\n ? GenericAccountIndex.calcLength(this.inner)\n : this.inner.encodedLength;\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n const value = this.inner.toU8a().subarray(0, this._rawLength);\n return {\n outer: [\n new Uint8Array(this.inner instanceof GenericAccountIndex\n ? GenericAccountIndex.writeLength(value)\n : ACCOUNT_ID_PREFIX),\n value\n ]\n };\n }\n /**\n * @description Returns a hex string representation of the value\n */\n toHex() {\n return u8aToHex(this.toU8a());\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'Address';\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8a(isBare) {\n const encoded = this.inner.toU8a().subarray(0, this._rawLength);\n return isBare\n ? encoded\n : u8aConcat(this.inner instanceof GenericAccountIndex\n ? GenericAccountIndex.writeLength(encoded)\n : ACCOUNT_ID_PREFIX, encoded);\n }\n}\n","import { Enum } from '@polkadot/types-codec';\nimport { isBn, isNumber, isString, isU8a } from '@polkadot/util';\nimport { decodeAddress } from '@polkadot/util-crypto';\nimport { GenericAccountId } from './AccountId.js';\nimport { GenericAccountIndex } from './AccountIndex.js';\nfunction decodeU8a(registry, u8a) {\n if ([0, 32].includes(u8a.length)) {\n return { Id: u8a };\n }\n else if (u8a.length === 20) {\n return { Address20: u8a };\n }\n else if (u8a.length <= 8) {\n return { Index: registry.createTypeUnsafe('AccountIndex', [u8a]).toNumber() };\n }\n return u8a;\n}\nfunction decodeMultiAny(registry, value) {\n if (value instanceof GenericAccountId) {\n return { Id: value };\n }\n else if (isU8a(value)) {\n // NOTE This is after the AccountId check (which is U8a)\n return decodeU8a(registry, value);\n }\n else if (value instanceof GenericMultiAddress) {\n return value;\n }\n else if (value instanceof GenericAccountIndex || isBn(value) || isNumber(value)) {\n return { Index: isNumber(value) ? value : value.toNumber() };\n }\n else if (isString(value)) {\n return decodeU8a(registry, decodeAddress(value.toString()));\n }\n return value;\n}\nexport class GenericMultiAddress extends Enum {\n constructor(registry, value) {\n super(registry, {\n Id: 'AccountId',\n Index: 'Compact<AccountIndex>',\n Raw: 'Bytes',\n // eslint-disable-next-line sort-keys\n Address32: 'H256',\n // eslint-disable-next-line sort-keys\n Address20: 'H160'\n }, decodeMultiAny(registry, value));\n }\n /**\n * @description Returns a breakdown of the hex encoding for this Codec\n */\n inspect() {\n const { inner, outer = [] } = this.inner.inspect();\n return {\n inner,\n outer: [new Uint8Array([this.index]), ...outer]\n };\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n return this.value.toString();\n }\n}\n","import { Bool, U8aFixed } from '@polkadot/types-codec';\nimport { isBoolean, isNumber, isU8a, isUndefined } from '@polkadot/util';\nconst AYE_BITS = 0b10000000;\nconst NAY_BITS = 0b00000000;\nconst CON_MASK = 0b01111111;\nconst DEF_CONV = 0b00000000; // the default conviction, None\n/** @internal */\nfunction decodeVoteBool(value) {\n return value\n ? new Uint8Array([AYE_BITS | DEF_CONV])\n : new Uint8Array([NAY_BITS]);\n}\n/** @internal */\nfunction decodeVoteU8a(value) {\n return value.length\n ? value.subarray(0, 1)\n : new Uint8Array([NAY_BITS]);\n}\n/** @internal */\nfunction decodeVoteType(registry, value) {\n return new Uint8Array([\n (new Bool(registry, value.aye).isTrue\n ? AYE_BITS\n : NAY_BITS) |\n registry.createTypeUnsafe('Conviction', [value.conviction || DEF_CONV]).index\n ]);\n}\n/** @internal */\nfunction decodeVote(registry, value) {\n if (isU8a(value)) {\n return decodeVoteU8a(value);\n }\n else if (isUndefined(value) || value instanceof Boolean || isBoolean(value)) {\n return decodeVoteBool(new Bool(registry, value).isTrue);\n }\n else if (isNumber(value)) {\n return decodeVoteBool(value < 0);\n }\n return decodeVoteType(registry, value);\n}\n/**\n * @name GenericVote\n * @description\n * A number of lock periods, plus a vote, one way or the other.\n */\nexport class GenericVote extends U8aFixed {\n #aye;\n #conviction;\n constructor(registry, value) {\n // decoded is just 1 byte\n // Aye: Most Significant Bit\n // Conviction: 0000 - 0101\n const decoded = decodeVote(registry, value);\n super(registry, decoded, 8);\n this.#aye = (decoded[0] & AYE_BITS) === AYE_BITS;\n this.#conviction = this.registry.createTypeUnsafe('Conviction', [decoded[0] & CON_MASK]);\n }\n /**\n * @description returns a V2 conviction\n */\n get conviction() {\n return this.#conviction;\n }\n /**\n * @description true if the wrapped value is a positive vote\n */\n get isAye() {\n return this.#aye;\n }\n /**\n * @description true if the wrapped value is a negative vote\n */\n get isNay() {\n return !this.isAye;\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman(isExpanded) {\n return {\n conviction: this.conviction.toHuman(isExpanded),\n vote: this.isAye ? 'Aye' : 'Nay'\n };\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive() {\n return {\n aye: this.isAye,\n conviction: this.conviction.toPrimitive()\n };\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'Vote';\n }\n}\n","import { U8aFixed } from '@polkadot/types-codec';\nimport { hexToU8a, isHex, isString, isU8a, u8aToU8a } from '@polkadot/util';\nimport { ethereumEncode, isEthereumAddress } from '@polkadot/util-crypto';\n/** @internal */\nfunction decodeAccountId(value) {\n if (isU8a(value) || Array.isArray(value)) {\n return u8aToU8a(value);\n }\n else if (isHex(value) || isEthereumAddress(value.toString())) {\n return hexToU8a(value.toString());\n }\n else if (isString(value)) {\n return u8aToU8a(value);\n }\n return value;\n}\n/**\n * @name GenericEthereumAccountId\n * @description\n * A wrapper around an Ethereum-compatible AccountId. Since we are dealing with\n * underlying addresses (20 bytes in length), we extend from U8aFixed which is\n * just a Uint8Array wrapper with a fixed length.\n */\nexport class GenericEthereumAccountId extends U8aFixed {\n constructor(registry, value = new Uint8Array()) {\n super(registry, decodeAccountId(value), 160);\n }\n /**\n * @description Compares the value of the input to see if there is a match\n */\n eq(other) {\n return !!other && super.eq(decodeAccountId(other));\n }\n /**\n * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information\n */\n toHuman() {\n return this.toJSON();\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n return this.toString();\n }\n /**\n * @description Converts the value in a best-fit primitive form\n */\n toPrimitive() {\n return this.toJSON();\n }\n /**\n * @description Returns the string representation of the value\n */\n toString() {\n return ethereumEncode(this);\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'AccountId';\n }\n}\n","import { AbstractBase } from '@polkadot/types-codec';\nimport { isBigInt, isBn, isHex, isNumber, isU8a, u8aConcat, u8aToBn, u8aToHex, u8aToU8a } from '@polkadot/util';\nimport { decodeAddress } from '@polkadot/util-crypto';\nimport { GenericAccountIndex } from '../generic/AccountIndex.js';\nimport { GenericEthereumAccountId } from './AccountId.js';\nexport const ACCOUNT_ID_PREFIX = new Uint8Array([0xff]);\n/** @internal */\nfunction decodeString(registry, value) {\n const decoded = decodeAddress(value);\n return decoded.length === 20\n ? registry.createTypeUnsafe('EthereumAccountId', [decoded])\n : registry.createTypeUnsafe('AccountIndex', [u8aToBn(decoded)]);\n}\n/** @internal */\nfunction decodeU8a(registry, value) {\n // This allows us to instantiate an address with a raw publicKey. Do this first before\n // we checking the first byte, otherwise we may split an already-existent valid address\n if (value.length === 20) {\n return registry.createTypeUnsafe('EthereumAccountId', [value]);\n }\n else if (value[0] === 0xff) {\n return registry.createTypeUnsafe('EthereumAccountId', [value.subarray(1)]);\n }\n const [offset, length] = GenericAccountIndex.readLength(value);\n return registry.createTypeUnsafe('AccountIndex', [u8aToBn(value.subarray(offset, offset + length))]);\n}\nfunction decodeAddressOrIndex(registry, value) {\n return value instanceof GenericEthereumLookupSource\n ? value.inner\n : value instanceof GenericEthereumAccountId || value instanceof GenericAccountIndex\n ? value\n : isU8a(value) || Array.isArray(value) || isHex(value)\n ? decodeU8a(registry, u8aToU8a(value))\n : isBn(value) || isNumber(value) || isBigInt(value)\n ? registry.createTypeUnsafe('AccountIndex', [value])\n : decodeString(registry, value);\n}\n/**\n * @name GenericEthereumLookupSource\n * @description\n * A wrapper around an EthereumAccountId and/or AccountIndex that is encoded with a prefix.\n * Since we are dealing with underlying publicKeys (or shorter encoded addresses),\n * we extend from Base with an AccountId/AccountIndex wrapper. Basically the Address\n * is encoded as `[ <prefix-byte>, ...publicKey/...bytes ]` as per spec\n */\nexport class GenericEthereumLookupSource extends AbstractBase {\n constructor(registry, value = new Uint8Array()) {\n super(registry, decodeAddressOrIndex(registry, value));\n }\n /**\n * @description The length of the value when encoded as a Uint8Array\n */\n get encodedLength() {\n const rawLength = this._rawLength;\n return rawLength + (\n // for 1 byte AccountIndexes, we are not adding a specific prefix\n rawLength > 1\n ? 1\n : 0);\n }\n /**\n * @description The length of the raw value, either AccountIndex or AccountId\n */\n get _rawLength() {\n return this.inner instanceof GenericAccountIndex\n ? GenericAccountIndex.calcLength(this.inner)\n : this.inner.encodedLength;\n }\n /**\n * @description Returns a hex string representation of the value\n */\n toHex() {\n return u8aToHex(this.toU8a());\n }\n /**\n * @description Returns the base runtime type name for this instance\n */\n toRawType() {\n return 'Address';\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n * @param isBare true when the value has none of the type-specific prefixes (internal)\n */\n toU8a(isBare) {\n const encoded = this.inner.toU8a().subarray(0, this._rawLength);\n return isBare\n ? encoded\n : u8aConcat(this.inner instanceof GenericAccountIndex\n ? GenericAccountIndex.writeLength(encoded)\n : ACCOUNT_ID_PREFIX, encoded);\n }\n}\n","import { Enum } from '@polkadot/types-codec';\nimport { isString, isU8a, u8aToU8a } from '@polkadot/util';\n/** @internal */\nfunction decodeDataU8a(registry, value) {\n const indicator = value[0];\n if (!indicator) {\n return [undefined, undefined];\n }\n else if (indicator >= 1 && indicator <= 33) {\n const length = indicator - 1;\n const data = value.subarray(1, length + 1);\n // in this case, we are passing a Raw back (since we have no length)\n return [registry.createTypeUnsafe('Raw', [data]), 1];\n }\n else if (indicator >= 34 && indicator <= 37) {\n return [value.subarray(1, 32 + 1), indicator - 32]; // 34 becomes 2\n }\n throw new Error(`Unable to decode Data, invalid indicator byte ${indicator}`);\n}\n/** @internal */\nfunction decodeData(registry, value) {\n if (isU8a(value) || isString(value)) {\n return decodeDataU8a(registry, u8aToU8a(value));\n }\n else if (!value) {\n return [undefined, undefined];\n }\n // assume we have an Enum or an object input, handle this via the normal Enum decoding\n return [value, undefined];\n}\n/**\n * @name Data\n * @description\n * A [[Data]] container with node, raw or hashed data\n */\nexport class Data extends Enum {\n constructor(registry, value) {\n super(registry, {\n None: 'Null', // 0\n Raw: 'Bytes', // 1\n // eslint-disable-next-line sort-keys\n BlakeTwo256: 'H256', // 2\n Sha256: 'H256', // 3\n // eslint-disable-next-line sort-keys\n Keccak256: 'H256', // 4\n ShaThree256: 'H256' // 5\n }, ...decodeData(registry, value));\n if (this.isRaw && this.asRaw.length > 32) {\n throw new Error('Data.Raw values are limited to a maximum length of 32 bytes');\n }\n }\n get asBlakeTwo256() {\n return this.value;\n }\n get asKeccak256() {\n return this.value;\n }\n get asRaw() {\n return this.value;\n }\n get asSha256() {\n return this.value;\n }\n get asShaThree256() {\n return this.value;\n }\n get isBlakeTwo256() {\n return this.index === 2;\n }\n get isKeccak256() {\n return this.index === 4;\n }\n get isNone() {\n return this.index === 0;\n }\n get isRaw() {\n return this.index === 1;\n }\n get isSha256() {\n return this.index === 3;\n }\n get isShaThree256() {\n return this.index === 5;\n }\n /**\n * @description The encoded length\n */\n get encodedLength() {\n return this.toU8a().length;\n }\n /**\n * @description Encodes the value as a Uint8Array as per the SCALE specifications\n */\n toU8a() {\n if (this.index === 0) {\n return new Uint8Array(1);\n }\n else if (this.index === 1) {\n // don't add the length, just the data\n const data = this.value.toU8a(true);\n const length = Math.min(data.length, 32);\n const u8a = new Uint8Array(length + 1);\n u8a.set([length + 1], 0);\n u8a.set(data.subarray(0, length), 1);\n return u8a;\n }\n // otherwise we simply have a hash\n const u8a = new Uint8Array(33);\n u8a.set([this.index + 32], 0);\n u8a.set(this.value.toU8a(), 1);\n return u8a;\n }\n}\n","import { Bytes } from '@polkadot/types-codec';\nimport { isFunction, isString, isU8a } from '@polkadot/util';\nimport { getSiName } from '../metadata/util/index.js';\nimport { unwrapStorageType } from '../util/index.js';\nconst HASHER_MAP = {\n // opaque\n Blake2_128: [16, false], // eslint-disable-line camelcase\n Blake2_128Concat: [16, true], // eslint-disable-line camelcase\n Blake2_256: [32, false], // eslint-disable-line camelcase\n Identity: [0, true],\n Twox128: [16, false],\n Twox256: [32, false],\n Twox64Concat: [8, true]\n};\n/** @internal */\nfunction decodeStorageKey(value) {\n if (isU8a(value) || !value || isString(value)) {\n // let Bytes handle these inputs\n return { key: value };\n }\n else if (value instanceof StorageKey) {\n return {\n key: value,\n method: value.method,\n section: value.section\n };\n }\n else if (isFunction(value)) {\n return {\n key: value(),\n method: value.method,\n section: value.section\n };\n }\n else if (Array.isArray(value)) {\n const [fn, args = []] = value;\n if (!isFunction(fn)) {\n throw new Error('Expected function input for key construction');\n }\n if (fn.meta && fn.meta.type.isMap) {\n const map = fn.meta.type.asMap;\n if (!Array.isArray(args) || args.length !== map.hashers.length) {\n throw new Error(`Expected an array of ${map.hashers.length} values as params to a Map query`);\n }\n }\n return {\n key: fn(...args),\n method: fn.method,\n section: fn.section\n };\n }\n throw new Error(`Unable to convert input ${value} to StorageKey`);\n}\n/** @internal */\nfunction decodeHashers(registry, value, hashers) {\n // the storage entry is xxhashAsU8a(prefix, 128) + xxhashAsU8a(method, 128), 256 bits total\n let offset = 32;\n const count = hashers.length;\n const result = new Array(count);\n for (let i = 0; i < count; i++) {\n const [hasher, type] = hashers[i];\n const [hashLen, canDecode] = HASHER_MAP[hasher.type];\n const decoded = canDecode\n ? registry.createTypeUnsafe(getSiName(registry.lookup, type), [value.subarray(offset + hashLen)])\n : registry.createTypeUnsafe('Raw', [value.subarray(offset, offset + hashLen)]);\n offset += hashLen + (canDecode ? decoded.encodedLength : 0);\n result[i] = decoded;\n }\n return result;\n}\n/** @internal */\nfunction decodeArgsFromMeta(registry, value, meta) {\n if (!meta || !meta.type.isMap) {\n return [];\n }\n const { hashers, key } = meta.type.asMap;\n const keys = hashers.length === 1\n ? [key]\n : registry.lookup.getSiType(key).def.asTuple;\n return decodeHashers(registry, value, hashers.map((h, i) => [h, keys[i]]));\n}\n/** @internal */\nfunction getMeta(value) {\n if (value instanceof StorageKey) {\n return value.meta;\n }\n else if (isFunction(value)) {\n return value.meta;\n }\n else if (Array.isArray(value)) {\n const [fn] = value;\n return fn.meta;\n }\n return undefined;\n}\n/** @internal */\nfunction getType(registry, value) {\n if (value instanceof StorageKey) {\n return value.outputType;\n }\n else if (isFunction(value)) {\n return unwrapStorageType(registry, value.meta.type);\n }\n else if (Array.isArray(value)) {\n const [fn] = value;\n if (fn.meta) {\n return unwrapStorageType(registry, fn.meta.type);\n }\n }\n // If we have no type set, default to Raw\n return 'Raw';\n}\n/**\n * @name StorageKey\n * @description\n * A representation of a storage key (typically hashed) in the system. It can be\n * constructed by passing in a raw key or a StorageEntry with (optional) arguments.\n */\nexport class StorageKey extends Bytes {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore This is assigned via this.decodeArgsFromMeta()\n #args;\n #meta;\n #outputType;\n #method;\n #section;\n constructor(registry, value, override = {}) {\n const { key, method, section } = decodeStorageKey(value);\n super(registry, key);\n this.#outputType = getType(registry, value);\n // decode the args (as applicable based on the key and the hashers, after all init)\n this.setMeta(getMeta(value), override.section || section, override.method || method);\n }\n /**\n * @description Return the decoded arguments (applicable to map with decodable values)\n */\n get args() {\n return this.#args;\n }\n /**\n * @description The metadata or `undefined` when not available\n */\n get meta() {\n return this.#meta;\n }\n /**\n * @description The key method or `undefined` when not specified\n */\n get method() {\n return this.#method;\n }\n /**\n * @description The output type\n */\n get outputType() {\n return this.#outputType;\n }\n /**\n * @description The key section or `undefined` when not specified\n */\n get section() {\n return this.#section;\n }\n is(key) {\n return key.section === this.section && key.method === this.method;\n }\n /**\n * @description Sets the meta for this key\n */\n setMeta(meta, section, method) {\n this.#meta = meta;\n this.#method = method || this.#method;\n this.#section = section || this.#section;\n if (meta) {\n this.#outputType = unwrapStorageType(this.registry, meta.type);\n }\n try {\n this.#args = decodeArgsFromMeta(this.registry, this.toU8a(true), meta);\n }\n catch {\n // ignore...\n }\n return this;\n }\n /**\n * @description Returns the Human representation for this type\n */\n toHuman(_isExtended, disableAscii) {\n return this.#args.length\n ? this.#args.map((a) => a.toHuman(undefined, disableAscii))\n : super.toHuman(undefined, disableAscii);\n }\n /**\n * @description Returns the raw type for this\n */\n toRawType() {\n return 'StorageKey';\n }\n}\n","import { lazyMethod, objectSpread, stringCamelCase } from '@polkadot/util';\nimport { lazyVariants } from '../../../create/lazy.js';\nimport { getSiName } from '../../util/index.js';\nimport { objectNameToCamel } from '../util.js';\nimport { createUnchecked } from './createUnchecked.js';\nexport function filterCallsSome({ calls }) {\n return calls.isSome;\n}\nexport function createCallFunction(registry, lookup, variant, sectionName, sectionIndex) {\n const { fields, index } = variant;\n const count = fields.length;\n const args = new Array(count);\n for (let i = 0; i < count; i++) {\n const { name, type, typeName } = fields[i];\n args[i] = objectSpread({\n name: stringCamelCase(name.unwrapOr(`param${i}`)),\n type: getSiName(lookup, type)\n }, typeName.isSome\n ? { typeName: typeName.unwrap() }\n : null);\n }\n return createUnchecked(registry, sectionName, new Uint8Array([sectionIndex, index.toNumber()]), registry.createTypeUnsafe('FunctionMetadataLatest', [objectSpread({ args }, variant)]));\n}\n/** @internal */\nexport function decorateExtrinsics(registry, { lookup, pallets }, version) {\n const result = {};\n const filtered = pallets.filter(filterCallsSome);\n for (let i = 0, count = filtered.length; i < count; i++) {\n const { calls, index, name } = filtered[i];\n const sectionName = stringCamelCase(name);\n const sectionIndex = version >= 12 ? index.toNumber() : i;\n lazyMethod(result, sectionName, () => lazyVariants(lookup, calls.unwrap(), objectNameToCamel, (variant) => createCallFunction(registry, lookup, variant, sectionName, sectionIndex)));\n }\n return result;\n}\n","import { stringCamelCase } from '@polkadot/util';\nfunction convert(fn) {\n return ({ name }) => fn(name);\n}\nexport const objectNameToCamel = /*#__PURE__*/ convert(stringCamelCase);\nexport const objectNameToString = /*#__PURE__*/ convert((n) => n.toString());\n","import { stringCamelCase } from '@polkadot/util';\nfunction isTx(tx, callIndex) {\n return tx.callIndex[0] === callIndex[0] && tx.callIndex[1] === callIndex[1];\n}\n/** @internal */\nexport function createUnchecked(registry, section, callIndex, callMetadata) {\n const expectedArgs = callMetadata.fields;\n const funcName = stringCamelCase(callMetadata.name);\n const extrinsicFn = (...args) => {\n if (expectedArgs.length !== args.length) {\n throw new Error(`Extrinsic ${section}.${funcName} expects ${expectedArgs.length} arguments, got ${args.length}.`);\n }\n return registry.createTypeUnsafe('Call', [{ args, callIndex }, callMetadata]);\n };\n extrinsicFn.is = (tx) => isTx(tx, callIndex);\n extrinsicFn.callIndex = callIndex;\n extrinsicFn.meta = callMetadata;\n extrinsicFn.method = funcName;\n extrinsicFn.section = section;\n extrinsicFn.toJSON = () => callMetadata.toJSON();\n return extrinsicFn;\n}\n","import { isString, isU8a, u8aToU8a } from '@polkadot/util';\nimport { MetadataVersioned } from './MetadataVersioned.js';\nconst EMPTY_METADATA = new Uint8Array([0x6d, 0x65, 0x74, 0x61, 9]);\nconst VERSION_IDX = EMPTY_METADATA.length - 1;\n/** @internal */\nfunction decodeU8a(registry, u8a) {\n if (u8a.length === 0) {\n return EMPTY_METADATA;\n }\n else if (u8a[VERSION_IDX] === 9) {\n // This is an f-ing hack as a follow-up to another ugly hack\n // https://github.com/polkadot-js/api/commit/a9211690be6b68ad6c6dad7852f1665cadcfa5b2\n // when we fail on V9, try to re-parse it as v10...\n try {\n return new MetadataVersioned(registry, u8a);\n }\n catch {\n u8a[VERSION_IDX] = 10;\n }\n }\n return u8a;\n}\n/**\n * @name Metadata\n * @description\n * The versioned runtime metadata as a decoded structure\n */\nexport class Metadata extends MetadataVersioned {\n constructor(registry, value) {\n // const timeStart = performance.now()\n super(registry, isU8a(value) || isString(value)\n ? decodeU8a(registry, u8aToU8a(value))\n : value);\n // console.log('Metadata', `${(performance.now() - timeStart).toFixed(2)}ms`)\n }\n}\n","import { objectSpread } from '@polkadot/util';\n/** @internal */\nfunction createStorageHasher(registry, hasher) {\n // Blake2_128_Concat has been added at index 2, so we increment all the\n // indexes greater than 2\n if (hasher.toNumber() >= 2) {\n return registry.createTypeUnsafe('StorageHasherV10', [hasher.toNumber() + 1]);\n }\n return registry.createTypeUnsafe('StorageHasherV10', [hasher]);\n}\n/** @internal */\nfunction createStorageType(registry, entryType) {\n if (entryType.isMap) {\n return [objectSpread({}, entryType.asMap, {\n hasher: createStorageHasher(registry, entryType.asMap.hasher)\n }), 1];\n }\n if (entryType.isDoubleMap) {\n return [objectSpread({}, entryType.asDoubleMap, {\n hasher: createStorageHasher(registry, entryType.asDoubleMap.hasher),\n key2Hasher: createStorageHasher(registry, entryType.asDoubleMap.key2Hasher)\n }), 2];\n }\n return [entryType.asPlain, 0];\n}\n/** @internal */\nfunction convertModule(registry, mod) {\n const storage = mod.storage.unwrapOr(null);\n return registry.createTypeUnsafe('ModuleMetadataV10', [objectSpread({}, mod, {\n storage: storage\n ? objectSpread({}, storage, {\n items: storage.items.map((item) => objectSpread({}, item, {\n type: registry.createTypeUnsafe('StorageEntryTypeV10', createStorageType(registry, item.type))\n }))\n })\n : null\n })]);\n}\n/** @internal */\nexport function toV10(registry, { modules }) {\n return registry.createTypeUnsafe('MetadataV10', [{\n modules: modules.map((mod) => convertModule(registry, mod))\n }]);\n}\n","/** @internal */\nexport function toV11(registry, { modules }) {\n return registry.createTypeUnsafe('MetadataV11', [{\n // This is new in V11, pass V0 here - something non-existing, telling the API to use\n // the fallback for this information (on-chain detection)\n extrinsic: {\n signedExtensions: [],\n version: 0\n },\n modules\n }]);\n}\n","import { objectSpread } from '@polkadot/util';\n/**\n * @internal\n **/\nexport function toV12(registry, { extrinsic, modules }) {\n return registry.createTypeUnsafe('MetadataV12', [{\n extrinsic,\n modules: modules.map((mod) => registry.createTypeUnsafe('ModuleMetadataV12', [objectSpread({}, mod, { index: 255 })]))\n }]);\n}\n","/**\n * @internal\n **/\nexport function toV13(registry, v12) {\n return registry.createTypeUnsafe('MetadataV13', [v12]);\n}\n","import { stringCamelCase } from '@polkadot/util';\nimport { getAliasTypes } from '../../interfaces/alias.js';\nimport { knownOrigins } from '../../interfaces/runtime/definitions.js';\nconst BOXES = [['<', '>'], ['<', ','], [',', '>'], ['(', ')'], ['(', ','], [',', ','], [',', ')']];\n/**\n * Creates a compatible type mapping\n * @internal\n **/\nfunction compatType(specs, _type) {\n const type = _type.toString();\n const index = specs.findIndex(({ def }) => def.HistoricMetaCompat === type);\n if (index !== -1) {\n return index;\n }\n return specs.push({\n def: {\n HistoricMetaCompat: type\n }\n }) - 1;\n}\nfunction compatTypes(specs, ...types) {\n for (let i = 0, count = types.length; i < count; i++) {\n compatType(specs, types[i]);\n }\n}\nfunction makeTupleType(specs, entries) {\n return specs.push({\n def: {\n Tuple: entries\n }\n }) - 1;\n}\nfunction makeVariantType(modName, variantType, specs, variants) {\n return specs.push({\n def: {\n Variant: { variants }\n },\n path: [`pallet_${modName.toString()}`, 'pallet', variantType]\n }) - 1;\n}\n/**\n * @internal\n * generate & register the OriginCaller type\n **/\nfunction registerOriginCaller(registry, modules, metaVersion) {\n registry.register({\n OriginCaller: {\n _enum: modules\n .map((mod, index) => [\n mod.name.toString(),\n metaVersion >= 12\n ? mod.index.toNumber()\n : index\n ])\n .sort((a, b) => a[1] - b[1])\n .reduce((result, [name, index]) => {\n for (let i = Object.keys(result).length; i < index; i++) {\n result[`Empty${i}`] = 'Null';\n }\n result[name] = knownOrigins[name] || 'Null';\n return result;\n }, {})\n }\n });\n}\n/**\n * Find and apply the correct type override\n * @internal\n **/\nfunction setTypeOverride(sectionTypes, types) {\n types.forEach((type) => {\n const override = Object.keys(sectionTypes).find((aliased) => type.eq(aliased));\n if (override) {\n type.setOverride(sectionTypes[override]);\n }\n else {\n // FIXME: NOT happy with this approach, but gets over the initial hump cased by (Vec<Announcement>,BalanceOf)\n const orig = type.toString();\n const alias = Object\n .entries(sectionTypes)\n .reduce((result, [src, dst]) => BOXES.reduce((result, [a, z]) => result.replace(`${a}${src}${z}`, `${a}${dst}${z}`), result), orig);\n if (orig !== alias) {\n type.setOverride(alias);\n }\n }\n });\n}\n/**\n * Apply module-specific type overrides (always be done as part of toV14)\n * @internal\n **/\nfunction convertCalls(specs, registry, modName, calls, sectionTypes) {\n const variants = calls.map(({ args, docs, name }, index) => {\n setTypeOverride(sectionTypes, args.map(({ type }) => type));\n return registry.createTypeUnsafe('SiVariant', [{\n docs,\n fields: args.map(({ name, type }) => registry.createTypeUnsafe('SiField', [{ name, type: compatType(specs, type) }])),\n index,\n name\n }]);\n });\n return registry.createTypeUnsafe('PalletCallMetadataV14', [{\n type: makeVariantType(modName, 'Call', specs, variants)\n }]);\n}\n/**\n * Apply module-specific type overrides (always be done as part of toV14)\n * @internal\n */\nfunction convertConstants(specs, registry, constants, sectionTypes) {\n return constants.map(({ docs, name, type, value }) => {\n setTypeOverride(sectionTypes, [type]);\n return registry.createTypeUnsafe('PalletConstantMetadataV14', [{\n docs,\n name,\n type: compatType(specs, type),\n value\n }]);\n });\n}\n/**\n * Apply module-specific type overrides (always be done as part of toV14)\n * @internal\n */\nfunction convertErrors(specs, registry, modName, errors, _sectionTypes) {\n const variants = errors.map(({ docs, name }, index) => registry.createTypeUnsafe('SiVariant', [{\n docs,\n fields: [],\n index,\n name\n }]));\n return registry.createTypeUnsafe('PalletErrorMetadataV14', [{\n type: makeVariantType(modName, 'Error', specs, variants)\n }]);\n}\n/**\n * Apply module-specific type overrides (always be done as part of toV14)\n * @internal\n **/\nfunction convertEvents(specs, registry, modName, events, sectionTypes) {\n const variants = events.map(({ args, docs, name }, index) => {\n setTypeOverride(sectionTypes, args);\n return registry.createTypeUnsafe('SiVariant', [{\n docs,\n fields: args.map((t) => registry.createTypeUnsafe('SiField', [{ type: compatType(specs, t) }])),\n index,\n name\n }]);\n });\n return registry.createTypeUnsafe('PalletEventMetadataV14', [{\n type: makeVariantType(modName, 'Event', specs, variants)\n }]);\n}\nfunction createMapEntry(specs, registry, sectionTypes, { hashers, isLinked, isOptional, keys, value }) {\n setTypeOverride(sectionTypes, [value, ...(Array.isArray(keys) ? keys : [keys])]);\n return registry.createTypeUnsafe('StorageEntryTypeV14', [{\n Map: {\n hashers,\n key: hashers.length === 1\n ? compatType(specs, keys[0])\n : makeTupleType(specs, keys.map((t) => compatType(specs, t))),\n value: isLinked\n // For previous-generation linked-map support, the actual storage result\n // is a Tuple with the value and the Linkage (Option appears in teh value-part only)\n ? compatType(specs, `(${isOptional ? `Option<${value.toString()}>` : value.toString()}, Linkage<${keys[0].toString()}>)`)\n : compatType(specs, value)\n }\n }]);\n}\n/**\n * Apply module-specific storage type overrides (always part of toV14)\n * @internal\n **/\nfunction convertStorage(specs, registry, { items, prefix }, sectionTypes) {\n return registry.createTypeUnsafe('PalletStorageMetadataV14', [{\n items: items.map(({ docs, fallback, modifier, name, type }) => {\n let entryType;\n if (type.isPlain) {\n const plain = type.asPlain;\n setTypeOverride(sectionTypes, [plain]);\n entryType = registry.createTypeUnsafe('StorageEntryTypeV14', [{\n Plain: compatType(specs, plain)\n }]);\n }\n else if (type.isMap) {\n const map = type.asMap;\n entryType = createMapEntry(specs, registry, sectionTypes, {\n hashers: [map.hasher],\n isLinked: map.linked.isTrue,\n isOptional: modifier.isOptional,\n keys: [map.key],\n value: map.value\n });\n }\n else if (type.isDoubleMap) {\n const dm = type.asDoubleMap;\n entryType = createMapEntry(specs, registry, sectionTypes, {\n hashers: [dm.hasher, dm.key2Hasher],\n isLinked: false,\n isOptional: modifier.isOptional,\n keys: [dm.key1, dm.key2],\n value: dm.value\n });\n }\n else {\n const nm = type.asNMap;\n entryType = createMapEntry(specs, registry, sectionTypes, {\n hashers: nm.hashers,\n isLinked: false,\n isOptional: modifier.isOptional,\n keys: nm.keyVec,\n value: nm.value\n });\n }\n return registry.createTypeUnsafe('StorageEntryMetadataV14', [{\n docs,\n fallback,\n modifier,\n name,\n type: entryType\n }]);\n }),\n prefix\n }]);\n}\n/** @internal */\nfunction convertExtrinsic(registry, { signedExtensions, version }) {\n return registry.createTypeUnsafe('ExtrinsicMetadataV14', [{\n signedExtensions: signedExtensions.map((identifier) => ({\n identifier,\n type: 0 // we don't map the fields at all\n })),\n type: 0, // Map to extrinsic like in v14?\n version\n }]);\n}\n/** @internal */\nfunction createPallet(specs, registry, mod, { calls, constants, errors, events, storage }) {\n const sectionTypes = getAliasTypes(registry, stringCamelCase(mod.name));\n return registry.createTypeUnsafe('PalletMetadataV14', [{\n calls: calls && convertCalls(specs, registry, mod.name, calls, sectionTypes),\n constants: convertConstants(specs, registry, constants, sectionTypes),\n errors: errors && convertErrors(specs, registry, mod.name, errors, sectionTypes),\n events: events && convertEvents(specs, registry, mod.name, events, sectionTypes),\n index: mod.index,\n name: mod.name,\n storage: storage && convertStorage(specs, registry, storage, sectionTypes)\n }]);\n}\n/**\n * Convert the Metadata to v14\n * @internal\n **/\nexport function toV14(registry, v13, metaVersion) {\n const specs = [];\n // position 0 always has Null, additionally add internal defaults\n compatTypes(specs, 'Null', 'u8', 'u16', 'u32', 'u64');\n registerOriginCaller(registry, v13.modules, metaVersion);\n const extrinsic = convertExtrinsic(registry, v13.extrinsic);\n const pallets = v13.modules.map((mod) => createPallet(specs, registry, mod, {\n calls: mod.calls.unwrapOr(null),\n constants: mod.constants,\n errors: mod.errors.length ? mod.errors : null,\n events: mod.events.unwrapOr(null),\n storage: mod.storage.unwrapOr(null)\n }));\n return registry.createTypeUnsafe('MetadataV14', [{\n extrinsic,\n lookup: {\n types: specs.map((type, id) => registry.createTypeUnsafe('PortableType', [{ id, type }]))\n },\n pallets\n }]);\n}\n","const typesAlias = {\n assets: {\n Approval: 'AssetApproval',\n ApprovalKey: 'AssetApprovalKey',\n Balance: 'TAssetBalance',\n DestroyWitness: 'AssetDestroyWitness'\n },\n babe: {\n EquivocationProof: 'BabeEquivocationProof'\n },\n balances: {\n Status: 'BalanceStatus'\n },\n beefy: {\n AuthorityId: 'BeefyId'\n },\n contracts: {\n StorageKey: 'ContractStorageKey'\n },\n electionProviderMultiPhase: {\n Phase: 'ElectionPhase'\n },\n ethereum: {\n Block: 'EthBlock',\n Header: 'EthHeader',\n Receipt: 'EthReceipt',\n Transaction: 'EthTransaction',\n TransactionStatus: 'EthTransactionStatus'\n },\n evm: {\n Account: 'EvmAccount',\n Log: 'EvmLog',\n Vicinity: 'EvmVicinity'\n },\n grandpa: {\n Equivocation: 'GrandpaEquivocation',\n EquivocationProof: 'GrandpaEquivocationProof'\n },\n identity: {\n Judgement: 'IdentityJudgement'\n },\n inclusion: {\n ValidatorIndex: 'ParaValidatorIndex'\n },\n paraDisputes: {\n ValidatorIndex: 'ParaValidatorIndex'\n },\n paraInclusion: {\n ValidatorIndex: 'ParaValidatorIndex'\n },\n paraScheduler: {\n ValidatorIndex: 'ParaValidatorIndex'\n },\n paraShared: {\n ValidatorIndex: 'ParaValidatorIndex'\n },\n parachains: {\n Id: 'ParaId'\n },\n parasDisputes: {\n ValidatorIndex: 'ParaValidatorIndex'\n },\n parasInclusion: {\n ValidatorIndex: 'ParaValidatorIndex'\n },\n parasScheduler: {\n ValidatorIndex: 'ParaValidatorIndex'\n },\n parasShared: {\n ValidatorIndex: 'ParaValidatorIndex'\n },\n proposeParachain: {\n Proposal: 'ParachainProposal'\n },\n proxy: {\n Announcement: 'ProxyAnnouncement'\n },\n scheduler: {\n ValidatorIndex: 'ParaValidatorIndex'\n },\n shared: {\n ValidatorIndex: 'ParaValidatorIndex'\n },\n society: {\n Judgement: 'SocietyJudgement',\n Vote: 'SocietyVote'\n },\n staking: {\n Compact: 'CompactAssignments'\n },\n treasury: {\n Proposal: 'TreasuryProposal'\n },\n xcm: {\n AssetId: 'XcmAssetId'\n },\n xcmPallet: {\n AssetId: 'XcmAssetId'\n }\n};\n/**\n * @description Get types for specific modules (metadata override)\n */\nexport function getAliasTypes({ knownTypes }, section) {\n return {\n ...(typesAlias[section] ?? {}),\n ...(knownTypes.typesAlias?.[section] ?? {})\n };\n}\n","import { objectSpread } from '@polkadot/util';\n/**\n * Convert the Metadata to v15\n * @internal\n **/\nexport function toV15(registry, v14, _) {\n // V15 is mostly equivalent to v14 however it does add\n //\n // 1. The top-level apis entry - it is assumed that in usage we would\n // just check for all-empty (like this would construct)\n // 2. A docs param on the pallet itself\n // 3. Additional extrinsic parameters\n //\n // A straight conversion with createTypeUndafe magic fills in details\n // We need the UncheckedExtrinsic to extract the types, at least for v14\n // which does have these details embedded (previous-gen won't populate)\n const unchecked = v14.lookup.paramTypes.SpRuntimeUncheckedExtrinsic;\n return registry.createTypeUnsafe('MetadataV15', [\n objectSpread({}, v14, {\n extrinsic: registry.createTypeUnsafe('ExtrinsicMetadataV15', [\n objectSpread({}, v14.extrinsic, {\n addressType: unchecked?.[0].type.unwrapOr(0),\n callType: unchecked?.[1].type.unwrapOr(0),\n extraType: unchecked?.[3].type.unwrapOr(0),\n signatureType: unchecked?.[2].type.unwrapOr(0)\n })\n ]),\n outerEnums: registry.createTypeUnsafe('OuterEnums15', [{\n // FIXME We need to extract & add the errorType in here\n // (these doesn't seem to be an esay way to detect & extract it)\n callType: unchecked?.[1].type.unwrapOr(0),\n eventType: v14.lookup.paramTypes.FrameSystemEventRecord?.[0].type.unwrapOr(0)\n }])\n })\n ]);\n}\n","import { objectSpread } from '@polkadot/util';\nfunction palletsFromV15(registry, palletV15) {\n const deprecationInfo = registry.createTypeUnsafe('ItemDeprecationInfoV16', ['NotDeprecated']);\n const associatedTypes = registry.createTypeUnsafe('Vec<PalletAssociatedTypeMetadataV16>', [[]]);\n const viewFunctions = registry.createTypeUnsafe('Vec<PalletViewFunctionMetadataV16>', [[]]);\n return registry.createTypeUnsafe('PalletMetadataV16', [\n objectSpread({}, palletV15, {\n associatedTypes,\n calls: palletV15.calls.isSome ? convertCalls(registry, palletV15.calls.unwrap()) : null,\n constants: convertConstants(registry, palletV15.constants),\n deprecationInfo,\n errors: palletV15.errors.isSome ? converErrors(registry, palletV15.errors.unwrap()) : null,\n events: palletV15.events.isSome ? convertEvents(registry, palletV15.events.unwrap()) : null,\n storage: palletV15.storage.isSome ? convertStorage(registry, palletV15.storage.unwrap()) : null,\n viewFunctions\n })\n ]);\n}\nfunction convertStorage(registry, storage) {\n const deprecationInfo = registry.createTypeUnsafe('ItemDeprecationInfoV16', ['NotDeprecated']);\n const items = storage.items.map((item) => registry.createTypeUnsafe('StorageEntryMetadataV16', [\n objectSpread({}, item, { deprecationInfo })\n ]));\n return registry.createTypeUnsafe('PalletStorageMetadataV16', [{\n items: registry.createTypeUnsafe('Vec<StorageEntryMetadataV16>', [items]),\n prefix: storage.prefix\n }]);\n}\nfunction convertCalls(registry, calls) {\n const deprecationInfo = registry.createTypeUnsafe('EnumDeprecationInfoV16', []);\n return registry.createTypeUnsafe('PalletCallMetadataV16', [{\n deprecationInfo,\n type: calls.type\n }]);\n}\nfunction convertEvents(registry, events) {\n const deprecationInfo = registry.createTypeUnsafe('EnumDeprecationInfoV16', []);\n return registry.createTypeUnsafe('PalletEventMetadataV16', [{\n deprecationInfo,\n type: events.type\n }]);\n}\nfunction convertConstants(registry, constants) {\n const deprecationInfo = registry.createTypeUnsafe('ItemDeprecationInfoV16', ['NotDeprecated']);\n return registry.createTypeUnsafe('Vec<PalletConstantMetadataV16>', [\n constants.map((constant) => registry.createTypeUnsafe('PalletConstantMetadataV16', [\n objectSpread({}, constant, { deprecationInfo })\n ]))\n ]);\n}\nfunction converErrors(registry, errors) {\n const deprecationInfo = registry.createTypeUnsafe('EnumDeprecationInfoV16', []);\n return registry.createTypeUnsafe('PalletErrorMetadataV16', [{\n deprecationInfo,\n type: errors.type\n }]);\n}\nfunction extrinsicFromV15(registry, extrinsicV15) {\n const transactionExtensions = extrinsicV15.signedExtensions.map(({ additionalSigned, identifier, type }) => registry.createTypeUnsafe('TransactionExtensionMetadataV16', [{\n identifier,\n implict: additionalSigned,\n type\n }]));\n const indexes = transactionExtensions.map((_, i) => registry.createTypeUnsafe('Compact<u32>', [i]));\n const transactionExtensionsByVersion = registry.createTypeUnsafe('BTreeMap<u8, Vec<Compact<u32>>>', [new Map([[registry.createTypeUnsafe('u8', [extrinsicV15.version]), registry.createTypeUnsafe('Vec<Compact<u32>>', [indexes])]])]);\n return registry.createTypeUnsafe('ExtrinsicMetadataV16', [\n {\n addressType: extrinsicV15.addressType,\n callType: extrinsicV15.callType,\n signatureType: extrinsicV15.signatureType,\n transactionExtensions,\n transactionExtensionsByVersion,\n versions: [extrinsicV15.version]\n }\n ]);\n}\nfunction apisFromV15(registry, runtimeApiV15) {\n const deprecationInfo = registry.createTypeUnsafe('ItemDeprecationInfoV16', ['NotDeprecated']);\n const methods = runtimeApiV15.methods.map((method) => registry.createTypeUnsafe('RuntimeApiMethodMetadataV16', [objectSpread({}, method, { deprecationInfo })]));\n return registry.createTypeUnsafe('RuntimeApiMetadataV16', [\n objectSpread({}, runtimeApiV15, {\n deprecationInfo,\n methods,\n version: registry.createTypeUnsafe('Compact<u32>', [0])\n })\n ]);\n}\n/**\n * Convert the Metadata to v16\n * @internal\n **/\nexport function toV16(registry, v15, _) {\n const pallets = v15.pallets.map((pallet) => {\n return palletsFromV15(registry, pallet);\n });\n const extrinsic = extrinsicFromV15(registry, v15.extrinsic);\n const apis = v15.apis.map((runtimeApi) => apisFromV15(registry, runtimeApi));\n return registry.createTypeUnsafe('MetadataV16', [\n objectSpread({}, v15, {\n apis,\n extrinsic,\n pallets\n })\n ]);\n}\n","/**\n * Convert the Metadata (which is an alias) to latest\n * @internal\n **/\nexport function toLatest(_registry, v16, _metaVersion) {\n return v16;\n}\n","import { U32 } from '@polkadot/types-codec';\nexport const MAGIC_NUMBER = 0x6174656d; // `meta`, reversed for Little Endian encoding\nexport class MagicNumber extends U32 {\n constructor(registry, value) {\n super(registry, value);\n if (!this.isEmpty && !this.eq(MAGIC_NUMBER)) {\n throw new Error(`MagicNumber mismatch: expected ${registry.createTypeUnsafe('u32', [MAGIC_NUMBER]).toHex()}, found ${this.toHex()}`);\n }\n }\n}\n","export const KNOWN_VERSIONS = [16, 15, 14, 13, 12, 11, 10, 9];\nexport const LATEST_VERSION = KNOWN_VERSIONS[0];\nexport const TO_CALLS_VERSION = 14; // LATEST_VERSION;\n","import { Struct } from '@polkadot/types-codec';\nimport { getUniqTypes, toCallsOnly } from './util/index.js';\nimport { toV10 } from './v9/toV10.js';\nimport { toV11 } from './v10/toV11.js';\nimport { toV12 } from './v11/toV12.js';\nimport { toV13 } from './v12/toV13.js';\nimport { toV14 } from './v13/toV14.js';\nimport { toV15 } from './v14/toV15.js';\nimport { toV16 } from './v15/toV16.js';\nimport { toLatest } from './v16/toLatest.js';\nimport { MagicNumber } from './MagicNumber.js';\nimport { LATEST_VERSION, TO_CALLS_VERSION } from './versions.js';\n/**\n * @name MetadataVersioned\n * @description\n * The versioned runtime metadata as a decoded structure\n */\nexport class MetadataVersioned extends Struct {\n #converted = new Map();\n constructor(registry, value) {\n // const timeStart = performance.now()\n super(registry, {\n magicNumber: MagicNumber,\n metadata: 'MetadataAll'\n }, value);\n // console.log('MetadataVersioned', `${(performance.now() - timeStart).toFixed(2)}ms`)\n }\n #assertVersion = (version) => {\n if (this.version > version) {\n throw new Error(`Cannot convert metadata from version ${this.version} to ${version}`);\n }\n return this.version === version;\n };\n #getVersion = (version, fromPrev) => {\n if (version !== 'latest' && this.#assertVersion(version)) {\n const asCurr = `asV${version}`;\n return this.#metadata()[asCurr];\n }\n if (!this.#converted.has(version)) {\n const asPrev = version === 'latest'\n ? `asV${LATEST_VERSION}`\n : `asV${(version - 1)}`;\n this.#converted.set(version, fromPrev(this.registry, this[asPrev], this.version));\n }\n return this.#converted.get(version);\n };\n /**\n * @description the metadata wrapped\n */\n #metadata = () => {\n return this.getT('metadata');\n };\n /**\n * @description Returns the wrapped metadata as a limited calls-only (latest) version\n */\n get asCallsOnly() {\n return new MetadataVersioned(this.registry, {\n magicNumber: this.magicNumber,\n metadata: this.registry.createTypeUnsafe('MetadataAll', [toCallsOnly(this.registry, this.asLatest), TO_CALLS_VERSION])\n });\n }\n /**\n * @description Returns the wrapped metadata as a V9 object\n */\n get asV9() {\n this.#assertVersion(9);\n return this.#metadata().asV9;\n }\n /**\n * @description Returns the wrapped values as a V10 object\n */\n get asV10() {\n return this.#getVersion(10, toV10);\n }\n /**\n * @description Returns the wrapped values as a V11 object\n */\n get asV11() {\n return this.#getVersion(11, toV11);\n }\n /**\n * @description Returns the wrapped values as a V12 object\n */\n get asV12() {\n return this.#getVersion(12, toV12);\n }\n /**\n * @description Returns the wrapped values as a V13 object\n */\n get asV13() {\n return this.#getVersion(13, toV13);\n }\n /**\n * @description Returns the wrapped values as a V14 object\n */\n get asV14() {\n return this.#getVersion(14, toV14);\n }\n /**\n * @description Returns the wrapped values as a V15 object\n */\n get asV15() {\n return this.#getVersion(15, toV15);\n }\n /**\n * @description Returns the wrapped values as a V16 object\n */\n get asV16() {\n return this.#getVersion(16, toV16);\n }\n /**\n * @description Returns the wrapped values as a latest version object\n */\n get asLatest() {\n return this.#getVersion('latest', toLatest);\n }\n /**\n * @description The magicNumber for the Metadata (known constant)\n */\n get magicNumber() {\n return this.getT('magicNumber');\n }\n /**\n * @description the metadata version this structure represents\n */\n get version() {\n return this.#metadata().index;\n }\n getUniqTypes(throwError) {\n return getUniqTypes(this.registry, this.asLatest, throwError);\n }\n /**\n * @description Converts the Object to JSON, typically used for RPC transfers\n */\n toJSON() {\n // HACK(y): ensure that we apply the aliases if we have not done so already, this is\n // needed to ensure we have the correct overrides (which is only applied in toLatest)\n // eslint-disable-next-line no-unused-expressions\n this.asLatest;\n return super.toJSON();\n }\n}\n","import { hexToU8a, lazyMethod, lazyMethods, stringCamelCase } from '@polkadot/util';\nimport { objectNameToCamel } from '../util.js';\n/** @internal */\nexport function decorateConstants(registry, { pallets }, _version) {\n const result = {};\n for (let i = 0, count = pallets.length; i < count; i++) {\n const { constants, name } = pallets[i];\n if (!constants.isEmpty) {\n lazyMethod(result, stringCamelCase(name), () => lazyMethods({}, constants, (constant) => {\n const codec = registry.createTypeUnsafe(registry.createLookupType(constant.type), [hexToU8a(constant.value.toHex())]);\n // We are casting here since we are assigning to a read-only property\n codec.meta = constant;\n return codec;\n }, objectNameToCamel));\n }\n }\n return result;\n}\n","import { isCodec, isU8a, lazyMethod, stringCamelCase } from '@polkadot/util';\nimport { lazyVariants } from '../../../create/lazy.js';\nimport { variantToMeta } from '../errors/index.js';\nimport { objectNameToString } from '../util.js';\nexport function filterEventsSome({ events }) {\n return events.isSome;\n}\n/** @internal */\nexport function decorateEvents(registry, { lookup, pallets }, version) {\n const result = {};\n const filtered = pallets.filter(filterEventsSome);\n for (let i = 0, count = filtered.length; i < count; i++) {\n const { events, index, name } = filtered[i];\n const sectionIndex = version >= 12 ? index.toNumber() : i;\n lazyMethod(result, stringCamelCase(name), () => lazyVariants(lookup, events.unwrap(), objectNameToString, (variant) => ({\n // We sprinkle in isCodec & isU8a to ensure we are dealing with the correct objects\n is: (eventRecord) => isCodec(eventRecord) &&\n isU8a(eventRecord.index) &&\n sectionIndex === eventRecord.index[0] &&\n variant.index.eq(eventRecord.index[1]),\n meta: registry.createTypeUnsafe('EventMetadataLatest', [variantToMeta(lookup, variant)])\n })));\n }\n return result;\n}\n","import { TypeRegistry } from '@polkadot/types';\nimport {\n bnToU8a,\n compactToU8a,\n hexToU8a,\n stringToU8a,\n u8aToHex,\n} from '@polkadot/util';\nimport { blake2AsU8a, decodeAddress } from '@polkadot/util-crypto';\nimport { isEthAddress } from '../format';\n\n/**\n * reference: https://github.com/Moonsong-Labs/xcm-tools/blob/main/scripts/calculate-sovereign-account.ts\n */\n\nexport function getSovereignAccountAddresses(paraId: number) {\n const paraIdU8a = bnToU8a(paraId, { bitLength: 32 });\n const relay = u8aToHex(\n new Uint8Array([...stringToU8a('para'), ...paraIdU8a]),\n ).padEnd(66, '0');\n const generic = u8aToHex(\n new Uint8Array([...stringToU8a('sibl'), ...paraIdU8a]),\n ).padEnd(66, '0');\n const moonbeam = generic.slice(0, 42);\n\n return {\n generic,\n moonbeam,\n relay,\n };\n}\n\n/**\n * reference: https://github.com/Moonsong-Labs/xcm-tools/blob/main/scripts/calculate-multilocation-derivative-account.ts\n */\nexport function getMultilocationDerivedAddresses({\n paraId,\n address,\n parents = 0,\n}: {\n paraId?: number;\n address: string;\n parents?: 0 | 1 | 2;\n}) {\n const accType = isEthAddress(address) ? 'AccountKey20' : 'AccountId32';\n const decodedAddress = isEthAddress(address)\n ? hexToU8a(address)\n : decodeAddress(address);\n\n const family = getFamily(parents, paraId);\n\n const toHash = buildToHashPayload({\n parents,\n family,\n paraId,\n accType,\n address,\n decodedAddress,\n });\n\n const blake = blake2AsU8a(toHash);\n\n const address20 = u8aToHex(blake.slice(0, 20));\n const address32 = u8aToHex(blake.slice(0, 32));\n\n return {\n address20,\n address32,\n };\n}\n\nfunction getFamily(parents: 0 | 1 | 2, paraId?: number) {\n if (parents === 0 && paraId) {\n return 'ChildChain';\n } else if (parents === 1 && !paraId) {\n return 'ParentChain';\n } else if (parents === 2) {\n if (!paraId) {\n throw new Error(\n 'ParaId is required for global consensus to get the family for getMultilocationDerivedAddresses',\n );\n }\n return 'glblcnsnss';\n }\n return 'SiblingChain';\n}\n\nfunction buildToHashPayload({\n parents,\n family,\n paraId,\n accType,\n address,\n decodedAddress,\n}: {\n parents: 0 | 1 | 2;\n family: string;\n paraId?: number;\n accType: string;\n address: string;\n decodedAddress: Uint8Array;\n}): Uint8Array {\n if (parents === 2) {\n if (!isEthAddress(address) || accType !== 'AccountKey20') {\n throw new Error(\n 'GlobalConsensus (parents=2) branch currently supports AccountKey20 (20-byte) addresses only',\n );\n }\n if (paraId === undefined) {\n throw new Error(\n 'ParaId must be provided for parents=2 GlobalConsensus case',\n );\n }\n\n /**\n * currently only Kusama is supported, to calculate the computed origin account, we decide to hardcode it to avoid passing more parameters\n * if in the future we need another consensus, we can pass it as a parameter\n */\n const consensus = 'Kusama';\n /**\n * reference: https://github.com/paritytech/polkadot-sdk/blob/c9648837536dc71249f3f5dd13af6ac90ffb7a62/polkadot/xcm/src/v3/junction.rs#L86\n * Polkadot: [2]\n * Kusama: [3]\n */\n const consensusValue = [3];\n\n const registry = new TypeRegistry();\n\n return new Uint8Array([\n ...stringToU8a(family),\n ...Uint8Array.from(consensusValue),\n ...new Uint8Array([8]),\n ...registry\n .createType('[Junction; 2]', [\n { Parachain: paraId },\n { AccountKey20: { network: consensus, key: decodedAddress } },\n ])\n .toU8a(),\n ]);\n }\n\n // parents = 0 or 1: ORIGINAL descend-origin hashing logic\n return new Uint8Array([\n ...stringToU8a(family),\n ...(paraId ? compactToU8a(paraId) : []),\n ...compactToU8a(accType.length + (isEthAddress(address) ? 20 : 32)),\n ...stringToU8a(accType),\n ...decodedAddress,\n ]);\n}\n","import { ApiPromise, WsProvider } from '@polkadot/api';\nimport { typesBundle } from '@polkadot/apps-config';\nimport { LRUCache } from 'lru-cache';\n\nexport enum MRLTypes {\n // TODO handle both types according to RT version\n XcmVersionedMultiLocation = 'XcmVersionedMultiLocation',\n XcmVersionedLocation = 'XcmVersionedLocation',\n XcmRoutingUserAction = 'XcmRoutingUserAction',\n VersionedUserAction = 'VersionedUserAction',\n}\n\nconst cache = new LRUCache<string, Promise<ApiPromise>>({\n max: 20,\n dispose: async (promise: Promise<ApiPromise>) => {\n const api = await promise;\n\n if (api.isConnected) {\n api.disconnect();\n }\n },\n});\n\nexport async function getPolkadotApi(\n ws: string | string[],\n): Promise<ApiPromise> {\n const key = Array.isArray(ws) ? ws.join(';') : ws;\n const promise =\n cache.get(key) ||\n ApiPromise.create({\n noInitWarn: true,\n provider: new WsProvider(ws),\n types: {\n [MRLTypes.XcmRoutingUserAction]: {\n destination: MRLTypes.XcmVersionedLocation,\n },\n [MRLTypes.VersionedUserAction]: {\n _enum: { V1: MRLTypes.XcmRoutingUserAction },\n },\n },\n typesBundle,\n });\n\n cache.set(key, promise);\n\n const api = await promise;\n\n await api.isReady;\n\n return api;\n}\n","export function getPolkadotAppsUrl(ws: string) {\n return `https://polkadot.js.org/apps/?rpc=${encodeURIComponent(ws)}#/explorer/query`;\n}\n"],"mappings":"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","names":["definitions_default","runtime","definitions_default","runtime","definitions_default","runtime","definitions_default","runtime","runtime","definitions_default","runtime","runtime","definitions_default","runtime","definitions_default","runtime","definitions_default","runtime","definitions_default","rpc","runtime","definitions_default","rpc","runtime","runtime","definitions_default","runtime","runtime","definitions_default","runtime","definitions_default","definitions_default","rpc","runtime","definitions_default","rpc","runtime","definitions_default","rpc","definitions_default","rpc","runtime","definitions_default","runtime","definitions_default","rpc","definitions_default","rpc","definitions_default","definitions_default","runtime","definitions_default","runtime","definitions_default","runtime","definitions_default","runtime","definitions_default","rpc","runtime","definitions_default","rpc","runtime","definitions_default","definitions_default","definitions_default","runtime","definitions_default","runtime","rpc","runtime","definitions_default","rpc","runtime","runtime","definitions_default","runtime","runtime","definitions_default","runtime","definitions_default","runtime","definitions_default","runtime","definitions_default","definitions_default","definitions_default","runtime","definitions_default","runtime","definitions_default","runtime","definitions_default","runtime","runtime","definitions_default","runtime","definitions_default","rpc","definitions_default","rpc","rpc","runtime","definitions_default","rpc","runtime","definitions_default","definitions_default","runtime","definitions_default","runtime","definitions_default","definitions_default","definitions_default","definitions_default","definitions_default","definitions_default","definitions_default","runtime","definitions_default","runtime","runtime","definitions_default","runtime","runtime","definitions_default","runtime","definitions_default","definitions_default","runtime","definitions_default","runtime","TypeDefInfo","isFunction","compactToU8a","isU8a","isObject","isUndefined","isUndefined","isObject","isObject","u8aToHex","Type","src","box","bnToBn","isBigInt","isBn","isNumber","types","Type","isU8a","compactToU8a","identity","isHex","isNumber","isObject","isString","isU8a","stringify","u8aConcatStrict","u8aToHex","isNumber","Type","isU8a","isHex","isString","isObject","identity","index","u8aToHex","stringify","u8aConcatStrict","identity","isCodec","isNull","isU8a","isUndefined","u8aToHex","Type","isNull","isUndefined","isU8a","identity","isCodec","u8aToHex","identity","isFunction","isHex","isString","isU8a","stringify","u8aConcatStrict","u8aToU8a","isHex","u8aToU8a","stringify","identity","isFunction","isString","isU8a","types","u8aConcatStrict","compactFromU8aLim","identity","isHex","isU8a","stringify","u8aToU8a","isU8a","isHex","u8aToU8a","compactFromU8aLim","stringify","Type","identity","identity","isU8a","u8aConcatStrict","Type","identity","isU8a","u8aConcatStrict","compactFromU8aLim","compactToU8a","isString","u8aConcatStrict","u8aToU8a","isUndefined","u8aToHex","u8aToU8a","compactFromU8aLim","isString","u8aToU8a","compactToU8a","u8aConcatStrict","compactFromU8aLim","compactToU8a","isHex","isObject","isU8a","logger","stringify","u8aConcatStrict","u8aToHex","u8aToU8a","isBoolean","isHex","isObject","isU8a","isUndefined","objectProperties","stringCamelCase","stringify","u8aConcatStrict","u8aToHex","u8aToU8a","isObject","stringify","Type","isUndefined","stringCamelCase","isU8a","isHex","u8aToU8a","objectProperties","isBoolean","u8aToHex","u8aConcatStrict","l","logger","compactFromU8aLim","types","count","isU8a","isHex","u8aToU8a","isObject","compactToU8a","u8aToHex","stringify","u8aConcatStrict","compactFromU8aLim","compactToU8a","isHex","isU8a","logger","stringify","u8aConcatStrict","u8aToHex","u8aToU8a","l","logger","compactFromU8aLim","isU8a","isHex","u8aToU8a","compactToU8a","u8aToHex","stringify","u8aConcatStrict","compactFromU8aLim","compactToU8a","isString","isU8a","u8aToU8a","MAX_LENGTH","compactFromU8aLim","isU8a","isString","u8aToU8a","compactToU8a","isHex","isU8a","u8aToU8a","isU8a","u8aToHex","decodeU8a","isU8a","isHex","u8aToU8a","Type","Type","compactAddLength","compactFromU8aLim","compactToU8a","isHex","isString","isU8a","u8aToHex","u8aToString","MAX_LENGTH","isU8a","u8aToString","compactFromU8aLim","isHex","isString","compactToU8a","u8aToHex","compactAddLength","isU8a","u8aToU8a","u8aToU8a","isU8a","compactAddLength","compactToU8a","isHex","isU8a","u8aToU8a","Type","isU8a","isHex","u8aToU8a","compactAddLength","compactToU8a","Type","isHex","isU8a","u8aToHex","u8aToU8a","isFunction","objectProperties","stringify","objectProperties","isFunction","stringify","BN","bnToBn","bnToU8a","isBn","isNumber","isString","isU8a","isUndefined","objectProperties","stringify","stringPascalCase","u8aToBn","u8aToHex","u8aToU8a","BN","bnToBn","isUndefined","decodeSet","isU8a","u8aToBn","isString","u8aToU8a","stringPascalCase","objectProperties","isNumber","isBn","u8aToHex","stringify","bnToU8a","isNumber","stringify","isNumber","isString","stringify","isString","stringify","isRustEnum","isNumber","nested","wrapped","stringify","isNumber","Type","isHex","isU8a","u8aToHex","u8aToU8a","u8aToHex","isU8a","isHex","u8aToU8a","Type","isNumber","isUndefined","objectSpread","stringify","stringify","objectSpread","isUndefined","alias","isNumber","objectSpread","v0","v1","definitions_default","v0","v1","runtime","definitions_default","runtime","runtime","definitions_default","runtime","definitions_default","rpc","runtime","definitions_default","rpc","runtime","runtime","definitions_default","runtime","runtime","definitions_default","runtime","runtime","definitions_default","runtime","rpc","definitions_default","rpc","rpc","definitions_default","rpc","rpc","definitions_default","rpc","rpc","definitions_default","rpc","rpc","runtime","definitions_default","rpc","runtime","rpc","runtime","definitions_default","rpc","runtime","rpc","definitions_default","rpc","isNumber","isString","logger","objectSpread","stringCamelCase","stringify","stringPascalCase","l","params","lookupIndex","name","alias","types","logger","types","l","logger","types","extractTypes","types","objectSpread","formatBalance","isBn","isFunction","isNumber","isString","isU8a","lazyMethod","logger","objectSpread","stringCamelCase","stringify","blake2AsU8a","objectSpread","objectSpread","objectProperties","objectSpread","compactAddLength","compactFromU8a","compactToU8a","isHex","isU8a","objectSpread","u8aToHex","u8aToU8a","isU8a","isHex","decodeU8a","u8aToU8a","compactFromU8a","compactToU8a","u8aToHex","objectSpread","compactAddLength","bnToBn","formatNumber","hexToU8a","isHex","isObject","isU8a","u8aToBn","u8aToU8a","isU8a","isHex","u8aToU8a","isObject","u8aToBn","hexToU8a","formatNumber","bnToBn","hexToU8a","isHex","u8aToHex","VERSIONS","isHex","hexToU8a","u8aToHex","objectProperty","objectSpread","u8aToHex","isU8a","objectSpread","objectSpread","isU8a","isUndefined","objectProperties","objectSpread","stringify","u8aToHex","isU8a","u8aToHex","objectSpread","objectProperties","isUndefined","stringify","isU8a","EXTRINSIC_VERSION","objectSpread","objectProperties","objectSpread","objectSpread","objectProperties","compactAddLength","compactFromU8a","isHex","isObject","isU8a","objectSpread","u8aConcat","u8aToHex","u8aToU8a","decodeU8a","compactFromU8a","objectSpread","isU8a","isHex","u8aToU8a","isObject","u8aToHex","compactAddLength","u8aConcat","hexToU8a","isHex","isString","isU8a","u8aToU8a","BN","bnToBn","isBigInt","isBn","isHex","isNumber","isU8a","decodeAddress","encodeAddress","isHex","isObject","isU8a","objectSpread","u8aToU8a","isFunction","isNull","isUndefined","value","BN","bnToU8a","isNumber","stringToU8a","u8aToHex","u8aToString","isBigInt","isBn","isHex","isNumber","isU8a","u8aConcat","u8aToBn","u8aToHex","u8aToU8a","decodeAddress","decodeAddress","u8aToBn","decodeU8a","isBn","isNumber","isBigInt","isHex","isU8a","u8aToU8a","u8aToHex","u8aConcat","isBn","isNumber","isString","isU8a","decodeAddress","decodeU8a","isU8a","isBn","isNumber","isString","decodeAddress","isBoolean","isNumber","isU8a","isUndefined","hexToU8a","isHex","isString","isU8a","u8aToU8a","decodeAccountId","isBigInt","isBn","isHex","isNumber","isU8a","u8aConcat","u8aToBn","u8aToHex","u8aToU8a","decodeAddress","ACCOUNT_ID_PREFIX","decodeString","decodeAddress","u8aToBn","decodeU8a","decodeAddressOrIndex","isU8a","isHex","u8aToU8a","isBn","isNumber","isBigInt","u8aToHex","u8aConcat","isString","isU8a","u8aToU8a","u8a","isFunction","isString","isU8a","isU8a","isString","isFunction","lazyMethod","objectSpread","stringCamelCase","stringCamelCase","stringCamelCase","objectSpread","stringCamelCase","isString","isU8a","u8aToU8a","objectSpread","objectSpread","v12","stringCamelCase","knownTypes","types","alias","result","name","stringCamelCase","v13","objectSpread","v14","objectSpread","convertCalls","convertConstants","convertEvents","convertStorage","v15","v16","decodeU8a","isU8a","isString","u8aToU8a","hexToU8a","lazyMethod","stringCamelCase","lazyMethod","stringCamelCase","hexToU8a","isCodec","isU8a","lazyMethod","stringCamelCase","l","logger","stringCamelCase","lazyMethod","index","name","objectSpread","registry","mapping","i","blake2AsU8a","formatBalance","isU8a","Type","isNumber","isFunction","isString","stringify","knownTypes","isBn","bnToU8a","compactToU8a","hexToU8a","stringToU8a","u8aToHex","blake2AsU8a","decodeAddress","bnToU8a","u8aToHex","stringToU8a","hexToU8a","decodeAddress","blake2AsU8a","compactToU8a","MRLTypes"]}