@aztec/foundation 0.86.0-starknet.1 → 0.87.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/array/array.d.ts.map +1 -1
- package/dest/bigint-buffer/index.d.ts +0 -2
- package/dest/bigint-buffer/index.d.ts.map +1 -1
- package/dest/buffer/buffer16.d.ts +80 -0
- package/dest/buffer/buffer16.d.ts.map +1 -0
- package/dest/buffer/buffer16.js +100 -0
- package/dest/buffer/buffer32.d.ts +3 -7
- package/dest/buffer/buffer32.d.ts.map +1 -1
- package/dest/buffer/buffer32.js +6 -6
- package/dest/buffer/index.d.ts +1 -0
- package/dest/buffer/index.d.ts.map +1 -1
- package/dest/buffer/index.js +1 -0
- package/dest/collection/array.d.ts +0 -2
- package/dest/collection/array.d.ts.map +1 -1
- package/dest/config/env_var.d.ts +1 -1
- package/dest/config/env_var.d.ts.map +1 -1
- package/dest/crypto/aes128/index.d.ts +2 -4
- package/dest/crypto/aes128/index.d.ts.map +1 -1
- package/dest/crypto/ecdsa/index.d.ts +0 -2
- package/dest/crypto/ecdsa/index.d.ts.map +1 -1
- package/dest/crypto/ecdsa/signature.d.ts +1 -3
- package/dest/crypto/ecdsa/signature.d.ts.map +1 -1
- package/dest/crypto/grumpkin/index.d.ts +0 -2
- package/dest/crypto/grumpkin/index.d.ts.map +1 -1
- package/dest/crypto/keccak/index.d.ts +2 -4
- package/dest/crypto/keccak/index.d.ts.map +1 -1
- package/dest/crypto/keys/index.d.ts +0 -2
- package/dest/crypto/keys/index.d.ts.map +1 -1
- package/dest/crypto/pedersen/pedersen.noble.d.ts +2 -4
- package/dest/crypto/pedersen/pedersen.noble.d.ts.map +1 -1
- package/dest/crypto/pedersen/pedersen.wasm.d.ts +2 -4
- package/dest/crypto/pedersen/pedersen.wasm.d.ts.map +1 -1
- package/dest/crypto/poseidon/index.d.ts +0 -2
- package/dest/crypto/poseidon/index.d.ts.map +1 -1
- package/dest/crypto/random/index.d.ts +1 -3
- package/dest/crypto/random/index.d.ts.map +1 -1
- package/dest/crypto/random/randomness_singleton.d.ts +0 -2
- package/dest/crypto/random/randomness_singleton.d.ts.map +1 -1
- package/dest/crypto/schnorr/signature.d.ts +3 -5
- package/dest/crypto/schnorr/signature.d.ts.map +1 -1
- package/dest/crypto/secp256k1/index.d.ts +4 -6
- package/dest/crypto/secp256k1/index.d.ts.map +1 -1
- package/dest/crypto/secp256k1-signer/utils.d.ts +0 -2
- package/dest/crypto/secp256k1-signer/utils.d.ts.map +1 -1
- package/dest/crypto/serialize.d.ts +4 -6
- package/dest/crypto/serialize.d.ts.map +1 -1
- package/dest/crypto/sha256/index.d.ts +2 -4
- package/dest/crypto/sha256/index.d.ts.map +1 -1
- package/dest/crypto/sha512/index.d.ts +1 -3
- package/dest/crypto/sha512/index.d.ts.map +1 -1
- package/dest/crypto/signature/index.d.ts +0 -2
- package/dest/crypto/signature/index.d.ts.map +1 -1
- package/dest/crypto/sync/pedersen/index.d.ts +2 -4
- package/dest/crypto/sync/pedersen/index.d.ts.map +1 -1
- package/dest/crypto/sync/poseidon/index.d.ts +0 -2
- package/dest/crypto/sync/poseidon/index.d.ts.map +1 -1
- package/dest/decorators/memoize.d.ts.map +1 -1
- package/dest/eth-address/index.d.ts +2 -5
- package/dest/eth-address/index.d.ts.map +1 -1
- package/dest/eth-signature/eth_signature.d.ts +0 -2
- package/dest/eth-signature/eth_signature.d.ts.map +1 -1
- package/dest/fields/coordinate.d.ts +0 -2
- package/dest/fields/coordinate.d.ts.map +1 -1
- package/dest/fields/fields.d.ts +0 -3
- package/dest/fields/fields.d.ts.map +1 -1
- package/dest/fields/point.d.ts +2 -4
- package/dest/fields/point.d.ts.map +1 -1
- package/dest/fields/point.js +2 -2
- package/dest/iterable/filter.js +1 -1
- package/dest/iterable/map.js +1 -1
- package/dest/json-rpc/client/fetch.d.ts +2 -2
- package/dest/json-rpc/client/fetch.d.ts.map +1 -1
- package/dest/json-rpc/client/fetch.js +16 -30
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts +7 -3
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
- package/dest/json-rpc/client/safe_json_rpc_client.js +135 -13
- package/dest/json-rpc/client/undici.d.ts.map +1 -1
- package/dest/json-rpc/client/undici.js +6 -7
- package/dest/json-rpc/convert.d.ts +1 -1
- package/dest/json-rpc/convert.d.ts.map +1 -1
- package/dest/json-rpc/convert.js +1 -1
- package/dest/json-rpc/errors.d.ts +4 -0
- package/dest/json-rpc/errors.d.ts.map +1 -0
- package/dest/json-rpc/errors.js +6 -0
- package/dest/json-rpc/fixtures/class_a.d.ts +5 -3
- package/dest/json-rpc/fixtures/class_a.d.ts.map +1 -1
- package/dest/json-rpc/fixtures/class_b.d.ts +5 -3
- package/dest/json-rpc/fixtures/class_b.d.ts.map +1 -1
- package/dest/json-rpc/index.d.ts +1 -0
- package/dest/json-rpc/index.d.ts.map +1 -1
- package/dest/json-rpc/index.js +1 -0
- package/dest/json-rpc/js_utils.d.ts.map +1 -1
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts +2 -1
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
- package/dest/json-rpc/server/safe_json_rpc_server.js +112 -39
- package/dest/json-rpc/test/integration.d.ts +0 -1
- package/dest/json-rpc/test/integration.d.ts.map +1 -1
- package/dest/log/console.d.ts.map +1 -1
- package/dest/log/gcloud-logger-config.d.ts.map +1 -1
- package/dest/log/gcloud-logger-config.js +0 -4
- package/dest/log/pino-logger.d.ts +1 -2
- package/dest/log/pino-logger.d.ts.map +1 -1
- package/dest/message/index.d.ts.map +1 -1
- package/dest/mutex/mutex_database.d.ts.map +1 -1
- package/dest/queue/bounded_serial_queue.d.ts.map +1 -1
- package/dest/schemas/api.d.ts.map +1 -1
- package/dest/schemas/parse.js +1 -1
- package/dest/schemas/schemas.d.ts +3 -5
- package/dest/schemas/schemas.d.ts.map +1 -1
- package/dest/schemas/utils.d.ts +1 -3
- package/dest/schemas/utils.d.ts.map +1 -1
- package/dest/serialize/buffer_reader.d.ts +0 -2
- package/dest/serialize/buffer_reader.d.ts.map +1 -1
- package/dest/serialize/field_reader.d.ts +2 -1
- package/dest/serialize/field_reader.d.ts.map +1 -1
- package/dest/serialize/field_reader.js +4 -1
- package/dest/serialize/free_funcs.d.ts +8 -10
- package/dest/serialize/free_funcs.d.ts.map +1 -1
- package/dest/serialize/serialize.d.ts +3 -5
- package/dest/serialize/serialize.d.ts.map +1 -1
- package/dest/string/index.d.ts +0 -2
- package/dest/string/index.d.ts.map +1 -1
- package/dest/testing/files/index.d.ts +0 -2
- package/dest/testing/files/index.d.ts.map +1 -1
- package/dest/timer/timeout.d.ts.map +1 -1
- package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +1 -1
- package/dest/transport/interface/connector.d.ts.map +1 -1
- package/dest/transport/interface/listener.d.ts +0 -1
- package/dest/transport/interface/listener.d.ts.map +1 -1
- package/dest/transport/interface/socket.d.ts.map +1 -1
- package/dest/transport/node/node_connector.d.ts +0 -1
- package/dest/transport/node/node_connector.d.ts.map +1 -1
- package/dest/transport/node/node_connector_socket.d.ts +0 -1
- package/dest/transport/node/node_connector_socket.d.ts.map +1 -1
- package/dest/transport/node/node_listener.d.ts +0 -1
- package/dest/transport/node/node_listener.d.ts.map +1 -1
- package/dest/transport/node/node_listener_socket.d.ts +0 -1
- package/dest/transport/node/node_listener_socket.d.ts.map +1 -1
- package/dest/transport/transport_client.d.ts +0 -1
- package/dest/transport/transport_client.d.ts.map +1 -1
- package/dest/transport/transport_server.d.ts.map +1 -1
- package/dest/trees/hasher.d.ts +4 -6
- package/dest/trees/hasher.d.ts.map +1 -1
- package/dest/trees/indexed_merkle_tree.d.ts +0 -2
- package/dest/trees/indexed_merkle_tree.d.ts.map +1 -1
- package/dest/trees/indexed_merkle_tree_calculator.d.ts +1 -3
- package/dest/trees/indexed_merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/indexed_tree_leaf.d.ts +0 -2
- package/dest/trees/indexed_tree_leaf.d.ts.map +1 -1
- package/dest/trees/membership_witness.d.ts +1 -3
- package/dest/trees/membership_witness.d.ts.map +1 -1
- package/dest/trees/merkle_tree.d.ts +0 -2
- package/dest/trees/merkle_tree.d.ts.map +1 -1
- package/dest/trees/merkle_tree_calculator.d.ts +1 -3
- package/dest/trees/merkle_tree_calculator.d.ts.map +1 -1
- package/dest/trees/sibling_path.d.ts +6 -8
- package/dest/trees/sibling_path.d.ts.map +1 -1
- package/dest/trees/unbalanced_merkle_tree.d.ts +0 -2
- package/dest/trees/unbalanced_merkle_tree.d.ts.map +1 -1
- package/dest/types/index.d.ts +0 -2
- package/dest/types/index.d.ts.map +1 -1
- package/dest/url/index.d.ts.map +1 -1
- package/dest/url/index.js +1 -1
- package/package.json +16 -15
- package/src/buffer/buffer16.ts +133 -0
- package/src/buffer/buffer32.ts +8 -6
- package/src/buffer/index.ts +1 -0
- package/src/config/env_var.ts +6 -3
- package/src/fields/point.ts +0 -2
- package/src/iterable/filter.ts +1 -1
- package/src/iterable/map.ts +1 -1
- package/src/json-rpc/client/fetch.ts +14 -33
- package/src/json-rpc/client/safe_json_rpc_client.ts +171 -13
- package/src/json-rpc/client/undici.ts +6 -13
- package/src/json-rpc/convert.ts +2 -2
- package/src/json-rpc/errors.ts +6 -0
- package/src/json-rpc/fixtures/class_a.ts +4 -1
- package/src/json-rpc/fixtures/class_b.ts +4 -1
- package/src/json-rpc/index.ts +1 -0
- package/src/json-rpc/server/safe_json_rpc_server.ts +78 -25
- package/src/log/console.ts +4 -1
- package/src/log/gcloud-logger-config.ts +2 -2
- package/src/log/pino-logger.ts +2 -2
- package/src/message/index.ts +5 -1
- package/src/mutex/mutex_database.ts +2 -3
- package/src/queue/bounded_serial_queue.ts +4 -1
- package/src/schemas/api.ts +4 -4
- package/src/schemas/parse.ts +1 -1
- package/src/serialize/buffer_reader.ts +4 -1
- package/src/serialize/field_reader.ts +11 -3
- package/src/string/index.ts +1 -1
- package/src/timer/timeout.ts +5 -1
- package/src/transport/interface/connector.ts +0 -1
- package/src/transport/interface/listener.ts +2 -3
- package/src/transport/interface/socket.ts +2 -3
- package/src/transport/transport_client.ts +3 -4
- package/src/transport/transport_server.ts +4 -1
- package/src/trees/hasher.ts +4 -4
- package/src/trees/indexed_merkle_tree.ts +5 -1
- package/src/trees/indexed_merkle_tree_calculator.ts +2 -2
- package/src/trees/merkle_tree.ts +4 -1
- package/src/trees/merkle_tree_calculator.ts +8 -3
- package/src/types/index.ts +0 -5
- package/src/url/index.ts +0 -1
|
@@ -7,10 +7,9 @@ import type { Socket } from './socket.js';
|
|
|
7
7
|
* Possible implementations could include MessageChannels or WebSockets.
|
|
8
8
|
*/
|
|
9
9
|
export interface Listener extends EventEmitter {
|
|
10
|
-
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
11
10
|
open(): void;
|
|
12
|
-
|
|
11
|
+
|
|
13
12
|
close(): void;
|
|
14
|
-
|
|
13
|
+
|
|
15
14
|
on(name: 'new_socket', cb: (client: Socket) => void): this;
|
|
16
15
|
}
|
|
@@ -6,10 +6,9 @@
|
|
|
6
6
|
* If `registerHandler` callback receives `undefined` that signals the other end closed.
|
|
7
7
|
*/
|
|
8
8
|
export interface Socket {
|
|
9
|
-
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
10
9
|
send(msg: any, transfer?: Transferable[]): Promise<void>;
|
|
11
|
-
|
|
10
|
+
|
|
12
11
|
registerHandler(cb: (msg: any) => any): void;
|
|
13
|
-
|
|
12
|
+
|
|
14
13
|
close(): void;
|
|
15
14
|
}
|
|
@@ -18,9 +18,9 @@ interface PendingRequest {
|
|
|
18
18
|
* The unique message identifier used for tracking and matching request/response pairs.
|
|
19
19
|
*/
|
|
20
20
|
msgId: number;
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
resolve(data: any): void;
|
|
23
|
-
|
|
23
|
+
|
|
24
24
|
reject(error: Error): void;
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -30,9 +30,8 @@ interface PendingRequest {
|
|
|
30
30
|
* for efficient and concurrent communication with a corresponding TransportServer.
|
|
31
31
|
*/
|
|
32
32
|
export interface ITransportClient<Payload> extends EventEmitter {
|
|
33
|
-
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
34
33
|
on(name: 'event_msg', handler: (payload: Payload) => void): this;
|
|
35
|
-
|
|
34
|
+
|
|
36
35
|
emit(name: 'event_msg', payload: Payload): boolean;
|
|
37
36
|
}
|
|
38
37
|
|
|
@@ -9,7 +9,10 @@ import { isTransferDescriptor } from './interface/transferable.js';
|
|
|
9
9
|
export class TransportServer<Payload> {
|
|
10
10
|
private sockets: Socket[] = [];
|
|
11
11
|
|
|
12
|
-
constructor(
|
|
12
|
+
constructor(
|
|
13
|
+
private listener: Listener,
|
|
14
|
+
private msgHandlerFn: (msg: Payload) => Promise<any>,
|
|
15
|
+
) {}
|
|
13
16
|
|
|
14
17
|
/**
|
|
15
18
|
* Starts the TransportServer, allowing it to accept new connections and handle incoming messages.
|
package/src/trees/hasher.ts
CHANGED
|
@@ -8,14 +8,14 @@ export interface Hasher {
|
|
|
8
8
|
* @param rhs - The second array.
|
|
9
9
|
* @returns The new 32-byte hash.
|
|
10
10
|
*/
|
|
11
|
-
hash(lhs: Uint8Array, rhs: Uint8Array): Buffer
|
|
11
|
+
hash(lhs: Uint8Array, rhs: Uint8Array): Buffer<ArrayBuffer>;
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Hashes an array of buffers.
|
|
15
15
|
* @param inputs - The array of buffers to hash.
|
|
16
16
|
* @returns The resulting 32-byte hash.
|
|
17
17
|
*/
|
|
18
|
-
hashInputs(inputs: Buffer[]): Buffer
|
|
18
|
+
hashInputs(inputs: Buffer[]): Buffer<ArrayBuffer>;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/**
|
|
@@ -28,12 +28,12 @@ export interface AsyncHasher {
|
|
|
28
28
|
* @param rhs - The second array.
|
|
29
29
|
* @returns The new 32-byte hash.
|
|
30
30
|
*/
|
|
31
|
-
hash(lhs: Uint8Array, rhs: Uint8Array): Promise<Buffer
|
|
31
|
+
hash(lhs: Uint8Array, rhs: Uint8Array): Promise<Buffer<ArrayBuffer>>;
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* Hashes an array of buffers.
|
|
35
35
|
* @param inputs - The array of buffers to hash.
|
|
36
36
|
* @returns The resulting 32-byte hash.
|
|
37
37
|
*/
|
|
38
|
-
hashInputs(inputs: Buffer[]): Promise<Buffer
|
|
38
|
+
hashInputs(inputs: Buffer[]): Promise<Buffer<ArrayBuffer>>;
|
|
39
39
|
}
|
|
@@ -6,7 +6,11 @@ import { MerkleTree } from './merkle_tree.js';
|
|
|
6
6
|
|
|
7
7
|
/** A simple immutable indexed merkle tree container. Use a IndexedMerkleTreeCalculator to create a new instance from a set of leaves. */
|
|
8
8
|
export class IndexedMerkleTree<T extends IndexedTreeLeafPreimage, N extends number> extends MerkleTree {
|
|
9
|
-
constructor(
|
|
9
|
+
constructor(
|
|
10
|
+
height: N,
|
|
11
|
+
nodes: Buffer[],
|
|
12
|
+
public readonly leafPreimages: T[],
|
|
13
|
+
) {
|
|
10
14
|
super(height, nodes);
|
|
11
15
|
}
|
|
12
16
|
|
|
@@ -28,7 +28,7 @@ export class IndexedMerkleTreeCalculator<T extends IndexedTreeLeafPreimage, N ex
|
|
|
28
28
|
) {
|
|
29
29
|
const zeroHashes = [zeroLeaf];
|
|
30
30
|
for (let i = 0; i < height; i++) {
|
|
31
|
-
zeroHashes.push(await hasher.hash(zeroHashes[i], zeroHashes[i]));
|
|
31
|
+
zeroHashes.push((await hasher.hash(zeroHashes[i], zeroHashes[i])) as Buffer<ArrayBuffer>);
|
|
32
32
|
}
|
|
33
33
|
return new IndexedMerkleTreeCalculator(height, zeroHashes, hasher, factory);
|
|
34
34
|
}
|
|
@@ -59,7 +59,7 @@ export class IndexedMerkleTreeCalculator<T extends IndexedTreeLeafPreimage, N ex
|
|
|
59
59
|
|
|
60
60
|
for (let i = 0; i < this.height; ++i) {
|
|
61
61
|
const numLeaves = 2 ** (this.height - i);
|
|
62
|
-
const newLeaves: Buffer[] = [];
|
|
62
|
+
const newLeaves: Buffer<ArrayBuffer>[] = [];
|
|
63
63
|
for (let j = 0; j < leaves.length / 2; ++j) {
|
|
64
64
|
const l = leaves[j * 2];
|
|
65
65
|
const r = leaves[j * 2 + 1] || this.zeroHashes[i];
|
package/src/trees/merkle_tree.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/** A simple immutable Merkle tree container. Use a MerkleTreeCalculator to create a new instance from a set of leaves. */
|
|
2
2
|
export class MerkleTree {
|
|
3
|
-
constructor(
|
|
3
|
+
constructor(
|
|
4
|
+
public readonly height: number,
|
|
5
|
+
public readonly nodes: Buffer[],
|
|
6
|
+
) {
|
|
4
7
|
const expectedNodeCount = 2 ** (height + 1) - 1;
|
|
5
8
|
if (nodes.length !== expectedNodeCount) {
|
|
6
9
|
throw new Error(`Invalid node count for Merkle tree: got ${nodes.length} but expected ${expectedNodeCount}`);
|
|
@@ -7,18 +7,23 @@ import { MerkleTree } from './merkle_tree.js';
|
|
|
7
7
|
* Merkle tree calculator.
|
|
8
8
|
*/
|
|
9
9
|
export class MerkleTreeCalculator {
|
|
10
|
-
private constructor(
|
|
10
|
+
private constructor(
|
|
11
|
+
private height: number,
|
|
12
|
+
private zeroHashes: Buffer[],
|
|
13
|
+
private hasher: AsyncHasher['hash'],
|
|
14
|
+
) {
|
|
11
15
|
this.hasher = hasher;
|
|
12
16
|
}
|
|
13
17
|
|
|
14
18
|
static async create(
|
|
15
19
|
height: number,
|
|
16
20
|
zeroLeaf = Buffer.alloc(32),
|
|
17
|
-
hasher = async (left: Buffer, right: Buffer) =>
|
|
21
|
+
hasher = async (left: Buffer, right: Buffer) =>
|
|
22
|
+
(await pedersenHash([left, right])).toBuffer() as Buffer<ArrayBuffer>,
|
|
18
23
|
) {
|
|
19
24
|
const zeroHashes = [zeroLeaf];
|
|
20
25
|
for (let i = 0; i < height; i++) {
|
|
21
|
-
zeroHashes.push(await hasher(zeroHashes[i], zeroHashes[i]));
|
|
26
|
+
zeroHashes.push((await hasher(zeroHashes[i], zeroHashes[i])) as Buffer<ArrayBuffer>);
|
|
22
27
|
}
|
|
23
28
|
return new MerkleTreeCalculator(height, zeroHashes, hasher);
|
|
24
29
|
}
|
package/src/types/index.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
/** Strips methods of a type. */
|
|
2
2
|
export type FieldsOf<T> = {
|
|
3
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
4
3
|
[P in keyof T as T[P] extends Function ? never : P]: T[P];
|
|
5
4
|
};
|
|
6
5
|
|
|
7
6
|
/** Extracts methods of a type. */
|
|
8
7
|
export type FunctionsOf<T> = {
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
10
8
|
[P in keyof T as T[P] extends Function ? P : never]: T[P];
|
|
11
9
|
};
|
|
12
10
|
|
|
@@ -20,6 +18,3 @@ export type Writeable<T> = { -readonly [P in keyof T]: T[P] };
|
|
|
20
18
|
export function unfreeze<T>(obj: T): Writeable<T> {
|
|
21
19
|
return obj as Writeable<T>;
|
|
22
20
|
}
|
|
23
|
-
|
|
24
|
-
/** Maybe exists, maybe not. */
|
|
25
|
-
export type Maybe<T extends object> = T | unknown;
|
package/src/url/index.ts
CHANGED