@aztec/foundation 0.0.1-commit.2d9cb6034 → 0.0.1-commit.2e20a94

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.
Files changed (82) hide show
  1. package/dest/branded-types/buffer32_hash.d.ts +24 -0
  2. package/dest/branded-types/buffer32_hash.d.ts.map +1 -0
  3. package/dest/branded-types/buffer32_hash.js +19 -0
  4. package/dest/branded-types/checkpoint_number.d.ts +4 -1
  5. package/dest/branded-types/checkpoint_number.d.ts.map +1 -1
  6. package/dest/branded-types/checkpoint_number.js +3 -0
  7. package/dest/branded-types/index.d.ts +2 -1
  8. package/dest/branded-types/index.d.ts.map +1 -1
  9. package/dest/branded-types/index.js +1 -0
  10. package/dest/buffer/buffer16.d.ts +3 -3
  11. package/dest/buffer/buffer16.d.ts.map +1 -1
  12. package/dest/buffer/buffer32.d.ts +28 -63
  13. package/dest/buffer/buffer32.d.ts.map +1 -1
  14. package/dest/buffer/buffer32.js +26 -60
  15. package/dest/config/env_var.d.ts +2 -2
  16. package/dest/config/env_var.d.ts.map +1 -1
  17. package/dest/config/index.d.ts +48 -30
  18. package/dest/config/index.d.ts.map +1 -1
  19. package/dest/config/index.js +21 -30
  20. package/dest/crypto/aes128/index.d.ts +2 -1
  21. package/dest/crypto/aes128/index.d.ts.map +1 -1
  22. package/dest/crypto/aes128/index.js +11 -2
  23. package/dest/crypto/bls/bn254_keystore.d.ts +1 -10
  24. package/dest/crypto/bls/bn254_keystore.d.ts.map +1 -1
  25. package/dest/crypto/bls/bn254_keystore.js +0 -17
  26. package/dest/curves/bls12/field.d.ts +1 -1
  27. package/dest/curves/bls12/field.d.ts.map +1 -1
  28. package/dest/curves/bls12/field.js +0 -5
  29. package/dest/curves/bn254/field.d.ts +17 -16
  30. package/dest/curves/bn254/field.d.ts.map +1 -1
  31. package/dest/curves/bn254/field.js +18 -13
  32. package/dest/curves/grumpkin/point.d.ts +3 -3
  33. package/dest/curves/grumpkin/point.d.ts.map +1 -1
  34. package/dest/curves/grumpkin/point.js +6 -3
  35. package/dest/eth-address/index.d.ts +1 -1
  36. package/dest/eth-address/index.d.ts.map +1 -1
  37. package/dest/eth-address/index.js +0 -3
  38. package/dest/json-rpc/client/fetch.d.ts +1 -1
  39. package/dest/json-rpc/client/fetch.d.ts.map +1 -1
  40. package/dest/json-rpc/client/fetch.js +4 -3
  41. package/dest/json-rpc/client/undici.d.ts +1 -1
  42. package/dest/json-rpc/client/undici.d.ts.map +1 -1
  43. package/dest/json-rpc/client/undici.js +5 -3
  44. package/dest/log/pino-logger.js +15 -1
  45. package/dest/queue/batch_queue.d.ts +1 -1
  46. package/dest/queue/batch_queue.d.ts.map +1 -1
  47. package/dest/queue/batch_queue.js +1 -0
  48. package/dest/retry/index.d.ts +12 -1
  49. package/dest/retry/index.d.ts.map +1 -1
  50. package/dest/retry/index.js +21 -0
  51. package/dest/string/index.js +1 -1
  52. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +11 -2
  53. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
  54. package/dest/transport/index.d.ts +1 -2
  55. package/dest/transport/index.d.ts.map +1 -1
  56. package/dest/transport/index.js +0 -1
  57. package/package.json +2 -2
  58. package/src/branded-types/buffer32_hash.ts +42 -0
  59. package/src/branded-types/checkpoint_number.ts +5 -0
  60. package/src/branded-types/index.ts +1 -0
  61. package/src/buffer/buffer16.ts +2 -2
  62. package/src/buffer/buffer32.ts +36 -68
  63. package/src/config/env_var.ts +3 -5
  64. package/src/config/index.ts +96 -84
  65. package/src/crypto/aes128/index.ts +11 -2
  66. package/src/crypto/bls/bn254_keystore.ts +0 -23
  67. package/src/curves/bls12/field.ts +0 -7
  68. package/src/curves/bn254/field.ts +25 -31
  69. package/src/curves/grumpkin/point.ts +5 -2
  70. package/src/eth-address/index.ts +0 -4
  71. package/src/json-rpc/client/fetch.ts +4 -3
  72. package/src/json-rpc/client/undici.ts +5 -3
  73. package/src/log/pino-logger.ts +16 -1
  74. package/src/queue/batch_queue.ts +1 -0
  75. package/src/retry/index.ts +30 -0
  76. package/src/string/index.ts +1 -1
  77. package/src/transport/dispatch/create_dispatch_proxy.ts +11 -1
  78. package/src/transport/index.ts +0 -1
  79. package/dest/transport/dispatch/create_dispatch_fn.d.ts +0 -25
  80. package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +0 -1
  81. package/dest/transport/dispatch/create_dispatch_fn.js +0 -17
  82. package/src/transport/dispatch/create_dispatch_fn.ts +0 -35
@@ -5,7 +5,6 @@ import { toBigIntBE, toBufferBE } from '../../bigint-buffer/index.js';
5
5
  import { randomBytes } from '../../crypto/random/index.js';
6
6
  import { hexSchemaFor } from '../../schemas/utils.js';
7
7
  import { BufferReader } from '../../serialize/buffer_reader.js';
8
- import { TypeRegistry } from '../../serialize/type_registry.js';
9
8
  /**
10
9
  * Base field class.
11
10
  * Uses bigint as the internal representation.
@@ -133,15 +132,31 @@ import { TypeRegistry } from '../../serialize/type_registry.js';
133
132
  const buffer = Buffer.from(checked.length % 2 === 1 ? '0' + checked : checked, 'hex');
134
133
  return new f(toBigIntBE(buffer));
135
134
  }
135
+ /**
136
+ * Abstract unbranded base class for BN254 scalar field elements.
137
+ * Extend this instead of Fr when defining a branded subtype (e.g. BlockHash)
138
+ * to avoid inheriting Fr's `_branding`.
139
+ */ export class BaseFr extends BaseField {
140
+ static MODULUS = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n;
141
+ constructor(value){
142
+ super(value);
143
+ }
144
+ modulus() {
145
+ return BaseFr.MODULUS;
146
+ }
147
+ toJSON() {
148
+ return this.toString();
149
+ }
150
+ }
136
151
  _computedKey = inspect.custom;
137
152
  /**
138
153
  * Fr field class.
139
154
  * @dev This class is used to represent elements of BN254 scalar field or elements in the base field of Grumpkin.
140
155
  * (Grumpkin's scalar field corresponds to BN254's base field and vice versa.)
141
- */ export class Fr extends BaseField {
156
+ */ export class Fr extends BaseFr {
157
+ static MODULUS = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n;
142
158
  static ZERO = new Fr(0n);
143
159
  static ONE = new Fr(1n);
144
- static MODULUS = 0x30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001n;
145
160
  static MAX_FIELD_VALUE = new Fr(this.MODULUS - 1n);
146
161
  constructor(value){
147
162
  super(value);
@@ -149,9 +164,6 @@ _computedKey = inspect.custom;
149
164
  [_computedKey]() {
150
165
  return `Fr<${this.toString()}>`;
151
166
  }
152
- modulus() {
153
- return Fr.MODULUS;
154
- }
155
167
  static random() {
156
168
  return random(Fr);
157
169
  }
@@ -235,9 +247,6 @@ _computedKey = inspect.custom;
235
247
  }
236
248
  return Fr.fromBuffer(Buffer.from(response.value));
237
249
  }
238
- toJSON() {
239
- return this.toString();
240
- }
241
250
  /**
242
251
  * Creates an Fr instance from a plain object without Zod validation.
243
252
  * This method is optimized for performance and skips validation, making it suitable
@@ -256,8 +265,6 @@ _computedKey = inspect.custom;
256
265
  return hexSchemaFor(Fr);
257
266
  }
258
267
  }
259
- // For deserializing JSON.
260
- TypeRegistry.register('Fr', Fr);
261
268
  _computedKey1 = inspect.custom;
262
269
  /**
263
270
  * Fq field class.
@@ -355,8 +362,6 @@ _computedKey1 = inspect.custom;
355
362
  return hexSchemaFor(Fq);
356
363
  }
357
364
  }
358
- // For deserializing JSON.
359
- TypeRegistry.register('Fq', Fq);
360
365
  // Beware: Performance bottleneck below
361
366
  /**
362
367
  * Find the modular inverse of a given element, for BN254 Fr.
@@ -80,8 +80,8 @@ export declare class Point {
80
80
  */
81
81
  static fromString(str: string): Point;
82
82
  /**
83
- * Returns the contents of the point as an array of 2 fields.
84
- * @returns The point as an array of 2 fields
83
+ * Returns the contents of the point as an array of 3 fields.
84
+ * @returns The point as an array of 3 fields
85
85
  */
86
86
  toFields(): Fr[];
87
87
  static fromFields(fields: Fr[] | FieldReader): Point;
@@ -179,4 +179,4 @@ export declare class Point {
179
179
  export declare class NotOnCurveError extends Error {
180
180
  constructor(x: Fr);
181
181
  }
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXJ2ZXMvZ3J1bXBraW4vcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXFCLE1BQU0sMEJBQTBCLENBQUM7QUFFeEYsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZDOzs7OztHQUtHO0FBQ0gscUJBQWEsS0FBSztJQVNkOztPQUVHO2FBQ2EsQ0FBQyxFQUFFLEVBQUU7SUFDckI7O09BRUc7YUFDYSxDQUFDLEVBQUUsRUFBRTtJQUNyQjs7T0FFRzthQUNhLFVBQVUsRUFBRSxPQUFPO0lBbkJyQyxNQUFNLENBQUMsSUFBSSxRQUFzQztJQUNqRCxNQUFNLENBQUMsYUFBYSxTQUF3QjtJQUM1QyxNQUFNLENBQUMsd0JBQXdCLFNBQW9CO0lBRW5ELHlEQUF5RDtJQUN6RCxTQUFnQixJQUFJLFdBQVc7SUFFL0I7SUFDRTs7T0FFRztJQUNhLENBQUMsRUFBRSxFQUFFO0lBQ3JCOztPQUVHO0lBQ2EsQ0FBQyxFQUFFLEVBQUU7SUFDckI7O09BRUc7SUFDYSxVQUFVLEVBQUUsT0FBTyxFQUdwQztJQUVELE1BQU0sa0JBRUw7SUFFRCxNQUFNLEtBQUssTUFBTSw4Q0FHaEI7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FRdEM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBYSxNQUFNLG1CQVlsQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLFNBRzlDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FRekU7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxTQUU1QjtJQUVEOzs7T0FHRztJQUNILFFBQVEsU0FFUDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsU0FHM0M7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILE9BQWEsWUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sa0JBYzdDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FPdkM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxJQUFJLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUUxQjtJQUVEOzs7T0FHRztJQUNILFNBQVM7Ozs7TUFNUjtJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILFFBQVEsNEJBU1A7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0IsNEJBV2pCO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsUUFBUSxrQkFFUDtJQUVEOzs7Ozs7O09BT0c7SUFDSCxhQUFhLFdBR1o7SUFFRCxZQUFZOzs7O01BSVg7SUFHRCxtQkFBbUI7Ozs7OztNQUVsQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxXQUVoQjtJQUVELE1BQU0sWUFFTDtJQUVELElBQUksZ0JBRUg7SUFFRDs7O09BR0c7SUFDSCxJQUFXLEdBQUcsWUFFYjtJQUVELFlBQVksWUFXWDtDQUNGO0FBRUQscUJBQWEsZUFBZ0IsU0FBUSxLQUFLO0lBQ3hDLFlBQVksQ0FBQyxFQUFFLEVBQUUsRUFHaEI7Q0FDRiJ9
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9pbnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jdXJ2ZXMvZ3J1bXBraW4vcG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQXFCLE1BQU0sMEJBQTBCLENBQUM7QUFFeEYsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZDOzs7OztHQUtHO0FBQ0gscUJBQWEsS0FBSztJQVNkOztPQUVHO2FBQ2EsQ0FBQyxFQUFFLEVBQUU7SUFDckI7O09BRUc7YUFDYSxDQUFDLEVBQUUsRUFBRTtJQUNyQjs7T0FFRzthQUNhLFVBQVUsRUFBRSxPQUFPO0lBbkJyQyxNQUFNLENBQUMsSUFBSSxRQUFzQztJQUNqRCxNQUFNLENBQUMsYUFBYSxTQUF3QjtJQUM1QyxNQUFNLENBQUMsd0JBQXdCLFNBQW9CO0lBRW5ELHlEQUF5RDtJQUN6RCxTQUFnQixJQUFJLFdBQVc7SUFFL0I7SUFDRTs7T0FFRztJQUNhLENBQUMsRUFBRSxFQUFFO0lBQ3JCOztPQUVHO0lBQ2EsQ0FBQyxFQUFFLEVBQUU7SUFDckI7O09BRUc7SUFDYSxVQUFVLEVBQUUsT0FBTyxFQUdwQztJQUVELE1BQU0sa0JBRUw7SUFFRCxNQUFNLEtBQUssTUFBTSw4Q0FHaEI7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FRdEM7SUFFRDs7OztPQUlHO0lBQ0gsT0FBYSxNQUFNLG1CQVlsQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLFNBRzlDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FRekU7SUFFRDs7Ozs7OztPQU9HO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxTQUU1QjtJQUVEOzs7T0FHRztJQUlILFFBQVEsU0FFUDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxHQUFHLFdBQVcsU0FHM0M7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILE9BQWEsWUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sa0JBYzdDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FPdkM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxJQUFJLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUUxQjtJQUVEOzs7T0FHRztJQUNILFNBQVM7Ozs7TUFNUjtJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILFFBQVEsNEJBU1A7SUFFRDs7O09BR0c7SUFDSCxrQkFBa0IsNEJBV2pCO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsUUFBUSxrQkFFUDtJQUVEOzs7Ozs7O09BT0c7SUFDSCxhQUFhLFdBR1o7SUFFRCxZQUFZOzs7O01BSVg7SUFHRCxtQkFBbUI7Ozs7OztNQUVsQjtJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxXQUVoQjtJQUVELE1BQU0sWUFFTDtJQUVELElBQUksZ0JBRUg7SUFFRDs7O09BR0c7SUFDSCxJQUFXLEdBQUcsWUFFYjtJQUVELFlBQVksWUFXWDtDQUNGO0FBRUQscUJBQWEsZUFBZ0IsU0FBUSxLQUFLO0lBQ3hDLFlBQVksQ0FBQyxFQUFFLEVBQUUsRUFHaEI7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../src/curves/grumpkin/point.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,0BAA0B,CAAC;AAExF,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvC;;;;;GAKG;AACH,qBAAa,KAAK;IASd;;OAEG;aACa,CAAC,EAAE,EAAE;IACrB;;OAEG;aACa,CAAC,EAAE,EAAE;IACrB;;OAEG;aACa,UAAU,EAAE,OAAO;IAnBrC,MAAM,CAAC,IAAI,QAAsC;IACjD,MAAM,CAAC,aAAa,SAAwB;IAC5C,MAAM,CAAC,wBAAwB,SAAoB;IAEnD,yDAAyD;IACzD,SAAgB,IAAI,WAAW;IAE/B;IACE;;OAEG;IACa,CAAC,EAAE,EAAE;IACrB;;OAEG;IACa,CAAC,EAAE,EAAE;IACrB;;OAEG;IACa,UAAU,EAAE,OAAO,EAGpC;IAED,MAAM,kBAEL;IAED,MAAM,KAAK,MAAM,8CAGhB;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,CAQtC;IAED;;;;OAIG;IACH,OAAa,MAAM,mBAYlB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,SAG9C;IAED;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAQzE;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,SAE5B;IAED;;;OAGG;IACH,QAAQ,SAEP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,SAG3C;IAED;;;;;;;;OAQG;IACH,OAAa,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,kBAc7C;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAOvC;IAED;;;;OAIG;IACH,UAAU,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAE1B;IAED;;;OAGG;IACH,SAAS;;;;MAMR;IAED;;;;;;;;;OASG;IACH,QAAQ,4BASP;IAED;;;OAGG;IACH,kBAAkB,4BAWjB;IAED;;;;;;OAMG;IACH,QAAQ,kBAEP;IAED;;;;;;;OAOG;IACH,aAAa,WAGZ;IAED,YAAY;;;;MAIX;IAGD,mBAAmB;;;;;;MAElB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,KAAK,WAEhB;IAED,MAAM,YAEL;IAED,IAAI,gBAEH;IAED;;;OAGG;IACH,IAAW,GAAG,YAEb;IAED,YAAY,YAWX;CACF;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,CAAC,EAAE,EAAE,EAGhB;CACF"}
1
+ {"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../src/curves/grumpkin/point.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAqB,MAAM,0BAA0B,CAAC;AAExF,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAEvC;;;;;GAKG;AACH,qBAAa,KAAK;IASd;;OAEG;aACa,CAAC,EAAE,EAAE;IACrB;;OAEG;aACa,CAAC,EAAE,EAAE;IACrB;;OAEG;aACa,UAAU,EAAE,OAAO;IAnBrC,MAAM,CAAC,IAAI,QAAsC;IACjD,MAAM,CAAC,aAAa,SAAwB;IAC5C,MAAM,CAAC,wBAAwB,SAAoB;IAEnD,yDAAyD;IACzD,SAAgB,IAAI,WAAW;IAE/B;IACE;;OAEG;IACa,CAAC,EAAE,EAAE;IACrB;;OAEG;IACa,CAAC,EAAE,EAAE;IACrB;;OAEG;IACa,UAAU,EAAE,OAAO,EAGpC;IAED,MAAM,kBAEL;IAED,MAAM,KAAK,MAAM,8CAGhB;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,CAQtC;IAED;;;;OAIG;IACH,OAAa,MAAM,mBAYlB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,SAG9C;IAED;;;;;;OAMG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAQzE;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,SAE5B;IAED;;;OAGG;IAIH,QAAQ,SAEP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,SAG3C;IAED;;;;;;;;OAQG;IACH,OAAa,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,kBAc7C;IAED;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAOvC;IAED;;;;OAIG;IACH,UAAU,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAE1B;IAED;;;OAGG;IACH,SAAS;;;;MAMR;IAED;;;;;;;;;OASG;IACH,QAAQ,4BASP;IAED;;;OAGG;IACH,kBAAkB,4BAWjB;IAED;;;;;;OAMG;IACH,QAAQ,kBAEP;IAED;;;;;;;OAOG;IACH,aAAa,WAGZ;IAED,YAAY;;;;MAIX;IAGD,mBAAmB;;;;;;MAElB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,EAAE,KAAK,WAEhB;IAED,MAAM,YAEL;IAED,IAAI,gBAEH;IAED;;;OAGG;IACH,IAAW,GAAG,YAEb;IAED,YAAY,YAWX;CACF;AAED,qBAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,CAAC,EAAE,EAAE,EAGhB;CACF"}
@@ -104,9 +104,12 @@ import { Fr } from '../bn254/field.js';
104
104
  return this.fromBuffer(hexToBuffer(str));
105
105
  }
106
106
  /**
107
- * Returns the contents of the point as an array of 2 fields.
108
- * @returns The point as an array of 2 fields
109
- */ toFields() {
107
+ * Returns the contents of the point as an array of 3 fields.
108
+ * @returns The point as an array of 3 fields
109
+ */ // TODO(F-553): Once we take the breaking change and drop the custom Noir `Point` wrapper in
110
+ // `noir-projects/noir-protocol-circuits/crates/types/src/point.nr`, revert this to serialize as `[x, y]` (2 fields)
111
+ // and drop the `is_infinite` flag from `fromFields` / `toNoirStruct` below.
112
+ toFields() {
110
113
  return [
111
114
  this.x,
112
115
  this.y,
@@ -140,4 +140,4 @@ export declare class EthAddress {
140
140
  static get schema(): import("zod").ZodType<EthAddress, any, string>;
141
141
  static areEqual(a: EthAddress | string, b: EthAddress | string): boolean;
142
142
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldGgtYWRkcmVzcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSS9CLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSWxFOzs7OztHQUtHO0FBQ0gscUJBQWEsVUFBVTtJQU1ULE9BQU8sQ0FBQyxNQUFNO0lBTDFCLGdEQUFnRDtJQUNoRCxPQUFjLGFBQWEsU0FBTTtJQUNqQywwRUFBMEU7SUFDMUUsT0FBYyxJQUFJLGFBQTBEO0lBRTVFLFlBQW9CLE1BQU0sRUFBRSxNQUFNLEVBSWpDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE9BQWMsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLGNBS3ZDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE9BQWMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsVUFBVSxDQVFsRDtJQUVEOzs7Ozs7T0FNRztJQUNILE9BQWMsTUFBTSxlQUVuQjtJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsT0FBYyxTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sV0FVdEM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sWUFFWjtJQUVEOzs7Ozs7O09BT0c7SUFDSCxPQUFjLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxNQUFNLFdBY2pEO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsT0FBYyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLEtBQUssTUFBTSxFQUFFLENBa0I5RDtJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxHQUFHLEVBQUUsVUFBVSxXQUU1QjtJQUVEOzs7Ozs7T0FNRztJQUNJLFFBQVEsa0JBRWQ7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FFZjtJQUVEOzs7Ozs7T0FNRztJQUNJLGdCQUFnQixrQkFFdEI7SUFFRDs7O09BR0c7SUFDSSxRQUFRLDRCQUVkO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksVUFBVSx3QkFJaEI7SUFFRDs7OztPQUlHO0lBQ0ksT0FBTyxPQUViO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxVQUFVLENBRW5DO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxjQUczQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLFVBQVUsQ0FHM0Q7SUFFRCw2REFBNkQ7SUFDN0QsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FBRyxVQUFVLENBSWxEO0lBRUQsTUFBTSxrQkFFTDtJQUVELE1BQU0sS0FBSyxNQUFNLG1EQUdoQjtJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFVBQVUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLFVBQVUsR0FBRyxNQUFNLFdBSTdEO0NBQ0YifQ==
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ldGgtYWRkcmVzcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSS9CLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR2xFOzs7OztHQUtHO0FBQ0gscUJBQWEsVUFBVTtJQU1ULE9BQU8sQ0FBQyxNQUFNO0lBTDFCLGdEQUFnRDtJQUNoRCxPQUFjLGFBQWEsU0FBTTtJQUNqQywwRUFBMEU7SUFDMUUsT0FBYyxJQUFJLGFBQTBEO0lBRTVFLFlBQW9CLE1BQU0sRUFBRSxNQUFNLEVBSWpDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE9BQWMsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLGNBS3ZDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE9BQWMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsVUFBVSxDQVFsRDtJQUVEOzs7Ozs7T0FNRztJQUNILE9BQWMsTUFBTSxlQUVuQjtJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsT0FBYyxTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sV0FVdEM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sWUFFWjtJQUVEOzs7Ozs7O09BT0c7SUFDSCxPQUFjLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxNQUFNLFdBY2pEO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsT0FBYyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLEtBQUssTUFBTSxFQUFFLENBa0I5RDtJQUVEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxHQUFHLEVBQUUsVUFBVSxXQUU1QjtJQUVEOzs7Ozs7T0FNRztJQUNJLFFBQVEsa0JBRWQ7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FFZjtJQUVEOzs7Ozs7T0FNRztJQUNJLGdCQUFnQixrQkFFdEI7SUFFRDs7O09BR0c7SUFDSSxRQUFRLDRCQUVkO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksVUFBVSx3QkFJaEI7SUFFRDs7OztPQUlHO0lBQ0ksT0FBTyxPQUViO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxVQUFVLENBRW5DO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxjQUczQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLFVBQVUsQ0FHM0Q7SUFFRCw2REFBNkQ7SUFDN0QsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FBRyxVQUFVLENBSWxEO0lBRUQsTUFBTSxrQkFFTDtJQUVELE1BQU0sS0FBSyxNQUFNLG1EQUdoQjtJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLFVBQVUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLFVBQVUsR0FBRyxNQUFNLFdBSTdEO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/eth-address/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAI/B,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIlE;;;;;GAKG;AACH,qBAAa,UAAU;IAMT,OAAO,CAAC,MAAM;IAL1B,gDAAgD;IAChD,OAAc,aAAa,SAAM;IACjC,0EAA0E;IAC1E,OAAc,IAAI,aAA0D;IAE5E,YAAoB,MAAM,EAAE,MAAM,EAIjC;IAED;;;;;;;OAOG;IACH,OAAc,UAAU,CAAC,OAAO,EAAE,MAAM,cAKvC;IAED;;;;;;;OAOG;IACH,OAAc,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAQlD;IAED;;;;;;OAMG;IACH,OAAc,MAAM,eAEnB;IAED;;;;;;;;OAQG;IACH,OAAc,SAAS,CAAC,OAAO,EAAE,MAAM,WAUtC;IAED;;;;;OAKG;IACI,MAAM,YAEZ;IAED;;;;;;;OAOG;IACH,OAAc,oBAAoB,CAAC,OAAO,EAAE,MAAM,WAcjD;IAED;;;;;;;;;OASG;IACH,OAAc,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAkB9D;IAED;;;;;;OAMG;IACI,MAAM,CAAC,GAAG,EAAE,UAAU,WAE5B;IAED;;;;;;OAMG;IACI,QAAQ,kBAEd;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;IAED;;;;;;OAMG;IACI,gBAAgB,kBAEtB;IAED;;;OAGG;IACI,QAAQ,4BAEd;IAED;;;;;;OAMG;IACI,UAAU,wBAIhB;IAED;;;;OAIG;IACI,OAAO,OAEb;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,UAAU,CAEnC;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,cAG3C;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,CAG3D;IAED,6DAA6D;IAC7D,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAIlD;IAED,MAAM,kBAEL;IAED,MAAM,KAAK,MAAM,mDAGhB;IAED,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE,CAAC,EAAE,UAAU,GAAG,MAAM,WAI7D;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/eth-address/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAI/B,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGlE;;;;;GAKG;AACH,qBAAa,UAAU;IAMT,OAAO,CAAC,MAAM;IAL1B,gDAAgD;IAChD,OAAc,aAAa,SAAM;IACjC,0EAA0E;IAC1E,OAAc,IAAI,aAA0D;IAE5E,YAAoB,MAAM,EAAE,MAAM,EAIjC;IAED;;;;;;;OAOG;IACH,OAAc,UAAU,CAAC,OAAO,EAAE,MAAM,cAKvC;IAED;;;;;;;OAOG;IACH,OAAc,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAQlD;IAED;;;;;;OAMG;IACH,OAAc,MAAM,eAEnB;IAED;;;;;;;;OAQG;IACH,OAAc,SAAS,CAAC,OAAO,EAAE,MAAM,WAUtC;IAED;;;;;OAKG;IACI,MAAM,YAEZ;IAED;;;;;;;OAOG;IACH,OAAc,oBAAoB,CAAC,OAAO,EAAE,MAAM,WAcjD;IAED;;;;;;;;;OASG;IACH,OAAc,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAkB9D;IAED;;;;;;OAMG;IACI,MAAM,CAAC,GAAG,EAAE,UAAU,WAE5B;IAED;;;;;;OAMG;IACI,QAAQ,kBAEd;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;IAED;;;;;;OAMG;IACI,gBAAgB,kBAEtB;IAED;;;OAGG;IACI,QAAQ,4BAEd;IAED;;;;;;OAMG;IACI,UAAU,wBAIhB;IAED;;;;OAIG;IACI,OAAO,OAEb;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,UAAU,CAEnC;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,cAG3C;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,UAAU,CAG3D;IAED,6DAA6D;IAC7D,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAIlD;IAED,MAAM,kBAEL;IAED,MAAM,KAAK,MAAM,mDAGhB;IAED,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,EAAE,CAAC,EAAE,UAAU,GAAG,MAAM,WAI7D;CACF"}
@@ -5,7 +5,6 @@ import { randomBytes } from '../crypto/random/index.js';
5
5
  import { Fr } from '../curves/bn254/index.js';
6
6
  import { hexSchemaFor } from '../schemas/utils.js';
7
7
  import { BufferReader, FieldReader } from '../serialize/index.js';
8
- import { TypeRegistry } from '../serialize/type_registry.js';
9
8
  import { bufferToHex } from '../string/index.js';
10
9
  _computedKey = inspect.custom;
11
10
  /**
@@ -223,5 +222,3 @@ _computedKey = inspect.custom;
223
222
  return addrA.equals(addrB);
224
223
  }
225
224
  }
226
- // For deserializing JSON.
227
- TypeRegistry.register('EthAddress', EthAddress);
@@ -29,4 +29,4 @@ export declare function defaultFetch(host: string, body: unknown, extraHeaders?:
29
29
  * @returns A fetch function.
30
30
  */
31
31
  export declare function makeFetch(retries: number[], defaultNoRetry: boolean, log?: Logger): typeof defaultFetch;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2guZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9qc29uLXJwYy9jbGllbnQvZmV0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLG9CQUFvQixDQUFDO0FBTS9ELE1BQU0sTUFBTSxZQUFZLEdBQUcsQ0FDekIsSUFBSSxFQUFFLE1BQU0sRUFDWixJQUFJLEVBQUUsR0FBRyxFQUNULFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQ3JDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sS0FDZCxPQUFPLENBQUM7SUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDO0lBQUMsT0FBTyxFQUFFO1FBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLFNBQVMsQ0FBQTtLQUFFLENBQUE7Q0FBRSxDQUFDLENBQUM7QUFFakc7Ozs7Ozs7OztHQVNHO0FBQ0gsd0JBQXNCLFlBQVksQ0FDaEMsSUFBSSxFQUFFLE1BQU0sRUFDWixJQUFJLEVBQUUsT0FBTyxFQUNiLFlBQVksR0FBRSxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBTSxFQUN6QyxPQUFPLFVBQVEsR0FDZCxPQUFPLENBQUM7SUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDO0lBQUMsT0FBTyxFQUFFO1FBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLFNBQVMsQ0FBQTtLQUFFLENBQUE7Q0FBRSxDQUFDLENBa0M3RjtBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsTUFBTSxHQUFHLE9BQU8sWUFBWSxDQVV2RyJ9
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2guZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9qc29uLXJwYy9jbGllbnQvZmV0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLG9CQUFvQixDQUFDO0FBTS9ELE1BQU0sTUFBTSxZQUFZLEdBQUcsQ0FDekIsSUFBSSxFQUFFLE1BQU0sRUFDWixJQUFJLEVBQUUsR0FBRyxFQUNULFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQ3JDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sS0FDZCxPQUFPLENBQUM7SUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDO0lBQUMsT0FBTyxFQUFFO1FBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLFNBQVMsQ0FBQTtLQUFFLENBQUE7Q0FBRSxDQUFDLENBQUM7QUFFakc7Ozs7Ozs7OztHQVNHO0FBQ0gsd0JBQXNCLFlBQVksQ0FDaEMsSUFBSSxFQUFFLE1BQU0sRUFDWixJQUFJLEVBQUUsT0FBTyxFQUNiLFlBQVksR0FBRSxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBTSxFQUN6QyxPQUFPLFVBQVEsR0FDZCxPQUFPLENBQUM7SUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDO0lBQUMsT0FBTyxFQUFFO1FBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLFNBQVMsQ0FBQTtLQUFFLENBQUE7Q0FBRSxDQUFDLENBbUM3RjtBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFnQixTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsTUFBTSxHQUFHLE9BQU8sWUFBWSxDQVV2RyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/client/fetch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,oBAAoB,CAAC;AAM/D,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,EACT,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,OAAO,CAAC,EAAE,OAAO,KACd,OAAO,CAAC;IAAE,QAAQ,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;KAAE,CAAA;CAAE,CAAC,CAAC;AAEjG;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACzC,OAAO,UAAQ,GACd,OAAO,CAAC;IAAE,QAAQ,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;KAAE,CAAA;CAAE,CAAC,CAkC7F;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,YAAY,CAUvG"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/client/fetch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,oBAAoB,CAAC;AAM/D,MAAM,MAAM,YAAY,GAAG,CACzB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,GAAG,EACT,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,OAAO,CAAC,EAAE,OAAO,KACd,OAAO,CAAC;IAAE,QAAQ,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;KAAE,CAAA;CAAE,CAAC,CAAC;AAEjG;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACzC,OAAO,UAAQ,GACd,OAAO,CAAC;IAAE,QAAQ,EAAE,GAAG,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;KAAE,CAAA;CAAE,CAAC,CAmC7F;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,YAAY,CAUvG"}
@@ -29,16 +29,17 @@ const log = createLogger('json-rpc:json_rpc_client');
29
29
  throw new Error(errorMessage);
30
30
  }
31
31
  let responseJson;
32
+ const responseText = await resp.text();
32
33
  try {
33
- responseJson = await resp.json();
34
+ responseJson = JSON.parse(responseText);
34
35
  } catch {
35
36
  if (!resp.ok) {
36
37
  throw new Error(resp.statusText);
37
38
  }
38
- throw new Error(`Failed to parse body as JSON: ${await resp.text()}`);
39
+ throw new Error(`Failed to parse body as JSON: ${responseText}`);
39
40
  }
40
41
  if (!resp.ok) {
41
- const errorMessage = `Error ${resp.status} from server ${host}: ${responseJson.error.message}`;
42
+ const errorMessage = `Error ${resp.status} from server ${host}: ${responseJson?.error?.message ?? JSON.stringify(responseJson)}`;
42
43
  if (noRetry || resp.status >= 400 && resp.status < 500) {
43
44
  throw new NoRetryError(errorMessage);
44
45
  } else {
@@ -2,4 +2,4 @@ import { Agent } from 'undici';
2
2
  import type { JsonRpcFetch } from './fetch.js';
3
3
  export { Agent };
4
4
  export declare function makeUndiciFetch(client?: Agent): JsonRpcFetch;
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5kaWNpLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvanNvbi1ycGMvY2xpZW50L3VuZGljaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsS0FBSyxFQUFtQixNQUFNLFFBQVEsQ0FBQztBQUtoRCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFVL0MsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO0FBRWpCLHdCQUFnQixlQUFlLENBQUMsTUFBTSxRQUFjLEdBQUcsWUFBWSxDQWtFbEUifQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5kaWNpLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvanNvbi1ycGMvY2xpZW50L3VuZGljaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsS0FBSyxFQUFtQixNQUFNLFFBQVEsQ0FBQztBQUtoRCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFVL0MsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO0FBRWpCLHdCQUFnQixlQUFlLENBQUMsTUFBTSxRQUFjLEdBQUcsWUFBWSxDQW9FbEUifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"undici.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/client/undici.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAmB,MAAM,QAAQ,CAAC;AAKhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAU/C,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,wBAAgB,eAAe,CAAC,MAAM,QAAc,GAAG,YAAY,CAkElE"}
1
+ {"version":3,"file":"undici.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/client/undici.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAmB,MAAM,QAAQ,CAAC;AAKhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAU/C,OAAO,EAAE,KAAK,EAAE,CAAC;AAEjB,wBAAgB,eAAe,CAAC,MAAM,QAAc,GAAG,YAAY,CAoElE"}
@@ -40,18 +40,20 @@ export function makeUndiciFetch(client = new Agent()) {
40
40
  let responseJson;
41
41
  const responseOk = resp.statusCode >= 200 && resp.statusCode <= 299;
42
42
  const contentEncoding = resp.headers['content-encoding'];
43
+ let responseText;
43
44
  try {
44
45
  if (contentEncoding === 'gzip') {
45
46
  const jsonBuffer = await gunzip(await resp.body.arrayBuffer());
46
- responseJson = JSON.parse(jsonBuffer.toString('utf-8'));
47
+ responseText = jsonBuffer.toString('utf-8');
47
48
  } else {
48
- responseJson = await resp.body.json();
49
+ responseText = await resp.body.text();
49
50
  }
51
+ responseJson = JSON.parse(responseText);
50
52
  } catch {
51
53
  if (!responseOk) {
52
54
  throw new Error('HTTP ' + resp.statusCode);
53
55
  }
54
- throw new Error(`Failed to parse body as JSON. encoding: ${contentEncoding}, body: ${await resp.body.text()}`);
56
+ throw new Error(`Failed to parse body as JSON. encoding: ${contentEncoding}, body: ${responseText}`);
55
57
  }
56
58
  if (!responseOk) {
57
59
  const errorMessage = `Error ${resp.statusCode} response from server ${host}: ${responseJson}`;
@@ -323,5 +323,19 @@ logger.verbose({
323
323
  * @param err - Error to log
324
324
  * @returns A string with both the log message and the error message.
325
325
  */ function formatErr(msg, err) {
326
- return err ? `${msg}: ${inspect(err)}` : msg;
326
+ if (!err) {
327
+ return msg;
328
+ }
329
+ try {
330
+ return `${msg}: ${inspect(err)}`;
331
+ } catch {
332
+ // inspect can crash on error objects with broken property descriptors
333
+ try {
334
+ // eslint-disable-next-line @typescript-eslint/no-base-to-string
335
+ return `${msg}: ${err instanceof Error ? `${err.name}: ${err.message}` : String(err)}`;
336
+ } catch {
337
+ // if even String(err) fails, return the original message with a note about the error
338
+ return `${msg}: [unserializable error]`;
339
+ }
340
+ }
327
341
  }
@@ -44,4 +44,4 @@ export declare class BatchQueue<T, K extends string | number> {
44
44
  stop(): Promise<void>;
45
45
  private execProcessor;
46
46
  }
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hfcXVldWUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWV1ZS9iYXRjaF9xdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILHFCQUFhLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLE1BQU0sR0FBRyxNQUFNO0lBTWhELE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFDeEIsT0FBTyxDQUFDLEdBQUc7SUFSYixPQUFPLENBQUMsU0FBUyxDQUFzQztJQUN2RCxPQUFPLENBQUMsWUFBWSxDQUFDLENBQWM7SUFDbkMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFnQjtJQUV2QyxZQUNVLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUMvRCxZQUFZLEVBQUUsTUFBTSxFQUNwQixnQkFBZ0IsRUFBRSxNQUFNLEVBQ3hCLEdBQUcseUNBQXlDLEVBQ2xEO0lBRUo7Ozs7O09BS0c7SUFDSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0EwQnpDO0lBRUQ7O09BRUc7SUFDSSxpQkFBaUIsYUFPdEI7SUFFRjs7T0FFRztJQUNJLEtBQUssU0FNWDtJQUVEOzs7T0FHRztJQUNJLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBVTNCO0lBRUQsT0FBTyxDQUFDLGFBQWEsQ0FPbkI7Q0FDSCJ9
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hfcXVldWUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWV1ZS9iYXRjaF9xdWV1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFXQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILHFCQUFhLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLE1BQU0sR0FBRyxNQUFNO0lBTWhELE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxZQUFZO0lBQ3BCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFDeEIsT0FBTyxDQUFDLEdBQUc7SUFSYixPQUFPLENBQUMsU0FBUyxDQUFzQztJQUN2RCxPQUFPLENBQUMsWUFBWSxDQUFDLENBQWM7SUFDbkMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFnQjtJQUV2QyxZQUNVLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUMvRCxZQUFZLEVBQUUsTUFBTSxFQUNwQixnQkFBZ0IsRUFBRSxNQUFNLEVBQ3hCLEdBQUcseUNBQXlDLEVBQ2xEO0lBRUo7Ozs7O09BS0c7SUFDSSxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0EwQnpDO0lBRUQ7O09BRUc7SUFDSSxpQkFBaUIsYUFPdEI7SUFFRjs7T0FFRztJQUNJLEtBQUssU0FNWDtJQUVEOzs7T0FHRztJQUNJLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBVzNCO0lBRUQsT0FBTyxDQUFDLGFBQWEsQ0FPbkI7Q0FDSCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"batch_queue.d.ts","sourceRoot":"","sources":["../../src/queue/batch_queue.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;GAcG;AACH,qBAAa,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM;IAMhD,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,GAAG;IARb,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,cAAc,CAAC,CAAgB;IAEvC,YACU,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC/D,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,GAAG,yCAAyC,EAClD;IAEJ;;;;;OAKG;IACI,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BzC;IAED;;OAEG;IACI,iBAAiB,aAOtB;IAEF;;OAEG;IACI,KAAK,SAMX;IAED;;;OAGG;IACI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAU3B;IAED,OAAO,CAAC,aAAa,CAOnB;CACH"}
1
+ {"version":3,"file":"batch_queue.d.ts","sourceRoot":"","sources":["../../src/queue/batch_queue.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;GAcG;AACH,qBAAa,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM;IAMhD,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,GAAG;IARb,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,cAAc,CAAC,CAAgB;IAEvC,YACU,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC/D,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,GAAG,yCAAyC,EAClD;IAEJ;;;;;OAKG;IACI,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BzC;IAED;;OAEG;IACI,iBAAiB,aAOtB;IAEF;;OAEG;IACI,KAAK,SAMX;IAED;;;OAGG;IACI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAW3B;IAED,OAAO,CAAC,aAAa,CAOnB;CACH"}
@@ -98,6 +98,7 @@ import { FifoMemoryQueue } from './fifo_memory_queue.js';
98
98
  if (!runningPromise) {
99
99
  return Promise.resolve();
100
100
  }
101
+ this.flushCurrentBatch();
101
102
  this.container.end();
102
103
  return runningPromise;
103
104
  }
@@ -42,6 +42,17 @@ export declare function retry<Result>(fn: () => Promise<Result>, name?: string,
42
42
  * @returns A Promise that resolves with the successful (truthy) result of the provided function, or rejects if timeout is exceeded.
43
43
  */
44
44
  export declare function retryUntil<T>(fn: () => (T | undefined) | Promise<T | undefined>, name?: string, timeout?: number, interval?: number): Promise<NonNullable<Awaited<T>>>;
45
+ /**
46
+ * Retry an asynchronous function until it returns a truthy value or the maximum number of retries is exceeded.
47
+ * The function is retried periodically with a fixed interval between attempts.
48
+ *
49
+ * @param fn - The asynchronous function to be retried, which should return a truthy value upon success or undefined otherwise.
50
+ * @param name - The optional name of the operation, used for generating error messages.
51
+ * @param maxRetries - The maximum number of retry attempts before throwing an error.
52
+ * @param retryInterval - The optional interval, in seconds, between retry attempts. Defaults to 1 second.
53
+ * @returns A Promise that resolves with the successful (truthy) result of the provided function, or rejects if retries are exhausted.
54
+ */
55
+ export declare function retryTimes<T>(fn: () => (T | undefined) | Promise<T | undefined>, name: string | undefined, maxRetries: number, retryInterval?: number): Promise<NonNullable<Awaited<T>>>;
45
56
  /**
46
57
  * Convenience wrapper around retryUntil with fast polling for tests.
47
58
  * Uses 10s timeout and 100ms polling interval by default.
@@ -52,4 +63,4 @@ export declare function retryUntil<T>(fn: () => (T | undefined) | Promise<T | un
52
63
  * @param interval - Optional interval in seconds. Defaults to 0.1s (100ms).
53
64
  */
54
65
  export declare function retryFastUntil<T>(fn: () => (T | undefined) | Promise<T | undefined>, name?: string, timeout?: number, interval?: number): Promise<NonNullable<Awaited<T>>>;
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXRyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0saUJBQWlCLENBQUM7QUFJNUQsd0VBQXdFO0FBQ3hFLHFCQUFhLFlBQWEsU0FBUSxLQUFLO0NBQUc7QUFFMUM7Ozs7Ozs7R0FPRztBQUNILHdCQUFpQixnQkFBZ0IscUNBTWhDO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFpQixXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxvQ0FJN0M7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILHdCQUFzQixLQUFLLENBQUMsTUFBTSxFQUNoQyxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQ3pCLElBQUksU0FBYyxFQUNsQixPQUFPLG1DQUFxQixFQUM1QixHQUFHLEdBQUUsTUFBeUMsRUFDOUMsWUFBWSxVQUFRLG1CQW9CckI7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsd0JBQXNCLFVBQVUsQ0FBQyxDQUFDLEVBQ2hDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQ2xELElBQUksU0FBSyxFQUNULE9BQU8sU0FBSSxFQUNYLFFBQVEsU0FBSSxvQ0FlYjtBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQWdCLGNBQWMsQ0FBQyxDQUFDLEVBQzlCLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQ2xELElBQUksU0FBSyxFQUNULE9BQU8sU0FBSyxFQUNaLFFBQVEsU0FBTSxvQ0FHZiJ9
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXRyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0saUJBQWlCLENBQUM7QUFJNUQsd0VBQXdFO0FBQ3hFLHFCQUFhLFlBQWEsU0FBUSxLQUFLO0NBQUc7QUFFMUM7Ozs7Ozs7R0FPRztBQUNILHdCQUFpQixnQkFBZ0IscUNBTWhDO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFpQixXQUFXLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxvQ0FJN0M7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILHdCQUFzQixLQUFLLENBQUMsTUFBTSxFQUNoQyxFQUFFLEVBQUUsTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQ3pCLElBQUksU0FBYyxFQUNsQixPQUFPLG1DQUFxQixFQUM1QixHQUFHLEdBQUUsTUFBeUMsRUFDOUMsWUFBWSxVQUFRLG1CQW9CckI7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsd0JBQXNCLFVBQVUsQ0FBQyxDQUFDLEVBQ2hDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQ2xELElBQUksU0FBSyxFQUNULE9BQU8sU0FBSSxFQUNYLFFBQVEsU0FBSSxvQ0FlYjtBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILHdCQUFzQixVQUFVLENBQUMsQ0FBQyxFQUNoQyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxTQUFTLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxFQUNsRCxJQUFJLG9CQUFLLEVBQ1QsVUFBVSxFQUFFLE1BQU0sRUFDbEIsYUFBYSxTQUFJLG9DQWNsQjtBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQWdCLGNBQWMsQ0FBQyxDQUFDLEVBQzlCLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLEVBQ2xELElBQUksU0FBSyxFQUNULE9BQU8sU0FBSyxFQUNaLFFBQVEsU0FBTSxvQ0FHZiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/retry/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,iBAAiB,CAAC;AAI5D,wEAAwE;AACxE,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C;;;;;;;GAOG;AACH,wBAAiB,gBAAgB,qCAMhC;AAED;;;;GAIG;AACH,wBAAiB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,oCAI7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,KAAK,CAAC,MAAM,EAChC,EAAE,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EACzB,IAAI,SAAc,EAClB,OAAO,mCAAqB,EAC5B,GAAG,GAAE,MAAyC,EAC9C,YAAY,UAAQ,mBAoBrB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,EAClD,IAAI,SAAK,EACT,OAAO,SAAI,EACX,QAAQ,SAAI,oCAeb;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,EAClD,IAAI,SAAK,EACT,OAAO,SAAK,EACZ,QAAQ,SAAM,oCAGf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/retry/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,iBAAiB,CAAC;AAI5D,wEAAwE;AACxE,qBAAa,YAAa,SAAQ,KAAK;CAAG;AAE1C;;;;;;;GAOG;AACH,wBAAiB,gBAAgB,qCAMhC;AAED;;;;GAIG;AACH,wBAAiB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,oCAI7C;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,KAAK,CAAC,MAAM,EAChC,EAAE,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EACzB,IAAI,SAAc,EAClB,OAAO,mCAAqB,EAC5B,GAAG,GAAE,MAAyC,EAC9C,YAAY,UAAQ,mBAoBrB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,EAClD,IAAI,SAAK,EACT,OAAO,SAAI,EACX,QAAQ,SAAI,oCAeb;AAED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAChC,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,EAClD,IAAI,oBAAK,EACT,UAAU,EAAE,MAAM,EAClB,aAAa,SAAI,oCAclB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,EAClD,IAAI,SAAK,EACT,OAAO,SAAK,EACZ,QAAQ,SAAM,oCAGf"}
@@ -91,6 +91,27 @@ import { Timer } from '../timer/index.js';
91
91
  }
92
92
  }
93
93
  }
94
+ /**
95
+ * Retry an asynchronous function until it returns a truthy value or the maximum number of retries is exceeded.
96
+ * The function is retried periodically with a fixed interval between attempts.
97
+ *
98
+ * @param fn - The asynchronous function to be retried, which should return a truthy value upon success or undefined otherwise.
99
+ * @param name - The optional name of the operation, used for generating error messages.
100
+ * @param maxRetries - The maximum number of retry attempts before throwing an error.
101
+ * @param retryInterval - The optional interval, in seconds, between retry attempts. Defaults to 1 second.
102
+ * @returns A Promise that resolves with the successful (truthy) result of the provided function, or rejects if retries are exhausted.
103
+ */ export async function retryTimes(fn, name = '', maxRetries, retryInterval = 1) {
104
+ for(let attempt = 0; attempt <= maxRetries; attempt++){
105
+ const result = await fn();
106
+ if (result) {
107
+ return result;
108
+ }
109
+ if (attempt < maxRetries) {
110
+ await sleep(retryInterval * 1000);
111
+ }
112
+ }
113
+ throw new Error(name ? `Retries exhausted awaiting ${name}` : 'Retries exhausted');
114
+ }
94
115
  /**
95
116
  * Convenience wrapper around retryUntil with fast polling for tests.
96
117
  * Uses 10s timeout and 100ms polling interval by default.
@@ -42,7 +42,7 @@ export function urlJoin(...args) {
42
42
  while(end >= start && arg[end] === '/'){
43
43
  end--;
44
44
  }
45
- if (start < end) {
45
+ if (start <= end) {
46
46
  processed.push(arg.slice(start, end + 1));
47
47
  }
48
48
  }
@@ -1,6 +1,15 @@
1
1
  import { type TransferDescriptor } from '../interface/transferable.js';
2
2
  import type { TransportClient } from '../transport_client.js';
3
- import type { DispatchMsg } from './create_dispatch_fn.js';
3
+ /**
4
+ * Represents a message object for dispatching function calls.
5
+ * Contains the function name ('fn') and an array of arguments ('args') required to call the target method.
6
+ */
7
+ export interface DispatchMsg {
8
+ /** Name of the target method to be called. */
9
+ fn: string;
10
+ /** An array of arguments to be passed to the target method. */
11
+ args: any[];
12
+ }
4
13
  /**
5
14
  * FilterOutAttributes type filters out all non-method properties of an object, leaving only the attributes
6
15
  * that are functions. This is useful for creating proxies or wrappers around objects while focusing only
@@ -99,4 +108,4 @@ export declare function createDispatchProxy<T>(class_: {
99
108
  new (...args: any[]): T;
100
109
  }, transportClient: TransportClient<DispatchMsg>): Proxify<T>;
101
110
  export {};
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2Rpc3BhdGNoX3Byb3h5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNwb3J0L2Rpc3BhdGNoL2NyZWF0ZV9kaXNwYXRjaF9wcm94eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsS0FBSyxrQkFBa0IsRUFBd0IsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRDs7OztHQUlHO0FBQ0gsS0FBSyxtQkFBbUIsQ0FBQyxJQUFJLElBQUk7S0FDOUIsR0FBRyxJQUFJLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsS0FBSyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUs7Q0FDaEYsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxLQUFLLGlCQUFpQixDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRTVHOzs7Ozs7OztHQVFHO0FBQ0gsS0FBSyxTQUFTLENBQUMsSUFBSSxTQUFTO0lBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxLQUFLLEdBQUcsQ0FBQTtDQUFFLElBQUk7S0FDcEUsR0FBRyxJQUFJLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUMzRyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsS0FBSyxhQUFhLENBQUMsS0FBSyxTQUFTLENBQUMsR0FBRyxJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUk7S0FDaEQsS0FBSyxJQUFJLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBUyxZQUFZLEdBQUcsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO0NBQ3RILENBQUM7QUFFRjs7Ozs7Ozs7Ozs7R0FXRztBQUNILEtBQUsseUJBQXlCLENBQUMsU0FBUyxTQUFTLENBQUMsR0FBRyxJQUFJLEVBQUUsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUN4RSxHQUFHLElBQUksRUFBRSxTQUFTLFNBQVMsQ0FBQyxHQUFHLElBQUksRUFBRSxNQUFNLENBQUMsS0FBSyxHQUFHLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssS0FDNUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRTNCOzs7OztHQUtHO0FBQ0gsS0FBSyxhQUFhLENBQUMsSUFBSSxTQUFTO0lBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxLQUFLLEdBQUcsQ0FBQTtDQUFFLElBQUk7S0FDeEUsR0FBRyxJQUFJLE1BQU0sSUFBSSxHQUFHLHlCQUF5QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUMxRCxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxNQUFNLE9BQU8sQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFMUU7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILHdCQUFnQix5QkFBeUIsQ0FBQyxDQUFDLEVBQ3pDLE1BQU0sRUFBRTtJQUFFLEtBQUssR0FBRyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFBO0NBQUUsRUFDbkMsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLE1BQU0sS0FBSyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FDMUQsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQVNaO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsd0JBQWdCLG1CQUFtQixDQUFDLENBQUMsRUFDbkMsTUFBTSxFQUFFO0lBQUUsS0FBSyxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUE7Q0FBRSxFQUNuQyxlQUFlLEVBQUUsZUFBZSxDQUFDLFdBQVcsQ0FBQyxHQUM1QyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBcUJaIn0=
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2Rpc3BhdGNoX3Byb3h5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJhbnNwb3J0L2Rpc3BhdGNoL2NyZWF0ZV9kaXNwYXRjaF9wcm94eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsS0FBSyxrQkFBa0IsRUFBd0IsTUFBTSw4QkFBOEIsQ0FBQztBQUM3RixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU5RDs7O0dBR0c7QUFDSCxNQUFNLFdBQVcsV0FBVztJQUMxQiw4Q0FBOEM7SUFDOUMsRUFBRSxFQUFFLE1BQU0sQ0FBQztJQUNYLCtEQUErRDtJQUMvRCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUM7Q0FDYjtBQUVEOzs7O0dBSUc7QUFDSCxLQUFLLG1CQUFtQixDQUFDLElBQUksSUFBSTtLQUM5QixHQUFHLElBQUksTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxLQUFLLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSztDQUNoRixDQUFDO0FBRUY7Ozs7R0FJRztBQUNILEtBQUssaUJBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFNUc7Ozs7Ozs7O0dBUUc7QUFDSCxLQUFLLFNBQVMsQ0FBQyxJQUFJLFNBQVM7SUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEtBQUssR0FBRyxDQUFBO0NBQUUsSUFBSTtLQUNwRSxHQUFHLElBQUksTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0NBQzNHLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxLQUFLLGFBQWEsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtLQUNoRCxLQUFLLElBQUksTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7Q0FDdEgsQ0FBQztBQUVGOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsS0FBSyx5QkFBeUIsQ0FBQyxTQUFTLFNBQVMsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLEtBQUssR0FBRyxJQUFJLENBQ3hFLEdBQUcsSUFBSSxFQUFFLFNBQVMsU0FBUyxDQUFDLEdBQUcsSUFBSSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEdBQUcsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxLQUM1RSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFM0I7Ozs7O0dBS0c7QUFDSCxLQUFLLGFBQWEsQ0FBQyxJQUFJLFNBQVM7SUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxHQUFHLEtBQUssR0FBRyxDQUFBO0NBQUUsSUFBSTtLQUN4RSxHQUFHLElBQUksTUFBTSxJQUFJLEdBQUcseUJBQXlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0NBQzFELENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxNQUFNLE1BQU0sT0FBTyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUUxRTs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsd0JBQWdCLHlCQUF5QixDQUFDLENBQUMsRUFDekMsTUFBTSxFQUFFO0lBQUUsS0FBSyxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUE7Q0FBRSxFQUNuQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsTUFBTSxLQUFLLENBQUMsR0FBRyxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUMxRCxPQUFPLENBQUMsQ0FBQyxDQUFDLENBU1o7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCx3QkFBZ0IsbUJBQW1CLENBQUMsQ0FBQyxFQUNuQyxNQUFNLEVBQUU7SUFBRSxLQUFLLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQTtDQUFFLEVBQ25DLGVBQWUsRUFBRSxlQUFlLENBQUMsV0FBVyxDQUFDLEdBQzVDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FxQloifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"create_dispatch_proxy.d.ts","sourceRoot":"","sources":["../../../src/transport/dispatch/create_dispatch_proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create_dispatch_proxy.d.ts","sourceRoot":"","sources":["../../../src/transport/dispatch/create_dispatch_proxy.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- export * from './dispatch/create_dispatch_fn.js';
2
1
  export * from './dispatch/create_dispatch_proxy.js';
3
2
  export * from './dispatch/messages.js';
4
3
  export * from './interface/connector.js';
@@ -8,4 +7,4 @@ export * from './interface/transferable.js';
8
7
  export * from './transport_client.js';
9
8
  export * from './transport_server.js';
10
9
  export * from './node/index.js';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc3BvcnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxpQkFBaUIsQ0FBQyJ9
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc3BvcnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
@@ -1,4 +1,3 @@
1
- export * from './dispatch/create_dispatch_fn.js';
2
1
  export * from './dispatch/create_dispatch_proxy.js';
3
2
  export * from './dispatch/messages.js';
4
3
  export * from './interface/connector.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/foundation",
3
- "version": "0.0.1-commit.2d9cb6034",
3
+ "version": "0.0.1-commit.2e20a94",
4
4
  "type": "module",
5
5
  "main": "./dest/index.js",
6
6
  "types": "./dest/index.d.ts",
@@ -145,7 +145,7 @@
145
145
  "testEnvironment": "../../foundation/src/jest/env.mjs"
146
146
  },
147
147
  "dependencies": {
148
- "@aztec/bb.js": "0.0.1-commit.2d9cb6034",
148
+ "@aztec/bb.js": "0.0.1-commit.2e20a94",
149
149
  "@koa/cors": "^5.0.0",
150
150
  "@noble/curves": "=1.7.0",
151
151
  "@noble/hashes": "^1.6.1",
@@ -0,0 +1,42 @@
1
+ import type { BaseBuffer32 } from '../buffer/buffer32.js';
2
+ import { Buffer32 } from '../buffer/buffer32.js';
3
+ import type { Branded } from './types.js';
4
+
5
+ /** A branded Buffer32 representing a block proposal hash, used for p2p deduplication. */
6
+ export type BlockProposalHash = Branded<BaseBuffer32, 'BlockProposalHash'>;
7
+
8
+ /** Creates a BlockProposalHash from a BaseBuffer32. */
9
+ export function BlockProposalHash(buf: BaseBuffer32): BlockProposalHash {
10
+ return buf as BlockProposalHash;
11
+ }
12
+
13
+ /** Creates a BlockProposalHash from a raw Buffer. */
14
+ BlockProposalHash.fromBuffer = function (buf: Buffer): BlockProposalHash {
15
+ return new Buffer32(buf) as unknown as BlockProposalHash;
16
+ };
17
+
18
+ /** A branded Buffer32 representing a checkpoint proposal hash, used for p2p deduplication. */
19
+ export type CheckpointProposalHash = Branded<BaseBuffer32, 'CheckpointProposalHash'>;
20
+
21
+ /** Creates a CheckpointProposalHash from a BaseBuffer32. */
22
+ export function CheckpointProposalHash(buf: BaseBuffer32): CheckpointProposalHash {
23
+ return buf as CheckpointProposalHash;
24
+ }
25
+
26
+ /** Creates a CheckpointProposalHash from a raw Buffer. */
27
+ CheckpointProposalHash.fromBuffer = function (buf: Buffer): CheckpointProposalHash {
28
+ return new Buffer32(buf) as unknown as CheckpointProposalHash;
29
+ };
30
+
31
+ /** A branded Buffer32 representing a checkpoint attestation hash, used for p2p deduplication. */
32
+ export type CheckpointAttestationHash = Branded<BaseBuffer32, 'CheckpointAttestationHash'>;
33
+
34
+ /** Creates a CheckpointAttestationHash from a BaseBuffer32. */
35
+ export function CheckpointAttestationHash(buf: BaseBuffer32): CheckpointAttestationHash {
36
+ return buf as CheckpointAttestationHash;
37
+ }
38
+
39
+ /** Creates a CheckpointAttestationHash from a raw Buffer. */
40
+ CheckpointAttestationHash.fromBuffer = function (buf: Buffer): CheckpointAttestationHash {
41
+ return new Buffer32(buf) as unknown as CheckpointAttestationHash;
42
+ };
@@ -85,6 +85,11 @@ CheckpointNumber.isValid = function (value: unknown): value is CheckpointNumber
85
85
  return typeof value === 'number' && Number.isInteger(value) && value >= 0;
86
86
  };
87
87
 
88
+ /** Increments a CheckpointNumber by a given value. */
89
+ CheckpointNumber.add = function (n: CheckpointNumber, increment: number): CheckpointNumber {
90
+ return CheckpointNumber(n + increment);
91
+ };
92
+
88
93
  /** The zero checkpoint value. */
89
94
  CheckpointNumber.ZERO = CheckpointNumber(0);
90
95
 
@@ -1,4 +1,5 @@
1
1
  export { BlockNumber, BlockNumberSchema, BlockNumberPositiveSchema } from './block_number.js';
2
+ export { BlockProposalHash, CheckpointAttestationHash, CheckpointProposalHash } from './buffer32_hash.js';
2
3
  export { CheckpointNumber, CheckpointNumberSchema, CheckpointNumberPositiveSchema } from './checkpoint_number.js';
3
4
  export { EpochNumber, EpochNumberSchema } from './epoch.js';
4
5
  export { IndexWithinCheckpoint, IndexWithinCheckpointSchema } from './index_within_checkpoint.js';
@@ -10,8 +10,8 @@ import { bufferToHex } from '../string/index.js';
10
10
  * A class representing a 16 byte Buffer.
11
11
  */
12
12
  export class Buffer16 {
13
- /** Branding to prevent structural compatibility with Buffer32. */
14
- declare readonly __brand: 'Buffer16';
13
+ /** Branding for nominal typing. */
14
+ declare private readonly _branding: 'Buffer16';
15
15
 
16
16
  /**
17
17
  * The size of the hash in bytes.