@meshsdk/common 1.9.0-beta.4 → 1.9.0-beta.42

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.cjs CHANGED
@@ -5,9 +5,6 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __getProtoOf = Object.getPrototypeOf;
7
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __commonJS = (cb, mod) => function __require() {
9
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
10
- };
11
8
  var __export = (target, all) => {
12
9
  for (var name in all)
13
10
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -30,868 +27,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
30
27
  ));
31
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
32
29
 
33
- // ../../node_modules/blakejs/util.js
34
- var require_util = __commonJS({
35
- "../../node_modules/blakejs/util.js"(exports2, module2) {
36
- "use strict";
37
- var ERROR_MSG_INPUT = "Input must be an string, Buffer or Uint8Array";
38
- function normalizeInput(input) {
39
- let ret;
40
- if (input instanceof Uint8Array) {
41
- ret = input;
42
- } else if (typeof input === "string") {
43
- const encoder = new TextEncoder();
44
- ret = encoder.encode(input);
45
- } else {
46
- throw new Error(ERROR_MSG_INPUT);
47
- }
48
- return ret;
49
- }
50
- function toHex(bytes) {
51
- return Array.prototype.map.call(bytes, function(n) {
52
- return (n < 16 ? "0" : "") + n.toString(16);
53
- }).join("");
54
- }
55
- function uint32ToHex(val) {
56
- return (4294967296 + val).toString(16).substring(1);
57
- }
58
- function debugPrint(label, arr, size) {
59
- let msg = "\n" + label + " = ";
60
- for (let i = 0; i < arr.length; i += 2) {
61
- if (size === 32) {
62
- msg += uint32ToHex(arr[i]).toUpperCase();
63
- msg += " ";
64
- msg += uint32ToHex(arr[i + 1]).toUpperCase();
65
- } else if (size === 64) {
66
- msg += uint32ToHex(arr[i + 1]).toUpperCase();
67
- msg += uint32ToHex(arr[i]).toUpperCase();
68
- } else throw new Error("Invalid size " + size);
69
- if (i % 6 === 4) {
70
- msg += "\n" + new Array(label.length + 4).join(" ");
71
- } else if (i < arr.length - 2) {
72
- msg += " ";
73
- }
74
- }
75
- console.log(msg);
76
- }
77
- function testSpeed(hashFn, N, M) {
78
- let startMs = (/* @__PURE__ */ new Date()).getTime();
79
- const input = new Uint8Array(N);
80
- for (let i = 0; i < N; i++) {
81
- input[i] = i % 256;
82
- }
83
- const genMs = (/* @__PURE__ */ new Date()).getTime();
84
- console.log("Generated random input in " + (genMs - startMs) + "ms");
85
- startMs = genMs;
86
- for (let i = 0; i < M; i++) {
87
- const hashHex = hashFn(input);
88
- const hashMs = (/* @__PURE__ */ new Date()).getTime();
89
- const ms = hashMs - startMs;
90
- startMs = hashMs;
91
- console.log("Hashed in " + ms + "ms: " + hashHex.substring(0, 20) + "...");
92
- console.log(
93
- Math.round(N / (1 << 20) / (ms / 1e3) * 100) / 100 + " MB PER SECOND"
94
- );
95
- }
96
- }
97
- module2.exports = {
98
- normalizeInput,
99
- toHex,
100
- debugPrint,
101
- testSpeed
102
- };
103
- }
104
- });
105
-
106
- // ../../node_modules/blakejs/blake2b.js
107
- var require_blake2b = __commonJS({
108
- "../../node_modules/blakejs/blake2b.js"(exports2, module2) {
109
- "use strict";
110
- var util = require_util();
111
- function ADD64AA(v2, a, b) {
112
- const o0 = v2[a] + v2[b];
113
- let o1 = v2[a + 1] + v2[b + 1];
114
- if (o0 >= 4294967296) {
115
- o1++;
116
- }
117
- v2[a] = o0;
118
- v2[a + 1] = o1;
119
- }
120
- function ADD64AC(v2, a, b0, b1) {
121
- let o0 = v2[a] + b0;
122
- if (b0 < 0) {
123
- o0 += 4294967296;
124
- }
125
- let o1 = v2[a + 1] + b1;
126
- if (o0 >= 4294967296) {
127
- o1++;
128
- }
129
- v2[a] = o0;
130
- v2[a + 1] = o1;
131
- }
132
- function B2B_GET32(arr, i) {
133
- return arr[i] ^ arr[i + 1] << 8 ^ arr[i + 2] << 16 ^ arr[i + 3] << 24;
134
- }
135
- function B2B_G(a, b, c, d, ix, iy) {
136
- const x0 = m[ix];
137
- const x1 = m[ix + 1];
138
- const y0 = m[iy];
139
- const y1 = m[iy + 1];
140
- ADD64AA(v, a, b);
141
- ADD64AC(v, a, x0, x1);
142
- let xor0 = v[d] ^ v[a];
143
- let xor1 = v[d + 1] ^ v[a + 1];
144
- v[d] = xor1;
145
- v[d + 1] = xor0;
146
- ADD64AA(v, c, d);
147
- xor0 = v[b] ^ v[c];
148
- xor1 = v[b + 1] ^ v[c + 1];
149
- v[b] = xor0 >>> 24 ^ xor1 << 8;
150
- v[b + 1] = xor1 >>> 24 ^ xor0 << 8;
151
- ADD64AA(v, a, b);
152
- ADD64AC(v, a, y0, y1);
153
- xor0 = v[d] ^ v[a];
154
- xor1 = v[d + 1] ^ v[a + 1];
155
- v[d] = xor0 >>> 16 ^ xor1 << 16;
156
- v[d + 1] = xor1 >>> 16 ^ xor0 << 16;
157
- ADD64AA(v, c, d);
158
- xor0 = v[b] ^ v[c];
159
- xor1 = v[b + 1] ^ v[c + 1];
160
- v[b] = xor1 >>> 31 ^ xor0 << 1;
161
- v[b + 1] = xor0 >>> 31 ^ xor1 << 1;
162
- }
163
- var BLAKE2B_IV32 = new Uint32Array([
164
- 4089235720,
165
- 1779033703,
166
- 2227873595,
167
- 3144134277,
168
- 4271175723,
169
- 1013904242,
170
- 1595750129,
171
- 2773480762,
172
- 2917565137,
173
- 1359893119,
174
- 725511199,
175
- 2600822924,
176
- 4215389547,
177
- 528734635,
178
- 327033209,
179
- 1541459225
180
- ]);
181
- var SIGMA8 = [
182
- 0,
183
- 1,
184
- 2,
185
- 3,
186
- 4,
187
- 5,
188
- 6,
189
- 7,
190
- 8,
191
- 9,
192
- 10,
193
- 11,
194
- 12,
195
- 13,
196
- 14,
197
- 15,
198
- 14,
199
- 10,
200
- 4,
201
- 8,
202
- 9,
203
- 15,
204
- 13,
205
- 6,
206
- 1,
207
- 12,
208
- 0,
209
- 2,
210
- 11,
211
- 7,
212
- 5,
213
- 3,
214
- 11,
215
- 8,
216
- 12,
217
- 0,
218
- 5,
219
- 2,
220
- 15,
221
- 13,
222
- 10,
223
- 14,
224
- 3,
225
- 6,
226
- 7,
227
- 1,
228
- 9,
229
- 4,
230
- 7,
231
- 9,
232
- 3,
233
- 1,
234
- 13,
235
- 12,
236
- 11,
237
- 14,
238
- 2,
239
- 6,
240
- 5,
241
- 10,
242
- 4,
243
- 0,
244
- 15,
245
- 8,
246
- 9,
247
- 0,
248
- 5,
249
- 7,
250
- 2,
251
- 4,
252
- 10,
253
- 15,
254
- 14,
255
- 1,
256
- 11,
257
- 12,
258
- 6,
259
- 8,
260
- 3,
261
- 13,
262
- 2,
263
- 12,
264
- 6,
265
- 10,
266
- 0,
267
- 11,
268
- 8,
269
- 3,
270
- 4,
271
- 13,
272
- 7,
273
- 5,
274
- 15,
275
- 14,
276
- 1,
277
- 9,
278
- 12,
279
- 5,
280
- 1,
281
- 15,
282
- 14,
283
- 13,
284
- 4,
285
- 10,
286
- 0,
287
- 7,
288
- 6,
289
- 3,
290
- 9,
291
- 2,
292
- 8,
293
- 11,
294
- 13,
295
- 11,
296
- 7,
297
- 14,
298
- 12,
299
- 1,
300
- 3,
301
- 9,
302
- 5,
303
- 0,
304
- 15,
305
- 4,
306
- 8,
307
- 6,
308
- 2,
309
- 10,
310
- 6,
311
- 15,
312
- 14,
313
- 9,
314
- 11,
315
- 3,
316
- 0,
317
- 8,
318
- 12,
319
- 2,
320
- 13,
321
- 7,
322
- 1,
323
- 4,
324
- 10,
325
- 5,
326
- 10,
327
- 2,
328
- 8,
329
- 4,
330
- 7,
331
- 6,
332
- 1,
333
- 5,
334
- 15,
335
- 11,
336
- 9,
337
- 14,
338
- 3,
339
- 12,
340
- 13,
341
- 0,
342
- 0,
343
- 1,
344
- 2,
345
- 3,
346
- 4,
347
- 5,
348
- 6,
349
- 7,
350
- 8,
351
- 9,
352
- 10,
353
- 11,
354
- 12,
355
- 13,
356
- 14,
357
- 15,
358
- 14,
359
- 10,
360
- 4,
361
- 8,
362
- 9,
363
- 15,
364
- 13,
365
- 6,
366
- 1,
367
- 12,
368
- 0,
369
- 2,
370
- 11,
371
- 7,
372
- 5,
373
- 3
374
- ];
375
- var SIGMA82 = new Uint8Array(
376
- SIGMA8.map(function(x) {
377
- return x * 2;
378
- })
379
- );
380
- var v = new Uint32Array(32);
381
- var m = new Uint32Array(32);
382
- function blake2bCompress(ctx, last) {
383
- let i = 0;
384
- for (i = 0; i < 16; i++) {
385
- v[i] = ctx.h[i];
386
- v[i + 16] = BLAKE2B_IV32[i];
387
- }
388
- v[24] = v[24] ^ ctx.t;
389
- v[25] = v[25] ^ ctx.t / 4294967296;
390
- if (last) {
391
- v[28] = ~v[28];
392
- v[29] = ~v[29];
393
- }
394
- for (i = 0; i < 32; i++) {
395
- m[i] = B2B_GET32(ctx.b, 4 * i);
396
- }
397
- for (i = 0; i < 12; i++) {
398
- B2B_G(0, 8, 16, 24, SIGMA82[i * 16 + 0], SIGMA82[i * 16 + 1]);
399
- B2B_G(2, 10, 18, 26, SIGMA82[i * 16 + 2], SIGMA82[i * 16 + 3]);
400
- B2B_G(4, 12, 20, 28, SIGMA82[i * 16 + 4], SIGMA82[i * 16 + 5]);
401
- B2B_G(6, 14, 22, 30, SIGMA82[i * 16 + 6], SIGMA82[i * 16 + 7]);
402
- B2B_G(0, 10, 20, 30, SIGMA82[i * 16 + 8], SIGMA82[i * 16 + 9]);
403
- B2B_G(2, 12, 22, 24, SIGMA82[i * 16 + 10], SIGMA82[i * 16 + 11]);
404
- B2B_G(4, 14, 16, 26, SIGMA82[i * 16 + 12], SIGMA82[i * 16 + 13]);
405
- B2B_G(6, 8, 18, 28, SIGMA82[i * 16 + 14], SIGMA82[i * 16 + 15]);
406
- }
407
- for (i = 0; i < 16; i++) {
408
- ctx.h[i] = ctx.h[i] ^ v[i] ^ v[i + 16];
409
- }
410
- }
411
- var parameterBlock = new Uint8Array([
412
- 0,
413
- 0,
414
- 0,
415
- 0,
416
- // 0: outlen, keylen, fanout, depth
417
- 0,
418
- 0,
419
- 0,
420
- 0,
421
- // 4: leaf length, sequential mode
422
- 0,
423
- 0,
424
- 0,
425
- 0,
426
- // 8: node offset
427
- 0,
428
- 0,
429
- 0,
430
- 0,
431
- // 12: node offset
432
- 0,
433
- 0,
434
- 0,
435
- 0,
436
- // 16: node depth, inner length, rfu
437
- 0,
438
- 0,
439
- 0,
440
- 0,
441
- // 20: rfu
442
- 0,
443
- 0,
444
- 0,
445
- 0,
446
- // 24: rfu
447
- 0,
448
- 0,
449
- 0,
450
- 0,
451
- // 28: rfu
452
- 0,
453
- 0,
454
- 0,
455
- 0,
456
- // 32: salt
457
- 0,
458
- 0,
459
- 0,
460
- 0,
461
- // 36: salt
462
- 0,
463
- 0,
464
- 0,
465
- 0,
466
- // 40: salt
467
- 0,
468
- 0,
469
- 0,
470
- 0,
471
- // 44: salt
472
- 0,
473
- 0,
474
- 0,
475
- 0,
476
- // 48: personal
477
- 0,
478
- 0,
479
- 0,
480
- 0,
481
- // 52: personal
482
- 0,
483
- 0,
484
- 0,
485
- 0,
486
- // 56: personal
487
- 0,
488
- 0,
489
- 0,
490
- 0
491
- // 60: personal
492
- ]);
493
- function blake2bInit(outlen, key, salt, personal) {
494
- if (outlen === 0 || outlen > 64) {
495
- throw new Error("Illegal output length, expected 0 < length <= 64");
496
- }
497
- if (key && key.length > 64) {
498
- throw new Error("Illegal key, expected Uint8Array with 0 < length <= 64");
499
- }
500
- if (salt && salt.length !== 16) {
501
- throw new Error("Illegal salt, expected Uint8Array with length is 16");
502
- }
503
- if (personal && personal.length !== 16) {
504
- throw new Error("Illegal personal, expected Uint8Array with length is 16");
505
- }
506
- const ctx = {
507
- b: new Uint8Array(128),
508
- h: new Uint32Array(16),
509
- t: 0,
510
- // input count
511
- c: 0,
512
- // pointer within buffer
513
- outlen
514
- // output length in bytes
515
- };
516
- parameterBlock.fill(0);
517
- parameterBlock[0] = outlen;
518
- if (key) parameterBlock[1] = key.length;
519
- parameterBlock[2] = 1;
520
- parameterBlock[3] = 1;
521
- if (salt) parameterBlock.set(salt, 32);
522
- if (personal) parameterBlock.set(personal, 48);
523
- for (let i = 0; i < 16; i++) {
524
- ctx.h[i] = BLAKE2B_IV32[i] ^ B2B_GET32(parameterBlock, i * 4);
525
- }
526
- if (key) {
527
- blake2bUpdate(ctx, key);
528
- ctx.c = 128;
529
- }
530
- return ctx;
531
- }
532
- function blake2bUpdate(ctx, input) {
533
- for (let i = 0; i < input.length; i++) {
534
- if (ctx.c === 128) {
535
- ctx.t += ctx.c;
536
- blake2bCompress(ctx, false);
537
- ctx.c = 0;
538
- }
539
- ctx.b[ctx.c++] = input[i];
540
- }
541
- }
542
- function blake2bFinal(ctx) {
543
- ctx.t += ctx.c;
544
- while (ctx.c < 128) {
545
- ctx.b[ctx.c++] = 0;
546
- }
547
- blake2bCompress(ctx, true);
548
- const out = new Uint8Array(ctx.outlen);
549
- for (let i = 0; i < ctx.outlen; i++) {
550
- out[i] = ctx.h[i >> 2] >> 8 * (i & 3);
551
- }
552
- return out;
553
- }
554
- function blake2b2(input, key, outlen, salt, personal) {
555
- outlen = outlen || 64;
556
- input = util.normalizeInput(input);
557
- if (salt) {
558
- salt = util.normalizeInput(salt);
559
- }
560
- if (personal) {
561
- personal = util.normalizeInput(personal);
562
- }
563
- const ctx = blake2bInit(outlen, key, salt, personal);
564
- blake2bUpdate(ctx, input);
565
- return blake2bFinal(ctx);
566
- }
567
- function blake2bHex2(input, key, outlen, salt, personal) {
568
- const output = blake2b2(input, key, outlen, salt, personal);
569
- return util.toHex(output);
570
- }
571
- module2.exports = {
572
- blake2b: blake2b2,
573
- blake2bHex: blake2bHex2,
574
- blake2bInit,
575
- blake2bUpdate,
576
- blake2bFinal
577
- };
578
- }
579
- });
580
-
581
- // ../../node_modules/blakejs/blake2s.js
582
- var require_blake2s = __commonJS({
583
- "../../node_modules/blakejs/blake2s.js"(exports2, module2) {
584
- "use strict";
585
- var util = require_util();
586
- function B2S_GET32(v2, i) {
587
- return v2[i] ^ v2[i + 1] << 8 ^ v2[i + 2] << 16 ^ v2[i + 3] << 24;
588
- }
589
- function B2S_G(a, b, c, d, x, y) {
590
- v[a] = v[a] + v[b] + x;
591
- v[d] = ROTR32(v[d] ^ v[a], 16);
592
- v[c] = v[c] + v[d];
593
- v[b] = ROTR32(v[b] ^ v[c], 12);
594
- v[a] = v[a] + v[b] + y;
595
- v[d] = ROTR32(v[d] ^ v[a], 8);
596
- v[c] = v[c] + v[d];
597
- v[b] = ROTR32(v[b] ^ v[c], 7);
598
- }
599
- function ROTR32(x, y) {
600
- return x >>> y ^ x << 32 - y;
601
- }
602
- var BLAKE2S_IV = new Uint32Array([
603
- 1779033703,
604
- 3144134277,
605
- 1013904242,
606
- 2773480762,
607
- 1359893119,
608
- 2600822924,
609
- 528734635,
610
- 1541459225
611
- ]);
612
- var SIGMA = new Uint8Array([
613
- 0,
614
- 1,
615
- 2,
616
- 3,
617
- 4,
618
- 5,
619
- 6,
620
- 7,
621
- 8,
622
- 9,
623
- 10,
624
- 11,
625
- 12,
626
- 13,
627
- 14,
628
- 15,
629
- 14,
630
- 10,
631
- 4,
632
- 8,
633
- 9,
634
- 15,
635
- 13,
636
- 6,
637
- 1,
638
- 12,
639
- 0,
640
- 2,
641
- 11,
642
- 7,
643
- 5,
644
- 3,
645
- 11,
646
- 8,
647
- 12,
648
- 0,
649
- 5,
650
- 2,
651
- 15,
652
- 13,
653
- 10,
654
- 14,
655
- 3,
656
- 6,
657
- 7,
658
- 1,
659
- 9,
660
- 4,
661
- 7,
662
- 9,
663
- 3,
664
- 1,
665
- 13,
666
- 12,
667
- 11,
668
- 14,
669
- 2,
670
- 6,
671
- 5,
672
- 10,
673
- 4,
674
- 0,
675
- 15,
676
- 8,
677
- 9,
678
- 0,
679
- 5,
680
- 7,
681
- 2,
682
- 4,
683
- 10,
684
- 15,
685
- 14,
686
- 1,
687
- 11,
688
- 12,
689
- 6,
690
- 8,
691
- 3,
692
- 13,
693
- 2,
694
- 12,
695
- 6,
696
- 10,
697
- 0,
698
- 11,
699
- 8,
700
- 3,
701
- 4,
702
- 13,
703
- 7,
704
- 5,
705
- 15,
706
- 14,
707
- 1,
708
- 9,
709
- 12,
710
- 5,
711
- 1,
712
- 15,
713
- 14,
714
- 13,
715
- 4,
716
- 10,
717
- 0,
718
- 7,
719
- 6,
720
- 3,
721
- 9,
722
- 2,
723
- 8,
724
- 11,
725
- 13,
726
- 11,
727
- 7,
728
- 14,
729
- 12,
730
- 1,
731
- 3,
732
- 9,
733
- 5,
734
- 0,
735
- 15,
736
- 4,
737
- 8,
738
- 6,
739
- 2,
740
- 10,
741
- 6,
742
- 15,
743
- 14,
744
- 9,
745
- 11,
746
- 3,
747
- 0,
748
- 8,
749
- 12,
750
- 2,
751
- 13,
752
- 7,
753
- 1,
754
- 4,
755
- 10,
756
- 5,
757
- 10,
758
- 2,
759
- 8,
760
- 4,
761
- 7,
762
- 6,
763
- 1,
764
- 5,
765
- 15,
766
- 11,
767
- 9,
768
- 14,
769
- 3,
770
- 12,
771
- 13,
772
- 0
773
- ]);
774
- var v = new Uint32Array(16);
775
- var m = new Uint32Array(16);
776
- function blake2sCompress(ctx, last) {
777
- let i = 0;
778
- for (i = 0; i < 8; i++) {
779
- v[i] = ctx.h[i];
780
- v[i + 8] = BLAKE2S_IV[i];
781
- }
782
- v[12] ^= ctx.t;
783
- v[13] ^= ctx.t / 4294967296;
784
- if (last) {
785
- v[14] = ~v[14];
786
- }
787
- for (i = 0; i < 16; i++) {
788
- m[i] = B2S_GET32(ctx.b, 4 * i);
789
- }
790
- for (i = 0; i < 10; i++) {
791
- B2S_G(0, 4, 8, 12, m[SIGMA[i * 16 + 0]], m[SIGMA[i * 16 + 1]]);
792
- B2S_G(1, 5, 9, 13, m[SIGMA[i * 16 + 2]], m[SIGMA[i * 16 + 3]]);
793
- B2S_G(2, 6, 10, 14, m[SIGMA[i * 16 + 4]], m[SIGMA[i * 16 + 5]]);
794
- B2S_G(3, 7, 11, 15, m[SIGMA[i * 16 + 6]], m[SIGMA[i * 16 + 7]]);
795
- B2S_G(0, 5, 10, 15, m[SIGMA[i * 16 + 8]], m[SIGMA[i * 16 + 9]]);
796
- B2S_G(1, 6, 11, 12, m[SIGMA[i * 16 + 10]], m[SIGMA[i * 16 + 11]]);
797
- B2S_G(2, 7, 8, 13, m[SIGMA[i * 16 + 12]], m[SIGMA[i * 16 + 13]]);
798
- B2S_G(3, 4, 9, 14, m[SIGMA[i * 16 + 14]], m[SIGMA[i * 16 + 15]]);
799
- }
800
- for (i = 0; i < 8; i++) {
801
- ctx.h[i] ^= v[i] ^ v[i + 8];
802
- }
803
- }
804
- function blake2sInit(outlen, key) {
805
- if (!(outlen > 0 && outlen <= 32)) {
806
- throw new Error("Incorrect output length, should be in [1, 32]");
807
- }
808
- const keylen = key ? key.length : 0;
809
- if (key && !(keylen > 0 && keylen <= 32)) {
810
- throw new Error("Incorrect key length, should be in [1, 32]");
811
- }
812
- const ctx = {
813
- h: new Uint32Array(BLAKE2S_IV),
814
- // hash state
815
- b: new Uint8Array(64),
816
- // input block
817
- c: 0,
818
- // pointer within block
819
- t: 0,
820
- // input count
821
- outlen
822
- // output length in bytes
823
- };
824
- ctx.h[0] ^= 16842752 ^ keylen << 8 ^ outlen;
825
- if (keylen > 0) {
826
- blake2sUpdate(ctx, key);
827
- ctx.c = 64;
828
- }
829
- return ctx;
830
- }
831
- function blake2sUpdate(ctx, input) {
832
- for (let i = 0; i < input.length; i++) {
833
- if (ctx.c === 64) {
834
- ctx.t += ctx.c;
835
- blake2sCompress(ctx, false);
836
- ctx.c = 0;
837
- }
838
- ctx.b[ctx.c++] = input[i];
839
- }
840
- }
841
- function blake2sFinal(ctx) {
842
- ctx.t += ctx.c;
843
- while (ctx.c < 64) {
844
- ctx.b[ctx.c++] = 0;
845
- }
846
- blake2sCompress(ctx, true);
847
- const out = new Uint8Array(ctx.outlen);
848
- for (let i = 0; i < ctx.outlen; i++) {
849
- out[i] = ctx.h[i >> 2] >> 8 * (i & 3) & 255;
850
- }
851
- return out;
852
- }
853
- function blake2s(input, key, outlen) {
854
- outlen = outlen || 32;
855
- input = util.normalizeInput(input);
856
- const ctx = blake2sInit(outlen, key);
857
- blake2sUpdate(ctx, input);
858
- return blake2sFinal(ctx);
859
- }
860
- function blake2sHex(input, key, outlen) {
861
- const output = blake2s(input, key, outlen);
862
- return util.toHex(output);
863
- }
864
- module2.exports = {
865
- blake2s,
866
- blake2sHex,
867
- blake2sInit,
868
- blake2sUpdate,
869
- blake2sFinal
870
- };
871
- }
872
- });
873
-
874
- // ../../node_modules/blakejs/index.js
875
- var require_blakejs = __commonJS({
876
- "../../node_modules/blakejs/index.js"(exports2, module2) {
877
- "use strict";
878
- var b2b = require_blake2b();
879
- var b2s = require_blake2s();
880
- module2.exports = {
881
- blake2b: b2b.blake2b,
882
- blake2bHex: b2b.blake2bHex,
883
- blake2bInit: b2b.blake2bInit,
884
- blake2bUpdate: b2b.blake2bUpdate,
885
- blake2bFinal: b2b.blake2bFinal,
886
- blake2s: b2s.blake2s,
887
- blake2sHex: b2s.blake2sHex,
888
- blake2sInit: b2s.blake2sInit,
889
- blake2sUpdate: b2s.blake2sUpdate,
890
- blake2sFinal: b2s.blake2sFinal
891
- };
892
- }
893
- });
894
-
895
30
  // src/index.ts
896
31
  var index_exports = {};
897
32
  __export(index_exports, {
@@ -899,6 +34,7 @@ __export(index_exports, {
899
34
  BigNum: () => BigNum,
900
35
  CIP68_100: () => CIP68_100,
901
36
  CIP68_222: () => CIP68_222,
37
+ DEFAULT_FETCHER_OPTIONS: () => DEFAULT_FETCHER_OPTIONS,
902
38
  DEFAULT_PROTOCOL_PARAMETERS: () => DEFAULT_PROTOCOL_PARAMETERS,
903
39
  DEFAULT_REDEEMER_BUDGET: () => DEFAULT_REDEEMER_BUDGET,
904
40
  DEFAULT_V1_COST_MODEL_LIST: () => DEFAULT_V1_COST_MODEL_LIST,
@@ -925,11 +61,13 @@ __export(index_exports, {
925
61
  byteString: () => byteString,
926
62
  bytesToHex: () => bytesToHex,
927
63
  castProtocol: () => castProtocol,
64
+ cloneTxBuilderBody: () => cloneTxBuilderBody,
928
65
  conStr: () => conStr,
929
66
  conStr0: () => conStr0,
930
67
  conStr1: () => conStr1,
931
68
  conStr2: () => conStr2,
932
69
  conStr3: () => conStr3,
70
+ credential: () => credential,
933
71
  currencySymbol: () => currencySymbol,
934
72
  dict: () => dict,
935
73
  emptyTxBuilderBody: () => emptyTxBuilderBody,
@@ -944,6 +82,7 @@ __export(index_exports, {
944
82
  hexToString: () => hexToString,
945
83
  integer: () => integer,
946
84
  isNetwork: () => isNetwork,
85
+ jsonProofToPlutusData: () => jsonProofToPlutusData,
947
86
  keepRelevant: () => keepRelevant,
948
87
  largestFirst: () => largestFirst,
949
88
  largestFirstMultiAsset: () => largestFirstMultiAsset,
@@ -955,18 +94,21 @@ __export(index_exports, {
955
94
  mConStr1: () => mConStr1,
956
95
  mConStr2: () => mConStr2,
957
96
  mConStr3: () => mConStr3,
97
+ mCredential: () => mCredential,
958
98
  mMaybeStakingHash: () => mMaybeStakingHash,
959
99
  mNone: () => mNone,
960
100
  mOption: () => mOption,
961
101
  mOutputReference: () => mOutputReference,
962
102
  mPlutusBSArrayToString: () => mPlutusBSArrayToString,
963
103
  mPubKeyAddress: () => mPubKeyAddress,
104
+ mScript: () => mScript,
964
105
  mScriptAddress: () => mScriptAddress,
965
106
  mSome: () => mSome,
966
107
  mStringToPlutusBSArray: () => mStringToPlutusBSArray,
967
108
  mTuple: () => mTuple,
968
109
  mTxOutRef: () => mTxOutRef,
969
110
  mValue: () => mValue,
111
+ mVerificationKey: () => mVerificationKey,
970
112
  maybeStakingHash: () => maybeStakingHash,
971
113
  mergeAssets: () => mergeAssets,
972
114
  metadataStandardKeys: () => metadataStandardKeys,
@@ -975,6 +117,7 @@ __export(index_exports, {
975
117
  none: () => none,
976
118
  option: () => option,
977
119
  outputReference: () => outputReference,
120
+ pairs: () => pairs,
978
121
  parseAssetUnit: () => parseAssetUnit,
979
122
  plutusBSArrayToString: () => plutusBSArrayToString,
980
123
  policyId: () => policyId,
@@ -987,6 +130,7 @@ __export(index_exports, {
987
130
  resolveSlotNo: () => resolveSlotNo,
988
131
  resolveTxFees: () => resolveTxFees,
989
132
  royaltiesStandardKeys: () => royaltiesStandardKeys,
133
+ script: () => script,
990
134
  scriptAddress: () => scriptAddress,
991
135
  scriptHash: () => scriptHash,
992
136
  slotToBeginUnixTime: () => slotToBeginUnixTime,
@@ -1001,7 +145,8 @@ __export(index_exports, {
1001
145
  txOutRef: () => txOutRef,
1002
146
  unixTimeToEnclosingSlot: () => unixTimeToEnclosingSlot,
1003
147
  validityRangeToObj: () => validityRangeToObj,
1004
- value: () => value
148
+ value: () => value,
149
+ verificationKey: () => verificationKey
1005
150
  });
1006
151
  module.exports = __toCommonJS(index_exports);
1007
152
 
@@ -1774,6 +919,12 @@ var CIP68_222 = (tokenNameHex) => {
1774
919
  return `000de140${tokenNameHex}`;
1775
920
  };
1776
921
 
922
+ // src/interfaces/fetcher.ts
923
+ var DEFAULT_FETCHER_OPTIONS = {
924
+ maxPage: 20,
925
+ order: "desc"
926
+ };
927
+
1777
928
  // src/types/asset.ts
1778
929
  var mergeAssets = (assets) => {
1779
930
  const merged = [];
@@ -1861,6 +1012,7 @@ var txInToUtxo = (txIn) => {
1861
1012
  var emptyTxBuilderBody = () => ({
1862
1013
  inputs: [],
1863
1014
  outputs: [],
1015
+ fee: "0",
1864
1016
  extraInputs: [],
1865
1017
  collaterals: [],
1866
1018
  requiredSignatures: [],
@@ -1880,8 +1032,16 @@ var emptyTxBuilderBody = () => ({
1880
1032
  },
1881
1033
  chainedTxs: [],
1882
1034
  inputsForEvaluation: {},
1883
- network: "mainnet"
1035
+ network: "mainnet",
1036
+ expectedNumberKeyWitnesses: 0,
1037
+ expectedByronAddressWitnesses: []
1884
1038
  });
1039
+ function cloneTxBuilderBody(body) {
1040
+ const { extraInputs, ...otherProps } = body;
1041
+ const cloned = structuredClone(otherProps);
1042
+ cloned.extraInputs = extraInputs;
1043
+ return cloned;
1044
+ }
1885
1045
  var validityRangeToObj = (validityRange) => {
1886
1046
  return {
1887
1047
  invalidBefore: validityRange.invalidBefore ?? null,
@@ -1937,7 +1097,7 @@ var mTxOutRef = (txHash, index) => {
1937
1097
  }
1938
1098
  return mConStr0([mConStr0([txHash]), index]);
1939
1099
  };
1940
- var mTuple = (key, value2) => [key, value2];
1100
+ var mTuple = (...args) => args;
1941
1101
  var mOption = (value2) => {
1942
1102
  if (value2) {
1943
1103
  return mSome(value2);
@@ -1948,14 +1108,16 @@ var mSome = (value2) => mConStr0([value2]);
1948
1108
  var mNone = () => mConStr1([]);
1949
1109
 
1950
1110
  // src/data/mesh/credentials.ts
1111
+ var mVerificationKey = (bytes) => mConStr0([bytes]);
1112
+ var mScript = (bytes) => mConStr1([bytes]);
1951
1113
  var mMaybeStakingHash = (stakeCredential, isStakeScriptCredential = false) => {
1952
1114
  if (stakeCredential === "") {
1953
1115
  return mConStr1([]);
1954
1116
  }
1955
1117
  if (isStakeScriptCredential) {
1956
- return mConStr0([mConStr0([mConStr1([stakeCredential])])]);
1118
+ return mConStr0([mConStr0([mScript(stakeCredential)])]);
1957
1119
  }
1958
- return mConStr0([mConStr0([mConStr0([stakeCredential])])]);
1120
+ return mConStr0([mConStr0([mVerificationKey(stakeCredential)])]);
1959
1121
  };
1960
1122
  var mPubKeyAddress = (bytes, stakeCredential, isStakeScriptCredential = false) => mConStr0([
1961
1123
  { alternative: 0, fields: [bytes] },
@@ -1965,6 +1127,7 @@ var mScriptAddress = (bytes, stakeCredential, isStakeScriptCredential = false) =
1965
1127
  { alternative: 1, fields: [bytes] },
1966
1128
  mMaybeStakingHash(stakeCredential || "", isStakeScriptCredential)
1967
1129
  ]);
1130
+ var mCredential = (hash, isScriptCredential = false) => isScriptCredential ? mScript(hash) : mVerificationKey(hash);
1968
1131
 
1969
1132
  // src/data/mesh/primitives.ts
1970
1133
  var mBool = (b) => b ? mConStr1([]) : mConStr0([]);
@@ -2052,11 +1215,25 @@ var assocMap = (mapItems, validation = true) => ({
2052
1215
  return { k, v };
2053
1216
  })
2054
1217
  });
1218
+ var pairs = (mapItems, validation = true) => ({
1219
+ map: mapItems.map(([k, v]) => {
1220
+ if (validation) {
1221
+ if (typeof k !== "object" || typeof v !== "object") {
1222
+ throw new Error(
1223
+ `Map item of JSON Cardano data type must be an object - ${k}, ${v}`
1224
+ );
1225
+ }
1226
+ }
1227
+ return { k, v };
1228
+ })
1229
+ });
2055
1230
 
2056
1231
  // src/data/json/aliases.ts
2057
1232
  var hashByteString = (bytes) => {
2058
1233
  if (bytes.length !== 56) {
2059
- throw new Error(`Invalid hash for [${bytes}] - should be 56 bytes long`);
1234
+ throw new Error(
1235
+ `Invalid hash for [${bytes}] - should be 28 bytes (56 hex length) long`
1236
+ );
2060
1237
  }
2061
1238
  return byteString(bytes);
2062
1239
  };
@@ -2065,7 +1242,7 @@ var pubKeyHash = (bytes) => hashByteString(bytes);
2065
1242
  var policyId = (bytes) => {
2066
1243
  if (bytes.length !== POLICY_ID_LENGTH && bytes !== "") {
2067
1244
  throw new Error(
2068
- `Invalid policy id for [${bytes}] - should be ${POLICY_ID_LENGTH} bytes long or empty string for lovelace`
1245
+ `Invalid policy id for [${bytes}] - should be ${POLICY_ID_LENGTH / 2} bytes (${POLICY_ID_LENGTH} hex length) long or empty string for lovelace`
2069
1246
  );
2070
1247
  }
2071
1248
  return byteString(bytes);
@@ -2097,7 +1274,9 @@ var posixTime = (int) => ({ int });
2097
1274
  var dict = (itemsMap) => ({
2098
1275
  map: itemsMap.map(([k, v]) => ({ k, v }))
2099
1276
  });
2100
- var tuple = (key, value2) => ({ list: [key, value2] });
1277
+ var tuple = (...args) => ({
1278
+ list: args
1279
+ });
2101
1280
  var option = (value2) => {
2102
1281
  if (!value2) {
2103
1282
  return none();
@@ -2108,27 +1287,56 @@ var some = (value2) => conStr0([value2]);
2108
1287
  var none = () => conStr1([]);
2109
1288
 
2110
1289
  // src/data/json/credentials.ts
1290
+ var verificationKey = (bytes) => conStr0([pubKeyHash(bytes)]);
1291
+ var script = (bytes) => conStr1([scriptHash(bytes)]);
2111
1292
  var maybeStakingHash = (stakeCredential, isStakeScriptCredential = false) => {
2112
1293
  if (stakeCredential === "") {
2113
1294
  return conStr1([]);
2114
1295
  }
2115
1296
  if (isStakeScriptCredential) {
2116
- return conStr0([
2117
- conStr0([conStr1([scriptHash(stakeCredential)])])
2118
- ]);
1297
+ return conStr0([conStr0([script(stakeCredential)])]);
2119
1298
  }
2120
- return conStr0([
2121
- conStr0([conStr0([pubKeyHash(stakeCredential)])])
2122
- ]);
1299
+ return conStr0([conStr0([verificationKey(stakeCredential)])]);
2123
1300
  };
2124
1301
  var pubKeyAddress = (bytes, stakeCredential, isStakeScriptCredential = false) => conStr0([
2125
1302
  conStr0([pubKeyHash(bytes)]),
2126
1303
  maybeStakingHash(stakeCredential || "", isStakeScriptCredential)
2127
1304
  ]);
2128
1305
  var scriptAddress = (bytes, stakeCredential, isStakeScriptCredential = false) => conStr0([
2129
- conStr1([scriptHash(bytes)]),
1306
+ script(bytes),
2130
1307
  maybeStakingHash(stakeCredential || "", isStakeScriptCredential)
2131
1308
  ]);
1309
+ var credential = (hash, isScriptCredential = false) => isScriptCredential ? script(hash) : verificationKey(hash);
1310
+
1311
+ // src/data/json/mpf.ts
1312
+ var jsonProofToPlutusData = (proof) => {
1313
+ const proofSteps = [];
1314
+ const proofJson = proof;
1315
+ proofJson.forEach((proof2) => {
1316
+ const skip = integer(proof2.skip);
1317
+ switch (proof2.type) {
1318
+ case "branch":
1319
+ proofSteps.push(
1320
+ conStr0([skip, byteString(proof2.neighbors.toString("hex"))])
1321
+ );
1322
+ break;
1323
+ case "fork":
1324
+ const { prefix, nibble, root } = proof2.neighbor;
1325
+ const neighbor = conStr0([
1326
+ integer(nibble),
1327
+ byteString(prefix.toString("hex")),
1328
+ byteString(root.toString("hex"))
1329
+ ]);
1330
+ proofSteps.push(conStr1([skip, neighbor]));
1331
+ break;
1332
+ case "leaf":
1333
+ const { key, value: value2 } = proof2.neighbor;
1334
+ proofSteps.push(conStr2([skip, byteString(key), byteString(value2)]));
1335
+ break;
1336
+ }
1337
+ });
1338
+ return proofSteps;
1339
+ };
2132
1340
 
2133
1341
  // src/data/parser.ts
2134
1342
  var bytesToHex = (bytes) => Buffer.from(bytes).toString("hex");
@@ -2312,10 +1520,10 @@ var BigNum = class _BigNum {
2312
1520
  };
2313
1521
 
2314
1522
  // src/utils/data-hash.ts
2315
- var import_blakejs = __toESM(require_blakejs(), 1);
1523
+ var import_blakejs = require("blakejs");
2316
1524
  var hashDrepAnchor = (jsonLD) => {
2317
- const jsonHash = (0, import_blakejs.blake2bHex)(JSON.stringify(jsonLD, null, 2), void 0, 32);
2318
- return jsonHash;
1525
+ const jsonHash = (0, import_blakejs.blake2b)(JSON.stringify(jsonLD, null, 2), void 0, 32);
1526
+ return Buffer.from(jsonHash).toString("hex");
2319
1527
  };
2320
1528
 
2321
1529
  // src/utils/file.ts
@@ -2475,6 +1683,26 @@ var MeshValue = class _MeshValue {
2475
1683
  }
2476
1684
  return BigInt(this.value[unit]) <= BigInt(other.value[unit]);
2477
1685
  };
1686
+ /**
1687
+ * Check if the value is equal to another value
1688
+ * @param other - The value to compare against
1689
+ * @returns boolean
1690
+ */
1691
+ eq = (other) => {
1692
+ return Object.keys(this.value).every((key) => this.eqUnit(key, other));
1693
+ };
1694
+ /**
1695
+ * Check if the specific unit of value is equal to that unit of another value
1696
+ * @param unit - The unit to compare
1697
+ * @param other - The value to compare against
1698
+ * @returns boolean
1699
+ */
1700
+ eqUnit = (unit, other) => {
1701
+ if (this.value[unit] === void 0 || other.value[unit] === void 0) {
1702
+ return false;
1703
+ }
1704
+ return BigInt(this.value[unit]) === BigInt(other.value[unit]);
1705
+ };
2478
1706
  /**
2479
1707
  * Check if the value is empty
2480
1708
  * @returns boolean
@@ -2577,7 +1805,7 @@ var experimentalSelectUtxos = (requiredAssets, inputs, threshold) => {
2577
1805
  const selectedInputs = /* @__PURE__ */ new Set();
2578
1806
  const onlyLovelace = /* @__PURE__ */ new Set();
2579
1807
  const singletons = /* @__PURE__ */ new Set();
2580
- const pairs = /* @__PURE__ */ new Set();
1808
+ const pairs2 = /* @__PURE__ */ new Set();
2581
1809
  const rest = /* @__PURE__ */ new Set();
2582
1810
  const collaterals = /* @__PURE__ */ new Set();
2583
1811
  for (let i = 0; i < inputs.length; i++) {
@@ -2596,7 +1824,7 @@ var experimentalSelectUtxos = (requiredAssets, inputs, threshold) => {
2596
1824
  break;
2597
1825
  }
2598
1826
  case 3: {
2599
- pairs.add(i);
1827
+ pairs2.add(i);
2600
1828
  break;
2601
1829
  }
2602
1830
  default: {
@@ -2629,10 +1857,10 @@ var experimentalSelectUtxos = (requiredAssets, inputs, threshold) => {
2629
1857
  if (!assetRequired || Number(assetRequired) <= 0) break;
2630
1858
  addUtxoWithAssetAmount(inputIndex, assetUnit, singletons);
2631
1859
  }
2632
- for (const inputIndex of pairs) {
1860
+ for (const inputIndex of pairs2) {
2633
1861
  const assetRequired = totalRequiredAssets.get(assetUnit);
2634
1862
  if (!assetRequired || Number(assetRequired) <= 0) break;
2635
- addUtxoWithAssetAmount(inputIndex, assetUnit, pairs);
1863
+ addUtxoWithAssetAmount(inputIndex, assetUnit, pairs2);
2636
1864
  }
2637
1865
  for (const inputIndex of rest) {
2638
1866
  const assetRequired = totalRequiredAssets.get(assetUnit);
@@ -2650,10 +1878,10 @@ var experimentalSelectUtxos = (requiredAssets, inputs, threshold) => {
2650
1878
  if (!assetRequired || Number(assetRequired) <= 0) break;
2651
1879
  addUtxoWithAssetAmount(inputIndex, "lovelace", singletons);
2652
1880
  }
2653
- for (const inputIndex of pairs) {
1881
+ for (const inputIndex of pairs2) {
2654
1882
  const assetRequired = totalRequiredAssets.get("lovelace");
2655
1883
  if (!assetRequired || Number(assetRequired) <= 0) break;
2656
- addUtxoWithAssetAmount(inputIndex, "lovelace", pairs);
1884
+ addUtxoWithAssetAmount(inputIndex, "lovelace", pairs2);
2657
1885
  }
2658
1886
  for (const inputIndex of rest) {
2659
1887
  const assetRequired = totalRequiredAssets.get("lovelace");
@@ -2836,6 +2064,7 @@ var import_bip39 = require("bip39");
2836
2064
  BigNum,
2837
2065
  CIP68_100,
2838
2066
  CIP68_222,
2067
+ DEFAULT_FETCHER_OPTIONS,
2839
2068
  DEFAULT_PROTOCOL_PARAMETERS,
2840
2069
  DEFAULT_REDEEMER_BUDGET,
2841
2070
  DEFAULT_V1_COST_MODEL_LIST,
@@ -2862,11 +2091,13 @@ var import_bip39 = require("bip39");
2862
2091
  byteString,
2863
2092
  bytesToHex,
2864
2093
  castProtocol,
2094
+ cloneTxBuilderBody,
2865
2095
  conStr,
2866
2096
  conStr0,
2867
2097
  conStr1,
2868
2098
  conStr2,
2869
2099
  conStr3,
2100
+ credential,
2870
2101
  currencySymbol,
2871
2102
  dict,
2872
2103
  emptyTxBuilderBody,
@@ -2881,6 +2112,7 @@ var import_bip39 = require("bip39");
2881
2112
  hexToString,
2882
2113
  integer,
2883
2114
  isNetwork,
2115
+ jsonProofToPlutusData,
2884
2116
  keepRelevant,
2885
2117
  largestFirst,
2886
2118
  largestFirstMultiAsset,
@@ -2892,18 +2124,21 @@ var import_bip39 = require("bip39");
2892
2124
  mConStr1,
2893
2125
  mConStr2,
2894
2126
  mConStr3,
2127
+ mCredential,
2895
2128
  mMaybeStakingHash,
2896
2129
  mNone,
2897
2130
  mOption,
2898
2131
  mOutputReference,
2899
2132
  mPlutusBSArrayToString,
2900
2133
  mPubKeyAddress,
2134
+ mScript,
2901
2135
  mScriptAddress,
2902
2136
  mSome,
2903
2137
  mStringToPlutusBSArray,
2904
2138
  mTuple,
2905
2139
  mTxOutRef,
2906
2140
  mValue,
2141
+ mVerificationKey,
2907
2142
  maybeStakingHash,
2908
2143
  mergeAssets,
2909
2144
  metadataStandardKeys,
@@ -2912,6 +2147,7 @@ var import_bip39 = require("bip39");
2912
2147
  none,
2913
2148
  option,
2914
2149
  outputReference,
2150
+ pairs,
2915
2151
  parseAssetUnit,
2916
2152
  plutusBSArrayToString,
2917
2153
  policyId,
@@ -2924,6 +2160,7 @@ var import_bip39 = require("bip39");
2924
2160
  resolveSlotNo,
2925
2161
  resolveTxFees,
2926
2162
  royaltiesStandardKeys,
2163
+ script,
2927
2164
  scriptAddress,
2928
2165
  scriptHash,
2929
2166
  slotToBeginUnixTime,
@@ -2938,5 +2175,6 @@ var import_bip39 = require("bip39");
2938
2175
  txOutRef,
2939
2176
  unixTimeToEnclosingSlot,
2940
2177
  validityRangeToObj,
2941
- value
2178
+ value,
2179
+ verificationKey
2942
2180
  });