@polkadot-api/substrate-bindings 0.11.1 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/codecs/blockHeader.mjs +2 -1
- package/dist/esm/codecs/blockHeader.mjs.map +1 -1
- package/dist/esm/codecs/metadata/pallets.mjs +1 -0
- package/dist/esm/codecs/metadata/pallets.mjs.map +1 -1
- package/dist/esm/codecs/metadata/runtime-api.mjs +1 -0
- package/dist/esm/codecs/metadata/runtime-api.mjs.map +1 -1
- package/dist/esm/codecs/metadata/v14.mjs +1 -0
- package/dist/esm/codecs/metadata/v14.mjs.map +1 -1
- package/dist/esm/codecs/metadata/v15.mjs +1 -0
- package/dist/esm/codecs/metadata/v15.mjs.map +1 -1
- package/dist/esm/codecs/scale/Variant.mjs +19 -12
- package/dist/esm/codecs/scale/Variant.mjs.map +1 -1
- package/dist/esm/codecs/scale/shaped.mjs +21 -0
- package/dist/esm/codecs/scale/shaped.mjs.map +1 -0
- package/dist/esm/codecs/scale/with-inner.mjs +8 -0
- package/dist/esm/codecs/scale/with-inner.mjs.map +1 -0
- package/dist/esm/index.mjs +3 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/utils/multisig.mjs +1 -0
- package/dist/esm/utils/multisig.mjs.map +1 -1
- package/dist/index.d.ts +272 -10
- package/dist/index.js +48 -38
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { enhanceCodec, Bytes,
|
|
1
|
+
import { enhanceCodec, Bytes, _void } from 'scale-ts';
|
|
2
2
|
import '../utils/ss58-util.mjs';
|
|
3
3
|
import './scale/Binary.mjs';
|
|
4
4
|
import './scale/bitSequence.mjs';
|
|
@@ -8,6 +8,7 @@ import { Hex } from './scale/Hex.mjs';
|
|
|
8
8
|
import './scale/fixed-str.mjs';
|
|
9
9
|
import { Variant } from './scale/Variant.mjs';
|
|
10
10
|
import './scale/ethAccount.mjs';
|
|
11
|
+
import { Struct, Vector } from './scale/shaped.mjs';
|
|
11
12
|
|
|
12
13
|
const textEncoder = new TextEncoder();
|
|
13
14
|
const textDecoder = new TextDecoder();
|
|
@@ -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":"
|
|
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":"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":"
|
|
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":"
|
|
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":"
|
|
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;;;;"}
|
|
@@ -10,6 +10,7 @@ import { Hex } from '../scale/Hex.mjs';
|
|
|
10
10
|
import '../scale/fixed-str.mjs';
|
|
11
11
|
import '../scale/Variant.mjs';
|
|
12
12
|
import '../scale/ethAccount.mjs';
|
|
13
|
+
import '../scale/shaped.mjs';
|
|
13
14
|
import { runtimeApi } from './runtime-api.mjs';
|
|
14
15
|
|
|
15
16
|
const extrinsic = Struct({
|
|
@@ -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":"
|
|
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,30 +1,37 @@
|
|
|
1
1
|
import { createCodec, Enum } from 'scale-ts';
|
|
2
2
|
import { mapObject } from '@polkadot-api/utils';
|
|
3
3
|
import { Enum as Enum$1 } from '../../types/enum.mjs';
|
|
4
|
+
import { withInner } from './with-inner.mjs';
|
|
4
5
|
|
|
5
6
|
const VariantEnc = (...args) => {
|
|
6
7
|
const enc = Enum.enc(...args);
|
|
7
|
-
return (v) => enc({ tag: v.type, value: v.value });
|
|
8
|
+
return withInner((v) => enc({ tag: v.type, value: v.value }), args[0]);
|
|
8
9
|
};
|
|
9
10
|
const VariantDec = (...args) => {
|
|
10
11
|
const dec = Enum.dec(...args);
|
|
11
|
-
return (v) => {
|
|
12
|
+
return withInner((v) => {
|
|
12
13
|
const { tag, value } = dec(v);
|
|
13
14
|
return Enum$1(tag, value);
|
|
14
|
-
};
|
|
15
|
+
}, args[0]);
|
|
15
16
|
};
|
|
16
|
-
const Variant = (inner, ...args) =>
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
const Variant = (inner, ...args) => withInner(
|
|
18
|
+
createCodec(
|
|
19
|
+
VariantEnc(
|
|
20
|
+
mapObject(inner, ([encoder]) => encoder),
|
|
21
|
+
...args
|
|
22
|
+
),
|
|
23
|
+
VariantDec(
|
|
24
|
+
mapObject(inner, ([, decoder]) => decoder),
|
|
25
|
+
...args
|
|
26
|
+
)
|
|
20
27
|
),
|
|
21
|
-
|
|
22
|
-
mapObject(inner, ([, decoder]) => decoder),
|
|
23
|
-
...args
|
|
24
|
-
)
|
|
28
|
+
inner
|
|
25
29
|
);
|
|
26
30
|
Variant.enc = VariantEnc;
|
|
27
31
|
Variant.dec = VariantDec;
|
|
32
|
+
const ScaleEnum = (inner, ...args) => withInner(Enum(inner, ...args), inner);
|
|
33
|
+
ScaleEnum.enc = (inner, ...rest) => withInner(Enum.enc(inner, ...rest), inner);
|
|
34
|
+
ScaleEnum.dec = (inner, ...rest) => withInner(Enum.dec(inner, ...rest), inner);
|
|
28
35
|
|
|
29
|
-
export { Variant };
|
|
36
|
+
export { ScaleEnum, Variant };
|
|
30
37
|
//# sourceMappingURL=Variant.mjs.map
|
|
@@ -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
|
|
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 OEnum,\n StringRecord,\n createCodec,\n} from \"scale-ts\"\nimport { mapObject } from \"@polkadot-api/utils\"\nimport { Enum } from \"@/types/enum\"\nimport { withInner } from \"./with-inner\"\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 inner: O,\n x?: RestrictedLenTuple<number, O> | undefined,\n) => Encoder<\n Enum<{\n [K in keyof O]: EncoderType<O[K]>\n }>\n> & { inner: O } = (...args) => {\n const enc = OEnum.enc(...(args as [any, any]))\n return withInner((v: any) => enc({ tag: v.type, value: v.value }), args[0])\n}\n\nconst VariantDec: <O extends StringRecord<Decoder<any>>>(\n inner: O,\n x?: RestrictedLenTuple<number, O> | undefined,\n) => Decoder<\n Enum<{\n [K in keyof O]: DecoderType<O[K]>\n }>\n> & { inner: O } = (...args) => {\n const dec = OEnum.dec(...(args as [any]))\n return withInner((v: any) => {\n const { tag, value } = dec(v)\n return Enum(tag as any, value as any) as any\n }, args[0])\n}\n\nexport const Variant: {\n <O extends StringRecord<Codec<any>>>(\n inner: O,\n indexes?: RestrictedLenTuple<number, O> | undefined,\n ): Codec<\n Enum<{\n [K in keyof O]: CodecType<O[K]>\n }>\n > & { inner: O }\n enc: <O_1 extends StringRecord<Encoder<any>>>(\n inner: O_1,\n x?: RestrictedLenTuple<number, O_1> | undefined,\n ) => Encoder<\n Enum<{\n [K in keyof O_1]: EncoderType<O_1[K]>\n }>\n > & { inner: O_1 }\n dec: <O_2 extends StringRecord<Decoder<any>>>(\n inner: O_2,\n x?: RestrictedLenTuple<number, O_2> | undefined,\n ) => Decoder<\n Enum<{\n [K in keyof O_2]: DecoderType<O_2[K]>\n }>\n > & { inner: O_2 }\n} = (inner, ...args) =>\n withInner(\n createCodec(\n VariantEnc(\n mapObject(inner, ([encoder]) => encoder) as any,\n ...(args as any[]),\n ),\n VariantDec(\n mapObject(inner, ([, decoder]) => decoder) as any,\n ...(args as any[]),\n ) as any,\n ),\n inner,\n ) as any\nVariant.enc = VariantEnc\nVariant.dec = VariantDec\n\nexport const ScaleEnum: {\n <O extends StringRecord<Codec<any>>>(\n inner: O,\n indexes?: RestrictedLenTuple<number, O> | undefined,\n ): Codec<\n {\n [K in keyof O]: {\n tag: K\n value: CodecType<O[K]>\n }\n }[keyof O]\n > & { inner: O }\n enc: <O_1 extends StringRecord<Encoder<any>>>(\n inner: O_1,\n x?: RestrictedLenTuple<number, O_1> | undefined,\n ) => Encoder<\n {\n [K_1 in keyof O_1]: {\n tag: K_1\n value: EncoderType<O_1[K_1]>\n }\n }[keyof O_1]\n > & { inner: O_1 }\n dec: <O_2 extends StringRecord<Decoder<any>>>(\n inner: O_2,\n x?: RestrictedLenTuple<number, O_2> | undefined,\n ) => Decoder<\n {\n [K_2 in keyof O_2]: {\n tag: K_2\n value: DecoderType<O_2[K_2]>\n }\n }[keyof O_2]\n > & { inner: O_2 }\n} = (inner, ...args) => withInner(OEnum(inner, ...(args as any[])), inner)\nScaleEnum.enc = (inner, ...rest) =>\n withInner(OEnum.enc(inner, ...(rest as any[])), inner)\nScaleEnum.dec = (inner, ...rest) =>\n withInner(OEnum.dec(inner, ...(rest as any[])), inner)\n"],"names":["OEnum","Enum"],"mappings":";;;;;AAyCA,MAAM,UAAA,GAOa,IAAI,IAAS,KAAA;AAC9B,EAAA,MAAM,GAAM,GAAAA,IAAA,CAAM,GAAI,CAAA,GAAI,IAAmB,CAAA;AAC7C,EAAA,OAAO,SAAU,CAAA,CAAC,CAAW,KAAA,GAAA,CAAI,EAAE,GAAK,EAAA,CAAA,CAAE,IAAM,EAAA,KAAA,EAAO,EAAE,KAAM,EAAC,CAAG,EAAA,IAAA,CAAK,CAAC,CAAC,CAAA;AAC5E,CAAA;AAEA,MAAM,UAAA,GAOa,IAAI,IAAS,KAAA;AAC9B,EAAA,MAAM,GAAM,GAAAA,IAAA,CAAM,GAAI,CAAA,GAAI,IAAc,CAAA;AACxC,EAAO,OAAA,SAAA,CAAU,CAAC,CAAW,KAAA;AAC3B,IAAA,MAAM,EAAE,GAAA,EAAK,KAAM,EAAA,GAAI,IAAI,CAAC,CAAA;AAC5B,IAAO,OAAAC,MAAA,CAAK,KAAY,KAAY,CAAA;AAAA,GACtC,EAAG,IAAK,CAAA,CAAC,CAAC,CAAA;AACZ,CAAA;AAEa,MAAA,OAAA,GAyBT,CAAC,KAAA,EAAA,GAAU,IACb,KAAA,SAAA;AAAA,EACE,WAAA;AAAA,IACE,UAAA;AAAA,MACE,UAAU,KAAO,EAAA,CAAC,CAAC,OAAO,MAAM,OAAO,CAAA;AAAA,MACvC,GAAI;AAAA,KACN;AAAA,IACA,UAAA;AAAA,MACE,UAAU,KAAO,EAAA,CAAC,GAAG,OAAO,MAAM,OAAO,CAAA;AAAA,MACzC,GAAI;AAAA;AACN,GACF;AAAA,EACA;AACF;AACF,OAAA,CAAQ,GAAM,GAAA,UAAA;AACd,OAAA,CAAQ,GAAM,GAAA,UAAA;AAED,MAAA,SAAA,GAkCT,CAAC,KAAA,EAAA,GAAU,IAAS,KAAA,SAAA,CAAUD,KAAM,KAAO,EAAA,GAAI,IAAc,CAAA,EAAG,KAAK;AACzE,SAAU,CAAA,GAAA,GAAM,CAAC,KAAA,EAAA,GAAU,IACzB,KAAA,SAAA,CAAUA,IAAM,CAAA,GAAA,CAAI,KAAO,EAAA,GAAI,IAAc,CAAA,EAAG,KAAK,CAAA;AACvD,SAAU,CAAA,GAAA,GAAM,CAAC,KAAA,EAAA,GAAU,IACzB,KAAA,SAAA,CAAUA,IAAM,CAAA,GAAA,CAAI,KAAO,EAAA,GAAI,IAAc,CAAA,EAAG,KAAK,CAAA;;;;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Struct as Struct$1, Vector as Vector$1, Tuple as Tuple$1, Result as Result$1, Option as Option$1 } from 'scale-ts';
|
|
2
|
+
import { withInner } from './with-inner.mjs';
|
|
3
|
+
|
|
4
|
+
const Struct = (codecs) => withInner(Struct$1(codecs), codecs);
|
|
5
|
+
Struct.enc = (x) => withInner(Struct$1.enc(x), x);
|
|
6
|
+
Struct.dec = (x) => withInner(Struct$1.dec(x), x);
|
|
7
|
+
const Tuple = (...inner) => withInner(Tuple$1(...inner), inner);
|
|
8
|
+
Tuple.enc = (...inner) => withInner(Tuple$1.enc(...inner), inner);
|
|
9
|
+
Tuple.dec = (...inner) => withInner(Tuple$1.dec(...inner), inner);
|
|
10
|
+
const Vector = (inner, ...rest) => withInner(Vector$1(inner, ...rest), inner);
|
|
11
|
+
Vector.enc = (inner, ...rest) => withInner(Vector$1.enc(inner, ...rest), inner);
|
|
12
|
+
Vector.dec = (inner, ...rest) => withInner(Vector$1.dec(inner, ...rest), inner);
|
|
13
|
+
const Result = (ok, ko) => withInner(Result$1(ok, ko), { ok, ko });
|
|
14
|
+
Result.enc = (ok, ko) => withInner(Result$1.enc(ok, ko), { ok, ko });
|
|
15
|
+
Result.dec = (ok, ko) => withInner(Result$1.dec(ok, ko), { ok, ko });
|
|
16
|
+
const Option = (inner) => withInner(Option$1(inner), inner);
|
|
17
|
+
Option.enc = (inner) => withInner(Option$1.enc(inner), inner);
|
|
18
|
+
Option.dec = (inner) => withInner(Option$1.dec(inner), inner);
|
|
19
|
+
|
|
20
|
+
export { Option, Result, Struct, Tuple, Vector };
|
|
21
|
+
//# sourceMappingURL=shaped.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shaped.mjs","sources":["../../../../src/codecs/scale/shaped.ts"],"sourcesContent":["import {\n Struct as OStruct,\n Tuple as OTuple,\n Vector as OVector,\n Result as OResult,\n Option as OOption,\n Codec,\n Encoder,\n Decoder,\n StringRecord,\n CodecType,\n EncoderType,\n DecoderType,\n ResultPayload,\n} from \"scale-ts\"\nimport { withInner } from \"./with-inner\"\n\nexport const Struct: {\n <A extends StringRecord<Codec<any>>>(\n codecs: A,\n ): Codec<{ [K in keyof A]: CodecType<A[K]> }> & { inner: A }\n enc: <A_1 extends StringRecord<Encoder<any>>>(\n encoders: A_1,\n ) => Encoder<{ [K_1 in keyof A_1]: EncoderType<A_1[K_1]> }> & { inner: A_1 }\n dec: <A_2 extends StringRecord<Decoder<any>>>(\n decoders: A_2,\n ) => Decoder<{ [K_2 in keyof A_2]: DecoderType<A_2[K_2]> }> & { inner: A_2 }\n} = (codecs) => withInner(OStruct(codecs), codecs)\nStruct.enc = (x) => withInner(OStruct.enc(x), x)\nStruct.dec = (x) => withInner(OStruct.dec(x), x)\n\nexport const Tuple: {\n <A extends Codec<any>[]>(\n ...inner: A\n ): Codec<{ [K in keyof A]: A[K] extends Codec<infer D> ? D : unknown }> & {\n inner: A\n }\n enc: <A_1 extends Encoder<any>[]>(\n ...encoders: A_1\n ) => Encoder<{\n [K_1 in keyof A_1]: A_1[K_1] extends Encoder<infer D_1> ? D_1 : unknown\n }> & { inner: A_1 }\n dec: <A_2 extends Decoder<any>[]>(\n ...decoders: A_2\n ) => Decoder<{\n [K_2 in keyof A_2]: A_2[K_2] extends Decoder<infer D_2> ? D_2 : unknown\n }> & { inner: A_2 }\n} = (...inner) => withInner(OTuple(...inner), inner)\nTuple.enc = (...inner) => withInner(OTuple.enc(...inner), inner)\nTuple.dec = (...inner) => withInner(OTuple.dec(...inner), inner)\n\nexport const Vector: {\n <T>(\n inner: Codec<T>,\n size?: number | undefined,\n ): Codec<T[]> & { inner: Codec<T> }\n enc: <T_1>(\n inner: Encoder<T_1>,\n size?: number | undefined,\n ) => Encoder<T_1[]> & { inner: Encoder<T_1> }\n dec: <T_2>(\n getter: Decoder<T_2>,\n size?: number | undefined,\n ) => Decoder<T_2[]> & { inner: Decoder<T_2> }\n} = (inner, ...rest) => withInner(OVector(inner, ...rest), inner)\nVector.enc = (inner, ...rest) => withInner(OVector.enc(inner, ...rest), inner)\nVector.dec = (inner, ...rest) => withInner(OVector.dec(inner, ...rest), inner)\n\nexport const Result: {\n <OK, KO>(\n okCodec: Codec<OK>,\n koCodec: Codec<KO>,\n ): Codec<ResultPayload<OK, KO>> & { inner: { ok: Codec<OK>; ko: Codec<KO> } }\n dec: <OK_1, KO_1>(\n okDecoder: Decoder<OK_1>,\n koDecoder: Decoder<KO_1>,\n ) => Decoder<ResultPayload<OK_1, KO_1>> & {\n inner: { ok: Decoder<OK_1>; ko: Decoder<KO_1> }\n }\n enc: <OK_2, KO_2>(\n okEncoder: Encoder<OK_2>,\n koEncoder: Encoder<KO_2>,\n ) => Encoder<ResultPayload<OK_2, KO_2>> & {\n inner: { ok: Encoder<OK_2>; ko: Encoder<KO_2> }\n }\n} = (ok, ko) => withInner(OResult(ok, ko), { ok, ko })\nResult.enc = (ok, ko) => withInner(OResult.enc(ok, ko), { ok, ko })\nResult.dec = (ok, ko) => withInner(OResult.dec(ok, ko), { ok, ko })\n\nexport const Option: {\n <T>(inner: Codec<T>): Codec<T | undefined> & { inner: Codec<T> }\n enc: <T_1>(\n inner: Encoder<T_1>,\n ) => Encoder<T_1 | undefined> & { inner: Encoder<T_1> }\n dec: <T_2>(\n inner: Decoder<T_2>,\n ) => Decoder<T_2 | undefined> & { inner: Decoder<T_2> }\n} = (inner) => withInner(OOption(inner), inner)\nOption.enc = (inner) => withInner(OOption.enc(inner), inner)\nOption.dec = (inner) => withInner(OOption.dec(inner), inner)\n"],"names":["OStruct","OTuple","OVector","OResult","OOption"],"mappings":";;;AAiBO,MAAM,SAUT,CAAC,MAAA,KAAW,UAAUA,QAAQ,CAAA,MAAM,GAAG,MAAM;AACjD,MAAO,CAAA,GAAA,GAAM,CAAC,CAAM,KAAA,SAAA,CAAUA,SAAQ,GAAI,CAAA,CAAC,GAAG,CAAC,CAAA;AAC/C,MAAO,CAAA,GAAA,GAAM,CAAC,CAAM,KAAA,SAAA,CAAUA,SAAQ,GAAI,CAAA,CAAC,GAAG,CAAC,CAAA;AAElC,MAAA,KAAA,GAgBT,IAAI,KAAU,KAAA,SAAA,CAAUC,QAAO,GAAG,KAAK,GAAG,KAAK;AACnD,KAAM,CAAA,GAAA,GAAM,IAAI,KAAU,KAAA,SAAA,CAAUA,QAAO,GAAI,CAAA,GAAG,KAAK,CAAA,EAAG,KAAK,CAAA;AAC/D,KAAM,CAAA,GAAA,GAAM,IAAI,KAAU,KAAA,SAAA,CAAUA,QAAO,GAAI,CAAA,GAAG,KAAK,CAAA,EAAG,KAAK,CAAA;AAElD,MAAA,MAAA,GAaT,CAAC,KAAA,EAAA,GAAU,IAAS,KAAA,SAAA,CAAUC,SAAQ,KAAO,EAAA,GAAG,IAAI,CAAA,EAAG,KAAK;AAChE,MAAO,CAAA,GAAA,GAAM,CAAC,KAAA,EAAA,GAAU,IAAS,KAAA,SAAA,CAAUA,QAAQ,CAAA,GAAA,CAAI,KAAO,EAAA,GAAG,IAAI,CAAA,EAAG,KAAK,CAAA;AAC7E,MAAO,CAAA,GAAA,GAAM,CAAC,KAAA,EAAA,GAAU,IAAS,KAAA,SAAA,CAAUA,QAAQ,CAAA,GAAA,CAAI,KAAO,EAAA,GAAG,IAAI,CAAA,EAAG,KAAK,CAAA;AAEtE,MAAM,MAiBT,GAAA,CAAC,EAAI,EAAA,EAAA,KAAO,SAAU,CAAAC,QAAA,CAAQ,EAAI,EAAA,EAAE,CAAG,EAAA,EAAE,EAAI,EAAA,EAAA,EAAI;AACrD,MAAA,CAAO,GAAM,GAAA,CAAC,EAAI,EAAA,EAAA,KAAO,SAAU,CAAAA,QAAA,CAAQ,GAAI,CAAA,EAAA,EAAI,EAAE,CAAA,EAAG,EAAE,EAAA,EAAI,IAAI,CAAA;AAClE,MAAA,CAAO,GAAM,GAAA,CAAC,EAAI,EAAA,EAAA,KAAO,SAAU,CAAAA,QAAA,CAAQ,GAAI,CAAA,EAAA,EAAI,EAAE,CAAA,EAAG,EAAE,EAAA,EAAI,IAAI,CAAA;AAE3D,MAAM,SAQT,CAAC,KAAA,KAAU,UAAUC,QAAQ,CAAA,KAAK,GAAG,KAAK;AAC9C,MAAO,CAAA,GAAA,GAAM,CAAC,KAAU,KAAA,SAAA,CAAUA,SAAQ,GAAI,CAAA,KAAK,GAAG,KAAK,CAAA;AAC3D,MAAO,CAAA,GAAA,GAAM,CAAC,KAAU,KAAA,SAAA,CAAUA,SAAQ,GAAI,CAAA,KAAK,GAAG,KAAK,CAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-inner.mjs","sources":["../../../../src/codecs/scale/with-inner.ts"],"sourcesContent":["export const withInner = <T, I>(codec: T, inner: I): T & { inner: I } => {\n const result: T & { inner: I } = codec as any\n result.inner = inner\n return result\n}\n"],"names":[],"mappings":"AAAa,MAAA,SAAA,GAAY,CAAO,KAAA,EAAU,KAA+B,KAAA;AACvE,EAAA,MAAM,MAA2B,GAAA,KAAA;AACjC,EAAA,MAAA,CAAO,KAAQ,GAAA,KAAA;AACf,EAAO,OAAA,MAAA;AACT;;;;"}
|
package/dist/esm/index.mjs
CHANGED
|
@@ -5,10 +5,11 @@ export { char } from './codecs/scale/char.mjs';
|
|
|
5
5
|
export { compactBn, compactNumber } from './codecs/scale/compact.mjs';
|
|
6
6
|
export { Hex } from './codecs/scale/Hex.mjs';
|
|
7
7
|
export { fixedStr } from './codecs/scale/fixed-str.mjs';
|
|
8
|
-
export { Bytes,
|
|
8
|
+
export { Bytes, _void, bool, compact, createCodec, createDecoder, enhanceCodec, enhanceDecoder, enhanceEncoder, i128, i16, i256, i32, i64, i8, str, u128, u16, u256, u32, u64, u8 } from 'scale-ts';
|
|
9
9
|
export { Self, selfDecoder, selfEncoder } from './codecs/scale/Self.mjs';
|
|
10
|
-
export { Variant } from './codecs/scale/Variant.mjs';
|
|
10
|
+
export { ScaleEnum, Variant } from './codecs/scale/Variant.mjs';
|
|
11
11
|
export { ethAccount } from './codecs/scale/ethAccount.mjs';
|
|
12
|
+
export { Option, Result, Struct, Tuple, Vector } from './codecs/scale/shaped.mjs';
|
|
12
13
|
export { blockHeader } from './codecs/blockHeader.mjs';
|
|
13
14
|
export { decAnyMetadata, metadata } from './codecs/metadata/metadata.mjs';
|
|
14
15
|
export { v14 } from './codecs/metadata/v14.mjs';
|
package/dist/esm/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -9,6 +9,7 @@ import '../codecs/scale/Hex.mjs';
|
|
|
9
9
|
import '../codecs/scale/fixed-str.mjs';
|
|
10
10
|
import '../codecs/scale/Variant.mjs';
|
|
11
11
|
import '../codecs/scale/ethAccount.mjs';
|
|
12
|
+
import '../codecs/scale/shaped.mjs';
|
|
12
13
|
import '../codecs/blockHeader.mjs';
|
|
13
14
|
import '../codecs/metadata/metadata.mjs';
|
|
14
15
|
import '../codecs/metadata/v14.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multisig.mjs","sources":["../../../src/utils/multisig.ts"],"sourcesContent":["import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { Binary, compact, u16 } from \"../codecs\"\nimport { Blake2256 } from \"../hashes\"\n\nconst PREFIX = Binary.fromText(\"modlpy/utilisuba\").asBytes()\nexport const getMultisigAccountId = ({\n threshold,\n signatories,\n}: {\n threshold: number\n signatories: Uint8Array[]\n}) => {\n const sortedSignatories = sortMultisigSignatories(signatories)\n const payload = mergeUint8(\n PREFIX,\n compact.enc(sortedSignatories.length),\n ...sortedSignatories,\n u16.enc(threshold),\n )\n return Blake2256(payload)\n}\n\nexport const sortMultisigSignatories = (signatories: Uint8Array[]) =>\n signatories.slice().sort((a, b) => {\n for (let i = 0; ; i++) {\n const overA = i >= a.length\n const overB = i >= b.length\n\n if (overA && overB) return 0\n else if (overA) return -1\n else if (overB) return 1\n else if (a[i] !== b[i]) return a[i] > b[i] ? 1 : -1\n }\n })\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"multisig.mjs","sources":["../../../src/utils/multisig.ts"],"sourcesContent":["import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { Binary, compact, u16 } from \"../codecs\"\nimport { Blake2256 } from \"../hashes\"\n\nconst PREFIX = Binary.fromText(\"modlpy/utilisuba\").asBytes()\nexport const getMultisigAccountId = ({\n threshold,\n signatories,\n}: {\n threshold: number\n signatories: Uint8Array[]\n}) => {\n const sortedSignatories = sortMultisigSignatories(signatories)\n const payload = mergeUint8(\n PREFIX,\n compact.enc(sortedSignatories.length),\n ...sortedSignatories,\n u16.enc(threshold),\n )\n return Blake2256(payload)\n}\n\nexport const sortMultisigSignatories = (signatories: Uint8Array[]) =>\n signatories.slice().sort((a, b) => {\n for (let i = 0; ; i++) {\n const overA = i >= a.length\n const overB = i >= b.length\n\n if (overA && overB) return 0\n else if (overA) return -1\n else if (overB) return 1\n else if (a[i] !== b[i]) return a[i] > b[i] ? 1 : -1\n }\n })\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAIA,MAAM,MAAS,GAAA,MAAA,CAAO,QAAS,CAAA,kBAAkB,EAAE,OAAQ,EAAA;AACpD,MAAM,uBAAuB,CAAC;AAAA,EACnC,SAAA;AAAA,EACA;AACF,CAGM,KAAA;AACJ,EAAM,MAAA,iBAAA,GAAoB,wBAAwB,WAAW,CAAA;AAC7D,EAAA,MAAM,OAAU,GAAA,UAAA;AAAA,IACd,MAAA;AAAA,IACA,OAAA,CAAQ,GAAI,CAAA,iBAAA,CAAkB,MAAM,CAAA;AAAA,IACpC,GAAG,iBAAA;AAAA,IACH,GAAA,CAAI,IAAI,SAAS;AAAA,GACnB;AACA,EAAA,OAAO,UAAU,OAAO,CAAA;AAC1B;AAEa,MAAA,uBAAA,GAA0B,CAAC,WACtC,KAAA,WAAA,CAAY,OAAQ,CAAA,IAAA,CAAK,CAAC,CAAA,EAAG,CAAM,KAAA;AACjC,EAAS,KAAA,IAAA,CAAA,GAAI,KAAK,CAAK,EAAA,EAAA;AACrB,IAAM,MAAA,KAAA,GAAQ,KAAK,CAAE,CAAA,MAAA;AACrB,IAAM,MAAA,KAAA,GAAQ,KAAK,CAAE,CAAA,MAAA;AAErB,IAAI,IAAA,KAAA,IAAS,OAAc,OAAA,CAAA;AAAA,SAAA,IAClB,OAAc,OAAA,EAAA;AAAA,SAAA,IACd,OAAc,OAAA,CAAA;AAAA,SAAA,IACd,CAAE,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,CAAC,CAAA,EAAU,OAAA,CAAA,CAAE,CAAC,CAAA,GAAI,CAAE,CAAA,CAAC,IAAI,CAAI,GAAA,EAAA;AAAA;AAErD,CAAC;;;;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as scale_ts from 'scale-ts';
|
|
2
|
-
import { Codec, Encoder, Decoder, StringRecord, CodecType, EncoderType, DecoderType } from 'scale-ts';
|
|
3
|
-
export { Bytes, Codec, CodecType, Decoder, DecoderType, Encoder, EncoderType,
|
|
2
|
+
import { Codec, Encoder, Decoder, StringRecord, CodecType, EncoderType, DecoderType, ResultPayload } from 'scale-ts';
|
|
3
|
+
export { Bytes, Codec, CodecType, Decoder, DecoderType, Encoder, EncoderType, ResultPayload, StringRecord, _void, bool, compact, createCodec, createDecoder, enhanceCodec, enhanceDecoder, enhanceEncoder, i128, i16, i256, i32, i64, i8, str, u128, u16, u256, u32, u64, u8 } from 'scale-ts';
|
|
4
4
|
|
|
5
5
|
type SS58String = string & {
|
|
6
6
|
__SS58String?: unknown;
|
|
@@ -117,23 +117,138 @@ type GetEnum<T extends Enum<any>> = {
|
|
|
117
117
|
};
|
|
118
118
|
declare const _Enum: {};
|
|
119
119
|
|
|
120
|
-
type Tuple<T, N extends number> = readonly [T, ...T[]] & {
|
|
120
|
+
type Tuple$1<T, N extends number> = readonly [T, ...T[]] & {
|
|
121
121
|
length: N;
|
|
122
122
|
};
|
|
123
123
|
type Push<T extends any[], V> = [...T, V];
|
|
124
124
|
type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
|
|
125
125
|
type LastOf<T> = UnionToIntersection<T extends any ? () => T : never> extends () => infer R ? R : never;
|
|
126
126
|
type TuplifyUnion<T, L = LastOf<T>, N = [T] extends [never] ? true : false> = true extends N ? [] : Push<TuplifyUnion<Exclude<T, L>>, L>;
|
|
127
|
-
type RestrictedLenTuple<T, O extends StringRecord<any>> = Tuple<T, TuplifyUnion<keyof O> extends Tuple<any, infer V> ? V : 0>;
|
|
127
|
+
type RestrictedLenTuple<T, O extends StringRecord<any>> = Tuple$1<T, TuplifyUnion<keyof O> extends Tuple$1<any, infer V> ? V : 0>;
|
|
128
128
|
declare const Variant: {
|
|
129
|
-
<O extends StringRecord<Codec<any>>>(inner: O, indexes?: RestrictedLenTuple<number, O> | undefined): Codec<Enum<{
|
|
130
|
-
|
|
131
|
-
|
|
129
|
+
<O extends StringRecord<Codec<any>>>(inner: O, indexes?: RestrictedLenTuple<number, O> | undefined): Codec<Enum<{
|
|
130
|
+
[K in keyof O]: CodecType<O[K]>;
|
|
131
|
+
}>> & {
|
|
132
|
+
inner: O;
|
|
133
|
+
};
|
|
134
|
+
enc: <O_1 extends StringRecord<Encoder<any>>>(inner: O_1, x?: RestrictedLenTuple<number, O_1> | undefined) => Encoder<Enum<{
|
|
135
|
+
[K in keyof O_1]: EncoderType<O_1[K]>;
|
|
136
|
+
}>> & {
|
|
137
|
+
inner: O_1;
|
|
138
|
+
};
|
|
139
|
+
dec: <O_2 extends StringRecord<Decoder<any>>>(inner: O_2, x?: RestrictedLenTuple<number, O_2> | undefined) => Decoder<Enum<{
|
|
140
|
+
[K in keyof O_2]: DecoderType<O_2[K]>;
|
|
141
|
+
}>> & {
|
|
142
|
+
inner: O_2;
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
declare const ScaleEnum: {
|
|
146
|
+
<O extends StringRecord<Codec<any>>>(inner: O, indexes?: RestrictedLenTuple<number, O> | undefined): Codec<{
|
|
147
|
+
[K in keyof O]: {
|
|
148
|
+
tag: K;
|
|
149
|
+
value: CodecType<O[K]>;
|
|
150
|
+
};
|
|
151
|
+
}[keyof O]> & {
|
|
152
|
+
inner: O;
|
|
153
|
+
};
|
|
154
|
+
enc: <O_1 extends StringRecord<Encoder<any>>>(inner: O_1, x?: RestrictedLenTuple<number, O_1> | undefined) => Encoder<{
|
|
155
|
+
[K_1 in keyof O_1]: {
|
|
156
|
+
tag: K_1;
|
|
157
|
+
value: EncoderType<O_1[K_1]>;
|
|
158
|
+
};
|
|
159
|
+
}[keyof O_1]> & {
|
|
160
|
+
inner: O_1;
|
|
161
|
+
};
|
|
162
|
+
dec: <O_2 extends StringRecord<Decoder<any>>>(inner: O_2, x?: RestrictedLenTuple<number, O_2> | undefined) => Decoder<{
|
|
163
|
+
[K_2 in keyof O_2]: {
|
|
164
|
+
tag: K_2;
|
|
165
|
+
value: DecoderType<O_2[K_2]>;
|
|
166
|
+
};
|
|
167
|
+
}[keyof O_2]> & {
|
|
168
|
+
inner: O_2;
|
|
169
|
+
};
|
|
132
170
|
};
|
|
133
171
|
|
|
134
172
|
declare const ethAccount: scale_ts.Codec<string>;
|
|
135
173
|
|
|
136
|
-
declare const
|
|
174
|
+
declare const Struct: {
|
|
175
|
+
<A extends StringRecord<Codec<any>>>(codecs: A): Codec<{
|
|
176
|
+
[K in keyof A]: CodecType<A[K]>;
|
|
177
|
+
}> & {
|
|
178
|
+
inner: A;
|
|
179
|
+
};
|
|
180
|
+
enc: <A_1 extends StringRecord<Encoder<any>>>(encoders: A_1) => Encoder<{
|
|
181
|
+
[K_1 in keyof A_1]: EncoderType<A_1[K_1]>;
|
|
182
|
+
}> & {
|
|
183
|
+
inner: A_1;
|
|
184
|
+
};
|
|
185
|
+
dec: <A_2 extends StringRecord<Decoder<any>>>(decoders: A_2) => Decoder<{
|
|
186
|
+
[K_2 in keyof A_2]: DecoderType<A_2[K_2]>;
|
|
187
|
+
}> & {
|
|
188
|
+
inner: A_2;
|
|
189
|
+
};
|
|
190
|
+
};
|
|
191
|
+
declare const Tuple: {
|
|
192
|
+
<A extends Codec<any>[]>(...inner: A): Codec<{
|
|
193
|
+
[K in keyof A]: A[K] extends Codec<infer D> ? D : unknown;
|
|
194
|
+
}> & {
|
|
195
|
+
inner: A;
|
|
196
|
+
};
|
|
197
|
+
enc: <A_1 extends Encoder<any>[]>(...encoders: A_1) => Encoder<{
|
|
198
|
+
[K_1 in keyof A_1]: A_1[K_1] extends Encoder<infer D_1> ? D_1 : unknown;
|
|
199
|
+
}> & {
|
|
200
|
+
inner: A_1;
|
|
201
|
+
};
|
|
202
|
+
dec: <A_2 extends Decoder<any>[]>(...decoders: A_2) => Decoder<{
|
|
203
|
+
[K_2 in keyof A_2]: A_2[K_2] extends Decoder<infer D_2> ? D_2 : unknown;
|
|
204
|
+
}> & {
|
|
205
|
+
inner: A_2;
|
|
206
|
+
};
|
|
207
|
+
};
|
|
208
|
+
declare const Vector: {
|
|
209
|
+
<T>(inner: Codec<T>, size?: number | undefined): Codec<T[]> & {
|
|
210
|
+
inner: Codec<T>;
|
|
211
|
+
};
|
|
212
|
+
enc: <T_1>(inner: Encoder<T_1>, size?: number | undefined) => Encoder<T_1[]> & {
|
|
213
|
+
inner: Encoder<T_1>;
|
|
214
|
+
};
|
|
215
|
+
dec: <T_2>(getter: Decoder<T_2>, size?: number | undefined) => Decoder<T_2[]> & {
|
|
216
|
+
inner: Decoder<T_2>;
|
|
217
|
+
};
|
|
218
|
+
};
|
|
219
|
+
declare const Result: {
|
|
220
|
+
<OK, KO>(okCodec: Codec<OK>, koCodec: Codec<KO>): Codec<ResultPayload<OK, KO>> & {
|
|
221
|
+
inner: {
|
|
222
|
+
ok: Codec<OK>;
|
|
223
|
+
ko: Codec<KO>;
|
|
224
|
+
};
|
|
225
|
+
};
|
|
226
|
+
dec: <OK_1, KO_1>(okDecoder: Decoder<OK_1>, koDecoder: Decoder<KO_1>) => Decoder<ResultPayload<OK_1, KO_1>> & {
|
|
227
|
+
inner: {
|
|
228
|
+
ok: Decoder<OK_1>;
|
|
229
|
+
ko: Decoder<KO_1>;
|
|
230
|
+
};
|
|
231
|
+
};
|
|
232
|
+
enc: <OK_2, KO_2>(okEncoder: Encoder<OK_2>, koEncoder: Encoder<KO_2>) => Encoder<ResultPayload<OK_2, KO_2>> & {
|
|
233
|
+
inner: {
|
|
234
|
+
ok: Encoder<OK_2>;
|
|
235
|
+
ko: Encoder<KO_2>;
|
|
236
|
+
};
|
|
237
|
+
};
|
|
238
|
+
};
|
|
239
|
+
declare const Option: {
|
|
240
|
+
<T>(inner: Codec<T>): Codec<T | undefined> & {
|
|
241
|
+
inner: Codec<T>;
|
|
242
|
+
};
|
|
243
|
+
enc: <T_1>(inner: Encoder<T_1>) => Encoder<T_1 | undefined> & {
|
|
244
|
+
inner: Encoder<T_1>;
|
|
245
|
+
};
|
|
246
|
+
dec: <T_2>(inner: Decoder<T_2>) => Decoder<T_2 | undefined> & {
|
|
247
|
+
inner: Decoder<T_2>;
|
|
248
|
+
};
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
declare const blockHeader: [scale_ts.Encoder<{
|
|
137
252
|
parentHash: HexString;
|
|
138
253
|
number: number;
|
|
139
254
|
stateRoot: HexString;
|
|
@@ -153,7 +268,153 @@ declare const blockHeader: scale_ts.Codec<{
|
|
|
153
268
|
};
|
|
154
269
|
runtimeUpdated: undefined;
|
|
155
270
|
}>[];
|
|
156
|
-
}
|
|
271
|
+
}>, scale_ts.Decoder<{
|
|
272
|
+
parentHash: HexString;
|
|
273
|
+
number: number;
|
|
274
|
+
stateRoot: HexString;
|
|
275
|
+
extrinsicRoot: HexString;
|
|
276
|
+
digests: Enum<{
|
|
277
|
+
consensus: {
|
|
278
|
+
engine: string;
|
|
279
|
+
payload: HexString;
|
|
280
|
+
};
|
|
281
|
+
seal: {
|
|
282
|
+
engine: string;
|
|
283
|
+
payload: HexString;
|
|
284
|
+
};
|
|
285
|
+
preRuntime: {
|
|
286
|
+
engine: string;
|
|
287
|
+
payload: HexString;
|
|
288
|
+
};
|
|
289
|
+
runtimeUpdated: undefined;
|
|
290
|
+
}>[];
|
|
291
|
+
}>] & {
|
|
292
|
+
enc: scale_ts.Encoder<{
|
|
293
|
+
parentHash: HexString;
|
|
294
|
+
number: number;
|
|
295
|
+
stateRoot: HexString;
|
|
296
|
+
extrinsicRoot: HexString;
|
|
297
|
+
digests: Enum<{
|
|
298
|
+
consensus: {
|
|
299
|
+
engine: string;
|
|
300
|
+
payload: HexString;
|
|
301
|
+
};
|
|
302
|
+
seal: {
|
|
303
|
+
engine: string;
|
|
304
|
+
payload: HexString;
|
|
305
|
+
};
|
|
306
|
+
preRuntime: {
|
|
307
|
+
engine: string;
|
|
308
|
+
payload: HexString;
|
|
309
|
+
};
|
|
310
|
+
runtimeUpdated: undefined;
|
|
311
|
+
}>[];
|
|
312
|
+
}>;
|
|
313
|
+
dec: scale_ts.Decoder<{
|
|
314
|
+
parentHash: HexString;
|
|
315
|
+
number: number;
|
|
316
|
+
stateRoot: HexString;
|
|
317
|
+
extrinsicRoot: HexString;
|
|
318
|
+
digests: Enum<{
|
|
319
|
+
consensus: {
|
|
320
|
+
engine: string;
|
|
321
|
+
payload: HexString;
|
|
322
|
+
};
|
|
323
|
+
seal: {
|
|
324
|
+
engine: string;
|
|
325
|
+
payload: HexString;
|
|
326
|
+
};
|
|
327
|
+
preRuntime: {
|
|
328
|
+
engine: string;
|
|
329
|
+
payload: HexString;
|
|
330
|
+
};
|
|
331
|
+
runtimeUpdated: undefined;
|
|
332
|
+
}>[];
|
|
333
|
+
}>;
|
|
334
|
+
} & {
|
|
335
|
+
inner: {
|
|
336
|
+
parentHash: scale_ts.Codec<HexString>;
|
|
337
|
+
number: scale_ts.Codec<number>;
|
|
338
|
+
stateRoot: scale_ts.Codec<HexString>;
|
|
339
|
+
extrinsicRoot: scale_ts.Codec<HexString>;
|
|
340
|
+
digests: [scale_ts.Encoder<Enum<{
|
|
341
|
+
consensus: {
|
|
342
|
+
engine: string;
|
|
343
|
+
payload: HexString;
|
|
344
|
+
};
|
|
345
|
+
seal: {
|
|
346
|
+
engine: string;
|
|
347
|
+
payload: HexString;
|
|
348
|
+
};
|
|
349
|
+
preRuntime: {
|
|
350
|
+
engine: string;
|
|
351
|
+
payload: HexString;
|
|
352
|
+
};
|
|
353
|
+
runtimeUpdated: undefined;
|
|
354
|
+
}>[]>, scale_ts.Decoder<Enum<{
|
|
355
|
+
consensus: {
|
|
356
|
+
engine: string;
|
|
357
|
+
payload: HexString;
|
|
358
|
+
};
|
|
359
|
+
seal: {
|
|
360
|
+
engine: string;
|
|
361
|
+
payload: HexString;
|
|
362
|
+
};
|
|
363
|
+
preRuntime: {
|
|
364
|
+
engine: string;
|
|
365
|
+
payload: HexString;
|
|
366
|
+
};
|
|
367
|
+
runtimeUpdated: undefined;
|
|
368
|
+
}>[]>] & {
|
|
369
|
+
enc: scale_ts.Encoder<Enum<{
|
|
370
|
+
consensus: {
|
|
371
|
+
engine: string;
|
|
372
|
+
payload: HexString;
|
|
373
|
+
};
|
|
374
|
+
seal: {
|
|
375
|
+
engine: string;
|
|
376
|
+
payload: HexString;
|
|
377
|
+
};
|
|
378
|
+
preRuntime: {
|
|
379
|
+
engine: string;
|
|
380
|
+
payload: HexString;
|
|
381
|
+
};
|
|
382
|
+
runtimeUpdated: undefined;
|
|
383
|
+
}>[]>;
|
|
384
|
+
dec: scale_ts.Decoder<Enum<{
|
|
385
|
+
consensus: {
|
|
386
|
+
engine: string;
|
|
387
|
+
payload: HexString;
|
|
388
|
+
};
|
|
389
|
+
seal: {
|
|
390
|
+
engine: string;
|
|
391
|
+
payload: HexString;
|
|
392
|
+
};
|
|
393
|
+
preRuntime: {
|
|
394
|
+
engine: string;
|
|
395
|
+
payload: HexString;
|
|
396
|
+
};
|
|
397
|
+
runtimeUpdated: undefined;
|
|
398
|
+
}>[]>;
|
|
399
|
+
} & {
|
|
400
|
+
inner: scale_ts.Codec<Enum<{
|
|
401
|
+
consensus: {
|
|
402
|
+
engine: string;
|
|
403
|
+
payload: HexString;
|
|
404
|
+
};
|
|
405
|
+
seal: {
|
|
406
|
+
engine: string;
|
|
407
|
+
payload: HexString;
|
|
408
|
+
};
|
|
409
|
+
preRuntime: {
|
|
410
|
+
engine: string;
|
|
411
|
+
payload: HexString;
|
|
412
|
+
};
|
|
413
|
+
runtimeUpdated: undefined;
|
|
414
|
+
}>>;
|
|
415
|
+
};
|
|
416
|
+
};
|
|
417
|
+
};
|
|
157
418
|
type BlockHeader = CodecType<typeof blockHeader>;
|
|
158
419
|
|
|
159
420
|
declare const metadata: Codec<{
|
|
@@ -1105,4 +1366,5 @@ declare const Storage: (pallet: string) => <A extends Array<EncoderWithHash<any>
|
|
|
1105
1366
|
dec: (value: string) => { [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown; };
|
|
1106
1367
|
};
|
|
1107
1368
|
|
|
1108
|
-
export { AccountId, Bin, Binary,
|
|
1369
|
+
export { AccountId, Bin, Binary, Blake2128, Blake2128Concat, Blake2256, Blake3256, Blake3256Concat, Enum, FixedSizeBinary, Hex, Identity, Option, Result, ScaleEnum, Self, Storage, Struct, Tuple, Twox128, Twox256, Twox64Concat, Variant, Vector, _Enum, bitSequence, blockHeader, char, compactBn, compactNumber, decAnyMetadata, ethAccount, fixedStr, fromBufferToBase58, getMultisigAccountId, getSs58AddressInfo, h64, metadata, selfDecoder, selfEncoder, sortMultisigSignatories, v14, lookup as v14Lookup, v15 };
|
|
1370
|
+
export type { BitSequence, BlockHeader, EncoderWithHash, EnumVariant, ExtractEnumValue, GetEnum, HexString, OpaqueKeyHash, SS58AddressInfo, SS58String, V14, V14Extrinsic, V14Lookup, V15, V15Extrinsic };
|
package/dist/index.js
CHANGED
|
@@ -258,29 +258,41 @@ const _Enum = new Proxy(
|
|
|
258
258
|
}
|
|
259
259
|
);
|
|
260
260
|
|
|
261
|
+
const withInner = (codec, inner) => {
|
|
262
|
+
const result = codec;
|
|
263
|
+
result.inner = inner;
|
|
264
|
+
return result;
|
|
265
|
+
};
|
|
266
|
+
|
|
261
267
|
const VariantEnc = (...args) => {
|
|
262
268
|
const enc = scaleTs.Enum.enc(...args);
|
|
263
|
-
return (v) => enc({ tag: v.type, value: v.value });
|
|
269
|
+
return withInner((v) => enc({ tag: v.type, value: v.value }), args[0]);
|
|
264
270
|
};
|
|
265
271
|
const VariantDec = (...args) => {
|
|
266
272
|
const dec = scaleTs.Enum.dec(...args);
|
|
267
|
-
return (v) => {
|
|
273
|
+
return withInner((v) => {
|
|
268
274
|
const { tag, value } = dec(v);
|
|
269
275
|
return Enum(tag, value);
|
|
270
|
-
};
|
|
276
|
+
}, args[0]);
|
|
271
277
|
};
|
|
272
|
-
const Variant = (inner, ...args) =>
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
278
|
+
const Variant = (inner, ...args) => withInner(
|
|
279
|
+
scaleTs.createCodec(
|
|
280
|
+
VariantEnc(
|
|
281
|
+
utils.mapObject(inner, ([encoder]) => encoder),
|
|
282
|
+
...args
|
|
283
|
+
),
|
|
284
|
+
VariantDec(
|
|
285
|
+
utils.mapObject(inner, ([, decoder]) => decoder),
|
|
286
|
+
...args
|
|
287
|
+
)
|
|
276
288
|
),
|
|
277
|
-
|
|
278
|
-
utils.mapObject(inner, ([, decoder]) => decoder),
|
|
279
|
-
...args
|
|
280
|
-
)
|
|
289
|
+
inner
|
|
281
290
|
);
|
|
282
291
|
Variant.enc = VariantEnc;
|
|
283
292
|
Variant.dec = VariantDec;
|
|
293
|
+
const ScaleEnum = (inner, ...args) => withInner(scaleTs.Enum(inner, ...args), inner);
|
|
294
|
+
ScaleEnum.enc = (inner, ...rest) => withInner(scaleTs.Enum.enc(inner, ...rest), inner);
|
|
295
|
+
ScaleEnum.dec = (inner, ...rest) => withInner(scaleTs.Enum.dec(inner, ...rest), inner);
|
|
284
296
|
|
|
285
297
|
const getFormattedAddress = (hexAddress) => {
|
|
286
298
|
const nonChecksum = hexAddress.slice(2);
|
|
@@ -308,6 +320,22 @@ const ethAccount = scaleTs.createCodec(
|
|
|
308
320
|
scaleTs.createDecoder((bytes) => getFormattedAddress(utils.toHex(bytes20Dec(bytes))))
|
|
309
321
|
);
|
|
310
322
|
|
|
323
|
+
const Struct = (codecs) => withInner(scaleTs.Struct(codecs), codecs);
|
|
324
|
+
Struct.enc = (x) => withInner(scaleTs.Struct.enc(x), x);
|
|
325
|
+
Struct.dec = (x) => withInner(scaleTs.Struct.dec(x), x);
|
|
326
|
+
const Tuple = (...inner) => withInner(scaleTs.Tuple(...inner), inner);
|
|
327
|
+
Tuple.enc = (...inner) => withInner(scaleTs.Tuple.enc(...inner), inner);
|
|
328
|
+
Tuple.dec = (...inner) => withInner(scaleTs.Tuple.dec(...inner), inner);
|
|
329
|
+
const Vector = (inner, ...rest) => withInner(scaleTs.Vector(inner, ...rest), inner);
|
|
330
|
+
Vector.enc = (inner, ...rest) => withInner(scaleTs.Vector.enc(inner, ...rest), inner);
|
|
331
|
+
Vector.dec = (inner, ...rest) => withInner(scaleTs.Vector.dec(inner, ...rest), inner);
|
|
332
|
+
const Result = (ok, ko) => withInner(scaleTs.Result(ok, ko), { ok, ko });
|
|
333
|
+
Result.enc = (ok, ko) => withInner(scaleTs.Result.enc(ok, ko), { ok, ko });
|
|
334
|
+
Result.dec = (ok, ko) => withInner(scaleTs.Result.dec(ok, ko), { ok, ko });
|
|
335
|
+
const Option = (inner) => withInner(scaleTs.Option(inner), inner);
|
|
336
|
+
Option.enc = (inner) => withInner(scaleTs.Option.enc(inner), inner);
|
|
337
|
+
Option.dec = (inner) => withInner(scaleTs.Option.dec(inner), inner);
|
|
338
|
+
|
|
311
339
|
const textEncoder$1 = new TextEncoder();
|
|
312
340
|
const textDecoder = new TextDecoder();
|
|
313
341
|
const fourChars = scaleTs.enhanceCodec(
|
|
@@ -315,7 +343,7 @@ const fourChars = scaleTs.enhanceCodec(
|
|
|
315
343
|
textEncoder$1.encode.bind(textEncoder$1),
|
|
316
344
|
textDecoder.decode.bind(textDecoder)
|
|
317
345
|
);
|
|
318
|
-
const diggestVal =
|
|
346
|
+
const diggestVal = Struct({
|
|
319
347
|
engine: fourChars,
|
|
320
348
|
payload: Hex()
|
|
321
349
|
});
|
|
@@ -329,12 +357,12 @@ const diggest = Variant(
|
|
|
329
357
|
[4, 5, 6, 8]
|
|
330
358
|
);
|
|
331
359
|
const hex32 = Hex(32);
|
|
332
|
-
const blockHeader =
|
|
360
|
+
const blockHeader = Struct({
|
|
333
361
|
parentHash: hex32,
|
|
334
362
|
number: compactNumber,
|
|
335
363
|
stateRoot: hex32,
|
|
336
364
|
extrinsicRoot: hex32,
|
|
337
|
-
digests:
|
|
365
|
+
digests: Vector(diggest)
|
|
338
366
|
});
|
|
339
367
|
|
|
340
368
|
const docs = scaleTs.Vector(scaleTs.str);
|
|
@@ -822,30 +850,6 @@ Object.defineProperty(exports, "Bytes", {
|
|
|
822
850
|
enumerable: true,
|
|
823
851
|
get: function () { return scaleTs.Bytes; }
|
|
824
852
|
});
|
|
825
|
-
Object.defineProperty(exports, "Option", {
|
|
826
|
-
enumerable: true,
|
|
827
|
-
get: function () { return scaleTs.Option; }
|
|
828
|
-
});
|
|
829
|
-
Object.defineProperty(exports, "Result", {
|
|
830
|
-
enumerable: true,
|
|
831
|
-
get: function () { return scaleTs.Result; }
|
|
832
|
-
});
|
|
833
|
-
Object.defineProperty(exports, "ScaleEnum", {
|
|
834
|
-
enumerable: true,
|
|
835
|
-
get: function () { return scaleTs.Enum; }
|
|
836
|
-
});
|
|
837
|
-
Object.defineProperty(exports, "Struct", {
|
|
838
|
-
enumerable: true,
|
|
839
|
-
get: function () { return scaleTs.Struct; }
|
|
840
|
-
});
|
|
841
|
-
Object.defineProperty(exports, "Tuple", {
|
|
842
|
-
enumerable: true,
|
|
843
|
-
get: function () { return scaleTs.Tuple; }
|
|
844
|
-
});
|
|
845
|
-
Object.defineProperty(exports, "Vector", {
|
|
846
|
-
enumerable: true,
|
|
847
|
-
get: function () { return scaleTs.Vector; }
|
|
848
|
-
});
|
|
849
853
|
Object.defineProperty(exports, "_void", {
|
|
850
854
|
enumerable: true,
|
|
851
855
|
get: function () { return scaleTs._void; }
|
|
@@ -942,12 +946,18 @@ exports.Enum = Enum;
|
|
|
942
946
|
exports.FixedSizeBinary = FixedSizeBinary;
|
|
943
947
|
exports.Hex = Hex;
|
|
944
948
|
exports.Identity = Identity;
|
|
949
|
+
exports.Option = Option;
|
|
950
|
+
exports.Result = Result;
|
|
951
|
+
exports.ScaleEnum = ScaleEnum;
|
|
945
952
|
exports.Self = Self;
|
|
946
953
|
exports.Storage = Storage;
|
|
954
|
+
exports.Struct = Struct;
|
|
955
|
+
exports.Tuple = Tuple;
|
|
947
956
|
exports.Twox128 = Twox128;
|
|
948
957
|
exports.Twox256 = Twox256;
|
|
949
958
|
exports.Twox64Concat = Twox64Concat;
|
|
950
959
|
exports.Variant = Variant;
|
|
960
|
+
exports.Vector = Vector;
|
|
951
961
|
exports._Enum = _Enum;
|
|
952
962
|
exports.bitSequence = bitSequence$1;
|
|
953
963
|
exports.blockHeader = blockHeader;
|
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","../src/utils/multisig.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 { compact, enhanceCodec } from \"scale-ts\"\n\nexport const compactNumber = enhanceCodec(compact, (v) => v, Number)\nexport const compactBn = enhanceCodec(compact, (v) => v, 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 type { Codec } 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 <A extends Array<EncoderWithHash<any>>>(\n name: string,\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: (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 dec = (\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 }\n }\n}\n","import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { Binary, compact, u16 } from \"../codecs\"\nimport { Blake2256 } from \"../hashes\"\n\nconst PREFIX = Binary.fromText(\"modlpy/utilisuba\").asBytes()\nexport const getMultisigAccountId = ({\n threshold,\n signatories,\n}: {\n threshold: number\n signatories: Uint8Array[]\n}) => {\n const sortedSignatories = sortMultisigSignatories(signatories)\n const payload = mergeUint8(\n PREFIX,\n compact.enc(sortedSignatories.length),\n ...sortedSignatories,\n u16.enc(threshold),\n )\n return Blake2256(payload)\n}\n\nexport const sortMultisigSignatories = (signatories: Uint8Array[]) =>\n signatories.slice().sort((a, b) => {\n for (let i = 0; ; i++) {\n const overA = i >= a.length\n const overB = i >= b.length\n\n if (overA && overB) return 0\n else if (overA) return -1\n else if (overB) return 1\n else if (a[i] !== b[i]) return a[i] > b[i] ? 1 : -1\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","u16"],"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/with-inner.ts","../src/codecs/scale/Variant.ts","../src/codecs/scale/ethAccount.ts","../src/codecs/scale/shaped.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","../src/utils/multisig.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 { compact, enhanceCodec } from \"scale-ts\"\n\nexport const compactNumber = enhanceCodec(compact, (v) => v, Number)\nexport const compactBn = enhanceCodec(compact, (v) => v, 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","export const withInner = <T, I>(codec: T, inner: I): T & { inner: I } => {\n const result: T & { inner: I } = codec as any\n result.inner = inner\n return result\n}\n","import {\n Codec,\n CodecType,\n Decoder,\n DecoderType,\n Encoder,\n EncoderType,\n Enum as OEnum,\n StringRecord,\n createCodec,\n} from \"scale-ts\"\nimport { mapObject } from \"@polkadot-api/utils\"\nimport { Enum } from \"@/types/enum\"\nimport { withInner } from \"./with-inner\"\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 inner: O,\n x?: RestrictedLenTuple<number, O> | undefined,\n) => Encoder<\n Enum<{\n [K in keyof O]: EncoderType<O[K]>\n }>\n> & { inner: O } = (...args) => {\n const enc = OEnum.enc(...(args as [any, any]))\n return withInner((v: any) => enc({ tag: v.type, value: v.value }), args[0])\n}\n\nconst VariantDec: <O extends StringRecord<Decoder<any>>>(\n inner: O,\n x?: RestrictedLenTuple<number, O> | undefined,\n) => Decoder<\n Enum<{\n [K in keyof O]: DecoderType<O[K]>\n }>\n> & { inner: O } = (...args) => {\n const dec = OEnum.dec(...(args as [any]))\n return withInner((v: any) => {\n const { tag, value } = dec(v)\n return Enum(tag as any, value as any) as any\n }, args[0])\n}\n\nexport const Variant: {\n <O extends StringRecord<Codec<any>>>(\n inner: O,\n indexes?: RestrictedLenTuple<number, O> | undefined,\n ): Codec<\n Enum<{\n [K in keyof O]: CodecType<O[K]>\n }>\n > & { inner: O }\n enc: <O_1 extends StringRecord<Encoder<any>>>(\n inner: O_1,\n x?: RestrictedLenTuple<number, O_1> | undefined,\n ) => Encoder<\n Enum<{\n [K in keyof O_1]: EncoderType<O_1[K]>\n }>\n > & { inner: O_1 }\n dec: <O_2 extends StringRecord<Decoder<any>>>(\n inner: O_2,\n x?: RestrictedLenTuple<number, O_2> | undefined,\n ) => Decoder<\n Enum<{\n [K in keyof O_2]: DecoderType<O_2[K]>\n }>\n > & { inner: O_2 }\n} = (inner, ...args) =>\n withInner(\n createCodec(\n VariantEnc(\n mapObject(inner, ([encoder]) => encoder) as any,\n ...(args as any[]),\n ),\n VariantDec(\n mapObject(inner, ([, decoder]) => decoder) as any,\n ...(args as any[]),\n ) as any,\n ),\n inner,\n ) as any\nVariant.enc = VariantEnc\nVariant.dec = VariantDec\n\nexport const ScaleEnum: {\n <O extends StringRecord<Codec<any>>>(\n inner: O,\n indexes?: RestrictedLenTuple<number, O> | undefined,\n ): Codec<\n {\n [K in keyof O]: {\n tag: K\n value: CodecType<O[K]>\n }\n }[keyof O]\n > & { inner: O }\n enc: <O_1 extends StringRecord<Encoder<any>>>(\n inner: O_1,\n x?: RestrictedLenTuple<number, O_1> | undefined,\n ) => Encoder<\n {\n [K_1 in keyof O_1]: {\n tag: K_1\n value: EncoderType<O_1[K_1]>\n }\n }[keyof O_1]\n > & { inner: O_1 }\n dec: <O_2 extends StringRecord<Decoder<any>>>(\n inner: O_2,\n x?: RestrictedLenTuple<number, O_2> | undefined,\n ) => Decoder<\n {\n [K_2 in keyof O_2]: {\n tag: K_2\n value: DecoderType<O_2[K_2]>\n }\n }[keyof O_2]\n > & { inner: O_2 }\n} = (inner, ...args) => withInner(OEnum(inner, ...(args as any[])), inner)\nScaleEnum.enc = (inner, ...rest) =>\n withInner(OEnum.enc(inner, ...(rest as any[])), inner)\nScaleEnum.dec = (inner, ...rest) =>\n withInner(OEnum.dec(inner, ...(rest as any[])), inner)\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 Struct as OStruct,\n Tuple as OTuple,\n Vector as OVector,\n Result as OResult,\n Option as OOption,\n Codec,\n Encoder,\n Decoder,\n StringRecord,\n CodecType,\n EncoderType,\n DecoderType,\n ResultPayload,\n} from \"scale-ts\"\nimport { withInner } from \"./with-inner\"\n\nexport const Struct: {\n <A extends StringRecord<Codec<any>>>(\n codecs: A,\n ): Codec<{ [K in keyof A]: CodecType<A[K]> }> & { inner: A }\n enc: <A_1 extends StringRecord<Encoder<any>>>(\n encoders: A_1,\n ) => Encoder<{ [K_1 in keyof A_1]: EncoderType<A_1[K_1]> }> & { inner: A_1 }\n dec: <A_2 extends StringRecord<Decoder<any>>>(\n decoders: A_2,\n ) => Decoder<{ [K_2 in keyof A_2]: DecoderType<A_2[K_2]> }> & { inner: A_2 }\n} = (codecs) => withInner(OStruct(codecs), codecs)\nStruct.enc = (x) => withInner(OStruct.enc(x), x)\nStruct.dec = (x) => withInner(OStruct.dec(x), x)\n\nexport const Tuple: {\n <A extends Codec<any>[]>(\n ...inner: A\n ): Codec<{ [K in keyof A]: A[K] extends Codec<infer D> ? D : unknown }> & {\n inner: A\n }\n enc: <A_1 extends Encoder<any>[]>(\n ...encoders: A_1\n ) => Encoder<{\n [K_1 in keyof A_1]: A_1[K_1] extends Encoder<infer D_1> ? D_1 : unknown\n }> & { inner: A_1 }\n dec: <A_2 extends Decoder<any>[]>(\n ...decoders: A_2\n ) => Decoder<{\n [K_2 in keyof A_2]: A_2[K_2] extends Decoder<infer D_2> ? D_2 : unknown\n }> & { inner: A_2 }\n} = (...inner) => withInner(OTuple(...inner), inner)\nTuple.enc = (...inner) => withInner(OTuple.enc(...inner), inner)\nTuple.dec = (...inner) => withInner(OTuple.dec(...inner), inner)\n\nexport const Vector: {\n <T>(\n inner: Codec<T>,\n size?: number | undefined,\n ): Codec<T[]> & { inner: Codec<T> }\n enc: <T_1>(\n inner: Encoder<T_1>,\n size?: number | undefined,\n ) => Encoder<T_1[]> & { inner: Encoder<T_1> }\n dec: <T_2>(\n getter: Decoder<T_2>,\n size?: number | undefined,\n ) => Decoder<T_2[]> & { inner: Decoder<T_2> }\n} = (inner, ...rest) => withInner(OVector(inner, ...rest), inner)\nVector.enc = (inner, ...rest) => withInner(OVector.enc(inner, ...rest), inner)\nVector.dec = (inner, ...rest) => withInner(OVector.dec(inner, ...rest), inner)\n\nexport const Result: {\n <OK, KO>(\n okCodec: Codec<OK>,\n koCodec: Codec<KO>,\n ): Codec<ResultPayload<OK, KO>> & { inner: { ok: Codec<OK>; ko: Codec<KO> } }\n dec: <OK_1, KO_1>(\n okDecoder: Decoder<OK_1>,\n koDecoder: Decoder<KO_1>,\n ) => Decoder<ResultPayload<OK_1, KO_1>> & {\n inner: { ok: Decoder<OK_1>; ko: Decoder<KO_1> }\n }\n enc: <OK_2, KO_2>(\n okEncoder: Encoder<OK_2>,\n koEncoder: Encoder<KO_2>,\n ) => Encoder<ResultPayload<OK_2, KO_2>> & {\n inner: { ok: Encoder<OK_2>; ko: Encoder<KO_2> }\n }\n} = (ok, ko) => withInner(OResult(ok, ko), { ok, ko })\nResult.enc = (ok, ko) => withInner(OResult.enc(ok, ko), { ok, ko })\nResult.dec = (ok, ko) => withInner(OResult.dec(ok, ko), { ok, ko })\n\nexport const Option: {\n <T>(inner: Codec<T>): Codec<T | undefined> & { inner: Codec<T> }\n enc: <T_1>(\n inner: Encoder<T_1>,\n ) => Encoder<T_1 | undefined> & { inner: Encoder<T_1> }\n dec: <T_2>(\n inner: Decoder<T_2>,\n ) => Decoder<T_2 | undefined> & { inner: Decoder<T_2> }\n} = (inner) => withInner(OOption(inner), inner)\nOption.enc = (inner) => withInner(OOption.enc(inner), inner)\nOption.dec = (inner) => withInner(OOption.dec(inner), inner)\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 type { Codec } 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 <A extends Array<EncoderWithHash<any>>>(\n name: string,\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: (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 dec = (\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 }\n }\n}\n","import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { Binary, compact, u16 } from \"../codecs\"\nimport { Blake2256 } from \"../hashes\"\n\nconst PREFIX = Binary.fromText(\"modlpy/utilisuba\").asBytes()\nexport const getMultisigAccountId = ({\n threshold,\n signatories,\n}: {\n threshold: number\n signatories: Uint8Array[]\n}) => {\n const sortedSignatories = sortMultisigSignatories(signatories)\n const payload = mergeUint8(\n PREFIX,\n compact.enc(sortedSignatories.length),\n ...sortedSignatories,\n u16.enc(threshold),\n )\n return Blake2256(payload)\n}\n\nexport const sortMultisigSignatories = (signatories: Uint8Array[]) =>\n signatories.slice().sort((a, b) => {\n for (let i = 0; ; i++) {\n const overA = i >= a.length\n const overB = i >= b.length\n\n if (overA && overB) return 0\n else if (overA) return -1\n else if (overB) return 1\n else if (a[i] !== b[i]) return a[i] > b[i] ? 1 : -1\n }\n })\n"],"names":["base58","blake2b","enhanceCodec","Bytes","textEncoder","textDecoder","Tuple","compact","toHex","mergeUint8","fromHex","enc","dec","Bin","createCodec","createDecoder","bitSequence","u8","OEnum","mapObject","keccak","OStruct","OTuple","OVector","OResult","OOption","_void","Vector","str","Option","Enum","Struct","u32","hashers","extrinsic","ty","len32","blake3","p","temp","u64","u16"],"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.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"author": "Josep M Sobrepere (https://github.com/josepot)",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"dist"
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@noble/hashes": "^1.
|
|
39
|
-
"@scure/base": "^1.2.
|
|
38
|
+
"@noble/hashes": "^1.8.0",
|
|
39
|
+
"@scure/base": "^1.2.5",
|
|
40
40
|
"scale-ts": "^1.6.1",
|
|
41
41
|
"@polkadot-api/utils": "0.1.2"
|
|
42
42
|
},
|