@polkadot-api/substrate-bindings 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -117,6 +117,8 @@ declare const Variant: {
117
117
  } : never; }[keyof O_2]>>;
118
118
  };
119
119
 
120
+ declare const ethAccount: scale_ts.Codec<string>;
121
+
120
122
  declare const blockHeader: Codec<{
121
123
  parentHash: HexString;
122
124
  number: number;
@@ -783,4 +785,4 @@ type GetEnum<T extends Enum<{
783
785
  [K in T["type"]]: (...args: ExtractEnumValue<T, K> extends undefined ? [] : [value: ExtractEnumValue<T, K>]) => T;
784
786
  };
785
787
 
786
- export { AccountId, type AssetDescriptor, Bin, Binary, type BitSequence, Blake2128, Blake2128Concat, Blake2256, type BlockHeader, type ConstFromDescriptors, type Descriptors, type Discriminant, type EncoderWithHash, Enum, type ErrorsFromDescriptors, type EventsFromDescriptors, type ExtractEnumValue, FixedSizeBinary, type GetEnum, Hex, type HexString, Identity, type PlainDescriptor, type QueryFromDescriptors, type RuntimeDescriptor, type SS58AddressInfo, type SS58String, Self, Storage, type StorageDescriptor, Twox128, Twox256, Twox64Concat, type TxDescriptor, type TxFromDescriptors, type V14Lookup, type V15, type V15Extrinsic, Variant, _Enum, bitSequence, blockHeader, char, compactBn, compactNumber, fixedStr, fromBufferToBase58, getSs58AddressInfo, h64, metadata, selfDecoder, selfEncoder, v15 };
788
+ export { AccountId, type AssetDescriptor, Bin, Binary, type BitSequence, Blake2128, Blake2128Concat, Blake2256, type BlockHeader, type ConstFromDescriptors, type Descriptors, type Discriminant, type EncoderWithHash, Enum, type ErrorsFromDescriptors, type EventsFromDescriptors, type ExtractEnumValue, FixedSizeBinary, type GetEnum, Hex, type HexString, Identity, type PlainDescriptor, type QueryFromDescriptors, type RuntimeDescriptor, type SS58AddressInfo, type SS58String, Self, Storage, type StorageDescriptor, Twox128, Twox256, Twox64Concat, type TxDescriptor, type TxFromDescriptors, type V14Lookup, type V15, type V15Extrinsic, Variant, _Enum, bitSequence, blockHeader, char, compactBn, compactNumber, ethAccount, fixedStr, fromBufferToBase58, getSs58AddressInfo, h64, metadata, selfDecoder, selfEncoder, v15 };
package/dist/index.d.ts CHANGED
@@ -117,6 +117,8 @@ declare const Variant: {
117
117
  } : never; }[keyof O_2]>>;
118
118
  };
119
119
 
120
+ declare const ethAccount: scale_ts.Codec<string>;
121
+
120
122
  declare const blockHeader: Codec<{
121
123
  parentHash: HexString;
122
124
  number: number;
@@ -783,4 +785,4 @@ type GetEnum<T extends Enum<{
783
785
  [K in T["type"]]: (...args: ExtractEnumValue<T, K> extends undefined ? [] : [value: ExtractEnumValue<T, K>]) => T;
784
786
  };
785
787
 
786
- export { AccountId, type AssetDescriptor, Bin, Binary, type BitSequence, Blake2128, Blake2128Concat, Blake2256, type BlockHeader, type ConstFromDescriptors, type Descriptors, type Discriminant, type EncoderWithHash, Enum, type ErrorsFromDescriptors, type EventsFromDescriptors, type ExtractEnumValue, FixedSizeBinary, type GetEnum, Hex, type HexString, Identity, type PlainDescriptor, type QueryFromDescriptors, type RuntimeDescriptor, type SS58AddressInfo, type SS58String, Self, Storage, type StorageDescriptor, Twox128, Twox256, Twox64Concat, type TxDescriptor, type TxFromDescriptors, type V14Lookup, type V15, type V15Extrinsic, Variant, _Enum, bitSequence, blockHeader, char, compactBn, compactNumber, fixedStr, fromBufferToBase58, getSs58AddressInfo, h64, metadata, selfDecoder, selfEncoder, v15 };
788
+ export { AccountId, type AssetDescriptor, Bin, Binary, type BitSequence, Blake2128, Blake2128Concat, Blake2256, type BlockHeader, type ConstFromDescriptors, type Descriptors, type Discriminant, type EncoderWithHash, Enum, type ErrorsFromDescriptors, type EventsFromDescriptors, type ExtractEnumValue, FixedSizeBinary, type GetEnum, Hex, type HexString, Identity, type PlainDescriptor, type QueryFromDescriptors, type RuntimeDescriptor, type SS58AddressInfo, type SS58String, Self, Storage, type StorageDescriptor, Twox128, Twox256, Twox64Concat, type TxDescriptor, type TxFromDescriptors, type V14Lookup, type V15, type V15Extrinsic, Variant, _Enum, bitSequence, blockHeader, char, compactBn, compactNumber, ethAccount, fixedStr, fromBufferToBase58, getSs58AddressInfo, h64, metadata, selfDecoder, selfEncoder, v15 };
package/dist/index.js CHANGED
@@ -79,6 +79,7 @@ __export(src_exports, {
79
79
  enhanceCodec: () => import_scale_ts8.enhanceCodec,
80
80
  enhanceDecoder: () => import_scale_ts8.enhanceDecoder,
81
81
  enhanceEncoder: () => import_scale_ts8.enhanceEncoder,
82
+ ethAccount: () => ethAccount,
82
83
  fixedStr: () => fixedStr,
83
84
  fromBufferToBase58: () => fromBufferToBase58,
84
85
  getSs58AddressInfo: () => getSs58AddressInfo,
@@ -361,6 +362,37 @@ var Variant = (inner, ...args) => (0, import_scale_ts10.createCodec)(
361
362
  Variant.enc = VariantEnc;
362
363
  Variant.dec = VariantDec;
363
364
 
365
+ // src/codecs/scale/ethAccount.ts
366
+ var import_utils4 = require("@polkadot-api/utils");
367
+ var import_scale_ts11 = require("scale-ts");
368
+ var import_sha3 = require("@noble/hashes/sha3");
369
+ var getFormattedAddress = (hexAddress) => {
370
+ const nonChecksum = hexAddress.slice(2);
371
+ const hashedAddress = (0, import_utils4.toHex)((0, import_sha3.keccak_256)(nonChecksum)).slice(2);
372
+ const result = new Array(40);
373
+ for (let i = 0; i < 40; i++) {
374
+ const checksumVal = parseInt(hashedAddress[i], 16);
375
+ const char2 = nonChecksum[i];
376
+ result[i] = checksumVal > 7 ? char2.toUpperCase() : char2;
377
+ }
378
+ return `0x${result.join("")}`;
379
+ };
380
+ var bytes20Dec = (0, import_scale_ts11.Bytes)(20)[1];
381
+ var ethAccount = (0, import_scale_ts11.createCodec)(
382
+ (input) => {
383
+ const bytes = (0, import_utils4.fromHex)(input);
384
+ if (bytes.length !== 20)
385
+ throw new Error(`Invalid length found on EthAddress(${input})`);
386
+ const hexAddress = (0, import_utils4.toHex)(bytes);
387
+ if (input === hexAddress || input === hexAddress.toUpperCase())
388
+ return bytes;
389
+ if (getFormattedAddress(hexAddress) !== input)
390
+ throw new Error(`Invalid checksum found on EthAddress(${input})`);
391
+ return bytes;
392
+ },
393
+ (0, import_scale_ts11.createDecoder)((bytes) => getFormattedAddress((0, import_utils4.toHex)(bytes20Dec(bytes))))
394
+ );
395
+
364
396
  // src/codecs/blockHeader.ts
365
397
  var textEncoder3 = new TextEncoder();
366
398
  var textDecoder3 = new TextDecoder();
@@ -392,140 +424,140 @@ var blockHeader = (0, import_scale_ts8.Struct)({
392
424
  });
393
425
 
394
426
  // src/codecs/metadata/v15/v15.ts
395
- var import_scale_ts13 = require("scale-ts");
427
+ var import_scale_ts14 = require("scale-ts");
396
428
 
397
429
  // src/codecs/metadata/v15/lookup.ts
398
- var import_scale_ts11 = require("scale-ts");
399
- var oStr = (0, import_scale_ts11.Option)(import_scale_ts11.str);
400
- var strs = (0, import_scale_ts11.Vector)(import_scale_ts11.str);
401
- var primitive = (0, import_scale_ts11.Enum)({
402
- bool: import_scale_ts11._void,
403
- char: import_scale_ts11._void,
404
- str: import_scale_ts11._void,
405
- u8: import_scale_ts11._void,
406
- u16: import_scale_ts11._void,
407
- u32: import_scale_ts11._void,
408
- u64: import_scale_ts11._void,
409
- u128: import_scale_ts11._void,
410
- u256: import_scale_ts11._void,
411
- i8: import_scale_ts11._void,
412
- i16: import_scale_ts11._void,
413
- i32: import_scale_ts11._void,
414
- i64: import_scale_ts11._void,
415
- i128: import_scale_ts11._void,
416
- i256: import_scale_ts11._void
430
+ var import_scale_ts12 = require("scale-ts");
431
+ var oStr = (0, import_scale_ts12.Option)(import_scale_ts12.str);
432
+ var strs = (0, import_scale_ts12.Vector)(import_scale_ts12.str);
433
+ var primitive = (0, import_scale_ts12.Enum)({
434
+ bool: import_scale_ts12._void,
435
+ char: import_scale_ts12._void,
436
+ str: import_scale_ts12._void,
437
+ u8: import_scale_ts12._void,
438
+ u16: import_scale_ts12._void,
439
+ u32: import_scale_ts12._void,
440
+ u64: import_scale_ts12._void,
441
+ u128: import_scale_ts12._void,
442
+ u256: import_scale_ts12._void,
443
+ i8: import_scale_ts12._void,
444
+ i16: import_scale_ts12._void,
445
+ i32: import_scale_ts12._void,
446
+ i64: import_scale_ts12._void,
447
+ i128: import_scale_ts12._void,
448
+ i256: import_scale_ts12._void
417
449
  });
418
- var fields = (0, import_scale_ts11.Vector)(
419
- (0, import_scale_ts11.Struct)({
450
+ var fields = (0, import_scale_ts12.Vector)(
451
+ (0, import_scale_ts12.Struct)({
420
452
  name: oStr,
421
453
  type: compactNumber,
422
454
  typeName: oStr,
423
455
  docs: strs
424
456
  })
425
457
  );
426
- var arr = (0, import_scale_ts11.Struct)({
427
- len: import_scale_ts11.u32,
458
+ var arr = (0, import_scale_ts12.Struct)({
459
+ len: import_scale_ts12.u32,
428
460
  type: compactNumber
429
461
  });
430
- var bitSequence2 = (0, import_scale_ts11.Struct)({
462
+ var bitSequence2 = (0, import_scale_ts12.Struct)({
431
463
  bitStoreType: compactNumber,
432
464
  bitOrderType: compactNumber
433
465
  });
434
- var variant = (0, import_scale_ts11.Vector)(
435
- (0, import_scale_ts11.Struct)({
436
- name: import_scale_ts11.str,
466
+ var variant = (0, import_scale_ts12.Vector)(
467
+ (0, import_scale_ts12.Struct)({
468
+ name: import_scale_ts12.str,
437
469
  fields,
438
- index: import_scale_ts11.u8,
470
+ index: import_scale_ts12.u8,
439
471
  docs: strs
440
472
  })
441
473
  );
442
- var def = (0, import_scale_ts11.Enum)({
474
+ var def = (0, import_scale_ts12.Enum)({
443
475
  composite: fields,
444
476
  variant,
445
477
  sequence: compactNumber,
446
478
  array: arr,
447
- tuple: (0, import_scale_ts11.Vector)(compactNumber),
479
+ tuple: (0, import_scale_ts12.Vector)(compactNumber),
448
480
  primitive,
449
481
  compact: compactNumber,
450
482
  bitSequence: bitSequence2
451
483
  });
452
- var param = (0, import_scale_ts11.Struct)({
453
- name: import_scale_ts11.str,
454
- type: (0, import_scale_ts11.Option)(compactNumber)
484
+ var param = (0, import_scale_ts12.Struct)({
485
+ name: import_scale_ts12.str,
486
+ type: (0, import_scale_ts12.Option)(compactNumber)
455
487
  });
456
- var params = (0, import_scale_ts11.Vector)(param);
457
- var entry = (0, import_scale_ts11.Struct)({
488
+ var params = (0, import_scale_ts12.Vector)(param);
489
+ var entry = (0, import_scale_ts12.Struct)({
458
490
  id: compactNumber,
459
491
  path: strs,
460
492
  params,
461
493
  def,
462
494
  docs: strs
463
495
  });
464
- var lookup = (0, import_scale_ts11.Vector)(entry);
496
+ var lookup = (0, import_scale_ts12.Vector)(entry);
465
497
 
466
498
  // src/codecs/metadata/v15/pallets.ts
467
- var import_scale_ts12 = require("scale-ts");
468
- var hashType = (0, import_scale_ts12.Enum)({
469
- Blake2128: import_scale_ts12._void,
470
- Blake2256: import_scale_ts12._void,
471
- Blake2128Concat: import_scale_ts12._void,
472
- Twox128: import_scale_ts12._void,
473
- Twox256: import_scale_ts12._void,
474
- Twox64Concat: import_scale_ts12._void,
475
- Identity: import_scale_ts12._void
499
+ var import_scale_ts13 = require("scale-ts");
500
+ var hashType = (0, import_scale_ts13.Enum)({
501
+ Blake2128: import_scale_ts13._void,
502
+ Blake2256: import_scale_ts13._void,
503
+ Blake2128Concat: import_scale_ts13._void,
504
+ Twox128: import_scale_ts13._void,
505
+ Twox256: import_scale_ts13._void,
506
+ Twox64Concat: import_scale_ts13._void,
507
+ Identity: import_scale_ts13._void
476
508
  });
477
- var hashers = (0, import_scale_ts12.Vector)(hashType);
478
- var storageMap = (0, import_scale_ts12.Struct)({
509
+ var hashers = (0, import_scale_ts13.Vector)(hashType);
510
+ var storageMap = (0, import_scale_ts13.Struct)({
479
511
  hashers,
480
512
  key: compactNumber,
481
513
  value: compactNumber
482
514
  });
483
- var storageItem = (0, import_scale_ts12.Struct)({
484
- name: import_scale_ts12.str,
485
- modifier: import_scale_ts12.u8,
486
- type: (0, import_scale_ts12.Enum)({
515
+ var storageItem = (0, import_scale_ts13.Struct)({
516
+ name: import_scale_ts13.str,
517
+ modifier: import_scale_ts13.u8,
518
+ type: (0, import_scale_ts13.Enum)({
487
519
  plain: compactNumber,
488
520
  map: storageMap
489
521
  }),
490
522
  fallback: Hex(),
491
- docs: (0, import_scale_ts12.Vector)(import_scale_ts12.str)
523
+ docs: (0, import_scale_ts13.Vector)(import_scale_ts13.str)
492
524
  });
493
- var storage = (0, import_scale_ts12.Option)(
494
- (0, import_scale_ts12.Struct)({
495
- prefix: import_scale_ts12.str,
496
- items: (0, import_scale_ts12.Vector)(storageItem)
525
+ var storage = (0, import_scale_ts13.Option)(
526
+ (0, import_scale_ts13.Struct)({
527
+ prefix: import_scale_ts13.str,
528
+ items: (0, import_scale_ts13.Vector)(storageItem)
497
529
  })
498
530
  );
499
- var pallets = (0, import_scale_ts12.Vector)(
500
- (0, import_scale_ts12.Struct)({
501
- name: import_scale_ts12.str,
531
+ var pallets = (0, import_scale_ts13.Vector)(
532
+ (0, import_scale_ts13.Struct)({
533
+ name: import_scale_ts13.str,
502
534
  storage,
503
- calls: (0, import_scale_ts12.Option)(compactNumber),
504
- events: (0, import_scale_ts12.Option)(compactNumber),
505
- constants: (0, import_scale_ts12.Vector)(
506
- (0, import_scale_ts12.Struct)({
507
- name: import_scale_ts12.str,
535
+ calls: (0, import_scale_ts13.Option)(compactNumber),
536
+ events: (0, import_scale_ts13.Option)(compactNumber),
537
+ constants: (0, import_scale_ts13.Vector)(
538
+ (0, import_scale_ts13.Struct)({
539
+ name: import_scale_ts13.str,
508
540
  type: compactNumber,
509
541
  value: Hex(),
510
- docs: (0, import_scale_ts12.Vector)(import_scale_ts12.str)
542
+ docs: (0, import_scale_ts13.Vector)(import_scale_ts13.str)
511
543
  })
512
544
  ),
513
- errors: (0, import_scale_ts12.Option)(compactNumber),
514
- index: import_scale_ts12.u8,
515
- docs: (0, import_scale_ts12.Vector)(import_scale_ts12.str)
545
+ errors: (0, import_scale_ts13.Option)(compactNumber),
546
+ index: import_scale_ts13.u8,
547
+ docs: (0, import_scale_ts13.Vector)(import_scale_ts13.str)
516
548
  })
517
549
  );
518
550
 
519
551
  // src/codecs/metadata/v15/v15.ts
520
- var docs = (0, import_scale_ts13.Vector)(import_scale_ts13.str);
521
- var runtimeApi = (0, import_scale_ts13.Struct)({
522
- name: import_scale_ts13.str,
523
- methods: (0, import_scale_ts13.Vector)(
524
- (0, import_scale_ts13.Struct)({
525
- name: import_scale_ts13.str,
526
- inputs: (0, import_scale_ts13.Vector)(
527
- (0, import_scale_ts13.Struct)({
528
- name: import_scale_ts13.str,
552
+ var docs = (0, import_scale_ts14.Vector)(import_scale_ts14.str);
553
+ var runtimeApi = (0, import_scale_ts14.Struct)({
554
+ name: import_scale_ts14.str,
555
+ methods: (0, import_scale_ts14.Vector)(
556
+ (0, import_scale_ts14.Struct)({
557
+ name: import_scale_ts14.str,
558
+ inputs: (0, import_scale_ts14.Vector)(
559
+ (0, import_scale_ts14.Struct)({
560
+ name: import_scale_ts14.str,
529
561
  type: compactNumber
530
562
  })
531
563
  ),
@@ -535,46 +567,46 @@ var runtimeApi = (0, import_scale_ts13.Struct)({
535
567
  ),
536
568
  docs
537
569
  });
538
- var extrinsic = (0, import_scale_ts13.Struct)({
539
- version: import_scale_ts13.u8,
570
+ var extrinsic = (0, import_scale_ts14.Struct)({
571
+ version: import_scale_ts14.u8,
540
572
  address: compactNumber,
541
573
  call: compactNumber,
542
574
  signature: compactNumber,
543
575
  extra: compactNumber,
544
- signedExtensions: (0, import_scale_ts13.Vector)(
545
- (0, import_scale_ts13.Struct)({
546
- identifier: import_scale_ts13.str,
576
+ signedExtensions: (0, import_scale_ts14.Vector)(
577
+ (0, import_scale_ts14.Struct)({
578
+ identifier: import_scale_ts14.str,
547
579
  type: compactNumber,
548
580
  additionalSigned: compactNumber
549
581
  })
550
582
  )
551
583
  });
552
- var v15 = (0, import_scale_ts13.Struct)({
584
+ var v15 = (0, import_scale_ts14.Struct)({
553
585
  lookup,
554
586
  pallets,
555
587
  extrinsic,
556
588
  type: compactNumber,
557
- apis: (0, import_scale_ts13.Vector)(runtimeApi),
558
- outerEnums: (0, import_scale_ts13.Struct)({
589
+ apis: (0, import_scale_ts14.Vector)(runtimeApi),
590
+ outerEnums: (0, import_scale_ts14.Struct)({
559
591
  call: compactNumber,
560
592
  event: compactNumber,
561
593
  error: compactNumber
562
594
  }),
563
- custom: (0, import_scale_ts13.Vector)((0, import_scale_ts13.Tuple)(import_scale_ts13.str, (0, import_scale_ts13.Struct)({ type: compactNumber, value: Hex() })))
595
+ custom: (0, import_scale_ts14.Vector)((0, import_scale_ts14.Tuple)(import_scale_ts14.str, (0, import_scale_ts14.Struct)({ type: compactNumber, value: Hex() })))
564
596
  });
565
597
 
566
598
  // src/codecs/metadata/metadata.ts
567
- var import_scale_ts14 = require("scale-ts");
599
+ var import_scale_ts15 = require("scale-ts");
568
600
  var unsupportedFn = () => {
569
601
  throw new Error("Unsupported metadata version!");
570
602
  };
571
- var unsupported = (0, import_scale_ts14.createCodec)(
603
+ var unsupported = (0, import_scale_ts15.createCodec)(
572
604
  unsupportedFn,
573
605
  unsupportedFn
574
606
  );
575
- var metadata = (0, import_scale_ts14.Struct)({
576
- magicNumber: import_scale_ts14.u32,
577
- metadata: (0, import_scale_ts14.Enum)({
607
+ var metadata = (0, import_scale_ts15.Struct)({
608
+ magicNumber: import_scale_ts15.u32,
609
+ metadata: (0, import_scale_ts15.Enum)({
578
610
  v0: unsupported,
579
611
  v1: unsupported,
580
612
  v2: unsupported,
@@ -595,20 +627,20 @@ var metadata = (0, import_scale_ts14.Struct)({
595
627
  });
596
628
 
597
629
  // src/hashes/blake2.ts
598
- var import_utils4 = require("@polkadot-api/utils");
630
+ var import_utils5 = require("@polkadot-api/utils");
599
631
  var import_blake2b2 = require("@noble/hashes/blake2b");
600
632
  var len32 = { dkLen: 32 };
601
633
  var Blake2256 = (encoded) => (0, import_blake2b2.blake2b)(encoded, len32);
602
634
  var len16 = { dkLen: 16 };
603
635
  var Blake2128 = (encoded) => (0, import_blake2b2.blake2b)(encoded, len16);
604
- var Blake2128Concat = (encoded) => (0, import_utils4.mergeUint8)(Blake2128(encoded), encoded);
636
+ var Blake2128Concat = (encoded) => (0, import_utils5.mergeUint8)(Blake2128(encoded), encoded);
605
637
 
606
638
  // src/hashes/identity.ts
607
639
  var Identity = (encoded) => encoded;
608
640
 
609
641
  // src/hashes/twoX.ts
610
- var import_utils5 = require("@polkadot-api/utils");
611
- var import_scale_ts15 = require("scale-ts");
642
+ var import_utils6 = require("@polkadot-api/utils");
643
+ var import_scale_ts16 = require("scale-ts");
612
644
 
613
645
  // src/hashes/h64.ts
614
646
  var bigintFromU16 = (v0, v1, v2, v3) => new DataView(new Uint16Array([v0, v1, v2, v3]).buffer).getBigUint64(0, true);
@@ -761,19 +793,19 @@ var Twox256 = (input) => {
761
793
  dv.setBigUint64(24, h64(input, 3n), true);
762
794
  return result;
763
795
  };
764
- var Twox64Concat = (encoded) => (0, import_utils5.mergeUint8)(import_scale_ts15.u64.enc(h64(encoded)), encoded);
796
+ var Twox64Concat = (encoded) => (0, import_utils6.mergeUint8)(import_scale_ts16.u64.enc(h64(encoded)), encoded);
765
797
 
766
798
  // src/storage.ts
767
- var import_utils6 = require("@polkadot-api/utils");
799
+ var import_utils7 = require("@polkadot-api/utils");
768
800
  var textEncoder4 = new TextEncoder();
769
801
  var Storage = (pallet) => {
770
802
  const palledEncoded = Twox128(textEncoder4.encode(pallet));
771
803
  return (name, dec3, ...encoders) => {
772
- const palletItemEncoded = (0, import_utils6.mergeUint8)(
804
+ const palletItemEncoded = (0, import_utils7.mergeUint8)(
773
805
  palledEncoded,
774
806
  Twox128(textEncoder4.encode(name))
775
807
  );
776
- const palletItemEncodedHex = (0, import_utils6.toHex)(palletItemEncoded);
808
+ const palletItemEncodedHex = (0, import_utils7.toHex)(palletItemEncoded);
777
809
  const bytesToSkip = encoders.map((e) => e[1]).map((x) => {
778
810
  if (x === Identity)
779
811
  return 0;
@@ -803,8 +835,8 @@ var Storage = (pallet) => {
803
835
  const fns = encoders.map(
804
836
  ([{ enc: enc4 }, hash]) => (val) => hash(enc4(val))
805
837
  );
806
- const enc3 = (...args) => (0, import_utils6.toHex)(
807
- (0, import_utils6.mergeUint8)(palletItemEncoded, ...args.map((val, idx) => fns[idx](val)))
838
+ const enc3 = (...args) => (0, import_utils7.toHex)(
839
+ (0, import_utils7.mergeUint8)(palletItemEncoded, ...args.map((val, idx) => fns[idx](val)))
808
840
  );
809
841
  return {
810
842
  enc: enc3,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/codecs/scale/AccountId.ts","../src/utils/ss58-util.ts","../src/codecs/scale/Binary.ts","../src/codecs/scale/bitSequence.ts","../src/codecs/scale/compact.ts","../src/codecs/scale/char.ts","../src/codecs/scale/Hex.ts","../src/codecs/scale/fixed-str.ts","../src/codecs/scale/re-exported.ts","../src/codecs/scale/Self.ts","../src/codecs/scale/Variant.ts","../src/codecs/blockHeader.ts","../src/codecs/metadata/v15/v15.ts","../src/codecs/metadata/v15/lookup.ts","../src/codecs/metadata/v15/pallets.ts","../src/codecs/metadata/metadata.ts","../src/hashes/blake2.ts","../src/hashes/identity.ts","../src/hashes/twoX.ts","../src/hashes/h64.ts","../src/storage.ts"],"sourcesContent":["export * from \"./codecs\"\nexport * from \"./hashes\"\nexport * from \"./storage\"\nexport * from \"./types\"\nexport * from \"./utils\"\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 { base58 } from \"@scure/base\"\nimport { blake2b } from \"@noble/hashes/blake2b\"\n\nconst SS58_PREFIX = new TextEncoder().encode(\"SS58PRE\")\nconst CHECKSUM_LENGTH = 2\n\nexport type SS58String = string & { __SS58String?: unknown }\nexport type SS58AddressInfo =\n | { isValid: false }\n | { isValid: true; ss58Format: number; publicKey: Uint8Array }\n\nexport const getSs58AddressInfo = (address: SS58String): SS58AddressInfo => {\n try {\n const decoded = base58.decode(address)\n const prefixBytes = decoded.subarray(0, decoded[0] & 0b0100_0000 ? 2 : 1)\n const publicKey = decoded.subarray(\n prefixBytes.length,\n decoded.length - CHECKSUM_LENGTH,\n )\n\n const checksum = decoded.subarray(prefixBytes.length + publicKey.length)\n const expectedChecksum = blake2b(\n Uint8Array.of(...SS58_PREFIX, ...prefixBytes, ...publicKey),\n {\n dkLen: 64,\n },\n ).subarray(0, CHECKSUM_LENGTH)\n\n const isChecksumValid =\n checksum[0] === expectedChecksum[0] && checksum[1] === expectedChecksum[1]\n\n if (!isChecksumValid) return { isValid: false }\n\n return {\n isValid: true,\n ss58Format: prefixBytesToNumber(prefixBytes),\n publicKey: publicKey.slice(),\n }\n } catch (_) {\n return { isValid: false }\n }\n}\n\nconst prefixBytesToNumber = (bytes: Uint8Array) => {\n const dv = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength)\n return dv.byteLength === 1 ? dv.getUint8(0) : dv.getUint16(0)\n}\n\nexport const fromBufferToBase58 = (ss58Format: number) => {\n const prefixBytes =\n ss58Format < 64\n ? Uint8Array.of(ss58Format)\n : Uint8Array.of(\n ((ss58Format & 0b0000_0000_1111_1100) >> 2) | 0b0100_0000,\n (ss58Format >> 8) | ((ss58Format & 0b0000_0000_0000_0011) << 6),\n )\n\n return (publicKey: Uint8Array): SS58String => {\n const checksum = blake2b(\n Uint8Array.of(...SS58_PREFIX, ...prefixBytes, ...publicKey),\n {\n dkLen: 64,\n },\n ).subarray(0, CHECKSUM_LENGTH)\n return base58.encode(\n Uint8Array.of(...prefixBytes, ...publicKey, ...checksum),\n )\n }\n}\n","import { Bytes, Codec, Decoder, Encoder, createCodec } from \"scale-ts\"\nimport { fromHex, toHex } from \"@polkadot-api/utils\"\nimport { HexString } from \"./Hex\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\n\nexport class Binary {\n #bytes: Uint8Array\n #hex: HexString | null = null\n #str: string | null = null\n\n constructor(data: Uint8Array) {\n this.#bytes = data\n }\n\n asText = () =>\n this.#str === null\n ? (this.#str = textDecoder.decode(this.#bytes))\n : this.#str\n\n asHex = () =>\n this.#hex === null ? (this.#hex = toHex(this.#bytes)) : this.#hex\n\n asBytes = () => this.#bytes\n\n static fromText(input: string): Binary {\n return new Binary(textEncoder.encode(input))\n }\n static fromHex(input: HexString): Binary {\n return new Binary(fromHex(input))\n }\n static fromBytes(input: Uint8Array): Binary {\n return new Binary(input)\n }\n}\n\nexport class FixedSizeBinary<_L extends number> extends Binary {\n constructor(data: Uint8Array) {\n super(data)\n }\n\n static fromArray<L extends number, I extends Array<number> & { length: L }>(\n input: I,\n ) {\n return new FixedSizeBinary<L>(new Uint8Array(input))\n }\n}\n\nconst enc = (nBytes?: number): Encoder<Binary> => {\n const _enc = Bytes.enc(nBytes)\n return (value) => _enc(value.asBytes())\n}\n\nconst dec = (nBytes?: number): Decoder<Binary> => {\n const _dec = Bytes.dec(nBytes)\n return (value) => Binary.fromBytes(_dec(value))\n}\n\nexport const Bin = (nBytes?: number): Codec<Binary> =>\n createCodec(enc(nBytes), dec(nBytes))\n\nBin.enc = enc\nBin.dec = dec\n","import { Bytes, Decoder, Encoder, createCodec, createDecoder } from \"scale-ts\"\nimport { compactNumber } from \"./compact\"\n\nexport interface BitSequence {\n bitsLen: number\n bytes: Uint8Array\n}\n\nconst bitSequenceDecoder: Decoder<BitSequence> = createDecoder((data) => {\n const bitsLen = compactNumber.dec(data)\n\n const bytesLen = Math.ceil(bitsLen / 8)\n const bytes = Bytes(bytesLen).dec(data)\n return { bytes, bitsLen }\n})\n\nconst bitSequenceEncoder: Encoder<BitSequence> = (input) => {\n if (input.bitsLen > input.bytes.length * 8)\n throw new Error(\n `Not enough bytes. (bitsLen:${input.bitsLen}, bytesLen:${input.bytes.length})`,\n )\n\n const lenEncoded = compactNumber.enc(input.bitsLen)\n const result = new Uint8Array(input.bytes.length + lenEncoded.length)\n result.set(lenEncoded, 0)\n result.set(input.bytes, lenEncoded.length)\n return result\n}\n\nexport const bitSequence = createCodec(bitSequenceEncoder, bitSequenceDecoder)\n","import { Codec, compact } from \"scale-ts\"\n\nexport const compactNumber = compact as Codec<number>\nexport const compactBn = compact as Codec<bigint>\n","import { enhanceCodec, u8 } from \"scale-ts\"\n\nexport const char = enhanceCodec(\n u8,\n (str: string) => str.charCodeAt(0),\n String.fromCharCode,\n)\n","import { fromHex, toHex } from \"@polkadot-api/utils\"\nimport { Bytes, Codec, Decoder, Encoder, createCodec } from \"scale-ts\"\n\nexport type HexString = string & { __hexString?: unknown }\n\nconst enc = (nBytes?: number): Encoder<HexString> => {\n const _enc = Bytes.enc(nBytes)\n return (value: string) => _enc(fromHex(value))\n}\n\nconst dec = (nBytes?: number): Decoder<HexString> => {\n const _dec = Bytes.dec(nBytes)\n return (value) => toHex(_dec(value)) as HexString\n}\n\nexport const Hex = (nBytes?: number): Codec<HexString> =>\n createCodec(enc(nBytes), dec(nBytes))\n\nHex.enc = enc\nHex.dec = dec\n","import { Bytes, enhanceCodec } from \"scale-ts\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\n\nexport const fixedStr = (nBytes: number) =>\n enhanceCodec(\n Bytes(nBytes),\n (str: string) => textEncoder.encode(str),\n (bytes) => textDecoder.decode(bytes),\n )\n","export {\n _void,\n bool,\n compact,\n str,\n u8,\n u16,\n u32,\n u64,\n u128,\n u256,\n i8,\n i16,\n i32,\n i64,\n i128,\n i256,\n Option,\n Result,\n Vector,\n Tuple,\n Struct,\n Bytes,\n enhanceCodec,\n enhanceEncoder,\n enhanceDecoder,\n createCodec,\n createDecoder,\n} from \"scale-ts\"\n\nexport type {\n Encoder,\n Decoder,\n Codec,\n CodecType,\n EncoderType,\n DecoderType,\n StringRecord,\n ResultPayload,\n} from \"scale-ts\"\n","import { Codec, Decoder, Encoder, createCodec, _void } from \"scale-ts\"\n\nexport const selfEncoder = <T>(value: () => Encoder<T>): Encoder<T> => {\n let cache: Encoder<T> = (x) => {\n const encoder = value()\n cache = encoder\n return encoder(x)\n }\n\n return (x) => cache(x)\n}\n\nexport const selfDecoder = <T>(value: () => Decoder<T>): Decoder<T> => {\n let cache: Decoder<T> = (x) => {\n const decoder = value()\n const result = decoder\n cache = decoder\n return result(x)\n }\n\n return (x) => cache(x)\n}\n\nexport const Self = <T>(value: () => Codec<T>): Codec<T> =>\n createCodec(\n selfEncoder(() => value().enc),\n selfDecoder(() => value().dec),\n )\n","import {\n Codec,\n CodecType,\n Decoder,\n DecoderType,\n Encoder,\n EncoderType,\n Enum as ScaleEnum,\n StringRecord,\n createCodec,\n} from \"scale-ts\"\nimport { mapObject } from \"@polkadot-api/utils\"\n\ntype Tuple<T, N extends number> = readonly [T, ...T[]] & { length: N }\n\ntype Push<T extends any[], V> = [...T, V]\n\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (\n k: infer I,\n) => void\n ? I\n : never\n\ntype LastOf<T> =\n UnionToIntersection<T extends any ? () => T : never> extends () => infer R\n ? R\n : never\n\ntype TuplifyUnion<\n T,\n L = LastOf<T>,\n N = [T] extends [never] ? true : false,\n> = true extends N ? [] : Push<TuplifyUnion<Exclude<T, L>>, L>\n\ntype RestrictedLenTuple<T, O extends StringRecord<any>> = Tuple<\n T,\n TuplifyUnion<keyof O> extends Tuple<any, infer V> ? V : 0\n>\n\nexport type ExtractEnumValue<\n T extends { type: string; value?: any },\n K extends string,\n> = T extends { type: K; value: infer R } ? R : never\n\nexport interface Discriminant<T extends { type: string; value?: any }> {\n is<K extends T[\"type\"]>(\n this: Enum<T>,\n type: K,\n ): this is Enum<{ type: K; value: ExtractEnumValue<T, K> }>\n as<K extends T[\"type\"]>(type: K): ExtractEnumValue<T, K>\n}\n\nexport type Enum<T extends { type: string; value?: any }> = T & Discriminant<T>\n\nexport const _Enum = new Proxy(\n {},\n {\n get(_, prop: string) {\n return (value: string) => (Enum as any)(prop, value)\n },\n },\n)\n\nexport const Enum: <\n T extends { type: string; value?: any },\n Key extends T[\"type\"],\n>(\n type: Key,\n ...args: ExtractEnumValue<T, Key> extends undefined\n ? []\n : [value: ExtractEnumValue<T, Key>]\n) => Enum<\n ExtractEnumValue<T, Key> extends undefined\n ? T\n : ExtractEnumValue<T, Key> extends never\n ? T\n : {\n type: Key\n value: ExtractEnumValue<T, Key>\n }\n> = ((_type: string, _value: any) => ({\n as: (type: string) => {\n if (type !== _type)\n // TODO: fix error\n throw new Error(`Enum.as(${type}) used with actual type ${_type}`)\n return _value\n },\n is: (type: string) => type === _type,\n type: _type,\n value: _value,\n})) as any\n\nconst VariantEnc = <O extends StringRecord<Encoder<any>>>(\n ...args: [inner: O, x?: RestrictedLenTuple<number, O>]\n): Encoder<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: EncoderType<O[K]> }\n : never\n }[keyof O]\n >\n> => {\n const enc = ScaleEnum.enc<O>(...(args as [any, any]))\n return (v) => enc({ tag: v.type, value: v.value })\n}\n\nconst VariantDec = <O extends StringRecord<Decoder<any>>>(\n ...args: [inner: O, x?: RestrictedLenTuple<number, O>]\n): Decoder<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: DecoderType<O[K]> }\n : never\n }[keyof O]\n >\n> => {\n const dec = ScaleEnum.dec<O>(...(args as [any, any]))\n return (v) => {\n const { tag, value } = dec(v)\n return Enum(tag as any, value as any) as any\n }\n}\n\nexport const Variant = <O extends StringRecord<Codec<any>>>(\n inner: O,\n ...args: [indexes?: RestrictedLenTuple<number, O>]\n): Codec<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: CodecType<O[K]> }\n : never\n }[keyof O]\n >\n> =>\n createCodec(\n VariantEnc(\n mapObject(inner, ([encoder]) => encoder) as StringRecord<\n O[keyof O][\"enc\"]\n >,\n ...(args as any[]),\n ) as Encoder<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: CodecType<O[K]> }\n : never\n }[keyof O]\n >\n >,\n VariantDec(\n mapObject(inner, ([, decoder]) => decoder) as StringRecord<\n O[keyof O][\"dec\"]\n >,\n ...(args as any[]),\n ) as Decoder<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: CodecType<O[K]> }\n : never\n }[keyof O]\n >\n >,\n )\n\nVariant.enc = VariantEnc\nVariant.dec = VariantDec\n","import {\n Bytes,\n CodecType,\n Struct,\n Vector,\n _void,\n enhanceCodec,\n Hex,\n Variant,\n compactNumber,\n} from \"./scale\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\n\nconst fourChars = enhanceCodec(\n Bytes(4),\n textEncoder.encode.bind(textEncoder),\n textDecoder.decode.bind(textDecoder),\n)\n\nconst diggestVal = Struct({\n engine: fourChars,\n payload: Hex(),\n})\n\nconst diggest = Variant(\n {\n consensus: diggestVal,\n seal: diggestVal,\n preRuntime: diggestVal,\n runtimeUpdated: _void,\n },\n [4, 5, 6, 8],\n)\n\nconst hex32 = Hex(32)\nexport const blockHeader = Struct({\n parentHash: hex32,\n number: compactNumber,\n stateRoot: hex32,\n extrinsicRoot: hex32,\n digests: Vector(diggest),\n})\n\nexport type BlockHeader = CodecType<typeof blockHeader>\n","import { CodecType, Struct, Tuple, Vector, str, u8 } from \"scale-ts\"\nimport { lookup } from \"./lookup\"\nimport { pallets } from \"./pallets\"\nimport { Hex, compactNumber as ty } from \"../../scale\"\nexport type { V14Lookup } from \"./lookup\"\n\nconst docs = Vector(str)\n\nconst runtimeApi = Struct({\n name: str,\n methods: Vector(\n Struct({\n name: str,\n inputs: Vector(\n Struct({\n name: str,\n type: ty,\n }),\n ),\n output: ty,\n docs,\n }),\n ),\n docs,\n})\n\nconst extrinsic = Struct({\n version: u8,\n address: ty,\n call: ty,\n signature: ty,\n extra: ty,\n signedExtensions: Vector(\n Struct({\n identifier: str,\n type: ty,\n additionalSigned: ty,\n }),\n ),\n})\nexport type V15Extrinsic = CodecType<typeof extrinsic>\n\nexport const v15 = Struct({\n lookup,\n pallets,\n extrinsic,\n type: ty,\n apis: Vector(runtimeApi),\n outerEnums: Struct({\n call: ty,\n event: ty,\n error: ty,\n }),\n custom: Vector(Tuple(str, Struct({ type: ty, value: Hex() }))),\n})\nexport type V15 = CodecType<typeof v15>\n","import { compactNumber } from \"../../scale/compact\"\nimport {\n CodecType,\n Enum,\n Option,\n Struct,\n Vector,\n _void,\n str,\n u32,\n u8,\n} from \"scale-ts\"\n\nconst oStr = Option(str)\nconst strs = Vector(str)\n\nconst primitive = Enum({\n bool: _void,\n char: _void,\n str: _void,\n u8: _void,\n u16: _void,\n u32: _void,\n u64: _void,\n u128: _void,\n u256: _void,\n i8: _void,\n i16: _void,\n i32: _void,\n i64: _void,\n i128: _void,\n i256: _void,\n})\n\nconst fields = Vector(\n Struct({\n name: oStr,\n type: compactNumber,\n typeName: oStr,\n docs: strs,\n }),\n)\n\nconst arr = Struct({\n len: u32,\n type: compactNumber,\n})\n\nconst bitSequence = Struct({\n bitStoreType: compactNumber,\n bitOrderType: compactNumber,\n})\n\nconst variant = Vector(\n Struct({\n name: str,\n fields,\n index: u8,\n docs: strs,\n }),\n)\n\nconst def = Enum({\n composite: fields,\n variant,\n sequence: compactNumber,\n array: arr,\n tuple: Vector(compactNumber),\n primitive,\n compact: compactNumber,\n bitSequence,\n})\n\nconst param = Struct({\n name: str,\n type: Option(compactNumber),\n})\nconst params = Vector(param)\n\nconst entry = Struct({\n id: compactNumber,\n path: strs,\n params,\n def,\n docs: strs,\n})\n\nexport const lookup = Vector(entry)\nexport type V14Lookup = CodecType<typeof lookup>\n","import { Hex, compactNumber } from \"@/codecs/scale\"\nimport {\n Struct,\n Option,\n Vector,\n u8,\n str,\n Enum,\n _void,\n CodecType,\n} from \"scale-ts\"\n\nconst hashType = Enum({\n Blake2128: _void,\n Blake2256: _void,\n Blake2128Concat: _void,\n Twox128: _void,\n Twox256: _void,\n Twox64Concat: _void,\n Identity: _void,\n})\n\nconst hashers = Vector(hashType)\n\nconst storageMap = Struct({\n hashers,\n key: compactNumber,\n value: compactNumber,\n})\n\nconst storageItem = Struct({\n name: str,\n modifier: u8,\n type: Enum({\n plain: compactNumber,\n map: storageMap,\n }),\n fallback: Hex(),\n docs: Vector(str),\n})\n\nconst storage = Option(\n Struct({\n prefix: str,\n items: Vector(storageItem),\n }),\n)\n\nexport const pallets = Vector(\n Struct({\n name: str,\n storage,\n calls: Option(compactNumber),\n events: Option(compactNumber),\n constants: Vector(\n Struct({\n name: str,\n type: compactNumber,\n value: Hex(),\n docs: Vector(str),\n }),\n ),\n errors: Option(compactNumber),\n index: u8,\n docs: Vector(str),\n }),\n)\n\nexport type V15Pallets = CodecType<typeof pallets>\n","import { Enum, Struct, u32, Codec, createCodec } from \"scale-ts\"\nimport { v15 } from \"./v15\"\n\nconst unsupportedFn = () => {\n throw new Error(\"Unsupported metadata version!\")\n}\n\nconst unsupported = createCodec(\n unsupportedFn,\n unsupportedFn,\n) as unknown as Codec<unknown>\n\nexport const metadata = Struct({\n magicNumber: u32,\n metadata: Enum({\n v0: unsupported,\n v1: unsupported,\n v2: unsupported,\n v3: unsupported,\n v4: unsupported,\n v5: unsupported,\n v6: unsupported,\n v7: unsupported,\n v8: unsupported,\n v9: unsupported,\n v10: unsupported,\n v11: unsupported,\n v12: unsupported,\n v13: unsupported,\n v14: unsupported,\n v15,\n }),\n})\n","import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { blake2b } from \"@noble/hashes/blake2b\"\n\nconst len32 = { dkLen: 32 }\nexport const Blake2256 = (encoded: Uint8Array) => blake2b(encoded, len32)\n\nconst len16 = { dkLen: 16 }\nexport const Blake2128 = (encoded: Uint8Array) => blake2b(encoded, len16)\n\nexport const Blake2128Concat = (encoded: Uint8Array) =>\n mergeUint8(Blake2128(encoded), encoded)\n","export const Identity = (encoded: Uint8Array): Uint8Array => encoded\n","import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { u64 } from \"scale-ts\"\nimport { h64 } from \"./h64\"\n\nexport const Twox128 = (input: Uint8Array): Uint8Array => {\n const result = new Uint8Array(16)\n const dv = new DataView(result.buffer)\n\n dv.setBigUint64(0, h64(input), true)\n dv.setBigUint64(8, h64(input, 1n), true)\n\n return result\n}\n\nexport const Twox256 = (input: Uint8Array): Uint8Array => {\n const result = new Uint8Array(32)\n const dv = new DataView(result.buffer)\n\n dv.setBigUint64(0, h64(input), true)\n dv.setBigUint64(8, h64(input, 1n), true)\n dv.setBigUint64(16, h64(input, 2n), true)\n dv.setBigUint64(24, h64(input, 3n), true)\n\n return result\n}\n\nexport const Twox64Concat = (encoded: Uint8Array): Uint8Array =>\n mergeUint8(u64.enc(h64(encoded)), encoded)\n","// Adapted implementation based on: https://github.com/pierrec/js-xxhash/blob/7ff5ced282f97dba121109d7013e0fa80360398c/lib/xxhash64.js\n\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\n\n// helper functions\nconst bigintFromU16 = (\n v0: number,\n v1: number,\n v2: number,\n v3: number,\n): bigint =>\n new DataView(new Uint16Array([v0, v1, v2, v3]).buffer).getBigUint64(0, true)\n\nconst MASK_64 = 2n ** 64n - 1n\n\nconst rotl = (input: bigint, nBits: bigint) =>\n ((input << nBits) & MASK_64) | (input >> (64n - nBits))\n\nconst multiply = (a: bigint, b: bigint) => (a * b) & MASK_64\n\nconst add = (a: bigint, b: bigint) => (a + b) & MASK_64\n\n// constants\nconst PRIME64_1 = 11400714785074694791n\nconst PRIME64_2 = 14029467366897019727n\nconst PRIME64_3 = 1609587929392839161n\nconst PRIME64_4 = 9650029242287828579n\nconst PRIME64_5 = 2870177450012600261n\n\nexport function h64(input: Uint8Array, seed: bigint = 0n) {\n let v1 = add(add(seed, PRIME64_1), PRIME64_2)\n let v2 = add(seed, PRIME64_2)\n let v3 = seed\n let v4 = seed - PRIME64_1\n let totalLen = input.length\n let memsize = 0\n let memory: Uint8Array | null = null\n\n ;(function update() {\n let p = 0\n let bEnd = p + totalLen\n\n if (!totalLen) return\n\n memory = new Uint8Array(32)\n\n if (totalLen < 32) {\n memory.set(input.subarray(0, totalLen), memsize)\n\n memsize += totalLen\n return\n }\n\n if (p <= bEnd - 32) {\n const limit = bEnd - 32\n\n do {\n let other\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n v1 = multiply(rotl(add(v1, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n\n v2 = multiply(rotl(add(v2, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n\n v3 = multiply(rotl(add(v3, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n v4 = multiply(rotl(add(v4, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n } while (p <= limit)\n }\n\n if (p < bEnd) {\n memory.set(input.subarray(p, bEnd), memsize)\n memsize = bEnd - p\n }\n })()\n\n input = memory || input\n\n let result: bigint\n let p = 0\n\n if (totalLen >= 32) {\n result = rotl(v1, 1n)\n result = add(result, rotl(v2, 7n))\n result = add(result, rotl(v3, 12n))\n result = add(result, rotl(v4, 18n))\n\n v1 = multiply(rotl(multiply(v1, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v1\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n\n v2 = multiply(rotl(multiply(v2, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v2\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n\n v3 = multiply(rotl(multiply(v3, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v3\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n\n v4 = multiply(rotl(multiply(v4, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v4\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n } else {\n result = add(seed, PRIME64_5)\n }\n\n result = add(result, BigInt(totalLen))\n\n while (p <= memsize - 8) {\n let temp = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n temp = multiply(rotl(multiply(temp, PRIME64_2), 31n), PRIME64_1)\n result = add(multiply(rotl(result ^ temp, 27n), PRIME64_1), PRIME64_4)\n p += 8\n }\n\n if (p + 4 <= memsize) {\n let temp = multiply(\n bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n 0,\n 0,\n ),\n PRIME64_1,\n )\n\n result = add(multiply(rotl(result ^ temp, 23n), PRIME64_2), PRIME64_3)\n p += 4\n }\n\n while (p < memsize) {\n const temp = multiply(bigintFromU16(input[p++], 0, 0, 0), PRIME64_5)\n result = multiply(rotl(result ^ temp, 11n), PRIME64_1)\n }\n\n let temp = result >> 33n\n result = multiply(result ^ temp, PRIME64_2)\n\n temp = result >> 29n\n result = multiply(result ^ temp, PRIME64_3)\n\n temp = result >> 32n\n result ^= temp\n\n return result\n}\n","import { mergeUint8, toHex } from \"@polkadot-api/utils\"\nimport { Codec, Decoder } from \"scale-ts\"\nimport { Blake2128Concat, Identity, Twox128, Twox64Concat } from \"./hashes\"\n\nexport type EncoderWithHash<T> = [Codec<T>, (input: Uint8Array) => Uint8Array]\n\nconst textEncoder = new TextEncoder()\n\nexport const Storage = (pallet: string) => {\n const palledEncoded = Twox128(textEncoder.encode(pallet))\n return <T, A extends Array<EncoderWithHash<any>>>(\n name: string,\n dec: Decoder<T>,\n ...encoders: [...A]\n ): {\n enc: (\n ...args: {\n [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown\n }\n ) => string\n dec: Decoder<T>\n keyDecoder: (value: string) => {\n [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown\n }\n } => {\n const palletItemEncoded = mergeUint8(\n palledEncoded,\n Twox128(textEncoder.encode(name)),\n )\n\n const palletItemEncodedHex = toHex(palletItemEncoded)\n const bytesToSkip = encoders\n .map((e) => e[1])\n .map((x) => {\n if (x === Identity) return 0\n if (x === Twox64Concat) return 8\n if (x === Blake2128Concat) return 16\n return null\n })\n .filter(Boolean) as Array<number>\n\n const keyDecoder = (\n key: string,\n ): {\n [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown\n } => {\n if (!key.startsWith(palletItemEncodedHex))\n throw new Error(`key does not match this storage (${pallet}.${name})`)\n\n if (bytesToSkip.length !== encoders.length)\n throw new Error(\"Impossible to decode this key\")\n\n if (encoders.length === 0) return [] as any\n\n const argsKey = key.slice(palletItemEncodedHex.length)\n const result = new Array<any>(encoders.length)\n for (let i = 0, cur = 0; i < bytesToSkip.length; i++) {\n const codec = encoders[i][0]\n cur += bytesToSkip[i]\n result[i] = codec.dec(argsKey.slice(cur * 2))\n cur += codec.enc(result[i]).length\n }\n return result as any\n }\n\n const fns = encoders.map(\n ([{ enc }, hash]) =>\n (val: any) =>\n hash(enc(val)),\n )\n\n const enc = (\n ...args: {\n [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown\n }\n ): string =>\n toHex(\n mergeUint8(palletItemEncoded, ...args.map((val, idx) => fns[idx](val))),\n )\n\n return {\n enc,\n dec,\n keyDecoder,\n }\n }\n}\n"],"mappings":"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","names":["import_scale_ts","import_scale_ts","import_scale_ts","import_scale_ts","str","import_utils","import_scale_ts","enc","dec","import_scale_ts","textEncoder","textDecoder","str","import_scale_ts","import_scale_ts","import_scale_ts","import_utils","enc","ScaleEnum","dec","textEncoder","textDecoder","import_scale_ts","import_scale_ts","bitSequence","import_scale_ts","import_scale_ts","import_utils","import_blake2b","import_utils","import_scale_ts","p","temp","import_utils","textEncoder","dec","enc"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/codecs/scale/AccountId.ts","../src/utils/ss58-util.ts","../src/codecs/scale/Binary.ts","../src/codecs/scale/bitSequence.ts","../src/codecs/scale/compact.ts","../src/codecs/scale/char.ts","../src/codecs/scale/Hex.ts","../src/codecs/scale/fixed-str.ts","../src/codecs/scale/re-exported.ts","../src/codecs/scale/Self.ts","../src/codecs/scale/Variant.ts","../src/codecs/scale/ethAccount.ts","../src/codecs/blockHeader.ts","../src/codecs/metadata/v15/v15.ts","../src/codecs/metadata/v15/lookup.ts","../src/codecs/metadata/v15/pallets.ts","../src/codecs/metadata/metadata.ts","../src/hashes/blake2.ts","../src/hashes/identity.ts","../src/hashes/twoX.ts","../src/hashes/h64.ts","../src/storage.ts"],"sourcesContent":["export * from \"./codecs\"\nexport * from \"./hashes\"\nexport * from \"./storage\"\nexport * from \"./types\"\nexport * from \"./utils\"\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 { base58 } from \"@scure/base\"\nimport { blake2b } from \"@noble/hashes/blake2b\"\n\nconst SS58_PREFIX = new TextEncoder().encode(\"SS58PRE\")\nconst CHECKSUM_LENGTH = 2\n\nexport type SS58String = string & { __SS58String?: unknown }\nexport type SS58AddressInfo =\n | { isValid: false }\n | { isValid: true; ss58Format: number; publicKey: Uint8Array }\n\nexport const getSs58AddressInfo = (address: SS58String): SS58AddressInfo => {\n try {\n const decoded = base58.decode(address)\n const prefixBytes = decoded.subarray(0, decoded[0] & 0b0100_0000 ? 2 : 1)\n const publicKey = decoded.subarray(\n prefixBytes.length,\n decoded.length - CHECKSUM_LENGTH,\n )\n\n const checksum = decoded.subarray(prefixBytes.length + publicKey.length)\n const expectedChecksum = blake2b(\n Uint8Array.of(...SS58_PREFIX, ...prefixBytes, ...publicKey),\n {\n dkLen: 64,\n },\n ).subarray(0, CHECKSUM_LENGTH)\n\n const isChecksumValid =\n checksum[0] === expectedChecksum[0] && checksum[1] === expectedChecksum[1]\n\n if (!isChecksumValid) return { isValid: false }\n\n return {\n isValid: true,\n ss58Format: prefixBytesToNumber(prefixBytes),\n publicKey: publicKey.slice(),\n }\n } catch (_) {\n return { isValid: false }\n }\n}\n\nconst prefixBytesToNumber = (bytes: Uint8Array) => {\n const dv = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength)\n return dv.byteLength === 1 ? dv.getUint8(0) : dv.getUint16(0)\n}\n\nexport const fromBufferToBase58 = (ss58Format: number) => {\n const prefixBytes =\n ss58Format < 64\n ? Uint8Array.of(ss58Format)\n : Uint8Array.of(\n ((ss58Format & 0b0000_0000_1111_1100) >> 2) | 0b0100_0000,\n (ss58Format >> 8) | ((ss58Format & 0b0000_0000_0000_0011) << 6),\n )\n\n return (publicKey: Uint8Array): SS58String => {\n const checksum = blake2b(\n Uint8Array.of(...SS58_PREFIX, ...prefixBytes, ...publicKey),\n {\n dkLen: 64,\n },\n ).subarray(0, CHECKSUM_LENGTH)\n return base58.encode(\n Uint8Array.of(...prefixBytes, ...publicKey, ...checksum),\n )\n }\n}\n","import { Bytes, Codec, Decoder, Encoder, createCodec } from \"scale-ts\"\nimport { fromHex, toHex } from \"@polkadot-api/utils\"\nimport { HexString } from \"./Hex\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\n\nexport class Binary {\n #bytes: Uint8Array\n #hex: HexString | null = null\n #str: string | null = null\n\n constructor(data: Uint8Array) {\n this.#bytes = data\n }\n\n asText = () =>\n this.#str === null\n ? (this.#str = textDecoder.decode(this.#bytes))\n : this.#str\n\n asHex = () =>\n this.#hex === null ? (this.#hex = toHex(this.#bytes)) : this.#hex\n\n asBytes = () => this.#bytes\n\n static fromText(input: string): Binary {\n return new Binary(textEncoder.encode(input))\n }\n static fromHex(input: HexString): Binary {\n return new Binary(fromHex(input))\n }\n static fromBytes(input: Uint8Array): Binary {\n return new Binary(input)\n }\n}\n\nexport class FixedSizeBinary<_L extends number> extends Binary {\n constructor(data: Uint8Array) {\n super(data)\n }\n\n static fromArray<L extends number, I extends Array<number> & { length: L }>(\n input: I,\n ) {\n return new FixedSizeBinary<L>(new Uint8Array(input))\n }\n}\n\nconst enc = (nBytes?: number): Encoder<Binary> => {\n const _enc = Bytes.enc(nBytes)\n return (value) => _enc(value.asBytes())\n}\n\nconst dec = (nBytes?: number): Decoder<Binary> => {\n const _dec = Bytes.dec(nBytes)\n return (value) => Binary.fromBytes(_dec(value))\n}\n\nexport const Bin = (nBytes?: number): Codec<Binary> =>\n createCodec(enc(nBytes), dec(nBytes))\n\nBin.enc = enc\nBin.dec = dec\n","import { Bytes, Decoder, Encoder, createCodec, createDecoder } from \"scale-ts\"\nimport { compactNumber } from \"./compact\"\n\nexport interface BitSequence {\n bitsLen: number\n bytes: Uint8Array\n}\n\nconst bitSequenceDecoder: Decoder<BitSequence> = createDecoder((data) => {\n const bitsLen = compactNumber.dec(data)\n\n const bytesLen = Math.ceil(bitsLen / 8)\n const bytes = Bytes(bytesLen).dec(data)\n return { bytes, bitsLen }\n})\n\nconst bitSequenceEncoder: Encoder<BitSequence> = (input) => {\n if (input.bitsLen > input.bytes.length * 8)\n throw new Error(\n `Not enough bytes. (bitsLen:${input.bitsLen}, bytesLen:${input.bytes.length})`,\n )\n\n const lenEncoded = compactNumber.enc(input.bitsLen)\n const result = new Uint8Array(input.bytes.length + lenEncoded.length)\n result.set(lenEncoded, 0)\n result.set(input.bytes, lenEncoded.length)\n return result\n}\n\nexport const bitSequence = createCodec(bitSequenceEncoder, bitSequenceDecoder)\n","import { Codec, compact } from \"scale-ts\"\n\nexport const compactNumber = compact as Codec<number>\nexport const compactBn = compact as Codec<bigint>\n","import { enhanceCodec, u8 } from \"scale-ts\"\n\nexport const char = enhanceCodec(\n u8,\n (str: string) => str.charCodeAt(0),\n String.fromCharCode,\n)\n","import { fromHex, toHex } from \"@polkadot-api/utils\"\nimport { Bytes, Codec, Decoder, Encoder, createCodec } from \"scale-ts\"\n\nexport type HexString = string & { __hexString?: unknown }\n\nconst enc = (nBytes?: number): Encoder<HexString> => {\n const _enc = Bytes.enc(nBytes)\n return (value: string) => _enc(fromHex(value))\n}\n\nconst dec = (nBytes?: number): Decoder<HexString> => {\n const _dec = Bytes.dec(nBytes)\n return (value) => toHex(_dec(value)) as HexString\n}\n\nexport const Hex = (nBytes?: number): Codec<HexString> =>\n createCodec(enc(nBytes), dec(nBytes))\n\nHex.enc = enc\nHex.dec = dec\n","import { Bytes, enhanceCodec } from \"scale-ts\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\n\nexport const fixedStr = (nBytes: number) =>\n enhanceCodec(\n Bytes(nBytes),\n (str: string) => textEncoder.encode(str),\n (bytes) => textDecoder.decode(bytes),\n )\n","export {\n _void,\n bool,\n compact,\n str,\n u8,\n u16,\n u32,\n u64,\n u128,\n u256,\n i8,\n i16,\n i32,\n i64,\n i128,\n i256,\n Option,\n Result,\n Vector,\n Tuple,\n Struct,\n Bytes,\n enhanceCodec,\n enhanceEncoder,\n enhanceDecoder,\n createCodec,\n createDecoder,\n} from \"scale-ts\"\n\nexport type {\n Encoder,\n Decoder,\n Codec,\n CodecType,\n EncoderType,\n DecoderType,\n StringRecord,\n ResultPayload,\n} from \"scale-ts\"\n","import { Codec, Decoder, Encoder, createCodec, _void } from \"scale-ts\"\n\nexport const selfEncoder = <T>(value: () => Encoder<T>): Encoder<T> => {\n let cache: Encoder<T> = (x) => {\n const encoder = value()\n cache = encoder\n return encoder(x)\n }\n\n return (x) => cache(x)\n}\n\nexport const selfDecoder = <T>(value: () => Decoder<T>): Decoder<T> => {\n let cache: Decoder<T> = (x) => {\n const decoder = value()\n const result = decoder\n cache = decoder\n return result(x)\n }\n\n return (x) => cache(x)\n}\n\nexport const Self = <T>(value: () => Codec<T>): Codec<T> =>\n createCodec(\n selfEncoder(() => value().enc),\n selfDecoder(() => value().dec),\n )\n","import {\n Codec,\n CodecType,\n Decoder,\n DecoderType,\n Encoder,\n EncoderType,\n Enum as ScaleEnum,\n StringRecord,\n createCodec,\n} from \"scale-ts\"\nimport { mapObject } from \"@polkadot-api/utils\"\n\ntype Tuple<T, N extends number> = readonly [T, ...T[]] & { length: N }\n\ntype Push<T extends any[], V> = [...T, V]\n\ntype UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (\n k: infer I,\n) => void\n ? I\n : never\n\ntype LastOf<T> =\n UnionToIntersection<T extends any ? () => T : never> extends () => infer R\n ? R\n : never\n\ntype TuplifyUnion<\n T,\n L = LastOf<T>,\n N = [T] extends [never] ? true : false,\n> = true extends N ? [] : Push<TuplifyUnion<Exclude<T, L>>, L>\n\ntype RestrictedLenTuple<T, O extends StringRecord<any>> = Tuple<\n T,\n TuplifyUnion<keyof O> extends Tuple<any, infer V> ? V : 0\n>\n\nexport type ExtractEnumValue<\n T extends { type: string; value?: any },\n K extends string,\n> = T extends { type: K; value: infer R } ? R : never\n\nexport interface Discriminant<T extends { type: string; value?: any }> {\n is<K extends T[\"type\"]>(\n this: Enum<T>,\n type: K,\n ): this is Enum<{ type: K; value: ExtractEnumValue<T, K> }>\n as<K extends T[\"type\"]>(type: K): ExtractEnumValue<T, K>\n}\n\nexport type Enum<T extends { type: string; value?: any }> = T & Discriminant<T>\n\nexport const _Enum = new Proxy(\n {},\n {\n get(_, prop: string) {\n return (value: string) => (Enum as any)(prop, value)\n },\n },\n)\n\nexport const Enum: <\n T extends { type: string; value?: any },\n Key extends T[\"type\"],\n>(\n type: Key,\n ...args: ExtractEnumValue<T, Key> extends undefined\n ? []\n : [value: ExtractEnumValue<T, Key>]\n) => Enum<\n ExtractEnumValue<T, Key> extends undefined\n ? T\n : ExtractEnumValue<T, Key> extends never\n ? T\n : {\n type: Key\n value: ExtractEnumValue<T, Key>\n }\n> = ((_type: string, _value: any) => ({\n as: (type: string) => {\n if (type !== _type)\n // TODO: fix error\n throw new Error(`Enum.as(${type}) used with actual type ${_type}`)\n return _value\n },\n is: (type: string) => type === _type,\n type: _type,\n value: _value,\n})) as any\n\nconst VariantEnc = <O extends StringRecord<Encoder<any>>>(\n ...args: [inner: O, x?: RestrictedLenTuple<number, O>]\n): Encoder<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: EncoderType<O[K]> }\n : never\n }[keyof O]\n >\n> => {\n const enc = ScaleEnum.enc<O>(...(args as [any, any]))\n return (v) => enc({ tag: v.type, value: v.value })\n}\n\nconst VariantDec = <O extends StringRecord<Decoder<any>>>(\n ...args: [inner: O, x?: RestrictedLenTuple<number, O>]\n): Decoder<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: DecoderType<O[K]> }\n : never\n }[keyof O]\n >\n> => {\n const dec = ScaleEnum.dec<O>(...(args as [any, any]))\n return (v) => {\n const { tag, value } = dec(v)\n return Enum(tag as any, value as any) as any\n }\n}\n\nexport const Variant = <O extends StringRecord<Codec<any>>>(\n inner: O,\n ...args: [indexes?: RestrictedLenTuple<number, O>]\n): Codec<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: CodecType<O[K]> }\n : never\n }[keyof O]\n >\n> =>\n createCodec(\n VariantEnc(\n mapObject(inner, ([encoder]) => encoder) as StringRecord<\n O[keyof O][\"enc\"]\n >,\n ...(args as any[]),\n ) as Encoder<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: CodecType<O[K]> }\n : never\n }[keyof O]\n >\n >,\n VariantDec(\n mapObject(inner, ([, decoder]) => decoder) as StringRecord<\n O[keyof O][\"dec\"]\n >,\n ...(args as any[]),\n ) as Decoder<\n Enum<\n {\n [K in keyof O]: K extends string\n ? { type: K; value: CodecType<O[K]> }\n : never\n }[keyof O]\n >\n >,\n )\n\nVariant.enc = VariantEnc\nVariant.dec = VariantDec\n","import { fromHex, toHex } from \"@polkadot-api/utils\"\nimport { Bytes, createCodec, createDecoder } from \"scale-ts\"\nimport { keccak_256 as keccak } from \"@noble/hashes/sha3\"\n\nconst getFormattedAddress = (hexAddress: string) => {\n const nonChecksum = hexAddress.slice(2)\n const hashedAddress = toHex(keccak(nonChecksum)).slice(2)\n\n const result = new Array(40)\n\n for (let i = 0; i < 40; i++) {\n const checksumVal = parseInt(hashedAddress[i], 16)\n const char = nonChecksum[i]\n result[i] = checksumVal > 7 ? char.toUpperCase() : char\n }\n\n return `0x${result.join(\"\")}`\n}\n\nconst bytes20Dec = Bytes(20)[1]\n\nexport const ethAccount = createCodec<string>(\n (input: string) => {\n const bytes = fromHex(input)\n if (bytes.length !== 20)\n throw new Error(`Invalid length found on EthAddress(${input})`)\n\n const hexAddress = toHex(bytes)\n if (input === hexAddress || input === hexAddress.toUpperCase()) return bytes\n\n if (getFormattedAddress(hexAddress) !== input)\n throw new Error(`Invalid checksum found on EthAddress(${input})`)\n\n return bytes\n },\n createDecoder((bytes) => getFormattedAddress(toHex(bytes20Dec(bytes)))),\n)\n","import {\n Bytes,\n CodecType,\n Struct,\n Vector,\n _void,\n enhanceCodec,\n Hex,\n Variant,\n compactNumber,\n} from \"./scale\"\n\nconst textEncoder = new TextEncoder()\nconst textDecoder = new TextDecoder()\n\nconst fourChars = enhanceCodec(\n Bytes(4),\n textEncoder.encode.bind(textEncoder),\n textDecoder.decode.bind(textDecoder),\n)\n\nconst diggestVal = Struct({\n engine: fourChars,\n payload: Hex(),\n})\n\nconst diggest = Variant(\n {\n consensus: diggestVal,\n seal: diggestVal,\n preRuntime: diggestVal,\n runtimeUpdated: _void,\n },\n [4, 5, 6, 8],\n)\n\nconst hex32 = Hex(32)\nexport const blockHeader = Struct({\n parentHash: hex32,\n number: compactNumber,\n stateRoot: hex32,\n extrinsicRoot: hex32,\n digests: Vector(diggest),\n})\n\nexport type BlockHeader = CodecType<typeof blockHeader>\n","import { CodecType, Struct, Tuple, Vector, str, u8 } from \"scale-ts\"\nimport { lookup } from \"./lookup\"\nimport { pallets } from \"./pallets\"\nimport { Hex, compactNumber as ty } from \"../../scale\"\nexport type { V14Lookup } from \"./lookup\"\n\nconst docs = Vector(str)\n\nconst runtimeApi = Struct({\n name: str,\n methods: Vector(\n Struct({\n name: str,\n inputs: Vector(\n Struct({\n name: str,\n type: ty,\n }),\n ),\n output: ty,\n docs,\n }),\n ),\n docs,\n})\n\nconst extrinsic = Struct({\n version: u8,\n address: ty,\n call: ty,\n signature: ty,\n extra: ty,\n signedExtensions: Vector(\n Struct({\n identifier: str,\n type: ty,\n additionalSigned: ty,\n }),\n ),\n})\nexport type V15Extrinsic = CodecType<typeof extrinsic>\n\nexport const v15 = Struct({\n lookup,\n pallets,\n extrinsic,\n type: ty,\n apis: Vector(runtimeApi),\n outerEnums: Struct({\n call: ty,\n event: ty,\n error: ty,\n }),\n custom: Vector(Tuple(str, Struct({ type: ty, value: Hex() }))),\n})\nexport type V15 = CodecType<typeof v15>\n","import { compactNumber } from \"../../scale/compact\"\nimport {\n CodecType,\n Enum,\n Option,\n Struct,\n Vector,\n _void,\n str,\n u32,\n u8,\n} from \"scale-ts\"\n\nconst oStr = Option(str)\nconst strs = Vector(str)\n\nconst primitive = Enum({\n bool: _void,\n char: _void,\n str: _void,\n u8: _void,\n u16: _void,\n u32: _void,\n u64: _void,\n u128: _void,\n u256: _void,\n i8: _void,\n i16: _void,\n i32: _void,\n i64: _void,\n i128: _void,\n i256: _void,\n})\n\nconst fields = Vector(\n Struct({\n name: oStr,\n type: compactNumber,\n typeName: oStr,\n docs: strs,\n }),\n)\n\nconst arr = Struct({\n len: u32,\n type: compactNumber,\n})\n\nconst bitSequence = Struct({\n bitStoreType: compactNumber,\n bitOrderType: compactNumber,\n})\n\nconst variant = Vector(\n Struct({\n name: str,\n fields,\n index: u8,\n docs: strs,\n }),\n)\n\nconst def = Enum({\n composite: fields,\n variant,\n sequence: compactNumber,\n array: arr,\n tuple: Vector(compactNumber),\n primitive,\n compact: compactNumber,\n bitSequence,\n})\n\nconst param = Struct({\n name: str,\n type: Option(compactNumber),\n})\nconst params = Vector(param)\n\nconst entry = Struct({\n id: compactNumber,\n path: strs,\n params,\n def,\n docs: strs,\n})\n\nexport const lookup = Vector(entry)\nexport type V14Lookup = CodecType<typeof lookup>\n","import { Hex, compactNumber } from \"@/codecs/scale\"\nimport {\n Struct,\n Option,\n Vector,\n u8,\n str,\n Enum,\n _void,\n CodecType,\n} from \"scale-ts\"\n\nconst hashType = Enum({\n Blake2128: _void,\n Blake2256: _void,\n Blake2128Concat: _void,\n Twox128: _void,\n Twox256: _void,\n Twox64Concat: _void,\n Identity: _void,\n})\n\nconst hashers = Vector(hashType)\n\nconst storageMap = Struct({\n hashers,\n key: compactNumber,\n value: compactNumber,\n})\n\nconst storageItem = Struct({\n name: str,\n modifier: u8,\n type: Enum({\n plain: compactNumber,\n map: storageMap,\n }),\n fallback: Hex(),\n docs: Vector(str),\n})\n\nconst storage = Option(\n Struct({\n prefix: str,\n items: Vector(storageItem),\n }),\n)\n\nexport const pallets = Vector(\n Struct({\n name: str,\n storage,\n calls: Option(compactNumber),\n events: Option(compactNumber),\n constants: Vector(\n Struct({\n name: str,\n type: compactNumber,\n value: Hex(),\n docs: Vector(str),\n }),\n ),\n errors: Option(compactNumber),\n index: u8,\n docs: Vector(str),\n }),\n)\n\nexport type V15Pallets = CodecType<typeof pallets>\n","import { Enum, Struct, u32, Codec, createCodec } from \"scale-ts\"\nimport { v15 } from \"./v15\"\n\nconst unsupportedFn = () => {\n throw new Error(\"Unsupported metadata version!\")\n}\n\nconst unsupported = createCodec(\n unsupportedFn,\n unsupportedFn,\n) as unknown as Codec<unknown>\n\nexport const metadata = Struct({\n magicNumber: u32,\n metadata: Enum({\n v0: unsupported,\n v1: unsupported,\n v2: unsupported,\n v3: unsupported,\n v4: unsupported,\n v5: unsupported,\n v6: unsupported,\n v7: unsupported,\n v8: unsupported,\n v9: unsupported,\n v10: unsupported,\n v11: unsupported,\n v12: unsupported,\n v13: unsupported,\n v14: unsupported,\n v15,\n }),\n})\n","import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { blake2b } from \"@noble/hashes/blake2b\"\n\nconst len32 = { dkLen: 32 }\nexport const Blake2256 = (encoded: Uint8Array) => blake2b(encoded, len32)\n\nconst len16 = { dkLen: 16 }\nexport const Blake2128 = (encoded: Uint8Array) => blake2b(encoded, len16)\n\nexport const Blake2128Concat = (encoded: Uint8Array) =>\n mergeUint8(Blake2128(encoded), encoded)\n","export const Identity = (encoded: Uint8Array): Uint8Array => encoded\n","import { mergeUint8 } from \"@polkadot-api/utils\"\nimport { u64 } from \"scale-ts\"\nimport { h64 } from \"./h64\"\n\nexport const Twox128 = (input: Uint8Array): Uint8Array => {\n const result = new Uint8Array(16)\n const dv = new DataView(result.buffer)\n\n dv.setBigUint64(0, h64(input), true)\n dv.setBigUint64(8, h64(input, 1n), true)\n\n return result\n}\n\nexport const Twox256 = (input: Uint8Array): Uint8Array => {\n const result = new Uint8Array(32)\n const dv = new DataView(result.buffer)\n\n dv.setBigUint64(0, h64(input), true)\n dv.setBigUint64(8, h64(input, 1n), true)\n dv.setBigUint64(16, h64(input, 2n), true)\n dv.setBigUint64(24, h64(input, 3n), true)\n\n return result\n}\n\nexport const Twox64Concat = (encoded: Uint8Array): Uint8Array =>\n mergeUint8(u64.enc(h64(encoded)), encoded)\n","// Adapted implementation based on: https://github.com/pierrec/js-xxhash/blob/7ff5ced282f97dba121109d7013e0fa80360398c/lib/xxhash64.js\n\n// Distributed under the MIT software license, see the accompanying\n// file LICENSE or http://www.opensource.org/licenses/mit-license.php.\n\n// helper functions\nconst bigintFromU16 = (\n v0: number,\n v1: number,\n v2: number,\n v3: number,\n): bigint =>\n new DataView(new Uint16Array([v0, v1, v2, v3]).buffer).getBigUint64(0, true)\n\nconst MASK_64 = 2n ** 64n - 1n\n\nconst rotl = (input: bigint, nBits: bigint) =>\n ((input << nBits) & MASK_64) | (input >> (64n - nBits))\n\nconst multiply = (a: bigint, b: bigint) => (a * b) & MASK_64\n\nconst add = (a: bigint, b: bigint) => (a + b) & MASK_64\n\n// constants\nconst PRIME64_1 = 11400714785074694791n\nconst PRIME64_2 = 14029467366897019727n\nconst PRIME64_3 = 1609587929392839161n\nconst PRIME64_4 = 9650029242287828579n\nconst PRIME64_5 = 2870177450012600261n\n\nexport function h64(input: Uint8Array, seed: bigint = 0n) {\n let v1 = add(add(seed, PRIME64_1), PRIME64_2)\n let v2 = add(seed, PRIME64_2)\n let v3 = seed\n let v4 = seed - PRIME64_1\n let totalLen = input.length\n let memsize = 0\n let memory: Uint8Array | null = null\n\n ;(function update() {\n let p = 0\n let bEnd = p + totalLen\n\n if (!totalLen) return\n\n memory = new Uint8Array(32)\n\n if (totalLen < 32) {\n memory.set(input.subarray(0, totalLen), memsize)\n\n memsize += totalLen\n return\n }\n\n if (p <= bEnd - 32) {\n const limit = bEnd - 32\n\n do {\n let other\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n v1 = multiply(rotl(add(v1, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n\n v2 = multiply(rotl(add(v2, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n\n v3 = multiply(rotl(add(v3, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n other = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n v4 = multiply(rotl(add(v4, multiply(other, PRIME64_2)), 31n), PRIME64_1)\n p += 8\n } while (p <= limit)\n }\n\n if (p < bEnd) {\n memory.set(input.subarray(p, bEnd), memsize)\n memsize = bEnd - p\n }\n })()\n\n input = memory || input\n\n let result: bigint\n let p = 0\n\n if (totalLen >= 32) {\n result = rotl(v1, 1n)\n result = add(result, rotl(v2, 7n))\n result = add(result, rotl(v3, 12n))\n result = add(result, rotl(v4, 18n))\n\n v1 = multiply(rotl(multiply(v1, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v1\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n\n v2 = multiply(rotl(multiply(v2, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v2\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n\n v3 = multiply(rotl(multiply(v3, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v3\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n\n v4 = multiply(rotl(multiply(v4, PRIME64_2), 31n), PRIME64_1)\n result = result ^ v4\n result = add(multiply(result, PRIME64_1), PRIME64_4)\n } else {\n result = add(seed, PRIME64_5)\n }\n\n result = add(result, BigInt(totalLen))\n\n while (p <= memsize - 8) {\n let temp = bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n (input[p + 5] << 8) | input[p + 4],\n (input[p + 7] << 8) | input[p + 6],\n )\n temp = multiply(rotl(multiply(temp, PRIME64_2), 31n), PRIME64_1)\n result = add(multiply(rotl(result ^ temp, 27n), PRIME64_1), PRIME64_4)\n p += 8\n }\n\n if (p + 4 <= memsize) {\n let temp = multiply(\n bigintFromU16(\n (input[p + 1] << 8) | input[p],\n (input[p + 3] << 8) | input[p + 2],\n 0,\n 0,\n ),\n PRIME64_1,\n )\n\n result = add(multiply(rotl(result ^ temp, 23n), PRIME64_2), PRIME64_3)\n p += 4\n }\n\n while (p < memsize) {\n const temp = multiply(bigintFromU16(input[p++], 0, 0, 0), PRIME64_5)\n result = multiply(rotl(result ^ temp, 11n), PRIME64_1)\n }\n\n let temp = result >> 33n\n result = multiply(result ^ temp, PRIME64_2)\n\n temp = result >> 29n\n result = multiply(result ^ temp, PRIME64_3)\n\n temp = result >> 32n\n result ^= temp\n\n return result\n}\n","import { mergeUint8, toHex } from \"@polkadot-api/utils\"\nimport { Codec, Decoder } from \"scale-ts\"\nimport { Blake2128Concat, Identity, Twox128, Twox64Concat } from \"./hashes\"\n\nexport type EncoderWithHash<T> = [Codec<T>, (input: Uint8Array) => Uint8Array]\n\nconst textEncoder = new TextEncoder()\n\nexport const Storage = (pallet: string) => {\n const palledEncoded = Twox128(textEncoder.encode(pallet))\n return <T, A extends Array<EncoderWithHash<any>>>(\n name: string,\n dec: Decoder<T>,\n ...encoders: [...A]\n ): {\n enc: (\n ...args: {\n [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown\n }\n ) => string\n dec: Decoder<T>\n keyDecoder: (value: string) => {\n [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown\n }\n } => {\n const palletItemEncoded = mergeUint8(\n palledEncoded,\n Twox128(textEncoder.encode(name)),\n )\n\n const palletItemEncodedHex = toHex(palletItemEncoded)\n const bytesToSkip = encoders\n .map((e) => e[1])\n .map((x) => {\n if (x === Identity) return 0\n if (x === Twox64Concat) return 8\n if (x === Blake2128Concat) return 16\n return null\n })\n .filter(Boolean) as Array<number>\n\n const keyDecoder = (\n key: string,\n ): {\n [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown\n } => {\n if (!key.startsWith(palletItemEncodedHex))\n throw new Error(`key does not match this storage (${pallet}.${name})`)\n\n if (bytesToSkip.length !== encoders.length)\n throw new Error(\"Impossible to decode this key\")\n\n if (encoders.length === 0) return [] as any\n\n const argsKey = key.slice(palletItemEncodedHex.length)\n const result = new Array<any>(encoders.length)\n for (let i = 0, cur = 0; i < bytesToSkip.length; i++) {\n const codec = encoders[i][0]\n cur += bytesToSkip[i]\n result[i] = codec.dec(argsKey.slice(cur * 2))\n cur += codec.enc(result[i]).length\n }\n return result as any\n }\n\n const fns = encoders.map(\n ([{ enc }, hash]) =>\n (val: any) =>\n hash(enc(val)),\n )\n\n const enc = (\n ...args: {\n [K in keyof A]: A[K] extends EncoderWithHash<infer V> ? V : unknown\n }\n ): string =>\n toHex(\n mergeUint8(palletItemEncoded, ...args.map((val, idx) => fns[idx](val))),\n )\n\n return {\n enc,\n dec,\n keyDecoder,\n }\n }\n}\n"],"mappings":"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","names":["import_scale_ts","import_scale_ts","import_scale_ts","import_scale_ts","str","import_utils","import_scale_ts","enc","dec","import_scale_ts","textEncoder","textDecoder","str","import_scale_ts","import_scale_ts","import_scale_ts","import_utils","enc","ScaleEnum","dec","import_utils","import_scale_ts","keccak","char","textEncoder","textDecoder","import_scale_ts","import_scale_ts","bitSequence","import_scale_ts","import_scale_ts","import_utils","import_blake2b","import_utils","import_scale_ts","p","temp","import_utils","textEncoder","dec","enc"]}