@aztec/foundation 0.32.0 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/dest/abi/abi.d.ts +38 -27
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +1 -1
  4. package/dest/abi/decoder.d.ts +3 -2
  5. package/dest/abi/decoder.d.ts.map +1 -1
  6. package/dest/abi/decoder.js +1 -1
  7. package/dest/abi/encoder.d.ts +1 -1
  8. package/dest/abi/encoder.d.ts.map +1 -1
  9. package/dest/abi/event_selector.d.ts +1 -1
  10. package/dest/abi/event_selector.d.ts.map +1 -1
  11. package/dest/abi/function_selector.d.ts +2 -2
  12. package/dest/abi/function_selector.d.ts.map +1 -1
  13. package/dest/abi/utils.d.ts +6 -6
  14. package/dest/array/array.d.ts +2 -2
  15. package/dest/array/array.d.ts.map +1 -1
  16. package/dest/array/array.js +3 -3
  17. package/dest/aztec-address/index.d.ts +1 -1
  18. package/dest/aztec-address/index.d.ts.map +1 -1
  19. package/dest/aztec-address/index.js +1 -1
  20. package/dest/collection/array.d.ts +1 -1
  21. package/dest/collection/array.d.ts.map +1 -1
  22. package/dest/crypto/pedersen/pedersen.wasm.d.ts +1 -1
  23. package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -1
  24. package/dest/crypto/pedersen/pedersen.wasm.js +1 -1
  25. package/dest/crypto/sha256/index.d.ts +1 -1
  26. package/dest/crypto/sha256/index.d.ts.map +1 -1
  27. package/dest/crypto/sha256/index.js +1 -1
  28. package/dest/fields/coordinate.d.ts +1 -1
  29. package/dest/fields/coordinate.d.ts.map +1 -1
  30. package/dest/json-rpc/client/json_rpc_client.d.ts +3 -3
  31. package/dest/json-rpc/client/json_rpc_client.d.ts.map +1 -1
  32. package/dest/json-rpc/client/json_rpc_client.js +1 -1
  33. package/dest/json-rpc/convert.d.ts +1 -1
  34. package/dest/json-rpc/convert.d.ts.map +1 -1
  35. package/dest/json-rpc/server/json_proxy.d.ts +1 -1
  36. package/dest/json-rpc/server/json_proxy.d.ts.map +1 -1
  37. package/dest/json-rpc/server/json_proxy.js +1 -1
  38. package/dest/json-rpc/server/json_rpc_server.d.ts +2 -2
  39. package/dest/json-rpc/server/json_rpc_server.d.ts.map +1 -1
  40. package/dest/json-rpc/server/json_rpc_server.js +1 -1
  41. package/dest/log/console.d.ts +1 -1
  42. package/dest/log/console.d.ts.map +1 -1
  43. package/dest/log/debug.d.ts +1 -1
  44. package/dest/log/debug.d.ts.map +1 -1
  45. package/dest/log/logger.d.ts +1 -1
  46. package/dest/log/logger.d.ts.map +1 -1
  47. package/dest/mutex/index.d.ts +1 -1
  48. package/dest/mutex/index.d.ts.map +1 -1
  49. package/dest/serialize/buffer_reader.d.ts +1 -1
  50. package/dest/serialize/buffer_reader.d.ts.map +1 -1
  51. package/dest/serialize/field_reader.d.ts +2 -2
  52. package/dest/serialize/field_reader.d.ts.map +1 -1
  53. package/dest/serialize/field_reader.js +1 -1
  54. package/dest/serialize/free_funcs.d.ts +1 -1
  55. package/dest/serialize/free_funcs.d.ts.map +1 -1
  56. package/dest/sleep/index.d.ts +2 -1
  57. package/dest/sleep/index.d.ts.map +1 -1
  58. package/dest/sleep/index.js +4 -3
  59. package/dest/transport/browser/message_port_socket.d.ts +1 -1
  60. package/dest/transport/browser/message_port_socket.d.ts.map +1 -1
  61. package/dest/transport/browser/shared_worker_connector.d.ts +1 -1
  62. package/dest/transport/browser/shared_worker_connector.d.ts.map +1 -1
  63. package/dest/transport/browser/shared_worker_listener.d.ts +1 -1
  64. package/dest/transport/browser/shared_worker_listener.d.ts.map +1 -1
  65. package/dest/transport/browser/worker_connector.d.ts +1 -1
  66. package/dest/transport/browser/worker_connector.d.ts.map +1 -1
  67. package/dest/transport/browser/worker_listener.d.ts +1 -1
  68. package/dest/transport/browser/worker_listener.d.ts.map +1 -1
  69. package/dest/transport/dispatch/create_dispatch_proxy.d.ts +3 -3
  70. package/dest/transport/dispatch/create_dispatch_proxy.d.ts.map +1 -1
  71. package/dest/transport/dispatch/create_dispatch_proxy.js +1 -1
  72. package/dest/transport/interface/connector.d.ts +1 -1
  73. package/dest/transport/interface/connector.d.ts.map +1 -1
  74. package/dest/transport/interface/listener.d.ts +2 -2
  75. package/dest/transport/interface/listener.d.ts.map +1 -1
  76. package/dest/transport/node/node_connector.d.ts +2 -2
  77. package/dest/transport/node/node_connector.d.ts.map +1 -1
  78. package/dest/transport/node/node_connector_socket.d.ts +2 -2
  79. package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
  80. package/dest/transport/node/node_listener.d.ts +1 -1
  81. package/dest/transport/node/node_listener.d.ts.map +1 -1
  82. package/dest/transport/node/node_listener_socket.d.ts +2 -2
  83. package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
  84. package/dest/transport/transport_client.d.ts +1 -1
  85. package/dest/transport/transport_client.d.ts.map +1 -1
  86. package/dest/transport/transport_client.js +1 -1
  87. package/dest/transport/transport_server.d.ts +1 -1
  88. package/dest/transport/transport_server.d.ts.map +1 -1
  89. package/dest/types/index.d.ts +4 -0
  90. package/dest/types/index.d.ts.map +1 -1
  91. package/dest/wasm/wasm_module.d.ts +1 -1
  92. package/dest/wasm/wasm_module.d.ts.map +1 -1
  93. package/dest/wasm/wasm_module.js +1 -1
  94. package/dest/worker/browser/start_web_module.d.ts +1 -1
  95. package/dest/worker/browser/start_web_module.d.ts.map +1 -1
  96. package/dest/worker/browser/start_web_module.js +1 -1
  97. package/dest/worker/browser/web_data_store.d.ts +1 -1
  98. package/dest/worker/browser/web_data_store.d.ts.map +1 -1
  99. package/dest/worker/browser/web_data_store.js +1 -1
  100. package/dest/worker/browser/web_worker.d.ts +1 -1
  101. package/dest/worker/browser/web_worker.d.ts.map +1 -1
  102. package/dest/worker/browser/web_worker.js +1 -1
  103. package/dest/worker/node/node_data_store.d.ts +1 -1
  104. package/dest/worker/node/node_data_store.d.ts.map +1 -1
  105. package/dest/worker/node/node_data_store.js +1 -1
  106. package/dest/worker/node/node_worker.d.ts +1 -1
  107. package/dest/worker/node/node_worker.d.ts.map +1 -1
  108. package/dest/worker/node/node_worker.js +1 -1
  109. package/dest/worker/node/start_node_module.d.ts +1 -1
  110. package/dest/worker/node/start_node_module.d.ts.map +1 -1
  111. package/dest/worker/node/start_node_module.js +1 -1
  112. package/dest/worker/wasm_worker.d.ts +2 -2
  113. package/dest/worker/wasm_worker.d.ts.map +1 -1
  114. package/dest/worker/worker_pool.d.ts +1 -1
  115. package/dest/worker/worker_pool.d.ts.map +1 -1
  116. package/package.json +14 -8
  117. package/src/abi/abi.ts +47 -28
  118. package/src/abi/decoder.ts +5 -4
  119. package/src/abi/encoder.ts +3 -3
  120. package/src/abi/event_selector.ts +1 -1
  121. package/src/abi/function_selector.ts +2 -2
  122. package/src/abi/utils.ts +6 -6
  123. package/src/array/array.ts +8 -3
  124. package/src/aztec-address/index.ts +1 -1
  125. package/src/collection/array.ts +1 -1
  126. package/src/crypto/pedersen/pedersen.wasm.ts +1 -1
  127. package/src/crypto/sha256/index.ts +1 -1
  128. package/src/fields/coordinate.ts +1 -1
  129. package/src/json-rpc/client/json_rpc_client.ts +3 -3
  130. package/src/json-rpc/convert.ts +1 -1
  131. package/src/json-rpc/server/json_proxy.ts +1 -1
  132. package/src/json-rpc/server/json_rpc_server.ts +2 -2
  133. package/src/log/console.ts +1 -1
  134. package/src/log/debug.ts +1 -1
  135. package/src/log/logger.ts +1 -1
  136. package/src/mutex/index.ts +1 -1
  137. package/src/serialize/buffer_reader.ts +1 -1
  138. package/src/serialize/field_reader.ts +2 -2
  139. package/src/serialize/free_funcs.ts +1 -1
  140. package/src/sleep/index.ts +3 -2
  141. package/src/transport/browser/message_port_socket.ts +1 -1
  142. package/src/transport/browser/shared_worker_connector.ts +1 -1
  143. package/src/transport/browser/shared_worker_listener.ts +1 -1
  144. package/src/transport/browser/worker_connector.ts +1 -1
  145. package/src/transport/browser/worker_listener.ts +1 -1
  146. package/src/transport/dispatch/create_dispatch_proxy.ts +3 -3
  147. package/src/transport/interface/connector.ts +1 -1
  148. package/src/transport/interface/listener.ts +2 -2
  149. package/src/transport/node/node_connector.ts +2 -2
  150. package/src/transport/node/node_connector_socket.ts +2 -2
  151. package/src/transport/node/node_listener.ts +1 -1
  152. package/src/transport/node/node_listener_socket.ts +2 -2
  153. package/src/transport/transport_client.ts +3 -3
  154. package/src/transport/transport_server.ts +3 -3
  155. package/src/types/index.ts +6 -0
  156. package/src/wasm/wasm_module.ts +1 -1
  157. package/src/worker/browser/start_web_module.ts +2 -2
  158. package/src/worker/browser/web_data_store.ts +2 -2
  159. package/src/worker/browser/web_worker.ts +2 -2
  160. package/src/worker/node/node_data_store.ts +2 -2
  161. package/src/worker/node/node_worker.ts +2 -2
  162. package/src/worker/node/start_node_module.ts +2 -2
  163. package/src/worker/wasm_worker.ts +2 -2
  164. package/src/worker/worker_pool.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  import { Fr } from '../fields/fields.js';
2
- import { Tuple } from './types.js';
2
+ import { type Tuple } from './types.js';
3
3
 
4
4
  /**
5
5
  * Convert a boolean value to its corresponding byte representation in a Buffer of size 1.
@@ -67,8 +67,9 @@ export class InterruptibleSleep {
67
67
  * The sleep function can be interrupted by the 'interrupt' method of the InterruptibleSleep class.
68
68
  *
69
69
  * @param ms - The duration in milliseconds for which the sleep operation should last.
70
+ * @param returnValue - The return value of the promise.
70
71
  * @returns A Promise that resolves after the specified duration, allowing the use of 'await' to pause execution.
71
72
  */
72
- export function sleep(ms: number) {
73
- return new Promise(resolve => setTimeout(resolve, ms));
73
+ export function sleep<T>(ms: number, returnValue?: T): Promise<T | undefined> {
74
+ return new Promise(resolve => setTimeout(() => resolve(returnValue), ms));
74
75
  }
@@ -1,4 +1,4 @@
1
- import { Socket } from '../interface/socket.js';
1
+ import { type Socket } from '../interface/socket.js';
2
2
 
3
3
  /**
4
4
  * An implementation of a TransportSocket using MessagePorts.
@@ -1,4 +1,4 @@
1
- import { Connector } from '../interface/connector.js';
1
+ import { type Connector } from '../interface/connector.js';
2
2
  import { MessagePortSocket } from './message_port_socket.js';
3
3
 
4
4
  /**
@@ -1,6 +1,6 @@
1
1
  import EventEmitter from 'events';
2
2
 
3
- import { Listener } from '../interface/listener.js';
3
+ import { type Listener } from '../interface/listener.js';
4
4
  import { MessagePortSocket } from './message_port_socket.js';
5
5
 
6
6
  /**
@@ -1,4 +1,4 @@
1
- import { Connector } from '../interface/connector.js';
1
+ import { type Connector } from '../interface/connector.js';
2
2
  import { MessagePortSocket } from './message_port_socket.js';
3
3
 
4
4
  /**
@@ -1,6 +1,6 @@
1
1
  import EventEmitter from 'events';
2
2
 
3
- import { Listener } from '../interface/listener.js';
3
+ import { type Listener } from '../interface/listener.js';
4
4
  import { MessagePortSocket } from './message_port_socket.js';
5
5
 
6
6
  /**
@@ -1,8 +1,8 @@
1
1
  import { EventEmitter } from 'events';
2
2
 
3
- import { TransferDescriptor, isTransferDescriptor } from '../interface/transferable.js';
4
- import { TransportClient } from '../transport_client.js';
5
- import { DispatchMsg } from './create_dispatch_fn.js';
3
+ import { type TransferDescriptor, isTransferDescriptor } from '../interface/transferable.js';
4
+ import { type TransportClient } from '../transport_client.js';
5
+ import { type DispatchMsg } from './create_dispatch_fn.js';
6
6
 
7
7
  /**
8
8
  * FilterOutAttributes type filters out all non-method properties of an object, leaving only the attributes
@@ -1,4 +1,4 @@
1
- import { Socket } from './socket.js';
1
+ import { type Socket } from './socket.js';
2
2
 
3
3
  /**
4
4
  * Opens a socket with corresponding TransportListener.
@@ -1,6 +1,6 @@
1
- import EventEmitter from 'events';
1
+ import type EventEmitter from 'events';
2
2
 
3
- import { Socket } from './socket.js';
3
+ import { type Socket } from './socket.js';
4
4
 
5
5
  /**
6
6
  * Once opened, an implementation of a TransportListener will emit `new_socket` events as new clients connect.
@@ -1,6 +1,6 @@
1
- import { Worker } from 'worker_threads';
1
+ import { type Worker } from 'worker_threads';
2
2
 
3
- import { Connector } from '../interface/connector.js';
3
+ import { type Connector } from '../interface/connector.js';
4
4
  import { NodeConnectorSocket } from './node_connector_socket.js';
5
5
 
6
6
  /**
@@ -1,6 +1,6 @@
1
- import { TransferListItem, Worker } from 'worker_threads';
1
+ import { type TransferListItem, type Worker } from 'worker_threads';
2
2
 
3
- import { Socket } from '../interface/socket.js';
3
+ import { type Socket } from '../interface/socket.js';
4
4
 
5
5
  /**
6
6
  * NodeConnectorSocket is a wrapper class that implements the Socket interface for messaging between
@@ -1,7 +1,7 @@
1
1
  import EventEmitter from 'events';
2
2
  import { parentPort } from 'worker_threads';
3
3
 
4
- import { Listener } from '../interface/listener.js';
4
+ import { type Listener } from '../interface/listener.js';
5
5
  import { NodeListenerSocket } from './node_listener_socket.js';
6
6
 
7
7
  /**
@@ -1,6 +1,6 @@
1
- import { MessagePort, TransferListItem } from 'worker_threads';
1
+ import { type MessagePort, type TransferListItem } from 'worker_threads';
2
2
 
3
- import { Socket } from '../interface/socket.js';
3
+ import { type Socket } from '../interface/socket.js';
4
4
 
5
5
  /**
6
6
  * An implementation of a TransportSocket using MessagePorts.
@@ -2,9 +2,9 @@ import EventEmitter from 'events';
2
2
  import { format } from 'util';
3
3
 
4
4
  import { createDebugLogger } from '../log/index.js';
5
- import { EventMessage, ResponseMessage, isEventMessage } from './dispatch/messages.js';
6
- import { Connector } from './interface/connector.js';
7
- import { Socket } from './interface/socket.js';
5
+ import { type EventMessage, type ResponseMessage, isEventMessage } from './dispatch/messages.js';
6
+ import { type Connector } from './interface/connector.js';
7
+ import { type Socket } from './interface/socket.js';
8
8
 
9
9
  const debug = createDebugLogger('aztec:transport_client');
10
10
 
@@ -1,6 +1,6 @@
1
- import { RequestMessage, ResponseMessage } from './dispatch/messages.js';
2
- import { Listener } from './interface/listener.js';
3
- import { Socket } from './interface/socket.js';
1
+ import { type RequestMessage, type ResponseMessage } from './dispatch/messages.js';
2
+ import { type Listener } from './interface/listener.js';
3
+ import { type Socket } from './interface/socket.js';
4
4
  import { isTransferDescriptor } from './interface/transferable.js';
5
5
 
6
6
  /**
@@ -4,5 +4,11 @@ export type FieldsOf<T> = {
4
4
  [P in keyof T as T[P] extends Function ? never : P]: T[P];
5
5
  };
6
6
 
7
+ /** Extracts methods of a type. */
8
+ export type FunctionsOf<T> = {
9
+ // eslint-disable-next-line @typescript-eslint/ban-types
10
+ [P in keyof T as T[P] extends Function ? P : never]: T[P];
11
+ };
12
+
7
13
  /** Marks a set of properties of a type as optional. */
8
14
  export type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
@@ -2,7 +2,7 @@ import { Buffer } from 'buffer';
2
2
 
3
3
  import { randomBytes } from '../crypto/index.js';
4
4
  import { MemoryFifo } from '../fifo/index.js';
5
- import { LogFn, createDebugOnlyLogger } from '../log/index.js';
5
+ import { type LogFn, createDebugOnlyLogger } from '../log/index.js';
6
6
  import { getEmptyWasiSdk } from './empty_wasi_sdk.js';
7
7
 
8
8
  /**
@@ -1,5 +1,5 @@
1
- import { DispatchMsg, TransportServer, WorkerListener } from '../../transport/index.js';
2
- import { WasmModule } from '../../wasm/index.js';
1
+ import { type DispatchMsg, TransportServer, WorkerListener } from '../../transport/index.js';
2
+ import { type WasmModule } from '../../wasm/index.js';
3
3
 
4
4
  /**
5
5
  * Start the transport server corresponding to this module.
@@ -1,7 +1,7 @@
1
- import levelup, { LevelUp } from 'levelup';
1
+ import levelup, { type LevelUp } from 'levelup';
2
2
  import memdown from 'memdown';
3
3
 
4
- import { DataStore } from '../data_store.js';
4
+ import { type DataStore } from '../data_store.js';
5
5
 
6
6
  /**
7
7
  * Cache for data used by wasm module.
@@ -1,6 +1,6 @@
1
- import { DispatchMsg, TransportClient, WorkerConnector, createDispatchProxy } from '../../transport/index.js';
1
+ import { type DispatchMsg, TransportClient, WorkerConnector, createDispatchProxy } from '../../transport/index.js';
2
2
  import { WasmModule } from '../../wasm/index.js';
3
- import { WasmWorker } from '../wasm_worker.js';
3
+ import { type WasmWorker } from '../wasm_worker.js';
4
4
 
5
5
  /**
6
6
  * Instantiate a web worker.
@@ -1,8 +1,8 @@
1
1
  import leveldown from 'leveldown';
2
- import levelup, { LevelUp } from 'levelup';
2
+ import levelup, { type LevelUp } from 'levelup';
3
3
  import memdown from 'memdown';
4
4
 
5
- import { DataStore } from '../data_store.js';
5
+ import { type DataStore } from '../data_store.js';
6
6
 
7
7
  /**
8
8
  * Cache for data used by wasm module.
@@ -1,8 +1,8 @@
1
1
  import { Worker } from 'worker_threads';
2
2
 
3
- import { DispatchMsg, NodeConnector, TransportClient, createDispatchProxy } from '../../transport/index.js';
3
+ import { type DispatchMsg, NodeConnector, TransportClient, createDispatchProxy } from '../../transport/index.js';
4
4
  import { WasmModule } from '../../wasm/wasm_module.js';
5
- import { WasmWorker } from '../wasm_worker.js';
5
+ import { type WasmWorker } from '../wasm_worker.js';
6
6
 
7
7
  /**
8
8
  * Creates a node worker.
@@ -1,7 +1,7 @@
1
1
  import { parentPort } from 'worker_threads';
2
2
 
3
- import { DispatchMsg, NodeListener, TransportServer } from '../../transport/index.js';
4
- import { WasmModule } from '../../wasm/wasm_module.js';
3
+ import { type DispatchMsg, NodeListener, TransportServer } from '../../transport/index.js';
4
+ import { type WasmModule } from '../../wasm/wasm_module.js';
5
5
 
6
6
  if (!parentPort) {
7
7
  throw new Error('InvalidWorker');
@@ -1,5 +1,5 @@
1
- import { Proxify } from '../transport/index.js';
2
- import { WasmModule } from '../wasm/wasm_module.js';
1
+ import { type Proxify } from '../transport/index.js';
2
+ import { type WasmModule } from '../wasm/wasm_module.js';
3
3
 
4
4
  /**
5
5
  * Represents either a WASM web worker, or node.js worker.
@@ -1,5 +1,5 @@
1
1
  import { createDebugLogger } from '../log/index.js';
2
- import { WasmWorker } from './wasm_worker.js';
2
+ import { type WasmWorker } from './wasm_worker.js';
3
3
 
4
4
  const debug = createDebugLogger('bb:worker_pool');
5
5