@talismn/scale 0.3.0 → 0.3.1

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.
@@ -0,0 +1,927 @@
1
+ import * as _polkadot_api_metadata_builders from '@polkadot-api/metadata-builders';
2
+ import { getDynamicBuilder } from '@polkadot-api/metadata-builders';
3
+ export { MetadataLookup, getDynamicBuilder, getLookupFn } from '@polkadot-api/metadata-builders';
4
+ import * as _polkadot_api_substrate_bindings from '@polkadot-api/substrate-bindings';
5
+ import { Metadata, UnifiedMetadata } from '@polkadot-api/substrate-bindings';
6
+ export { Binary, Blake2128, Blake2128Concat, Blake2256, Blake3256, Blake3256Concat, Codec, FixedSizeBinary, Twox128, Twox256, Twox64Concat, UnifiedMetadata, decAnyMetadata, metadata, unifyMetadata } from '@polkadot-api/substrate-bindings';
7
+ import * as scale_ts from 'scale-ts';
8
+ export { fromHex, mergeUint8, toHex } from '@polkadot-api/utils';
9
+
10
+ /** Constant: https://docs.substrate.io/build/application-development/#metadata-format */
11
+ declare const magicNumber = 1635018093;
12
+ type MetadataBuilder = ReturnType<typeof getDynamicBuilder>;
13
+
14
+ type MetadataType = SupportedMetadata["lookup"][number];
15
+ type MetadataPallet = SupportedMetadata["pallets"][number];
16
+ type MetadataStorageItem = NonNullable<MetadataPallet["storage"]>["items"][number];
17
+ type SupportedMetadata = Extract<Metadata["metadata"], {
18
+ tag: SupportedMetadataVersion;
19
+ }>["value"];
20
+ type SupportedMetadataVersion = "v14" | "v15" | "v16";
21
+ /**
22
+ * Converts a `Metadata` into a `MiniMetadata`.
23
+ *
24
+ * A `MiniMetadata` only contains the types inside of its `lookup` which are relevant for
25
+ * the storage queries specified in `palletsAndItems`.
26
+ *
27
+ * E.g. if `palletsAndItems` is `{ pallet: "System", items: ["Account"] }`, then only the
28
+ * types used in the `System.Account` storage query will remain inside of metadata.lookups.
29
+ */
30
+ declare const compactMetadata: (anyMetadata: Metadata, palletsAndItems?: Array<{
31
+ pallet: string;
32
+ constants?: string[];
33
+ items: string[];
34
+ }>, runtimeApisAndMethods?: Array<{
35
+ runtimeApi: string;
36
+ methods: string[];
37
+ }>, extraKeepTypes?: number[]) => void;
38
+
39
+ type ScaleStorageCoder$1 = ReturnType<MetadataBuilder["buildStorage"]>;
40
+ declare const decodeScale: <T>(scaleCoder: ScaleStorageCoder$1 | undefined, change: string | null, error?: string) => T | null;
41
+
42
+ declare const encodeMetadata: (metadata: Metadata) => `0x${string}`;
43
+
44
+ type ScaleStorageCoder = ReturnType<MetadataBuilder["buildStorage"]>;
45
+ declare const encodeStateKey: (scaleCoder: ScaleStorageCoder | undefined, error?: string, ...args: unknown[]) => `0x${string}` | undefined;
46
+
47
+ declare const getConstantValueFromMetadata: <T>(metadata: `0x${string}` | {
48
+ builder: MetadataBuilder;
49
+ unifiedMetadata: UnifiedMetadata;
50
+ }, pallet: string, constant: string) => T;
51
+
52
+ /**
53
+ * Extracts the `version` u8 from a SCALE-encoded metadata blob and returns it as a `number`.
54
+ *
55
+ * Only reads the first 40 bytes of the blob.
56
+ */
57
+ declare const getMetadataVersion: (metadataRpc: string | Uint8Array | ArrayBuffer) => number;
58
+
59
+ declare const getStorageKeyPrefix: (palletName: string, storageName: string) => string;
60
+
61
+ declare const parseMetadataRpc: (metadataRpc: `0x${string}`) => {
62
+ metadata: {
63
+ magicNumber: number;
64
+ metadata: {
65
+ tag: "v0";
66
+ value: unknown;
67
+ } | {
68
+ tag: "v1";
69
+ value: unknown;
70
+ } | {
71
+ tag: "v2";
72
+ value: unknown;
73
+ } | {
74
+ tag: "v3";
75
+ value: unknown;
76
+ } | {
77
+ tag: "v4";
78
+ value: unknown;
79
+ } | {
80
+ tag: "v5";
81
+ value: unknown;
82
+ } | {
83
+ tag: "v6";
84
+ value: unknown;
85
+ } | {
86
+ tag: "v7";
87
+ value: unknown;
88
+ } | {
89
+ tag: "v8";
90
+ value: unknown;
91
+ } | {
92
+ tag: "v9";
93
+ value: unknown;
94
+ } | {
95
+ tag: "v10";
96
+ value: unknown;
97
+ } | {
98
+ tag: "v11";
99
+ value: unknown;
100
+ } | {
101
+ tag: "v12";
102
+ value: unknown;
103
+ } | {
104
+ tag: "v13";
105
+ value: unknown;
106
+ } | {
107
+ tag: "v14";
108
+ value: {
109
+ lookup: {
110
+ id: number;
111
+ path: string[];
112
+ params: {
113
+ name: string;
114
+ type: number | undefined;
115
+ }[];
116
+ def: {
117
+ tag: "composite";
118
+ value: {
119
+ name: string | undefined;
120
+ type: number;
121
+ typeName: string | undefined;
122
+ docs: string[];
123
+ }[];
124
+ } | {
125
+ tag: "variant";
126
+ value: {
127
+ name: string;
128
+ fields: {
129
+ name: string | undefined;
130
+ type: number;
131
+ typeName: string | undefined;
132
+ docs: string[];
133
+ }[];
134
+ index: number;
135
+ docs: string[];
136
+ }[];
137
+ } | {
138
+ tag: "sequence";
139
+ value: number;
140
+ } | {
141
+ tag: "array";
142
+ value: {
143
+ len: number;
144
+ type: number;
145
+ };
146
+ } | {
147
+ tag: "tuple";
148
+ value: number[];
149
+ } | {
150
+ tag: "primitive";
151
+ value: {
152
+ tag: "bool";
153
+ value: undefined;
154
+ } | {
155
+ tag: "char";
156
+ value: undefined;
157
+ } | {
158
+ tag: "str";
159
+ value: undefined;
160
+ } | {
161
+ tag: "u8";
162
+ value: undefined;
163
+ } | {
164
+ tag: "u16";
165
+ value: undefined;
166
+ } | {
167
+ tag: "u32";
168
+ value: undefined;
169
+ } | {
170
+ tag: "u64";
171
+ value: undefined;
172
+ } | {
173
+ tag: "u128";
174
+ value: undefined;
175
+ } | {
176
+ tag: "u256";
177
+ value: undefined;
178
+ } | {
179
+ tag: "i8";
180
+ value: undefined;
181
+ } | {
182
+ tag: "i16";
183
+ value: undefined;
184
+ } | {
185
+ tag: "i32";
186
+ value: undefined;
187
+ } | {
188
+ tag: "i64";
189
+ value: undefined;
190
+ } | {
191
+ tag: "i128";
192
+ value: undefined;
193
+ } | {
194
+ tag: "i256";
195
+ value: undefined;
196
+ };
197
+ } | {
198
+ tag: "compact";
199
+ value: number;
200
+ } | {
201
+ tag: "bitSequence";
202
+ value: {
203
+ bitStoreType: number;
204
+ bitOrderType: number;
205
+ };
206
+ };
207
+ docs: string[];
208
+ }[];
209
+ pallets: {
210
+ docs: string[];
211
+ name: string;
212
+ storage: {
213
+ prefix: string;
214
+ items: {
215
+ name: string;
216
+ modifier: number;
217
+ type: {
218
+ tag: "map";
219
+ value: {
220
+ hashers: ({
221
+ tag: "Blake2128";
222
+ value: undefined;
223
+ } | {
224
+ tag: "Blake2256";
225
+ value: undefined;
226
+ } | {
227
+ tag: "Blake2128Concat";
228
+ value: undefined;
229
+ } | {
230
+ tag: "Twox128";
231
+ value: undefined;
232
+ } | {
233
+ tag: "Twox256";
234
+ value: undefined;
235
+ } | {
236
+ tag: "Twox64Concat";
237
+ value: undefined;
238
+ } | {
239
+ tag: "Identity";
240
+ value: undefined;
241
+ })[];
242
+ key: number;
243
+ value: number;
244
+ };
245
+ } | {
246
+ tag: "plain";
247
+ value: number;
248
+ };
249
+ fallback: _polkadot_api_substrate_bindings.HexString;
250
+ docs: string[];
251
+ }[];
252
+ } | undefined;
253
+ calls: number | undefined;
254
+ events: number | undefined;
255
+ constants: {
256
+ name: string;
257
+ type: number;
258
+ value: _polkadot_api_substrate_bindings.HexString;
259
+ docs: string[];
260
+ }[];
261
+ errors: number | undefined;
262
+ index: number;
263
+ }[];
264
+ extrinsic: {
265
+ type: number;
266
+ version: number;
267
+ signedExtensions: {
268
+ identifier: string;
269
+ type: number;
270
+ additionalSigned: number;
271
+ }[];
272
+ };
273
+ type: number;
274
+ apis: {
275
+ name: string;
276
+ methods: {
277
+ deprecationInfo: {
278
+ tag: "NotDeprecated";
279
+ value: undefined;
280
+ } | {
281
+ tag: "DeprecatedWithoutNote";
282
+ value: undefined;
283
+ } | {
284
+ tag: "Deprecated";
285
+ value: {
286
+ note: string;
287
+ since: string | undefined;
288
+ };
289
+ };
290
+ name: string;
291
+ inputs: {
292
+ name: string;
293
+ type: number;
294
+ }[];
295
+ output: number;
296
+ docs: string[];
297
+ }[];
298
+ docs: string[];
299
+ version: number;
300
+ deprecationInfo: {
301
+ tag: "NotDeprecated";
302
+ value: undefined;
303
+ } | {
304
+ tag: "DeprecatedWithoutNote";
305
+ value: undefined;
306
+ } | {
307
+ tag: "Deprecated";
308
+ value: {
309
+ note: string;
310
+ since: string | undefined;
311
+ };
312
+ };
313
+ }[];
314
+ };
315
+ } | {
316
+ tag: "v15";
317
+ value: {
318
+ lookup: {
319
+ id: number;
320
+ path: string[];
321
+ params: {
322
+ name: string;
323
+ type: number | undefined;
324
+ }[];
325
+ def: {
326
+ tag: "composite";
327
+ value: {
328
+ name: string | undefined;
329
+ type: number;
330
+ typeName: string | undefined;
331
+ docs: string[];
332
+ }[];
333
+ } | {
334
+ tag: "variant";
335
+ value: {
336
+ name: string;
337
+ fields: {
338
+ name: string | undefined;
339
+ type: number;
340
+ typeName: string | undefined;
341
+ docs: string[];
342
+ }[];
343
+ index: number;
344
+ docs: string[];
345
+ }[];
346
+ } | {
347
+ tag: "sequence";
348
+ value: number;
349
+ } | {
350
+ tag: "array";
351
+ value: {
352
+ len: number;
353
+ type: number;
354
+ };
355
+ } | {
356
+ tag: "tuple";
357
+ value: number[];
358
+ } | {
359
+ tag: "primitive";
360
+ value: {
361
+ tag: "bool";
362
+ value: undefined;
363
+ } | {
364
+ tag: "char";
365
+ value: undefined;
366
+ } | {
367
+ tag: "str";
368
+ value: undefined;
369
+ } | {
370
+ tag: "u8";
371
+ value: undefined;
372
+ } | {
373
+ tag: "u16";
374
+ value: undefined;
375
+ } | {
376
+ tag: "u32";
377
+ value: undefined;
378
+ } | {
379
+ tag: "u64";
380
+ value: undefined;
381
+ } | {
382
+ tag: "u128";
383
+ value: undefined;
384
+ } | {
385
+ tag: "u256";
386
+ value: undefined;
387
+ } | {
388
+ tag: "i8";
389
+ value: undefined;
390
+ } | {
391
+ tag: "i16";
392
+ value: undefined;
393
+ } | {
394
+ tag: "i32";
395
+ value: undefined;
396
+ } | {
397
+ tag: "i64";
398
+ value: undefined;
399
+ } | {
400
+ tag: "i128";
401
+ value: undefined;
402
+ } | {
403
+ tag: "i256";
404
+ value: undefined;
405
+ };
406
+ } | {
407
+ tag: "compact";
408
+ value: number;
409
+ } | {
410
+ tag: "bitSequence";
411
+ value: {
412
+ bitStoreType: number;
413
+ bitOrderType: number;
414
+ };
415
+ };
416
+ docs: string[];
417
+ }[];
418
+ pallets: {
419
+ docs: string[];
420
+ name: string;
421
+ storage: {
422
+ prefix: string;
423
+ items: {
424
+ name: string;
425
+ modifier: number;
426
+ type: {
427
+ tag: "map";
428
+ value: {
429
+ hashers: ({
430
+ tag: "Blake2128";
431
+ value: undefined;
432
+ } | {
433
+ tag: "Blake2256";
434
+ value: undefined;
435
+ } | {
436
+ tag: "Blake2128Concat";
437
+ value: undefined;
438
+ } | {
439
+ tag: "Twox128";
440
+ value: undefined;
441
+ } | {
442
+ tag: "Twox256";
443
+ value: undefined;
444
+ } | {
445
+ tag: "Twox64Concat";
446
+ value: undefined;
447
+ } | {
448
+ tag: "Identity";
449
+ value: undefined;
450
+ })[];
451
+ key: number;
452
+ value: number;
453
+ };
454
+ } | {
455
+ tag: "plain";
456
+ value: number;
457
+ };
458
+ fallback: _polkadot_api_substrate_bindings.HexString;
459
+ docs: string[];
460
+ }[];
461
+ } | undefined;
462
+ calls: number | undefined;
463
+ events: number | undefined;
464
+ constants: {
465
+ name: string;
466
+ type: number;
467
+ value: _polkadot_api_substrate_bindings.HexString;
468
+ docs: string[];
469
+ }[];
470
+ errors: number | undefined;
471
+ index: number;
472
+ }[];
473
+ extrinsic: {
474
+ version: number;
475
+ address: number;
476
+ call: number;
477
+ signature: number;
478
+ extra: number;
479
+ signedExtensions: {
480
+ identifier: string;
481
+ type: number;
482
+ additionalSigned: number;
483
+ }[];
484
+ };
485
+ type: number;
486
+ apis: {
487
+ name: string;
488
+ methods: {
489
+ name: string;
490
+ inputs: {
491
+ name: string;
492
+ type: number;
493
+ }[];
494
+ output: number;
495
+ docs: string[];
496
+ }[];
497
+ docs: string[];
498
+ }[];
499
+ outerEnums: {
500
+ call: number;
501
+ event: number;
502
+ error: number;
503
+ };
504
+ custom: [string, {
505
+ type: number;
506
+ value: _polkadot_api_substrate_bindings.HexString;
507
+ }][];
508
+ };
509
+ } | {
510
+ tag: "v16";
511
+ value: {
512
+ lookup: {
513
+ id: number;
514
+ path: string[];
515
+ params: {
516
+ name: string;
517
+ type: number | undefined;
518
+ }[];
519
+ def: {
520
+ tag: "composite";
521
+ value: {
522
+ name: string | undefined;
523
+ type: number;
524
+ typeName: string | undefined;
525
+ docs: string[];
526
+ }[];
527
+ } | {
528
+ tag: "variant";
529
+ value: {
530
+ name: string;
531
+ fields: {
532
+ name: string | undefined;
533
+ type: number;
534
+ typeName: string | undefined;
535
+ docs: string[];
536
+ }[];
537
+ index: number;
538
+ docs: string[];
539
+ }[];
540
+ } | {
541
+ tag: "sequence";
542
+ value: number;
543
+ } | {
544
+ tag: "array";
545
+ value: {
546
+ len: number;
547
+ type: number;
548
+ };
549
+ } | {
550
+ tag: "tuple";
551
+ value: number[];
552
+ } | {
553
+ tag: "primitive";
554
+ value: {
555
+ tag: "bool";
556
+ value: undefined;
557
+ } | {
558
+ tag: "char";
559
+ value: undefined;
560
+ } | {
561
+ tag: "str";
562
+ value: undefined;
563
+ } | {
564
+ tag: "u8";
565
+ value: undefined;
566
+ } | {
567
+ tag: "u16";
568
+ value: undefined;
569
+ } | {
570
+ tag: "u32";
571
+ value: undefined;
572
+ } | {
573
+ tag: "u64";
574
+ value: undefined;
575
+ } | {
576
+ tag: "u128";
577
+ value: undefined;
578
+ } | {
579
+ tag: "u256";
580
+ value: undefined;
581
+ } | {
582
+ tag: "i8";
583
+ value: undefined;
584
+ } | {
585
+ tag: "i16";
586
+ value: undefined;
587
+ } | {
588
+ tag: "i32";
589
+ value: undefined;
590
+ } | {
591
+ tag: "i64";
592
+ value: undefined;
593
+ } | {
594
+ tag: "i128";
595
+ value: undefined;
596
+ } | {
597
+ tag: "i256";
598
+ value: undefined;
599
+ };
600
+ } | {
601
+ tag: "compact";
602
+ value: number;
603
+ } | {
604
+ tag: "bitSequence";
605
+ value: {
606
+ bitStoreType: number;
607
+ bitOrderType: number;
608
+ };
609
+ };
610
+ docs: string[];
611
+ }[];
612
+ pallets: {
613
+ name: string;
614
+ storage: {
615
+ prefix: string;
616
+ items: {
617
+ deprecationInfo: {
618
+ tag: "NotDeprecated";
619
+ value: undefined;
620
+ } | {
621
+ tag: "DeprecatedWithoutNote";
622
+ value: undefined;
623
+ } | {
624
+ tag: "Deprecated";
625
+ value: {
626
+ note: string;
627
+ since: string | undefined;
628
+ };
629
+ };
630
+ name: string;
631
+ modifier: number;
632
+ type: {
633
+ tag: "map";
634
+ value: {
635
+ hashers: ({
636
+ tag: "Blake2128";
637
+ value: undefined;
638
+ } | {
639
+ tag: "Blake2256";
640
+ value: undefined;
641
+ } | {
642
+ tag: "Blake2128Concat";
643
+ value: undefined;
644
+ } | {
645
+ tag: "Twox128";
646
+ value: undefined;
647
+ } | {
648
+ tag: "Twox256";
649
+ value: undefined;
650
+ } | {
651
+ tag: "Twox64Concat";
652
+ value: undefined;
653
+ } | {
654
+ tag: "Identity";
655
+ value: undefined;
656
+ })[];
657
+ key: number;
658
+ value: number;
659
+ };
660
+ } | {
661
+ tag: "plain";
662
+ value: number;
663
+ };
664
+ fallback: _polkadot_api_substrate_bindings.HexString;
665
+ docs: string[];
666
+ }[];
667
+ } | undefined;
668
+ calls: {
669
+ type: number;
670
+ deprecationInfo: {
671
+ index: number;
672
+ deprecation: {
673
+ tag: "DeprecatedWithoutNote";
674
+ value: undefined;
675
+ } | {
676
+ tag: "Deprecated";
677
+ value: {
678
+ note: string;
679
+ since: string | undefined;
680
+ };
681
+ };
682
+ }[];
683
+ } | undefined;
684
+ events: {
685
+ type: number;
686
+ deprecationInfo: {
687
+ index: number;
688
+ deprecation: {
689
+ tag: "DeprecatedWithoutNote";
690
+ value: undefined;
691
+ } | {
692
+ tag: "Deprecated";
693
+ value: {
694
+ note: string;
695
+ since: string | undefined;
696
+ };
697
+ };
698
+ }[];
699
+ } | undefined;
700
+ constants: {
701
+ name: string;
702
+ type: number;
703
+ value: _polkadot_api_substrate_bindings.HexString;
704
+ docs: string[];
705
+ deprecationInfo: {
706
+ tag: "NotDeprecated";
707
+ value: undefined;
708
+ } | {
709
+ tag: "DeprecatedWithoutNote";
710
+ value: undefined;
711
+ } | {
712
+ tag: "Deprecated";
713
+ value: {
714
+ note: string;
715
+ since: string | undefined;
716
+ };
717
+ };
718
+ }[];
719
+ errors: {
720
+ type: number;
721
+ deprecationInfo: {
722
+ index: number;
723
+ deprecation: {
724
+ tag: "DeprecatedWithoutNote";
725
+ value: undefined;
726
+ } | {
727
+ tag: "Deprecated";
728
+ value: {
729
+ note: string;
730
+ since: string | undefined;
731
+ };
732
+ };
733
+ }[];
734
+ } | undefined;
735
+ associatedTypes: {
736
+ name: string;
737
+ type: number;
738
+ docs: string[];
739
+ }[];
740
+ viewFns: {
741
+ deprecationInfo: {
742
+ tag: "NotDeprecated";
743
+ value: undefined;
744
+ } | {
745
+ tag: "DeprecatedWithoutNote";
746
+ value: undefined;
747
+ } | {
748
+ tag: "Deprecated";
749
+ value: {
750
+ note: string;
751
+ since: string | undefined;
752
+ };
753
+ };
754
+ name: string;
755
+ inputs: {
756
+ name: string;
757
+ type: number;
758
+ }[];
759
+ output: number;
760
+ docs: string[];
761
+ id: _polkadot_api_substrate_bindings.HexString;
762
+ }[];
763
+ index: number;
764
+ docs: string[];
765
+ deprecationInfo: {
766
+ tag: "NotDeprecated";
767
+ value: undefined;
768
+ } | {
769
+ tag: "DeprecatedWithoutNote";
770
+ value: undefined;
771
+ } | {
772
+ tag: "Deprecated";
773
+ value: {
774
+ note: string;
775
+ since: string | undefined;
776
+ };
777
+ };
778
+ }[];
779
+ extrinsic: {
780
+ version: number[];
781
+ address: number;
782
+ call: number;
783
+ signature: number;
784
+ signedExtensionsByVersion: [number, number[]][];
785
+ signedExtensions: {
786
+ identifier: string;
787
+ type: number;
788
+ additionalSigned: number;
789
+ }[];
790
+ };
791
+ apis: {
792
+ name: string;
793
+ methods: {
794
+ deprecationInfo: {
795
+ tag: "NotDeprecated";
796
+ value: undefined;
797
+ } | {
798
+ tag: "DeprecatedWithoutNote";
799
+ value: undefined;
800
+ } | {
801
+ tag: "Deprecated";
802
+ value: {
803
+ note: string;
804
+ since: string | undefined;
805
+ };
806
+ };
807
+ name: string;
808
+ inputs: {
809
+ name: string;
810
+ type: number;
811
+ }[];
812
+ output: number;
813
+ docs: string[];
814
+ }[];
815
+ docs: string[];
816
+ version: number;
817
+ deprecationInfo: {
818
+ tag: "NotDeprecated";
819
+ value: undefined;
820
+ } | {
821
+ tag: "DeprecatedWithoutNote";
822
+ value: undefined;
823
+ } | {
824
+ tag: "Deprecated";
825
+ value: {
826
+ note: string;
827
+ since: string | undefined;
828
+ };
829
+ };
830
+ }[];
831
+ outerEnums: {
832
+ call: number;
833
+ event: number;
834
+ error: number;
835
+ };
836
+ custom: [string, {
837
+ type: number;
838
+ value: _polkadot_api_substrate_bindings.HexString;
839
+ }][];
840
+ };
841
+ };
842
+ };
843
+ unifiedMetadata: _polkadot_api_substrate_bindings.UnifiedMetadata<14 | 15 | 16>;
844
+ lookupFn: _polkadot_api_metadata_builders.MetadataLookup;
845
+ builder: {
846
+ buildDefinition: (id: number) => scale_ts.Codec<any>;
847
+ buildStorage: (pallet: string, entry: string) => {
848
+ args: [scale_ts.Encoder<any[]>, scale_ts.Decoder<any[]>] & {
849
+ enc: scale_ts.Encoder<any[]>;
850
+ dec: scale_ts.Decoder<any[]>;
851
+ } & {
852
+ inner: scale_ts.Codec<any>[];
853
+ };
854
+ keys: {
855
+ enc: (...args: any[]) => string;
856
+ dec: (value: string) => any[];
857
+ };
858
+ value: scale_ts.Codec<any>;
859
+ len: number;
860
+ fallback: any;
861
+ };
862
+ buildEvent: (pallet: string, name: string) => {
863
+ codec: scale_ts.Codec<any>;
864
+ location: [number, number];
865
+ };
866
+ buildError: (pallet: string, name: string) => {
867
+ codec: scale_ts.Codec<any>;
868
+ location: [number, number];
869
+ };
870
+ buildViewFn: (pallet: string, entry: string) => {
871
+ args: [scale_ts.Encoder<any[]>, scale_ts.Decoder<any[]>] & {
872
+ enc: scale_ts.Encoder<any[]>;
873
+ dec: scale_ts.Decoder<any[]>;
874
+ } & {
875
+ inner: scale_ts.Codec<any>[];
876
+ };
877
+ value: scale_ts.Codec<any>;
878
+ };
879
+ buildRuntimeCall: (api: string, method: string) => {
880
+ args: [scale_ts.Encoder<any[]>, scale_ts.Decoder<any[]>] & {
881
+ enc: scale_ts.Encoder<any[]>;
882
+ dec: scale_ts.Decoder<any[]>;
883
+ } & {
884
+ inner: scale_ts.Codec<any>[];
885
+ };
886
+ value: scale_ts.Codec<any>;
887
+ };
888
+ buildCall: (pallet: string, name: string) => {
889
+ codec: scale_ts.Codec<any>;
890
+ location: [number, number];
891
+ };
892
+ buildConstant: (pallet: string, constantName: string) => scale_ts.Codec<any>;
893
+ ss58Prefix: number | undefined;
894
+ };
895
+ };
896
+
897
+ /**
898
+ * For the substrate-tokens (and other) modules, we configure the `onChainId` field in chaindata to tell the module how to query each token.
899
+ * These queries are made to the tokens pallet.
900
+ * E.g. api.query.Tokens.Account(accountAddress, papiParse(onChainId))
901
+ *
902
+ * The `onChainId` field on chaindata must be a JSON-parseable string, but for some SCALE types (especially the Binary type) we must
903
+ * use specific `polkadot-api` classes to handle SCALE-encoding the statekey.
904
+ *
905
+ * Some examples:
906
+ * Input: `5`
907
+ * Output: `5`
908
+ *
909
+ * Input: `{ type: "DexShare", value: [ { type: "Token", value: { type: "ACA" } }, { type: "Token", value: { type: "AUSD" } } ] }`
910
+ * Output: `Enum("DexShare", [Enum("Token", Enum("ACA")), Enum("Token", Enum("AUSD"))])`
911
+ *
912
+ * Input: `{ type: "LiquidCrowdloan", value: 13 }`
913
+ * Output: `Enum("LiquidCrowdloan", 13)`
914
+ *
915
+ * Input: `{ type: "NativeToken", value: "bigint:2" }`
916
+ * Output: `Enum("NativeToken", 2n)`
917
+ *
918
+ * Input: `{ type: "Erc20", value: "hex:0x07df96d1341a7d16ba1ad431e2c847d978bc2bce" }`
919
+ * Output: `Enum("Erc20", Binary.fromHex("0x07df96d1341a7d16ba1ad431e2c847d978bc2bce"))`
920
+ *
921
+ * Input: `{ type: "Stellar", value: { code: "bin:TZS", issuer: "hex:0x34c94b2a4ba9e8b57b22547dcbb30f443c4cb02da3829a89aa1bd4780e4466ba" } }`
922
+ * Output: `Enum("Stellar", { code: Binary.fromText("TZS"), issuer: Binary.fromHex("0x34c94b2a4ba9e8b57b22547dcbb30f443c4cb02da3829a89aa1bd4780e4466ba") })`
923
+ */
924
+ declare const papiParse: <T = unknown>(text: string | T) => T;
925
+ declare const papiStringify: (value: unknown, space?: string | number) => string;
926
+
927
+ export { type MetadataBuilder, type MetadataPallet, type MetadataStorageItem, type MetadataType, type ScaleStorageCoder, compactMetadata, decodeScale, encodeMetadata, encodeStateKey, getConstantValueFromMetadata, getMetadataVersion, getStorageKeyPrefix, magicNumber, papiParse, papiStringify, parseMetadataRpc };