@polkadot-api/substrate-bindings 0.0.1 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +3 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +134 -102
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +37 -5
- package/dist/index.mjs.map +1 -1
- package/dist/min/index.d.ts +3 -1
- package/dist/min/index.js +1 -1
- package/dist/min/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.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
|
|
427
|
+
var import_scale_ts14 = require("scale-ts");
|
|
396
428
|
|
|
397
429
|
// src/codecs/metadata/v15/lookup.ts
|
|
398
|
-
var
|
|
399
|
-
var oStr = (0,
|
|
400
|
-
var strs = (0,
|
|
401
|
-
var primitive = (0,
|
|
402
|
-
bool:
|
|
403
|
-
char:
|
|
404
|
-
str:
|
|
405
|
-
u8:
|
|
406
|
-
u16:
|
|
407
|
-
u32:
|
|
408
|
-
u64:
|
|
409
|
-
u128:
|
|
410
|
-
u256:
|
|
411
|
-
i8:
|
|
412
|
-
i16:
|
|
413
|
-
i32:
|
|
414
|
-
i64:
|
|
415
|
-
i128:
|
|
416
|
-
i256:
|
|
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,
|
|
419
|
-
(0,
|
|
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,
|
|
427
|
-
len:
|
|
458
|
+
var arr = (0, import_scale_ts12.Struct)({
|
|
459
|
+
len: import_scale_ts12.u32,
|
|
428
460
|
type: compactNumber
|
|
429
461
|
});
|
|
430
|
-
var bitSequence2 = (0,
|
|
462
|
+
var bitSequence2 = (0, import_scale_ts12.Struct)({
|
|
431
463
|
bitStoreType: compactNumber,
|
|
432
464
|
bitOrderType: compactNumber
|
|
433
465
|
});
|
|
434
|
-
var variant = (0,
|
|
435
|
-
(0,
|
|
436
|
-
name:
|
|
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:
|
|
470
|
+
index: import_scale_ts12.u8,
|
|
439
471
|
docs: strs
|
|
440
472
|
})
|
|
441
473
|
);
|
|
442
|
-
var def = (0,
|
|
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,
|
|
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,
|
|
453
|
-
name:
|
|
454
|
-
type: (0,
|
|
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,
|
|
457
|
-
var entry = (0,
|
|
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,
|
|
496
|
+
var lookup = (0, import_scale_ts12.Vector)(entry);
|
|
465
497
|
|
|
466
498
|
// src/codecs/metadata/v15/pallets.ts
|
|
467
|
-
var
|
|
468
|
-
var hashType = (0,
|
|
469
|
-
Blake2128:
|
|
470
|
-
Blake2256:
|
|
471
|
-
Blake2128Concat:
|
|
472
|
-
Twox128:
|
|
473
|
-
Twox256:
|
|
474
|
-
Twox64Concat:
|
|
475
|
-
Identity:
|
|
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,
|
|
478
|
-
var storageMap = (0,
|
|
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,
|
|
484
|
-
name:
|
|
485
|
-
modifier:
|
|
486
|
-
type: (0,
|
|
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,
|
|
523
|
+
docs: (0, import_scale_ts13.Vector)(import_scale_ts13.str)
|
|
492
524
|
});
|
|
493
|
-
var storage = (0,
|
|
494
|
-
(0,
|
|
495
|
-
prefix:
|
|
496
|
-
items: (0,
|
|
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,
|
|
500
|
-
(0,
|
|
501
|
-
name:
|
|
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,
|
|
504
|
-
events: (0,
|
|
505
|
-
constants: (0,
|
|
506
|
-
(0,
|
|
507
|
-
name:
|
|
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,
|
|
542
|
+
docs: (0, import_scale_ts13.Vector)(import_scale_ts13.str)
|
|
511
543
|
})
|
|
512
544
|
),
|
|
513
|
-
errors: (0,
|
|
514
|
-
index:
|
|
515
|
-
docs: (0,
|
|
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,
|
|
521
|
-
var runtimeApi = (0,
|
|
522
|
-
name:
|
|
523
|
-
methods: (0,
|
|
524
|
-
(0,
|
|
525
|
-
name:
|
|
526
|
-
inputs: (0,
|
|
527
|
-
(0,
|
|
528
|
-
name:
|
|
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,
|
|
539
|
-
version:
|
|
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,
|
|
545
|
-
(0,
|
|
546
|
-
identifier:
|
|
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,
|
|
584
|
+
var v15 = (0, import_scale_ts14.Struct)({
|
|
553
585
|
lookup,
|
|
554
586
|
pallets,
|
|
555
587
|
extrinsic,
|
|
556
588
|
type: compactNumber,
|
|
557
|
-
apis: (0,
|
|
558
|
-
outerEnums: (0,
|
|
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,
|
|
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
|
|
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,
|
|
603
|
+
var unsupported = (0, import_scale_ts15.createCodec)(
|
|
572
604
|
unsupportedFn,
|
|
573
605
|
unsupportedFn
|
|
574
606
|
);
|
|
575
|
-
var metadata = (0,
|
|
576
|
-
magicNumber:
|
|
577
|
-
metadata: (0,
|
|
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
|
|
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,
|
|
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
|
|
611
|
-
var
|
|
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,
|
|
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
|
|
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,
|
|
804
|
+
const palletItemEncoded = (0, import_utils7.mergeUint8)(
|
|
773
805
|
palledEncoded,
|
|
774
806
|
Twox128(textEncoder4.encode(name))
|
|
775
807
|
);
|
|
776
|
-
const palletItemEncodedHex = (0,
|
|
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,
|
|
807
|
-
(0,
|
|
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"]}
|