@talismn/scale 0.3.5 → 2.0.0

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