@aztec/foundation 0.7.10 → 0.8.5
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/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +9 -5
- package/dest/abi/function_selector.js +1 -1
- package/dest/abi/index.d.ts +1 -0
- package/dest/abi/index.d.ts.map +1 -1
- package/dest/abi/index.js +2 -1
- package/dest/abi/utils.d.ts +20 -0
- package/dest/abi/utils.d.ts.map +1 -0
- package/dest/abi/utils.js +25 -0
- package/dest/fields/coordinate.d.ts +5 -5
- package/dest/fields/coordinate.js +5 -5
- package/dest/fields/fields.d.ts +4 -0
- package/dest/fields/fields.d.ts.map +1 -1
- package/dest/fields/fields.js +9 -1
- package/dest/fifo/memory_fifo.js +2 -2
- package/dest/json-rpc/client/json_rpc_client.d.ts.map +1 -1
- package/dest/json-rpc/client/json_rpc_client.js +8 -7
- package/dest/json-rpc/convert.js +2 -2
- package/dest/json-rpc/server/json_proxy.d.ts.map +1 -1
- package/dest/json-rpc/server/json_proxy.js +5 -4
- package/dest/json-rpc/server/json_rpc_server.d.ts.map +1 -1
- package/dest/json-rpc/server/json_rpc_server.js +52 -7
- package/dest/log/index.d.ts +4 -4
- package/dest/log/index.d.ts.map +1 -1
- package/dest/log/index.js +1 -1
- package/dest/log/logger.d.ts +7 -3
- package/dest/log/logger.d.ts.map +1 -1
- package/dest/log/logger.js +36 -16
- package/dest/timer/elapsed.d.ts +14 -0
- package/dest/timer/elapsed.d.ts.map +1 -0
- package/dest/timer/elapsed.js +22 -0
- package/dest/timer/index.d.ts +1 -0
- package/dest/timer/index.d.ts.map +1 -1
- package/dest/timer/index.js +2 -1
- package/dest/transport/dispatch/create_dispatch_fn.d.ts.map +1 -1
- package/dest/transport/dispatch/create_dispatch_fn.js +3 -2
- package/dest/transport/transport_client.d.ts.map +1 -1
- package/dest/transport/transport_client.js +4 -3
- package/dest/wasm/wasm_module.js +4 -4
- package/package.json +65 -3
- package/src/abi/encoder.ts +8 -4
- package/src/abi/function_selector.ts +1 -1
- package/src/abi/index.ts +1 -0
- package/src/abi/utils.ts +28 -0
- package/src/fields/coordinate.ts +5 -5
- package/src/fields/fields.ts +10 -0
- package/src/fifo/memory_fifo.ts +1 -1
- package/src/json-rpc/client/json_rpc_client.ts +7 -6
- package/src/json-rpc/convert.ts +2 -2
- package/src/json-rpc/server/json_proxy.ts +5 -3
- package/src/json-rpc/server/json_rpc_server.ts +50 -6
- package/src/log/index.ts +5 -4
- package/src/log/logger.ts +45 -19
- package/src/timer/elapsed.ts +23 -0
- package/src/timer/index.ts +1 -0
- package/src/transport/dispatch/create_dispatch_fn.ts +3 -1
- package/src/transport/transport_client.ts +3 -2
- package/src/wasm/wasm_module.ts +3 -3
- package/.eslintrc.cjs +0 -134
- package/.prettierrc.json +0 -10
- package/.tsbuildinfo +0 -1
- package/dest/abi/decoder.test.d.ts +0 -2
- package/dest/abi/decoder.test.d.ts.map +0 -1
- package/dest/abi/decoder.test.js +0 -70
- package/dest/abi/encoder.test.d.ts +0 -2
- package/dest/abi/encoder.test.d.ts.map +0 -1
- package/dest/abi/encoder.test.js +0 -74
- package/dest/async-map/async_map.test.d.ts +0 -2
- package/dest/async-map/async_map.test.d.ts.map +0 -1
- package/dest/async-map/async_map.test.js +0 -9
- package/dest/bigint-buffer/bigint-buffer.test.d.ts +0 -2
- package/dest/bigint-buffer/bigint-buffer.test.d.ts.map +0 -1
- package/dest/bigint-buffer/bigint-buffer.test.js +0 -18
- package/dest/committable/committable.test.d.ts +0 -2
- package/dest/committable/committable.test.d.ts.map +0 -1
- package/dest/committable/committable.test.js +0 -26
- package/dest/crypto/random/index.test.d.ts +0 -2
- package/dest/crypto/random/index.test.d.ts.map +0 -1
- package/dest/crypto/random/index.test.js +0 -13
- package/dest/crypto/sha256/index.test.d.ts +0 -2
- package/dest/crypto/sha256/index.test.d.ts.map +0 -1
- package/dest/crypto/sha256/index.test.js +0 -11
- package/dest/eth-address/eth_address.test.d.ts +0 -2
- package/dest/eth-address/eth_address.test.d.ts.map +0 -1
- package/dest/eth-address/eth_address.test.js +0 -95
- package/dest/fields/coordinate.test.d.ts +0 -2
- package/dest/fields/coordinate.test.d.ts.map +0 -1
- package/dest/fields/coordinate.test.js +0 -22
- package/dest/fields/grumpkin_scalar.test.d.ts +0 -2
- package/dest/fields/grumpkin_scalar.test.d.ts.map +0 -1
- package/dest/fields/grumpkin_scalar.test.js +0 -45
- package/dest/json-rpc/client/json_rpc_client.test.d.ts +0 -2
- package/dest/json-rpc/client/json_rpc_client.test.d.ts.map +0 -1
- package/dest/json-rpc/client/json_rpc_client.test.js +0 -20
- package/dest/json-rpc/convert.test.d.ts +0 -2
- package/dest/json-rpc/convert.test.d.ts.map +0 -1
- package/dest/json-rpc/convert.test.js +0 -68
- package/dest/json-rpc/server/json_rpc_server.test.d.ts +0 -2
- package/dest/json-rpc/server/json_rpc_server.test.d.ts.map +0 -1
- package/dest/json-rpc/server/json_rpc_server.test.js +0 -22
- package/dest/log/log_history.test.d.ts +0 -2
- package/dest/log/log_history.test.d.ts.map +0 -1
- package/dest/log/log_history.test.js +0 -78
- package/dest/mutex/mutex.test.d.ts +0 -9
- package/dest/mutex/mutex.test.d.ts.map +0 -1
- package/dest/mutex/mutex.test.js +0 -58
- package/dest/serialize/buffer_reader.test.d.ts +0 -2
- package/dest/serialize/buffer_reader.test.d.ts.map +0 -1
- package/dest/serialize/buffer_reader.test.js +0 -156
- package/dest/serialize/serialize.test.d.ts +0 -2
- package/dest/serialize/serialize.test.d.ts.map +0 -1
- package/dest/serialize/serialize.test.js +0 -68
- package/dest/wasm/wasm_module.test.d.ts +0 -2
- package/dest/wasm/wasm_module.test.d.ts.map +0 -1
- package/dest/wasm/wasm_module.test.js +0 -24
- package/src/abi/decoder.test.ts +0 -77
- package/src/abi/encoder.test.ts +0 -80
- package/src/async-map/async_map.test.ts +0 -9
- package/src/bigint-buffer/bigint-buffer.test.ts +0 -21
- package/src/committable/committable.test.ts +0 -32
- package/src/crypto/random/index.test.ts +0 -13
- package/src/crypto/sha256/index.test.ts +0 -14
- package/src/eth-address/eth_address.test.ts +0 -114
- package/src/fields/coordinate.test.ts +0 -26
- package/src/fields/grumpkin_scalar.test.ts +0 -55
- package/src/json-rpc/client/json_rpc_client.test.ts +0 -21
- package/src/json-rpc/convert.test.ts +0 -77
- package/src/json-rpc/server/json_rpc_server.test.ts +0 -24
- package/src/log/log_history.test.ts +0 -88
- package/src/mutex/mutex.test.ts +0 -76
- package/src/serialize/buffer_reader.test.ts +0 -176
- package/src/serialize/serialize.test.ts +0 -89
- package/src/wasm/wasm_module.test.ts +0 -28
- package/tsconfig.dest.json +0 -5
- package/tsconfig.json +0 -10
package/dest/log/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/log/logger.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/log/logger.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAG5C,QAAA,MAAM,SAAS,kEAAmE,CAAC;AAGnF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAKlD,oDAAoD;AACpD,KAAK,UAAU,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;KAAG,CAAC,IAAI,QAAQ,GAAG,KAAK;CAAE,GAAG;IAA4B,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC;AAElG;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,CAAC;AAEzC;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAa3D;AAED,sCAAsC;AACtC,MAAM,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAInG;;;GAGG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,UAAU,QAExC"}
|
package/dest/log/logger.js
CHANGED
|
@@ -3,7 +3,7 @@ import isNode from 'detect-node';
|
|
|
3
3
|
import { isatty } from 'tty';
|
|
4
4
|
// Matches a subset of Winston log levels
|
|
5
5
|
const LogLevels = ['silent', 'error', 'warn', 'info', 'verbose', 'debug'];
|
|
6
|
-
const DefaultLogLevel = 'info';
|
|
6
|
+
const DefaultLogLevel = process.env.NODE_ENV === 'test' ? 'silent' : 'info';
|
|
7
7
|
const envLogLevel = process.env.LOG_LEVEL?.toLowerCase();
|
|
8
8
|
const currentLevel = LogLevels.includes(envLogLevel) ? envLogLevel : DefaultLogLevel;
|
|
9
9
|
/**
|
|
@@ -19,13 +19,13 @@ export function createDebugLogger(name) {
|
|
|
19
19
|
debugLogger.enabled = true;
|
|
20
20
|
const logger = {
|
|
21
21
|
silent: () => { },
|
|
22
|
-
error: (
|
|
23
|
-
warn: (
|
|
24
|
-
info: (
|
|
25
|
-
verbose: (
|
|
26
|
-
debug: (
|
|
22
|
+
error: (msg, err, data) => logWithDebug(debugLogger, 'error', fmtErr(msg, err), data),
|
|
23
|
+
warn: (msg, data) => logWithDebug(debugLogger, 'warn', msg, data),
|
|
24
|
+
info: (msg, data) => logWithDebug(debugLogger, 'info', msg, data),
|
|
25
|
+
verbose: (msg, data) => logWithDebug(debugLogger, 'verbose', msg, data),
|
|
26
|
+
debug: (msg, data) => logWithDebug(debugLogger, 'debug', msg, data),
|
|
27
27
|
};
|
|
28
|
-
return Object.assign((
|
|
28
|
+
return Object.assign((msg, data) => logWithDebug(debugLogger, 'debug', msg, data), logger);
|
|
29
29
|
}
|
|
30
30
|
const logHandlers = [];
|
|
31
31
|
/**
|
|
@@ -41,15 +41,16 @@ export function onLog(handler) {
|
|
|
41
41
|
* @param level - Intended log level.
|
|
42
42
|
* @param args - Args to log.
|
|
43
43
|
*/
|
|
44
|
-
function logWithDebug(debug, level,
|
|
44
|
+
function logWithDebug(debug, level, msg, data) {
|
|
45
45
|
for (const handler of logHandlers) {
|
|
46
|
-
handler(level, debug.namespace,
|
|
46
|
+
handler(level, debug.namespace, msg, data);
|
|
47
47
|
}
|
|
48
|
+
const msgWithData = data ? `${msg} ${fmtLogData(data)}` : msg;
|
|
48
49
|
if (debug.enabled) {
|
|
49
|
-
debug(
|
|
50
|
+
debug(msgWithData);
|
|
50
51
|
}
|
|
51
|
-
else if (LogLevels.indexOf(level) <= LogLevels.indexOf(currentLevel)
|
|
52
|
-
printLog(
|
|
52
|
+
else if (LogLevels.indexOf(level) <= LogLevels.indexOf(currentLevel)) {
|
|
53
|
+
printLog(`${getPrefix(debug, level)} ${msgWithData}`);
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
/**
|
|
@@ -69,10 +70,29 @@ function getPrefix(debugLogger, level) {
|
|
|
69
70
|
}
|
|
70
71
|
/**
|
|
71
72
|
* Outputs to console error.
|
|
72
|
-
* @param
|
|
73
|
+
* @param msg - What to log.
|
|
73
74
|
*/
|
|
74
|
-
function printLog(
|
|
75
|
+
function printLog(msg) {
|
|
75
76
|
// eslint-disable-next-line no-console
|
|
76
|
-
console.error(
|
|
77
|
+
console.error(msg);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Concatenates a log message and an exception.
|
|
81
|
+
* @param msg - Log message
|
|
82
|
+
* @param err - Error to log
|
|
83
|
+
* @returns A string with both the log message and the error message.
|
|
84
|
+
*/
|
|
85
|
+
function fmtErr(msg, err) {
|
|
86
|
+
const errStr = err && [err.name, err.message].filter(x => !!x).join(' ');
|
|
87
|
+
return err ? `${msg}: ${errStr || err}` : msg;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Formats structured log data as a string for console output.
|
|
91
|
+
* @param data - Optional log data.
|
|
92
|
+
*/
|
|
93
|
+
function fmtLogData(data) {
|
|
94
|
+
return Object.entries(data ?? {})
|
|
95
|
+
.map(([key, value]) => `${key}=${value}`)
|
|
96
|
+
.join(' ');
|
|
77
97
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvZy9sb2dnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBSTdCLHlDQUF5QztBQUN6QyxNQUFNLFNBQVMsR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFVLENBQUM7QUFDbkYsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBRSxRQUFrQixDQUFDLENBQUMsQ0FBRSxNQUFnQixDQUFDO0FBT2xHLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBYyxDQUFDO0FBQ3JFLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDO0FBZ0JyRjs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsSUFBWTtJQUM1QyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsSUFBSSxZQUFZLEtBQUssT0FBTztRQUFFLFdBQVcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0lBRXpELE1BQU0sTUFBTSxHQUFHO1FBQ2IsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUM7UUFDaEIsS0FBSyxFQUFFLENBQUMsR0FBVyxFQUFFLEdBQWEsRUFBRSxJQUFjLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEVB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
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Timer } from './timer.js';
|
|
2
|
+
/**
|
|
3
|
+
* Measures the elapsed execution time of a function call or promise once it is awaited.
|
|
4
|
+
* @param fn - Function or promise.
|
|
5
|
+
* @returns A timer object and the result.
|
|
6
|
+
*/
|
|
7
|
+
export declare function elapsed<T>(fn: Promise<T> | (() => T | Promise<T>)): Promise<[Timer, T]>;
|
|
8
|
+
/**
|
|
9
|
+
* Measures the elapsed execution time of a synchronous function call once it is awaited.
|
|
10
|
+
* @param fn - Function.
|
|
11
|
+
* @returns A timer object and the result.
|
|
12
|
+
*/
|
|
13
|
+
export declare function elapsedSync<T>(fn: () => T): [Timer, T];
|
|
14
|
+
//# sourceMappingURL=elapsed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elapsed.d.ts","sourceRoot":"","sources":["../../src/timer/elapsed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAI7F;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAItD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Timer } from './timer.js';
|
|
2
|
+
/**
|
|
3
|
+
* Measures the elapsed execution time of a function call or promise once it is awaited.
|
|
4
|
+
* @param fn - Function or promise.
|
|
5
|
+
* @returns A timer object and the result.
|
|
6
|
+
*/
|
|
7
|
+
export async function elapsed(fn) {
|
|
8
|
+
const timer = new Timer();
|
|
9
|
+
const result = await (typeof fn === 'function' ? fn() : fn);
|
|
10
|
+
return [timer, result];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Measures the elapsed execution time of a synchronous function call once it is awaited.
|
|
14
|
+
* @param fn - Function.
|
|
15
|
+
* @returns A timer object and the result.
|
|
16
|
+
*/
|
|
17
|
+
export function elapsedSync(fn) {
|
|
18
|
+
const timer = new Timer();
|
|
19
|
+
const result = fn();
|
|
20
|
+
return [timer, result];
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90aW1lci9lbGFwc2VkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFbkM7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTyxDQUFJLEVBQXVDO0lBQ3RFLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7SUFDMUIsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVELE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDekIsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFJLEVBQVc7SUFDeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztJQUMxQixNQUFNLE1BQU0sR0FBRyxFQUFFLEVBQUUsQ0FBQztJQUNwQixPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3pCLENBQUMifQ==
|
package/dest/timer/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/timer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/timer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
|
package/dest/timer/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { TimeoutTask } from './timeout.js';
|
|
2
2
|
export { Timer } from './timer.js';
|
|
3
|
-
|
|
3
|
+
export { elapsed, elapsedSync } from './elapsed.js';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGltZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create_dispatch_fn.d.ts","sourceRoot":"","sources":["../../../src/transport/dispatch/create_dispatch_fn.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create_dispatch_fn.d.ts","sourceRoot":"","sources":["../../../src/transport/dispatch/create_dispatch_fn.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;OAEG;IACH,IAAI,EAAE,GAAG,EAAE,CAAC;CACb;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,EAAE,KAAK,4CAAiD,kBAC9E,WAAW,kBAKxC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { format } from 'util';
|
|
1
2
|
import { createDebugLogger } from '../../log/index.js';
|
|
2
3
|
/**
|
|
3
4
|
* Creates a dispatch function that calls the target's specified method with provided arguments.
|
|
@@ -11,8 +12,8 @@ import { createDebugLogger } from '../../log/index.js';
|
|
|
11
12
|
export function createDispatchFn(targetFn, debug = createDebugLogger('aztec:foundation:dispatch')) {
|
|
12
13
|
return async ({ fn, args }) => {
|
|
13
14
|
const target = targetFn();
|
|
14
|
-
debug(`dispatching to ${target}: ${fn}`, args);
|
|
15
|
+
debug(format(`dispatching to ${target}: ${fn}`, args));
|
|
15
16
|
return await target[fn](...args);
|
|
16
17
|
};
|
|
17
18
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2Rpc3BhdGNoX2ZuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyYW5zcG9ydC9kaXNwYXRjaC9jcmVhdGVfZGlzcGF0Y2hfZm4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWlCdkQ7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsUUFBbUIsRUFBRSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsMkJBQTJCLENBQUM7SUFDMUcsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFlLEVBQUUsRUFBRTtRQUN6QyxNQUFNLE1BQU0sR0FBRyxRQUFRLEVBQUUsQ0FBQztRQUMxQixLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixNQUFNLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2RCxPQUFPLE1BQU0sTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport_client.d.ts","sourceRoot":"","sources":["../../src/transport/transport_client.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"transport_client.d.ts","sourceRoot":"","sources":["../../src/transport/transport_client.ts"],"names":[],"mappings":";AAAA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAKlC,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAqBrD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,OAAO,CAAE,SAAQ,YAAY;IAE7D,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAEjE,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC;CACpD;AAED;;;;;GAKG;AACH,qBAAa,eAAe,CAAC,OAAO,CAAE,SAAQ,YAAY;IAK5C,OAAO,CAAC,gBAAgB;IAJpC,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEJ,gBAAgB,EAAE,SAAS;IAI/C;;;;;;;;OAQG;IACG,IAAI;IAKV;;;;;OAKG;IACH,KAAK;IAML;;;;;;;;OAQG;IACH,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE;IAanD;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;CAsB5B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import EventEmitter from 'events';
|
|
2
|
+
import { format } from 'util';
|
|
2
3
|
import { createDebugLogger } from '../log/index.js';
|
|
3
4
|
import { isEventMessage } from './dispatch/messages.js';
|
|
4
5
|
const debug = createDebugLogger('aztec:transport_client');
|
|
@@ -54,7 +55,7 @@ export class TransportClient extends EventEmitter {
|
|
|
54
55
|
}
|
|
55
56
|
const msgId = this.msgId++;
|
|
56
57
|
const msg = { msgId, payload };
|
|
57
|
-
debug(`->`, msg);
|
|
58
|
+
debug(format(`->`, msg));
|
|
58
59
|
return new Promise((resolve, reject) => {
|
|
59
60
|
this.pendingRequests.push({ resolve, reject, msgId });
|
|
60
61
|
this.socket.send(msg, transfer).catch(reject);
|
|
@@ -73,7 +74,7 @@ export class TransportClient extends EventEmitter {
|
|
|
73
74
|
this.close();
|
|
74
75
|
return;
|
|
75
76
|
}
|
|
76
|
-
debug(`<-`, msg);
|
|
77
|
+
debug(format(`<-`, msg));
|
|
77
78
|
if (isEventMessage(msg)) {
|
|
78
79
|
this.emit('event_msg', msg.payload);
|
|
79
80
|
return;
|
|
@@ -91,4 +92,4 @@ export class TransportClient extends EventEmitter {
|
|
|
91
92
|
}
|
|
92
93
|
}
|
|
93
94
|
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwb3J0X2NsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90cmFuc3BvcnQvdHJhbnNwb3J0X2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFlBQVksTUFBTSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQWlDLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSXZGLE1BQU0sS0FBSyxHQUFHLGlCQUFpQixDQUFDLHdCQUF3QixDQUFDLENBQUM7QUE4QjFEOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLGVBQXlCLFNBQVEsWUFBWTtJQUt4RCxZQUFvQixnQkFBMkI7UUFDN0MsS0FBSyxFQUFFLENBQUM7UUFEVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQVc7UUFKdkMsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUNWLG9CQUFlLEdBQXFCLEVBQUUsQ0FBQztJQUsvQyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxLQUFLLENBQUMsSUFBSTtRQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUN4QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxPQUFPLENBQUMsT0FBZ0IsRUFBRSxRQUF5QjtRQUNqRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDckM7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsTUFBTSxHQUFHLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDL0IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN6QixPQUFPLElBQUksT0FBTyxDQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3RELElBQUksQ0FBQyxNQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssbUJBQW1CLENBQUMsR0FBaUU7UUFDM0YsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFO1lBQ3JCLDRCQUE0QjtZQUM1QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixPQUFPO1NBQ1I7UUFDRCxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNwQyxPQUFPO1NBQ1I7UUFDRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVFLElBQUksUUFBUSxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ25CLE9BQU87U0FDUjtRQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0QsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFO1lBQ2IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUN0QzthQUFNO1lBQ0wsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDO0NBQ0YifQ==
|
package/dest/wasm/wasm_module.js
CHANGED
|
@@ -100,9 +100,9 @@ export class WasmModule {
|
|
|
100
100
|
*/
|
|
101
101
|
addLogger(logger) {
|
|
102
102
|
const oldDebug = this.debug;
|
|
103
|
-
this.debug = (
|
|
104
|
-
logger(
|
|
105
|
-
oldDebug(
|
|
103
|
+
this.debug = (msg) => {
|
|
104
|
+
logger(msg);
|
|
105
|
+
oldDebug(msg);
|
|
106
106
|
};
|
|
107
107
|
}
|
|
108
108
|
/**
|
|
@@ -202,4 +202,4 @@ export class WasmModule {
|
|
|
202
202
|
this.mutexQ.put(true);
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FzbV9tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FzbS93YXNtX21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFTLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBZ0N0RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFPckI7Ozs7O09BS0c7SUFDSCxZQUNVLE1BQW1DLEVBQ25DLFFBQXFDLEVBQzdDLFVBQVUsR0FBRyxZQUFZO1FBRmpCLFdBQU0sR0FBTixNQUFNLENBQTZCO1FBQ25DLGFBQVEsR0FBUixRQUFRLENBQTZCO1FBWHZDLFdBQU0sR0FBRyxJQUFJLFVBQVUsRUFBVyxDQUFDO1FBY3pDLElBQUksQ0FBQyxLQUFLLEdBQUcscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNEOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsRUFBRSxPQUFPLEdBQUcsSUFBSSxFQUFFLGFBQTRCLGFBQWE7UUFDdkYsSUFBSSxDQUFDLEtBQUssQ0FDUixnQkFBZ0IsT0FBTyxXQUFXLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/foundation",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.5",
|
|
4
|
+
"packageManager": "yarn@3.4.1",
|
|
5
|
+
"type": "module",
|
|
4
6
|
"exports": {
|
|
5
7
|
"./eslint": "./.eslintrc.cjs",
|
|
6
8
|
"./prettier": "./.prettierrc.json",
|
|
@@ -31,13 +33,31 @@
|
|
|
31
33
|
"./url": "./dest/url/index.js",
|
|
32
34
|
"./committable": "./dest/committable/index.js"
|
|
33
35
|
},
|
|
34
|
-
"
|
|
36
|
+
"scripts": {
|
|
37
|
+
"build": "yarn clean && tsc -b",
|
|
38
|
+
"build:dev": "tsc -b --watch",
|
|
39
|
+
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
40
|
+
"formatting": "run -T prettier --check ./src && run -T eslint ./src",
|
|
41
|
+
"formatting:fix": "run -T prettier -w ./src",
|
|
42
|
+
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --passWithNoTests"
|
|
43
|
+
},
|
|
44
|
+
"inherits": [
|
|
45
|
+
"../package.common.json"
|
|
46
|
+
],
|
|
47
|
+
"jest": {
|
|
48
|
+
"preset": "ts-jest/presets/default-esm",
|
|
49
|
+
"moduleNameMapper": {
|
|
50
|
+
"^(\\.{1,2}/.*)\\.m?js$": "$1"
|
|
51
|
+
},
|
|
52
|
+
"testRegex": "./src/.*\\.test\\.(js|mjs|ts)$",
|
|
53
|
+
"rootDir": "./src"
|
|
54
|
+
},
|
|
35
55
|
"dependencies": {
|
|
36
56
|
"@koa/cors": "^4.0.0",
|
|
37
57
|
"debug": "^4.3.4",
|
|
38
58
|
"detect-node": "^2.1.0",
|
|
39
59
|
"hash.js": "^1.1.7",
|
|
40
|
-
"koa": "^2.14.
|
|
60
|
+
"koa": "^2.14.2",
|
|
41
61
|
"koa-bodyparser": "^4.4.0",
|
|
42
62
|
"koa-compress": "^5.1.0",
|
|
43
63
|
"koa-router": "^12.0.0",
|
|
@@ -47,5 +67,47 @@
|
|
|
47
67
|
"memdown": "^6.1.1",
|
|
48
68
|
"pako": "^2.1.0",
|
|
49
69
|
"sha3": "^2.1.4"
|
|
70
|
+
},
|
|
71
|
+
"devDependencies": {
|
|
72
|
+
"@jest/globals": "^29.5.0",
|
|
73
|
+
"@rushstack/eslint-patch": "^1.1.4",
|
|
74
|
+
"@types/debug": "^4.1.7",
|
|
75
|
+
"@types/detect-node": "^2.0.0",
|
|
76
|
+
"@types/jest": "^29.5.0",
|
|
77
|
+
"@types/koa": "^2.13.5",
|
|
78
|
+
"@types/koa-bodyparser": "^4.3.10",
|
|
79
|
+
"@types/koa-compress": "^4.0.3",
|
|
80
|
+
"@types/koa-cors": "^0.0.2",
|
|
81
|
+
"@types/koa-router": "^7.4.4",
|
|
82
|
+
"@types/koa__cors": "^4.0.0",
|
|
83
|
+
"@types/leveldown": "^4.0.3",
|
|
84
|
+
"@types/levelup": "^5.1.2",
|
|
85
|
+
"@types/lodash.clonedeepwith": "^4.5.7",
|
|
86
|
+
"@types/memdown": "^3.0.1",
|
|
87
|
+
"@types/node": "^18.7.23",
|
|
88
|
+
"@types/pako": "^2.0.0",
|
|
89
|
+
"@types/supertest": "^2.0.12",
|
|
90
|
+
"@typescript-eslint/eslint-plugin": "^6.2.1",
|
|
91
|
+
"@typescript-eslint/parser": "^6.2.1",
|
|
92
|
+
"comlink": "^4.4.1",
|
|
93
|
+
"eslint": "^8.21.0",
|
|
94
|
+
"eslint-config-prettier": "^8.5.0",
|
|
95
|
+
"eslint-plugin-jsdoc": "^40.1.0",
|
|
96
|
+
"eslint-plugin-tsdoc": "^0.2.17",
|
|
97
|
+
"jest": "^29.5.0",
|
|
98
|
+
"prettier": "^2.7.1",
|
|
99
|
+
"supertest": "^6.3.3",
|
|
100
|
+
"ts-jest": "^29.1.0",
|
|
101
|
+
"ts-node": "^10.9.1",
|
|
102
|
+
"typescript": "^5.0.4"
|
|
103
|
+
},
|
|
104
|
+
"files": [
|
|
105
|
+
"dest",
|
|
106
|
+
"src",
|
|
107
|
+
"!*.test.*"
|
|
108
|
+
],
|
|
109
|
+
"types": "./dest/index.d.ts",
|
|
110
|
+
"engines": {
|
|
111
|
+
"node": ">=18"
|
|
50
112
|
}
|
|
51
113
|
}
|
package/src/abi/encoder.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ABIType, FunctionAbiHeader } from '@aztec/foundation/abi';
|
|
1
|
+
import { ABIType, FunctionAbiHeader, isAddressStruct } from '@aztec/foundation/abi';
|
|
2
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -33,10 +33,8 @@ class ArgumentEncoder {
|
|
|
33
33
|
this.flattened.push(Fr.fromBuffer(arg));
|
|
34
34
|
} else if (typeof arg.toField === 'function') {
|
|
35
35
|
this.flattened.push(arg.toField());
|
|
36
|
-
} else if (arg instanceof Fr) {
|
|
37
|
-
this.flattened.push(arg);
|
|
38
36
|
} else {
|
|
39
|
-
throw new Error(`Argument for ${name} cannot be
|
|
37
|
+
throw new Error(`Argument for ${name} cannot be serialized to a field`);
|
|
40
38
|
}
|
|
41
39
|
} else {
|
|
42
40
|
throw new Error(`Invalid argument "${arg}" of type ${abiType.kind}`);
|
|
@@ -51,6 +49,12 @@ class ArgumentEncoder {
|
|
|
51
49
|
}
|
|
52
50
|
break;
|
|
53
51
|
case 'struct':
|
|
52
|
+
// If the abi expects a struct like { address: Field } and the supplied arg does not have
|
|
53
|
+
// an address field in it, we try to encode it as if it were a field directly.
|
|
54
|
+
if (isAddressStruct(abiType) && typeof arg.address === 'undefined') {
|
|
55
|
+
this.encodeArgument({ kind: 'field' }, arg, `${name}.address`);
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
54
58
|
for (const field of abiType.fields) {
|
|
55
59
|
this.encodeArgument(field.type, arg[field.name], `${name}.${field.name}`);
|
|
56
60
|
}
|
|
@@ -99,7 +99,7 @@ export class FunctionSelector {
|
|
|
99
99
|
static fromNameAndParameters(name: string, parameters: ABIParameter[]) {
|
|
100
100
|
const signature = decodeFunctionSignature(name, parameters);
|
|
101
101
|
const selector = FunctionSelector.fromSignature(signature);
|
|
102
|
-
// If using the debug logger here it kill the typing in the `
|
|
102
|
+
// If using the debug logger here it kill the typing in the `server_world_state_synchronizer` and jest tests.
|
|
103
103
|
// console.log(`Function selector for ${signature} is ${selector}`);
|
|
104
104
|
return selector;
|
|
105
105
|
}
|
package/src/abi/index.ts
CHANGED
package/src/abi/utils.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ABIType } from './abi.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Returns whether the ABI type is an Aztec or Ethereum Address defined in Aztec.nr.
|
|
5
|
+
* @param abiType - Type to check.
|
|
6
|
+
* @returns Boolean.
|
|
7
|
+
*/
|
|
8
|
+
export function isAddressStruct(abiType: ABIType) {
|
|
9
|
+
return isEthereumAddressStruct(abiType) || isAztecAddressStruct(abiType);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Returns whether the ABI type is an Ethereum Address defined in Aztec.nr.
|
|
14
|
+
* @param abiType - Type to check.
|
|
15
|
+
* @returns Boolean.
|
|
16
|
+
*/
|
|
17
|
+
export function isEthereumAddressStruct(abiType: ABIType) {
|
|
18
|
+
return abiType.kind === 'struct' && abiType.path.endsWith('::types::address::EthereumAddress');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Returns whether the ABI type is an Aztec Address defined in Aztec.nr.
|
|
23
|
+
* @param abiType - Type to check.
|
|
24
|
+
* @returns Boolean.
|
|
25
|
+
*/
|
|
26
|
+
export function isAztecAddressStruct(abiType: ABIType) {
|
|
27
|
+
return abiType.kind === 'struct' && abiType.path.endsWith('::types::address::AztecAddress');
|
|
28
|
+
}
|
package/src/fields/coordinate.ts
CHANGED
|
@@ -8,7 +8,7 @@ import { Fr } from './fields.js';
|
|
|
8
8
|
* The coordinate value is split across 2 fields to ensure that the max size of a field is not breached.
|
|
9
9
|
* This is achieved by placing the most significant byte of the lower field into the least significant byte of the higher field.
|
|
10
10
|
* Calls to 'toBuffer' or 'toBigInt' undo this change and simply return the original 32 byte value.
|
|
11
|
-
* Calls to 'toFieldsBuffer' will return a 64 bytes buffer containing the
|
|
11
|
+
* Calls to 'toFieldsBuffer' will return a 64 bytes buffer containing the serialized fields.
|
|
12
12
|
*/
|
|
13
13
|
export class Coordinate {
|
|
14
14
|
static ZERO = new Coordinate([Fr.ZERO, Fr.ZERO]);
|
|
@@ -37,16 +37,16 @@ export class Coordinate {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
/**
|
|
40
|
-
*
|
|
41
|
-
* @returns A buffer
|
|
40
|
+
* serializes the oblect to buffer of 2 fields.
|
|
41
|
+
* @returns A buffer serialization of the object.
|
|
42
42
|
*/
|
|
43
43
|
toFieldsBuffer(): Buffer {
|
|
44
44
|
return Buffer.concat([this.fields[0].toBuffer(), this.fields[1].toBuffer()]);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
49
|
-
* @returns A buffer
|
|
48
|
+
* serializes the coordinate to a single 32 byte buffer.
|
|
49
|
+
* @returns A buffer serialization of the object.
|
|
50
50
|
*/
|
|
51
51
|
toBuffer(): Buffer {
|
|
52
52
|
const buf0 = this.fields[0].toBuffer();
|
package/src/fields/fields.ts
CHANGED
|
@@ -148,6 +148,11 @@ export class Fr {
|
|
|
148
148
|
toFriendlyJSON() {
|
|
149
149
|
return this.toString();
|
|
150
150
|
}
|
|
151
|
+
|
|
152
|
+
/** Returns self. */
|
|
153
|
+
toField() {
|
|
154
|
+
return this;
|
|
155
|
+
}
|
|
151
156
|
}
|
|
152
157
|
|
|
153
158
|
/**
|
|
@@ -243,4 +248,9 @@ export class Fq {
|
|
|
243
248
|
toFriendlyJSON() {
|
|
244
249
|
return this.toString();
|
|
245
250
|
}
|
|
251
|
+
|
|
252
|
+
/** Returns self. */
|
|
253
|
+
toField() {
|
|
254
|
+
return this;
|
|
255
|
+
}
|
|
246
256
|
}
|
package/src/fifo/memory_fifo.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// This takes a {foo(): T} and makes {foo(): Promise<T>}
|
|
4
4
|
// while avoiding Promise of Promise.
|
|
5
5
|
import { RemoteObject } from 'comlink';
|
|
6
|
+
import { format } from 'util';
|
|
6
7
|
|
|
7
8
|
import { DebugLogger, createDebugLogger } from '../../log/index.js';
|
|
8
9
|
import { NoRetryError, makeBackoff, retry } from '../../retry/index.js';
|
|
@@ -29,7 +30,7 @@ export async function defaultFetch(
|
|
|
29
30
|
useApiEndpoints: boolean,
|
|
30
31
|
noRetry = false,
|
|
31
32
|
) {
|
|
32
|
-
debug(`JsonRpcClient.fetch`, host, rpcMethod, '->', body);
|
|
33
|
+
debug(format(`JsonRpcClient.fetch`, host, rpcMethod, '->', body));
|
|
33
34
|
let resp: Response;
|
|
34
35
|
if (useApiEndpoints) {
|
|
35
36
|
resp = await fetch(`${host}/${rpcMethod}`, {
|
|
@@ -56,9 +57,9 @@ export async function defaultFetch(
|
|
|
56
57
|
}
|
|
57
58
|
if (!resp.ok) {
|
|
58
59
|
if (noRetry) {
|
|
59
|
-
throw new NoRetryError(responseJson.error);
|
|
60
|
+
throw new NoRetryError(responseJson.error.message);
|
|
60
61
|
} else {
|
|
61
|
-
throw new Error(responseJson.error);
|
|
62
|
+
throw new Error(responseJson.error.message);
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
65
|
|
|
@@ -104,9 +105,9 @@ export function createJsonRpcClient<T extends object>(
|
|
|
104
105
|
method,
|
|
105
106
|
params: params.map(param => convertToJsonObj(classConverter, param)),
|
|
106
107
|
};
|
|
107
|
-
debug(`JsonRpcClient.request`, method, '<-', params);
|
|
108
|
+
debug(format(`JsonRpcClient.request`, method, '<-', params));
|
|
108
109
|
const res = await fetch(host, method, body, useApiEndpoints);
|
|
109
|
-
debug(`JsonRpcClient.result`, method, '->', res);
|
|
110
|
+
debug(format(`JsonRpcClient.result`, method, '->', res));
|
|
110
111
|
if (res.error) {
|
|
111
112
|
throw res.error;
|
|
112
113
|
}
|
|
@@ -124,7 +125,7 @@ export function createJsonRpcClient<T extends object>(
|
|
|
124
125
|
get: (target, rpcMethod: string) => {
|
|
125
126
|
if (['then', 'catch'].includes(rpcMethod)) return Reflect.get(target, rpcMethod);
|
|
126
127
|
return (...params: any[]) => {
|
|
127
|
-
debug(`JsonRpcClient.constructor`, 'proxy', rpcMethod, '<-', params);
|
|
128
|
+
debug(format(`JsonRpcClient.constructor`, 'proxy', rpcMethod, '<-', params));
|
|
128
129
|
return request(rpcMethod, params);
|
|
129
130
|
};
|
|
130
131
|
},
|
package/src/json-rpc/convert.ts
CHANGED
|
@@ -88,7 +88,7 @@ export function convertFromJsonObj(cc: ClassConverter, obj: any): any {
|
|
|
88
88
|
if (cc.isRegisteredClassName(obj.type)) {
|
|
89
89
|
return cc.toClassObj(obj);
|
|
90
90
|
} else {
|
|
91
|
-
throw new Error(`Object ${obj.type} not registered for
|
|
91
|
+
throw new Error(`Object ${obj.type} not registered for serialization FROM JSON`);
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
|
|
@@ -154,7 +154,7 @@ export function convertToJsonObj(cc: ClassConverter, obj: any): any {
|
|
|
154
154
|
return newObj;
|
|
155
155
|
} else {
|
|
156
156
|
// Throw if this is a non-primitive class that was not registered
|
|
157
|
-
throw new Error(`Object ${obj.constructor.name} not registered for
|
|
157
|
+
throw new Error(`Object ${obj.constructor.name} not registered for serialization TO JSON`);
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
160
|
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { format } from 'util';
|
|
2
|
+
|
|
1
3
|
import { createDebugLogger } from '../../log/index.js';
|
|
2
4
|
import { ClassConverter, JsonClassConverterInput, StringClassConverterInput } from '../class_converter.js';
|
|
3
5
|
import { convertFromJsonObj, convertToJsonObj } from '../convert.js';
|
|
@@ -25,17 +27,17 @@ export class JsonProxy {
|
|
|
25
27
|
* @returns The remote result.
|
|
26
28
|
*/
|
|
27
29
|
public async call(methodName: string, jsonParams: any[] = []) {
|
|
28
|
-
debug(`JsonProxy:call`, methodName, jsonParams);
|
|
30
|
+
debug(format(`JsonProxy:call`, methodName, jsonParams));
|
|
29
31
|
// Get access to our class members
|
|
30
32
|
const proto = Object.getPrototypeOf(this.handler);
|
|
31
33
|
assert(hasOwnProperty(proto, methodName), `JsonProxy: Method ${methodName} not found!`);
|
|
32
34
|
assert(Array.isArray(jsonParams), 'JsonProxy: Params not an array!');
|
|
33
35
|
// convert the params from json representation to classes
|
|
34
36
|
const convertedParams = jsonParams.map(param => convertFromJsonObj(this.classConverter, param));
|
|
35
|
-
debug('JsonProxy:call', methodName, '<-', convertedParams);
|
|
37
|
+
debug(format('JsonProxy:call', methodName, '<-', convertedParams));
|
|
36
38
|
const rawRet = await (this.handler as any)[methodName](...convertedParams);
|
|
37
39
|
const ret = convertToJsonObj(this.classConverter, rawRet);
|
|
38
|
-
debug('JsonProxy:call', methodName, '->', ret);
|
|
40
|
+
debug(format('JsonProxy:call', methodName, '->', ret));
|
|
39
41
|
return ret;
|
|
40
42
|
}
|
|
41
43
|
}
|