@polkadot-api/substrate-bindings 0.9.2 → 0.9.4

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,"file":"blockHeader.mjs","sources":["../../../src/codecs/blockHeader.ts"],"sourcesContent":["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"],"names":[],"mappings":";;;;;;;;;;;AAYA,MAAM,WAAA,GAAc,IAAI,WAAY,EAAA,CAAA;AACpC,MAAM,WAAA,GAAc,IAAI,WAAY,EAAA,CAAA;AAEpC,MAAM,SAAY,GAAA,YAAA;AAAA,EAChB,MAAM,CAAC,CAAA;AAAA,EACP,WAAA,CAAY,MAAO,CAAA,IAAA,CAAK,WAAW,CAAA;AAAA,EACnC,WAAA,CAAY,MAAO,CAAA,IAAA,CAAK,WAAW,CAAA;AACrC,CAAA,CAAA;AAEA,MAAM,aAAa,MAAO,CAAA;AAAA,EACxB,MAAQ,EAAA,SAAA;AAAA,EACR,SAAS,GAAI,EAAA;AACf,CAAC,CAAA,CAAA;AAED,MAAM,OAAU,GAAA,OAAA;AAAA,EACd;AAAA,IACE,SAAW,EAAA,UAAA;AAAA,IACX,IAAM,EAAA,UAAA;AAAA,IACN,UAAY,EAAA,UAAA;AAAA,IACZ,cAAgB,EAAA,KAAA;AAAA,GAClB;AAAA,EACA,CAAC,CAAA,EAAG,CAAG,EAAA,CAAA,EAAG,CAAC,CAAA;AACb,CAAA,CAAA;AAEA,MAAM,KAAA,GAAQ,IAAI,EAAE,CAAA,CAAA;AACb,MAAM,cAAc,MAAO,CAAA;AAAA,EAChC,UAAY,EAAA,KAAA;AAAA,EACZ,MAAQ,EAAA,aAAA;AAAA,EACR,SAAW,EAAA,KAAA;AAAA,EACX,aAAe,EAAA,KAAA;AAAA,EACf,OAAA,EAAS,OAAO,OAAO,CAAA;AACzB,CAAC;;;;"}
1
+ {"version":3,"file":"blockHeader.mjs","sources":["../../../src/codecs/blockHeader.ts"],"sourcesContent":["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"],"names":[],"mappings":";;;;;;;;;;;AAYA,MAAM,WAAA,GAAc,IAAI,WAAY,EAAA;AACpC,MAAM,WAAA,GAAc,IAAI,WAAY,EAAA;AAEpC,MAAM,SAAY,GAAA,YAAA;AAAA,EAChB,MAAM,CAAC,CAAA;AAAA,EACP,WAAA,CAAY,MAAO,CAAA,IAAA,CAAK,WAAW,CAAA;AAAA,EACnC,WAAA,CAAY,MAAO,CAAA,IAAA,CAAK,WAAW;AACrC,CAAA;AAEA,MAAM,aAAa,MAAO,CAAA;AAAA,EACxB,MAAQ,EAAA,SAAA;AAAA,EACR,SAAS,GAAI;AACf,CAAC,CAAA;AAED,MAAM,OAAU,GAAA,OAAA;AAAA,EACd;AAAA,IACE,SAAW,EAAA,UAAA;AAAA,IACX,IAAM,EAAA,UAAA;AAAA,IACN,UAAY,EAAA,UAAA;AAAA,IACZ,cAAgB,EAAA;AAAA,GAClB;AAAA,EACA,CAAC,CAAA,EAAG,CAAG,EAAA,CAAA,EAAG,CAAC;AACb,CAAA;AAEA,MAAM,KAAA,GAAQ,IAAI,EAAE,CAAA;AACb,MAAM,cAAc,MAAO,CAAA;AAAA,EAChC,UAAY,EAAA,KAAA;AAAA,EACZ,MAAQ,EAAA,aAAA;AAAA,EACR,SAAW,EAAA,KAAA;AAAA,EACX,aAAe,EAAA,KAAA;AAAA,EACf,OAAA,EAAS,OAAO,OAAO;AACzB,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"lookup.mjs","sources":["../../../../src/codecs/metadata/lookup.ts"],"sourcesContent":["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\"\nimport { docs } from \"./docs\"\n\nconst oStr = Option(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,\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,\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: docs,\n params,\n def,\n docs,\n})\n\nexport const lookup = Vector(entry)\nexport type V14Lookup = CodecType<typeof lookup>\n"],"names":[],"mappings":";;;;AAcA,MAAM,IAAA,GAAO,OAAO,GAAG,CAAA,CAAA;AAEvB,MAAM,YAAY,IAAK,CAAA;AAAA,EACrB,IAAM,EAAA,KAAA;AAAA,EACN,IAAM,EAAA,KAAA;AAAA,EACN,GAAK,EAAA,KAAA;AAAA,EACL,EAAI,EAAA,KAAA;AAAA,EACJ,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,IAAM,EAAA,KAAA;AAAA,EACN,IAAM,EAAA,KAAA;AAAA,EACN,EAAI,EAAA,KAAA;AAAA,EACJ,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,IAAM,EAAA,KAAA;AAAA,EACN,IAAM,EAAA,KAAA;AACR,CAAC,CAAA,CAAA;AAED,MAAM,MAAS,GAAA,MAAA;AAAA,EACb,MAAO,CAAA;AAAA,IACL,IAAM,EAAA,IAAA;AAAA,IACN,IAAM,EAAA,aAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,IACV,IAAA;AAAA,GACD,CAAA;AACH,CAAA,CAAA;AAEA,MAAM,MAAM,MAAO,CAAA;AAAA,EACjB,GAAK,EAAA,GAAA;AAAA,EACL,IAAM,EAAA,aAAA;AACR,CAAC,CAAA,CAAA;AAED,MAAM,cAAc,MAAO,CAAA;AAAA,EACzB,YAAc,EAAA,aAAA;AAAA,EACd,YAAc,EAAA,aAAA;AAChB,CAAC,CAAA,CAAA;AAED,MAAM,OAAU,GAAA,MAAA;AAAA,EACd,MAAO,CAAA;AAAA,IACL,IAAM,EAAA,GAAA;AAAA,IACN,MAAA;AAAA,IACA,KAAO,EAAA,EAAA;AAAA,IACP,IAAA;AAAA,GACD,CAAA;AACH,CAAA,CAAA;AAEA,MAAM,MAAM,IAAK,CAAA;AAAA,EACf,SAAW,EAAA,MAAA;AAAA,EACX,OAAA;AAAA,EACA,QAAU,EAAA,aAAA;AAAA,EACV,KAAO,EAAA,GAAA;AAAA,EACP,KAAA,EAAO,OAAO,aAAa,CAAA;AAAA,EAC3B,SAAA;AAAA,EACA,OAAS,EAAA,aAAA;AAAA,EACT,WAAA;AACF,CAAC,CAAA,CAAA;AAED,MAAM,QAAQ,MAAO,CAAA;AAAA,EACnB,IAAM,EAAA,GAAA;AAAA,EACN,IAAA,EAAM,OAAO,aAAa,CAAA;AAC5B,CAAC,CAAA,CAAA;AACD,MAAM,MAAA,GAAS,OAAO,KAAK,CAAA,CAAA;AAE3B,MAAM,QAAQ,MAAO,CAAA;AAAA,EACnB,EAAI,EAAA,aAAA;AAAA,EACJ,IAAM,EAAA,IAAA;AAAA,EACN,MAAA;AAAA,EACA,GAAA;AAAA,EACA,IAAA;AACF,CAAC,CAAA,CAAA;AAEY,MAAA,MAAA,GAAS,OAAO,KAAK;;;;"}
1
+ {"version":3,"file":"lookup.mjs","sources":["../../../../src/codecs/metadata/lookup.ts"],"sourcesContent":["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\"\nimport { docs } from \"./docs\"\n\nconst oStr = Option(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,\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,\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: docs,\n params,\n def,\n docs,\n})\n\nexport const lookup = Vector(entry)\nexport type V14Lookup = CodecType<typeof lookup>\n"],"names":[],"mappings":";;;;AAcA,MAAM,IAAA,GAAO,OAAO,GAAG,CAAA;AAEvB,MAAM,YAAY,IAAK,CAAA;AAAA,EACrB,IAAM,EAAA,KAAA;AAAA,EACN,IAAM,EAAA,KAAA;AAAA,EACN,GAAK,EAAA,KAAA;AAAA,EACL,EAAI,EAAA,KAAA;AAAA,EACJ,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,IAAM,EAAA,KAAA;AAAA,EACN,IAAM,EAAA,KAAA;AAAA,EACN,EAAI,EAAA,KAAA;AAAA,EACJ,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,GAAK,EAAA,KAAA;AAAA,EACL,IAAM,EAAA,KAAA;AAAA,EACN,IAAM,EAAA;AACR,CAAC,CAAA;AAED,MAAM,MAAS,GAAA,MAAA;AAAA,EACb,MAAO,CAAA;AAAA,IACL,IAAM,EAAA,IAAA;AAAA,IACN,IAAM,EAAA,aAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,IACV;AAAA,GACD;AACH,CAAA;AAEA,MAAM,MAAM,MAAO,CAAA;AAAA,EACjB,GAAK,EAAA,GAAA;AAAA,EACL,IAAM,EAAA;AACR,CAAC,CAAA;AAED,MAAM,cAAc,MAAO,CAAA;AAAA,EACzB,YAAc,EAAA,aAAA;AAAA,EACd,YAAc,EAAA;AAChB,CAAC,CAAA;AAED,MAAM,OAAU,GAAA,MAAA;AAAA,EACd,MAAO,CAAA;AAAA,IACL,IAAM,EAAA,GAAA;AAAA,IACN,MAAA;AAAA,IACA,KAAO,EAAA,EAAA;AAAA,IACP;AAAA,GACD;AACH,CAAA;AAEA,MAAM,MAAM,IAAK,CAAA;AAAA,EACf,SAAW,EAAA,MAAA;AAAA,EACX,OAAA;AAAA,EACA,QAAU,EAAA,aAAA;AAAA,EACV,KAAO,EAAA,GAAA;AAAA,EACP,KAAA,EAAO,OAAO,aAAa,CAAA;AAAA,EAC3B,SAAA;AAAA,EACA,OAAS,EAAA,aAAA;AAAA,EACT;AACF,CAAC,CAAA;AAED,MAAM,QAAQ,MAAO,CAAA;AAAA,EACnB,IAAM,EAAA,GAAA;AAAA,EACN,IAAA,EAAM,OAAO,aAAa;AAC5B,CAAC,CAAA;AACD,MAAM,MAAA,GAAS,OAAO,KAAK,CAAA;AAE3B,MAAM,QAAQ,MAAO,CAAA;AAAA,EACnB,EAAI,EAAA,aAAA;AAAA,EACJ,IAAM,EAAA,IAAA;AAAA,EACN,MAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF,CAAC,CAAA;AAEY,MAAA,MAAA,GAAS,OAAO,KAAK;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.mjs","sources":["../../../../src/codecs/metadata/metadata.ts"],"sourcesContent":["import {\n Bytes,\n type Codec,\n type CodecType,\n Enum,\n Option,\n Struct,\n Tuple,\n compact,\n createCodec,\n u32,\n} from \"scale-ts\"\nimport type { HexString } from \"../scale\"\nimport { v14 } from \"./v14\"\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,\n v15,\n }),\n})\n\nconst opaqueBytes = Bytes()\nconst optionOpaque = Option(opaqueBytes)\nconst opaqueOpaqueBytes = Tuple(compact, opaqueBytes)\n\nexport const decAnyMetadata = (\n input: Uint8Array | HexString,\n): CodecType<typeof metadata> => {\n try {\n return metadata.dec(input)\n } catch (_) {}\n\n // comes from metadata.metadata_at_version\n try {\n return metadata.dec(optionOpaque.dec(input)!)\n } catch (_) {}\n\n // comes from state.getMetadata\n try {\n return metadata.dec(opaqueBytes.dec(input))\n } catch (_) {}\n\n // comes from metadata.metadata\n try {\n return metadata.dec(opaqueOpaqueBytes.dec(input)[1])\n } catch (_) {}\n\n throw null\n}\n"],"names":[],"mappings":";;;;AAgBA,MAAM,gBAAgB,MAAM;AAC1B,EAAM,MAAA,IAAI,MAAM,+BAA+B,CAAA,CAAA;AACjD,CAAA,CAAA;AAEA,MAAM,WAAc,GAAA,WAAA;AAAA,EAClB,aAAA;AAAA,EACA,aAAA;AACF,CAAA,CAAA;AAEO,MAAM,WAAW,MAAO,CAAA;AAAA,EAC7B,WAAa,EAAA,GAAA;AAAA,EACb,UAAU,IAAK,CAAA;AAAA,IACb,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,GAAK,EAAA,WAAA;AAAA,IACL,GAAK,EAAA,WAAA;AAAA,IACL,GAAK,EAAA,WAAA;AAAA,IACL,GAAK,EAAA,WAAA;AAAA,IACL,GAAA;AAAA,IACA,GAAA;AAAA,GACD,CAAA;AACH,CAAC,EAAA;AAED,MAAM,cAAc,KAAM,EAAA,CAAA;AAC1B,MAAM,YAAA,GAAe,OAAO,WAAW,CAAA,CAAA;AACvC,MAAM,iBAAA,GAAoB,KAAM,CAAA,OAAA,EAAS,WAAW,CAAA,CAAA;AAEvC,MAAA,cAAA,GAAiB,CAC5B,KAC+B,KAAA;AAC/B,EAAI,IAAA;AACF,IAAO,OAAA,QAAA,CAAS,IAAI,KAAK,CAAA,CAAA;AAAA,WAClB,CAAG,EAAA;AAAA,GAAC;AAGb,EAAI,IAAA;AACF,IAAA,OAAO,QAAS,CAAA,GAAA,CAAI,YAAa,CAAA,GAAA,CAAI,KAAK,CAAE,CAAA,CAAA;AAAA,WACrC,CAAG,EAAA;AAAA,GAAC;AAGb,EAAI,IAAA;AACF,IAAA,OAAO,QAAS,CAAA,GAAA,CAAI,WAAY,CAAA,GAAA,CAAI,KAAK,CAAC,CAAA,CAAA;AAAA,WACnC,CAAG,EAAA;AAAA,GAAC;AAGb,EAAI,IAAA;AACF,IAAA,OAAO,SAAS,GAAI,CAAA,iBAAA,CAAkB,IAAI,KAAK,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA;AAAA,WAC5C,CAAG,EAAA;AAAA,GAAC;AAEb,EAAM,MAAA,IAAA,CAAA;AACR;;;;"}
1
+ {"version":3,"file":"metadata.mjs","sources":["../../../../src/codecs/metadata/metadata.ts"],"sourcesContent":["import {\n Bytes,\n type Codec,\n type CodecType,\n Enum,\n Option,\n Struct,\n Tuple,\n compact,\n createCodec,\n u32,\n} from \"scale-ts\"\nimport type { HexString } from \"../scale\"\nimport { v14 } from \"./v14\"\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,\n v15,\n }),\n})\n\nconst opaqueBytes = Bytes()\nconst optionOpaque = Option(opaqueBytes)\nconst opaqueOpaqueBytes = Tuple(compact, opaqueBytes)\n\nexport const decAnyMetadata = (\n input: Uint8Array | HexString,\n): CodecType<typeof metadata> => {\n try {\n return metadata.dec(input)\n } catch (_) {}\n\n // comes from metadata.metadata_at_version\n try {\n return metadata.dec(optionOpaque.dec(input)!)\n } catch (_) {}\n\n // comes from state.getMetadata\n try {\n return metadata.dec(opaqueBytes.dec(input))\n } catch (_) {}\n\n // comes from metadata.metadata\n try {\n return metadata.dec(opaqueOpaqueBytes.dec(input)[1])\n } catch (_) {}\n\n throw null\n}\n"],"names":[],"mappings":";;;;AAgBA,MAAM,gBAAgB,MAAM;AAC1B,EAAM,MAAA,IAAI,MAAM,+BAA+B,CAAA;AACjD,CAAA;AAEA,MAAM,WAAc,GAAA,WAAA;AAAA,EAClB,aAAA;AAAA,EACA;AACF,CAAA;AAEO,MAAM,WAAW,MAAO,CAAA;AAAA,EAC7B,WAAa,EAAA,GAAA;AAAA,EACb,UAAU,IAAK,CAAA;AAAA,IACb,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,EAAI,EAAA,WAAA;AAAA,IACJ,GAAK,EAAA,WAAA;AAAA,IACL,GAAK,EAAA,WAAA;AAAA,IACL,GAAK,EAAA,WAAA;AAAA,IACL,GAAK,EAAA,WAAA;AAAA,IACL,GAAA;AAAA,IACA;AAAA,GACD;AACH,CAAC;AAED,MAAM,cAAc,KAAM,EAAA;AAC1B,MAAM,YAAA,GAAe,OAAO,WAAW,CAAA;AACvC,MAAM,iBAAA,GAAoB,KAAM,CAAA,OAAA,EAAS,WAAW,CAAA;AAEvC,MAAA,cAAA,GAAiB,CAC5B,KAC+B,KAAA;AAC/B,EAAI,IAAA;AACF,IAAO,OAAA,QAAA,CAAS,IAAI,KAAK,CAAA;AAAA,WAClB,CAAG,EAAA;AAAA;AAGZ,EAAI,IAAA;AACF,IAAA,OAAO,QAAS,CAAA,GAAA,CAAI,YAAa,CAAA,GAAA,CAAI,KAAK,CAAE,CAAA;AAAA,WACrC,CAAG,EAAA;AAAA;AAGZ,EAAI,IAAA;AACF,IAAA,OAAO,QAAS,CAAA,GAAA,CAAI,WAAY,CAAA,GAAA,CAAI,KAAK,CAAC,CAAA;AAAA,WACnC,CAAG,EAAA;AAAA;AAGZ,EAAI,IAAA;AACF,IAAA,OAAO,SAAS,GAAI,CAAA,iBAAA,CAAkB,IAAI,KAAK,CAAA,CAAE,CAAC,CAAC,CAAA;AAAA,WAC5C,CAAG,EAAA;AAAA;AAEZ,EAAM,MAAA,IAAA;AACR;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"pallets.mjs","sources":["../../../../src/codecs/metadata/pallets.ts"],"sourcesContent":["import { Hex, compactNumber } from \"@/codecs/scale\"\nimport { Struct, Option, Vector, u8, str, Enum, _void } from \"scale-ts\"\nimport { docs } from \"./docs\"\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,\n})\n\nconst storage = Option(\n Struct({\n prefix: str,\n items: Vector(storageItem),\n }),\n)\n\nexport const v14Pallet = {\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,\n }),\n ),\n errors: Option(compactNumber),\n index: u8,\n}\n\nexport const v15Pallet = {\n ...v14Pallet,\n docs,\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAIA,MAAM,WAAW,IAAK,CAAA;AAAA,EACpB,SAAW,EAAA,KAAA;AAAA,EACX,SAAW,EAAA,KAAA;AAAA,EACX,eAAiB,EAAA,KAAA;AAAA,EACjB,OAAS,EAAA,KAAA;AAAA,EACT,OAAS,EAAA,KAAA;AAAA,EACT,YAAc,EAAA,KAAA;AAAA,EACd,QAAU,EAAA,KAAA;AACZ,CAAC,CAAA,CAAA;AAED,MAAM,OAAA,GAAU,OAAO,QAAQ,CAAA,CAAA;AAE/B,MAAM,aAAa,MAAO,CAAA;AAAA,EACxB,OAAA;AAAA,EACA,GAAK,EAAA,aAAA;AAAA,EACL,KAAO,EAAA,aAAA;AACT,CAAC,CAAA,CAAA;AAED,MAAM,cAAc,MAAO,CAAA;AAAA,EACzB,IAAM,EAAA,GAAA;AAAA,EACN,QAAU,EAAA,EAAA;AAAA,EACV,MAAM,IAAK,CAAA;AAAA,IACT,KAAO,EAAA,aAAA;AAAA,IACP,GAAK,EAAA,UAAA;AAAA,GACN,CAAA;AAAA,EACD,UAAU,GAAI,EAAA;AAAA,EACd,IAAA;AACF,CAAC,CAAA,CAAA;AAED,MAAM,OAAU,GAAA,MAAA;AAAA,EACd,MAAO,CAAA;AAAA,IACL,MAAQ,EAAA,GAAA;AAAA,IACR,KAAA,EAAO,OAAO,WAAW,CAAA;AAAA,GAC1B,CAAA;AACH,CAAA,CAAA;AAEO,MAAM,SAAY,GAAA;AAAA,EACvB,IAAM,EAAA,GAAA;AAAA,EACN,OAAA;AAAA,EACA,KAAA,EAAO,OAAO,aAAa,CAAA;AAAA,EAC3B,MAAA,EAAQ,OAAO,aAAa,CAAA;AAAA,EAC5B,SAAW,EAAA,MAAA;AAAA,IACT,MAAO,CAAA;AAAA,MACL,IAAM,EAAA,GAAA;AAAA,MACN,IAAM,EAAA,aAAA;AAAA,MACN,OAAO,GAAI,EAAA;AAAA,MACX,IAAA;AAAA,KACD,CAAA;AAAA,GACH;AAAA,EACA,MAAA,EAAQ,OAAO,aAAa,CAAA;AAAA,EAC5B,KAAO,EAAA,EAAA;AACT,EAAA;AAEO,MAAM,SAAY,GAAA;AAAA,EACvB,GAAG,SAAA;AAAA,EACH,IAAA;AACF;;;;"}
1
+ {"version":3,"file":"pallets.mjs","sources":["../../../../src/codecs/metadata/pallets.ts"],"sourcesContent":["import { Hex, compactNumber } from \"@/codecs/scale\"\nimport { Struct, Option, Vector, u8, str, Enum, _void } from \"scale-ts\"\nimport { docs } from \"./docs\"\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,\n})\n\nconst storage = Option(\n Struct({\n prefix: str,\n items: Vector(storageItem),\n }),\n)\n\nexport const v14Pallet = {\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,\n }),\n ),\n errors: Option(compactNumber),\n index: u8,\n}\n\nexport const v15Pallet = {\n ...v14Pallet,\n docs,\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAIA,MAAM,WAAW,IAAK,CAAA;AAAA,EACpB,SAAW,EAAA,KAAA;AAAA,EACX,SAAW,EAAA,KAAA;AAAA,EACX,eAAiB,EAAA,KAAA;AAAA,EACjB,OAAS,EAAA,KAAA;AAAA,EACT,OAAS,EAAA,KAAA;AAAA,EACT,YAAc,EAAA,KAAA;AAAA,EACd,QAAU,EAAA;AACZ,CAAC,CAAA;AAED,MAAM,OAAA,GAAU,OAAO,QAAQ,CAAA;AAE/B,MAAM,aAAa,MAAO,CAAA;AAAA,EACxB,OAAA;AAAA,EACA,GAAK,EAAA,aAAA;AAAA,EACL,KAAO,EAAA;AACT,CAAC,CAAA;AAED,MAAM,cAAc,MAAO,CAAA;AAAA,EACzB,IAAM,EAAA,GAAA;AAAA,EACN,QAAU,EAAA,EAAA;AAAA,EACV,MAAM,IAAK,CAAA;AAAA,IACT,KAAO,EAAA,aAAA;AAAA,IACP,GAAK,EAAA;AAAA,GACN,CAAA;AAAA,EACD,UAAU,GAAI,EAAA;AAAA,EACd;AACF,CAAC,CAAA;AAED,MAAM,OAAU,GAAA,MAAA;AAAA,EACd,MAAO,CAAA;AAAA,IACL,MAAQ,EAAA,GAAA;AAAA,IACR,KAAA,EAAO,OAAO,WAAW;AAAA,GAC1B;AACH,CAAA;AAEO,MAAM,SAAY,GAAA;AAAA,EACvB,IAAM,EAAA,GAAA;AAAA,EACN,OAAA;AAAA,EACA,KAAA,EAAO,OAAO,aAAa,CAAA;AAAA,EAC3B,MAAA,EAAQ,OAAO,aAAa,CAAA;AAAA,EAC5B,SAAW,EAAA,MAAA;AAAA,IACT,MAAO,CAAA;AAAA,MACL,IAAM,EAAA,GAAA;AAAA,MACN,IAAM,EAAA,aAAA;AAAA,MACN,OAAO,GAAI,EAAA;AAAA,MACX;AAAA,KACD;AAAA,GACH;AAAA,EACA,MAAA,EAAQ,OAAO,aAAa,CAAA;AAAA,EAC5B,KAAO,EAAA;AACT;AAEO,MAAM,SAAY,GAAA;AAAA,EACvB,GAAG,SAAA;AAAA,EACH;AACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-api.mjs","sources":["../../../../src/codecs/metadata/runtime-api.ts"],"sourcesContent":["import { Struct, Vector, str } from \"scale-ts\"\nimport { docs } from \"./docs\"\nimport { compactNumber as ty } from \"../scale\"\n\nexport const 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"],"names":["ty"],"mappings":";;;;;;;;;;;;AAIO,MAAM,aAAa,MAAO,CAAA;AAAA,EAC/B,IAAM,EAAA,GAAA;AAAA,EACN,OAAS,EAAA,MAAA;AAAA,IACP,MAAO,CAAA;AAAA,MACL,IAAM,EAAA,GAAA;AAAA,MACN,MAAQ,EAAA,MAAA;AAAA,QACN,MAAO,CAAA;AAAA,UACL,IAAM,EAAA,GAAA;AAAA,UACN,IAAM,EAAAA,aAAA;AAAA,SACP,CAAA;AAAA,OACH;AAAA,MACA,MAAQ,EAAAA,aAAA;AAAA,MACR,IAAA;AAAA,KACD,CAAA;AAAA,GACH;AAAA,EACA,IAAA;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"runtime-api.mjs","sources":["../../../../src/codecs/metadata/runtime-api.ts"],"sourcesContent":["import { Struct, Vector, str } from \"scale-ts\"\nimport { docs } from \"./docs\"\nimport { compactNumber as ty } from \"../scale\"\n\nexport const 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"],"names":["ty"],"mappings":";;;;;;;;;;;;AAIO,MAAM,aAAa,MAAO,CAAA;AAAA,EAC/B,IAAM,EAAA,GAAA;AAAA,EACN,OAAS,EAAA,MAAA;AAAA,IACP,MAAO,CAAA;AAAA,MACL,IAAM,EAAA,GAAA;AAAA,MACN,MAAQ,EAAA,MAAA;AAAA,QACN,MAAO,CAAA;AAAA,UACL,IAAM,EAAA,GAAA;AAAA,UACN,IAAM,EAAAA;AAAA,SACP;AAAA,OACH;AAAA,MACA,MAAQ,EAAAA,aAAA;AAAA,MACR;AAAA,KACD;AAAA,GACH;AAAA,EACA;AACF,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"v14.mjs","sources":["../../../../src/codecs/metadata/v14.ts"],"sourcesContent":["import { CodecType, Struct, Vector, createCodec, str, u8 } from \"scale-ts\"\nimport { lookup } from \"./lookup\"\nimport { compactNumber } from \"../scale\"\nimport { v14Pallet } from \"./pallets\"\nimport { runtimeApi } from \"./runtime-api\"\n\nconst empty = new Uint8Array()\nconst Always = <T>(value: T) =>\n createCodec<T>(\n () => empty,\n () => value,\n )\n\nconst extrinsic = Struct({\n type: compactNumber,\n version: u8,\n signedExtensions: Vector(\n Struct({\n identifier: str,\n type: compactNumber,\n additionalSigned: compactNumber,\n }),\n ),\n})\nexport type V14Extrinsic = CodecType<typeof extrinsic>\n\nexport const v14 = Struct({\n lookup,\n pallets: Vector(Struct({ ...v14Pallet, docs: Always([] as string[]) })),\n extrinsic,\n type: compactNumber,\n apis: Always([] as Array<CodecType<typeof runtimeApi>>),\n})\nexport type V14 = CodecType<typeof v14>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAMA,MAAM,KAAA,GAAQ,IAAI,UAAW,EAAA,CAAA;AAC7B,MAAM,MAAA,GAAS,CAAI,KACjB,KAAA,WAAA;AAAA,EACE,MAAM,KAAA;AAAA,EACN,MAAM,KAAA;AACR,CAAA,CAAA;AAEF,MAAM,YAAY,MAAO,CAAA;AAAA,EACvB,IAAM,EAAA,aAAA;AAAA,EACN,OAAS,EAAA,EAAA;AAAA,EACT,gBAAkB,EAAA,MAAA;AAAA,IAChB,MAAO,CAAA;AAAA,MACL,UAAY,EAAA,GAAA;AAAA,MACZ,IAAM,EAAA,aAAA;AAAA,MACN,gBAAkB,EAAA,aAAA;AAAA,KACnB,CAAA;AAAA,GACH;AACF,CAAC,CAAA,CAAA;AAGM,MAAM,MAAM,MAAO,CAAA;AAAA,EACxB,MAAA;AAAA,EACA,OAAS,EAAA,MAAA,CAAO,MAAO,CAAA,EAAE,GAAG,SAAA,EAAW,IAAM,EAAA,MAAA,CAAO,EAAc,CAAE,EAAC,CAAC,CAAA;AAAA,EACtE,SAAA;AAAA,EACA,IAAM,EAAA,aAAA;AAAA,EACN,IAAA,EAAM,MAAO,CAAA,EAAyC,CAAA;AACxD,CAAC;;;;"}
1
+ {"version":3,"file":"v14.mjs","sources":["../../../../src/codecs/metadata/v14.ts"],"sourcesContent":["import { CodecType, Struct, Vector, createCodec, str, u8 } from \"scale-ts\"\nimport { lookup } from \"./lookup\"\nimport { compactNumber } from \"../scale\"\nimport { v14Pallet } from \"./pallets\"\nimport { runtimeApi } from \"./runtime-api\"\n\nconst empty = new Uint8Array()\nconst Always = <T>(value: T) =>\n createCodec<T>(\n () => empty,\n () => value,\n )\n\nconst extrinsic = Struct({\n type: compactNumber,\n version: u8,\n signedExtensions: Vector(\n Struct({\n identifier: str,\n type: compactNumber,\n additionalSigned: compactNumber,\n }),\n ),\n})\nexport type V14Extrinsic = CodecType<typeof extrinsic>\n\nexport const v14 = Struct({\n lookup,\n pallets: Vector(Struct({ ...v14Pallet, docs: Always([] as string[]) })),\n extrinsic,\n type: compactNumber,\n apis: Always([] as Array<CodecType<typeof runtimeApi>>),\n})\nexport type V14 = CodecType<typeof v14>\n"],"names":[],"mappings":";;;;;;;;;;;;;AAMA,MAAM,KAAA,GAAQ,IAAI,UAAW,EAAA;AAC7B,MAAM,MAAA,GAAS,CAAI,KACjB,KAAA,WAAA;AAAA,EACE,MAAM,KAAA;AAAA,EACN,MAAM;AACR,CAAA;AAEF,MAAM,YAAY,MAAO,CAAA;AAAA,EACvB,IAAM,EAAA,aAAA;AAAA,EACN,OAAS,EAAA,EAAA;AAAA,EACT,gBAAkB,EAAA,MAAA;AAAA,IAChB,MAAO,CAAA;AAAA,MACL,UAAY,EAAA,GAAA;AAAA,MACZ,IAAM,EAAA,aAAA;AAAA,MACN,gBAAkB,EAAA;AAAA,KACnB;AAAA;AAEL,CAAC,CAAA;AAGM,MAAM,MAAM,MAAO,CAAA;AAAA,EACxB,MAAA;AAAA,EACA,OAAS,EAAA,MAAA,CAAO,MAAO,CAAA,EAAE,GAAG,SAAA,EAAW,IAAM,EAAA,MAAA,CAAO,EAAc,CAAE,EAAC,CAAC,CAAA;AAAA,EACtE,SAAA;AAAA,EACA,IAAM,EAAA,aAAA;AAAA,EACN,IAAA,EAAM,MAAO,CAAA,EAAyC;AACxD,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"v15.mjs","sources":["../../../../src/codecs/metadata/v15.ts"],"sourcesContent":["import { CodecType, Struct, Tuple, Vector, str, u8 } from \"scale-ts\"\nimport { lookup } from \"./lookup\"\nimport { v15Pallet } from \"./pallets\"\nimport { Hex, compactNumber as ty } from \"../scale\"\nimport { runtimeApi } from \"./runtime-api\"\nexport type { V14Lookup } from \"./lookup\"\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: Vector(Struct(v15Pallet)),\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"],"names":["ty"],"mappings":";;;;;;;;;;;;;;AAOA,MAAM,YAAY,MAAO,CAAA;AAAA,EACvB,OAAS,EAAA,EAAA;AAAA,EACT,OAAS,EAAAA,aAAA;AAAA,EACT,IAAM,EAAAA,aAAA;AAAA,EACN,SAAW,EAAAA,aAAA;AAAA,EACX,KAAO,EAAAA,aAAA;AAAA,EACP,gBAAkB,EAAA,MAAA;AAAA,IAChB,MAAO,CAAA;AAAA,MACL,UAAY,EAAA,GAAA;AAAA,MACZ,IAAM,EAAAA,aAAA;AAAA,MACN,gBAAkB,EAAAA,aAAA;AAAA,KACnB,CAAA;AAAA,GACH;AACF,CAAC,CAAA,CAAA;AAGM,MAAM,MAAM,MAAO,CAAA;AAAA,EACxB,MAAA;AAAA,EACA,OAAS,EAAA,MAAA,CAAO,MAAO,CAAA,SAAS,CAAC,CAAA;AAAA,EACjC,SAAA;AAAA,EACA,IAAM,EAAAA,aAAA;AAAA,EACN,IAAA,EAAM,OAAO,UAAU,CAAA;AAAA,EACvB,YAAY,MAAO,CAAA;AAAA,IACjB,IAAM,EAAAA,aAAA;AAAA,IACN,KAAO,EAAAA,aAAA;AAAA,IACP,KAAO,EAAAA,aAAA;AAAA,GACR,CAAA;AAAA,EACD,MAAQ,EAAA,MAAA,CAAO,KAAM,CAAA,GAAA,EAAK,MAAO,CAAA,EAAE,IAAM,EAAAA,aAAA,EAAI,KAAO,EAAA,GAAA,EAAM,EAAC,CAAC,CAAC,CAAA;AAC/D,CAAC;;;;"}
1
+ {"version":3,"file":"v15.mjs","sources":["../../../../src/codecs/metadata/v15.ts"],"sourcesContent":["import { CodecType, Struct, Tuple, Vector, str, u8 } from \"scale-ts\"\nimport { lookup } from \"./lookup\"\nimport { v15Pallet } from \"./pallets\"\nimport { Hex, compactNumber as ty } from \"../scale\"\nimport { runtimeApi } from \"./runtime-api\"\nexport type { V14Lookup } from \"./lookup\"\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: Vector(Struct(v15Pallet)),\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"],"names":["ty"],"mappings":";;;;;;;;;;;;;;AAOA,MAAM,YAAY,MAAO,CAAA;AAAA,EACvB,OAAS,EAAA,EAAA;AAAA,EACT,OAAS,EAAAA,aAAA;AAAA,EACT,IAAM,EAAAA,aAAA;AAAA,EACN,SAAW,EAAAA,aAAA;AAAA,EACX,KAAO,EAAAA,aAAA;AAAA,EACP,gBAAkB,EAAA,MAAA;AAAA,IAChB,MAAO,CAAA;AAAA,MACL,UAAY,EAAA,GAAA;AAAA,MACZ,IAAM,EAAAA,aAAA;AAAA,MACN,gBAAkB,EAAAA;AAAA,KACnB;AAAA;AAEL,CAAC,CAAA;AAGM,MAAM,MAAM,MAAO,CAAA;AAAA,EACxB,MAAA;AAAA,EACA,OAAS,EAAA,MAAA,CAAO,MAAO,CAAA,SAAS,CAAC,CAAA;AAAA,EACjC,SAAA;AAAA,EACA,IAAM,EAAAA,aAAA;AAAA,EACN,IAAA,EAAM,OAAO,UAAU,CAAA;AAAA,EACvB,YAAY,MAAO,CAAA;AAAA,IACjB,IAAM,EAAAA,aAAA;AAAA,IACN,KAAO,EAAAA,aAAA;AAAA,IACP,KAAO,EAAAA;AAAA,GACR,CAAA;AAAA,EACD,MAAQ,EAAA,MAAA,CAAO,KAAM,CAAA,GAAA,EAAK,MAAO,CAAA,EAAE,IAAM,EAAAA,aAAA,EAAI,KAAO,EAAA,GAAA,EAAM,EAAC,CAAC,CAAC;AAC/D,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccountId.mjs","sources":["../../../../src/codecs/scale/AccountId.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"],"names":[],"mappings":";;;AAOA,SAAS,kBAAA,CAAmB,QAAgB,WAAqB,EAAA;AAC/D,EAAA,OAAO,CAAC,OAAwB,KAAA;AAC9B,IAAM,MAAA,IAAA,GAAO,mBAAmB,OAAO,CAAA,CAAA;AACvC,IAAA,IAAI,CAAC,IAAK,CAAA,OAAA,EAAe,MAAA,IAAI,MAAM,kBAAkB,CAAA,CAAA;AACrD,IAAM,MAAA,EAAE,WAAc,GAAA,IAAA,CAAA;AACtB,IAAA,IAAI,UAAU,MAAW,KAAA,MAAA;AACvB,MAAM,MAAA,IAAI,MAAM,2BAA2B,CAAA,CAAA;AAE7C,IAAO,OAAA,SAAA,CAAA;AAAA,GACT,CAAA;AACF,CAAA;AAEO,MAAM,SAAY,GAAA,CAAC,UAAqB,GAAA,EAAA,EAAI,SAAkB,EACnE,KAAA,YAAA;AAAA,EACE,MAAM,MAAM,CAAA;AAAA,EACZ,kBAAA,CAAmB,MAAkB,CAAA;AAAA,EACrC,mBAAmB,UAAU,CAAA;AAC/B;;;;"}
1
+ {"version":3,"file":"AccountId.mjs","sources":["../../../../src/codecs/scale/AccountId.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"],"names":[],"mappings":";;;AAOA,SAAS,kBAAA,CAAmB,QAAgB,WAAqB,EAAA;AAC/D,EAAA,OAAO,CAAC,OAAwB,KAAA;AAC9B,IAAM,MAAA,IAAA,GAAO,mBAAmB,OAAO,CAAA;AACvC,IAAA,IAAI,CAAC,IAAK,CAAA,OAAA,EAAe,MAAA,IAAI,MAAM,kBAAkB,CAAA;AACrD,IAAM,MAAA,EAAE,WAAc,GAAA,IAAA;AACtB,IAAA,IAAI,UAAU,MAAW,KAAA,MAAA;AACvB,MAAM,MAAA,IAAI,MAAM,2BAA2B,CAAA;AAE7C,IAAO,OAAA,SAAA;AAAA,GACT;AACF;AAEO,MAAM,SAAY,GAAA,CAAC,UAAqB,GAAA,EAAA,EAAI,SAAkB,EACnE,KAAA,YAAA;AAAA,EACE,MAAM,MAAM,CAAA;AAAA,EACZ,kBAAA,CAAmB,MAAkB,CAAA;AAAA,EACrC,mBAAmB,UAAU;AAC/B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Binary.mjs","sources":["../../../../src/codecs/scale/Binary.ts"],"sourcesContent":["import {\n Bytes,\n Codec,\n Decoder,\n Encoder,\n Tuple,\n compact,\n createCodec,\n} from \"scale-ts\"\nimport { fromHex, mergeUint8, toHex } from \"@polkadot-api/utils\"\nimport type { HexString } from \"./Hex\"\nimport { SS58String } from \"@/utils\"\nimport { AccountId } from \"./AccountId\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\nconst opaqueBytesDec = Tuple(compact, Bytes(Infinity))[1]\n\nexport class Binary {\n #bytes: Uint8Array\n #opaqueBytes: Uint8Array | null = null\n #hex: HexString | null = null\n #opaqueHex: HexString | null = null\n #str: string | null = null\n\n constructor(data: Uint8Array, opaque = false) {\n if (opaque) {\n try {\n const [len, bytes] = opaqueBytesDec(data)\n if (len === bytes.length) {\n this.#bytes = bytes\n this.#opaqueBytes = data\n return\n }\n } catch (_) {}\n throw new Error(\"Invalid opaque bytes\")\n } else this.#bytes = data\n }\n\n asText = () => (this.#str ??= textDecoder.decode(this.#bytes))\n\n asHex = () => (this.#hex ||= toHex(this.#bytes))\n asOpaqueHex = () => (this.#opaqueHex ||= toHex(this.asBytes()))\n\n asBytes = () => this.#bytes\n asOpaqueBytes = () =>\n (this.#opaqueBytes ||= mergeUint8(\n compact[0](this.#bytes.length),\n this.#bytes,\n ))\n\n static fromText(input: string): Binary {\n return new this(textEncoder.encode(input))\n }\n\n static fromHex(input: HexString): Binary {\n return new this(fromHex(input))\n }\n static fromOpaqueHex(input: HexString): Binary {\n return new this(fromHex(input), true)\n }\n\n static fromBytes(input: Uint8Array): Binary {\n return new this(input)\n }\n static fromOpaqueBytes(input: Uint8Array): Binary {\n return new this(input, true)\n }\n}\n\nconst [accountIdEncoder] = AccountId()\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 this<L>(new Uint8Array(input))\n }\n\n static fromAccountId32<L extends number>(\n input: L extends 32 ? SS58String : never,\n ) {\n return new this<L>(accountIdEncoder(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 const Bin = nBytes == null ? Binary : FixedSizeBinary\n return (value) => Bin.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"],"names":["Bin"],"mappings":"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"}
1
+ {"version":3,"file":"Binary.mjs","sources":["../../../../src/codecs/scale/Binary.ts"],"sourcesContent":["import {\n Bytes,\n Codec,\n Decoder,\n Encoder,\n Tuple,\n compact,\n createCodec,\n} from \"scale-ts\"\nimport { fromHex, mergeUint8, toHex } from \"@polkadot-api/utils\"\nimport type { HexString } from \"./Hex\"\nimport { SS58String } from \"@/utils\"\nimport { AccountId } from \"./AccountId\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\nconst opaqueBytesDec = Tuple(compact, Bytes(Infinity))[1]\n\nexport class Binary {\n #bytes: Uint8Array\n #opaqueBytes: Uint8Array | null = null\n #hex: HexString | null = null\n #opaqueHex: HexString | null = null\n #str: string | null = null\n\n constructor(data: Uint8Array, opaque = false) {\n if (opaque) {\n try {\n const [len, bytes] = opaqueBytesDec(data)\n if (len === bytes.length) {\n this.#bytes = bytes\n this.#opaqueBytes = data\n return\n }\n } catch (_) {}\n throw new Error(\"Invalid opaque bytes\")\n } else this.#bytes = data\n }\n\n asText = () => (this.#str ??= textDecoder.decode(this.#bytes))\n\n asHex = () => (this.#hex ||= toHex(this.#bytes))\n asOpaqueHex = () => (this.#opaqueHex ||= toHex(this.asBytes()))\n\n asBytes = () => this.#bytes\n asOpaqueBytes = () =>\n (this.#opaqueBytes ||= mergeUint8(\n compact[0](this.#bytes.length),\n this.#bytes,\n ))\n\n static fromText(input: string): Binary {\n return new this(textEncoder.encode(input))\n }\n\n static fromHex(input: HexString): Binary {\n return new this(fromHex(input))\n }\n static fromOpaqueHex(input: HexString): Binary {\n return new this(fromHex(input), true)\n }\n\n static fromBytes(input: Uint8Array): Binary {\n return new this(input)\n }\n static fromOpaqueBytes(input: Uint8Array): Binary {\n return new this(input, true)\n }\n}\n\nconst [accountIdEncoder] = AccountId()\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 this<L>(new Uint8Array(input))\n }\n\n static fromAccountId32<L extends number>(\n input: L extends 32 ? SS58String : never,\n ) {\n return new this<L>(accountIdEncoder(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 const Bin = nBytes == null ? Binary : FixedSizeBinary\n return (value) => Bin.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"],"names":["Bin"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Hex.mjs","sources":["../../../../src/codecs/scale/Hex.ts"],"sourcesContent":["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"],"names":[],"mappings":";;;AAKA,MAAM,GAAA,GAAM,CAAC,MAAwC,KAAA;AACnD,EAAM,MAAA,IAAA,GAAO,KAAM,CAAA,GAAA,CAAI,MAAM,CAAA,CAAA;AAC7B,EAAA,OAAO,CAAC,KAAA,KAAkB,IAAK,CAAA,OAAA,CAAQ,KAAK,CAAC,CAAA,CAAA;AAC/C,CAAA,CAAA;AAEA,MAAM,GAAA,GAAM,CAAC,MAAwC,KAAA;AACnD,EAAM,MAAA,IAAA,GAAO,KAAM,CAAA,GAAA,CAAI,MAAM,CAAA,CAAA;AAC7B,EAAA,OAAO,CAAC,KAAA,KAAU,KAAM,CAAA,IAAA,CAAK,KAAK,CAAC,CAAA,CAAA;AACrC,CAAA,CAAA;AAEa,MAAA,GAAA,GAAM,CAAC,MAClB,KAAA,WAAA,CAAY,IAAI,MAAM,CAAA,EAAG,GAAI,CAAA,MAAM,CAAC,EAAA;AAEtC,GAAA,CAAI,GAAM,GAAA,GAAA,CAAA;AACV,GAAA,CAAI,GAAM,GAAA,GAAA;;;;"}
1
+ {"version":3,"file":"Hex.mjs","sources":["../../../../src/codecs/scale/Hex.ts"],"sourcesContent":["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"],"names":[],"mappings":";;;AAKA,MAAM,GAAA,GAAM,CAAC,MAAwC,KAAA;AACnD,EAAM,MAAA,IAAA,GAAO,KAAM,CAAA,GAAA,CAAI,MAAM,CAAA;AAC7B,EAAA,OAAO,CAAC,KAAA,KAAkB,IAAK,CAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAC/C,CAAA;AAEA,MAAM,GAAA,GAAM,CAAC,MAAwC,KAAA;AACnD,EAAM,MAAA,IAAA,GAAO,KAAM,CAAA,GAAA,CAAI,MAAM,CAAA;AAC7B,EAAA,OAAO,CAAC,KAAA,KAAU,KAAM,CAAA,IAAA,CAAK,KAAK,CAAC,CAAA;AACrC,CAAA;AAEa,MAAA,GAAA,GAAM,CAAC,MAClB,KAAA,WAAA,CAAY,IAAI,MAAM,CAAA,EAAG,GAAI,CAAA,MAAM,CAAC;AAEtC,GAAA,CAAI,GAAM,GAAA,GAAA;AACV,GAAA,CAAI,GAAM,GAAA,GAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Self.mjs","sources":["../../../../src/codecs/scale/Self.ts"],"sourcesContent":["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"],"names":[],"mappings":";;AAEa,MAAA,WAAA,GAAc,CAAI,KAAwC,KAAA;AACrE,EAAI,IAAA,KAAA,GAAoB,CAAC,CAAM,KAAA;AAC7B,IAAA,MAAM,UAAU,KAAM,EAAA,CAAA;AACtB,IAAQ,KAAA,GAAA,OAAA,CAAA;AACR,IAAA,OAAO,QAAQ,CAAC,CAAA,CAAA;AAAA,GAClB,CAAA;AAEA,EAAO,OAAA,CAAC,CAAM,KAAA,KAAA,CAAM,CAAC,CAAA,CAAA;AACvB,EAAA;AAEa,MAAA,WAAA,GAAc,CAAI,KAAwC,KAAA;AACrE,EAAI,IAAA,KAAA,GAAoB,CAAC,CAAM,KAAA;AAC7B,IAAA,MAAM,UAAU,KAAM,EAAA,CAAA;AACtB,IAAA,MAAM,MAAS,GAAA,OAAA,CAAA;AACf,IAAQ,KAAA,GAAA,OAAA,CAAA;AACR,IAAA,OAAO,OAAO,CAAC,CAAA,CAAA;AAAA,GACjB,CAAA;AAEA,EAAO,OAAA,CAAC,CAAM,KAAA,KAAA,CAAM,CAAC,CAAA,CAAA;AACvB,EAAA;AAEa,MAAA,IAAA,GAAO,CAAI,KACtB,KAAA,WAAA;AAAA,EACE,WAAY,CAAA,MAAM,KAAM,EAAA,CAAE,GAAG,CAAA;AAAA,EAC7B,WAAY,CAAA,MAAM,KAAM,EAAA,CAAE,GAAG,CAAA;AAC/B;;;;"}
1
+ {"version":3,"file":"Self.mjs","sources":["../../../../src/codecs/scale/Self.ts"],"sourcesContent":["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"],"names":[],"mappings":";;AAEa,MAAA,WAAA,GAAc,CAAI,KAAwC,KAAA;AACrE,EAAI,IAAA,KAAA,GAAoB,CAAC,CAAM,KAAA;AAC7B,IAAA,MAAM,UAAU,KAAM,EAAA;AACtB,IAAQ,KAAA,GAAA,OAAA;AACR,IAAA,OAAO,QAAQ,CAAC,CAAA;AAAA,GAClB;AAEA,EAAO,OAAA,CAAC,CAAM,KAAA,KAAA,CAAM,CAAC,CAAA;AACvB;AAEa,MAAA,WAAA,GAAc,CAAI,KAAwC,KAAA;AACrE,EAAI,IAAA,KAAA,GAAoB,CAAC,CAAM,KAAA;AAC7B,IAAA,MAAM,UAAU,KAAM,EAAA;AACtB,IAAA,MAAM,MAAS,GAAA,OAAA;AACf,IAAQ,KAAA,GAAA,OAAA;AACR,IAAA,OAAO,OAAO,CAAC,CAAA;AAAA,GACjB;AAEA,EAAO,OAAA,CAAC,CAAM,KAAA,KAAA,CAAM,CAAC,CAAA;AACvB;AAEa,MAAA,IAAA,GAAO,CAAI,KACtB,KAAA,WAAA;AAAA,EACE,WAAY,CAAA,MAAM,KAAM,EAAA,CAAE,GAAG,CAAA;AAAA,EAC7B,WAAY,CAAA,MAAM,KAAM,EAAA,CAAE,GAAG;AAC/B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Variant.mjs","sources":["../../../../src/codecs/scale/Variant.ts"],"sourcesContent":["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\"\nimport { Enum } from \"@/types/enum\"\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\nconst VariantEnc = <O extends StringRecord<Encoder<any>>>(\n ...args: [inner: O, x?: RestrictedLenTuple<number, O>]\n): Encoder<\n Enum<{\n [K in keyof O]: EncoderType<O[K]>\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 [K in keyof O]: DecoderType<O[K]>\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 [K in keyof O]: CodecType<O[K]>\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 [K in keyof O]: CodecType<O[K]>\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 [K in keyof O]: CodecType<O[K]>\n }>\n >,\n )\n\nVariant.enc = VariantEnc\nVariant.dec = VariantDec\n"],"names":["ScaleEnum","Enum"],"mappings":";;;;AAwCA,MAAM,UAAA,GAAa,IACd,IAKA,KAAA;AACH,EAAA,MAAM,GAAM,GAAAA,IAAA,CAAU,GAAO,CAAA,GAAI,IAAmB,CAAA,CAAA;AACpD,EAAO,OAAA,CAAC,CAAM,KAAA,GAAA,CAAI,EAAE,GAAA,EAAK,EAAE,IAAM,EAAA,KAAA,EAAO,CAAE,CAAA,KAAA,EAAO,CAAA,CAAA;AACnD,CAAA,CAAA;AAEA,MAAM,UAAA,GAAa,IACd,IAKA,KAAA;AACH,EAAA,MAAM,GAAM,GAAAA,IAAA,CAAU,GAAO,CAAA,GAAI,IAAmB,CAAA,CAAA;AACpD,EAAA,OAAO,CAAC,CAAM,KAAA;AACZ,IAAA,MAAM,EAAE,GAAA,EAAK,KAAM,EAAA,GAAI,IAAI,CAAC,CAAA,CAAA;AAC5B,IAAO,OAAAC,MAAA,CAAK,KAAY,KAAY,CAAA,CAAA;AAAA,GACtC,CAAA;AACF,CAAA,CAAA;AAEa,MAAA,OAAA,GAAU,CACrB,KAAA,EAAA,GACG,IAMH,KAAA,WAAA;AAAA,EACE,UAAA;AAAA,IACE,UAAU,KAAO,EAAA,CAAC,CAAC,OAAO,MAAM,OAAO,CAAA;AAAA,IAGvC,GAAI,IAAA;AAAA,GACN;AAAA,EAKA,UAAA;AAAA,IACE,UAAU,KAAO,EAAA,CAAC,GAAG,OAAO,MAAM,OAAO,CAAA;AAAA,IAGzC,GAAI,IAAA;AAAA,GACN;AAKF,EAAA;AAEF,OAAA,CAAQ,GAAM,GAAA,UAAA,CAAA;AACd,OAAA,CAAQ,GAAM,GAAA,UAAA;;;;"}
1
+ {"version":3,"file":"Variant.mjs","sources":["../../../../src/codecs/scale/Variant.ts"],"sourcesContent":["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\"\nimport { Enum } from \"@/types/enum\"\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\nconst VariantEnc = <O extends StringRecord<Encoder<any>>>(\n ...args: [inner: O, x?: RestrictedLenTuple<number, O>]\n): Encoder<\n Enum<{\n [K in keyof O]: EncoderType<O[K]>\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 [K in keyof O]: DecoderType<O[K]>\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 [K in keyof O]: CodecType<O[K]>\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 [K in keyof O]: CodecType<O[K]>\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 [K in keyof O]: CodecType<O[K]>\n }>\n >,\n )\n\nVariant.enc = VariantEnc\nVariant.dec = VariantDec\n"],"names":["ScaleEnum","Enum"],"mappings":";;;;AAwCA,MAAM,UAAA,GAAa,IACd,IAKA,KAAA;AACH,EAAA,MAAM,GAAM,GAAAA,IAAA,CAAU,GAAO,CAAA,GAAI,IAAmB,CAAA;AACpD,EAAO,OAAA,CAAC,CAAM,KAAA,GAAA,CAAI,EAAE,GAAA,EAAK,EAAE,IAAM,EAAA,KAAA,EAAO,CAAE,CAAA,KAAA,EAAO,CAAA;AACnD,CAAA;AAEA,MAAM,UAAA,GAAa,IACd,IAKA,KAAA;AACH,EAAA,MAAM,GAAM,GAAAA,IAAA,CAAU,GAAO,CAAA,GAAI,IAAmB,CAAA;AACpD,EAAA,OAAO,CAAC,CAAM,KAAA;AACZ,IAAA,MAAM,EAAE,GAAA,EAAK,KAAM,EAAA,GAAI,IAAI,CAAC,CAAA;AAC5B,IAAO,OAAAC,MAAA,CAAK,KAAY,KAAY,CAAA;AAAA,GACtC;AACF,CAAA;AAEa,MAAA,OAAA,GAAU,CACrB,KAAA,EAAA,GACG,IAMH,KAAA,WAAA;AAAA,EACE,UAAA;AAAA,IACE,UAAU,KAAO,EAAA,CAAC,CAAC,OAAO,MAAM,OAAO,CAAA;AAAA,IAGvC,GAAI;AAAA,GACN;AAAA,EAKA,UAAA;AAAA,IACE,UAAU,KAAO,EAAA,CAAC,GAAG,OAAO,MAAM,OAAO,CAAA;AAAA,IAGzC,GAAI;AAAA;AAMR;AAEF,OAAA,CAAQ,GAAM,GAAA,UAAA;AACd,OAAA,CAAQ,GAAM,GAAA,UAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"bitSequence.mjs","sources":["../../../../src/codecs/scale/bitSequence.ts"],"sourcesContent":["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"],"names":[],"mappings":";;;AAQA,MAAM,kBAAA,GAA2C,aAAc,CAAA,CAAC,IAAS,KAAA;AACvE,EAAM,MAAA,OAAA,GAAU,aAAc,CAAA,GAAA,CAAI,IAAI,CAAA,CAAA;AAEtC,EAAA,MAAM,QAAW,GAAA,IAAA,CAAK,IAAK,CAAA,OAAA,GAAU,CAAC,CAAA,CAAA;AACtC,EAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,QAAQ,CAAA,CAAE,IAAI,IAAI,CAAA,CAAA;AACtC,EAAO,OAAA,EAAE,OAAO,OAAQ,EAAA,CAAA;AAC1B,CAAC,CAAA,CAAA;AAED,MAAM,kBAAA,GAA2C,CAAC,KAAU,KAAA;AAC1D,EAAA,IAAI,KAAM,CAAA,OAAA,GAAU,KAAM,CAAA,KAAA,CAAM,MAAS,GAAA,CAAA;AACvC,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,8BAA8B,KAAM,CAAA,OAAO,CAAc,WAAA,EAAA,KAAA,CAAM,MAAM,MAAM,CAAA,CAAA,CAAA;AAAA,KAC7E,CAAA;AAEF,EAAA,MAAM,UAAa,GAAA,aAAA,CAAc,GAAI,CAAA,KAAA,CAAM,OAAO,CAAA,CAAA;AAClD,EAAA,MAAM,SAAS,IAAI,UAAA,CAAW,MAAM,KAAM,CAAA,MAAA,GAAS,WAAW,MAAM,CAAA,CAAA;AACpE,EAAO,MAAA,CAAA,GAAA,CAAI,YAAY,CAAC,CAAA,CAAA;AACxB,EAAA,MAAA,CAAO,GAAI,CAAA,KAAA,CAAM,KAAO,EAAA,UAAA,CAAW,MAAM,CAAA,CAAA;AACzC,EAAO,OAAA,MAAA,CAAA;AACT,CAAA,CAAA;AAEa,MAAA,WAAA,GAAc,WAAY,CAAA,kBAAA,EAAoB,kBAAkB;;;;"}
1
+ {"version":3,"file":"bitSequence.mjs","sources":["../../../../src/codecs/scale/bitSequence.ts"],"sourcesContent":["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"],"names":[],"mappings":";;;AAQA,MAAM,kBAAA,GAA2C,aAAc,CAAA,CAAC,IAAS,KAAA;AACvE,EAAM,MAAA,OAAA,GAAU,aAAc,CAAA,GAAA,CAAI,IAAI,CAAA;AAEtC,EAAA,MAAM,QAAW,GAAA,IAAA,CAAK,IAAK,CAAA,OAAA,GAAU,CAAC,CAAA;AACtC,EAAA,MAAM,KAAQ,GAAA,KAAA,CAAM,QAAQ,CAAA,CAAE,IAAI,IAAI,CAAA;AACtC,EAAO,OAAA,EAAE,OAAO,OAAQ,EAAA;AAC1B,CAAC,CAAA;AAED,MAAM,kBAAA,GAA2C,CAAC,KAAU,KAAA;AAC1D,EAAA,IAAI,KAAM,CAAA,OAAA,GAAU,KAAM,CAAA,KAAA,CAAM,MAAS,GAAA,CAAA;AACvC,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,8BAA8B,KAAM,CAAA,OAAO,CAAc,WAAA,EAAA,KAAA,CAAM,MAAM,MAAM,CAAA,CAAA;AAAA,KAC7E;AAEF,EAAA,MAAM,UAAa,GAAA,aAAA,CAAc,GAAI,CAAA,KAAA,CAAM,OAAO,CAAA;AAClD,EAAA,MAAM,SAAS,IAAI,UAAA,CAAW,MAAM,KAAM,CAAA,MAAA,GAAS,WAAW,MAAM,CAAA;AACpE,EAAO,MAAA,CAAA,GAAA,CAAI,YAAY,CAAC,CAAA;AACxB,EAAA,MAAA,CAAO,GAAI,CAAA,KAAA,CAAM,KAAO,EAAA,UAAA,CAAW,MAAM,CAAA;AACzC,EAAO,OAAA,MAAA;AACT,CAAA;AAEa,MAAA,WAAA,GAAc,WAAY,CAAA,kBAAA,EAAoB,kBAAkB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"char.mjs","sources":["../../../../src/codecs/scale/char.ts"],"sourcesContent":["import { enhanceCodec, u8 } from \"scale-ts\"\n\nexport const char = enhanceCodec(\n u8,\n (str: string) => str.charCodeAt(0),\n String.fromCharCode,\n)\n"],"names":[],"mappings":";;AAEO,MAAM,IAAO,GAAA,YAAA;AAAA,EAClB,EAAA;AAAA,EACA,CAAC,GAAA,KAAgB,GAAI,CAAA,UAAA,CAAW,CAAC,CAAA;AAAA,EACjC,MAAO,CAAA,YAAA;AACT;;;;"}
1
+ {"version":3,"file":"char.mjs","sources":["../../../../src/codecs/scale/char.ts"],"sourcesContent":["import { enhanceCodec, u8 } from \"scale-ts\"\n\nexport const char = enhanceCodec(\n u8,\n (str: string) => str.charCodeAt(0),\n String.fromCharCode,\n)\n"],"names":[],"mappings":";;AAEO,MAAM,IAAO,GAAA,YAAA;AAAA,EAClB,EAAA;AAAA,EACA,CAAC,GAAA,KAAgB,GAAI,CAAA,UAAA,CAAW,CAAC,CAAA;AAAA,EACjC,MAAO,CAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"compact.mjs","sources":["../../../../src/codecs/scale/compact.ts"],"sourcesContent":["import { Codec, compact } from \"scale-ts\"\n\nexport const compactNumber = compact as Codec<number>\nexport const compactBn = compact as Codec<bigint>\n"],"names":[],"mappings":";;AAEO,MAAM,aAAgB,GAAA,QAAA;AACtB,MAAM,SAAY,GAAA;;;;"}
1
+ {"version":3,"file":"compact.mjs","sources":["../../../../src/codecs/scale/compact.ts"],"sourcesContent":["import { Codec, compact } from \"scale-ts\"\n\nexport const compactNumber = compact as Codec<number>\nexport const compactBn = compact as Codec<bigint>\n"],"names":[],"mappings":";;AAEO,MAAM,aAAgB,GAAA;AACtB,MAAM,SAAY,GAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ethAccount.mjs","sources":["../../../../src/codecs/scale/ethAccount.ts"],"sourcesContent":["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"],"names":["keccak"],"mappings":";;;;AAIA,MAAM,mBAAA,GAAsB,CAAC,UAAuB,KAAA;AAClD,EAAM,MAAA,WAAA,GAAc,UAAW,CAAA,KAAA,CAAM,CAAC,CAAA,CAAA;AACtC,EAAA,MAAM,gBAAgB,KAAM,CAAAA,UAAA,CAAO,WAAW,CAAC,CAAA,CAAE,MAAM,CAAC,CAAA,CAAA;AAExD,EAAM,MAAA,MAAA,GAAS,IAAI,KAAA,CAAM,EAAE,CAAA,CAAA;AAE3B,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,EAAA,EAAI,CAAK,EAAA,EAAA;AAC3B,IAAA,MAAM,WAAc,GAAA,QAAA,CAAS,aAAc,CAAA,CAAC,GAAG,EAAE,CAAA,CAAA;AACjD,IAAM,MAAA,IAAA,GAAO,YAAY,CAAC,CAAA,CAAA;AAC1B,IAAA,MAAA,CAAO,CAAC,CAAI,GAAA,WAAA,GAAc,CAAI,GAAA,IAAA,CAAK,aAAgB,GAAA,IAAA,CAAA;AAAA,GACrD;AAEA,EAAA,OAAO,CAAK,EAAA,EAAA,MAAA,CAAO,IAAK,CAAA,EAAE,CAAC,CAAA,CAAA,CAAA;AAC7B,CAAA,CAAA;AAEA,MAAM,UAAa,GAAA,KAAA,CAAM,EAAE,CAAA,CAAE,CAAC,CAAA,CAAA;AAEvB,MAAM,UAAa,GAAA,WAAA;AAAA,EACxB,CAAC,KAAkB,KAAA;AACjB,IAAM,MAAA,KAAA,GAAQ,QAAQ,KAAK,CAAA,CAAA;AAC3B,IAAA,IAAI,MAAM,MAAW,KAAA,EAAA;AACnB,MAAA,MAAM,IAAI,KAAA,CAAM,CAAsC,mCAAA,EAAA,KAAK,CAAG,CAAA,CAAA,CAAA,CAAA;AAEhE,IAAM,MAAA,UAAA,GAAa,MAAM,KAAK,CAAA,CAAA;AAC9B,IAAA,IAAI,UAAU,UAAc,IAAA,KAAA,KAAU,UAAW,CAAA,WAAA,IAAsB,OAAA,KAAA,CAAA;AAEvE,IAAI,IAAA,mBAAA,CAAoB,UAAU,CAAM,KAAA,KAAA;AACtC,MAAA,MAAM,IAAI,KAAA,CAAM,CAAwC,qCAAA,EAAA,KAAK,CAAG,CAAA,CAAA,CAAA,CAAA;AAElE,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AAAA,EACA,aAAA,CAAc,CAAC,KAAU,KAAA,mBAAA,CAAoB,MAAM,UAAW,CAAA,KAAK,CAAC,CAAC,CAAC,CAAA;AACxE;;;;"}
1
+ {"version":3,"file":"ethAccount.mjs","sources":["../../../../src/codecs/scale/ethAccount.ts"],"sourcesContent":["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"],"names":["keccak"],"mappings":";;;;AAIA,MAAM,mBAAA,GAAsB,CAAC,UAAuB,KAAA;AAClD,EAAM,MAAA,WAAA,GAAc,UAAW,CAAA,KAAA,CAAM,CAAC,CAAA;AACtC,EAAA,MAAM,gBAAgB,KAAM,CAAAA,UAAA,CAAO,WAAW,CAAC,CAAA,CAAE,MAAM,CAAC,CAAA;AAExD,EAAM,MAAA,MAAA,GAAS,IAAI,KAAA,CAAM,EAAE,CAAA;AAE3B,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,EAAA,EAAI,CAAK,EAAA,EAAA;AAC3B,IAAA,MAAM,WAAc,GAAA,QAAA,CAAS,aAAc,CAAA,CAAC,GAAG,EAAE,CAAA;AACjD,IAAM,MAAA,IAAA,GAAO,YAAY,CAAC,CAAA;AAC1B,IAAA,MAAA,CAAO,CAAC,CAAI,GAAA,WAAA,GAAc,CAAI,GAAA,IAAA,CAAK,aAAgB,GAAA,IAAA;AAAA;AAGrD,EAAA,OAAO,CAAK,EAAA,EAAA,MAAA,CAAO,IAAK,CAAA,EAAE,CAAC,CAAA,CAAA;AAC7B,CAAA;AAEA,MAAM,UAAa,GAAA,KAAA,CAAM,EAAE,CAAA,CAAE,CAAC,CAAA;AAEvB,MAAM,UAAa,GAAA,WAAA;AAAA,EACxB,CAAC,KAAkB,KAAA;AACjB,IAAM,MAAA,KAAA,GAAQ,QAAQ,KAAK,CAAA;AAC3B,IAAA,IAAI,MAAM,MAAW,KAAA,EAAA;AACnB,MAAA,MAAM,IAAI,KAAA,CAAM,CAAsC,mCAAA,EAAA,KAAK,CAAG,CAAA,CAAA,CAAA;AAEhE,IAAM,MAAA,UAAA,GAAa,MAAM,KAAK,CAAA;AAC9B,IAAA,IAAI,UAAU,UAAc,IAAA,KAAA,KAAU,UAAW,CAAA,WAAA,IAAsB,OAAA,KAAA;AAEvE,IAAI,IAAA,mBAAA,CAAoB,UAAU,CAAM,KAAA,KAAA;AACtC,MAAA,MAAM,IAAI,KAAA,CAAM,CAAwC,qCAAA,EAAA,KAAK,CAAG,CAAA,CAAA,CAAA;AAElE,IAAO,OAAA,KAAA;AAAA,GACT;AAAA,EACA,aAAA,CAAc,CAAC,KAAU,KAAA,mBAAA,CAAoB,MAAM,UAAW,CAAA,KAAK,CAAC,CAAC,CAAC;AACxE;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"fixed-str.mjs","sources":["../../../../src/codecs/scale/fixed-str.ts"],"sourcesContent":["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"],"names":[],"mappings":";;AAEA,MAAM,WAAA,GAAc,IAAI,WAAY,EAAA,CAAA;AACpC,MAAM,WAAA,GAAc,IAAI,WAAY,EAAA,CAAA;AAEvB,MAAA,QAAA,GAAW,CAAC,MACvB,KAAA,YAAA;AAAA,EACE,MAAM,MAAM,CAAA;AAAA,EACZ,CAAC,GAAA,KAAgB,WAAY,CAAA,MAAA,CAAO,GAAG,CAAA;AAAA,EACvC,CAAC,KAAA,KAAU,WAAY,CAAA,MAAA,CAAO,KAAK,CAAA;AACrC;;;;"}
1
+ {"version":3,"file":"fixed-str.mjs","sources":["../../../../src/codecs/scale/fixed-str.ts"],"sourcesContent":["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"],"names":[],"mappings":";;AAEA,MAAM,WAAA,GAAc,IAAI,WAAY,EAAA;AACpC,MAAM,WAAA,GAAc,IAAI,WAAY,EAAA;AAEvB,MAAA,QAAA,GAAW,CAAC,MACvB,KAAA,YAAA;AAAA,EACE,MAAM,MAAM,CAAA;AAAA,EACZ,CAAC,GAAA,KAAgB,WAAY,CAAA,MAAA,CAAO,GAAG,CAAA;AAAA,EACvC,CAAC,KAAA,KAAU,WAAY,CAAA,MAAA,CAAO,KAAK;AACrC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"blake2.mjs","sources":["../../../src/hashes/blake2.ts"],"sourcesContent":["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"],"names":[],"mappings":";;;AAGA,MAAM,KAAA,GAAQ,EAAE,KAAA,EAAO,EAAG,EAAA,CAAA;AACnB,MAAM,SAAY,GAAA,CAAC,OAAwB,KAAA,OAAA,CAAQ,SAAS,KAAK,EAAA;AAExE,MAAM,KAAA,GAAQ,EAAE,KAAA,EAAO,EAAG,EAAA,CAAA;AACnB,MAAM,SAAY,GAAA,CAAC,OAAwB,KAAA,OAAA,CAAQ,SAAS,KAAK,EAAA;AAEjE,MAAM,kBAAkB,CAAC,OAAA,KAC9B,WAAW,SAAU,CAAA,OAAO,GAAG,OAAO;;;;"}
1
+ {"version":3,"file":"blake2.mjs","sources":["../../../src/hashes/blake2.ts"],"sourcesContent":["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"],"names":[],"mappings":";;;AAGA,MAAM,KAAA,GAAQ,EAAE,KAAA,EAAO,EAAG,EAAA;AACnB,MAAM,SAAY,GAAA,CAAC,OAAwB,KAAA,OAAA,CAAQ,SAAS,KAAK;AAExE,MAAM,KAAA,GAAQ,EAAE,KAAA,EAAO,EAAG,EAAA;AACnB,MAAM,SAAY,GAAA,CAAC,OAAwB,KAAA,OAAA,CAAQ,SAAS,KAAK;AAEjE,MAAM,kBAAkB,CAAC,OAAA,KAC9B,WAAW,SAAU,CAAA,OAAO,GAAG,OAAO;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"blake3.mjs","sources":["../../../src/hashes/blake3.ts"],"sourcesContent":["import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { blake3 } from \"@noble/hashes/blake3\"\n\nconst len32 = { dkLen: 32 }\nexport const Blake3256 = (encoded: Uint8Array) => blake3(encoded, len32)\n\nexport const Blake3256Concat = (encoded: Uint8Array) =>\n mergeUint8(Blake3256(encoded), encoded)\n"],"names":[],"mappings":";;;AAGA,MAAM,KAAA,GAAQ,EAAE,KAAA,EAAO,EAAG,EAAA,CAAA;AACnB,MAAM,SAAY,GAAA,CAAC,OAAwB,KAAA,MAAA,CAAO,SAAS,KAAK,EAAA;AAEhE,MAAM,kBAAkB,CAAC,OAAA,KAC9B,WAAW,SAAU,CAAA,OAAO,GAAG,OAAO;;;;"}
1
+ {"version":3,"file":"blake3.mjs","sources":["../../../src/hashes/blake3.ts"],"sourcesContent":["import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { blake3 } from \"@noble/hashes/blake3\"\n\nconst len32 = { dkLen: 32 }\nexport const Blake3256 = (encoded: Uint8Array) => blake3(encoded, len32)\n\nexport const Blake3256Concat = (encoded: Uint8Array) =>\n mergeUint8(Blake3256(encoded), encoded)\n"],"names":[],"mappings":";;;AAGA,MAAM,KAAA,GAAQ,EAAE,KAAA,EAAO,EAAG,EAAA;AACnB,MAAM,SAAY,GAAA,CAAC,OAAwB,KAAA,MAAA,CAAO,SAAS,KAAK;AAEhE,MAAM,kBAAkB,CAAC,OAAA,KAC9B,WAAW,SAAU,CAAA,OAAO,GAAG,OAAO;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"h64.mjs","sources":["../../../src/hashes/h64.ts"],"sourcesContent":["// 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"],"names":["p","temp"],"mappings":"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"}
1
+ {"version":3,"file":"h64.mjs","sources":["../../../src/hashes/h64.ts"],"sourcesContent":["// 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"],"names":["p","temp"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"twoX.mjs","sources":["../../../src/hashes/twoX.ts"],"sourcesContent":["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"],"names":[],"mappings":";;;;AAIa,MAAA,OAAA,GAAU,CAAC,KAAkC,KAAA;AACxD,EAAM,MAAA,MAAA,GAAS,IAAI,UAAA,CAAW,EAAE,CAAA,CAAA;AAChC,EAAA,MAAM,EAAK,GAAA,IAAI,QAAS,CAAA,MAAA,CAAO,MAAM,CAAA,CAAA;AAErC,EAAA,EAAA,CAAG,YAAa,CAAA,CAAA,EAAG,GAAI,CAAA,KAAK,GAAG,IAAI,CAAA,CAAA;AACnC,EAAA,EAAA,CAAG,aAAa,CAAG,EAAA,GAAA,CAAI,KAAO,EAAA,EAAE,GAAG,IAAI,CAAA,CAAA;AAEvC,EAAO,OAAA,MAAA,CAAA;AACT,EAAA;AAEa,MAAA,OAAA,GAAU,CAAC,KAAkC,KAAA;AACxD,EAAM,MAAA,MAAA,GAAS,IAAI,UAAA,CAAW,EAAE,CAAA,CAAA;AAChC,EAAA,MAAM,EAAK,GAAA,IAAI,QAAS,CAAA,MAAA,CAAO,MAAM,CAAA,CAAA;AAErC,EAAA,EAAA,CAAG,YAAa,CAAA,CAAA,EAAG,GAAI,CAAA,KAAK,GAAG,IAAI,CAAA,CAAA;AACnC,EAAA,EAAA,CAAG,aAAa,CAAG,EAAA,GAAA,CAAI,KAAO,EAAA,EAAE,GAAG,IAAI,CAAA,CAAA;AACvC,EAAA,EAAA,CAAG,aAAa,EAAI,EAAA,GAAA,CAAI,KAAO,EAAA,EAAE,GAAG,IAAI,CAAA,CAAA;AACxC,EAAA,EAAA,CAAG,aAAa,EAAI,EAAA,GAAA,CAAI,KAAO,EAAA,EAAE,GAAG,IAAI,CAAA,CAAA;AAExC,EAAO,OAAA,MAAA,CAAA;AACT,EAAA;AAEa,MAAA,YAAA,GAAe,CAAC,OAAA,KAC3B,UAAW,CAAA,GAAA,CAAI,IAAI,GAAI,CAAA,OAAO,CAAC,CAAA,EAAG,OAAO;;;;"}
1
+ {"version":3,"file":"twoX.mjs","sources":["../../../src/hashes/twoX.ts"],"sourcesContent":["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"],"names":[],"mappings":";;;;AAIa,MAAA,OAAA,GAAU,CAAC,KAAkC,KAAA;AACxD,EAAM,MAAA,MAAA,GAAS,IAAI,UAAA,CAAW,EAAE,CAAA;AAChC,EAAA,MAAM,EAAK,GAAA,IAAI,QAAS,CAAA,MAAA,CAAO,MAAM,CAAA;AAErC,EAAA,EAAA,CAAG,YAAa,CAAA,CAAA,EAAG,GAAI,CAAA,KAAK,GAAG,IAAI,CAAA;AACnC,EAAA,EAAA,CAAG,aAAa,CAAG,EAAA,GAAA,CAAI,KAAO,EAAA,EAAE,GAAG,IAAI,CAAA;AAEvC,EAAO,OAAA,MAAA;AACT;AAEa,MAAA,OAAA,GAAU,CAAC,KAAkC,KAAA;AACxD,EAAM,MAAA,MAAA,GAAS,IAAI,UAAA,CAAW,EAAE,CAAA;AAChC,EAAA,MAAM,EAAK,GAAA,IAAI,QAAS,CAAA,MAAA,CAAO,MAAM,CAAA;AAErC,EAAA,EAAA,CAAG,YAAa,CAAA,CAAA,EAAG,GAAI,CAAA,KAAK,GAAG,IAAI,CAAA;AACnC,EAAA,EAAA,CAAG,aAAa,CAAG,EAAA,GAAA,CAAI,KAAO,EAAA,EAAE,GAAG,IAAI,CAAA;AACvC,EAAA,EAAA,CAAG,aAAa,EAAI,EAAA,GAAA,CAAI,KAAO,EAAA,EAAE,GAAG,IAAI,CAAA;AACxC,EAAA,EAAA,CAAG,aAAa,EAAI,EAAA,GAAA,CAAI,KAAO,EAAA,EAAE,GAAG,IAAI,CAAA;AAExC,EAAO,OAAA,MAAA;AACT;AAEa,MAAA,YAAA,GAAe,CAAC,OAAA,KAC3B,UAAW,CAAA,GAAA,CAAI,IAAI,GAAI,CAAA,OAAO,CAAC,CAAA,EAAG,OAAO;;;;"}
@@ -1,10 +1,19 @@
1
- import { mergeUint8, toHex } from '@polkadot-api/utils';
2
- import { Blake2128Concat } from './hashes/blake2.mjs';
1
+ import { mergeUint8, toHex, fromHex } from '@polkadot-api/utils';
2
+ import { Blake2128Concat, Blake2128, Blake2256 } from './hashes/blake2.mjs';
3
3
  import '@noble/hashes/blake3';
4
4
  import { Identity } from './hashes/identity.mjs';
5
- import { Twox128, Twox64Concat } from './hashes/twoX.mjs';
5
+ import { Twox128, Twox64Concat, Twox256 } from './hashes/twoX.mjs';
6
6
 
7
7
  const textEncoder = new TextEncoder();
8
+ const hashers = /* @__PURE__ */ new Map([
9
+ [Identity, 0],
10
+ [Twox64Concat, 8],
11
+ [Blake2128Concat, 16],
12
+ [Blake2128, -16],
13
+ [Blake2256, -32],
14
+ [Twox128, -16],
15
+ [Twox256, -32]
16
+ ]);
8
17
  const Storage = (pallet) => {
9
18
  const palledEncoded = Twox128(textEncoder.encode(pallet));
10
19
  return (name, dec, ...encoders) => {
@@ -13,31 +22,25 @@ const Storage = (pallet) => {
13
22
  Twox128(textEncoder.encode(name))
14
23
  );
15
24
  const palletItemEncodedHex = toHex(palletItemEncoded);
16
- const bytesToSkip = encoders.map((e) => e[1]).map((x) => {
17
- switch (x) {
18
- case Identity:
19
- return 0;
20
- case Twox64Concat:
21
- return 8;
22
- case Blake2128Concat:
23
- return 16;
24
- default:
25
- return null;
26
- }
27
- }).filter((x) => x !== null);
28
25
  const keyDecoder = (key) => {
29
26
  if (!key.startsWith(palletItemEncodedHex))
30
27
  throw new Error(`key does not match this storage (${pallet}.${name})`);
31
- if (bytesToSkip.length !== encoders.length)
32
- throw new Error("Impossible to decode this key");
33
28
  if (encoders.length === 0) return [];
34
- const argsKey = key.slice(palletItemEncodedHex.length);
29
+ const argsKey = fromHex(key.slice(palletItemEncodedHex.length));
35
30
  const result = new Array(encoders.length);
36
- for (let i = 0, cur = 0; i < bytesToSkip.length; i++) {
37
- const codec = encoders[i][0];
38
- cur += bytesToSkip[i];
39
- result[i] = codec.dec(argsKey.slice(cur * 2));
40
- cur += codec.enc(result[i]).length;
31
+ for (let i = 0, cur = 0; i < encoders.length; i++) {
32
+ const [codec, hasher] = encoders[i];
33
+ const hBytes = hashers.get(hasher);
34
+ if (hBytes == null) throw new Error("Unknown hasher");
35
+ if (hBytes < 0) {
36
+ const opaqueBytes = hBytes * -1;
37
+ result[i] = toHex(argsKey.slice(cur, cur + opaqueBytes));
38
+ cur += opaqueBytes;
39
+ } else {
40
+ cur += hBytes;
41
+ result[i] = codec.dec(argsKey.slice(cur));
42
+ cur += codec.enc(result[i]).length;
43
+ }
41
44
  }
42
45
  return result;
43
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"storage.mjs","sources":["../../src/storage.ts"],"sourcesContent":["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 switch (x) {\n case Identity:\n return 0\n case Twox64Concat:\n return 8\n case Blake2128Concat:\n return 16\n default:\n return null\n }\n })\n .filter((x) => x !== null)\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"],"names":["enc"],"mappings":"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"}
1
+ {"version":3,"file":"storage.mjs","sources":["../../src/storage.ts"],"sourcesContent":["import { fromHex, mergeUint8, toHex } from \"@polkadot-api/utils\"\nimport { Codec, Decoder } from \"scale-ts\"\nimport {\n Blake2128,\n Blake2128Concat,\n Blake2256,\n Identity,\n Twox128,\n Twox256,\n Twox64Concat,\n} from \"./hashes\"\n\nexport type EncoderWithHash<T> = [Codec<T>, (input: Uint8Array) => Uint8Array]\n\nconst textEncoder = new TextEncoder()\n\n// the value indicates:\n// - when positive: the number of bytes to skip before reaching the transparent-encoded key\n// - when negative: the number of bytes that the opaque hasher will generate\nconst hashers: Map<(input: Uint8Array) => Uint8Array, number> = new Map([\n [Identity, 0],\n [Twox64Concat, 8],\n [Blake2128Concat, 16],\n [Blake2128, -16],\n [Blake2256, -32],\n [Twox128, -16],\n [Twox256, -32],\n])\n\nexport type OpaqueKeyHash = string & { __opaqueKeyHash?: unknown }\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\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 (encoders.length === 0) return [] as any\n\n const argsKey = fromHex(key.slice(palletItemEncodedHex.length))\n const result = new Array<any>(encoders.length)\n for (let i = 0, cur = 0; i < encoders.length; i++) {\n const [codec, hasher] = encoders[i]\n const hBytes = hashers.get(hasher)\n if (hBytes == null) throw new Error(\"Unknown hasher\")\n if (hBytes < 0) {\n const opaqueBytes = hBytes * -1\n result[i] = toHex(argsKey.slice(cur, cur + opaqueBytes))\n cur += opaqueBytes\n } else {\n cur += hBytes\n result[i] = codec.dec(argsKey.slice(cur))\n cur += codec.enc(result[i]).length\n }\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"],"names":["enc"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"enum.mjs","sources":["../../../src/types/enum.ts"],"sourcesContent":["export type Enum<T extends {}> = {\n [K in keyof T & string]: {\n type: K\n value: T[K]\n }\n}[keyof T & string]\n\nexport type EnumVariant<\n T extends { type: string; value?: any },\n K extends T[\"type\"],\n> = T & {\n type: K\n}\n\nexport type ExtractEnumValue<\n T extends { type: string; value?: any },\n K extends string,\n> = EnumVariant<T, K>[\"value\"]\n\ntype ValueArg<V> = undefined extends V ? [value?: V] : [value: V]\n\ninterface Discriminant {\n is<T extends { type: string; value: any }, K extends T[\"type\"]>(\n value: T,\n type: K,\n ): value is T & { type: K }\n as<T extends { type: string; value: any }, K extends T[\"type\"]>(\n value: T,\n type: K,\n ): ExtractEnumValue<T, K>\n}\nconst discriminant: Discriminant = {\n is<T extends { type: string; value: any }, K extends T[\"type\"]>(\n value: T,\n type: K,\n ): value is T & { type: K } {\n return value.type === type\n },\n as(value, type) {\n if (type !== value.type)\n throw new Error(\n `Enum.as(enum, ${type}) used with actual type ${value.type}`,\n )\n return value\n },\n}\ninterface EnumFn extends Discriminant {\n <T extends { type: string; value: any }, K extends T[\"type\"]>(\n type: K,\n ...[value]: ValueArg<ExtractEnumValue<T, K>>\n ): EnumVariant<T, K>\n}\nexport const Enum: EnumFn = Object.assign((type: string, value?: any) => {\n return {\n type,\n value,\n } as any\n}, discriminant)\n\n// well-known enums\nexport type GetEnum<T extends Enum<any>> = {\n [K in T[\"type\"]]: (\n ...args: ExtractEnumValue<T, K> extends undefined\n ? []\n : [value: ExtractEnumValue<T, K>]\n ) => EnumVariant<T, K>\n}\nexport const _Enum = new Proxy(\n {},\n {\n get(_, prop: string) {\n return (value: string) => Enum(prop, value)\n },\n },\n)\n\n// type Bar = Enum<{\n// Kaka: 1\n// Bar: 2\n// }>\n\n// type FooInput = Enum<{\n// foo: \"foo\" | undefined\n// bar: Bar\n// baz: number\n// wtf: boolean\n// }>\n\n// declare function foo(foo: FooInput): void\n// foo(Enum(\"bar\", Enum(\"Bar\", 2)))\n\n// const InputEnum: GetEnum<FooInput> = null as any;\n// InputEnum.bar(Enum('Bar', 2))\n"],"names":[],"mappings":"AA+BA,MAAM,YAA6B,GAAA;AAAA,EACjC,EAAA,CACE,OACA,IAC0B,EAAA;AAC1B,IAAA,OAAO,MAAM,IAAS,KAAA,IAAA,CAAA;AAAA,GACxB;AAAA,EACA,EAAA,CAAG,OAAO,IAAM,EAAA;AACd,IAAA,IAAI,SAAS,KAAM,CAAA,IAAA;AACjB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,CAAiB,cAAA,EAAA,IAAI,CAA2B,wBAAA,EAAA,KAAA,CAAM,IAAI,CAAA,CAAA;AAAA,OAC5D,CAAA;AACF,IAAO,OAAA,KAAA,CAAA;AAAA,GACT;AACF,CAAA,CAAA;AAOO,MAAM,IAAe,GAAA,MAAA,CAAO,MAAO,CAAA,CAAC,MAAc,KAAgB,KAAA;AACvE,EAAO,OAAA;AAAA,IACL,IAAA;AAAA,IACA,KAAA;AAAA,GACF,CAAA;AACF,CAAA,EAAG,YAAY,EAAA;AAUR,MAAM,QAAQ,IAAI,KAAA;AAAA,EACvB,EAAC;AAAA,EACD;AAAA,IACE,GAAA,CAAI,GAAG,IAAc,EAAA;AACnB,MAAA,OAAO,CAAC,KAAA,KAAkB,IAAK,CAAA,IAAA,EAAM,KAAK,CAAA,CAAA;AAAA,KAC5C;AAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"enum.mjs","sources":["../../../src/types/enum.ts"],"sourcesContent":["export type Enum<T extends {}> = {\n [K in keyof T & string]: {\n type: K\n value: T[K]\n }\n}[keyof T & string]\n\nexport type EnumVariant<\n T extends { type: string; value?: any },\n K extends T[\"type\"],\n> = T & {\n type: K\n}\n\nexport type ExtractEnumValue<\n T extends { type: string; value?: any },\n K extends string,\n> = EnumVariant<T, K>[\"value\"]\n\ntype ValueArg<V> = undefined extends V ? [value?: V] : [value: V]\n\ninterface Discriminant {\n is<T extends { type: string; value: any }, K extends T[\"type\"]>(\n value: T,\n type: K,\n ): value is T & { type: K }\n as<T extends { type: string; value: any }, K extends T[\"type\"]>(\n value: T,\n type: K,\n ): ExtractEnumValue<T, K>\n}\nconst discriminant: Discriminant = {\n is<T extends { type: string; value: any }, K extends T[\"type\"]>(\n value: T,\n type: K,\n ): value is T & { type: K } {\n return value.type === type\n },\n as(value, type) {\n if (type !== value.type)\n throw new Error(\n `Enum.as(enum, ${type}) used with actual type ${value.type}`,\n )\n return value\n },\n}\ninterface EnumFn extends Discriminant {\n <T extends { type: string; value: any }, K extends T[\"type\"]>(\n type: K,\n ...[value]: ValueArg<ExtractEnumValue<T, K>>\n ): EnumVariant<T, K>\n}\nexport const Enum: EnumFn = Object.assign((type: string, value?: any) => {\n return {\n type,\n value,\n } as any\n}, discriminant)\n\n// well-known enums\nexport type GetEnum<T extends Enum<any>> = {\n [K in T[\"type\"]]: (\n ...args: ExtractEnumValue<T, K> extends undefined\n ? []\n : [value: ExtractEnumValue<T, K>]\n ) => EnumVariant<T, K>\n}\nexport const _Enum = new Proxy(\n {},\n {\n get(_, prop: string) {\n return (value: string) => Enum(prop, value)\n },\n },\n)\n\n// type Bar = Enum<{\n// Kaka: 1\n// Bar: 2\n// }>\n\n// type FooInput = Enum<{\n// foo: \"foo\" | undefined\n// bar: Bar\n// baz: number\n// wtf: boolean\n// }>\n\n// declare function foo(foo: FooInput): void\n// foo(Enum(\"bar\", Enum(\"Bar\", 2)))\n\n// const InputEnum: GetEnum<FooInput> = null as any;\n// InputEnum.bar(Enum('Bar', 2))\n"],"names":[],"mappings":"AA+BA,MAAM,YAA6B,GAAA;AAAA,EACjC,EAAA,CACE,OACA,IAC0B,EAAA;AAC1B,IAAA,OAAO,MAAM,IAAS,KAAA,IAAA;AAAA,GACxB;AAAA,EACA,EAAA,CAAG,OAAO,IAAM,EAAA;AACd,IAAA,IAAI,SAAS,KAAM,CAAA,IAAA;AACjB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,CAAiB,cAAA,EAAA,IAAI,CAA2B,wBAAA,EAAA,KAAA,CAAM,IAAI,CAAA;AAAA,OAC5D;AACF,IAAO,OAAA,KAAA;AAAA;AAEX,CAAA;AAOO,MAAM,IAAe,GAAA,MAAA,CAAO,MAAO,CAAA,CAAC,MAAc,KAAgB,KAAA;AACvE,EAAO,OAAA;AAAA,IACL,IAAA;AAAA,IACA;AAAA,GACF;AACF,CAAA,EAAG,YAAY;AAUR,MAAM,QAAQ,IAAI,KAAA;AAAA,EACvB,EAAC;AAAA,EACD;AAAA,IACE,GAAA,CAAI,GAAG,IAAc,EAAA;AACnB,MAAA,OAAO,CAAC,KAAA,KAAkB,IAAK,CAAA,IAAA,EAAM,KAAK,CAAA;AAAA;AAC5C;AAEJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ss58-util.mjs","sources":["../../../src/utils/ss58-util.ts"],"sourcesContent":["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"],"names":[],"mappings":";;;AAGA,MAAM,WAAc,GAAA,IAAI,WAAY,EAAA,CAAE,OAAO,SAAS,CAAA,CAAA;AACtD,MAAM,eAAkB,GAAA,CAAA,CAAA;AAOX,MAAA,kBAAA,GAAqB,CAAC,OAAyC,KAAA;AAC1E,EAAI,IAAA;AACF,IAAM,MAAA,OAAA,GAAU,MAAO,CAAA,MAAA,CAAO,OAAO,CAAA,CAAA;AACrC,IAAM,MAAA,WAAA,GAAc,QAAQ,QAAS,CAAA,CAAA,EAAG,QAAQ,CAAC,CAAA,GAAI,EAAc,GAAA,CAAA,GAAI,CAAC,CAAA,CAAA;AACxE,IAAA,MAAM,YAAY,OAAQ,CAAA,QAAA;AAAA,MACxB,WAAY,CAAA,MAAA;AAAA,MACZ,QAAQ,MAAS,GAAA,eAAA;AAAA,KACnB,CAAA;AAEA,IAAA,MAAM,WAAW,OAAQ,CAAA,QAAA,CAAS,WAAY,CAAA,MAAA,GAAS,UAAU,MAAM,CAAA,CAAA;AACvE,IAAA,MAAM,gBAAmB,GAAA,OAAA;AAAA,MACvB,WAAW,EAAG,CAAA,GAAG,aAAa,GAAG,WAAA,EAAa,GAAG,SAAS,CAAA;AAAA,MAC1D;AAAA,QACE,KAAO,EAAA,EAAA;AAAA,OACT;AAAA,KACF,CAAE,QAAS,CAAA,CAAA,EAAG,eAAe,CAAA,CAAA;AAE7B,IAAM,MAAA,eAAA,GACJ,QAAS,CAAA,CAAC,CAAM,KAAA,gBAAA,CAAiB,CAAC,CAAA,IAAK,QAAS,CAAA,CAAC,CAAM,KAAA,gBAAA,CAAiB,CAAC,CAAA,CAAA;AAE3E,IAAA,IAAI,CAAC,eAAA,EAAwB,OAAA,EAAE,SAAS,KAAM,EAAA,CAAA;AAE9C,IAAO,OAAA;AAAA,MACL,OAAS,EAAA,IAAA;AAAA,MACT,UAAA,EAAY,oBAAoB,WAAW,CAAA;AAAA,MAC3C,SAAA,EAAW,UAAU,KAAM,EAAA;AAAA,KAC7B,CAAA;AAAA,WACO,CAAG,EAAA;AACV,IAAO,OAAA,EAAE,SAAS,KAAM,EAAA,CAAA;AAAA,GAC1B;AACF,EAAA;AAEA,MAAM,mBAAA,GAAsB,CAAC,KAAsB,KAAA;AACjD,EAAM,MAAA,EAAA,GAAK,IAAI,QAAS,CAAA,KAAA,CAAM,QAAQ,KAAM,CAAA,UAAA,EAAY,MAAM,UAAU,CAAA,CAAA;AACxE,EAAO,OAAA,EAAA,CAAG,eAAe,CAAI,GAAA,EAAA,CAAG,SAAS,CAAC,CAAA,GAAI,EAAG,CAAA,SAAA,CAAU,CAAC,CAAA,CAAA;AAC9D,CAAA,CAAA;AAEa,MAAA,kBAAA,GAAqB,CAAC,UAAuB,KAAA;AACxD,EAAA,MAAM,cACJ,UAAa,GAAA,EAAA,GACT,WAAW,EAAG,CAAA,UAAU,IACxB,UAAW,CAAA,EAAA;AAAA,IACP,CAAA,UAAA,GAAa,QAA0B,CAAK,GAAA,EAAA;AAAA,IAC7C,UAAA,IAAc,CAAO,GAAA,CAAA,UAAA,GAAa,CAA0B,KAAA,CAAA;AAAA,GAC/D,CAAA;AAEN,EAAA,OAAO,CAAC,SAAsC,KAAA;AAC5C,IAAA,MAAM,QAAW,GAAA,OAAA;AAAA,MACf,WAAW,EAAG,CAAA,GAAG,aAAa,GAAG,WAAA,EAAa,GAAG,SAAS,CAAA;AAAA,MAC1D;AAAA,QACE,KAAO,EAAA,EAAA;AAAA,OACT;AAAA,KACF,CAAE,QAAS,CAAA,CAAA,EAAG,eAAe,CAAA,CAAA;AAC7B,IAAA,OAAO,MAAO,CAAA,MAAA;AAAA,MACZ,WAAW,EAAG,CAAA,GAAG,aAAa,GAAG,SAAA,EAAW,GAAG,QAAQ,CAAA;AAAA,KACzD,CAAA;AAAA,GACF,CAAA;AACF;;;;"}
1
+ {"version":3,"file":"ss58-util.mjs","sources":["../../../src/utils/ss58-util.ts"],"sourcesContent":["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"],"names":[],"mappings":";;;AAGA,MAAM,WAAc,GAAA,IAAI,WAAY,EAAA,CAAE,OAAO,SAAS,CAAA;AACtD,MAAM,eAAkB,GAAA,CAAA;AAOX,MAAA,kBAAA,GAAqB,CAAC,OAAyC,KAAA;AAC1E,EAAI,IAAA;AACF,IAAM,MAAA,OAAA,GAAU,MAAO,CAAA,MAAA,CAAO,OAAO,CAAA;AACrC,IAAM,MAAA,WAAA,GAAc,QAAQ,QAAS,CAAA,CAAA,EAAG,QAAQ,CAAC,CAAA,GAAI,EAAc,GAAA,CAAA,GAAI,CAAC,CAAA;AACxE,IAAA,MAAM,YAAY,OAAQ,CAAA,QAAA;AAAA,MACxB,WAAY,CAAA,MAAA;AAAA,MACZ,QAAQ,MAAS,GAAA;AAAA,KACnB;AAEA,IAAA,MAAM,WAAW,OAAQ,CAAA,QAAA,CAAS,WAAY,CAAA,MAAA,GAAS,UAAU,MAAM,CAAA;AACvE,IAAA,MAAM,gBAAmB,GAAA,OAAA;AAAA,MACvB,WAAW,EAAG,CAAA,GAAG,aAAa,GAAG,WAAA,EAAa,GAAG,SAAS,CAAA;AAAA,MAC1D;AAAA,QACE,KAAO,EAAA;AAAA;AACT,KACF,CAAE,QAAS,CAAA,CAAA,EAAG,eAAe,CAAA;AAE7B,IAAM,MAAA,eAAA,GACJ,QAAS,CAAA,CAAC,CAAM,KAAA,gBAAA,CAAiB,CAAC,CAAA,IAAK,QAAS,CAAA,CAAC,CAAM,KAAA,gBAAA,CAAiB,CAAC,CAAA;AAE3E,IAAA,IAAI,CAAC,eAAA,EAAwB,OAAA,EAAE,SAAS,KAAM,EAAA;AAE9C,IAAO,OAAA;AAAA,MACL,OAAS,EAAA,IAAA;AAAA,MACT,UAAA,EAAY,oBAAoB,WAAW,CAAA;AAAA,MAC3C,SAAA,EAAW,UAAU,KAAM;AAAA,KAC7B;AAAA,WACO,CAAG,EAAA;AACV,IAAO,OAAA,EAAE,SAAS,KAAM,EAAA;AAAA;AAE5B;AAEA,MAAM,mBAAA,GAAsB,CAAC,KAAsB,KAAA;AACjD,EAAM,MAAA,EAAA,GAAK,IAAI,QAAS,CAAA,KAAA,CAAM,QAAQ,KAAM,CAAA,UAAA,EAAY,MAAM,UAAU,CAAA;AACxE,EAAO,OAAA,EAAA,CAAG,eAAe,CAAI,GAAA,EAAA,CAAG,SAAS,CAAC,CAAA,GAAI,EAAG,CAAA,SAAA,CAAU,CAAC,CAAA;AAC9D,CAAA;AAEa,MAAA,kBAAA,GAAqB,CAAC,UAAuB,KAAA;AACxD,EAAA,MAAM,cACJ,UAAa,GAAA,EAAA,GACT,WAAW,EAAG,CAAA,UAAU,IACxB,UAAW,CAAA,EAAA;AAAA,IACP,CAAA,UAAA,GAAa,QAA0B,CAAK,GAAA,EAAA;AAAA,IAC7C,UAAA,IAAc,CAAO,GAAA,CAAA,UAAA,GAAa,CAA0B,KAAA;AAAA,GAC/D;AAEN,EAAA,OAAO,CAAC,SAAsC,KAAA;AAC5C,IAAA,MAAM,QAAW,GAAA,OAAA;AAAA,MACf,WAAW,EAAG,CAAA,GAAG,aAAa,GAAG,WAAA,EAAa,GAAG,SAAS,CAAA;AAAA,MAC1D;AAAA,QACE,KAAO,EAAA;AAAA;AACT,KACF,CAAE,QAAS,CAAA,CAAA,EAAG,eAAe,CAAA;AAC7B,IAAA,OAAO,MAAO,CAAA,MAAA;AAAA,MACZ,WAAW,EAAG,CAAA,GAAG,aAAa,GAAG,SAAA,EAAW,GAAG,QAAQ;AAAA,KACzD;AAAA,GACF;AACF;;;;"}
package/dist/index.d.ts CHANGED
@@ -1091,10 +1091,13 @@ declare const Twox64Concat: (encoded: Uint8Array) => Uint8Array;
1091
1091
  declare function h64(input: Uint8Array, seed?: bigint): bigint;
1092
1092
 
1093
1093
  type EncoderWithHash<T> = [Codec<T>, (input: Uint8Array) => Uint8Array];
1094
+ type OpaqueKeyHash = string & {
1095
+ __opaqueKeyHash?: unknown;
1096
+ };
1094
1097
  declare const Storage: (pallet: string) => <T, A extends Array<EncoderWithHash<any>>>(name: string, dec: Decoder<T>, ...encoders: A) => {
1095
1098
  enc: (...args: { [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown; }) => string;
1096
1099
  dec: Decoder<T>;
1097
1100
  keyDecoder: (value: string) => { [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown; };
1098
1101
  };
1099
1102
 
1100
- export { AccountId, Bin, Binary, type BitSequence, Blake2128, Blake2128Concat, Blake2256, Blake3256, Blake3256Concat, type BlockHeader, type EncoderWithHash, Enum, type EnumVariant, type ExtractEnumValue, FixedSizeBinary, type GetEnum, Hex, type HexString, Identity, type SS58AddressInfo, type SS58String, Self, Storage, Twox128, Twox256, Twox64Concat, type V14, type V14Extrinsic, type V14Lookup, type V15, type V15Extrinsic, Variant, _Enum, bitSequence, blockHeader, char, compactBn, compactNumber, decAnyMetadata, ethAccount, fixedStr, fromBufferToBase58, getSs58AddressInfo, h64, metadata, selfDecoder, selfEncoder, v14, lookup as v14Lookup, v15 };
1103
+ export { AccountId, Bin, Binary, type BitSequence, Blake2128, Blake2128Concat, Blake2256, Blake3256, Blake3256Concat, type BlockHeader, type EncoderWithHash, Enum, type EnumVariant, type ExtractEnumValue, FixedSizeBinary, type GetEnum, Hex, type HexString, Identity, type OpaqueKeyHash, type SS58AddressInfo, type SS58String, Self, Storage, Twox128, Twox256, Twox64Concat, type V14, type V14Extrinsic, type V14Lookup, type V15, type V15Extrinsic, Variant, _Enum, bitSequence, blockHeader, char, compactBn, compactNumber, decAnyMetadata, ethAccount, fixedStr, fromBufferToBase58, getSs58AddressInfo, h64, metadata, selfDecoder, selfEncoder, v14, lookup as v14Lookup, v15 };
package/dist/index.js CHANGED
@@ -414,9 +414,9 @@ const hashType = scaleTs.Enum({
414
414
  Twox64Concat: scaleTs._void,
415
415
  Identity: scaleTs._void
416
416
  });
417
- const hashers = scaleTs.Vector(hashType);
417
+ const hashers$1 = scaleTs.Vector(hashType);
418
418
  const storageMap = scaleTs.Struct({
419
- hashers,
419
+ hashers: hashers$1,
420
420
  key: compactNumber,
421
421
  value: compactNumber
422
422
  });
@@ -741,6 +741,15 @@ const Twox256 = (input) => {
741
741
  const Twox64Concat = (encoded) => utils.mergeUint8(scaleTs.u64.enc(h64(encoded)), encoded);
742
742
 
743
743
  const textEncoder = new TextEncoder();
744
+ const hashers = /* @__PURE__ */ new Map([
745
+ [Identity, 0],
746
+ [Twox64Concat, 8],
747
+ [Blake2128Concat, 16],
748
+ [Blake2128, -16],
749
+ [Blake2256, -32],
750
+ [Twox128, -16],
751
+ [Twox256, -32]
752
+ ]);
744
753
  const Storage = (pallet) => {
745
754
  const palledEncoded = Twox128(textEncoder.encode(pallet));
746
755
  return (name, dec, ...encoders) => {
@@ -749,31 +758,25 @@ const Storage = (pallet) => {
749
758
  Twox128(textEncoder.encode(name))
750
759
  );
751
760
  const palletItemEncodedHex = utils.toHex(palletItemEncoded);
752
- const bytesToSkip = encoders.map((e) => e[1]).map((x) => {
753
- switch (x) {
754
- case Identity:
755
- return 0;
756
- case Twox64Concat:
757
- return 8;
758
- case Blake2128Concat:
759
- return 16;
760
- default:
761
- return null;
762
- }
763
- }).filter((x) => x !== null);
764
761
  const keyDecoder = (key) => {
765
762
  if (!key.startsWith(palletItemEncodedHex))
766
763
  throw new Error(`key does not match this storage (${pallet}.${name})`);
767
- if (bytesToSkip.length !== encoders.length)
768
- throw new Error("Impossible to decode this key");
769
764
  if (encoders.length === 0) return [];
770
- const argsKey = key.slice(palletItemEncodedHex.length);
765
+ const argsKey = utils.fromHex(key.slice(palletItemEncodedHex.length));
771
766
  const result = new Array(encoders.length);
772
- for (let i = 0, cur = 0; i < bytesToSkip.length; i++) {
773
- const codec = encoders[i][0];
774
- cur += bytesToSkip[i];
775
- result[i] = codec.dec(argsKey.slice(cur * 2));
776
- cur += codec.enc(result[i]).length;
767
+ for (let i = 0, cur = 0; i < encoders.length; i++) {
768
+ const [codec, hasher] = encoders[i];
769
+ const hBytes = hashers.get(hasher);
770
+ if (hBytes == null) throw new Error("Unknown hasher");
771
+ if (hBytes < 0) {
772
+ const opaqueBytes = hBytes * -1;
773
+ result[i] = utils.toHex(argsKey.slice(cur, cur + opaqueBytes));
774
+ cur += opaqueBytes;
775
+ } else {
776
+ cur += hBytes;
777
+ result[i] = codec.dec(argsKey.slice(cur));
778
+ cur += codec.enc(result[i]).length;
779
+ }
777
780
  }
778
781
  return result;
779
782
  };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/utils/ss58-util.ts","../src/codecs/scale/AccountId.ts","../src/codecs/scale/Binary.ts","../src/codecs/scale/compact.ts","../src/codecs/scale/bitSequence.ts","../src/codecs/scale/char.ts","../src/codecs/scale/Hex.ts","../src/codecs/scale/fixed-str.ts","../src/codecs/scale/Self.ts","../src/types/enum.ts","../src/codecs/scale/Variant.ts","../src/codecs/scale/ethAccount.ts","../src/codecs/blockHeader.ts","../src/codecs/metadata/docs.ts","../src/codecs/metadata/lookup.ts","../src/codecs/metadata/pallets.ts","../src/codecs/metadata/v14.ts","../src/codecs/metadata/runtime-api.ts","../src/codecs/metadata/v15.ts","../src/codecs/metadata/metadata.ts","../src/hashes/blake2.ts","../src/hashes/blake3.ts","../src/hashes/identity.ts","../src/hashes/h64.ts","../src/hashes/twoX.ts","../src/storage.ts"],"sourcesContent":["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, 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 {\n Bytes,\n Codec,\n Decoder,\n Encoder,\n Tuple,\n compact,\n createCodec,\n} from \"scale-ts\"\nimport { fromHex, mergeUint8, toHex } from \"@polkadot-api/utils\"\nimport type { HexString } from \"./Hex\"\nimport { SS58String } from \"@/utils\"\nimport { AccountId } from \"./AccountId\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\nconst opaqueBytesDec = Tuple(compact, Bytes(Infinity))[1]\n\nexport class Binary {\n #bytes: Uint8Array\n #opaqueBytes: Uint8Array | null = null\n #hex: HexString | null = null\n #opaqueHex: HexString | null = null\n #str: string | null = null\n\n constructor(data: Uint8Array, opaque = false) {\n if (opaque) {\n try {\n const [len, bytes] = opaqueBytesDec(data)\n if (len === bytes.length) {\n this.#bytes = bytes\n this.#opaqueBytes = data\n return\n }\n } catch (_) {}\n throw new Error(\"Invalid opaque bytes\")\n } else this.#bytes = data\n }\n\n asText = () => (this.#str ??= textDecoder.decode(this.#bytes))\n\n asHex = () => (this.#hex ||= toHex(this.#bytes))\n asOpaqueHex = () => (this.#opaqueHex ||= toHex(this.asBytes()))\n\n asBytes = () => this.#bytes\n asOpaqueBytes = () =>\n (this.#opaqueBytes ||= mergeUint8(\n compact[0](this.#bytes.length),\n this.#bytes,\n ))\n\n static fromText(input: string): Binary {\n return new this(textEncoder.encode(input))\n }\n\n static fromHex(input: HexString): Binary {\n return new this(fromHex(input))\n }\n static fromOpaqueHex(input: HexString): Binary {\n return new this(fromHex(input), true)\n }\n\n static fromBytes(input: Uint8Array): Binary {\n return new this(input)\n }\n static fromOpaqueBytes(input: Uint8Array): Binary {\n return new this(input, true)\n }\n}\n\nconst [accountIdEncoder] = AccountId()\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 this<L>(new Uint8Array(input))\n }\n\n static fromAccountId32<L extends number>(\n input: L extends 32 ? SS58String : never,\n ) {\n return new this<L>(accountIdEncoder(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 const Bin = nBytes == null ? Binary : FixedSizeBinary\n return (value) => Bin.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 { Codec, compact } from \"scale-ts\"\n\nexport const compactNumber = compact as Codec<number>\nexport const compactBn = compact as Codec<bigint>\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 { 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","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","export type Enum<T extends {}> = {\n [K in keyof T & string]: {\n type: K\n value: T[K]\n }\n}[keyof T & string]\n\nexport type EnumVariant<\n T extends { type: string; value?: any },\n K extends T[\"type\"],\n> = T & {\n type: K\n}\n\nexport type ExtractEnumValue<\n T extends { type: string; value?: any },\n K extends string,\n> = EnumVariant<T, K>[\"value\"]\n\ntype ValueArg<V> = undefined extends V ? [value?: V] : [value: V]\n\ninterface Discriminant {\n is<T extends { type: string; value: any }, K extends T[\"type\"]>(\n value: T,\n type: K,\n ): value is T & { type: K }\n as<T extends { type: string; value: any }, K extends T[\"type\"]>(\n value: T,\n type: K,\n ): ExtractEnumValue<T, K>\n}\nconst discriminant: Discriminant = {\n is<T extends { type: string; value: any }, K extends T[\"type\"]>(\n value: T,\n type: K,\n ): value is T & { type: K } {\n return value.type === type\n },\n as(value, type) {\n if (type !== value.type)\n throw new Error(\n `Enum.as(enum, ${type}) used with actual type ${value.type}`,\n )\n return value\n },\n}\ninterface EnumFn extends Discriminant {\n <T extends { type: string; value: any }, K extends T[\"type\"]>(\n type: K,\n ...[value]: ValueArg<ExtractEnumValue<T, K>>\n ): EnumVariant<T, K>\n}\nexport const Enum: EnumFn = Object.assign((type: string, value?: any) => {\n return {\n type,\n value,\n } as any\n}, discriminant)\n\n// well-known enums\nexport type GetEnum<T extends Enum<any>> = {\n [K in T[\"type\"]]: (\n ...args: ExtractEnumValue<T, K> extends undefined\n ? []\n : [value: ExtractEnumValue<T, K>]\n ) => EnumVariant<T, K>\n}\nexport const _Enum = new Proxy(\n {},\n {\n get(_, prop: string) {\n return (value: string) => Enum(prop, value)\n },\n },\n)\n\n// type Bar = Enum<{\n// Kaka: 1\n// Bar: 2\n// }>\n\n// type FooInput = Enum<{\n// foo: \"foo\" | undefined\n// bar: Bar\n// baz: number\n// wtf: boolean\n// }>\n\n// declare function foo(foo: FooInput): void\n// foo(Enum(\"bar\", Enum(\"Bar\", 2)))\n\n// const InputEnum: GetEnum<FooInput> = null as any;\n// InputEnum.bar(Enum('Bar', 2))\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\"\nimport { Enum } from \"@/types/enum\"\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\nconst VariantEnc = <O extends StringRecord<Encoder<any>>>(\n ...args: [inner: O, x?: RestrictedLenTuple<number, O>]\n): Encoder<\n Enum<{\n [K in keyof O]: EncoderType<O[K]>\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 [K in keyof O]: DecoderType<O[K]>\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 [K in keyof O]: CodecType<O[K]>\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 [K in keyof O]: CodecType<O[K]>\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 [K in keyof O]: CodecType<O[K]>\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 { Vector, str } from \"scale-ts\"\n\nexport const docs = Vector(str)\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\"\nimport { docs } from \"./docs\"\n\nconst oStr = Option(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,\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,\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: docs,\n params,\n def,\n docs,\n})\n\nexport const lookup = Vector(entry)\nexport type V14Lookup = CodecType<typeof lookup>\n","import { Hex, compactNumber } from \"@/codecs/scale\"\nimport { Struct, Option, Vector, u8, str, Enum, _void } from \"scale-ts\"\nimport { docs } from \"./docs\"\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,\n})\n\nconst storage = Option(\n Struct({\n prefix: str,\n items: Vector(storageItem),\n }),\n)\n\nexport const v14Pallet = {\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,\n }),\n ),\n errors: Option(compactNumber),\n index: u8,\n}\n\nexport const v15Pallet = {\n ...v14Pallet,\n docs,\n}\n","import { CodecType, Struct, Vector, createCodec, str, u8 } from \"scale-ts\"\nimport { lookup } from \"./lookup\"\nimport { compactNumber } from \"../scale\"\nimport { v14Pallet } from \"./pallets\"\nimport { runtimeApi } from \"./runtime-api\"\n\nconst empty = new Uint8Array()\nconst Always = <T>(value: T) =>\n createCodec<T>(\n () => empty,\n () => value,\n )\n\nconst extrinsic = Struct({\n type: compactNumber,\n version: u8,\n signedExtensions: Vector(\n Struct({\n identifier: str,\n type: compactNumber,\n additionalSigned: compactNumber,\n }),\n ),\n})\nexport type V14Extrinsic = CodecType<typeof extrinsic>\n\nexport const v14 = Struct({\n lookup,\n pallets: Vector(Struct({ ...v14Pallet, docs: Always([] as string[]) })),\n extrinsic,\n type: compactNumber,\n apis: Always([] as Array<CodecType<typeof runtimeApi>>),\n})\nexport type V14 = CodecType<typeof v14>\n","import { Struct, Vector, str } from \"scale-ts\"\nimport { docs } from \"./docs\"\nimport { compactNumber as ty } from \"../scale\"\n\nexport const 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","import { CodecType, Struct, Tuple, Vector, str, u8 } from \"scale-ts\"\nimport { lookup } from \"./lookup\"\nimport { v15Pallet } from \"./pallets\"\nimport { Hex, compactNumber as ty } from \"../scale\"\nimport { runtimeApi } from \"./runtime-api\"\nexport type { V14Lookup } from \"./lookup\"\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: Vector(Struct(v15Pallet)),\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 {\n Bytes,\n type Codec,\n type CodecType,\n Enum,\n Option,\n Struct,\n Tuple,\n compact,\n createCodec,\n u32,\n} from \"scale-ts\"\nimport type { HexString } from \"../scale\"\nimport { v14 } from \"./v14\"\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,\n v15,\n }),\n})\n\nconst opaqueBytes = Bytes()\nconst optionOpaque = Option(opaqueBytes)\nconst opaqueOpaqueBytes = Tuple(compact, opaqueBytes)\n\nexport const decAnyMetadata = (\n input: Uint8Array | HexString,\n): CodecType<typeof metadata> => {\n try {\n return metadata.dec(input)\n } catch (_) {}\n\n // comes from metadata.metadata_at_version\n try {\n return metadata.dec(optionOpaque.dec(input)!)\n } catch (_) {}\n\n // comes from state.getMetadata\n try {\n return metadata.dec(opaqueBytes.dec(input))\n } catch (_) {}\n\n // comes from metadata.metadata\n try {\n return metadata.dec(opaqueOpaqueBytes.dec(input)[1])\n } catch (_) {}\n\n throw null\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","import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { blake3 } from \"@noble/hashes/blake3\"\n\nconst len32 = { dkLen: 32 }\nexport const Blake3256 = (encoded: Uint8Array) => blake3(encoded, len32)\n\nexport const Blake3256Concat = (encoded: Uint8Array) =>\n mergeUint8(Blake3256(encoded), encoded)\n","export const Identity = (encoded: Uint8Array): Uint8Array => 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 } 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","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 switch (x) {\n case Identity:\n return 0\n case Twox64Concat:\n return 8\n case Blake2128Concat:\n return 16\n default:\n return null\n }\n })\n .filter((x) => x !== null)\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"],"names":["base58","blake2b","enhanceCodec","Bytes","textEncoder","textDecoder","Tuple","compact","toHex","mergeUint8","fromHex","enc","dec","Bin","createCodec","createDecoder","bitSequence","u8","ScaleEnum","mapObject","keccak","Struct","_void","Vector","str","Option","Enum","u32","extrinsic","ty","len32","blake3","p","temp","u64"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/utils/ss58-util.ts","../src/codecs/scale/AccountId.ts","../src/codecs/scale/Binary.ts","../src/codecs/scale/compact.ts","../src/codecs/scale/bitSequence.ts","../src/codecs/scale/char.ts","../src/codecs/scale/Hex.ts","../src/codecs/scale/fixed-str.ts","../src/codecs/scale/Self.ts","../src/types/enum.ts","../src/codecs/scale/Variant.ts","../src/codecs/scale/ethAccount.ts","../src/codecs/blockHeader.ts","../src/codecs/metadata/docs.ts","../src/codecs/metadata/lookup.ts","../src/codecs/metadata/pallets.ts","../src/codecs/metadata/v14.ts","../src/codecs/metadata/runtime-api.ts","../src/codecs/metadata/v15.ts","../src/codecs/metadata/metadata.ts","../src/hashes/blake2.ts","../src/hashes/blake3.ts","../src/hashes/identity.ts","../src/hashes/h64.ts","../src/hashes/twoX.ts","../src/storage.ts"],"sourcesContent":["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, 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 {\n Bytes,\n Codec,\n Decoder,\n Encoder,\n Tuple,\n compact,\n createCodec,\n} from \"scale-ts\"\nimport { fromHex, mergeUint8, toHex } from \"@polkadot-api/utils\"\nimport type { HexString } from \"./Hex\"\nimport { SS58String } from \"@/utils\"\nimport { AccountId } from \"./AccountId\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\nconst opaqueBytesDec = Tuple(compact, Bytes(Infinity))[1]\n\nexport class Binary {\n #bytes: Uint8Array\n #opaqueBytes: Uint8Array | null = null\n #hex: HexString | null = null\n #opaqueHex: HexString | null = null\n #str: string | null = null\n\n constructor(data: Uint8Array, opaque = false) {\n if (opaque) {\n try {\n const [len, bytes] = opaqueBytesDec(data)\n if (len === bytes.length) {\n this.#bytes = bytes\n this.#opaqueBytes = data\n return\n }\n } catch (_) {}\n throw new Error(\"Invalid opaque bytes\")\n } else this.#bytes = data\n }\n\n asText = () => (this.#str ??= textDecoder.decode(this.#bytes))\n\n asHex = () => (this.#hex ||= toHex(this.#bytes))\n asOpaqueHex = () => (this.#opaqueHex ||= toHex(this.asBytes()))\n\n asBytes = () => this.#bytes\n asOpaqueBytes = () =>\n (this.#opaqueBytes ||= mergeUint8(\n compact[0](this.#bytes.length),\n this.#bytes,\n ))\n\n static fromText(input: string): Binary {\n return new this(textEncoder.encode(input))\n }\n\n static fromHex(input: HexString): Binary {\n return new this(fromHex(input))\n }\n static fromOpaqueHex(input: HexString): Binary {\n return new this(fromHex(input), true)\n }\n\n static fromBytes(input: Uint8Array): Binary {\n return new this(input)\n }\n static fromOpaqueBytes(input: Uint8Array): Binary {\n return new this(input, true)\n }\n}\n\nconst [accountIdEncoder] = AccountId()\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 this<L>(new Uint8Array(input))\n }\n\n static fromAccountId32<L extends number>(\n input: L extends 32 ? SS58String : never,\n ) {\n return new this<L>(accountIdEncoder(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 const Bin = nBytes == null ? Binary : FixedSizeBinary\n return (value) => Bin.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 { Codec, compact } from \"scale-ts\"\n\nexport const compactNumber = compact as Codec<number>\nexport const compactBn = compact as Codec<bigint>\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 { 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","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","export type Enum<T extends {}> = {\n [K in keyof T & string]: {\n type: K\n value: T[K]\n }\n}[keyof T & string]\n\nexport type EnumVariant<\n T extends { type: string; value?: any },\n K extends T[\"type\"],\n> = T & {\n type: K\n}\n\nexport type ExtractEnumValue<\n T extends { type: string; value?: any },\n K extends string,\n> = EnumVariant<T, K>[\"value\"]\n\ntype ValueArg<V> = undefined extends V ? [value?: V] : [value: V]\n\ninterface Discriminant {\n is<T extends { type: string; value: any }, K extends T[\"type\"]>(\n value: T,\n type: K,\n ): value is T & { type: K }\n as<T extends { type: string; value: any }, K extends T[\"type\"]>(\n value: T,\n type: K,\n ): ExtractEnumValue<T, K>\n}\nconst discriminant: Discriminant = {\n is<T extends { type: string; value: any }, K extends T[\"type\"]>(\n value: T,\n type: K,\n ): value is T & { type: K } {\n return value.type === type\n },\n as(value, type) {\n if (type !== value.type)\n throw new Error(\n `Enum.as(enum, ${type}) used with actual type ${value.type}`,\n )\n return value\n },\n}\ninterface EnumFn extends Discriminant {\n <T extends { type: string; value: any }, K extends T[\"type\"]>(\n type: K,\n ...[value]: ValueArg<ExtractEnumValue<T, K>>\n ): EnumVariant<T, K>\n}\nexport const Enum: EnumFn = Object.assign((type: string, value?: any) => {\n return {\n type,\n value,\n } as any\n}, discriminant)\n\n// well-known enums\nexport type GetEnum<T extends Enum<any>> = {\n [K in T[\"type\"]]: (\n ...args: ExtractEnumValue<T, K> extends undefined\n ? []\n : [value: ExtractEnumValue<T, K>]\n ) => EnumVariant<T, K>\n}\nexport const _Enum = new Proxy(\n {},\n {\n get(_, prop: string) {\n return (value: string) => Enum(prop, value)\n },\n },\n)\n\n// type Bar = Enum<{\n// Kaka: 1\n// Bar: 2\n// }>\n\n// type FooInput = Enum<{\n// foo: \"foo\" | undefined\n// bar: Bar\n// baz: number\n// wtf: boolean\n// }>\n\n// declare function foo(foo: FooInput): void\n// foo(Enum(\"bar\", Enum(\"Bar\", 2)))\n\n// const InputEnum: GetEnum<FooInput> = null as any;\n// InputEnum.bar(Enum('Bar', 2))\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\"\nimport { Enum } from \"@/types/enum\"\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\nconst VariantEnc = <O extends StringRecord<Encoder<any>>>(\n ...args: [inner: O, x?: RestrictedLenTuple<number, O>]\n): Encoder<\n Enum<{\n [K in keyof O]: EncoderType<O[K]>\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 [K in keyof O]: DecoderType<O[K]>\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 [K in keyof O]: CodecType<O[K]>\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 [K in keyof O]: CodecType<O[K]>\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 [K in keyof O]: CodecType<O[K]>\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 { Vector, str } from \"scale-ts\"\n\nexport const docs = Vector(str)\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\"\nimport { docs } from \"./docs\"\n\nconst oStr = Option(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,\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,\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: docs,\n params,\n def,\n docs,\n})\n\nexport const lookup = Vector(entry)\nexport type V14Lookup = CodecType<typeof lookup>\n","import { Hex, compactNumber } from \"@/codecs/scale\"\nimport { Struct, Option, Vector, u8, str, Enum, _void } from \"scale-ts\"\nimport { docs } from \"./docs\"\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,\n})\n\nconst storage = Option(\n Struct({\n prefix: str,\n items: Vector(storageItem),\n }),\n)\n\nexport const v14Pallet = {\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,\n }),\n ),\n errors: Option(compactNumber),\n index: u8,\n}\n\nexport const v15Pallet = {\n ...v14Pallet,\n docs,\n}\n","import { CodecType, Struct, Vector, createCodec, str, u8 } from \"scale-ts\"\nimport { lookup } from \"./lookup\"\nimport { compactNumber } from \"../scale\"\nimport { v14Pallet } from \"./pallets\"\nimport { runtimeApi } from \"./runtime-api\"\n\nconst empty = new Uint8Array()\nconst Always = <T>(value: T) =>\n createCodec<T>(\n () => empty,\n () => value,\n )\n\nconst extrinsic = Struct({\n type: compactNumber,\n version: u8,\n signedExtensions: Vector(\n Struct({\n identifier: str,\n type: compactNumber,\n additionalSigned: compactNumber,\n }),\n ),\n})\nexport type V14Extrinsic = CodecType<typeof extrinsic>\n\nexport const v14 = Struct({\n lookup,\n pallets: Vector(Struct({ ...v14Pallet, docs: Always([] as string[]) })),\n extrinsic,\n type: compactNumber,\n apis: Always([] as Array<CodecType<typeof runtimeApi>>),\n})\nexport type V14 = CodecType<typeof v14>\n","import { Struct, Vector, str } from \"scale-ts\"\nimport { docs } from \"./docs\"\nimport { compactNumber as ty } from \"../scale\"\n\nexport const 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","import { CodecType, Struct, Tuple, Vector, str, u8 } from \"scale-ts\"\nimport { lookup } from \"./lookup\"\nimport { v15Pallet } from \"./pallets\"\nimport { Hex, compactNumber as ty } from \"../scale\"\nimport { runtimeApi } from \"./runtime-api\"\nexport type { V14Lookup } from \"./lookup\"\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: Vector(Struct(v15Pallet)),\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 {\n Bytes,\n type Codec,\n type CodecType,\n Enum,\n Option,\n Struct,\n Tuple,\n compact,\n createCodec,\n u32,\n} from \"scale-ts\"\nimport type { HexString } from \"../scale\"\nimport { v14 } from \"./v14\"\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,\n v15,\n }),\n})\n\nconst opaqueBytes = Bytes()\nconst optionOpaque = Option(opaqueBytes)\nconst opaqueOpaqueBytes = Tuple(compact, opaqueBytes)\n\nexport const decAnyMetadata = (\n input: Uint8Array | HexString,\n): CodecType<typeof metadata> => {\n try {\n return metadata.dec(input)\n } catch (_) {}\n\n // comes from metadata.metadata_at_version\n try {\n return metadata.dec(optionOpaque.dec(input)!)\n } catch (_) {}\n\n // comes from state.getMetadata\n try {\n return metadata.dec(opaqueBytes.dec(input))\n } catch (_) {}\n\n // comes from metadata.metadata\n try {\n return metadata.dec(opaqueOpaqueBytes.dec(input)[1])\n } catch (_) {}\n\n throw null\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","import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { blake3 } from \"@noble/hashes/blake3\"\n\nconst len32 = { dkLen: 32 }\nexport const Blake3256 = (encoded: Uint8Array) => blake3(encoded, len32)\n\nexport const Blake3256Concat = (encoded: Uint8Array) =>\n mergeUint8(Blake3256(encoded), encoded)\n","export const Identity = (encoded: Uint8Array): Uint8Array => 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 } 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","import { fromHex, mergeUint8, toHex } from \"@polkadot-api/utils\"\nimport { Codec, Decoder } from \"scale-ts\"\nimport {\n Blake2128,\n Blake2128Concat,\n Blake2256,\n Identity,\n Twox128,\n Twox256,\n Twox64Concat,\n} from \"./hashes\"\n\nexport type EncoderWithHash<T> = [Codec<T>, (input: Uint8Array) => Uint8Array]\n\nconst textEncoder = new TextEncoder()\n\n// the value indicates:\n// - when positive: the number of bytes to skip before reaching the transparent-encoded key\n// - when negative: the number of bytes that the opaque hasher will generate\nconst hashers: Map<(input: Uint8Array) => Uint8Array, number> = new Map([\n [Identity, 0],\n [Twox64Concat, 8],\n [Blake2128Concat, 16],\n [Blake2128, -16],\n [Blake2256, -32],\n [Twox128, -16],\n [Twox256, -32],\n])\n\nexport type OpaqueKeyHash = string & { __opaqueKeyHash?: unknown }\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\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 (encoders.length === 0) return [] as any\n\n const argsKey = fromHex(key.slice(palletItemEncodedHex.length))\n const result = new Array<any>(encoders.length)\n for (let i = 0, cur = 0; i < encoders.length; i++) {\n const [codec, hasher] = encoders[i]\n const hBytes = hashers.get(hasher)\n if (hBytes == null) throw new Error(\"Unknown hasher\")\n if (hBytes < 0) {\n const opaqueBytes = hBytes * -1\n result[i] = toHex(argsKey.slice(cur, cur + opaqueBytes))\n cur += opaqueBytes\n } else {\n cur += hBytes\n result[i] = codec.dec(argsKey.slice(cur))\n cur += codec.enc(result[i]).length\n }\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"],"names":["base58","blake2b","enhanceCodec","Bytes","textEncoder","textDecoder","Tuple","compact","toHex","mergeUint8","fromHex","enc","dec","Bin","createCodec","createDecoder","bitSequence","u8","ScaleEnum","mapObject","keccak","Struct","_void","Vector","str","Option","Enum","u32","hashers","extrinsic","ty","len32","blake3","p","temp","u64"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polkadot-api/substrate-bindings",
3
- "version": "0.9.2",
3
+ "version": "0.9.4",
4
4
  "author": "Josep M Sobrepere (https://github.com/josepot)",
5
5
  "repository": {
6
6
  "type": "git",
@@ -35,14 +35,14 @@
35
35
  "dist"
36
36
  ],
37
37
  "dependencies": {
38
- "@noble/hashes": "^1.4.0",
39
- "@scure/base": "^1.1.7",
40
- "scale-ts": "^1.6.0",
38
+ "@noble/hashes": "^1.5.0",
39
+ "@scure/base": "^1.1.9",
40
+ "scale-ts": "^1.6.1",
41
41
  "@polkadot-api/utils": "0.1.2"
42
42
  },
43
43
  "devDependencies": {
44
44
  "bigint-conversion": "^2.4.3",
45
- "hash-wasm": "^4.11.0"
45
+ "hash-wasm": "^4.12.0"
46
46
  },
47
47
  "scripts": {
48
48
  "build-core": "tsc --noEmit && rollup -c ../../rollup.config.js",