@polkadot-api/substrate-bindings 0.0.1 → 0.1.0
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.
- package/dist/index.d.mts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +134 -102
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +37 -5
- package/dist/index.mjs.map +1 -1
- package/dist/min/index.d.ts +3 -1
- package/dist/min/index.js +1 -1
- package/dist/min/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -312,6 +312,37 @@ var Variant = (inner, ...args) => createCodec6(
|
|
|
312
312
|
Variant.enc = VariantEnc;
|
|
313
313
|
Variant.dec = VariantDec;
|
|
314
314
|
|
|
315
|
+
// src/codecs/scale/ethAccount.ts
|
|
316
|
+
import { fromHex as fromHex3, toHex as toHex3 } from "@polkadot-api/utils";
|
|
317
|
+
import { Bytes as Bytes7, createCodec as createCodec7, createDecoder as createDecoder3 } from "scale-ts";
|
|
318
|
+
import { keccak_256 as keccak } from "@noble/hashes/sha3";
|
|
319
|
+
var getFormattedAddress = (hexAddress) => {
|
|
320
|
+
const nonChecksum = hexAddress.slice(2);
|
|
321
|
+
const hashedAddress = toHex3(keccak(nonChecksum)).slice(2);
|
|
322
|
+
const result = new Array(40);
|
|
323
|
+
for (let i = 0; i < 40; i++) {
|
|
324
|
+
const checksumVal = parseInt(hashedAddress[i], 16);
|
|
325
|
+
const char2 = nonChecksum[i];
|
|
326
|
+
result[i] = checksumVal > 7 ? char2.toUpperCase() : char2;
|
|
327
|
+
}
|
|
328
|
+
return `0x${result.join("")}`;
|
|
329
|
+
};
|
|
330
|
+
var bytes20Dec = Bytes7(20)[1];
|
|
331
|
+
var ethAccount = createCodec7(
|
|
332
|
+
(input) => {
|
|
333
|
+
const bytes = fromHex3(input);
|
|
334
|
+
if (bytes.length !== 20)
|
|
335
|
+
throw new Error(`Invalid length found on EthAddress(${input})`);
|
|
336
|
+
const hexAddress = toHex3(bytes);
|
|
337
|
+
if (input === hexAddress || input === hexAddress.toUpperCase())
|
|
338
|
+
return bytes;
|
|
339
|
+
if (getFormattedAddress(hexAddress) !== input)
|
|
340
|
+
throw new Error(`Invalid checksum found on EthAddress(${input})`);
|
|
341
|
+
return bytes;
|
|
342
|
+
},
|
|
343
|
+
createDecoder3((bytes) => getFormattedAddress(toHex3(bytes20Dec(bytes))))
|
|
344
|
+
);
|
|
345
|
+
|
|
315
346
|
// src/codecs/blockHeader.ts
|
|
316
347
|
var textEncoder3 = new TextEncoder();
|
|
317
348
|
var textDecoder3 = new TextDecoder();
|
|
@@ -532,11 +563,11 @@ var v15 = Struct4({
|
|
|
532
563
|
});
|
|
533
564
|
|
|
534
565
|
// src/codecs/metadata/metadata.ts
|
|
535
|
-
import { Enum as Enum4, Struct as Struct5, u32 as u323, createCodec as
|
|
566
|
+
import { Enum as Enum4, Struct as Struct5, u32 as u323, createCodec as createCodec8 } from "scale-ts";
|
|
536
567
|
var unsupportedFn = () => {
|
|
537
568
|
throw new Error("Unsupported metadata version!");
|
|
538
569
|
};
|
|
539
|
-
var unsupported =
|
|
570
|
+
var unsupported = createCodec8(
|
|
540
571
|
unsupportedFn,
|
|
541
572
|
unsupportedFn
|
|
542
573
|
);
|
|
@@ -732,7 +763,7 @@ var Twox256 = (input) => {
|
|
|
732
763
|
var Twox64Concat = (encoded) => mergeUint82(u642.enc(h64(encoded)), encoded);
|
|
733
764
|
|
|
734
765
|
// src/storage.ts
|
|
735
|
-
import { mergeUint8 as mergeUint83, toHex as
|
|
766
|
+
import { mergeUint8 as mergeUint83, toHex as toHex4 } from "@polkadot-api/utils";
|
|
736
767
|
var textEncoder4 = new TextEncoder();
|
|
737
768
|
var Storage = (pallet) => {
|
|
738
769
|
const palledEncoded = Twox128(textEncoder4.encode(pallet));
|
|
@@ -741,7 +772,7 @@ var Storage = (pallet) => {
|
|
|
741
772
|
palledEncoded,
|
|
742
773
|
Twox128(textEncoder4.encode(name))
|
|
743
774
|
);
|
|
744
|
-
const palletItemEncodedHex =
|
|
775
|
+
const palletItemEncodedHex = toHex4(palletItemEncoded);
|
|
745
776
|
const bytesToSkip = encoders.map((e) => e[1]).map((x) => {
|
|
746
777
|
if (x === Identity)
|
|
747
778
|
return 0;
|
|
@@ -771,7 +802,7 @@ var Storage = (pallet) => {
|
|
|
771
802
|
const fns = encoders.map(
|
|
772
803
|
([{ enc: enc4 }, hash]) => (val) => hash(enc4(val))
|
|
773
804
|
);
|
|
774
|
-
const enc3 = (...args) =>
|
|
805
|
+
const enc3 = (...args) => toHex4(
|
|
775
806
|
mergeUint83(palletItemEncoded, ...args.map((val, idx) => fns[idx](val)))
|
|
776
807
|
);
|
|
777
808
|
return {
|
|
@@ -818,6 +849,7 @@ export {
|
|
|
818
849
|
enhanceCodec4 as enhanceCodec,
|
|
819
850
|
enhanceDecoder,
|
|
820
851
|
enhanceEncoder,
|
|
852
|
+
ethAccount,
|
|
821
853
|
fixedStr,
|
|
822
854
|
fromBufferToBase58,
|
|
823
855
|
getSs58AddressInfo,
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/codecs/scale/AccountId.ts","../src/utils/ss58-util.ts","../src/codecs/scale/Binary.ts","../src/codecs/scale/bitSequence.ts","../src/codecs/scale/compact.ts","../src/codecs/scale/char.ts","../src/codecs/scale/Hex.ts","../src/codecs/scale/fixed-str.ts","../src/codecs/scale/re-exported.ts","../src/codecs/scale/Self.ts","../src/codecs/scale/Variant.ts","../src/codecs/blockHeader.ts","../src/codecs/metadata/v15/v15.ts","../src/codecs/metadata/v15/lookup.ts","../src/codecs/metadata/v15/pallets.ts","../src/codecs/metadata/metadata.ts","../src/hashes/blake2.ts","../src/hashes/identity.ts","../src/hashes/twoX.ts","../src/hashes/h64.ts","../src/storage.ts"],"sourcesContent":["import { Bytes, enhanceCodec } from \"scale-ts\"\nimport {\n getSs58AddressInfo,\n SS58String,\n fromBufferToBase58,\n} from \"@/utils/ss58-util\"\n\nfunction fromBase58ToBuffer(nBytes: number, _ss58Format: number) {\n return (address: SS58String) => {\n const info = getSs58AddressInfo(address)\n if (!info.isValid) throw new Error(\"Invalid checksum\")\n const { publicKey } = info\n if (publicKey.length !== nBytes)\n throw new Error(\"Invalid public key length\")\n\n return publicKey\n }\n}\n\nexport const AccountId = (ss58Format: number = 42, nBytes: 32 | 33 = 32) =>\n enhanceCodec(\n Bytes(nBytes),\n fromBase58ToBuffer(nBytes, ss58Format),\n fromBufferToBase58(ss58Format),\n )\n","import { base58 } from \"@scure/base\"\nimport { blake2b } from \"@noble/hashes/blake2b\"\n\nconst SS58_PREFIX = new TextEncoder().encode(\"SS58PRE\")\nconst CHECKSUM_LENGTH = 2\n\nexport type SS58String = string & { __SS58String?: unknown }\nexport type SS58AddressInfo =\n | { isValid: false }\n | { isValid: true; ss58Format: number; publicKey: Uint8Array }\n\nexport const getSs58AddressInfo = (address: SS58String): SS58AddressInfo => {\n try {\n const decoded = base58.decode(address)\n const prefixBytes = decoded.subarray(0, decoded[0] & 0b0100_0000 ? 2 : 1)\n const publicKey = decoded.subarray(\n prefixBytes.length,\n decoded.length - CHECKSUM_LENGTH,\n )\n\n const checksum = decoded.subarray(prefixBytes.length + publicKey.length)\n const expectedChecksum = blake2b(\n Uint8Array.of(...SS58_PREFIX, ...prefixBytes, ...publicKey),\n {\n dkLen: 64,\n },\n ).subarray(0, CHECKSUM_LENGTH)\n\n const isChecksumValid =\n checksum[0] === expectedChecksum[0] && checksum[1] === expectedChecksum[1]\n\n if (!isChecksumValid) return { isValid: false }\n\n return {\n isValid: true,\n ss58Format: prefixBytesToNumber(prefixBytes),\n publicKey: publicKey.slice(),\n }\n } catch (_) {\n return { isValid: false }\n }\n}\n\nconst prefixBytesToNumber = (bytes: Uint8Array) => {\n const dv = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength)\n return dv.byteLength === 1 ? dv.getUint8(0) : dv.getUint16(0)\n}\n\nexport const fromBufferToBase58 = (ss58Format: number) => {\n const prefixBytes =\n ss58Format < 64\n ? Uint8Array.of(ss58Format)\n : Uint8Array.of(\n ((ss58Format & 0b0000_0000_1111_1100) >> 2) | 0b0100_0000,\n (ss58Format >> 8) | ((ss58Format & 0b0000_0000_0000_0011) << 6),\n )\n\n return (publicKey: Uint8Array): SS58String => {\n const checksum = blake2b(\n Uint8Array.of(...SS58_PREFIX, ...prefixBytes, ...publicKey),\n {\n dkLen: 64,\n },\n ).subarray(0, CHECKSUM_LENGTH)\n return base58.encode(\n Uint8Array.of(...prefixBytes, ...publicKey, ...checksum),\n )\n }\n}\n","import { Bytes, Codec, Decoder, Encoder, createCodec } from \"scale-ts\"\nimport { fromHex, toHex } from \"@polkadot-api/utils\"\nimport { HexString } from \"./Hex\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\n\nexport class Binary {\n #bytes: Uint8Array\n #hex: HexString | null = null\n #str: string | null = null\n\n constructor(data: Uint8Array) {\n this.#bytes = data\n }\n\n asText = () =>\n this.#str === null\n ? (this.#str = textDecoder.decode(this.#bytes))\n : this.#str\n\n asHex = () =>\n this.#hex === null ? (this.#hex = toHex(this.#bytes)) : this.#hex\n\n asBytes = () => this.#bytes\n\n static fromText(input: string): Binary {\n return new Binary(textEncoder.encode(input))\n }\n static fromHex(input: HexString): Binary {\n return new Binary(fromHex(input))\n }\n static fromBytes(input: Uint8Array): Binary {\n return new Binary(input)\n }\n}\n\nexport class FixedSizeBinary<_L extends number> extends Binary {\n constructor(data: Uint8Array) {\n super(data)\n }\n\n static fromArray<L extends number, I extends Array<number> & { length: L }>(\n input: I,\n ) {\n return new FixedSizeBinary<L>(new Uint8Array(input))\n }\n}\n\nconst enc = (nBytes?: number): Encoder<Binary> => {\n const _enc = Bytes.enc(nBytes)\n return (value) => _enc(value.asBytes())\n}\n\nconst dec = (nBytes?: number): Decoder<Binary> => {\n const _dec = Bytes.dec(nBytes)\n return (value) => Binary.fromBytes(_dec(value))\n}\n\nexport const Bin = (nBytes?: number): Codec<Binary> =>\n createCodec(enc(nBytes), dec(nBytes))\n\nBin.enc = enc\nBin.dec = dec\n","import { Bytes, Decoder, Encoder, createCodec, createDecoder } from \"scale-ts\"\nimport { compactNumber } from \"./compact\"\n\nexport interface BitSequence {\n bitsLen: number\n bytes: Uint8Array\n}\n\nconst bitSequenceDecoder: Decoder<BitSequence> = createDecoder((data) => {\n const bitsLen = compactNumber.dec(data)\n\n const bytesLen = Math.ceil(bitsLen / 8)\n const bytes = Bytes(bytesLen).dec(data)\n return { bytes, bitsLen }\n})\n\nconst bitSequenceEncoder: Encoder<BitSequence> = (input) => {\n if (input.bitsLen > input.bytes.length * 8)\n throw new Error(\n `Not enough bytes. (bitsLen:${input.bitsLen}, bytesLen:${input.bytes.length})`,\n )\n\n const lenEncoded = compactNumber.enc(input.bitsLen)\n const result = new Uint8Array(input.bytes.length + lenEncoded.length)\n result.set(lenEncoded, 0)\n result.set(input.bytes, lenEncoded.length)\n return result\n}\n\nexport const bitSequence = createCodec(bitSequenceEncoder, bitSequenceDecoder)\n","import { Codec, compact } from \"scale-ts\"\n\nexport const compactNumber = compact as Codec<number>\nexport const compactBn = compact as Codec<bigint>\n","import { enhanceCodec, u8 } from \"scale-ts\"\n\nexport const char = enhanceCodec(\n u8,\n (str: string) => str.charCodeAt(0),\n String.fromCharCode,\n)\n","import { fromHex, toHex } from \"@polkadot-api/utils\"\nimport { Bytes, Codec, Decoder, Encoder, createCodec } from \"scale-ts\"\n\nexport type HexString = string & { __hexString?: unknown }\n\nconst enc = (nBytes?: number): Encoder<HexString> => {\n const _enc = Bytes.enc(nBytes)\n return (value: string) => _enc(fromHex(value))\n}\n\nconst dec = (nBytes?: number): Decoder<HexString> => {\n const _dec = Bytes.dec(nBytes)\n return (value) => toHex(_dec(value)) as HexString\n}\n\nexport const Hex = (nBytes?: number): Codec<HexString> =>\n createCodec(enc(nBytes), dec(nBytes))\n\nHex.enc = enc\nHex.dec = dec\n","import { Bytes, enhanceCodec } from \"scale-ts\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\n\nexport const fixedStr = (nBytes: number) =>\n enhanceCodec(\n Bytes(nBytes),\n (str: string) => textEncoder.encode(str),\n (bytes) => textDecoder.decode(bytes),\n )\n","export {\n _void,\n bool,\n compact,\n str,\n u8,\n u16,\n u32,\n u64,\n u128,\n u256,\n i8,\n i16,\n i32,\n i64,\n i128,\n i256,\n Option,\n Result,\n Vector,\n Tuple,\n Struct,\n Bytes,\n enhanceCodec,\n enhanceEncoder,\n enhanceDecoder,\n createCodec,\n createDecoder,\n} from \"scale-ts\"\n\nexport type {\n Encoder,\n Decoder,\n Codec,\n CodecType,\n EncoderType,\n DecoderType,\n StringRecord,\n ResultPayload,\n} from \"scale-ts\"\n","import { Codec, Decoder, Encoder, createCodec, _void } from \"scale-ts\"\n\nexport const selfEncoder = <T>(value: () => Encoder<T>): Encoder<T> => {\n let cache: Encoder<T> = (x) => {\n const encoder = value()\n cache = encoder\n return encoder(x)\n }\n\n return (x) => cache(x)\n}\n\nexport const selfDecoder = <T>(value: () => Decoder<T>): Decoder<T> => {\n let cache: Decoder<T> = (x) => {\n const decoder = value()\n const result = decoder\n cache = decoder\n return result(x)\n }\n\n return (x) => cache(x)\n}\n\nexport const Self = <T>(value: () => Codec<T>): Codec<T> =>\n createCodec(\n selfEncoder(() => value().enc),\n selfDecoder(() => value().dec),\n )\n","import {\n Codec,\n CodecType,\n Decoder,\n DecoderType,\n Encoder,\n EncoderType,\n Enum as ScaleEnum,\n StringRecord,\n createCodec,\n} from \"scale-ts\"\nimport { mapObject } from \"@polkadot-api/utils\"\n\ntype Tuple<T, N extends number> = readonly [T, ...T[]] & { length: N }\n\ntype Push<T extends any[], V> = [...T, V]\n\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (\n k: infer I,\n) => void\n ? I\n : never\n\ntype LastOf<T> =\n UnionToIntersection<T extends any ? () => T : never> extends () => infer R\n ? R\n : never\n\ntype TuplifyUnion<\n T,\n L = LastOf<T>,\n N = [T] extends [never] ? true : false,\n> = true extends N ? [] : Push<TuplifyUnion<Exclude<T, L>>, L>\n\ntype RestrictedLenTuple<T, O extends StringRecord<any>> = Tuple<\n T,\n TuplifyUnion<keyof O> extends Tuple<any, infer V> ? V : 0\n>\n\nexport type ExtractEnumValue<\n T extends { type: string; value?: any },\n K extends string,\n> = T extends { type: K; value: infer R } ? R : never\n\nexport interface Discriminant<T extends { type: string; value?: any }> {\n is<K extends T[\"type\"]>(\n this: Enum<T>,\n type: K,\n ): this is Enum<{ type: K; value: ExtractEnumValue<T, K> }>\n as<K extends T[\"type\"]>(type: K): ExtractEnumValue<T, K>\n}\n\nexport type Enum<T extends { type: string; value?: any }> = T & Discriminant<T>\n\nexport const _Enum = new Proxy(\n {},\n {\n get(_, prop: string) {\n return (value: string) => (Enum as any)(prop, value)\n },\n },\n)\n\nexport const Enum: <\n T extends { type: string; value?: any },\n Key extends T[\"type\"],\n>(\n type: Key,\n ...args: ExtractEnumValue<T, Key> extends undefined\n ? []\n : [value: ExtractEnumValue<T, Key>]\n) => Enum<\n ExtractEnumValue<T, Key> extends undefined\n ? T\n : ExtractEnumValue<T, Key> extends never\n ? T\n : {\n type: Key\n value: ExtractEnumValue<T, Key>\n }\n> = ((_type: string, _value: any) => ({\n as: (type: string) => {\n if (type !== _type)\n // TODO: fix error\n throw new Error(`Enum.as(${type}) used with actual type ${_type}`)\n return _value\n },\n is: (type: string) => type === _type,\n type: _type,\n value: _value,\n})) as any\n\nconst VariantEnc = <O extends StringRecord<Encoder<any>>>(\n ...args: [inner: O, x?: RestrictedLenTuple<number, O>]\n): Encoder<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: EncoderType<O[K]> }\n : never\n }[keyof O]\n >\n> => {\n const enc = ScaleEnum.enc<O>(...(args as [any, any]))\n return (v) => enc({ tag: v.type, value: v.value })\n}\n\nconst VariantDec = <O extends StringRecord<Decoder<any>>>(\n ...args: [inner: O, x?: RestrictedLenTuple<number, O>]\n): Decoder<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: DecoderType<O[K]> }\n : never\n }[keyof O]\n >\n> => {\n const dec = ScaleEnum.dec<O>(...(args as [any, any]))\n return (v) => {\n const { tag, value } = dec(v)\n return Enum(tag as any, value as any) as any\n }\n}\n\nexport const Variant = <O extends StringRecord<Codec<any>>>(\n inner: O,\n ...args: [indexes?: RestrictedLenTuple<number, O>]\n): Codec<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: CodecType<O[K]> }\n : never\n }[keyof O]\n >\n> =>\n createCodec(\n VariantEnc(\n mapObject(inner, ([encoder]) => encoder) as StringRecord<\n O[keyof O][\"enc\"]\n >,\n ...(args as any[]),\n ) as Encoder<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: CodecType<O[K]> }\n : never\n }[keyof O]\n >\n >,\n VariantDec(\n mapObject(inner, ([, decoder]) => decoder) as StringRecord<\n O[keyof O][\"dec\"]\n >,\n ...(args as any[]),\n ) as Decoder<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: CodecType<O[K]> }\n : never\n }[keyof O]\n >\n >,\n )\n\nVariant.enc = VariantEnc\nVariant.dec = VariantDec\n","import {\n Bytes,\n CodecType,\n Struct,\n Vector,\n _void,\n enhanceCodec,\n Hex,\n Variant,\n compactNumber,\n} from \"./scale\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\n\nconst fourChars = enhanceCodec(\n Bytes(4),\n textEncoder.encode.bind(textEncoder),\n textDecoder.decode.bind(textDecoder),\n)\n\nconst diggestVal = Struct({\n engine: fourChars,\n payload: Hex(),\n})\n\nconst diggest = Variant(\n {\n consensus: diggestVal,\n seal: diggestVal,\n preRuntime: diggestVal,\n runtimeUpdated: _void,\n },\n [4, 5, 6, 8],\n)\n\nconst hex32 = Hex(32)\nexport const blockHeader = Struct({\n parentHash: hex32,\n number: compactNumber,\n stateRoot: hex32,\n extrinsicRoot: hex32,\n digests: Vector(diggest),\n})\n\nexport type BlockHeader = CodecType<typeof blockHeader>\n","import { CodecType, Struct, Tuple, Vector, str, u8 } from \"scale-ts\"\nimport { lookup } from \"./lookup\"\nimport { pallets } from \"./pallets\"\nimport { Hex, compactNumber as ty } from \"../../scale\"\nexport type { V14Lookup } from \"./lookup\"\n\nconst docs = Vector(str)\n\nconst runtimeApi = Struct({\n name: str,\n methods: Vector(\n Struct({\n name: str,\n inputs: Vector(\n Struct({\n name: str,\n type: ty,\n }),\n ),\n output: ty,\n docs,\n }),\n ),\n docs,\n})\n\nconst extrinsic = Struct({\n version: u8,\n address: ty,\n call: ty,\n signature: ty,\n extra: ty,\n signedExtensions: Vector(\n Struct({\n identifier: str,\n type: ty,\n additionalSigned: ty,\n }),\n ),\n})\nexport type V15Extrinsic = CodecType<typeof extrinsic>\n\nexport const v15 = Struct({\n lookup,\n pallets,\n extrinsic,\n type: ty,\n apis: Vector(runtimeApi),\n outerEnums: Struct({\n call: ty,\n event: ty,\n error: ty,\n }),\n custom: Vector(Tuple(str, Struct({ type: ty, value: Hex() }))),\n})\nexport type V15 = CodecType<typeof v15>\n","import { compactNumber } from \"../../scale/compact\"\nimport {\n CodecType,\n Enum,\n Option,\n Struct,\n Vector,\n _void,\n str,\n u32,\n u8,\n} from \"scale-ts\"\n\nconst oStr = Option(str)\nconst strs = Vector(str)\n\nconst primitive = Enum({\n bool: _void,\n char: _void,\n str: _void,\n u8: _void,\n u16: _void,\n u32: _void,\n u64: _void,\n u128: _void,\n u256: _void,\n i8: _void,\n i16: _void,\n i32: _void,\n i64: _void,\n i128: _void,\n i256: _void,\n})\n\nconst fields = Vector(\n Struct({\n name: oStr,\n type: compactNumber,\n typeName: oStr,\n docs: strs,\n }),\n)\n\nconst arr = Struct({\n len: u32,\n type: compactNumber,\n})\n\nconst bitSequence = Struct({\n bitStoreType: compactNumber,\n bitOrderType: compactNumber,\n})\n\nconst variant = Vector(\n Struct({\n name: str,\n fields,\n index: u8,\n docs: strs,\n }),\n)\n\nconst def = Enum({\n composite: fields,\n variant,\n sequence: compactNumber,\n array: arr,\n tuple: Vector(compactNumber),\n primitive,\n compact: compactNumber,\n bitSequence,\n})\n\nconst param = Struct({\n name: str,\n type: Option(compactNumber),\n})\nconst params = Vector(param)\n\nconst entry = Struct({\n id: compactNumber,\n path: strs,\n params,\n def,\n docs: strs,\n})\n\nexport const lookup = Vector(entry)\nexport type V14Lookup = CodecType<typeof lookup>\n","import { Hex, compactNumber } from \"@/codecs/scale\"\nimport {\n Struct,\n Option,\n Vector,\n u8,\n str,\n Enum,\n _void,\n CodecType,\n} from \"scale-ts\"\n\nconst hashType = Enum({\n Blake2128: _void,\n Blake2256: _void,\n Blake2128Concat: _void,\n Twox128: _void,\n Twox256: _void,\n Twox64Concat: _void,\n Identity: _void,\n})\n\nconst hashers = Vector(hashType)\n\nconst storageMap = Struct({\n hashers,\n key: compactNumber,\n value: compactNumber,\n})\n\nconst storageItem = Struct({\n name: str,\n modifier: u8,\n type: Enum({\n plain: compactNumber,\n map: storageMap,\n }),\n fallback: Hex(),\n docs: Vector(str),\n})\n\nconst storage = Option(\n Struct({\n prefix: str,\n items: Vector(storageItem),\n }),\n)\n\nexport const pallets = Vector(\n Struct({\n name: str,\n storage,\n calls: Option(compactNumber),\n events: Option(compactNumber),\n constants: Vector(\n Struct({\n name: str,\n type: compactNumber,\n value: Hex(),\n docs: Vector(str),\n }),\n ),\n errors: Option(compactNumber),\n index: u8,\n docs: Vector(str),\n }),\n)\n\nexport type V15Pallets = CodecType<typeof pallets>\n","import { Enum, Struct, u32, Codec, createCodec } from \"scale-ts\"\nimport { v15 } from \"./v15\"\n\nconst unsupportedFn = () => {\n throw new Error(\"Unsupported metadata version!\")\n}\n\nconst unsupported = createCodec(\n unsupportedFn,\n unsupportedFn,\n) as unknown as Codec<unknown>\n\nexport const metadata = Struct({\n magicNumber: u32,\n metadata: Enum({\n v0: unsupported,\n v1: unsupported,\n v2: unsupported,\n v3: unsupported,\n v4: unsupported,\n v5: unsupported,\n v6: unsupported,\n v7: unsupported,\n v8: unsupported,\n v9: unsupported,\n v10: unsupported,\n v11: unsupported,\n v12: unsupported,\n v13: unsupported,\n v14: unsupported,\n v15,\n }),\n})\n","import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { blake2b } from \"@noble/hashes/blake2b\"\n\nconst len32 = { dkLen: 32 }\nexport const Blake2256 = (encoded: Uint8Array) => blake2b(encoded, len32)\n\nconst len16 = { dkLen: 16 }\nexport const Blake2128 = (encoded: Uint8Array) => blake2b(encoded, len16)\n\nexport const Blake2128Concat = (encoded: Uint8Array) =>\n mergeUint8(Blake2128(encoded), encoded)\n","export const Identity = (encoded: Uint8Array): Uint8Array => encoded\n","import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { u64 } from \"scale-ts\"\nimport { h64 } from \"./h64\"\n\nexport const Twox128 = (input: Uint8Array): Uint8Array => {\n const result = new Uint8Array(16)\n const dv = new DataView(result.buffer)\n\n dv.setBigUint64(0, h64(input), true)\n dv.setBigUint64(8, h64(input, 1n), true)\n\n return result\n}\n\nexport const Twox256 = (input: Uint8Array): Uint8Array => {\n const result = new Uint8Array(32)\n const dv = new DataView(result.buffer)\n\n dv.setBigUint64(0, h64(input), true)\n dv.setBigUint64(8, h64(input, 1n), true)\n dv.setBigUint64(16, h64(input, 2n), true)\n dv.setBigUint64(24, h64(input, 3n), true)\n\n return result\n}\n\nexport const Twox64Concat = (encoded: Uint8Array): Uint8Array =>\n mergeUint8(u64.enc(h64(encoded)), encoded)\n","// Adapted implementation based on: https://github.com/pierrec/js-xxhash/blob/7ff5ced282f97dba121109d7013e0fa80360398c/lib/xxhash64.js\n\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\n\n// helper functions\nconst bigintFromU16 = (\n v0: number,\n v1: number,\n v2: number,\n v3: number,\n): bigint =>\n new DataView(new Uint16Array([v0, v1, v2, v3]).buffer).getBigUint64(0, true)\n\nconst MASK_64 = 2n ** 64n - 1n\n\nconst rotl = (input: bigint, nBits: bigint) =>\n ((input << nBits) & MASK_64) | (input >> (64n - nBits))\n\nconst multiply = (a: bigint, b: bigint) => (a * b) & MASK_64\n\nconst add = (a: bigint, b: bigint) => (a + b) & MASK_64\n\n// constants\nconst PRIME64_1 = 11400714785074694791n\nconst PRIME64_2 = 14029467366897019727n\nconst PRIME64_3 = 1609587929392839161n\nconst PRIME64_4 = 9650029242287828579n\nconst PRIME64_5 = 2870177450012600261n\n\nexport function h64(input: Uint8Array, seed: bigint = 0n) {\n let v1 = add(add(seed, PRIME64_1), PRIME64_2)\n let v2 = add(seed, PRIME64_2)\n let v3 = seed\n let v4 = seed - PRIME64_1\n let totalLen = input.length\n let memsize = 0\n let memory: Uint8Array | null = null\n\n ;(function update() {\n let p = 0\n let bEnd = p + totalLen\n\n if (!totalLen) return\n\n memory = new Uint8Array(32)\n\n if (totalLen < 32) {\n memory.set(input.subarray(0, totalLen), memsize)\n\n memsize += totalLen\n return\n }\n\n if (p <= bEnd - 32) {\n const limit = bEnd - 32\n\n do {\n let other\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n v1 = multiply(rotl(add(v1, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n\n v2 = multiply(rotl(add(v2, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n\n v3 = multiply(rotl(add(v3, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n v4 = multiply(rotl(add(v4, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n } while (p <= limit)\n }\n\n if (p < bEnd) {\n memory.set(input.subarray(p, bEnd), memsize)\n memsize = bEnd - p\n }\n })()\n\n input = memory || input\n\n let result: bigint\n let p = 0\n\n if (totalLen >= 32) {\n result = rotl(v1, 1n)\n result = add(result, rotl(v2, 7n))\n result = add(result, rotl(v3, 12n))\n result = add(result, rotl(v4, 18n))\n\n v1 = multiply(rotl(multiply(v1, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v1\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n\n v2 = multiply(rotl(multiply(v2, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v2\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n\n v3 = multiply(rotl(multiply(v3, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v3\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n\n v4 = multiply(rotl(multiply(v4, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v4\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n } else {\n result = add(seed, PRIME64_5)\n }\n\n result = add(result, BigInt(totalLen))\n\n while (p <= memsize - 8) {\n let temp = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n temp = multiply(rotl(multiply(temp, PRIME64_2), 31n), PRIME64_1)\n result = add(multiply(rotl(result ^ temp, 27n), PRIME64_1), PRIME64_4)\n p += 8\n }\n\n if (p + 4 <= memsize) {\n let temp = multiply(\n bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n 0,\n 0,\n ),\n PRIME64_1,\n )\n\n result = add(multiply(rotl(result ^ temp, 23n), PRIME64_2), PRIME64_3)\n p += 4\n }\n\n while (p < memsize) {\n const temp = multiply(bigintFromU16(input[p++], 0, 0, 0), PRIME64_5)\n result = multiply(rotl(result ^ temp, 11n), PRIME64_1)\n }\n\n let temp = result >> 33n\n result = multiply(result ^ temp, PRIME64_2)\n\n temp = result >> 29n\n result = multiply(result ^ temp, PRIME64_3)\n\n temp = result >> 32n\n result ^= temp\n\n return result\n}\n","import { mergeUint8, toHex } from \"@polkadot-api/utils\"\nimport { Codec, Decoder } from \"scale-ts\"\nimport { Blake2128Concat, Identity, Twox128, Twox64Concat } from \"./hashes\"\n\nexport type EncoderWithHash<T> = [Codec<T>, (input: Uint8Array) => Uint8Array]\n\nconst textEncoder = new TextEncoder()\n\nexport const Storage = (pallet: string) => {\n const palledEncoded = Twox128(textEncoder.encode(pallet))\n return <T, A extends Array<EncoderWithHash<any>>>(\n name: string,\n dec: Decoder<T>,\n ...encoders: [...A]\n ): {\n enc: (\n ...args: {\n [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown\n }\n ) => string\n dec: Decoder<T>\n keyDecoder: (value: string) => {\n [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown\n }\n } => {\n const palletItemEncoded = mergeUint8(\n palledEncoded,\n Twox128(textEncoder.encode(name)),\n )\n\n const palletItemEncodedHex = toHex(palletItemEncoded)\n const bytesToSkip = encoders\n .map((e) => e[1])\n .map((x) => {\n if (x === Identity) return 0\n if (x === Twox64Concat) return 8\n if (x === Blake2128Concat) return 16\n return null\n })\n .filter(Boolean) as Array<number>\n\n const keyDecoder = (\n key: string,\n ): {\n [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown\n } => {\n if (!key.startsWith(palletItemEncodedHex))\n throw new Error(`key does not match this storage (${pallet}.${name})`)\n\n if (bytesToSkip.length !== encoders.length)\n throw new Error(\"Impossible to decode this key\")\n\n if (encoders.length === 0) return [] as any\n\n const argsKey = key.slice(palletItemEncodedHex.length)\n const result = new Array<any>(encoders.length)\n for (let i = 0, cur = 0; i < bytesToSkip.length; i++) {\n const codec = encoders[i][0]\n cur += bytesToSkip[i]\n result[i] = codec.dec(argsKey.slice(cur * 2))\n cur += codec.enc(result[i]).length\n }\n return result as any\n }\n\n const fns = encoders.map(\n ([{ enc }, hash]) =>\n (val: any) =>\n hash(enc(val)),\n )\n\n const enc = (\n ...args: {\n [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown\n }\n ): string =>\n toHex(\n mergeUint8(palletItemEncoded, ...args.map((val, idx) => fns[idx](val))),\n )\n\n return {\n enc,\n dec,\n keyDecoder,\n }\n }\n}\n"],"mappings":"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","names":["Bytes","Bytes","Bytes","createCodec","Bytes","createCodec","enhanceCodec","str","fromHex","toHex","Bytes","createCodec","enc","dec","Bytes","enhanceCodec","textEncoder","textDecoder","str","compact","u8","Bytes","enhanceCodec","createCodec","createDecoder","createCodec","createCodec","enc","dec","textEncoder","textDecoder","enhanceCodec","Bytes","Struct","Tuple","Vector","str","u8","Enum","Option","Struct","Vector","_void","str","u32","u8","bitSequence","Struct","Option","Vector","u8","str","Enum","_void","Vector","str","Struct","u8","Tuple","Enum","Struct","u32","createCodec","createCodec","Struct","u32","Enum","blake2b","mergeUint8","u64","p","temp","mergeUint8","u64","mergeUint8","toHex","textEncoder","dec","mergeUint8","toHex","enc"]}
|
|
1
|
+
{"version":3,"sources":["../src/codecs/scale/AccountId.ts","../src/utils/ss58-util.ts","../src/codecs/scale/Binary.ts","../src/codecs/scale/bitSequence.ts","../src/codecs/scale/compact.ts","../src/codecs/scale/char.ts","../src/codecs/scale/Hex.ts","../src/codecs/scale/fixed-str.ts","../src/codecs/scale/re-exported.ts","../src/codecs/scale/Self.ts","../src/codecs/scale/Variant.ts","../src/codecs/scale/ethAccount.ts","../src/codecs/blockHeader.ts","../src/codecs/metadata/v15/v15.ts","../src/codecs/metadata/v15/lookup.ts","../src/codecs/metadata/v15/pallets.ts","../src/codecs/metadata/metadata.ts","../src/hashes/blake2.ts","../src/hashes/identity.ts","../src/hashes/twoX.ts","../src/hashes/h64.ts","../src/storage.ts"],"sourcesContent":["import { Bytes, enhanceCodec } from \"scale-ts\"\nimport {\n getSs58AddressInfo,\n SS58String,\n fromBufferToBase58,\n} from \"@/utils/ss58-util\"\n\nfunction fromBase58ToBuffer(nBytes: number, _ss58Format: number) {\n return (address: SS58String) => {\n const info = getSs58AddressInfo(address)\n if (!info.isValid) throw new Error(\"Invalid checksum\")\n const { publicKey } = info\n if (publicKey.length !== nBytes)\n throw new Error(\"Invalid public key length\")\n\n return publicKey\n }\n}\n\nexport const AccountId = (ss58Format: number = 42, nBytes: 32 | 33 = 32) =>\n enhanceCodec(\n Bytes(nBytes),\n fromBase58ToBuffer(nBytes, ss58Format),\n fromBufferToBase58(ss58Format),\n )\n","import { base58 } from \"@scure/base\"\nimport { blake2b } from \"@noble/hashes/blake2b\"\n\nconst SS58_PREFIX = new TextEncoder().encode(\"SS58PRE\")\nconst CHECKSUM_LENGTH = 2\n\nexport type SS58String = string & { __SS58String?: unknown }\nexport type SS58AddressInfo =\n | { isValid: false }\n | { isValid: true; ss58Format: number; publicKey: Uint8Array }\n\nexport const getSs58AddressInfo = (address: SS58String): SS58AddressInfo => {\n try {\n const decoded = base58.decode(address)\n const prefixBytes = decoded.subarray(0, decoded[0] & 0b0100_0000 ? 2 : 1)\n const publicKey = decoded.subarray(\n prefixBytes.length,\n decoded.length - CHECKSUM_LENGTH,\n )\n\n const checksum = decoded.subarray(prefixBytes.length + publicKey.length)\n const expectedChecksum = blake2b(\n Uint8Array.of(...SS58_PREFIX, ...prefixBytes, ...publicKey),\n {\n dkLen: 64,\n },\n ).subarray(0, CHECKSUM_LENGTH)\n\n const isChecksumValid =\n checksum[0] === expectedChecksum[0] && checksum[1] === expectedChecksum[1]\n\n if (!isChecksumValid) return { isValid: false }\n\n return {\n isValid: true,\n ss58Format: prefixBytesToNumber(prefixBytes),\n publicKey: publicKey.slice(),\n }\n } catch (_) {\n return { isValid: false }\n }\n}\n\nconst prefixBytesToNumber = (bytes: Uint8Array) => {\n const dv = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength)\n return dv.byteLength === 1 ? dv.getUint8(0) : dv.getUint16(0)\n}\n\nexport const fromBufferToBase58 = (ss58Format: number) => {\n const prefixBytes =\n ss58Format < 64\n ? Uint8Array.of(ss58Format)\n : Uint8Array.of(\n ((ss58Format & 0b0000_0000_1111_1100) >> 2) | 0b0100_0000,\n (ss58Format >> 8) | ((ss58Format & 0b0000_0000_0000_0011) << 6),\n )\n\n return (publicKey: Uint8Array): SS58String => {\n const checksum = blake2b(\n Uint8Array.of(...SS58_PREFIX, ...prefixBytes, ...publicKey),\n {\n dkLen: 64,\n },\n ).subarray(0, CHECKSUM_LENGTH)\n return base58.encode(\n Uint8Array.of(...prefixBytes, ...publicKey, ...checksum),\n )\n }\n}\n","import { Bytes, Codec, Decoder, Encoder, createCodec } from \"scale-ts\"\nimport { fromHex, toHex } from \"@polkadot-api/utils\"\nimport { HexString } from \"./Hex\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\n\nexport class Binary {\n #bytes: Uint8Array\n #hex: HexString | null = null\n #str: string | null = null\n\n constructor(data: Uint8Array) {\n this.#bytes = data\n }\n\n asText = () =>\n this.#str === null\n ? (this.#str = textDecoder.decode(this.#bytes))\n : this.#str\n\n asHex = () =>\n this.#hex === null ? (this.#hex = toHex(this.#bytes)) : this.#hex\n\n asBytes = () => this.#bytes\n\n static fromText(input: string): Binary {\n return new Binary(textEncoder.encode(input))\n }\n static fromHex(input: HexString): Binary {\n return new Binary(fromHex(input))\n }\n static fromBytes(input: Uint8Array): Binary {\n return new Binary(input)\n }\n}\n\nexport class FixedSizeBinary<_L extends number> extends Binary {\n constructor(data: Uint8Array) {\n super(data)\n }\n\n static fromArray<L extends number, I extends Array<number> & { length: L }>(\n input: I,\n ) {\n return new FixedSizeBinary<L>(new Uint8Array(input))\n }\n}\n\nconst enc = (nBytes?: number): Encoder<Binary> => {\n const _enc = Bytes.enc(nBytes)\n return (value) => _enc(value.asBytes())\n}\n\nconst dec = (nBytes?: number): Decoder<Binary> => {\n const _dec = Bytes.dec(nBytes)\n return (value) => Binary.fromBytes(_dec(value))\n}\n\nexport const Bin = (nBytes?: number): Codec<Binary> =>\n createCodec(enc(nBytes), dec(nBytes))\n\nBin.enc = enc\nBin.dec = dec\n","import { Bytes, Decoder, Encoder, createCodec, createDecoder } from \"scale-ts\"\nimport { compactNumber } from \"./compact\"\n\nexport interface BitSequence {\n bitsLen: number\n bytes: Uint8Array\n}\n\nconst bitSequenceDecoder: Decoder<BitSequence> = createDecoder((data) => {\n const bitsLen = compactNumber.dec(data)\n\n const bytesLen = Math.ceil(bitsLen / 8)\n const bytes = Bytes(bytesLen).dec(data)\n return { bytes, bitsLen }\n})\n\nconst bitSequenceEncoder: Encoder<BitSequence> = (input) => {\n if (input.bitsLen > input.bytes.length * 8)\n throw new Error(\n `Not enough bytes. (bitsLen:${input.bitsLen}, bytesLen:${input.bytes.length})`,\n )\n\n const lenEncoded = compactNumber.enc(input.bitsLen)\n const result = new Uint8Array(input.bytes.length + lenEncoded.length)\n result.set(lenEncoded, 0)\n result.set(input.bytes, lenEncoded.length)\n return result\n}\n\nexport const bitSequence = createCodec(bitSequenceEncoder, bitSequenceDecoder)\n","import { Codec, compact } from \"scale-ts\"\n\nexport const compactNumber = compact as Codec<number>\nexport const compactBn = compact as Codec<bigint>\n","import { enhanceCodec, u8 } from \"scale-ts\"\n\nexport const char = enhanceCodec(\n u8,\n (str: string) => str.charCodeAt(0),\n String.fromCharCode,\n)\n","import { fromHex, toHex } from \"@polkadot-api/utils\"\nimport { Bytes, Codec, Decoder, Encoder, createCodec } from \"scale-ts\"\n\nexport type HexString = string & { __hexString?: unknown }\n\nconst enc = (nBytes?: number): Encoder<HexString> => {\n const _enc = Bytes.enc(nBytes)\n return (value: string) => _enc(fromHex(value))\n}\n\nconst dec = (nBytes?: number): Decoder<HexString> => {\n const _dec = Bytes.dec(nBytes)\n return (value) => toHex(_dec(value)) as HexString\n}\n\nexport const Hex = (nBytes?: number): Codec<HexString> =>\n createCodec(enc(nBytes), dec(nBytes))\n\nHex.enc = enc\nHex.dec = dec\n","import { Bytes, enhanceCodec } from \"scale-ts\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\n\nexport const fixedStr = (nBytes: number) =>\n enhanceCodec(\n Bytes(nBytes),\n (str: string) => textEncoder.encode(str),\n (bytes) => textDecoder.decode(bytes),\n )\n","export {\n _void,\n bool,\n compact,\n str,\n u8,\n u16,\n u32,\n u64,\n u128,\n u256,\n i8,\n i16,\n i32,\n i64,\n i128,\n i256,\n Option,\n Result,\n Vector,\n Tuple,\n Struct,\n Bytes,\n enhanceCodec,\n enhanceEncoder,\n enhanceDecoder,\n createCodec,\n createDecoder,\n} from \"scale-ts\"\n\nexport type {\n Encoder,\n Decoder,\n Codec,\n CodecType,\n EncoderType,\n DecoderType,\n StringRecord,\n ResultPayload,\n} from \"scale-ts\"\n","import { Codec, Decoder, Encoder, createCodec, _void } from \"scale-ts\"\n\nexport const selfEncoder = <T>(value: () => Encoder<T>): Encoder<T> => {\n let cache: Encoder<T> = (x) => {\n const encoder = value()\n cache = encoder\n return encoder(x)\n }\n\n return (x) => cache(x)\n}\n\nexport const selfDecoder = <T>(value: () => Decoder<T>): Decoder<T> => {\n let cache: Decoder<T> = (x) => {\n const decoder = value()\n const result = decoder\n cache = decoder\n return result(x)\n }\n\n return (x) => cache(x)\n}\n\nexport const Self = <T>(value: () => Codec<T>): Codec<T> =>\n createCodec(\n selfEncoder(() => value().enc),\n selfDecoder(() => value().dec),\n )\n","import {\n Codec,\n CodecType,\n Decoder,\n DecoderType,\n Encoder,\n EncoderType,\n Enum as ScaleEnum,\n StringRecord,\n createCodec,\n} from \"scale-ts\"\nimport { mapObject } from \"@polkadot-api/utils\"\n\ntype Tuple<T, N extends number> = readonly [T, ...T[]] & { length: N }\n\ntype Push<T extends any[], V> = [...T, V]\n\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (\n k: infer I,\n) => void\n ? I\n : never\n\ntype LastOf<T> =\n UnionToIntersection<T extends any ? () => T : never> extends () => infer R\n ? R\n : never\n\ntype TuplifyUnion<\n T,\n L = LastOf<T>,\n N = [T] extends [never] ? true : false,\n> = true extends N ? [] : Push<TuplifyUnion<Exclude<T, L>>, L>\n\ntype RestrictedLenTuple<T, O extends StringRecord<any>> = Tuple<\n T,\n TuplifyUnion<keyof O> extends Tuple<any, infer V> ? V : 0\n>\n\nexport type ExtractEnumValue<\n T extends { type: string; value?: any },\n K extends string,\n> = T extends { type: K; value: infer R } ? R : never\n\nexport interface Discriminant<T extends { type: string; value?: any }> {\n is<K extends T[\"type\"]>(\n this: Enum<T>,\n type: K,\n ): this is Enum<{ type: K; value: ExtractEnumValue<T, K> }>\n as<K extends T[\"type\"]>(type: K): ExtractEnumValue<T, K>\n}\n\nexport type Enum<T extends { type: string; value?: any }> = T & Discriminant<T>\n\nexport const _Enum = new Proxy(\n {},\n {\n get(_, prop: string) {\n return (value: string) => (Enum as any)(prop, value)\n },\n },\n)\n\nexport const Enum: <\n T extends { type: string; value?: any },\n Key extends T[\"type\"],\n>(\n type: Key,\n ...args: ExtractEnumValue<T, Key> extends undefined\n ? []\n : [value: ExtractEnumValue<T, Key>]\n) => Enum<\n ExtractEnumValue<T, Key> extends undefined\n ? T\n : ExtractEnumValue<T, Key> extends never\n ? T\n : {\n type: Key\n value: ExtractEnumValue<T, Key>\n }\n> = ((_type: string, _value: any) => ({\n as: (type: string) => {\n if (type !== _type)\n // TODO: fix error\n throw new Error(`Enum.as(${type}) used with actual type ${_type}`)\n return _value\n },\n is: (type: string) => type === _type,\n type: _type,\n value: _value,\n})) as any\n\nconst VariantEnc = <O extends StringRecord<Encoder<any>>>(\n ...args: [inner: O, x?: RestrictedLenTuple<number, O>]\n): Encoder<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: EncoderType<O[K]> }\n : never\n }[keyof O]\n >\n> => {\n const enc = ScaleEnum.enc<O>(...(args as [any, any]))\n return (v) => enc({ tag: v.type, value: v.value })\n}\n\nconst VariantDec = <O extends StringRecord<Decoder<any>>>(\n ...args: [inner: O, x?: RestrictedLenTuple<number, O>]\n): Decoder<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: DecoderType<O[K]> }\n : never\n }[keyof O]\n >\n> => {\n const dec = ScaleEnum.dec<O>(...(args as [any, any]))\n return (v) => {\n const { tag, value } = dec(v)\n return Enum(tag as any, value as any) as any\n }\n}\n\nexport const Variant = <O extends StringRecord<Codec<any>>>(\n inner: O,\n ...args: [indexes?: RestrictedLenTuple<number, O>]\n): Codec<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: CodecType<O[K]> }\n : never\n }[keyof O]\n >\n> =>\n createCodec(\n VariantEnc(\n mapObject(inner, ([encoder]) => encoder) as StringRecord<\n O[keyof O][\"enc\"]\n >,\n ...(args as any[]),\n ) as Encoder<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: CodecType<O[K]> }\n : never\n }[keyof O]\n >\n >,\n VariantDec(\n mapObject(inner, ([, decoder]) => decoder) as StringRecord<\n O[keyof O][\"dec\"]\n >,\n ...(args as any[]),\n ) as Decoder<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: CodecType<O[K]> }\n : never\n }[keyof O]\n >\n >,\n )\n\nVariant.enc = VariantEnc\nVariant.dec = VariantDec\n","import { fromHex, toHex } from \"@polkadot-api/utils\"\nimport { Bytes, createCodec, createDecoder } from \"scale-ts\"\nimport { keccak_256 as keccak } from \"@noble/hashes/sha3\"\n\nconst getFormattedAddress = (hexAddress: string) => {\n const nonChecksum = hexAddress.slice(2)\n const hashedAddress = toHex(keccak(nonChecksum)).slice(2)\n\n const result = new Array(40)\n\n for (let i = 0; i < 40; i++) {\n const checksumVal = parseInt(hashedAddress[i], 16)\n const char = nonChecksum[i]\n result[i] = checksumVal > 7 ? char.toUpperCase() : char\n }\n\n return `0x${result.join(\"\")}`\n}\n\nconst bytes20Dec = Bytes(20)[1]\n\nexport const ethAccount = createCodec<string>(\n (input: string) => {\n const bytes = fromHex(input)\n if (bytes.length !== 20)\n throw new Error(`Invalid length found on EthAddress(${input})`)\n\n const hexAddress = toHex(bytes)\n if (input === hexAddress || input === hexAddress.toUpperCase()) return bytes\n\n if (getFormattedAddress(hexAddress) !== input)\n throw new Error(`Invalid checksum found on EthAddress(${input})`)\n\n return bytes\n },\n createDecoder((bytes) => getFormattedAddress(toHex(bytes20Dec(bytes)))),\n)\n","import {\n Bytes,\n CodecType,\n Struct,\n Vector,\n _void,\n enhanceCodec,\n Hex,\n Variant,\n compactNumber,\n} from \"./scale\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\n\nconst fourChars = enhanceCodec(\n Bytes(4),\n textEncoder.encode.bind(textEncoder),\n textDecoder.decode.bind(textDecoder),\n)\n\nconst diggestVal = Struct({\n engine: fourChars,\n payload: Hex(),\n})\n\nconst diggest = Variant(\n {\n consensus: diggestVal,\n seal: diggestVal,\n preRuntime: diggestVal,\n runtimeUpdated: _void,\n },\n [4, 5, 6, 8],\n)\n\nconst hex32 = Hex(32)\nexport const blockHeader = Struct({\n parentHash: hex32,\n number: compactNumber,\n stateRoot: hex32,\n extrinsicRoot: hex32,\n digests: Vector(diggest),\n})\n\nexport type BlockHeader = CodecType<typeof blockHeader>\n","import { CodecType, Struct, Tuple, Vector, str, u8 } from \"scale-ts\"\nimport { lookup } from \"./lookup\"\nimport { pallets } from \"./pallets\"\nimport { Hex, compactNumber as ty } from \"../../scale\"\nexport type { V14Lookup } from \"./lookup\"\n\nconst docs = Vector(str)\n\nconst runtimeApi = Struct({\n name: str,\n methods: Vector(\n Struct({\n name: str,\n inputs: Vector(\n Struct({\n name: str,\n type: ty,\n }),\n ),\n output: ty,\n docs,\n }),\n ),\n docs,\n})\n\nconst extrinsic = Struct({\n version: u8,\n address: ty,\n call: ty,\n signature: ty,\n extra: ty,\n signedExtensions: Vector(\n Struct({\n identifier: str,\n type: ty,\n additionalSigned: ty,\n }),\n ),\n})\nexport type V15Extrinsic = CodecType<typeof extrinsic>\n\nexport const v15 = Struct({\n lookup,\n pallets,\n extrinsic,\n type: ty,\n apis: Vector(runtimeApi),\n outerEnums: Struct({\n call: ty,\n event: ty,\n error: ty,\n }),\n custom: Vector(Tuple(str, Struct({ type: ty, value: Hex() }))),\n})\nexport type V15 = CodecType<typeof v15>\n","import { compactNumber } from \"../../scale/compact\"\nimport {\n CodecType,\n Enum,\n Option,\n Struct,\n Vector,\n _void,\n str,\n u32,\n u8,\n} from \"scale-ts\"\n\nconst oStr = Option(str)\nconst strs = Vector(str)\n\nconst primitive = Enum({\n bool: _void,\n char: _void,\n str: _void,\n u8: _void,\n u16: _void,\n u32: _void,\n u64: _void,\n u128: _void,\n u256: _void,\n i8: _void,\n i16: _void,\n i32: _void,\n i64: _void,\n i128: _void,\n i256: _void,\n})\n\nconst fields = Vector(\n Struct({\n name: oStr,\n type: compactNumber,\n typeName: oStr,\n docs: strs,\n }),\n)\n\nconst arr = Struct({\n len: u32,\n type: compactNumber,\n})\n\nconst bitSequence = Struct({\n bitStoreType: compactNumber,\n bitOrderType: compactNumber,\n})\n\nconst variant = Vector(\n Struct({\n name: str,\n fields,\n index: u8,\n docs: strs,\n }),\n)\n\nconst def = Enum({\n composite: fields,\n variant,\n sequence: compactNumber,\n array: arr,\n tuple: Vector(compactNumber),\n primitive,\n compact: compactNumber,\n bitSequence,\n})\n\nconst param = Struct({\n name: str,\n type: Option(compactNumber),\n})\nconst params = Vector(param)\n\nconst entry = Struct({\n id: compactNumber,\n path: strs,\n params,\n def,\n docs: strs,\n})\n\nexport const lookup = Vector(entry)\nexport type V14Lookup = CodecType<typeof lookup>\n","import { Hex, compactNumber } from \"@/codecs/scale\"\nimport {\n Struct,\n Option,\n Vector,\n u8,\n str,\n Enum,\n _void,\n CodecType,\n} from \"scale-ts\"\n\nconst hashType = Enum({\n Blake2128: _void,\n Blake2256: _void,\n Blake2128Concat: _void,\n Twox128: _void,\n Twox256: _void,\n Twox64Concat: _void,\n Identity: _void,\n})\n\nconst hashers = Vector(hashType)\n\nconst storageMap = Struct({\n hashers,\n key: compactNumber,\n value: compactNumber,\n})\n\nconst storageItem = Struct({\n name: str,\n modifier: u8,\n type: Enum({\n plain: compactNumber,\n map: storageMap,\n }),\n fallback: Hex(),\n docs: Vector(str),\n})\n\nconst storage = Option(\n Struct({\n prefix: str,\n items: Vector(storageItem),\n }),\n)\n\nexport const pallets = Vector(\n Struct({\n name: str,\n storage,\n calls: Option(compactNumber),\n events: Option(compactNumber),\n constants: Vector(\n Struct({\n name: str,\n type: compactNumber,\n value: Hex(),\n docs: Vector(str),\n }),\n ),\n errors: Option(compactNumber),\n index: u8,\n docs: Vector(str),\n }),\n)\n\nexport type V15Pallets = CodecType<typeof pallets>\n","import { Enum, Struct, u32, Codec, createCodec } from \"scale-ts\"\nimport { v15 } from \"./v15\"\n\nconst unsupportedFn = () => {\n throw new Error(\"Unsupported metadata version!\")\n}\n\nconst unsupported = createCodec(\n unsupportedFn,\n unsupportedFn,\n) as unknown as Codec<unknown>\n\nexport const metadata = Struct({\n magicNumber: u32,\n metadata: Enum({\n v0: unsupported,\n v1: unsupported,\n v2: unsupported,\n v3: unsupported,\n v4: unsupported,\n v5: unsupported,\n v6: unsupported,\n v7: unsupported,\n v8: unsupported,\n v9: unsupported,\n v10: unsupported,\n v11: unsupported,\n v12: unsupported,\n v13: unsupported,\n v14: unsupported,\n v15,\n }),\n})\n","import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { blake2b } from \"@noble/hashes/blake2b\"\n\nconst len32 = { dkLen: 32 }\nexport const Blake2256 = (encoded: Uint8Array) => blake2b(encoded, len32)\n\nconst len16 = { dkLen: 16 }\nexport const Blake2128 = (encoded: Uint8Array) => blake2b(encoded, len16)\n\nexport const Blake2128Concat = (encoded: Uint8Array) =>\n mergeUint8(Blake2128(encoded), encoded)\n","export const Identity = (encoded: Uint8Array): Uint8Array => encoded\n","import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { u64 } from \"scale-ts\"\nimport { h64 } from \"./h64\"\n\nexport const Twox128 = (input: Uint8Array): Uint8Array => {\n const result = new Uint8Array(16)\n const dv = new DataView(result.buffer)\n\n dv.setBigUint64(0, h64(input), true)\n dv.setBigUint64(8, h64(input, 1n), true)\n\n return result\n}\n\nexport const Twox256 = (input: Uint8Array): Uint8Array => {\n const result = new Uint8Array(32)\n const dv = new DataView(result.buffer)\n\n dv.setBigUint64(0, h64(input), true)\n dv.setBigUint64(8, h64(input, 1n), true)\n dv.setBigUint64(16, h64(input, 2n), true)\n dv.setBigUint64(24, h64(input, 3n), true)\n\n return result\n}\n\nexport const Twox64Concat = (encoded: Uint8Array): Uint8Array =>\n mergeUint8(u64.enc(h64(encoded)), encoded)\n","// Adapted implementation based on: https://github.com/pierrec/js-xxhash/blob/7ff5ced282f97dba121109d7013e0fa80360398c/lib/xxhash64.js\n\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\n\n// helper functions\nconst bigintFromU16 = (\n v0: number,\n v1: number,\n v2: number,\n v3: number,\n): bigint =>\n new DataView(new Uint16Array([v0, v1, v2, v3]).buffer).getBigUint64(0, true)\n\nconst MASK_64 = 2n ** 64n - 1n\n\nconst rotl = (input: bigint, nBits: bigint) =>\n ((input << nBits) & MASK_64) | (input >> (64n - nBits))\n\nconst multiply = (a: bigint, b: bigint) => (a * b) & MASK_64\n\nconst add = (a: bigint, b: bigint) => (a + b) & MASK_64\n\n// constants\nconst PRIME64_1 = 11400714785074694791n\nconst PRIME64_2 = 14029467366897019727n\nconst PRIME64_3 = 1609587929392839161n\nconst PRIME64_4 = 9650029242287828579n\nconst PRIME64_5 = 2870177450012600261n\n\nexport function h64(input: Uint8Array, seed: bigint = 0n) {\n let v1 = add(add(seed, PRIME64_1), PRIME64_2)\n let v2 = add(seed, PRIME64_2)\n let v3 = seed\n let v4 = seed - PRIME64_1\n let totalLen = input.length\n let memsize = 0\n let memory: Uint8Array | null = null\n\n ;(function update() {\n let p = 0\n let bEnd = p + totalLen\n\n if (!totalLen) return\n\n memory = new Uint8Array(32)\n\n if (totalLen < 32) {\n memory.set(input.subarray(0, totalLen), memsize)\n\n memsize += totalLen\n return\n }\n\n if (p <= bEnd - 32) {\n const limit = bEnd - 32\n\n do {\n let other\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n v1 = multiply(rotl(add(v1, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n\n v2 = multiply(rotl(add(v2, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n\n v3 = multiply(rotl(add(v3, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n v4 = multiply(rotl(add(v4, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n } while (p <= limit)\n }\n\n if (p < bEnd) {\n memory.set(input.subarray(p, bEnd), memsize)\n memsize = bEnd - p\n }\n })()\n\n input = memory || input\n\n let result: bigint\n let p = 0\n\n if (totalLen >= 32) {\n result = rotl(v1, 1n)\n result = add(result, rotl(v2, 7n))\n result = add(result, rotl(v3, 12n))\n result = add(result, rotl(v4, 18n))\n\n v1 = multiply(rotl(multiply(v1, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v1\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n\n v2 = multiply(rotl(multiply(v2, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v2\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n\n v3 = multiply(rotl(multiply(v3, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v3\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n\n v4 = multiply(rotl(multiply(v4, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v4\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n } else {\n result = add(seed, PRIME64_5)\n }\n\n result = add(result, BigInt(totalLen))\n\n while (p <= memsize - 8) {\n let temp = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n temp = multiply(rotl(multiply(temp, PRIME64_2), 31n), PRIME64_1)\n result = add(multiply(rotl(result ^ temp, 27n), PRIME64_1), PRIME64_4)\n p += 8\n }\n\n if (p + 4 <= memsize) {\n let temp = multiply(\n bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n 0,\n 0,\n ),\n PRIME64_1,\n )\n\n result = add(multiply(rotl(result ^ temp, 23n), PRIME64_2), PRIME64_3)\n p += 4\n }\n\n while (p < memsize) {\n const temp = multiply(bigintFromU16(input[p++], 0, 0, 0), PRIME64_5)\n result = multiply(rotl(result ^ temp, 11n), PRIME64_1)\n }\n\n let temp = result >> 33n\n result = multiply(result ^ temp, PRIME64_2)\n\n temp = result >> 29n\n result = multiply(result ^ temp, PRIME64_3)\n\n temp = result >> 32n\n result ^= temp\n\n return result\n}\n","import { mergeUint8, toHex } from \"@polkadot-api/utils\"\nimport { Codec, Decoder } from \"scale-ts\"\nimport { Blake2128Concat, Identity, Twox128, Twox64Concat } from \"./hashes\"\n\nexport type EncoderWithHash<T> = [Codec<T>, (input: Uint8Array) => Uint8Array]\n\nconst textEncoder = new TextEncoder()\n\nexport const Storage = (pallet: string) => {\n const palledEncoded = Twox128(textEncoder.encode(pallet))\n return <T, A extends Array<EncoderWithHash<any>>>(\n name: string,\n dec: Decoder<T>,\n ...encoders: [...A]\n ): {\n enc: (\n ...args: {\n [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown\n }\n ) => string\n dec: Decoder<T>\n keyDecoder: (value: string) => {\n [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown\n }\n } => {\n const palletItemEncoded = mergeUint8(\n palledEncoded,\n Twox128(textEncoder.encode(name)),\n )\n\n const palletItemEncodedHex = toHex(palletItemEncoded)\n const bytesToSkip = encoders\n .map((e) => e[1])\n .map((x) => {\n if (x === Identity) return 0\n if (x === Twox64Concat) return 8\n if (x === Blake2128Concat) return 16\n return null\n })\n .filter(Boolean) as Array<number>\n\n const keyDecoder = (\n key: string,\n ): {\n [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown\n } => {\n if (!key.startsWith(palletItemEncodedHex))\n throw new Error(`key does not match this storage (${pallet}.${name})`)\n\n if (bytesToSkip.length !== encoders.length)\n throw new Error(\"Impossible to decode this key\")\n\n if (encoders.length === 0) return [] as any\n\n const argsKey = key.slice(palletItemEncodedHex.length)\n const result = new Array<any>(encoders.length)\n for (let i = 0, cur = 0; i < bytesToSkip.length; i++) {\n const codec = encoders[i][0]\n cur += bytesToSkip[i]\n result[i] = codec.dec(argsKey.slice(cur * 2))\n cur += codec.enc(result[i]).length\n }\n return result as any\n }\n\n const fns = encoders.map(\n ([{ enc }, hash]) =>\n (val: any) =>\n hash(enc(val)),\n )\n\n const enc = (\n ...args: {\n [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown\n }\n ): string =>\n toHex(\n mergeUint8(palletItemEncoded, ...args.map((val, idx) => fns[idx](val))),\n )\n\n return {\n enc,\n dec,\n keyDecoder,\n }\n }\n}\n"],"mappings":"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","names":["Bytes","Bytes","Bytes","createCodec","Bytes","createCodec","enhanceCodec","str","fromHex","toHex","Bytes","createCodec","enc","dec","Bytes","enhanceCodec","textEncoder","textDecoder","str","compact","u8","Bytes","enhanceCodec","createCodec","createDecoder","createCodec","createCodec","enc","dec","fromHex","toHex","Bytes","createCodec","createDecoder","char","textEncoder","textDecoder","enhanceCodec","Bytes","Struct","Tuple","Vector","str","u8","Enum","Option","Struct","Vector","_void","str","u32","u8","bitSequence","Struct","Option","Vector","u8","str","Enum","_void","Vector","str","Struct","u8","Tuple","Enum","Struct","u32","createCodec","createCodec","Struct","u32","Enum","blake2b","mergeUint8","u64","p","temp","mergeUint8","u64","mergeUint8","toHex","textEncoder","dec","mergeUint8","toHex","enc"]}
|
package/dist/min/index.d.ts
CHANGED
|
@@ -117,6 +117,8 @@ declare const Variant: {
|
|
|
117
117
|
} : never; }[keyof O_2]>>;
|
|
118
118
|
};
|
|
119
119
|
|
|
120
|
+
declare const ethAccount: scale_ts.Codec<string>;
|
|
121
|
+
|
|
120
122
|
declare const blockHeader: Codec<{
|
|
121
123
|
parentHash: HexString;
|
|
122
124
|
number: number;
|
|
@@ -783,4 +785,4 @@ type GetEnum<T extends Enum<{
|
|
|
783
785
|
[K in T["type"]]: (...args: ExtractEnumValue<T, K> extends undefined ? [] : [value: ExtractEnumValue<T, K>]) => T;
|
|
784
786
|
};
|
|
785
787
|
|
|
786
|
-
export { AccountId, type AssetDescriptor, Bin, Binary, type BitSequence, Blake2128, Blake2128Concat, Blake2256, type BlockHeader, type ConstFromDescriptors, type Descriptors, type Discriminant, type EncoderWithHash, Enum, type ErrorsFromDescriptors, type EventsFromDescriptors, type ExtractEnumValue, FixedSizeBinary, type GetEnum, Hex, type HexString, Identity, type PlainDescriptor, type QueryFromDescriptors, type RuntimeDescriptor, type SS58AddressInfo, type SS58String, Self, Storage, type StorageDescriptor, Twox128, Twox256, Twox64Concat, type TxDescriptor, type TxFromDescriptors, type V14Lookup, type V15, type V15Extrinsic, Variant, _Enum, bitSequence, blockHeader, char, compactBn, compactNumber, fixedStr, fromBufferToBase58, getSs58AddressInfo, h64, metadata, selfDecoder, selfEncoder, v15 };
|
|
788
|
+
export { AccountId, type AssetDescriptor, Bin, Binary, type BitSequence, Blake2128, Blake2128Concat, Blake2256, type BlockHeader, type ConstFromDescriptors, type Descriptors, type Discriminant, type EncoderWithHash, Enum, type ErrorsFromDescriptors, type EventsFromDescriptors, type ExtractEnumValue, FixedSizeBinary, type GetEnum, Hex, type HexString, Identity, type PlainDescriptor, type QueryFromDescriptors, type RuntimeDescriptor, type SS58AddressInfo, type SS58String, Self, Storage, type StorageDescriptor, Twox128, Twox256, Twox64Concat, type TxDescriptor, type TxFromDescriptors, type V14Lookup, type V15, type V15Extrinsic, Variant, _Enum, bitSequence, blockHeader, char, compactBn, compactNumber, ethAccount, fixedStr, fromBufferToBase58, getSs58AddressInfo, h64, metadata, selfDecoder, selfEncoder, v15 };
|
package/dist/min/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var j=Object.defineProperty;var Ge=Object.getOwnPropertyDescriptor;var Xe=Object.getOwnPropertyNames;var ze=Object.prototype.hasOwnProperty;var Fe=(e,t,n)=>t in e?j(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Je=(e,t)=>{for(var n in t)j(e,n,{get:t[n],enumerable:!0})},Qe=(e,t,n,d)=>{if(t&&typeof t=="object"||typeof t=="function")for(let y of Xe(t))!ze.call(e,y)&&y!==n&&j(e,y,{get:()=>t[y],enumerable:!(d=Ge(t,y))||d.enumerable});return e};var Ye=e=>Qe(j({},"__esModule",{value:!0}),e);var G=(e,t,n)=>(Fe(e,typeof t!="symbol"?t+"":t,n),n),he=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var A=(e,t,n)=>(he(e,t,"read from private field"),n?n.call(e):t.get(e)),X=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},z=(e,t,n,d)=>(he(e,t,"write to private field"),d?d.call(e,n):t.set(e,n),n);var _t={};Je(_t,{AccountId:()=>tt,Bin:()=>ie,Binary:()=>N,Blake2128:()=>Pe,Blake2128Concat:()=>fe,Blake2256:()=>Ht,Bytes:()=>r.Bytes,Enum:()=>me,FixedSizeBinary:()=>ae,Hex:()=>C,Identity:()=>ge,Option:()=>r.Option,Result:()=>r.Result,Self:()=>ut,Storage:()=>It,Struct:()=>r.Struct,Tuple:()=>r.Tuple,Twox128:()=>te,Twox256:()=>Rt,Twox64Concat:()=>be,Variant:()=>W,Vector:()=>r.Vector,_Enum:()=>lt,_void:()=>r._void,bitSequence:()=>at,blockHeader:()=>ft,bool:()=>r.bool,char:()=>it,compact:()=>r.compact,compactBn:()=>ot,compactNumber:()=>i,createCodec:()=>r.createCodec,createDecoder:()=>r.createDecoder,enhanceCodec:()=>r.enhanceCodec,enhanceDecoder:()=>r.enhanceDecoder,enhanceEncoder:()=>r.enhanceEncoder,fixedStr:()=>mt,fromBufferToBase58:()=>se,getSs58AddressInfo:()=>ce,h64:()=>U,i128:()=>r.i128,i16:()=>r.i16,i256:()=>r.i256,i32:()=>r.i32,i64:()=>r.i64,i8:()=>r.i8,metadata:()=>Dt,selfDecoder:()=>Ae,selfEncoder:()=>Ue,str:()=>r.str,u128:()=>r.u128,u16:()=>r.u16,u256:()=>r.u256,u32:()=>r.u32,u64:()=>r.u64,u8:()=>r.u8,v15:()=>pe});module.exports=Ye(_t);var F=require("scale-ts");var re=require("@scure/base"),oe=require("@noble/hashes/blake2b"),Ee=new TextEncoder().encode("SS58PRE"),ne=2,ce=e=>{try{let t=re.base58.decode(e),n=t.subarray(0,t[0]&64?2:1),d=t.subarray(n.length,t.length-ne),y=t.subarray(n.length+d.length),E=(0,oe.blake2b)(Uint8Array.of(...Ee,...n,...d),{dkLen:64}).subarray(0,ne);return y[0]===E[0]&&y[1]===E[1]?{isValid:!0,ss58Format:Ze(n),publicKey:d.slice()}:{isValid:!1}}catch{return{isValid:!1}}},Ze=e=>{let t=new DataView(e.buffer,e.byteOffset,e.byteLength);return t.byteLength===1?t.getUint8(0):t.getUint16(0)},se=e=>{let t=e<64?Uint8Array.of(e):Uint8Array.of((e&252)>>2|64,e>>8|(e&3)<<6);return n=>{let d=(0,oe.blake2b)(Uint8Array.of(...Ee,...t,...n),{dkLen:64}).subarray(0,ne);return re.base58.encode(Uint8Array.of(...t,...n,...d))}};function et(e,t){return n=>{let d=ce(n);if(!d.isValid)throw new Error("Invalid checksum");let{publicKey:y}=d;if(y.length!==e)throw new Error("Invalid public key length");return y}}var tt=(e=42,t=32)=>(0,F.enhanceCodec)((0,F.Bytes)(t),et(t,e),se(e));var P=require("scale-ts"),J=require("@polkadot-api/utils");var nt=new TextEncoder,rt=new TextDecoder,V,O,H,_=class _{constructor(t){X(this,V,void 0);X(this,O,null);X(this,H,null);G(this,"asText",()=>A(this,H)===null?z(this,H,rt.decode(A(this,V))):A(this,H));G(this,"asHex",()=>A(this,O)===null?z(this,O,(0,J.toHex)(A(this,V))):A(this,O));G(this,"asBytes",()=>A(this,V));z(this,V,t)}static fromText(t){return new _(nt.encode(t))}static fromHex(t){return new _((0,J.fromHex)(t))}static fromBytes(t){return new _(t)}};V=new WeakMap,O=new WeakMap,H=new WeakMap;var N=_,ae=class e extends N{constructor(t){super(t)}static fromArray(t){return new e(new Uint8Array(t))}},ve=e=>{let t=P.Bytes.enc(e);return n=>t(n.asBytes())},Se=e=>{let t=P.Bytes.dec(e);return n=>N.fromBytes(t(n))},ie=e=>(0,P.createCodec)(ve(e),Se(e));ie.enc=ve;ie.dec=Se;var L=require("scale-ts");var de=require("scale-ts"),i=de.compact,ot=de.compact;var ct=(0,L.createDecoder)(e=>{let t=i.dec(e),n=Math.ceil(t/8);return{bytes:(0,L.Bytes)(n).dec(e),bitsLen:t}}),st=e=>{if(e.bitsLen>e.bytes.length*8)throw new Error(`Not enough bytes. (bitsLen:${e.bitsLen}, bytesLen:${e.bytes.length})`);let t=i.enc(e.bitsLen),n=new Uint8Array(e.bytes.length+t.length);return n.set(t,0),n.set(e.bytes,t.length),n},at=(0,L.createCodec)(st,ct);var Q=require("scale-ts"),it=(0,Q.enhanceCodec)(Q.u8,e=>e.charCodeAt(0),String.fromCharCode);var Y=require("@polkadot-api/utils"),M=require("scale-ts"),ke=e=>{let t=M.Bytes.enc(e);return n=>t((0,Y.fromHex)(n))},we=e=>{let t=M.Bytes.dec(e);return n=>(0,Y.toHex)(t(n))},C=e=>(0,M.createCodec)(ke(e),we(e));C.enc=ke;C.dec=we;var Z=require("scale-ts"),dt=new TextEncoder,yt=new TextDecoder,mt=e=>(0,Z.enhanceCodec)((0,Z.Bytes)(e),t=>dt.encode(t),t=>yt.decode(t));var r=require("scale-ts");var Ce=require("scale-ts"),Ue=e=>{let t=n=>{let d=e();return t=d,d(n)};return n=>t(n)},Ae=e=>{let t=n=>{let d=e(),y=d;return t=d,y(n)};return n=>t(n)},ut=e=>(0,Ce.createCodec)(Ue(()=>e().enc),Ae(()=>e().dec));var q=require("scale-ts"),ye=require("@polkadot-api/utils"),lt=new Proxy({},{get(e,t){return n=>me(t,n)}}),me=(e,t)=>({as:n=>{if(n!==e)throw new Error(`Enum.as(${n}) used with actual type ${e}`);return t},is:n=>n===e,type:e,value:t}),Ke=(...e)=>{let t=q.Enum.enc(...e);return n=>t({tag:n.type,value:n.value})},Ve=(...e)=>{let t=q.Enum.dec(...e);return n=>{let{tag:d,value:y}=t(n);return me(d,y)}},W=(e,...t)=>(0,q.createCodec)(Ke((0,ye.mapObject)(e,([n])=>n),...t),Ve((0,ye.mapObject)(e,([,n])=>n),...t));W.enc=Ke;W.dec=Ve;var Be=new TextEncoder,De=new TextDecoder,pt=(0,r.enhanceCodec)((0,r.Bytes)(4),Be.encode.bind(Be),De.decode.bind(De)),ue=(0,r.Struct)({engine:pt,payload:C()}),xt=W({consensus:ue,seal:ue,preRuntime:ue,runtimeUpdated:r._void},[4,5,6,8]),le=C(32),ft=(0,r.Struct)({parentHash:le,number:i,stateRoot:le,extrinsicRoot:le,digests:(0,r.Vector)(xt)});var u=require("scale-ts");var c=require("scale-ts"),Oe=(0,c.Option)(c.str),ee=(0,c.Vector)(c.str),gt=(0,c.Enum)({bool:c._void,char:c._void,str:c._void,u8:c._void,u16:c._void,u32:c._void,u64:c._void,u128:c._void,u256:c._void,i8:c._void,i16:c._void,i32:c._void,i64:c._void,i128:c._void,i256:c._void}),He=(0,c.Vector)((0,c.Struct)({name:Oe,type:i,typeName:Oe,docs:ee})),Tt=(0,c.Struct)({len:c.u32,type:i}),bt=(0,c.Struct)({bitStoreType:i,bitOrderType:i}),ht=(0,c.Vector)((0,c.Struct)({name:c.str,fields:He,index:c.u8,docs:ee})),Et=(0,c.Enum)({composite:He,variant:ht,sequence:i,array:Tt,tuple:(0,c.Vector)(i),primitive:gt,compact:i,bitSequence:bt}),vt=(0,c.Struct)({name:c.str,type:(0,c.Option)(i)}),St=(0,c.Vector)(vt),kt=(0,c.Struct)({id:i,path:ee,params:St,def:Et,docs:ee}),Le=(0,c.Vector)(kt);var a=require("scale-ts"),wt=(0,a.Enum)({Blake2128:a._void,Blake2256:a._void,Blake2128Concat:a._void,Twox128:a._void,Twox256:a._void,Twox64Concat:a._void,Identity:a._void}),Ct=(0,a.Vector)(wt),Ut=(0,a.Struct)({hashers:Ct,key:i,value:i}),At=(0,a.Struct)({name:a.str,modifier:a.u8,type:(0,a.Enum)({plain:i,map:Ut}),fallback:C(),docs:(0,a.Vector)(a.str)}),Kt=(0,a.Option)((0,a.Struct)({prefix:a.str,items:(0,a.Vector)(At)})),Re=(0,a.Vector)((0,a.Struct)({name:a.str,storage:Kt,calls:(0,a.Option)(i),events:(0,a.Option)(i),constants:(0,a.Vector)((0,a.Struct)({name:a.str,type:i,value:C(),docs:(0,a.Vector)(a.str)})),errors:(0,a.Option)(i),index:a.u8,docs:(0,a.Vector)(a.str)}));var Ie=(0,u.Vector)(u.str),Vt=(0,u.Struct)({name:u.str,methods:(0,u.Vector)((0,u.Struct)({name:u.str,inputs:(0,u.Vector)((0,u.Struct)({name:u.str,type:i})),output:i,docs:Ie})),docs:Ie}),Bt=(0,u.Struct)({version:u.u8,address:i,call:i,signature:i,extra:i,signedExtensions:(0,u.Vector)((0,u.Struct)({identifier:u.str,type:i,additionalSigned:i}))}),pe=(0,u.Struct)({lookup:Le,pallets:Re,extrinsic:Bt,type:i,apis:(0,u.Vector)(Vt),outerEnums:(0,u.Struct)({call:i,event:i,error:i}),custom:(0,u.Vector)((0,u.Tuple)(u.str,(0,u.Struct)({type:i,value:C()})))});var K=require("scale-ts");var _e=()=>{throw new Error("Unsupported metadata version!")},T=(0,K.createCodec)(_e,_e),Dt=(0,K.Struct)({magicNumber:K.u32,metadata:(0,K.Enum)({v0:T,v1:T,v2:T,v3:T,v4:T,v5:T,v6:T,v7:T,v8:T,v9:T,v10:T,v11:T,v12:T,v13:T,v14:T,v15:pe})});var Ne=require("@polkadot-api/utils"),xe=require("@noble/hashes/blake2b"),Ot={dkLen:32},Ht=e=>(0,xe.blake2b)(e,Ot),Lt={dkLen:16},Pe=e=>(0,xe.blake2b)(e,Lt),fe=e=>(0,Ne.mergeUint8)(Pe(e),e);var ge=e=>e;var We=require("@polkadot-api/utils"),$e=require("scale-ts");var B=(e,t,n,d)=>new DataView(new Uint16Array([e,t,n,d]).buffer).getBigUint64(0,!0),Te=2n**64n-1n,g=(e,t)=>e<<t&Te|e>>64n-t,m=(e,t)=>e*t&Te,x=(e,t)=>e+t&Te,f=11400714785074694791n,h=14029467366897019727n,Me=1609587929392839161n,$=9650029242287828579n,qe=2870177450012600261n;function U(e,t=0n){let n=x(x(t,f),h),d=x(t,h),y=t,E=t-f,S=e.length,k=0,D=null;(function(){let o=0,v=o+S;if(S){if(D=new Uint8Array(32),S<32){D.set(e.subarray(0,S),k),k+=S;return}if(o<=v-32){let I=v-32;do{let w;w=B(e[o+1]<<8|e[o],e[o+3]<<8|e[o+2],e[o+5]<<8|e[o+4],e[o+7]<<8|e[o+6]),n=m(g(x(n,m(w,h)),31n),f),o+=8,w=B(e[o+1]<<8|e[o],e[o+3]<<8|e[o+2],e[o+5]<<8|e[o+4],e[o+7]<<8|e[o+6]),d=m(g(x(d,m(w,h)),31n),f),o+=8,w=B(e[o+1]<<8|e[o],e[o+3]<<8|e[o+2],e[o+5]<<8|e[o+4],e[o+7]<<8|e[o+6]),y=m(g(x(y,m(w,h)),31n),f),o+=8,w=B(e[o+1]<<8|e[o],e[o+3]<<8|e[o+2],e[o+5]<<8|e[o+4],e[o+7]<<8|e[o+6]),E=m(g(x(E,m(w,h)),31n),f),o+=8}while(o<=I)}o<v&&(D.set(e.subarray(o,v),k),k=v-o)}})(),e=D||e;let s,l=0;for(S>=32?(s=g(n,1n),s=x(s,g(d,7n)),s=x(s,g(y,12n)),s=x(s,g(E,18n)),n=m(g(m(n,h),31n),f),s=s^n,s=x(m(s,f),$),d=m(g(m(d,h),31n),f),s=s^d,s=x(m(s,f),$),y=m(g(m(y,h),31n),f),s=s^y,s=x(m(s,f),$),E=m(g(m(E,h),31n),f),s=s^E,s=x(m(s,f),$)):s=x(t,qe),s=x(s,BigInt(S));l<=k-8;){let b=B(e[l+1]<<8|e[l],e[l+3]<<8|e[l+2],e[l+5]<<8|e[l+4],e[l+7]<<8|e[l+6]);b=m(g(m(b,h),31n),f),s=x(m(g(s^b,27n),f),$),l+=8}if(l+4<=k){let b=m(B(e[l+1]<<8|e[l],e[l+3]<<8|e[l+2],0,0),f);s=x(m(g(s^b,23n),h),Me),l+=4}for(;l<k;){let b=m(B(e[l++],0,0,0),qe);s=m(g(s^b,11n),f)}let p=s>>33n;return s=m(s^p,h),p=s>>29n,s=m(s^p,Me),p=s>>32n,s^=p,s}var te=e=>{let t=new Uint8Array(16),n=new DataView(t.buffer);return n.setBigUint64(0,U(e),!0),n.setBigUint64(8,U(e,1n),!0),t},Rt=e=>{let t=new Uint8Array(32),n=new DataView(t.buffer);return n.setBigUint64(0,U(e),!0),n.setBigUint64(8,U(e,1n),!0),n.setBigUint64(16,U(e,2n),!0),n.setBigUint64(24,U(e,3n),!0),t},be=e=>(0,We.mergeUint8)($e.u64.enc(U(e)),e);var R=require("@polkadot-api/utils");var je=new TextEncoder,It=e=>{let t=te(je.encode(e));return(n,d,...y)=>{let E=(0,R.mergeUint8)(t,te(je.encode(n))),S=(0,R.toHex)(E),k=y.map(p=>p[1]).map(p=>p===ge?0:p===be?8:p===fe?16:null).filter(Boolean),D=p=>{if(!p.startsWith(S))throw new Error(`key does not match this storage (${e}.${n})`);if(k.length!==y.length)throw new Error("Impossible to decode this key");if(y.length===0)return[];let b=p.slice(S.length),o=new Array(y.length);for(let v=0,I=0;v<k.length;v++){let w=y[v][0];I+=k[v],o[v]=w.dec(b.slice(I*2)),I+=w.enc(o[v]).length}return o},s=y.map(([{enc:p},b])=>o=>b(p(o)));return{enc:(...p)=>(0,R.toHex)((0,R.mergeUint8)(E,...p.map((b,o)=>s[o](b)))),dec:d,keyDecoder:D}}};
|
|
1
|
+
"use strict";var G=Object.defineProperty;var Je=Object.getOwnPropertyDescriptor;var Qe=Object.getOwnPropertyNames;var Ye=Object.prototype.hasOwnProperty;var Ze=(e,t,n)=>t in e?G(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var et=(e,t)=>{for(var n in t)G(e,n,{get:t[n],enumerable:!0})},tt=(e,t,n,d)=>{if(t&&typeof t=="object"||typeof t=="function")for(let y of Qe(t))!Ye.call(e,y)&&y!==n&&G(e,y,{get:()=>t[y],enumerable:!(d=Je(t,y))||d.enumerable});return e};var nt=e=>tt(G({},"__esModule",{value:!0}),e);var X=(e,t,n)=>(Ze(e,typeof t!="symbol"?t+"":t,n),n),ve=(e,t,n)=>{if(!t.has(e))throw TypeError("Cannot "+n)};var U=(e,t,n)=>(ve(e,t,"read from private field"),n?n.call(e):t.get(e)),z=(e,t,n)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,n)},J=(e,t,n,d)=>(ve(e,t,"write to private field"),d?d.call(e,n):t.set(e,n),n);var Wt={};et(Wt,{AccountId:()=>ct,Bin:()=>ye,Binary:()=>M,Blake2128:()=>We,Blake2128Concat:()=>he,Blake2256:()=>Pt,Bytes:()=>r.Bytes,Enum:()=>le,FixedSizeBinary:()=>de,Hex:()=>A,Identity:()=>Te,Option:()=>r.Option,Result:()=>r.Result,Self:()=>xt,Storage:()=>qt,Struct:()=>r.Struct,Tuple:()=>r.Tuple,Twox128:()=>re,Twox256:()=>$t,Twox64Concat:()=>Ee,Variant:()=>j,Vector:()=>r.Vector,_Enum:()=>gt,_void:()=>r._void,bitSequence:()=>mt,blockHeader:()=>vt,bool:()=>r.bool,char:()=>ut,compact:()=>r.compact,compactBn:()=>it,compactNumber:()=>i,createCodec:()=>r.createCodec,createDecoder:()=>r.createDecoder,enhanceCodec:()=>r.enhanceCodec,enhanceDecoder:()=>r.enhanceDecoder,enhanceEncoder:()=>r.enhanceEncoder,ethAccount:()=>Tt,fixedStr:()=>ft,fromBufferToBase58:()=>ie,getSs58AddressInfo:()=>ae,h64:()=>C,i128:()=>r.i128,i16:()=>r.i16,i256:()=>r.i256,i32:()=>r.i32,i64:()=>r.i64,i8:()=>r.i8,metadata:()=>_t,selfDecoder:()=>Ve,selfEncoder:()=>Ke,str:()=>r.str,u128:()=>r.u128,u16:()=>r.u16,u256:()=>r.u256,u32:()=>r.u32,u64:()=>r.u64,u8:()=>r.u8,v15:()=>xe});module.exports=nt(Wt);var Q=require("scale-ts");var ce=require("@scure/base"),se=require("@noble/hashes/blake2b"),ke=new TextEncoder().encode("SS58PRE"),oe=2,ae=e=>{try{let t=ce.base58.decode(e),n=t.subarray(0,t[0]&64?2:1),d=t.subarray(n.length,t.length-oe),y=t.subarray(n.length+d.length),T=(0,se.blake2b)(Uint8Array.of(...ke,...n,...d),{dkLen:64}).subarray(0,oe);return y[0]===T[0]&&y[1]===T[1]?{isValid:!0,ss58Format:rt(n),publicKey:d.slice()}:{isValid:!1}}catch{return{isValid:!1}}},rt=e=>{let t=new DataView(e.buffer,e.byteOffset,e.byteLength);return t.byteLength===1?t.getUint8(0):t.getUint16(0)},ie=e=>{let t=e<64?Uint8Array.of(e):Uint8Array.of((e&252)>>2|64,e>>8|(e&3)<<6);return n=>{let d=(0,se.blake2b)(Uint8Array.of(...ke,...t,...n),{dkLen:64}).subarray(0,oe);return ce.base58.encode(Uint8Array.of(...t,...n,...d))}};function ot(e,t){return n=>{let d=ae(n);if(!d.isValid)throw new Error("Invalid checksum");let{publicKey:y}=d;if(y.length!==e)throw new Error("Invalid public key length");return y}}var ct=(e=42,t=32)=>(0,Q.enhanceCodec)((0,Q.Bytes)(t),ot(t,e),ie(e));var $=require("scale-ts"),Y=require("@polkadot-api/utils");var st=new TextEncoder,at=new TextDecoder,V,O,H,P=class P{constructor(t){z(this,V,void 0);z(this,O,null);z(this,H,null);X(this,"asText",()=>U(this,H)===null?J(this,H,at.decode(U(this,V))):U(this,H));X(this,"asHex",()=>U(this,O)===null?J(this,O,(0,Y.toHex)(U(this,V))):U(this,O));X(this,"asBytes",()=>U(this,V));J(this,V,t)}static fromText(t){return new P(st.encode(t))}static fromHex(t){return new P((0,Y.fromHex)(t))}static fromBytes(t){return new P(t)}};V=new WeakMap,O=new WeakMap,H=new WeakMap;var M=P,de=class e extends M{constructor(t){super(t)}static fromArray(t){return new e(new Uint8Array(t))}},Se=e=>{let t=$.Bytes.enc(e);return n=>t(n.asBytes())},we=e=>{let t=$.Bytes.dec(e);return n=>M.fromBytes(t(n))},ye=e=>(0,$.createCodec)(Se(e),we(e));ye.enc=Se;ye.dec=we;var L=require("scale-ts");var me=require("scale-ts"),i=me.compact,it=me.compact;var dt=(0,L.createDecoder)(e=>{let t=i.dec(e),n=Math.ceil(t/8);return{bytes:(0,L.Bytes)(n).dec(e),bitsLen:t}}),yt=e=>{if(e.bitsLen>e.bytes.length*8)throw new Error(`Not enough bytes. (bitsLen:${e.bitsLen}, bytesLen:${e.bytes.length})`);let t=i.enc(e.bitsLen),n=new Uint8Array(e.bytes.length+t.length);return n.set(t,0),n.set(e.bytes,t.length),n},mt=(0,L.createCodec)(yt,dt);var Z=require("scale-ts"),ut=(0,Z.enhanceCodec)(Z.u8,e=>e.charCodeAt(0),String.fromCharCode);var ee=require("@polkadot-api/utils"),q=require("scale-ts"),Ae=e=>{let t=q.Bytes.enc(e);return n=>t((0,ee.fromHex)(n))},Ce=e=>{let t=q.Bytes.dec(e);return n=>(0,ee.toHex)(t(n))},A=e=>(0,q.createCodec)(Ae(e),Ce(e));A.enc=Ae;A.dec=Ce;var te=require("scale-ts"),lt=new TextEncoder,pt=new TextDecoder,ft=e=>(0,te.enhanceCodec)((0,te.Bytes)(e),t=>lt.encode(t),t=>pt.decode(t));var r=require("scale-ts");var Ue=require("scale-ts"),Ke=e=>{let t=n=>{let d=e();return t=d,d(n)};return n=>t(n)},Ve=e=>{let t=n=>{let d=e(),y=d;return t=d,y(n)};return n=>t(n)},xt=e=>(0,Ue.createCodec)(Ke(()=>e().enc),Ve(()=>e().dec));var W=require("scale-ts"),ue=require("@polkadot-api/utils"),gt=new Proxy({},{get(e,t){return n=>le(t,n)}}),le=(e,t)=>({as:n=>{if(n!==e)throw new Error(`Enum.as(${n}) used with actual type ${e}`);return t},is:n=>n===e,type:e,value:t}),Be=(...e)=>{let t=W.Enum.enc(...e);return n=>t({tag:n.type,value:n.value})},De=(...e)=>{let t=W.Enum.dec(...e);return n=>{let{tag:d,value:y}=t(n);return le(d,y)}},j=(e,...t)=>(0,W.createCodec)(Be((0,ue.mapObject)(e,([n])=>n),...t),De((0,ue.mapObject)(e,([,n])=>n),...t));j.enc=Be;j.dec=De;var I=require("@polkadot-api/utils"),R=require("scale-ts"),He=require("@noble/hashes/sha3"),Oe=e=>{let t=e.slice(2),n=(0,I.toHex)((0,He.keccak_256)(t)).slice(2),d=new Array(40);for(let y=0;y<40;y++){let T=parseInt(n[y],16),b=t[y];d[y]=T>7?b.toUpperCase():b}return`0x${d.join("")}`},ht=(0,R.Bytes)(20)[1],Tt=(0,R.createCodec)(e=>{let t=(0,I.fromHex)(e);if(t.length!==20)throw new Error(`Invalid length found on EthAddress(${e})`);let n=(0,I.toHex)(t);if(e===n||e===n.toUpperCase())return t;if(Oe(n)!==e)throw new Error(`Invalid checksum found on EthAddress(${e})`);return t},(0,R.createDecoder)(e=>Oe((0,I.toHex)(ht(e)))));var Le=new TextEncoder,Ie=new TextDecoder,bt=(0,r.enhanceCodec)((0,r.Bytes)(4),Le.encode.bind(Le),Ie.decode.bind(Ie)),pe=(0,r.Struct)({engine:bt,payload:A()}),Et=j({consensus:pe,seal:pe,preRuntime:pe,runtimeUpdated:r._void},[4,5,6,8]),fe=A(32),vt=(0,r.Struct)({parentHash:fe,number:i,stateRoot:fe,extrinsicRoot:fe,digests:(0,r.Vector)(Et)});var u=require("scale-ts");var c=require("scale-ts"),Re=(0,c.Option)(c.str),ne=(0,c.Vector)(c.str),kt=(0,c.Enum)({bool:c._void,char:c._void,str:c._void,u8:c._void,u16:c._void,u32:c._void,u64:c._void,u128:c._void,u256:c._void,i8:c._void,i16:c._void,i32:c._void,i64:c._void,i128:c._void,i256:c._void}),_e=(0,c.Vector)((0,c.Struct)({name:Re,type:i,typeName:Re,docs:ne})),St=(0,c.Struct)({len:c.u32,type:i}),wt=(0,c.Struct)({bitStoreType:i,bitOrderType:i}),At=(0,c.Vector)((0,c.Struct)({name:c.str,fields:_e,index:c.u8,docs:ne})),Ct=(0,c.Enum)({composite:_e,variant:At,sequence:i,array:St,tuple:(0,c.Vector)(i),primitive:kt,compact:i,bitSequence:wt}),Ut=(0,c.Struct)({name:c.str,type:(0,c.Option)(i)}),Kt=(0,c.Vector)(Ut),Vt=(0,c.Struct)({id:i,path:ne,params:Kt,def:Ct,docs:ne}),Ne=(0,c.Vector)(Vt);var a=require("scale-ts"),Bt=(0,a.Enum)({Blake2128:a._void,Blake2256:a._void,Blake2128Concat:a._void,Twox128:a._void,Twox256:a._void,Twox64Concat:a._void,Identity:a._void}),Dt=(0,a.Vector)(Bt),Ot=(0,a.Struct)({hashers:Dt,key:i,value:i}),Ht=(0,a.Struct)({name:a.str,modifier:a.u8,type:(0,a.Enum)({plain:i,map:Ot}),fallback:A(),docs:(0,a.Vector)(a.str)}),Lt=(0,a.Option)((0,a.Struct)({prefix:a.str,items:(0,a.Vector)(Ht)})),Pe=(0,a.Vector)((0,a.Struct)({name:a.str,storage:Lt,calls:(0,a.Option)(i),events:(0,a.Option)(i),constants:(0,a.Vector)((0,a.Struct)({name:a.str,type:i,value:A(),docs:(0,a.Vector)(a.str)})),errors:(0,a.Option)(i),index:a.u8,docs:(0,a.Vector)(a.str)}));var Me=(0,u.Vector)(u.str),It=(0,u.Struct)({name:u.str,methods:(0,u.Vector)((0,u.Struct)({name:u.str,inputs:(0,u.Vector)((0,u.Struct)({name:u.str,type:i})),output:i,docs:Me})),docs:Me}),Rt=(0,u.Struct)({version:u.u8,address:i,call:i,signature:i,extra:i,signedExtensions:(0,u.Vector)((0,u.Struct)({identifier:u.str,type:i,additionalSigned:i}))}),xe=(0,u.Struct)({lookup:Ne,pallets:Pe,extrinsic:Rt,type:i,apis:(0,u.Vector)(It),outerEnums:(0,u.Struct)({call:i,event:i,error:i}),custom:(0,u.Vector)((0,u.Tuple)(u.str,(0,u.Struct)({type:i,value:A()})))});var K=require("scale-ts");var $e=()=>{throw new Error("Unsupported metadata version!")},h=(0,K.createCodec)($e,$e),_t=(0,K.Struct)({magicNumber:K.u32,metadata:(0,K.Enum)({v0:h,v1:h,v2:h,v3:h,v4:h,v5:h,v6:h,v7:h,v8:h,v9:h,v10:h,v11:h,v12:h,v13:h,v14:h,v15:xe})});var qe=require("@polkadot-api/utils"),ge=require("@noble/hashes/blake2b"),Nt={dkLen:32},Pt=e=>(0,ge.blake2b)(e,Nt),Mt={dkLen:16},We=e=>(0,ge.blake2b)(e,Mt),he=e=>(0,qe.mergeUint8)(We(e),e);var Te=e=>e;var Ge=require("@polkadot-api/utils"),Xe=require("scale-ts");var B=(e,t,n,d)=>new DataView(new Uint16Array([e,t,n,d]).buffer).getBigUint64(0,!0),be=2n**64n-1n,g=(e,t)=>e<<t&be|e>>64n-t,m=(e,t)=>e*t&be,f=(e,t)=>e+t&be,x=11400714785074694791n,v=14029467366897019727n,je=1609587929392839161n,F=9650029242287828579n,Fe=2870177450012600261n;function C(e,t=0n){let n=f(f(t,x),v),d=f(t,v),y=t,T=t-x,b=e.length,S=0,D=null;(function(){let o=0,k=o+b;if(b){if(D=new Uint8Array(32),b<32){D.set(e.subarray(0,b),S),S+=b;return}if(o<=k-32){let N=k-32;do{let w;w=B(e[o+1]<<8|e[o],e[o+3]<<8|e[o+2],e[o+5]<<8|e[o+4],e[o+7]<<8|e[o+6]),n=m(g(f(n,m(w,v)),31n),x),o+=8,w=B(e[o+1]<<8|e[o],e[o+3]<<8|e[o+2],e[o+5]<<8|e[o+4],e[o+7]<<8|e[o+6]),d=m(g(f(d,m(w,v)),31n),x),o+=8,w=B(e[o+1]<<8|e[o],e[o+3]<<8|e[o+2],e[o+5]<<8|e[o+4],e[o+7]<<8|e[o+6]),y=m(g(f(y,m(w,v)),31n),x),o+=8,w=B(e[o+1]<<8|e[o],e[o+3]<<8|e[o+2],e[o+5]<<8|e[o+4],e[o+7]<<8|e[o+6]),T=m(g(f(T,m(w,v)),31n),x),o+=8}while(o<=N)}o<k&&(D.set(e.subarray(o,k),S),S=k-o)}})(),e=D||e;let s,l=0;for(b>=32?(s=g(n,1n),s=f(s,g(d,7n)),s=f(s,g(y,12n)),s=f(s,g(T,18n)),n=m(g(m(n,v),31n),x),s=s^n,s=f(m(s,x),F),d=m(g(m(d,v),31n),x),s=s^d,s=f(m(s,x),F),y=m(g(m(y,v),31n),x),s=s^y,s=f(m(s,x),F),T=m(g(m(T,v),31n),x),s=s^T,s=f(m(s,x),F)):s=f(t,Fe),s=f(s,BigInt(b));l<=S-8;){let E=B(e[l+1]<<8|e[l],e[l+3]<<8|e[l+2],e[l+5]<<8|e[l+4],e[l+7]<<8|e[l+6]);E=m(g(m(E,v),31n),x),s=f(m(g(s^E,27n),x),F),l+=8}if(l+4<=S){let E=m(B(e[l+1]<<8|e[l],e[l+3]<<8|e[l+2],0,0),x);s=f(m(g(s^E,23n),v),je),l+=4}for(;l<S;){let E=m(B(e[l++],0,0,0),Fe);s=m(g(s^E,11n),x)}let p=s>>33n;return s=m(s^p,v),p=s>>29n,s=m(s^p,je),p=s>>32n,s^=p,s}var re=e=>{let t=new Uint8Array(16),n=new DataView(t.buffer);return n.setBigUint64(0,C(e),!0),n.setBigUint64(8,C(e,1n),!0),t},$t=e=>{let t=new Uint8Array(32),n=new DataView(t.buffer);return n.setBigUint64(0,C(e),!0),n.setBigUint64(8,C(e,1n),!0),n.setBigUint64(16,C(e,2n),!0),n.setBigUint64(24,C(e,3n),!0),t},Ee=e=>(0,Ge.mergeUint8)(Xe.u64.enc(C(e)),e);var _=require("@polkadot-api/utils");var ze=new TextEncoder,qt=e=>{let t=re(ze.encode(e));return(n,d,...y)=>{let T=(0,_.mergeUint8)(t,re(ze.encode(n))),b=(0,_.toHex)(T),S=y.map(p=>p[1]).map(p=>p===Te?0:p===Ee?8:p===he?16:null).filter(Boolean),D=p=>{if(!p.startsWith(b))throw new Error(`key does not match this storage (${e}.${n})`);if(S.length!==y.length)throw new Error("Impossible to decode this key");if(y.length===0)return[];let E=p.slice(b.length),o=new Array(y.length);for(let k=0,N=0;k<S.length;k++){let w=y[k][0];N+=S[k],o[k]=w.dec(E.slice(N*2)),N+=w.enc(o[k]).length}return o},s=y.map(([{enc:p},E])=>o=>E(p(o)));return{enc:(...p)=>(0,_.toHex)((0,_.mergeUint8)(T,...p.map((E,o)=>s[o](E)))),dec:d,keyDecoder:D}}};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|