mol_crypto_lib 0.1.1567 → 0.1.1569

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/node.mjs CHANGED
@@ -600,6 +600,21 @@ var $;
600
600
  };
601
601
  })($ || ($ = {}));
602
602
 
603
+ ;
604
+ "use strict";
605
+ var $;
606
+ (function ($) {
607
+ function $mol_guid(length = 8, exists = () => false) {
608
+ for (;;) {
609
+ let id = Math.random().toString(36).substring(2, length + 2).toUpperCase();
610
+ if (exists(id))
611
+ continue;
612
+ return id;
613
+ }
614
+ }
615
+ $.$mol_guid = $mol_guid;
616
+ })($ || ($ = {}));
617
+
603
618
  ;
604
619
  "use strict";
605
620
  var $;
@@ -618,6 +633,11 @@ var $;
618
633
  var $;
619
634
  (function ($) {
620
635
  class $mol_wire_pub extends Object {
636
+ constructor(id = `$mol_wire_pub:${$mol_guid()}`) {
637
+ super();
638
+ this[Symbol.toStringTag] = id;
639
+ }
640
+ [Symbol.toStringTag];
621
641
  data = [];
622
642
  static get [Symbol.species]() {
623
643
  return Array;
@@ -1004,7 +1024,6 @@ var $;
1004
1024
  }
1005
1025
  }
1006
1026
  }
1007
- [Symbol.toStringTag];
1008
1027
  cache = undefined;
1009
1028
  get args() {
1010
1029
  return this.data.slice(0, this.pub_from);
@@ -1023,13 +1042,12 @@ var $;
1023
1042
  return this.task.name + '()';
1024
1043
  }
1025
1044
  constructor(id, task, host, args) {
1026
- super();
1045
+ super(id);
1027
1046
  this.task = task;
1028
1047
  this.host = host;
1029
1048
  if (args)
1030
1049
  this.data.push(...args);
1031
1050
  this.pub_from = this.sub_from = args?.length ?? 0;
1032
- this[Symbol.toStringTag] = id;
1033
1051
  }
1034
1052
  plan() {
1035
1053
  $mol_wire_fiber.planning.add(this);
@@ -2575,10 +2593,10 @@ var $;
2575
2593
  const kword = 0x80 << (24 - bits & 0b11111);
2576
2594
  const bytes = 16 + (bits + 64 >>> 9 << 4);
2577
2595
  const klens = bytes - 1;
2578
- const words = new Int32Array(data.buffer, data.byteOffset, data.byteLength >> 2);
2596
+ const words = new DataView(data.buffer, data.byteOffset, data.byteLength >> 2 << 2);
2579
2597
  let tail = 0;
2580
- for (let i = words.length * 4; i < data.length; ++i) {
2581
- tail |= data[i] << (i << 3 & 0b11000);
2598
+ for (let i = words.byteLength; i < data.length; ++i) {
2599
+ tail |= data[i] << ((3 - i & 0b11) << 3);
2582
2600
  }
2583
2601
  const hash = new Int32Array([1732584193, -271733879, -1732584194, 271733878, -1009589776]);
2584
2602
  for (let i = 0; i < bytes; i += 16) {
@@ -2593,10 +2611,10 @@ var $;
2593
2611
  sponge[j] = bits;
2594
2612
  }
2595
2613
  else {
2596
- let word = k === words.length ? tail :
2597
- k > words.length ? 0 :
2598
- words[k];
2599
- word = word << 24 | word << 8 & 0xFF0000 | word >>> 8 & 0xFF00 | word >>> 24 & 0xFF;
2614
+ const pos = k << 2;
2615
+ let word = pos === words.byteLength ? tail :
2616
+ pos > words.byteLength ? 0 :
2617
+ words.getInt32(pos, false);
2600
2618
  if (k === kbits)
2601
2619
  word |= kword;
2602
2620
  sponge[j] = word;
package/node.test.js CHANGED
@@ -591,6 +591,21 @@ var $;
591
591
  };
592
592
  })($ || ($ = {}));
593
593
 
594
+ ;
595
+ "use strict";
596
+ var $;
597
+ (function ($) {
598
+ function $mol_guid(length = 8, exists = () => false) {
599
+ for (;;) {
600
+ let id = Math.random().toString(36).substring(2, length + 2).toUpperCase();
601
+ if (exists(id))
602
+ continue;
603
+ return id;
604
+ }
605
+ }
606
+ $.$mol_guid = $mol_guid;
607
+ })($ || ($ = {}));
608
+
594
609
  ;
595
610
  "use strict";
596
611
  var $;
@@ -609,6 +624,11 @@ var $;
609
624
  var $;
610
625
  (function ($) {
611
626
  class $mol_wire_pub extends Object {
627
+ constructor(id = `$mol_wire_pub:${$mol_guid()}`) {
628
+ super();
629
+ this[Symbol.toStringTag] = id;
630
+ }
631
+ [Symbol.toStringTag];
612
632
  data = [];
613
633
  static get [Symbol.species]() {
614
634
  return Array;
@@ -995,7 +1015,6 @@ var $;
995
1015
  }
996
1016
  }
997
1017
  }
998
- [Symbol.toStringTag];
999
1018
  cache = undefined;
1000
1019
  get args() {
1001
1020
  return this.data.slice(0, this.pub_from);
@@ -1014,13 +1033,12 @@ var $;
1014
1033
  return this.task.name + '()';
1015
1034
  }
1016
1035
  constructor(id, task, host, args) {
1017
- super();
1036
+ super(id);
1018
1037
  this.task = task;
1019
1038
  this.host = host;
1020
1039
  if (args)
1021
1040
  this.data.push(...args);
1022
1041
  this.pub_from = this.sub_from = args?.length ?? 0;
1023
- this[Symbol.toStringTag] = id;
1024
1042
  }
1025
1043
  plan() {
1026
1044
  $mol_wire_fiber.planning.add(this);
@@ -2566,10 +2584,10 @@ var $;
2566
2584
  const kword = 0x80 << (24 - bits & 0b11111);
2567
2585
  const bytes = 16 + (bits + 64 >>> 9 << 4);
2568
2586
  const klens = bytes - 1;
2569
- const words = new Int32Array(data.buffer, data.byteOffset, data.byteLength >> 2);
2587
+ const words = new DataView(data.buffer, data.byteOffset, data.byteLength >> 2 << 2);
2570
2588
  let tail = 0;
2571
- for (let i = words.length * 4; i < data.length; ++i) {
2572
- tail |= data[i] << (i << 3 & 0b11000);
2589
+ for (let i = words.byteLength; i < data.length; ++i) {
2590
+ tail |= data[i] << ((3 - i & 0b11) << 3);
2573
2591
  }
2574
2592
  const hash = new Int32Array([1732584193, -271733879, -1732584194, 271733878, -1009589776]);
2575
2593
  for (let i = 0; i < bytes; i += 16) {
@@ -2584,10 +2602,10 @@ var $;
2584
2602
  sponge[j] = bits;
2585
2603
  }
2586
2604
  else {
2587
- let word = k === words.length ? tail :
2588
- k > words.length ? 0 :
2589
- words[k];
2590
- word = word << 24 | word << 8 & 0xFF0000 | word >>> 8 & 0xFF00 | word >>> 24 & 0xFF;
2605
+ const pos = k << 2;
2606
+ let word = pos === words.byteLength ? tail :
2607
+ pos > words.byteLength ? 0 :
2608
+ words.getInt32(pos, false);
2591
2609
  if (k === kbits)
2592
2610
  word |= kword;
2593
2611
  sponge[j] = word;
@@ -3700,21 +3718,6 @@ var $;
3700
3718
  });
3701
3719
  })($ || ($ = {}));
3702
3720
 
3703
- ;
3704
- "use strict";
3705
- var $;
3706
- (function ($) {
3707
- function $mol_guid(length = 8, exists = () => false) {
3708
- for (;;) {
3709
- let id = Math.random().toString(36).substring(2, length + 2).toUpperCase();
3710
- if (exists(id))
3711
- continue;
3712
- return id;
3713
- }
3714
- }
3715
- $.$mol_guid = $mol_guid;
3716
- })($ || ($ = {}));
3717
-
3718
3721
  ;
3719
3722
  "use strict";
3720
3723
  var $;
@@ -4831,6 +4834,10 @@ var $;
4831
4834
  'seven bytes hash'() {
4832
4835
  $mol_assert_equal($mol_crypto_hash(new Uint8Array([1, 2, 3, 4, 5, 6, 7])), new Uint8Array([140, 31, 40, 252, 47, 72, 194, 113, 214, 196, 152, 240, 242, 73, 205, 222, 54, 92, 84, 197]));
4833
4836
  },
4837
+ 'unaligned hash'() {
4838
+ const data = new Uint8Array([0, 1, 2, 3, 4, 5, 6, 7]);
4839
+ $mol_assert_equal($mol_crypto_hash(new Uint8Array(data.buffer, 1, 7)), new Uint8Array([140, 31, 40, 252, 47, 72, 194, 113, 214, 196, 152, 240, 242, 73, 205, 222, 54, 92, 84, 197]));
4840
+ },
4834
4841
  async 'reference'() {
4835
4842
  const data = new Uint8Array([255, 254, 253]);
4836
4843
  $mol_assert_equal($mol_crypto_hash(data), new Uint8Array(await $mol_crypto_native.subtle.digest('SHA-1', data)));