@polkadot-api/substrate-bindings 1.0.0-canary.f545a12 → 1.0.0-canary.f7f4b6e

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.
@@ -11,11 +11,11 @@ import './scale/ethAccount.mjs';
11
11
  import { Struct, Vector } from './scale/shaped.mjs';
12
12
  import './scale/BitSeq.mjs';
13
13
 
14
- const textEncoder = new TextEncoder();
14
+ const textEncoder$1 = new TextEncoder();
15
15
  const textDecoder = new TextDecoder();
16
16
  const fourChars = enhanceCodec(
17
17
  Bytes(4),
18
- textEncoder.encode.bind(textEncoder),
18
+ textEncoder$1.encode.bind(textEncoder$1),
19
19
  textDecoder.decode.bind(textDecoder)
20
20
  );
21
21
  const diggestVal = Struct({
@@ -32,12 +32,12 @@ const diggest = Variant(
32
32
  },
33
33
  [0, 4, 5, 6, 8]
34
34
  );
35
- const hex32 = Hex(32);
35
+ const hex32$1 = Hex(32);
36
36
  const blockHeader = Struct({
37
- parentHash: hex32,
37
+ parentHash: hex32$1,
38
38
  number: compactNumber,
39
- stateRoot: hex32,
40
- extrinsicRoot: hex32,
39
+ stateRoot: hex32$1,
40
+ extrinsicRoot: hex32$1,
41
41
  digests: Vector(diggest)
42
42
  });
43
43
 
@@ -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 other: Bytes(),\n consensus: diggestVal,\n seal: diggestVal,\n preRuntime: diggestVal,\n runtimeUpdated: _void,\n },\n [0, 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,WAAA,EAAY;AACpC,MAAM,WAAA,GAAc,IAAI,WAAA,EAAY;AAEpC,MAAM,SAAA,GAAY,YAAA;AAAA,EAChB,MAAM,CAAC,CAAA;AAAA,EACP,WAAA,CAAY,MAAA,CAAO,IAAA,CAAK,WAAW,CAAA;AAAA,EACnC,WAAA,CAAY,MAAA,CAAO,IAAA,CAAK,WAAW;AACrC,CAAA;AAEA,MAAM,aAAa,MAAA,CAAO;AAAA,EACxB,MAAA,EAAQ,SAAA;AAAA,EACR,SAAS,GAAA;AACX,CAAC,CAAA;AAED,MAAM,OAAA,GAAU,OAAA;AAAA,EACd;AAAA,IACE,OAAO,KAAA,EAAM;AAAA,IACb,SAAA,EAAW,UAAA;AAAA,IACX,IAAA,EAAM,UAAA;AAAA,IACN,UAAA,EAAY,UAAA;AAAA,IACZ,cAAA,EAAgB;AAAA,GAClB;AAAA,EACA,CAAC,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,GAAG,CAAC;AAChB,CAAA;AAEA,MAAM,KAAA,GAAQ,IAAI,EAAE,CAAA;AACb,MAAM,cAAc,MAAA,CAAO;AAAA,EAChC,UAAA,EAAY,KAAA;AAAA,EACZ,MAAA,EAAQ,aAAA;AAAA,EACR,SAAA,EAAW,KAAA;AAAA,EACX,aAAA,EAAe,KAAA;AAAA,EACf,OAAA,EAAS,OAAO,OAAO;AACzB,CAAC;;;;"}
1
+ {"version":3,"file":"blockHeader.mjs","sources":["../../../src/codecs/blockHeader.ts"],"sourcesContent":["import {\n Bytes,\n CodecType,\n Struct,\n Vector,\n _void,\n enhanceCodec,\n Hex,\n Variant,\n compactNumber,\n} from \"./scale\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\n\nconst fourChars = enhanceCodec(\n Bytes(4),\n textEncoder.encode.bind(textEncoder),\n textDecoder.decode.bind(textDecoder),\n)\n\nconst diggestVal = Struct({\n engine: fourChars,\n payload: Hex(),\n})\n\nconst diggest = Variant(\n {\n other: Bytes(),\n consensus: diggestVal,\n seal: diggestVal,\n preRuntime: diggestVal,\n runtimeUpdated: _void,\n },\n [0, 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":["textEncoder","hex32"],"mappings":";;;;;;;;;;;;;AAYA,MAAMA,aAAA,GAAc,IAAI,WAAA,EAAY;AACpC,MAAM,WAAA,GAAc,IAAI,WAAA,EAAY;AAEpC,MAAM,SAAA,GAAY,YAAA;AAAA,EAChB,MAAM,CAAC,CAAA;AAAA,EACPA,aAAA,CAAY,MAAA,CAAO,IAAA,CAAKA,aAAW,CAAA;AAAA,EACnC,WAAA,CAAY,MAAA,CAAO,IAAA,CAAK,WAAW;AACrC,CAAA;AAEA,MAAM,aAAa,MAAA,CAAO;AAAA,EACxB,MAAA,EAAQ,SAAA;AAAA,EACR,SAAS,GAAA;AACX,CAAC,CAAA;AAED,MAAM,OAAA,GAAU,OAAA;AAAA,EACd;AAAA,IACE,OAAO,KAAA,EAAM;AAAA,IACb,SAAA,EAAW,UAAA;AAAA,IACX,IAAA,EAAM,UAAA;AAAA,IACN,UAAA,EAAY,UAAA;AAAA,IACZ,cAAA,EAAgB;AAAA,GAClB;AAAA,EACA,CAAC,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,GAAG,CAAC;AAChB,CAAA;AAEA,MAAMC,OAAA,GAAQ,IAAI,EAAE,CAAA;AACb,MAAM,cAAc,MAAA,CAAO;AAAA,EAChC,UAAA,EAAYA,OAAA;AAAA,EACZ,MAAA,EAAQ,aAAA;AAAA,EACR,SAAA,EAAWA,OAAA;AAAA,EACX,aAAA,EAAeA,OAAA;AAAA,EACf,OAAA,EAAS,OAAO,OAAO;AACzB,CAAC;;;;"}
@@ -23,9 +23,9 @@ const hashType = Enum({
23
23
  Twox64Concat: _void,
24
24
  Identity: _void
25
25
  });
26
- const hashers = Vector(hashType);
26
+ const hashers$1 = Vector(hashType);
27
27
  const storageMap = Struct({
28
- hashers,
28
+ hashers: hashers$1,
29
29
  key: compactNumber,
30
30
  value: compactNumber
31
31
  });
@@ -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\"\nimport { itemDeprecation, variantDeprecation } from \"./deprecation\"\nimport { viewFunction } from \"./runtime-api\"\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\nexport const storageMap = Struct({\n hashers,\n key: compactNumber,\n value: compactNumber,\n})\n\nconst storageItem = {\n name: str,\n modifier: u8,\n type: Enum({\n plain: compactNumber,\n map: storageMap,\n }),\n fallback: Hex(),\n docs,\n}\n\nconst enumRefV14 = Option(compactNumber)\n\nexport const v14Pallet = {\n name: str,\n storage: Option(\n Struct({\n prefix: str,\n items: Vector(Struct(storageItem)),\n }),\n ),\n calls: enumRefV14,\n events: enumRefV14,\n constants: Vector(\n Struct({\n name: str,\n type: compactNumber,\n value: Hex(),\n docs,\n }),\n ),\n errors: enumRefV14,\n index: u8,\n}\n\nexport const v15Pallet = {\n ...v14Pallet,\n docs,\n}\n\nconst enumRef = Option(\n Struct({ type: compactNumber, deprecationInfo: variantDeprecation }),\n)\n\nexport const v16Pallet = {\n name: str,\n storage: Option(\n Struct({\n prefix: str,\n items: Vector(\n Struct({\n ...storageItem,\n deprecationInfo: itemDeprecation,\n }),\n ),\n }),\n ),\n calls: enumRef,\n events: enumRef,\n constants: Vector(\n Struct({\n name: str,\n type: compactNumber,\n value: Hex(),\n docs,\n deprecationInfo: itemDeprecation,\n }),\n ),\n errors: enumRef,\n associatedTypes: Vector(\n Struct({\n name: str,\n type: compactNumber,\n docs,\n }),\n ),\n viewFns: Vector(viewFunction),\n index: u8,\n docs,\n deprecationInfo: itemDeprecation,\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAMA,MAAM,WAAW,IAAA,CAAK;AAAA,EACpB,SAAA,EAAW,KAAA;AAAA,EACX,SAAA,EAAW,KAAA;AAAA,EACX,eAAA,EAAiB,KAAA;AAAA,EACjB,OAAA,EAAS,KAAA;AAAA,EACT,OAAA,EAAS,KAAA;AAAA,EACT,YAAA,EAAc,KAAA;AAAA,EACd,QAAA,EAAU;AACZ,CAAC,CAAA;AAED,MAAM,OAAA,GAAU,OAAO,QAAQ,CAAA;AAExB,MAAM,aAAa,MAAA,CAAO;AAAA,EAC/B,OAAA;AAAA,EACA,GAAA,EAAK,aAAA;AAAA,EACL,KAAA,EAAO;AACT,CAAC;AAED,MAAM,WAAA,GAAc;AAAA,EAClB,IAAA,EAAM,GAAA;AAAA,EACN,QAAA,EAAU,EAAA;AAAA,EACV,MAAM,IAAA,CAAK;AAAA,IACT,KAAA,EAAO,aAAA;AAAA,IACP,GAAA,EAAK;AAAA,GACN,CAAA;AAAA,EACD,UAAU,GAAA,EAAI;AAAA,EACd;AACF,CAAA;AAEA,MAAM,UAAA,GAAa,OAAO,aAAa,CAAA;AAEhC,MAAM,SAAA,GAAY;AAAA,EACvB,IAAA,EAAM,GAAA;AAAA,EACN,OAAA,EAAS,MAAA;AAAA,IACP,MAAA,CAAO;AAAA,MACL,MAAA,EAAQ,GAAA;AAAA,MACR,KAAA,EAAO,MAAA,CAAO,MAAA,CAAO,WAAW,CAAC;AAAA,KAClC;AAAA,GACH;AAAA,EACA,KAAA,EAAO,UAAA;AAAA,EACP,MAAA,EAAQ,UAAA;AAAA,EACR,SAAA,EAAW,MAAA;AAAA,IACT,MAAA,CAAO;AAAA,MACL,IAAA,EAAM,GAAA;AAAA,MACN,IAAA,EAAM,aAAA;AAAA,MACN,OAAO,GAAA,EAAI;AAAA,MACX;AAAA,KACD;AAAA,GACH;AAAA,EACA,MAAA,EAAQ,UAAA;AAAA,EACR,KAAA,EAAO;AACT;AAEO,MAAM,SAAA,GAAY;AAAA,EACvB,GAAG,SAAA;AAAA,EACH;AACF;AAEA,MAAM,OAAA,GAAU,MAAA;AAAA,EACd,OAAO,EAAE,IAAA,EAAM,aAAA,EAAe,eAAA,EAAiB,oBAAoB;AACrE,CAAA;AAEO,MAAM,SAAA,GAAY;AAAA,EACvB,IAAA,EAAM,GAAA;AAAA,EACN,OAAA,EAAS,MAAA;AAAA,IACP,MAAA,CAAO;AAAA,MACL,MAAA,EAAQ,GAAA;AAAA,MACR,KAAA,EAAO,MAAA;AAAA,QACL,MAAA,CAAO;AAAA,UACL,GAAG,WAAA;AAAA,UACH,eAAA,EAAiB;AAAA,SAClB;AAAA;AACH,KACD;AAAA,GACH;AAAA,EACA,KAAA,EAAO,OAAA;AAAA,EACP,MAAA,EAAQ,OAAA;AAAA,EACR,SAAA,EAAW,MAAA;AAAA,IACT,MAAA,CAAO;AAAA,MACL,IAAA,EAAM,GAAA;AAAA,MACN,IAAA,EAAM,aAAA;AAAA,MACN,OAAO,GAAA,EAAI;AAAA,MACX,IAAA;AAAA,MACA,eAAA,EAAiB;AAAA,KAClB;AAAA,GACH;AAAA,EACA,MAAA,EAAQ,OAAA;AAAA,EACR,eAAA,EAAiB,MAAA;AAAA,IACf,MAAA,CAAO;AAAA,MACL,IAAA,EAAM,GAAA;AAAA,MACN,IAAA,EAAM,aAAA;AAAA,MACN;AAAA,KACD;AAAA,GACH;AAAA,EACA,OAAA,EAAS,OAAO,YAAY,CAAA;AAAA,EAC5B,KAAA,EAAO,EAAA;AAAA,EACP,IAAA;AAAA,EACA,eAAA,EAAiB;AACnB;;;;"}
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\"\nimport { itemDeprecation, variantDeprecation } from \"./deprecation\"\nimport { viewFunction } from \"./runtime-api\"\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\nexport const storageMap = Struct({\n hashers,\n key: compactNumber,\n value: compactNumber,\n})\n\nconst storageItem = {\n name: str,\n modifier: u8,\n type: Enum({\n plain: compactNumber,\n map: storageMap,\n }),\n fallback: Hex(),\n docs,\n}\n\nconst enumRefV14 = Option(compactNumber)\n\nexport const v14Pallet = {\n name: str,\n storage: Option(\n Struct({\n prefix: str,\n items: Vector(Struct(storageItem)),\n }),\n ),\n calls: enumRefV14,\n events: enumRefV14,\n constants: Vector(\n Struct({\n name: str,\n type: compactNumber,\n value: Hex(),\n docs,\n }),\n ),\n errors: enumRefV14,\n index: u8,\n}\n\nexport const v15Pallet = {\n ...v14Pallet,\n docs,\n}\n\nconst enumRef = Option(\n Struct({ type: compactNumber, deprecationInfo: variantDeprecation }),\n)\n\nexport const v16Pallet = {\n name: str,\n storage: Option(\n Struct({\n prefix: str,\n items: Vector(\n Struct({\n ...storageItem,\n deprecationInfo: itemDeprecation,\n }),\n ),\n }),\n ),\n calls: enumRef,\n events: enumRef,\n constants: Vector(\n Struct({\n name: str,\n type: compactNumber,\n value: Hex(),\n docs,\n deprecationInfo: itemDeprecation,\n }),\n ),\n errors: enumRef,\n associatedTypes: Vector(\n Struct({\n name: str,\n type: compactNumber,\n docs,\n }),\n ),\n viewFns: Vector(viewFunction),\n index: u8,\n docs,\n deprecationInfo: itemDeprecation,\n}\n"],"names":["hashers"],"mappings":";;;;;;;;;;;;;;;;AAMA,MAAM,WAAW,IAAA,CAAK;AAAA,EACpB,SAAA,EAAW,KAAA;AAAA,EACX,SAAA,EAAW,KAAA;AAAA,EACX,eAAA,EAAiB,KAAA;AAAA,EACjB,OAAA,EAAS,KAAA;AAAA,EACT,OAAA,EAAS,KAAA;AAAA,EACT,YAAA,EAAc,KAAA;AAAA,EACd,QAAA,EAAU;AACZ,CAAC,CAAA;AAED,MAAMA,SAAA,GAAU,OAAO,QAAQ,CAAA;AAExB,MAAM,aAAa,MAAA,CAAO;AAAA,WAC/BA,SAAA;AAAA,EACA,GAAA,EAAK,aAAA;AAAA,EACL,KAAA,EAAO;AACT,CAAC;AAED,MAAM,WAAA,GAAc;AAAA,EAClB,IAAA,EAAM,GAAA;AAAA,EACN,QAAA,EAAU,EAAA;AAAA,EACV,MAAM,IAAA,CAAK;AAAA,IACT,KAAA,EAAO,aAAA;AAAA,IACP,GAAA,EAAK;AAAA,GACN,CAAA;AAAA,EACD,UAAU,GAAA,EAAI;AAAA,EACd;AACF,CAAA;AAEA,MAAM,UAAA,GAAa,OAAO,aAAa,CAAA;AAEhC,MAAM,SAAA,GAAY;AAAA,EACvB,IAAA,EAAM,GAAA;AAAA,EACN,OAAA,EAAS,MAAA;AAAA,IACP,MAAA,CAAO;AAAA,MACL,MAAA,EAAQ,GAAA;AAAA,MACR,KAAA,EAAO,MAAA,CAAO,MAAA,CAAO,WAAW,CAAC;AAAA,KAClC;AAAA,GACH;AAAA,EACA,KAAA,EAAO,UAAA;AAAA,EACP,MAAA,EAAQ,UAAA;AAAA,EACR,SAAA,EAAW,MAAA;AAAA,IACT,MAAA,CAAO;AAAA,MACL,IAAA,EAAM,GAAA;AAAA,MACN,IAAA,EAAM,aAAA;AAAA,MACN,OAAO,GAAA,EAAI;AAAA,MACX;AAAA,KACD;AAAA,GACH;AAAA,EACA,MAAA,EAAQ,UAAA;AAAA,EACR,KAAA,EAAO;AACT;AAEO,MAAM,SAAA,GAAY;AAAA,EACvB,GAAG,SAAA;AAAA,EACH;AACF;AAEA,MAAM,OAAA,GAAU,MAAA;AAAA,EACd,OAAO,EAAE,IAAA,EAAM,aAAA,EAAe,eAAA,EAAiB,oBAAoB;AACrE,CAAA;AAEO,MAAM,SAAA,GAAY;AAAA,EACvB,IAAA,EAAM,GAAA;AAAA,EACN,OAAA,EAAS,MAAA;AAAA,IACP,MAAA,CAAO;AAAA,MACL,MAAA,EAAQ,GAAA;AAAA,MACR,KAAA,EAAO,MAAA;AAAA,QACL,MAAA,CAAO;AAAA,UACL,GAAG,WAAA;AAAA,UACH,eAAA,EAAiB;AAAA,SAClB;AAAA;AACH,KACD;AAAA,GACH;AAAA,EACA,KAAA,EAAO,OAAA;AAAA,EACP,MAAA,EAAQ,OAAA;AAAA,EACR,SAAA,EAAW,MAAA;AAAA,IACT,MAAA,CAAO;AAAA,MACL,IAAA,EAAM,GAAA;AAAA,MACN,IAAA,EAAM,aAAA;AAAA,MACN,OAAO,GAAA,EAAI;AAAA,MACX,IAAA;AAAA,MACA,eAAA,EAAiB;AAAA,KAClB;AAAA,GACH;AAAA,EACA,MAAA,EAAQ,OAAA;AAAA,EACR,eAAA,EAAiB,MAAA;AAAA,IACf,MAAA,CAAO;AAAA,MACL,IAAA,EAAM,GAAA;AAAA,MACN,IAAA,EAAM,aAAA;AAAA,MACN;AAAA,KACD;AAAA,GACH;AAAA,EACA,OAAA,EAAS,OAAO,YAAY,CAAA;AAAA,EAC5B,KAAA,EAAO,EAAA;AAAA,EACP,IAAA;AAAA,EACA,eAAA,EAAiB;AACnB;;;;"}
@@ -6,7 +6,30 @@ const unifyMetadata = (metadata) => {
6
6
  metadata = metadata.value;
7
7
  }
8
8
  if ("signedExtensionsByVersion" in metadata.extrinsic) {
9
- return { version: 16, ...metadata };
9
+ const {
10
+ extrinsic: {
11
+ signedExtensions,
12
+ signedExtensionsByVersion,
13
+ ...restExtrinsic
14
+ },
15
+ ...rest
16
+ } = metadata;
17
+ if (!signedExtensionsByVersion.some(([v]) => v === 0)) {
18
+ throw new Error("Extension version 0 not found");
19
+ }
20
+ return {
21
+ version: 16,
22
+ extrinsic: {
23
+ ...restExtrinsic,
24
+ signedExtensions: Object.fromEntries(
25
+ signedExtensionsByVersion.map(([v, idxs]) => [
26
+ v,
27
+ idxs.map((extIdx) => signedExtensions[extIdx])
28
+ ])
29
+ )
30
+ },
31
+ ...rest
32
+ };
10
33
  }
11
34
  if ("custom" in metadata) {
12
35
  const { lookup: lookup2, extrinsic: extrinsic2, custom, apis, pallets: pallets2, outerEnums } = metadata;
@@ -21,7 +44,11 @@ const unifyMetadata = (metadata) => {
21
44
  viewFns: [],
22
45
  associatedTypes: []
23
46
  })),
24
- extrinsic: { ...extrinsic2, version: [extrinsic2.version] },
47
+ extrinsic: {
48
+ ...extrinsic2,
49
+ signedExtensions: { 0: extrinsic2.signedExtensions },
50
+ version: [extrinsic2.version]
51
+ },
25
52
  apis,
26
53
  outerEnums,
27
54
  custom
@@ -39,7 +66,11 @@ const unifyMetadata = (metadata) => {
39
66
  viewFns: [],
40
67
  associatedTypes: []
41
68
  })),
42
- extrinsic: { ...extrinsic, version: [extrinsic.version] },
69
+ extrinsic: {
70
+ ...extrinsic,
71
+ signedExtensions: { 0: extrinsic.signedExtensions },
72
+ version: [extrinsic.version]
73
+ },
43
74
  apis: []
44
75
  };
45
76
  };
@@ -1 +1 @@
1
- {"version":3,"file":"unified.mjs","sources":["../../../../src/codecs/metadata/unified.ts"],"sourcesContent":["import { CodecType } from \"scale-ts\"\nimport { V14Lookup } from \"./lookup\"\nimport { storageMap } from \"./pallets\"\nimport { HexString } from \"../scale\"\nimport { itemDeprecation, variantDeprecation } from \"./deprecation\"\nimport { viewFunction } from \"./runtime-api\"\nimport { V14 } from \"./v14\"\nimport { V16 } from \"./v16\"\nimport { V15 } from \"./v15\"\nimport { Metadata } from \"./metadata\"\n\ntype EnumRef<T> =\n | ({\n type: number\n } & (T extends 16\n ? { deprecationInfo: CodecType<typeof variantDeprecation> }\n : {}))\n | undefined\n\ntype DeprecationInfo<T> = T extends 16\n ? { deprecationInfo: CodecType<typeof itemDeprecation> }\n : {}\n\nexport type UnifiedMetadata<T extends 14 | 15 | 16 = 14 | 15 | 16> = {\n version: T\n lookup: V14Lookup\n pallets: Array<\n {\n name: string\n storage:\n | {\n prefix: string\n items: Array<\n {\n name: string\n modifier: number\n type:\n | { tag: \"plain\"; value: number }\n | { tag: \"map\"; value: CodecType<typeof storageMap> }\n fallback: HexString\n docs: string[]\n } & DeprecationInfo<T>\n >\n }\n | undefined\n calls: EnumRef<T>\n events: EnumRef<T>\n constants: Array<\n {\n name: string\n type: number\n value: HexString\n docs: string[]\n } & DeprecationInfo<T>\n >\n errors: EnumRef<T>\n associatedTypes: Array<{\n name: string\n type: number\n docs: string[]\n }>\n viewFns: Array<CodecType<typeof viewFunction>>\n index: number\n docs: string[]\n } & DeprecationInfo<T>\n >\n extrinsic: {\n version: number[]\n signedExtensions: Array<{\n identifier: string\n type: number\n additionalSigned: number\n }>\n } & (T extends 14\n ? {\n type: number\n }\n : { address: number; call: number; signature: number }) &\n (T extends 16\n ? { signedExtensionsByVersion: Array<[number, number[]]> }\n : {})\n apis: Array<\n {\n name: string\n methods: Array<\n {\n name: string\n inputs: Array<{ name: string; type: number }>\n output: number\n docs: string[]\n } & DeprecationInfo<T>\n >\n docs: string[]\n } & (T extends 16 ? { version: number } : {}) &\n DeprecationInfo<T>\n >\n} & (T extends 14\n ? {}\n : {\n outerEnums: { call: number; event: number; error: number }\n custom: Array<[string, { type: number; value: HexString }]>\n })\n\nexport const unifyMetadata = (\n metadata: Metadata | Metadata[\"metadata\"] | V14 | V15 | V16,\n): UnifiedMetadata => {\n // complete metadata\n if (\"magicNumber\" in metadata) metadata = metadata.metadata\n if (\"tag\" in metadata) {\n if (\n metadata.tag !== \"v14\" &&\n metadata.tag !== \"v15\" &&\n metadata.tag !== \"v16\"\n )\n throw new Error(\"Only metadata 14, 15, and 16 are supported\")\n metadata = metadata.value\n }\n\n // v16\n if (\"signedExtensionsByVersion\" in metadata.extrinsic) {\n return { version: 16, ...(metadata as V16) }\n }\n // v15\n if (\"custom\" in metadata) {\n const { lookup, extrinsic, custom, apis, pallets, outerEnums } =\n metadata as V15\n\n return {\n version: 15,\n lookup,\n pallets: pallets.map((p): UnifiedMetadata<15>[\"pallets\"][number] => ({\n ...p,\n calls: p.calls != null ? { type: p.calls } : undefined,\n events: p.events != null ? { type: p.events } : undefined,\n errors: p.errors != null ? { type: p.errors } : undefined,\n viewFns: [],\n associatedTypes: [],\n })),\n extrinsic: { ...extrinsic, version: [extrinsic.version] },\n apis,\n outerEnums,\n custom,\n }\n }\n // fallback, v14\n const { lookup, extrinsic, pallets } = metadata as V14\n return {\n version: 14,\n lookup,\n pallets: pallets.map((p): UnifiedMetadata<14>[\"pallets\"][number] => ({\n ...p,\n calls: p.calls != null ? { type: p.calls } : undefined,\n events: p.events != null ? { type: p.events } : undefined,\n errors: p.errors != null ? { type: p.errors } : undefined,\n viewFns: [],\n associatedTypes: [],\n })),\n extrinsic: { ...extrinsic, version: [extrinsic.version] },\n apis: [],\n }\n}\n"],"names":["lookup","extrinsic","pallets"],"mappings":"AAuGO,MAAM,aAAA,GAAgB,CAC3B,QAAA,KACoB;AAEpB,EAAA,IAAI,aAAA,IAAiB,QAAA,EAAU,QAAA,GAAW,QAAA,CAAS,QAAA;AACnD,EAAA,IAAI,SAAS,QAAA,EAAU;AACrB,IAAA,IACE,SAAS,GAAA,KAAQ,KAAA,IACjB,SAAS,GAAA,KAAQ,KAAA,IACjB,SAAS,GAAA,KAAQ,KAAA;AAEjB,MAAA,MAAM,IAAI,MAAM,4CAA4C,CAAA;AAC9D,IAAA,QAAA,GAAW,QAAA,CAAS,KAAA;AAAA,EACtB;AAGA,EAAA,IAAI,2BAAA,IAA+B,SAAS,SAAA,EAAW;AACrD,IAAA,OAAO,EAAE,OAAA,EAAS,EAAA,EAAI,GAAI,QAAA,EAAiB;AAAA,EAC7C;AAEA,EAAA,IAAI,YAAY,QAAA,EAAU;AACxB,IAAA,MAAM,EAAE,MAAA,EAAAA,OAAAA,EAAQ,SAAA,EAAAC,UAAAA,EAAW,QAAQ,IAAA,EAAM,OAAA,EAAAC,QAAAA,EAAS,UAAA,EAAW,GAC3D,QAAA;AAEF,IAAA,OAAO;AAAA,MACL,OAAA,EAAS,EAAA;AAAA,MACT,MAAA,EAAAF,OAAAA;AAAA,MACA,OAAA,EAASE,QAAAA,CAAQ,GAAA,CAAI,CAAC,CAAA,MAA+C;AAAA,QACnE,GAAG,CAAA;AAAA,QACH,KAAA,EAAO,EAAE,KAAA,IAAS,IAAA,GAAO,EAAE,IAAA,EAAM,CAAA,CAAE,OAAM,GAAI,MAAA;AAAA,QAC7C,MAAA,EAAQ,EAAE,MAAA,IAAU,IAAA,GAAO,EAAE,IAAA,EAAM,CAAA,CAAE,QAAO,GAAI,MAAA;AAAA,QAChD,MAAA,EAAQ,EAAE,MAAA,IAAU,IAAA,GAAO,EAAE,IAAA,EAAM,CAAA,CAAE,QAAO,GAAI,MAAA;AAAA,QAChD,SAAS,EAAC;AAAA,QACV,iBAAiB;AAAC,OACpB,CAAE,CAAA;AAAA,MACF,SAAA,EAAW,EAAE,GAAGD,UAAAA,EAAW,SAAS,CAACA,UAAAA,CAAU,OAAO,CAAA,EAAE;AAAA,MACxD,IAAA;AAAA,MACA,UAAA;AAAA,MACA;AAAA,KACF;AAAA,EACF;AAEA,EAAA,MAAM,EAAE,MAAA,EAAQ,SAAA,EAAW,OAAA,EAAQ,GAAI,QAAA;AACvC,EAAA,OAAO;AAAA,IACL,OAAA,EAAS,EAAA;AAAA,IACT,MAAA;AAAA,IACA,OAAA,EAAS,OAAA,CAAQ,GAAA,CAAI,CAAC,CAAA,MAA+C;AAAA,MACnE,GAAG,CAAA;AAAA,MACH,KAAA,EAAO,EAAE,KAAA,IAAS,IAAA,GAAO,EAAE,IAAA,EAAM,CAAA,CAAE,OAAM,GAAI,MAAA;AAAA,MAC7C,MAAA,EAAQ,EAAE,MAAA,IAAU,IAAA,GAAO,EAAE,IAAA,EAAM,CAAA,CAAE,QAAO,GAAI,MAAA;AAAA,MAChD,MAAA,EAAQ,EAAE,MAAA,IAAU,IAAA,GAAO,EAAE,IAAA,EAAM,CAAA,CAAE,QAAO,GAAI,MAAA;AAAA,MAChD,SAAS,EAAC;AAAA,MACV,iBAAiB;AAAC,KACpB,CAAE,CAAA;AAAA,IACF,SAAA,EAAW,EAAE,GAAG,SAAA,EAAW,SAAS,CAAC,SAAA,CAAU,OAAO,CAAA,EAAE;AAAA,IACxD,MAAM;AAAC,GACT;AACF;;;;"}
1
+ {"version":3,"file":"unified.mjs","sources":["../../../../src/codecs/metadata/unified.ts"],"sourcesContent":["import { CodecType } from \"scale-ts\"\nimport { V14Lookup } from \"./lookup\"\nimport { storageMap } from \"./pallets\"\nimport { HexString } from \"../scale\"\nimport { itemDeprecation, variantDeprecation } from \"./deprecation\"\nimport { viewFunction } from \"./runtime-api\"\nimport { V14 } from \"./v14\"\nimport { V16 } from \"./v16\"\nimport { V15 } from \"./v15\"\nimport { Metadata } from \"./metadata\"\n\ntype EnumRef<T> =\n | ({\n type: number\n } & (T extends 16\n ? { deprecationInfo: CodecType<typeof variantDeprecation> }\n : {}))\n | undefined\n\ntype DeprecationInfo<T> = T extends 16\n ? { deprecationInfo: CodecType<typeof itemDeprecation> }\n : {}\n\nexport type UnifiedMetadata<T extends 14 | 15 | 16 = 14 | 15 | 16> = {\n version: T\n lookup: V14Lookup\n pallets: Array<\n {\n name: string\n storage:\n | {\n prefix: string\n items: Array<\n {\n name: string\n modifier: number\n type:\n | { tag: \"plain\"; value: number }\n | { tag: \"map\"; value: CodecType<typeof storageMap> }\n fallback: HexString\n docs: string[]\n } & DeprecationInfo<T>\n >\n }\n | undefined\n calls: EnumRef<T>\n events: EnumRef<T>\n constants: Array<\n {\n name: string\n type: number\n value: HexString\n docs: string[]\n } & DeprecationInfo<T>\n >\n errors: EnumRef<T>\n associatedTypes: Array<{\n name: string\n type: number\n docs: string[]\n }>\n viewFns: Array<CodecType<typeof viewFunction>>\n index: number\n docs: string[]\n } & DeprecationInfo<T>\n >\n extrinsic: {\n version: number[]\n signedExtensions: Record<\n number,\n Array<{\n identifier: string\n type: number\n additionalSigned: number\n }>\n >\n } & (T extends 14\n ? {\n type: number\n }\n : { address: number; call: number; signature: number })\n apis: Array<\n {\n name: string\n methods: Array<\n {\n name: string\n inputs: Array<{ name: string; type: number }>\n output: number\n docs: string[]\n } & DeprecationInfo<T>\n >\n docs: string[]\n } & (T extends 16 ? { version: number } : {}) &\n DeprecationInfo<T>\n >\n} & (T extends 14\n ? {}\n : {\n outerEnums: { call: number; event: number; error: number }\n custom: Array<[string, { type: number; value: HexString }]>\n })\n\nexport const unifyMetadata = (\n metadata: Metadata | Metadata[\"metadata\"] | V14 | V15 | V16,\n): UnifiedMetadata => {\n // complete metadata\n if (\"magicNumber\" in metadata) metadata = metadata.metadata\n if (\"tag\" in metadata) {\n if (\n metadata.tag !== \"v14\" &&\n metadata.tag !== \"v15\" &&\n metadata.tag !== \"v16\"\n )\n throw new Error(\"Only metadata 14, 15, and 16 are supported\")\n metadata = metadata.value\n }\n\n // v16\n if (\"signedExtensionsByVersion\" in metadata.extrinsic) {\n const {\n extrinsic: {\n signedExtensions,\n signedExtensionsByVersion,\n ...restExtrinsic\n },\n ...rest\n } = metadata as V16\n if (!signedExtensionsByVersion.some(([v]) => v === 0)) {\n throw new Error(\"Extension version 0 not found\")\n }\n return {\n version: 16,\n extrinsic: {\n ...restExtrinsic,\n signedExtensions: Object.fromEntries(\n signedExtensionsByVersion.map(([v, idxs]) => [\n v,\n idxs.map((extIdx) => signedExtensions[extIdx]),\n ]),\n ),\n },\n ...rest,\n }\n }\n // v15\n if (\"custom\" in metadata) {\n const { lookup, extrinsic, custom, apis, pallets, outerEnums } =\n metadata as V15\n\n return {\n version: 15,\n lookup,\n pallets: pallets.map((p): UnifiedMetadata<15>[\"pallets\"][number] => ({\n ...p,\n calls: p.calls != null ? { type: p.calls } : undefined,\n events: p.events != null ? { type: p.events } : undefined,\n errors: p.errors != null ? { type: p.errors } : undefined,\n viewFns: [],\n associatedTypes: [],\n })),\n extrinsic: {\n ...extrinsic,\n signedExtensions: { 0: extrinsic.signedExtensions },\n version: [extrinsic.version],\n },\n apis,\n outerEnums,\n custom,\n }\n }\n // fallback, v14\n const { lookup, extrinsic, pallets } = metadata as V14\n return {\n version: 14,\n lookup,\n pallets: pallets.map((p): UnifiedMetadata<14>[\"pallets\"][number] => ({\n ...p,\n calls: p.calls != null ? { type: p.calls } : undefined,\n events: p.events != null ? { type: p.events } : undefined,\n errors: p.errors != null ? { type: p.errors } : undefined,\n viewFns: [],\n associatedTypes: [],\n })),\n extrinsic: {\n ...extrinsic,\n signedExtensions: { 0: extrinsic.signedExtensions },\n version: [extrinsic.version],\n },\n apis: [],\n }\n}\n"],"names":["lookup","extrinsic","pallets"],"mappings":"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"}
@@ -18,7 +18,7 @@ const Always = (value) => createCodec(
18
18
  () => empty,
19
19
  () => value
20
20
  );
21
- const extrinsic = Struct({
21
+ const extrinsic$2 = Struct({
22
22
  type: compactNumber,
23
23
  version: u8,
24
24
  signedExtensions: Vector(
@@ -32,7 +32,7 @@ const extrinsic = Struct({
32
32
  const v14 = Struct({
33
33
  lookup,
34
34
  pallets: Vector(Struct({ ...v14Pallet, docs: Always([]) })),
35
- extrinsic,
35
+ extrinsic: extrinsic$2,
36
36
  type: compactNumber,
37
37
  apis: Always([])
38
38
  });
@@ -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})\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,UAAA,EAAW;AAC7B,MAAM,MAAA,GAAS,CAAI,KAAA,KACjB,WAAA;AAAA,EACE,MAAM,KAAA;AAAA,EACN,MAAM;AACR,CAAA;AAEF,MAAM,YAAY,MAAA,CAAO;AAAA,EACvB,IAAA,EAAM,aAAA;AAAA,EACN,OAAA,EAAS,EAAA;AAAA,EACT,gBAAA,EAAkB,MAAA;AAAA,IAChB,MAAA,CAAO;AAAA,MACL,UAAA,EAAY,GAAA;AAAA,MACZ,IAAA,EAAM,aAAA;AAAA,MACN,gBAAA,EAAkB;AAAA,KACnB;AAAA;AAEL,CAAC,CAAA;AAEM,MAAM,MAAM,MAAA,CAAO;AAAA,EACxB,MAAA;AAAA,EACA,OAAA,EAAS,MAAA,CAAO,MAAA,CAAO,EAAE,GAAG,SAAA,EAAW,IAAA,EAAM,MAAA,CAAO,EAAc,CAAA,EAAG,CAAC,CAAA;AAAA,EACtE,SAAA;AAAA,EACA,IAAA,EAAM,aAAA;AAAA,EACN,IAAA,EAAM,MAAA,CAAO,EAAyC;AACxD,CAAC;;;;"}
1
+ {"version":3,"file":"v14.mjs","sources":["../../../../src/codecs/metadata/v14.ts"],"sourcesContent":["import { CodecType, Struct, Vector, createCodec, str, u8 } from \"scale-ts\"\nimport { lookup } from \"./lookup\"\nimport { compactNumber } from \"../scale\"\nimport { v14Pallet } from \"./pallets\"\nimport { runtimeApi } from \"./runtime-api\"\n\nconst empty = new Uint8Array()\nconst Always = <T>(value: T) =>\n createCodec<T>(\n () => empty,\n () => value,\n )\n\nconst extrinsic = Struct({\n type: compactNumber,\n version: u8,\n signedExtensions: Vector(\n Struct({\n identifier: str,\n type: compactNumber,\n additionalSigned: compactNumber,\n }),\n ),\n})\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":["extrinsic"],"mappings":";;;;;;;;;;;;;;;AAMA,MAAM,KAAA,GAAQ,IAAI,UAAA,EAAW;AAC7B,MAAM,MAAA,GAAS,CAAI,KAAA,KACjB,WAAA;AAAA,EACE,MAAM,KAAA;AAAA,EACN,MAAM;AACR,CAAA;AAEF,MAAMA,cAAY,MAAA,CAAO;AAAA,EACvB,IAAA,EAAM,aAAA;AAAA,EACN,OAAA,EAAS,EAAA;AAAA,EACT,gBAAA,EAAkB,MAAA;AAAA,IAChB,MAAA,CAAO;AAAA,MACL,UAAA,EAAY,GAAA;AAAA,MACZ,IAAA,EAAM,aAAA;AAAA,MACN,gBAAA,EAAkB;AAAA,KACnB;AAAA;AAEL,CAAC,CAAA;AAEM,MAAM,MAAM,MAAA,CAAO;AAAA,EACxB,MAAA;AAAA,EACA,OAAA,EAAS,MAAA,CAAO,MAAA,CAAO,EAAE,GAAG,SAAA,EAAW,IAAA,EAAM,MAAA,CAAO,EAAc,CAAA,EAAG,CAAC,CAAA;AAAA,aACtEA,WAAA;AAAA,EACA,IAAA,EAAM,aAAA;AAAA,EACN,IAAA,EAAM,MAAA,CAAO,EAAyC;AACxD,CAAC;;;;"}
@@ -14,7 +14,7 @@ import '../scale/shaped.mjs';
14
14
  import '../scale/BitSeq.mjs';
15
15
  import { runtimeApiV15 } from './runtime-api.mjs';
16
16
 
17
- const extrinsic = Struct({
17
+ const extrinsic$1 = Struct({
18
18
  version: u8,
19
19
  address: compactNumber,
20
20
  call: compactNumber,
@@ -31,7 +31,7 @@ const extrinsic = Struct({
31
31
  const v15 = Struct({
32
32
  lookup,
33
33
  pallets: Vector(Struct(v15Pallet)),
34
- extrinsic,
34
+ extrinsic: extrinsic$1,
35
35
  type: compactNumber,
36
36
  apis: Vector(runtimeApiV15),
37
37
  outerEnums: 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 { runtimeApiV15 } from \"./runtime-api\"\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})\n\nexport const v15 = Struct({\n lookup,\n pallets: Vector(Struct(v15Pallet)),\n extrinsic,\n type: ty,\n apis: Vector(runtimeApiV15),\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":";;;;;;;;;;;;;;;;AAMA,MAAM,YAAY,MAAA,CAAO;AAAA,EACvB,OAAA,EAAS,EAAA;AAAA,EACT,OAAA,EAASA,aAAA;AAAA,EACT,IAAA,EAAMA,aAAA;AAAA,EACN,SAAA,EAAWA,aAAA;AAAA,EACX,KAAA,EAAOA,aAAA;AAAA,EACP,gBAAA,EAAkB,MAAA;AAAA,IAChB,MAAA,CAAO;AAAA,MACL,UAAA,EAAY,GAAA;AAAA,MACZ,IAAA,EAAMA,aAAA;AAAA,MACN,gBAAA,EAAkBA;AAAA,KACnB;AAAA;AAEL,CAAC,CAAA;AAEM,MAAM,MAAM,MAAA,CAAO;AAAA,EACxB,MAAA;AAAA,EACA,OAAA,EAAS,MAAA,CAAO,MAAA,CAAO,SAAS,CAAC,CAAA;AAAA,EACjC,SAAA;AAAA,EACA,IAAA,EAAMA,aAAA;AAAA,EACN,IAAA,EAAM,OAAO,aAAa,CAAA;AAAA,EAC1B,YAAY,MAAA,CAAO;AAAA,IACjB,IAAA,EAAMA,aAAA;AAAA,IACN,KAAA,EAAOA,aAAA;AAAA,IACP,KAAA,EAAOA;AAAA,GACR,CAAA;AAAA,EACD,MAAA,EAAQ,MAAA,CAAO,KAAA,CAAM,GAAA,EAAK,MAAA,CAAO,EAAE,IAAA,EAAMA,aAAA,EAAI,KAAA,EAAO,GAAA,EAAI,EAAG,CAAC,CAAC;AAC/D,CAAC;;;;"}
1
+ {"version":3,"file":"v15.mjs","sources":["../../../../src/codecs/metadata/v15.ts"],"sourcesContent":["import { CodecType, Struct, Tuple, Vector, str, u8 } from \"scale-ts\"\nimport { lookup } from \"./lookup\"\nimport { v15Pallet } from \"./pallets\"\nimport { Hex, compactNumber as ty } from \"../scale\"\nimport { runtimeApiV15 } from \"./runtime-api\"\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})\n\nexport const v15 = Struct({\n lookup,\n pallets: Vector(Struct(v15Pallet)),\n extrinsic,\n type: ty,\n apis: Vector(runtimeApiV15),\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":["extrinsic","ty"],"mappings":";;;;;;;;;;;;;;;;AAMA,MAAMA,cAAY,MAAA,CAAO;AAAA,EACvB,OAAA,EAAS,EAAA;AAAA,EACT,OAAA,EAASC,aAAA;AAAA,EACT,IAAA,EAAMA,aAAA;AAAA,EACN,SAAA,EAAWA,aAAA;AAAA,EACX,KAAA,EAAOA,aAAA;AAAA,EACP,gBAAA,EAAkB,MAAA;AAAA,IAChB,MAAA,CAAO;AAAA,MACL,UAAA,EAAY,GAAA;AAAA,MACZ,IAAA,EAAMA,aAAA;AAAA,MACN,gBAAA,EAAkBA;AAAA,KACnB;AAAA;AAEL,CAAC,CAAA;AAEM,MAAM,MAAM,MAAA,CAAO;AAAA,EACxB,MAAA;AAAA,EACA,OAAA,EAAS,MAAA,CAAO,MAAA,CAAO,SAAS,CAAC,CAAA;AAAA,aACjCD,WAAA;AAAA,EACA,IAAA,EAAMC,aAAA;AAAA,EACN,IAAA,EAAM,OAAO,aAAa,CAAA;AAAA,EAC1B,YAAY,MAAA,CAAO;AAAA,IACjB,IAAA,EAAMA,aAAA;AAAA,IACN,KAAA,EAAOA,aAAA;AAAA,IACP,KAAA,EAAOA;AAAA,GACR,CAAA;AAAA,EACD,MAAA,EAAQ,MAAA,CAAO,KAAA,CAAM,GAAA,EAAK,MAAA,CAAO,EAAE,IAAA,EAAMA,aAAA,EAAI,KAAA,EAAO,GAAA,EAAI,EAAG,CAAC,CAAC;AAC/D,CAAC;;;;"}
@@ -1,94 +1,28 @@
1
- import { Tuple, compact, Bytes, createCodec } from 'scale-ts';
2
- import { fromHex, toHex, mergeUint8 } from '@polkadot-api/utils';
3
- import { AccountId } from './AccountId.mjs';
1
+ import { fromHex, mergeUint8, toHex } from '@polkadot-api/utils';
2
+ import { Tuple, Bytes, compact } from 'scale-ts';
3
+ import { compactNumber } from './compact.mjs';
4
4
 
5
- var __defProp = Object.defineProperty;
6
- var __typeError = (msg) => {
7
- throw TypeError(msg);
8
- };
9
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
11
- var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
12
- var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
13
- var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
14
- var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), member.set(obj, value), value);
15
- var _bytes, _opaqueBytes, _hex, _opaqueHex, _str;
16
- const textEncoder = new TextEncoder();
17
- const textDecoder = new TextDecoder();
18
- const opaqueBytesDec = Tuple(compact, Bytes(Infinity))[1];
19
- class Binary {
20
- constructor(data, opaque = false) {
21
- __privateAdd(this, _bytes);
22
- __privateAdd(this, _opaqueBytes, null);
23
- __privateAdd(this, _hex, null);
24
- __privateAdd(this, _opaqueHex, null);
25
- __privateAdd(this, _str, null);
26
- __publicField(this, "asText", () => __privateGet(this, _str) ?? __privateSet(this, _str, textDecoder.decode(__privateGet(this, _bytes))));
27
- __publicField(this, "asHex", () => __privateGet(this, _hex) ?? __privateSet(this, _hex, toHex(__privateGet(this, _bytes))));
28
- __publicField(this, "asOpaqueHex", () => __privateGet(this, _opaqueHex) ?? __privateSet(this, _opaqueHex, toHex(this.asBytes())));
29
- __publicField(this, "asBytes", () => __privateGet(this, _bytes));
30
- __publicField(this, "asOpaqueBytes", () => __privateGet(this, _opaqueBytes) ?? __privateSet(this, _opaqueBytes, mergeUint8([
31
- __privateGet(this, _bytes),
32
- compact[0](__privateGet(this, _bytes).length)
33
- ])));
34
- if (opaque) {
35
- try {
36
- const [len, bytes] = opaqueBytesDec(data);
37
- if (len === bytes.length) {
38
- __privateSet(this, _bytes, bytes);
39
- __privateSet(this, _opaqueBytes, data);
40
- return;
41
- }
42
- } catch (_) {
5
+ const textEncoder$3 = new TextEncoder();
6
+ const textDecoder$2 = new TextDecoder();
7
+ const opaqueBytesDec = Tuple(compactNumber, Bytes(Infinity))[1];
8
+ const Binary = {
9
+ toText: (bytes) => textDecoder$2.decode(bytes),
10
+ toHex: (bytes) => toHex(bytes),
11
+ toOpaque: (bytes) => mergeUint8([compact[0](bytes.length), bytes]),
12
+ fromText: (text) => textEncoder$3.encode(text),
13
+ fromHex: (hex) => fromHex(hex),
14
+ fromOpaque: (opaque) => {
15
+ const data = typeof opaque === "string" ? fromHex(opaque) : opaque;
16
+ try {
17
+ const [len, bytes] = opaqueBytesDec(data);
18
+ if (len === bytes.length) {
19
+ return bytes;
43
20
  }
44
- throw new Error("Invalid opaque bytes");
45
- } else __privateSet(this, _bytes, data);
46
- }
47
- static fromText(input) {
48
- return new this(textEncoder.encode(input));
49
- }
50
- static fromHex(input) {
51
- return new this(fromHex(input));
52
- }
53
- static fromOpaqueHex(input) {
54
- return new this(fromHex(input), true);
55
- }
56
- static fromBytes(input) {
57
- return new this(input);
21
+ } catch (_) {
22
+ }
23
+ throw new Error("Invalid opaque bytes");
58
24
  }
59
- static fromOpaqueBytes(input) {
60
- return new this(input, true);
61
- }
62
- }
63
- _bytes = new WeakMap();
64
- _opaqueBytes = new WeakMap();
65
- _hex = new WeakMap();
66
- _opaqueHex = new WeakMap();
67
- _str = new WeakMap();
68
- const [accountIdEncoder] = AccountId();
69
- class FixedSizeBinary extends Binary {
70
- constructor(data) {
71
- super(data);
72
- }
73
- static fromArray(input) {
74
- return new this(new Uint8Array(input));
75
- }
76
- static fromAccountId32(input) {
77
- return new this(accountIdEncoder(input));
78
- }
79
- }
80
- const enc = (nBytes) => {
81
- const _enc = Bytes.enc(nBytes);
82
- return (value) => _enc(value.asBytes());
83
- };
84
- const dec = (nBytes) => {
85
- const _dec = Bytes.dec(nBytes);
86
- const Bin2 = nBytes == null ? Binary : FixedSizeBinary;
87
- return (value) => Bin2.fromBytes(_dec(value));
88
25
  };
89
- const Bin = (nBytes) => createCodec(enc(nBytes), dec(nBytes));
90
- Bin.enc = enc;
91
- Bin.dec = dec;
92
26
 
93
- export { Bin, Binary, FixedSizeBinary };
27
+ export { Binary };
94
28
  //# sourceMappingURL=Binary.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Binary.mjs","sources":["../../../../src/codecs/scale/Binary.ts"],"sourcesContent":["import {\n Bytes,\n Codec,\n Decoder,\n Encoder,\n Tuple,\n compact,\n createCodec,\n} from \"scale-ts\"\nimport { fromHex, mergeUint8, toHex } from \"@polkadot-api/utils\"\nimport type { HexString } from \"./Hex\"\nimport { SS58String } from \"@/utils\"\nimport { AccountId } from \"./AccountId\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\nconst opaqueBytesDec = Tuple(compact, Bytes(Infinity))[1]\n\nexport class Binary {\n #bytes: Uint8Array\n #opaqueBytes: Uint8Array | null = null\n #hex: HexString | null = null\n #opaqueHex: HexString | null = null\n #str: string | null = null\n\n constructor(data: Uint8Array, opaque = false) {\n if (opaque) {\n try {\n const [len, bytes] = opaqueBytesDec(data)\n if (len === bytes.length) {\n this.#bytes = bytes\n this.#opaqueBytes = data\n return\n }\n } catch (_) {}\n throw new Error(\"Invalid opaque bytes\")\n } else this.#bytes = data\n }\n\n asText = () => (this.#str ??= textDecoder.decode(this.#bytes))\n\n asHex = () => (this.#hex ??= toHex(this.#bytes)) as `0x${string}`\n asOpaqueHex = () =>\n (this.#opaqueHex ??= toHex(this.asBytes())) as `0x${string}`\n\n asBytes = () => this.#bytes\n asOpaqueBytes = () =>\n (this.#opaqueBytes ??= mergeUint8([\n this.#bytes,\n compact[0](this.#bytes.length),\n ]))\n\n static fromText(input: string): Binary {\n return new this(textEncoder.encode(input))\n }\n\n static fromHex(input: HexString): Binary {\n return new this(fromHex(input))\n }\n static fromOpaqueHex(input: HexString): Binary {\n return new this(fromHex(input), true)\n }\n\n static fromBytes(input: Uint8Array): Binary {\n return new this(input)\n }\n static fromOpaqueBytes(input: Uint8Array): Binary {\n return new this(input, true)\n }\n}\n\nconst [accountIdEncoder] = AccountId()\nexport class FixedSizeBinary<_L extends number> extends Binary {\n constructor(data: Uint8Array) {\n super(data)\n }\n\n static fromArray<L extends number, I extends Array<number> & { length: L }>(\n input: I,\n ) {\n return new this<L>(new Uint8Array(input))\n }\n\n static fromAccountId32<L extends number>(\n input: L extends 32 ? SS58String : never,\n ) {\n return new this<L>(accountIdEncoder(input))\n }\n}\n\nconst enc = (nBytes?: number): Encoder<Binary> => {\n const _enc = Bytes.enc(nBytes)\n return (value) => _enc(value.asBytes())\n}\n\nconst dec = (nBytes?: number): Decoder<Binary> => {\n const _dec = Bytes.dec(nBytes)\n const Bin = nBytes == null ? Binary : FixedSizeBinary\n return (value) => Bin.fromBytes(_dec(value))\n}\n\nexport const Bin = (nBytes?: number): Codec<Binary> =>\n createCodec(enc(nBytes), dec(nBytes))\n\nBin.enc = enc\nBin.dec = dec\n"],"names":["Bin"],"mappings":"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"}
1
+ {"version":3,"file":"Binary.mjs","sources":["../../../../src/codecs/scale/Binary.ts"],"sourcesContent":["import { fromHex, mergeUint8, toHex } from \"@polkadot-api/utils\"\nimport { Bytes, Tuple, compact } from \"scale-ts\"\nimport type { HexString } from \"./Hex\"\nimport { compactNumber } from \"./compact\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\nconst opaqueBytesDec = Tuple(compactNumber, Bytes(Infinity))[1]\n\nexport const Binary = {\n toText: (bytes: Uint8Array) => textDecoder.decode(bytes),\n toHex: (bytes: Uint8Array): HexString => toHex(bytes),\n toOpaque: (bytes: Uint8Array) =>\n mergeUint8([compact[0](bytes.length), bytes]),\n\n fromText: (text: string) => textEncoder.encode(text),\n fromHex: (hex: HexString) => fromHex(hex),\n fromOpaque: (opaque: Uint8Array | HexString) => {\n const data = typeof opaque === \"string\" ? fromHex(opaque) : opaque\n try {\n const [len, bytes] = opaqueBytesDec(data)\n if (len === bytes.length) {\n return bytes\n }\n } catch (_) {}\n throw new Error(\"Invalid opaque bytes\")\n },\n}\n"],"names":["textEncoder","textDecoder"],"mappings":";;;;AAKA,MAAMA,aAAA,GAAc,IAAI,WAAA,EAAY;AACpC,MAAMC,aAAA,GAAc,IAAI,WAAA,EAAY;AACpC,MAAM,iBAAiB,KAAA,CAAM,aAAA,EAAe,MAAM,QAAQ,CAAC,EAAE,CAAC,CAAA;AAEvD,MAAM,MAAA,GAAS;AAAA,EACpB,MAAA,EAAQ,CAAC,KAAA,KAAsBA,aAAA,CAAY,OAAO,KAAK,CAAA;AAAA,EACvD,KAAA,EAAO,CAAC,KAAA,KAAiC,KAAA,CAAM,KAAK,CAAA;AAAA,EACpD,QAAA,EAAU,CAAC,KAAA,KACT,UAAA,CAAW,CAAC,OAAA,CAAQ,CAAC,CAAA,CAAE,KAAA,CAAM,MAAM,CAAA,EAAG,KAAK,CAAC,CAAA;AAAA,EAE9C,QAAA,EAAU,CAAC,IAAA,KAAiBD,aAAA,CAAY,OAAO,IAAI,CAAA;AAAA,EACnD,OAAA,EAAS,CAAC,GAAA,KAAmB,OAAA,CAAQ,GAAG,CAAA;AAAA,EACxC,UAAA,EAAY,CAAC,MAAA,KAAmC;AAC9C,IAAA,MAAM,OAAO,OAAO,MAAA,KAAW,QAAA,GAAW,OAAA,CAAQ,MAAM,CAAA,GAAI,MAAA;AAC5D,IAAA,IAAI;AACF,MAAA,MAAM,CAAC,GAAA,EAAK,KAAK,CAAA,GAAI,eAAe,IAAI,CAAA;AACxC,MAAA,IAAI,GAAA,KAAQ,MAAM,MAAA,EAAQ;AACxB,QAAA,OAAO,KAAA;AAAA,MACT;AAAA,IACF,SAAS,CAAA,EAAG;AAAA,IAAC;AACb,IAAA,MAAM,IAAI,MAAM,sBAAsB,CAAA;AAAA,EACxC;AACF;;;;"}
@@ -1,17 +1,17 @@
1
1
  import { fromHex, toHex } from '@polkadot-api/utils';
2
2
  import { createCodec, Bytes } from 'scale-ts';
3
3
 
4
- const enc = (nBytes) => {
4
+ const enc$1 = (nBytes) => {
5
5
  const _enc = Bytes.enc(nBytes);
6
6
  return (value) => _enc(fromHex(value));
7
7
  };
8
- const dec = (nBytes) => {
8
+ const dec$1 = (nBytes) => {
9
9
  const _dec = Bytes.dec(nBytes);
10
10
  return (value) => toHex(_dec(value));
11
11
  };
12
- const Hex = (nBytes) => createCodec(enc(nBytes), dec(nBytes));
13
- Hex.enc = enc;
14
- Hex.dec = dec;
12
+ const Hex = (nBytes) => createCodec(enc$1(nBytes), dec$1(nBytes));
13
+ Hex.enc = enc$1;
14
+ Hex.dec = dec$1;
15
15
 
16
16
  export { Hex };
17
17
  //# sourceMappingURL=Hex.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Hex.mjs","sources":["../../../../src/codecs/scale/Hex.ts"],"sourcesContent":["import { fromHex, toHex } from \"@polkadot-api/utils\"\nimport { Bytes, Codec, Decoder, Encoder, createCodec } from \"scale-ts\"\n\nexport type HexString = string & { __hexString?: unknown }\n\nconst enc = (nBytes?: number): Encoder<HexString> => {\n const _enc = Bytes.enc(nBytes)\n return (value: string) => _enc(fromHex(value))\n}\n\nconst dec = (nBytes?: number): Decoder<HexString> => {\n const _dec = Bytes.dec(nBytes)\n return (value) => toHex(_dec(value)) as HexString\n}\n\nexport const Hex = (nBytes?: number): Codec<HexString> =>\n createCodec(enc(nBytes), dec(nBytes))\n\nHex.enc = enc\nHex.dec = dec\n"],"names":[],"mappings":";;;AAKA,MAAM,GAAA,GAAM,CAAC,MAAA,KAAwC;AACnD,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,GAAA,CAAI,MAAM,CAAA;AAC7B,EAAA,OAAO,CAAC,KAAA,KAAkB,IAAA,CAAK,OAAA,CAAQ,KAAK,CAAC,CAAA;AAC/C,CAAA;AAEA,MAAM,GAAA,GAAM,CAAC,MAAA,KAAwC;AACnD,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,GAAA,CAAI,MAAM,CAAA;AAC7B,EAAA,OAAO,CAAC,KAAA,KAAU,KAAA,CAAM,IAAA,CAAK,KAAK,CAAC,CAAA;AACrC,CAAA;AAEO,MAAM,GAAA,GAAM,CAAC,MAAA,KAClB,WAAA,CAAY,IAAI,MAAM,CAAA,EAAG,GAAA,CAAI,MAAM,CAAC;AAEtC,GAAA,CAAI,GAAA,GAAM,GAAA;AACV,GAAA,CAAI,GAAA,GAAM,GAAA;;;;"}
1
+ {"version":3,"file":"Hex.mjs","sources":["../../../../src/codecs/scale/Hex.ts"],"sourcesContent":["import { fromHex, toHex } from \"@polkadot-api/utils\"\nimport { Bytes, Codec, Decoder, Encoder, createCodec } from \"scale-ts\"\n\nexport type HexString = string & { __hexString?: unknown }\n\nexport type SizedHex<T extends number> = string & {\n __hexString?: T | unknown\n}\n\nconst enc = (nBytes?: number): Encoder<HexString> => {\n const _enc = Bytes.enc(nBytes)\n return (value: string) => _enc(fromHex(value))\n}\n\nconst dec = (nBytes?: number): Decoder<HexString> => {\n const _dec = Bytes.dec(nBytes)\n return (value) => toHex(_dec(value)) as HexString\n}\n\nexport const Hex = (nBytes?: number): Codec<HexString> =>\n createCodec(enc(nBytes), dec(nBytes))\n\nHex.enc = enc\nHex.dec = dec\n"],"names":["enc","dec"],"mappings":";;;AASA,MAAMA,KAAA,GAAM,CAAC,MAAA,KAAwC;AACnD,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,GAAA,CAAI,MAAM,CAAA;AAC7B,EAAA,OAAO,CAAC,KAAA,KAAkB,IAAA,CAAK,OAAA,CAAQ,KAAK,CAAC,CAAA;AAC/C,CAAA;AAEA,MAAMC,KAAA,GAAM,CAAC,MAAA,KAAwC;AACnD,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,GAAA,CAAI,MAAM,CAAA;AAC7B,EAAA,OAAO,CAAC,KAAA,KAAU,KAAA,CAAM,IAAA,CAAK,KAAK,CAAC,CAAA;AACrC,CAAA;AAEO,MAAM,GAAA,GAAM,CAAC,MAAA,KAClB,WAAA,CAAYD,MAAI,MAAM,CAAA,EAAGC,KAAA,CAAI,MAAM,CAAC;AAEtC,GAAA,CAAI,GAAA,GAAMD,KAAA;AACV,GAAA,CAAI,GAAA,GAAMC,KAAA;;;;"}
@@ -18,7 +18,7 @@ const bitSequenceEncoder = (input) => {
18
18
  result.set(input.bytes, lenEncoded.length);
19
19
  return result;
20
20
  };
21
- const bitSequence = createCodec(bitSequenceEncoder, bitSequenceDecoder);
21
+ const bitSequence$1 = createCodec(bitSequenceEncoder, bitSequenceDecoder);
22
22
 
23
- export { bitSequence };
23
+ export { bitSequence$1 as bitSequence };
24
24
  //# sourceMappingURL=bitSequence.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitSequence.mjs","sources":["../../../../src/codecs/scale/bitSequence.ts"],"sourcesContent":["import { Bytes, Decoder, Encoder, createCodec, createDecoder } from \"scale-ts\"\nimport { compactNumber } from \"./compact\"\n\nexport interface BitSequence {\n bitsLen: number\n bytes: Uint8Array\n}\n\nconst bitSequenceDecoder: Decoder<BitSequence> = createDecoder((data) => {\n const bitsLen = compactNumber.dec(data)\n\n const bytesLen = Math.ceil(bitsLen / 8)\n const bytes = Bytes(bytesLen).dec(data)\n return { bytes, bitsLen }\n})\n\nconst bitSequenceEncoder: Encoder<BitSequence> = (input) => {\n if (input.bitsLen > input.bytes.length * 8)\n throw new Error(\n `Not enough bytes. (bitsLen:${input.bitsLen}, bytesLen:${input.bytes.length})`,\n )\n\n const lenEncoded = compactNumber.enc(input.bitsLen)\n const result = new Uint8Array(input.bytes.length + lenEncoded.length)\n result.set(lenEncoded, 0)\n result.set(input.bytes, lenEncoded.length)\n return result\n}\n\nexport const bitSequence = createCodec(bitSequenceEncoder, bitSequenceDecoder)\n"],"names":[],"mappings":";;;AAQA,MAAM,kBAAA,GAA2C,aAAA,CAAc,CAAC,IAAA,KAAS;AACvE,EAAA,MAAM,OAAA,GAAU,aAAA,CAAc,GAAA,CAAI,IAAI,CAAA;AAEtC,EAAA,MAAM,QAAA,GAAW,IAAA,CAAK,IAAA,CAAK,OAAA,GAAU,CAAC,CAAA;AACtC,EAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,QAAQ,CAAA,CAAE,IAAI,IAAI,CAAA;AACtC,EAAA,OAAO,EAAE,OAAO,OAAA,EAAQ;AAC1B,CAAC,CAAA;AAED,MAAM,kBAAA,GAA2C,CAAC,KAAA,KAAU;AAC1D,EAAA,IAAI,KAAA,CAAM,OAAA,GAAU,KAAA,CAAM,KAAA,CAAM,MAAA,GAAS,CAAA;AACvC,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,8BAA8B,KAAA,CAAM,OAAO,CAAA,WAAA,EAAc,KAAA,CAAM,MAAM,MAAM,CAAA,CAAA;AAAA,KAC7E;AAEF,EAAA,MAAM,UAAA,GAAa,aAAA,CAAc,GAAA,CAAI,KAAA,CAAM,OAAO,CAAA;AAClD,EAAA,MAAM,SAAS,IAAI,UAAA,CAAW,MAAM,KAAA,CAAM,MAAA,GAAS,WAAW,MAAM,CAAA;AACpE,EAAA,MAAA,CAAO,GAAA,CAAI,YAAY,CAAC,CAAA;AACxB,EAAA,MAAA,CAAO,GAAA,CAAI,KAAA,CAAM,KAAA,EAAO,UAAA,CAAW,MAAM,CAAA;AACzC,EAAA,OAAO,MAAA;AACT,CAAA;AAEO,MAAM,WAAA,GAAc,WAAA,CAAY,kBAAA,EAAoB,kBAAkB;;;;"}
1
+ {"version":3,"file":"bitSequence.mjs","sources":["../../../../src/codecs/scale/bitSequence.ts"],"sourcesContent":["import { Bytes, Decoder, Encoder, createCodec, createDecoder } from \"scale-ts\"\nimport { compactNumber } from \"./compact\"\n\nexport interface BitSequence {\n bitsLen: number\n bytes: Uint8Array\n}\n\nconst bitSequenceDecoder: Decoder<BitSequence> = createDecoder((data) => {\n const bitsLen = compactNumber.dec(data)\n\n const bytesLen = Math.ceil(bitsLen / 8)\n const bytes = Bytes(bytesLen).dec(data)\n return { bytes, bitsLen }\n})\n\nconst bitSequenceEncoder: Encoder<BitSequence> = (input) => {\n if (input.bitsLen > input.bytes.length * 8)\n throw new Error(\n `Not enough bytes. (bitsLen:${input.bitsLen}, bytesLen:${input.bytes.length})`,\n )\n\n const lenEncoded = compactNumber.enc(input.bitsLen)\n const result = new Uint8Array(input.bytes.length + lenEncoded.length)\n result.set(lenEncoded, 0)\n result.set(input.bytes, lenEncoded.length)\n return result\n}\n\nexport const bitSequence = createCodec(bitSequenceEncoder, bitSequenceDecoder)\n"],"names":["bitSequence"],"mappings":";;;AAQA,MAAM,kBAAA,GAA2C,aAAA,CAAc,CAAC,IAAA,KAAS;AACvE,EAAA,MAAM,OAAA,GAAU,aAAA,CAAc,GAAA,CAAI,IAAI,CAAA;AAEtC,EAAA,MAAM,QAAA,GAAW,IAAA,CAAK,IAAA,CAAK,OAAA,GAAU,CAAC,CAAA;AACtC,EAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,QAAQ,CAAA,CAAE,IAAI,IAAI,CAAA;AACtC,EAAA,OAAO,EAAE,OAAO,OAAA,EAAQ;AAC1B,CAAC,CAAA;AAED,MAAM,kBAAA,GAA2C,CAAC,KAAA,KAAU;AAC1D,EAAA,IAAI,KAAA,CAAM,OAAA,GAAU,KAAA,CAAM,KAAA,CAAM,MAAA,GAAS,CAAA;AACvC,IAAA,MAAM,IAAI,KAAA;AAAA,MACR,8BAA8B,KAAA,CAAM,OAAO,CAAA,WAAA,EAAc,KAAA,CAAM,MAAM,MAAM,CAAA,CAAA;AAAA,KAC7E;AAEF,EAAA,MAAM,UAAA,GAAa,aAAA,CAAc,GAAA,CAAI,KAAA,CAAM,OAAO,CAAA;AAClD,EAAA,MAAM,SAAS,IAAI,UAAA,CAAW,MAAM,KAAA,CAAM,MAAA,GAAS,WAAW,MAAM,CAAA;AACpE,EAAA,MAAA,CAAO,GAAA,CAAI,YAAY,CAAC,CAAA;AACxB,EAAA,MAAA,CAAO,GAAA,CAAI,KAAA,CAAM,KAAA,EAAO,UAAA,CAAW,MAAM,CAAA;AACzC,EAAA,OAAO,MAAA;AACT,CAAA;AAEO,MAAMA,aAAA,GAAc,WAAA,CAAY,kBAAA,EAAoB,kBAAkB;;;;"}
@@ -1,12 +1,12 @@
1
1
  import { enhanceCodec, Bytes } from 'scale-ts';
2
2
 
3
- const textEncoder = new TextEncoder();
4
- const textDecoder = new TextDecoder();
3
+ const textEncoder$2 = new TextEncoder();
4
+ const textDecoder$1 = new TextDecoder();
5
5
  const fixedStr = (nBytes) => enhanceCodec(
6
6
  Bytes(nBytes),
7
- (str) => textEncoder.encode(str),
8
- (bytes) => textDecoder.decode(bytes)
7
+ (str) => textEncoder$2.encode(str),
8
+ (bytes) => textDecoder$1.decode(bytes)
9
9
  );
10
10
 
11
- export { fixedStr, textEncoder };
11
+ export { fixedStr, textEncoder$2 as textEncoder };
12
12
  //# sourceMappingURL=fixed-str.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"fixed-str.mjs","sources":["../../../../src/codecs/scale/fixed-str.ts"],"sourcesContent":["import { Bytes, enhanceCodec } from \"scale-ts\"\n\nexport const textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\n\nexport const fixedStr = (nBytes: number) =>\n enhanceCodec(\n Bytes(nBytes),\n (str: string) => textEncoder.encode(str),\n (bytes) => textDecoder.decode(bytes),\n )\n"],"names":[],"mappings":";;AAEO,MAAM,WAAA,GAAc,IAAI,WAAA;AAC/B,MAAM,WAAA,GAAc,IAAI,WAAA,EAAY;AAE7B,MAAM,QAAA,GAAW,CAAC,MAAA,KACvB,YAAA;AAAA,EACE,MAAM,MAAM,CAAA;AAAA,EACZ,CAAC,GAAA,KAAgB,WAAA,CAAY,MAAA,CAAO,GAAG,CAAA;AAAA,EACvC,CAAC,KAAA,KAAU,WAAA,CAAY,MAAA,CAAO,KAAK;AACrC;;;;"}
1
+ {"version":3,"file":"fixed-str.mjs","sources":["../../../../src/codecs/scale/fixed-str.ts"],"sourcesContent":["import { Bytes, enhanceCodec } from \"scale-ts\"\n\nexport const textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\n\nexport const fixedStr = (nBytes: number) =>\n enhanceCodec(\n Bytes(nBytes),\n (str: string) => textEncoder.encode(str),\n (bytes) => textDecoder.decode(bytes),\n )\n"],"names":["textEncoder","textDecoder"],"mappings":";;AAEO,MAAMA,aAAA,GAAc,IAAI,WAAA;AAC/B,MAAMC,aAAA,GAAc,IAAI,WAAA,EAAY;AAE7B,MAAM,QAAA,GAAW,CAAC,MAAA,KACvB,YAAA;AAAA,EACE,MAAM,MAAM,CAAA;AAAA,EACZ,CAAC,GAAA,KAAgBD,aAAA,CAAY,MAAA,CAAO,GAAG,CAAA;AAAA,EACvC,CAAC,KAAA,KAAUC,aAAA,CAAY,MAAA,CAAO,KAAK;AACrC;;;;"}
@@ -1,8 +1,8 @@
1
1
  import { mergeUint8 } from '@polkadot-api/utils';
2
2
  import { blake2b } from '@noble/hashes/blake2.js';
3
3
 
4
- const len32 = { dkLen: 32 };
5
- const Blake2256 = (encoded) => blake2b(encoded, len32);
4
+ const len32$1 = { dkLen: 32 };
5
+ const Blake2256 = (encoded) => blake2b(encoded, len32$1);
6
6
  const len16 = { dkLen: 16 };
7
7
  const Blake2128 = (encoded) => blake2b(encoded, len16);
8
8
  const Blake2128Concat = (encoded) => mergeUint8([Blake2128(encoded), encoded]);
@@ -1 +1 @@
1
- {"version":3,"file":"blake2.mjs","sources":["../../../src/hashes/blake2.ts"],"sourcesContent":["import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { blake2b } from \"@noble/hashes/blake2.js\"\n\nconst len32 = { dkLen: 32 }\nexport const Blake2256 = (encoded: Uint8Array) => blake2b(encoded, len32)\n\nconst len16 = { dkLen: 16 }\nexport const Blake2128 = (encoded: Uint8Array) => blake2b(encoded, len16)\n\nexport const Blake2128Concat = (encoded: Uint8Array) =>\n mergeUint8([Blake2128(encoded), encoded])\n"],"names":[],"mappings":";;;AAGA,MAAM,KAAA,GAAQ,EAAE,KAAA,EAAO,EAAA,EAAG;AACnB,MAAM,SAAA,GAAY,CAAC,OAAA,KAAwB,OAAA,CAAQ,SAAS,KAAK;AAExE,MAAM,KAAA,GAAQ,EAAE,KAAA,EAAO,EAAA,EAAG;AACnB,MAAM,SAAA,GAAY,CAAC,OAAA,KAAwB,OAAA,CAAQ,SAAS,KAAK;AAEjE,MAAM,eAAA,GAAkB,CAAC,OAAA,KAC9B,UAAA,CAAW,CAAC,SAAA,CAAU,OAAO,CAAA,EAAG,OAAO,CAAC;;;;"}
1
+ {"version":3,"file":"blake2.mjs","sources":["../../../src/hashes/blake2.ts"],"sourcesContent":["import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { blake2b } from \"@noble/hashes/blake2.js\"\n\nconst len32 = { dkLen: 32 }\nexport const Blake2256 = (encoded: Uint8Array) => blake2b(encoded, len32)\n\nconst len16 = { dkLen: 16 }\nexport const Blake2128 = (encoded: Uint8Array) => blake2b(encoded, len16)\n\nexport const Blake2128Concat = (encoded: Uint8Array) =>\n mergeUint8([Blake2128(encoded), encoded])\n"],"names":["len32"],"mappings":";;;AAGA,MAAMA,OAAA,GAAQ,EAAE,KAAA,EAAO,EAAA,EAAG;AACnB,MAAM,SAAA,GAAY,CAAC,OAAA,KAAwB,OAAA,CAAQ,SAASA,OAAK;AAExE,MAAM,KAAA,GAAQ,EAAE,KAAA,EAAO,EAAA,EAAG;AACnB,MAAM,SAAA,GAAY,CAAC,OAAA,KAAwB,OAAA,CAAQ,SAAS,KAAK;AAEjE,MAAM,eAAA,GAAkB,CAAC,OAAA,KAC9B,UAAA,CAAW,CAAC,SAAA,CAAU,OAAO,CAAA,EAAG,OAAO,CAAC;;;;"}
@@ -1,5 +1,5 @@
1
1
  export { AccountId } from './codecs/scale/AccountId.mjs';
2
- export { Bin, Binary, FixedSizeBinary } from './codecs/scale/Binary.mjs';
2
+ export { Binary } from './codecs/scale/Binary.mjs';
3
3
  export { bitSequence } from './codecs/scale/bitSequence.mjs';
4
4
  export { char } from './codecs/scale/char.mjs';
5
5
  export { compactBn, compactNumber } from './codecs/scale/compact.mjs';
@@ -21,7 +21,7 @@ import { Blake2256 } from '../hashes/blake2.mjs';
21
21
  import '@noble/hashes/blake3.js';
22
22
  import '@noble/hashes/sha3.js';
23
23
 
24
- const PREFIX = Binary.fromText("modlpy/utilisuba").asBytes();
24
+ const PREFIX = Binary.fromText("modlpy/utilisuba");
25
25
  const getMultisigAccountId = ({
26
26
  threshold,
27
27
  signatories
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM,MAAA,GAAS,MAAA,CAAO,QAAA,CAAS,kBAAkB,EAAE,OAAA,EAAQ;AACpD,MAAM,uBAAuB,CAAC;AAAA,EACnC,SAAA;AAAA,EACA;AACF,CAAA,KAGM;AACJ,EAAA,MAAM,iBAAA,GAAoB,wBAAwB,WAAW,CAAA;AAC7D,EAAA,MAAM,UAAU,UAAA,CAAW;AAAA,IACzB,MAAA;AAAA,IACA,OAAA,CAAQ,GAAA,CAAI,iBAAA,CAAkB,MAAM,CAAA;AAAA,IACpC,GAAG,iBAAA;AAAA,IACH,GAAA,CAAI,IAAI,SAAS;AAAA,GAClB,CAAA;AACD,EAAA,OAAO,UAAU,OAAO,CAAA;AAC1B;AAEO,MAAM,uBAAA,GAA0B,CAAC,WAAA,KACtC,WAAA,CAAY,OAAM,CAAE,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,KAAM;AACjC,EAAA,KAAA,IAAS,CAAA,GAAI,KAAK,CAAA,EAAA,EAAK;AACrB,IAAA,MAAM,KAAA,GAAQ,KAAK,CAAA,CAAE,MAAA;AACrB,IAAA,MAAM,KAAA,GAAQ,KAAK,CAAA,CAAE,MAAA;AAErB,IAAA,IAAI,KAAA,IAAS,OAAO,OAAO,CAAA;AAAA,SAAA,IAClB,OAAO,OAAO,EAAA;AAAA,SAAA,IACd,OAAO,OAAO,CAAA;AAAA,SAAA,IACd,CAAA,CAAE,CAAC,CAAA,KAAM,CAAA,CAAE,CAAC,CAAA,EAAG,OAAO,CAAA,CAAE,CAAC,CAAA,GAAI,CAAA,CAAE,CAAC,IAAI,CAAA,GAAI,EAAA;AAAA,EACnD;AACF,CAAC;;;;"}
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\")\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,MAAA,GAAS,MAAA,CAAO,QAAA,CAAS,kBAAkB,CAAA;AAC1C,MAAM,uBAAuB,CAAC;AAAA,EACnC,SAAA;AAAA,EACA;AACF,CAAA,KAGM;AACJ,EAAA,MAAM,iBAAA,GAAoB,wBAAwB,WAAW,CAAA;AAC7D,EAAA,MAAM,UAAU,UAAA,CAAW;AAAA,IACzB,MAAA;AAAA,IACA,OAAA,CAAQ,GAAA,CAAI,iBAAA,CAAkB,MAAM,CAAA;AAAA,IACpC,GAAG,iBAAA;AAAA,IACH,GAAA,CAAI,IAAI,SAAS;AAAA,GAClB,CAAA;AACD,EAAA,OAAO,UAAU,OAAO,CAAA;AAC1B;AAEO,MAAM,uBAAA,GAA0B,CAAC,WAAA,KACtC,WAAA,CAAY,OAAM,CAAE,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,KAAM;AACjC,EAAA,KAAA,IAAS,CAAA,GAAI,KAAK,CAAA,EAAA,EAAK;AACrB,IAAA,MAAM,KAAA,GAAQ,KAAK,CAAA,CAAE,MAAA;AACrB,IAAA,MAAM,KAAA,GAAQ,KAAK,CAAA,CAAE,MAAA;AAErB,IAAA,IAAI,KAAA,IAAS,OAAO,OAAO,CAAA;AAAA,SAAA,IAClB,OAAO,OAAO,EAAA;AAAA,SAAA,IACd,OAAO,OAAO,CAAA;AAAA,SAAA,IACd,CAAA,CAAE,CAAC,CAAA,KAAM,CAAA,CAAE,CAAC,CAAA,EAAG,OAAO,CAAA,CAAE,CAAC,CAAA,GAAI,CAAA,CAAE,CAAC,IAAI,CAAA,GAAI,EAAA;AAAA,EACnD;AACF,CAAC;;;;"}
package/dist/index.d.ts CHANGED
@@ -20,43 +20,22 @@ declare const AccountId: (ss58Format?: number, nBytes?: 32 | 33) => scale_ts.Cod
20
20
  type HexString = string & {
21
21
  __hexString?: unknown;
22
22
  };
23
+ type SizedHex<T extends number> = string & {
24
+ __hexString?: T | unknown;
25
+ };
23
26
  declare const Hex: {
24
27
  (nBytes?: number): Codec<HexString>;
25
28
  enc: (nBytes?: number) => Encoder<HexString>;
26
29
  dec: (nBytes?: number) => Decoder<HexString>;
27
30
  };
28
31
 
29
- declare const getMultisigAccountId: ({ threshold, signatories, }: {
30
- threshold: number;
31
- signatories: Uint8Array[];
32
- }) => Uint8Array<ArrayBufferLike>;
33
- declare const sortMultisigSignatories: (signatories: Uint8Array[]) => Uint8Array<ArrayBufferLike>[];
34
-
35
- declare class Binary {
36
- #private;
37
- constructor(data: Uint8Array, opaque?: boolean);
38
- asText: () => string;
39
- asHex: () => `0x${string}`;
40
- asOpaqueHex: () => `0x${string}`;
41
- asBytes: () => Uint8Array<ArrayBufferLike>;
42
- asOpaqueBytes: () => Uint8Array<ArrayBufferLike>;
43
- static fromText(input: string): Binary;
44
- static fromHex(input: HexString): Binary;
45
- static fromOpaqueHex(input: HexString): Binary;
46
- static fromBytes(input: Uint8Array): Binary;
47
- static fromOpaqueBytes(input: Uint8Array): Binary;
48
- }
49
- declare class FixedSizeBinary<_L extends number> extends Binary {
50
- constructor(data: Uint8Array);
51
- static fromArray<L extends number, I extends Array<number> & {
52
- length: L;
53
- }>(input: I): FixedSizeBinary<L>;
54
- static fromAccountId32<L extends number>(input: L extends 32 ? SS58String : never): FixedSizeBinary<L>;
55
- }
56
- declare const Bin: {
57
- (nBytes?: number): Codec<Binary>;
58
- enc: (nBytes?: number) => Encoder<Binary>;
59
- dec: (nBytes?: number) => Decoder<Binary>;
32
+ declare const Binary: {
33
+ toText: (bytes: Uint8Array) => string;
34
+ toHex: (bytes: Uint8Array) => HexString;
35
+ toOpaque: (bytes: Uint8Array) => Uint8Array<ArrayBufferLike>;
36
+ fromText: (text: string) => Uint8Array<ArrayBuffer>;
37
+ fromHex: (hex: HexString) => Uint8Array<ArrayBufferLike>;
38
+ fromOpaque: (opaque: Uint8Array | HexString) => Uint8Array<ArrayBufferLike>;
60
39
  };
61
40
 
62
41
  interface BitSequence {
@@ -2181,20 +2160,18 @@ type UnifiedMetadata<T extends 14 | 15 | 16 = 14 | 15 | 16> = {
2181
2160
  } & DeprecationInfo<T>>;
2182
2161
  extrinsic: {
2183
2162
  version: number[];
2184
- signedExtensions: Array<{
2163
+ signedExtensions: Record<number, Array<{
2185
2164
  identifier: string;
2186
2165
  type: number;
2187
2166
  additionalSigned: number;
2188
- }>;
2167
+ }>>;
2189
2168
  } & (T extends 14 ? {
2190
2169
  type: number;
2191
2170
  } : {
2192
2171
  address: number;
2193
2172
  call: number;
2194
2173
  signature: number;
2195
- }) & (T extends 16 ? {
2196
- signedExtensionsByVersion: Array<[number, number[]]>;
2197
- } : {});
2174
+ });
2198
2175
  apis: Array<{
2199
2176
  name: string;
2200
2177
  methods: Array<{
@@ -2258,6 +2235,12 @@ declare const Storage: (pallet: string) => <A extends Array<EncoderWithHash<any>
2258
2235
  dec: (value: string) => { [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown; };
2259
2236
  };
2260
2237
 
2238
+ declare const getMultisigAccountId: ({ threshold, signatories, }: {
2239
+ threshold: number;
2240
+ signatories: Uint8Array[];
2241
+ }) => Uint8Array<ArrayBufferLike>;
2242
+ declare const sortMultisigSignatories: (signatories: Uint8Array[]) => Uint8Array<ArrayBufferLike>[];
2243
+
2261
2244
  declare const TrieNodeHeaders: {
2262
2245
  readonly Leaf: "Leaf";
2263
2246
  readonly Branch: "Branch";
@@ -2301,5 +2284,5 @@ declare const validateProofs: <T extends HexString | Uint8Array>(proofs: Array<T
2301
2284
  proofs: Record<HexString, ProofTrieNode>;
2302
2285
  } | null;
2303
2286
 
2304
- export { AccountId, Bin, Binary, BitSeq, Blake2128, Blake2128Concat, Blake2256, Blake3256, Blake3256Concat, Enum, FixedSizeBinary, Hex, Identity, Keccak256, Option, Result, ScaleEnum, Self, Storage, Struct, TrieNodeHeaders, TrieNodeWithHash, Tuple, Twox128, Twox256, Twox64Concat, Variant, Vector, _Enum, bitSequence, blockHeader, char, compactBn, compactNumber, decAnyMetadata, ethAccount, extrinsicFormat, fixedStr, fromBufferToBase58, getMultisigAccountId, getSs58AddressInfo, h64, metadata, selfDecoder, selfEncoder, sortMultisigSignatories, trieNodeDec, unifyMetadata, v14, lookup as v14Lookup, v15, v16, validateProofs };
2305
- export type { BitSequence, BlockHeader, EncoderWithHash, EnumVariant, ExtractEnumValue, ExtrinsicFormat, GetEnum, HexString, Metadata, Nibble, OpaqueKeyHash, ProofTrieNode, SS58AddressInfo, SS58String, TrieNode, TrieNodeHeaderKey, UnifiedMetadata, V14, V14Lookup, V15, V16 };
2287
+ export { AccountId, Binary, BitSeq, Blake2128, Blake2128Concat, Blake2256, Blake3256, Blake3256Concat, Enum, Hex, Identity, Keccak256, Option, Result, ScaleEnum, Self, Storage, Struct, TrieNodeHeaders, TrieNodeWithHash, Tuple, Twox128, Twox256, Twox64Concat, Variant, Vector, _Enum, bitSequence, blockHeader, char, compactBn, compactNumber, decAnyMetadata, ethAccount, extrinsicFormat, fixedStr, fromBufferToBase58, getMultisigAccountId, getSs58AddressInfo, h64, metadata, selfDecoder, selfEncoder, sortMultisigSignatories, trieNodeDec, unifyMetadata, v14, lookup as v14Lookup, v15, v16, validateProofs };
2288
+ export type { BitSequence, BlockHeader, EncoderWithHash, EnumVariant, ExtractEnumValue, ExtrinsicFormat, GetEnum, HexString, Metadata, Nibble, OpaqueKeyHash, ProofTrieNode, SS58AddressInfo, SS58String, SizedHex, TrieNode, TrieNodeHeaderKey, UnifiedMetadata, V14, V14Lookup, V15, V16 };