@aztec/foundation 0.70.0 → 0.72.1
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/decoder.d.ts +1 -1
- package/dest/abi/decoder.d.ts.map +1 -1
- package/dest/abi/decoder.js +11 -2
- package/dest/abi/encoder.d.ts.map +1 -1
- package/dest/abi/encoder.js +12 -2
- package/dest/abi/event_selector.d.ts +1 -2
- package/dest/abi/event_selector.d.ts.map +1 -1
- package/dest/abi/event_selector.js +2 -3
- package/dest/abi/function_selector.d.ts +1 -2
- package/dest/abi/function_selector.d.ts.map +1 -1
- package/dest/abi/function_selector.js +2 -3
- 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/u128.d.ts +13 -0
- package/dest/abi/u128.d.ts.map +1 -0
- package/dest/abi/u128.js +58 -0
- package/dest/abi/utils.d.ts +5 -0
- package/dest/abi/utils.d.ts.map +1 -1
- package/dest/abi/utils.js +8 -1
- package/dest/array/array.d.ts +8 -0
- package/dest/array/array.d.ts.map +1 -1
- package/dest/array/array.js +13 -1
- package/dest/aztec-address/index.d.ts +3 -3
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +5 -5
- package/dest/collection/array.d.ts +7 -0
- package/dest/collection/array.d.ts.map +1 -1
- package/dest/collection/array.js +13 -1
- package/dest/config/env_var.d.ts +1 -1
- package/dest/config/env_var.d.ts.map +1 -1
- package/dest/config/index.d.ts +3 -1
- package/dest/config/index.d.ts.map +1 -1
- package/dest/config/index.js +6 -2
- package/dest/fields/fields.d.ts +10 -1
- package/dest/fields/fields.d.ts.map +1 -1
- package/dest/fields/fields.js +19 -10
- package/dest/fields/point.d.ts +4 -4
- package/dest/fields/point.d.ts.map +1 -1
- package/dest/fields/point.js +5 -5
- 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 +7 -7
- package/dest/json-rpc/client/safe_json_rpc_client.d.ts.map +1 -1
- package/dest/json-rpc/client/safe_json_rpc_client.js +1 -1
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts +17 -5
- package/dest/json-rpc/server/safe_json_rpc_server.d.ts.map +1 -1
- package/dest/json-rpc/server/safe_json_rpc_server.js +16 -9
- package/dest/json-rpc/server/telemetry.d.ts +2 -0
- package/dest/json-rpc/server/telemetry.d.ts.map +1 -0
- package/dest/json-rpc/server/telemetry.js +2 -0
- package/dest/log/gcloud-logger-config.d.ts +14 -0
- package/dest/log/gcloud-logger-config.d.ts.map +1 -0
- package/dest/log/gcloud-logger-config.js +64 -0
- package/dest/log/pino-logger.d.ts.map +1 -1
- package/dest/log/pino-logger.js +14 -40
- package/dest/noir/noir_package_config.d.ts +2 -2
- package/dest/testing/files/index.d.ts +1 -1
- package/dest/testing/files/index.d.ts.map +1 -1
- package/dest/testing/files/index.js +3 -3
- package/dest/timer/timeout.js +2 -2
- package/package.json +3 -3
- package/src/abi/decoder.ts +11 -2
- package/src/abi/encoder.ts +11 -1
- package/src/abi/event_selector.ts +1 -2
- package/src/abi/function_selector.ts +1 -2
- package/src/abi/index.ts +1 -0
- package/src/abi/u128.ts +71 -0
- package/src/abi/utils.ts +8 -0
- package/src/array/array.ts +15 -0
- package/src/aztec-address/index.ts +5 -5
- package/src/collection/array.ts +15 -0
- package/src/config/env_var.ts +3 -2
- package/src/config/index.ts +7 -2
- package/src/fields/fields.ts +19 -10
- package/src/fields/point.ts +6 -6
- package/src/json-rpc/client/fetch.ts +14 -6
- package/src/json-rpc/client/safe_json_rpc_client.ts +0 -1
- package/src/json-rpc/server/safe_json_rpc_server.ts +27 -11
- package/src/json-rpc/server/telemetry.ts +0 -0
- package/src/log/gcloud-logger-config.ts +71 -0
- package/src/log/pino-logger.ts +13 -42
- package/src/testing/files/index.ts +2 -2
- package/src/timer/timeout.ts +1 -1
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import http from 'http';
|
|
3
|
-
import
|
|
3
|
+
import { type default as Application } from 'koa';
|
|
4
4
|
import Router from 'koa-router';
|
|
5
5
|
import { type Logger } from '../../log/index.js';
|
|
6
6
|
import { type ApiSchemaFor } from '../../schemas/index.js';
|
|
7
|
+
export type DiagnosticsData = {
|
|
8
|
+
id: number | string | null;
|
|
9
|
+
method: string;
|
|
10
|
+
params: any[];
|
|
11
|
+
headers: http.IncomingHttpHeaders;
|
|
12
|
+
};
|
|
13
|
+
export type DiagnosticsMiddleware = (ctx: DiagnosticsData, next: () => Promise<void>) => Promise<void>;
|
|
7
14
|
export declare class SafeJsonRpcServer {
|
|
8
15
|
/** The proxy object to delegate requests to. */
|
|
9
16
|
private readonly proxy;
|
|
@@ -14,6 +21,8 @@ export declare class SafeJsonRpcServer {
|
|
|
14
21
|
private http200OnError;
|
|
15
22
|
/** Health check function */
|
|
16
23
|
private readonly healthCheck;
|
|
24
|
+
/** Additional middlewares */
|
|
25
|
+
private extraMiddlewares;
|
|
17
26
|
/** Logger */
|
|
18
27
|
private log;
|
|
19
28
|
/**
|
|
@@ -31,6 +40,8 @@ export declare class SafeJsonRpcServer {
|
|
|
31
40
|
http200OnError?: boolean,
|
|
32
41
|
/** Health check function */
|
|
33
42
|
healthCheck?: StatusCheckFn,
|
|
43
|
+
/** Additional middlewares */
|
|
44
|
+
extraMiddlewares?: Application.Middleware[],
|
|
34
45
|
/** Logger */
|
|
35
46
|
log?: Logger);
|
|
36
47
|
isHealthy(): boolean | Promise<boolean>;
|
|
@@ -39,7 +50,7 @@ export declare class SafeJsonRpcServer {
|
|
|
39
50
|
* @param prefix - Our server prefix.
|
|
40
51
|
* @returns The app object.
|
|
41
52
|
*/
|
|
42
|
-
getApp(prefix?: string):
|
|
53
|
+
getApp(prefix?: string): Application<Application.DefaultState, Application.DefaultContext>;
|
|
43
54
|
/**
|
|
44
55
|
* Get a router object wrapping our RPC class.
|
|
45
56
|
* @param prefix - The server prefix.
|
|
@@ -90,18 +101,19 @@ export declare class SafeJsonProxy<T extends object = any> implements Proxy {
|
|
|
90
101
|
export type NamespacedApiHandlers = Record<string, ApiHandler>;
|
|
91
102
|
export type ApiHandler<T extends object = any> = [T, ApiSchemaFor<T>, StatusCheckFn?];
|
|
92
103
|
export declare function makeHandler<T extends object>(handler: T, schema: ApiSchemaFor<T>): ApiHandler<T>;
|
|
93
|
-
type SafeJsonRpcServerOptions = {
|
|
104
|
+
export type SafeJsonRpcServerOptions = {
|
|
94
105
|
http200OnError: boolean;
|
|
95
106
|
healthCheck?: StatusCheckFn;
|
|
96
107
|
log?: Logger;
|
|
108
|
+
middlewares?: Application.Middleware[];
|
|
97
109
|
};
|
|
98
110
|
/**
|
|
99
111
|
* Creates a single SafeJsonRpcServer from multiple handlers.
|
|
100
112
|
* @param servers - List of handlers to be combined.
|
|
101
113
|
* @returns A single JsonRpcServer with namespaced methods.
|
|
102
114
|
*/
|
|
103
|
-
export declare function createNamespacedSafeJsonRpcServer(handlers: NamespacedApiHandlers, options?: Omit<SafeJsonRpcServerOptions, 'healthcheck'
|
|
104
|
-
export declare function createSafeJsonRpcServer<T extends object = any>(handler: T, schema: ApiSchemaFor<T>, options?: SafeJsonRpcServerOptions): SafeJsonRpcServer;
|
|
115
|
+
export declare function createNamespacedSafeJsonRpcServer(handlers: NamespacedApiHandlers, options?: Partial<Omit<SafeJsonRpcServerOptions, 'healthcheck'>>): SafeJsonRpcServer;
|
|
116
|
+
export declare function createSafeJsonRpcServer<T extends object = any>(handler: T, schema: ApiSchemaFor<T>, options?: Partial<SafeJsonRpcServerOptions>): SafeJsonRpcServer;
|
|
105
117
|
/**
|
|
106
118
|
* Creates a router for handling a plain status request that will return 200 status when running.
|
|
107
119
|
* @param getCurrentStatus - List of health check functions to run.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safe_json_rpc_server.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/server/safe_json_rpc_server.ts"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"safe_json_rpc_server.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/server/safe_json_rpc_server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import cors from '@koa/cors';
|
|
2
2
|
import http from 'http';
|
|
3
|
-
import Koa from 'koa';
|
|
3
|
+
import { default as Koa } from 'koa';
|
|
4
4
|
import bodyParser from 'koa-bodyparser';
|
|
5
5
|
import compress from 'koa-compress';
|
|
6
6
|
import Router from 'koa-router';
|
|
@@ -22,11 +22,14 @@ export class SafeJsonRpcServer {
|
|
|
22
22
|
http200OnError = false,
|
|
23
23
|
/** Health check function */
|
|
24
24
|
healthCheck = () => true,
|
|
25
|
+
/** Additional middlewares */
|
|
26
|
+
extraMiddlewares = [],
|
|
25
27
|
/** Logger */
|
|
26
28
|
log = createLogger('json-rpc:server')) {
|
|
27
29
|
this.proxy = proxy;
|
|
28
30
|
this.http200OnError = http200OnError;
|
|
29
31
|
this.healthCheck = healthCheck;
|
|
32
|
+
this.extraMiddlewares = extraMiddlewares;
|
|
30
33
|
this.log = log;
|
|
31
34
|
}
|
|
32
35
|
isHealthy() {
|
|
@@ -86,6 +89,9 @@ export class SafeJsonRpcServer {
|
|
|
86
89
|
});
|
|
87
90
|
app.use(compress({ br: false }));
|
|
88
91
|
app.use(jsonResponse);
|
|
92
|
+
for (const middleware of this.extraMiddlewares) {
|
|
93
|
+
app.use(middleware);
|
|
94
|
+
}
|
|
89
95
|
app.use(exceptionHandler);
|
|
90
96
|
app.use(bodyParser({ jsonLimit: '50mb', enableTypes: ['json'], detectJSON: () => true }));
|
|
91
97
|
app.use(cors());
|
|
@@ -106,7 +112,9 @@ export class SafeJsonRpcServer {
|
|
|
106
112
|
// Fail if not a registered function in the proxy
|
|
107
113
|
if (typeof method !== 'string' || method === 'constructor' || !this.proxy.hasMethod(method)) {
|
|
108
114
|
ctx.status = 400;
|
|
109
|
-
|
|
115
|
+
const code = -32601;
|
|
116
|
+
const message = `Method not found: ${method}`;
|
|
117
|
+
ctx.body = { jsonrpc, id, error: { code, message } };
|
|
110
118
|
}
|
|
111
119
|
else {
|
|
112
120
|
ctx.status = 200;
|
|
@@ -233,18 +241,17 @@ function makeAggregateHealthcheck(namedHandlers, log) {
|
|
|
233
241
|
* @returns A single JsonRpcServer with namespaced methods.
|
|
234
242
|
*/
|
|
235
243
|
export function createNamespacedSafeJsonRpcServer(handlers, options = {
|
|
236
|
-
http200OnError: false,
|
|
237
244
|
log: createLogger('json-rpc:server'),
|
|
238
245
|
}) {
|
|
239
|
-
const { http200OnError, log } = options;
|
|
246
|
+
const { middlewares, http200OnError, log } = options;
|
|
240
247
|
const proxy = new NamespacedSafeJsonProxy(handlers);
|
|
241
248
|
const healthCheck = makeAggregateHealthcheck(handlers, log);
|
|
242
|
-
return new SafeJsonRpcServer(proxy, http200OnError, healthCheck, log);
|
|
249
|
+
return new SafeJsonRpcServer(proxy, http200OnError, healthCheck, middlewares, log);
|
|
243
250
|
}
|
|
244
|
-
export function createSafeJsonRpcServer(handler, schema, options = {
|
|
245
|
-
const { http200OnError, log, healthCheck } = options;
|
|
251
|
+
export function createSafeJsonRpcServer(handler, schema, options = {}) {
|
|
252
|
+
const { http200OnError, log, healthCheck, middlewares: extraMiddlewares } = options;
|
|
246
253
|
const proxy = new SafeJsonProxy(handler, schema);
|
|
247
|
-
return new SafeJsonRpcServer(proxy, http200OnError, healthCheck, log);
|
|
254
|
+
return new SafeJsonRpcServer(proxy, http200OnError, healthCheck, extraMiddlewares, log);
|
|
248
255
|
}
|
|
249
256
|
/**
|
|
250
257
|
* Creates a router for handling a plain status request that will return 200 status when running.
|
|
@@ -290,4 +297,4 @@ export async function startHttpRpcServer(rpcServer, options = {}) {
|
|
|
290
297
|
const port = httpServer.address().port;
|
|
291
298
|
return Object.assign(httpServer, { port });
|
|
292
299
|
}
|
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZV9qc29uX3JwY19zZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvanNvbi1ycGMvc2VydmVyL3NhZmVfanNvbl9ycGNfc2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sVUFBVSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sUUFBUSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLE1BQU0sTUFBTSxZQUFZLENBQUM7QUFFaEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUUvQixPQUFPLEVBQWUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFxQyxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QyxNQUFNLE9BQU8saUJBQWlCO0lBTzVCO0lBQ0UsZ0RBQWdEO0lBQy9CLEtBQVk7SUFDN0I7OztPQUdHO0lBQ0ssaUJBQWlCLEtBQUs7SUFDOUIsNEJBQTRCO0lBQ1gsY0FBNkIsR0FBRyxFQUFFLENBQUMsSUFBSTtJQUN4RCxhQUFhO0lBQ0wsTUFBTSxZQUFZLENBQUMsaUJBQWlCLENBQUM7UUFUNUIsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUtyQixtQkFBYyxHQUFkLGNBQWMsQ0FBUTtRQUViLGdCQUFXLEdBQVgsV0FB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
|
|
300
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZV9qc29uX3JwY19zZXJ2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvanNvbi1ycGMvc2VydmVyL3NhZmVfanNvbl9ycGNfc2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUErQixPQUFPLElBQUksR0FBRyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ2xFLE9BQU8sVUFBVSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sUUFBUSxNQUFNLGNBQWMsQ0FBQztBQUNwQyxPQUFPLE1BQU0sTUFBTSxZQUFZLENBQUM7QUFFaEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUUvQixPQUFPLEVBQWUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDOUQsT0FBTyxFQUFxQyxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVd4QyxNQUFNLE9BQU8saUJBQWlCO0lBTzVCO0lBQ0UsZ0RBQWdEO0lBQy9CLEtBQVk7SUFDN0I7OztPQUdHO0lBQ0ssaUJBQWlCLEtBQUs7SUFDOUIsNEJBQTRCO0lBQ1gsY0FBNkIsR0FBRyxFQUFFLENBQUMsSUFBSTtJQUN4RCw2QkFBNkI7SUFDckIsbUJBQTZDLEVBQUU7SUFDdkQsYUFBYTtJQUNMLE1BQU0sWUFBWSxDQUFDLGlCQUFpQixDQUFDO1FBWDVCLFVBQUssR0FBTCxLQUFL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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../../src/json-rpc/server/telemetry.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pino configuration for google cloud observability. Tweaks message and timestamp,
|
|
3
|
+
* adds trace context attributes, and injects severity level.
|
|
4
|
+
* Adapted from https://cloud.google.com/trace/docs/setup/nodejs-ot#config-structured-logging.
|
|
5
|
+
*/
|
|
6
|
+
export declare const GoogleCloudLoggerConfig: {
|
|
7
|
+
messageKey: string;
|
|
8
|
+
timestamp(): string;
|
|
9
|
+
formatters: {
|
|
10
|
+
log(object: Record<string, unknown>): Record<string, unknown>;
|
|
11
|
+
level(label: string, level: number): object;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=gcloud-logger-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gcloud-logger-config.d.ts","sourceRoot":"","sources":["../../src/log/gcloud-logger-config.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;iBAGrB,MAAM;;oBAIL,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,MAAM,EAAE,OAAO,CAAC;qBAgBhD,MAAM,SAAS,MAAM,GAAG,MAAM;;CA+BjB,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/* eslint-disable camelcase */
|
|
2
|
+
const GOOGLE_CLOUD_TRACE_ID = 'logging.googleapis.com/trace';
|
|
3
|
+
const GOOGLE_CLOUD_SPAN_ID = 'logging.googleapis.com/spanId';
|
|
4
|
+
const GOOGLE_CLOUD_TRACE_SAMPLED = 'logging.googleapis.com/trace_sampled';
|
|
5
|
+
/**
|
|
6
|
+
* Pino configuration for google cloud observability. Tweaks message and timestamp,
|
|
7
|
+
* adds trace context attributes, and injects severity level.
|
|
8
|
+
* Adapted from https://cloud.google.com/trace/docs/setup/nodejs-ot#config-structured-logging.
|
|
9
|
+
*/
|
|
10
|
+
export const GoogleCloudLoggerConfig = {
|
|
11
|
+
messageKey: 'message',
|
|
12
|
+
// Same as pino.stdTimeFunctions.isoTime but uses "timestamp" key instead of "time"
|
|
13
|
+
timestamp() {
|
|
14
|
+
return `,"timestamp":"${new Date(Date.now()).toISOString()}"`;
|
|
15
|
+
},
|
|
16
|
+
formatters: {
|
|
17
|
+
log(object) {
|
|
18
|
+
// Add trace context attributes following Cloud Logging structured log format described
|
|
19
|
+
// in https://cloud.google.com/logging/docs/structured-logging#special-payload-fields
|
|
20
|
+
const { trace_id, span_id, trace_flags, ...rest } = object;
|
|
21
|
+
if (trace_id && span_id) {
|
|
22
|
+
return {
|
|
23
|
+
[GOOGLE_CLOUD_TRACE_ID]: trace_id,
|
|
24
|
+
[GOOGLE_CLOUD_SPAN_ID]: span_id,
|
|
25
|
+
[GOOGLE_CLOUD_TRACE_SAMPLED]: trace_flags ? trace_flags === '01' : undefined,
|
|
26
|
+
trace_flags, // Keep the original trace_flags for otel-pino-stream
|
|
27
|
+
...rest,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return object;
|
|
31
|
+
},
|
|
32
|
+
level(label, level) {
|
|
33
|
+
// Inspired by https://github.com/pinojs/pino/issues/726#issuecomment-605814879
|
|
34
|
+
// Severity labels https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#LogSeverity
|
|
35
|
+
let severity;
|
|
36
|
+
switch (label) {
|
|
37
|
+
case 'trace':
|
|
38
|
+
case 'debug':
|
|
39
|
+
severity = 'DEBUG';
|
|
40
|
+
break;
|
|
41
|
+
case 'verbose':
|
|
42
|
+
case 'info':
|
|
43
|
+
severity = 'INFO';
|
|
44
|
+
break;
|
|
45
|
+
case 'warn':
|
|
46
|
+
severity = 'WARNING';
|
|
47
|
+
break;
|
|
48
|
+
case 'error':
|
|
49
|
+
severity = 'ERROR';
|
|
50
|
+
break;
|
|
51
|
+
case 'fatal':
|
|
52
|
+
severity = 'CRITICAL';
|
|
53
|
+
break;
|
|
54
|
+
default:
|
|
55
|
+
severity = 'DEFAULT';
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
return { severity, level };
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
// Define custom logging levels for pino. Duplicate from pino-logger.ts.
|
|
63
|
+
const customLevels = { verbose: 25 };
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2Nsb3VkLWxvZ2dlci1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9nL2djbG91ZC1sb2dnZXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLDhCQUE4QjtBQUU5QixNQUFNLHFCQUFxQixHQUFHLDhCQUE4QixDQUFDO0FBQzdELE1BQU0sb0JBQW9CLEdBQUcsK0JBQStCLENBQUM7QUFDN0QsTUFBTSwwQkFBMEIsR0FBRyxzQ0FBc0MsQ0FBQztBQUUxRTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDckMsVUFBVSxFQUFFLFNBQVM7SUFDckIsbUZBQW1GO0lBQ25GLFNBQVM7UUFDUCxPQUFPLGlCQUFpQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDO0lBQ2hFLENBQUM7SUFDRCxVQUFVLEVBQUU7UUFDVixHQUFHLENBQUMsTUFBK0I7WUFDakMsdUZBQXVGO1lBQ3ZGLHFGQUFxRjtZQUNyRixNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUM7WUFFM0QsSUFBSSxRQUFRLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ3hCLE9BQU87b0JBQ0wsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLFFBQVE7b0JBQ2pDLENBQUMsb0JBQW9CLENBQUMsRUFBRSxPQUFPO29CQUMvQixDQUFDLDBCQUEwQixDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTO29CQUM1RSxXQUFXLEVBQUUscURBQXFEO29CQUNsRSxHQUFHLElBQUk7aUJBQ1IsQ0FBQztZQUNKLENBQUM7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBQ0QsS0FBSyxDQUFDLEtBQWEsRUFBRSxLQUFhO1lBQ2hDLCtFQUErRTtZQUMvRSxrR0FBa0c7WUFDbEcsSUFBSSxRQUFnQixDQUFDO1lBRXJCLFFBQVEsS0FBK0MsRUFBRSxDQUFDO2dCQUN4RCxLQUFLLE9BQU8sQ0FBQztnQkFDYixLQUFLLE9BQU87b0JBQ1YsUUFBUSxHQUFHLE9BQU8sQ0FBQztvQkFDbkIsTUFBTTtnQkFDUixLQUFLLFNBQVMsQ0FBQztnQkFDZixLQUFLLE1BQU07b0JBQ1QsUUFBUSxHQUFHLE1BQU0sQ0FBQztvQkFDbEIsTUFBTTtnQkFDUixLQUFLLE1BQU07b0JBQ1QsUUFBUSxHQUFHLFNBQVMsQ0FBQztvQkFDckIsTUFBTTtnQkFDUixLQUFLLE9BQU87b0JBQ1YsUUFBUSxHQUFHLE9BQU8sQ0FBQztvQkFDbkIsTUFBTTtnQkFDUixLQUFLLE9BQU87b0JBQ1YsUUFBUSxHQUFHLFVBQVUsQ0FBQztvQkFDdEIsTUFBTTtnQkFDUjtvQkFDRSxRQUFRLEdBQUcsU0FBUyxDQUFDO29CQUNyQixNQUFNO1lBQ1YsQ0FBQztZQUVELE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDN0IsQ0FBQztLQUNGO0NBQzJCLENBQUM7QUFFL0Isd0VBQXdFO0FBQ3hFLE1BQU0sWUFBWSxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pino-logger.d.ts","sourceRoot":"","sources":["../../src/log/pino-logger.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"pino-logger.d.ts","sourceRoot":"","sources":["../../src/log/pino-logger.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAOvC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAEvD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAgCnD;AAID,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;AAGjD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAE/D;AAQD,KAAK,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;AAGjD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAE/D;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,QAK3D;AA0BD,eAAO,MAAM,MAAM;;;;;CAGlB,CAAC;AAKF,eAAO,MAAM,cAAc;;;;;;;;;;CAU1B,CAAC;AA8DF;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAE7D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAe5D;AAED,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,GAAG;IAClG,KAAK,EAAE,QAAQ,CAAC;IAChB,cAAc,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC"}
|
package/dest/log/pino-logger.js
CHANGED
|
@@ -3,6 +3,8 @@ import isNode from 'detect-node';
|
|
|
3
3
|
import { pino, symbols } from 'pino';
|
|
4
4
|
import { inspect } from 'util';
|
|
5
5
|
import { compactArray } from '../collection/array.js';
|
|
6
|
+
import { parseBooleanEnv } from '../config/index.js';
|
|
7
|
+
import { GoogleCloudLoggerConfig } from './gcloud-logger-config.js';
|
|
6
8
|
import { getLogLevelFromFilters, parseEnv } from './log-filters.js';
|
|
7
9
|
export function createLogger(module) {
|
|
8
10
|
module = logNameHandlers.reduce((moduleName, handler) => handler(moduleName), module.replace(/^aztec:/, ''));
|
|
@@ -62,43 +64,14 @@ const defaultLogLevel = process.env.NODE_ENV === 'test' ? 'silent' : 'info';
|
|
|
62
64
|
const [logLevel, logFilters] = parseEnv(process.env.LOG_LEVEL, defaultLogLevel);
|
|
63
65
|
// Define custom logging levels for pino.
|
|
64
66
|
const customLevels = { verbose: 25 };
|
|
65
|
-
//
|
|
66
|
-
const
|
|
67
|
-
// Severity labels https://cloud.google.com/logging/docs/reference/v2/rest/v2/LogEntry#LogSeverity
|
|
68
|
-
let severity;
|
|
69
|
-
switch (label) {
|
|
70
|
-
case 'trace':
|
|
71
|
-
case 'debug':
|
|
72
|
-
severity = 'DEBUG';
|
|
73
|
-
break;
|
|
74
|
-
case 'verbose':
|
|
75
|
-
case 'info':
|
|
76
|
-
severity = 'INFO';
|
|
77
|
-
break;
|
|
78
|
-
case 'warn':
|
|
79
|
-
severity = 'WARNING';
|
|
80
|
-
break;
|
|
81
|
-
case 'error':
|
|
82
|
-
severity = 'ERROR';
|
|
83
|
-
break;
|
|
84
|
-
case 'fatal':
|
|
85
|
-
severity = 'CRITICAL';
|
|
86
|
-
break;
|
|
87
|
-
default:
|
|
88
|
-
severity = 'DEFAULT';
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
return { severity, level };
|
|
92
|
-
};
|
|
93
|
-
const useGcloudObservability = process.env.USE_GCLOUD_OBSERVABILITY === 'true';
|
|
67
|
+
// Global pino options, tweaked for google cloud if running there.
|
|
68
|
+
const useGcloudObservability = parseBooleanEnv(process.env['USE_GCLOUD_OBSERVABILITY']);
|
|
94
69
|
const pinoOpts = {
|
|
95
70
|
customLevels,
|
|
96
|
-
messageKey:
|
|
71
|
+
messageKey: 'msg',
|
|
97
72
|
useOnlyCustomLevels: false,
|
|
98
73
|
level: logLevel,
|
|
99
|
-
|
|
100
|
-
level: levelToSeverityFormatter,
|
|
101
|
-
},
|
|
74
|
+
...(useGcloudObservability ? GoogleCloudLoggerConfig : {}),
|
|
102
75
|
};
|
|
103
76
|
export const levels = {
|
|
104
77
|
labels: { ...pino.levels.labels, ...Object.fromEntries(Object.entries(customLevels).map(e => e.reverse())) },
|
|
@@ -116,7 +89,7 @@ export const pinoPrettyOpts = {
|
|
|
116
89
|
customLevels: 'fatal:60,error:50,warn:40,info:30,verbose:25,debug:20,trace:10',
|
|
117
90
|
customColors: 'fatal:bgRed,error:red,warn:yellow,info:green,verbose:magenta,debug:blue,trace:gray',
|
|
118
91
|
minimumLevel: 'trace',
|
|
119
|
-
singleLine: !
|
|
92
|
+
singleLine: !parseBooleanEnv(process.env['LOG_MULTILINE']),
|
|
120
93
|
};
|
|
121
94
|
const prettyTransport = {
|
|
122
95
|
target: 'pino-pretty',
|
|
@@ -135,7 +108,8 @@ const stdioTransport = {
|
|
|
135
108
|
// would mean that all child loggers created before the telemetry-client is initialized would not have
|
|
136
109
|
// this transport configured. Note that the target is defined as the export in the telemetry-client,
|
|
137
110
|
// since pino will load this transport separately on a worker thread, to minimize disruption to the main loop.
|
|
138
|
-
const otlpEndpoint = process.env
|
|
111
|
+
const otlpEndpoint = process.env['OTEL_EXPORTER_OTLP_LOGS_ENDPOINT'];
|
|
112
|
+
const otlpEnabled = !!otlpEndpoint && !useGcloudObservability;
|
|
139
113
|
const otelOpts = { levels };
|
|
140
114
|
const otelTransport = {
|
|
141
115
|
target: '@aztec/telemetry-client/otel-pino-stream',
|
|
@@ -155,10 +129,10 @@ function makeLogger() {
|
|
|
155
129
|
}
|
|
156
130
|
else {
|
|
157
131
|
// Regular nodejs with transports on worker thread, using pino-pretty for console logging if LOG_JSON
|
|
158
|
-
// is not set, and an optional OTLP transport if the OTLP endpoint is
|
|
132
|
+
// is not set, and an optional OTLP transport if the OTLP endpoint is set.
|
|
159
133
|
const targets = compactArray([
|
|
160
|
-
|
|
161
|
-
|
|
134
|
+
parseBooleanEnv(process.env.LOG_JSON) ? stdioTransport : prettyTransport,
|
|
135
|
+
otlpEnabled ? otelTransport : undefined,
|
|
162
136
|
]);
|
|
163
137
|
return pino(pinoOpts, pino.transport({ targets, levels: levels.values }));
|
|
164
138
|
}
|
|
@@ -169,7 +143,7 @@ logger.verbose({
|
|
|
169
143
|
module: 'logger',
|
|
170
144
|
...logFilters.reduce((accum, [module, level]) => ({ ...accum, [`log.${module}`]: level }), {}),
|
|
171
145
|
}, isNode
|
|
172
|
-
? `Logger initialized with level ${logLevel}` + (
|
|
146
|
+
? `Logger initialized with level ${logLevel}` + (otlpEnabled ? ` with OTLP exporter to ${otlpEndpoint}` : '')
|
|
173
147
|
: `Browser console logger initialized with level ${logLevel}`);
|
|
174
148
|
/**
|
|
175
149
|
* Overwrites the logging stream with a different destination.
|
|
@@ -204,4 +178,4 @@ export function registerLoggingStream(stream) {
|
|
|
204
178
|
function formatErr(msg, err) {
|
|
205
179
|
return err ? `${msg}: ${inspect(err)}` : msg;
|
|
206
180
|
}
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGluby1sb2dnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9nL3Bpbm8tbG9nZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDekMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJcEUsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFjO0lBQ3pDLE1BQU0sR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0csTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFbkcsc0ZBQXNGO0lBQ3RGLHdFQUF3RTtJQUN4RSxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQWUsRUFBRSxHQUFXLEVBQUUsSUFBYyxFQUFFLEVBQUUsQ0FDN0QsY0FBYyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsSUFBSSxVQUFV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
|
|
@@ -39,9 +39,9 @@ declare const noirPackageConfigSchema: z.ZodObject<{
|
|
|
39
39
|
backend?: string | undefined;
|
|
40
40
|
license?: string | undefined;
|
|
41
41
|
}, {
|
|
42
|
+
description?: string | undefined;
|
|
42
43
|
name?: string | undefined;
|
|
43
44
|
type?: "lib" | "contract" | "bin" | undefined;
|
|
44
|
-
description?: string | undefined;
|
|
45
45
|
entry?: string | undefined;
|
|
46
46
|
authors?: string[] | undefined;
|
|
47
47
|
compiler_version?: string | undefined;
|
|
@@ -87,9 +87,9 @@ declare const noirPackageConfigSchema: z.ZodObject<{
|
|
|
87
87
|
}>;
|
|
88
88
|
}, {
|
|
89
89
|
package: {
|
|
90
|
+
description?: string | undefined;
|
|
90
91
|
name?: string | undefined;
|
|
91
92
|
type?: "lib" | "contract" | "bin" | undefined;
|
|
92
|
-
description?: string | undefined;
|
|
93
93
|
entry?: string | undefined;
|
|
94
94
|
authors?: string[] | undefined;
|
|
95
95
|
compiler_version?: string | undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
/// <reference types="node" resolution-mode="require"/>
|
|
3
3
|
/** Writes the contents specified to the target file if test data generation is enabled. */
|
|
4
|
-
export declare function writeTestData(targetFileFromRepoRoot: string, contents: string | Buffer): void;
|
|
4
|
+
export declare function writeTestData(targetFileFromRepoRoot: string, contents: string | Buffer, raw?: boolean): void;
|
|
5
5
|
export declare function readTestData(repoPath: string): Buffer;
|
|
6
6
|
/**
|
|
7
7
|
* Looks for a variable assignment in the target file and updates the value, only if test data generation is enabled.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/testing/files/index.ts"],"names":[],"mappings":";;AAOA,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/testing/files/index.ts"],"names":[],"mappings":";;AAOA,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,GAAE,OAAe,QAS5G;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAenG;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAMnF"}
|
|
@@ -4,12 +4,12 @@ import { createConsoleLogger } from '../../log/console.js';
|
|
|
4
4
|
import { fileURLToPath } from '../../url/index.js';
|
|
5
5
|
import { isGenerateTestDataEnabled } from '../test_data.js';
|
|
6
6
|
/** Writes the contents specified to the target file if test data generation is enabled. */
|
|
7
|
-
export function writeTestData(targetFileFromRepoRoot, contents) {
|
|
7
|
+
export function writeTestData(targetFileFromRepoRoot, contents, raw = false) {
|
|
8
8
|
if (!isGenerateTestDataEnabled()) {
|
|
9
9
|
return;
|
|
10
10
|
}
|
|
11
11
|
const targetFile = getPathToFile(targetFileFromRepoRoot);
|
|
12
|
-
const toWrite = typeof contents === 'string' ? contents : contents.toString('hex');
|
|
12
|
+
const toWrite = raw ? contents : typeof contents === 'string' ? contents : contents.toString('hex');
|
|
13
13
|
writeFileSync(targetFile, toWrite);
|
|
14
14
|
const logger = createConsoleLogger('aztec:testing:test_data');
|
|
15
15
|
logger(`Wrote test data to ${targetFile}`);
|
|
@@ -58,4 +58,4 @@ function getPathToFile(targetFileFromRepoRoot) {
|
|
|
58
58
|
}
|
|
59
59
|
return join(repoRoot, targetFileFromRepoRoot);
|
|
60
60
|
}
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVzdGluZy9maWxlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1RCwyRkFBMkY7QUFDM0YsTUFBTSxVQUFVLGFBQWEsQ0FBQyxzQkFBOEIsRUFBRSxRQUF5QixFQUFFLE1BQWUsS0FBSztJQUMzRyxJQUFJLENBQUMseUJBQXlCLEVBQUUsRUFBRSxDQUFDO1FBQ2pDLE9BQU87SUFDVCxDQUFDO0lBQ0QsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDekQsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BHLGFBQWEsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkMsTUFBTSxNQUFNLEdBQUcsbUJBQW1CLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM5RCxNQUFNLENBQUMsc0JBQXNCLFVBQVUsRUFBRSxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsUUFBZ0I7SUFDM0MsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLE9BQU8sWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxzQkFBOEIsRUFBRSxRQUFnQixFQUFFLEtBQWE7SUFDbEcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLEVBQUUsQ0FBQztRQUNqQyxPQUFPO0lBQ1QsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDOUQsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDekQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLFVBQVUsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3RCxNQUFNLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxPQUFPLFFBQVEsZUFBZSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzlELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsUUFBUSxpQkFBaUIsVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxRQUFRLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNsRixhQUFhLENBQUMsVUFBVSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sQ0FBQyx3QkFBd0IsVUFBVSxRQUFRLFFBQVEsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQzNFLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlDQUFpQyxDQUFDLFdBQW1CLEVBQUUsS0FBYTtJQUNsRixNQUFNLE1BQU0sR0FBRyxtQkFBbUIsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzlELE1BQU0sc0JBQXNCLEdBQUcsK0NBQStDLFdBQVcsY0FBYyxDQUFDO0lBQ3hHLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3pELGFBQWEsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakMsTUFBTSxDQUFDLHdCQUF3QixVQUFVLFFBQVEsV0FBVyxFQUFFLENBQUMsQ0FBQztBQUNsRSxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsc0JBQThCO0lBQ25ELE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUMsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsUUFBUSxHQUFHLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLHNCQUFzQixDQUFDLENBQUM7QUFDaEQsQ0FBQyJ9
|
package/dest/timer/timeout.js
CHANGED
|
@@ -25,7 +25,7 @@ export class TimeoutTask {
|
|
|
25
25
|
* @throws An error with a message indicating the function was interrupted due to exceeding the specified timeout.
|
|
26
26
|
*/
|
|
27
27
|
async exec() {
|
|
28
|
-
const interruptTimeout =
|
|
28
|
+
const interruptTimeout = setTimeout(this.interrupt, this.timeout);
|
|
29
29
|
try {
|
|
30
30
|
const start = Date.now();
|
|
31
31
|
const result = await Promise.race([this.fn(), this.interruptPromise]);
|
|
@@ -63,4 +63,4 @@ export async function executeTimeout(fn, timeout, errorOrFnName) {
|
|
|
63
63
|
const task = new TimeoutTask(fn, timeout, errorFn);
|
|
64
64
|
return await task.exec();
|
|
65
65
|
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZW91dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90aW1lci90aW1lb3V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQUt0QixZQUFvQixFQUFvQixFQUFVLE9BQWUsRUFBRSxPQUFrQjtRQUFqRSxPQUFFLEdBQUYsRUFBRSxDQUFrQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFIekQsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUNyQixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBR3BCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLE9BQU8sQ0FBSSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuRCxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxLQUFLLENBQUMsSUFBSTtRQUNmLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xFLElBQUksQ0FBQztZQUNILE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUN6QixNQUFNLE1BQU0sR0FBRyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUM7WUFDcEMsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxtQkFBbUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FBSSxFQUFvQixFQUFFLE9BQWUsRUFBRSxhQUFvQztJQUNqSCxNQUFNLE9BQU8sR0FDWCxPQUFPLGFBQWEsS0FBSyxVQUFVO1FBQ2pDLENBQUMsQ0FBQyxhQUFhO1FBQ2YsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksWUFBWSxDQUFDLG1CQUFtQixhQUFhLElBQUksVUFBVSxVQUFVLE9BQU8sS0FBSyxDQUFDLENBQUM7SUFDbkcsTUFBTSxJQUFJLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNuRCxPQUFPLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQzNCLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/foundation",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.72.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dest/index.js",
|
|
6
6
|
"types": "./dest/index.d.ts",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
]
|
|
103
103
|
},
|
|
104
104
|
"dependencies": {
|
|
105
|
-
"@aztec/bb.js": "0.
|
|
105
|
+
"@aztec/bb.js": "0.72.1",
|
|
106
106
|
"@koa/cors": "^5.0.0",
|
|
107
107
|
"@noble/curves": "^1.2.0",
|
|
108
108
|
"bn.js": "^5.2.1",
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
"supertest": "^6.3.3",
|
|
161
161
|
"ts-node": "^10.9.1",
|
|
162
162
|
"typescript": "^5.0.4",
|
|
163
|
-
"viem": "
|
|
163
|
+
"viem": "2.22.8"
|
|
164
164
|
},
|
|
165
165
|
"files": [
|
|
166
166
|
"dest",
|
package/src/abi/decoder.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { AztecAddress } from '../aztec-address/index.js';
|
|
2
|
-
import {
|
|
2
|
+
import { Fr } from '../fields/index.js';
|
|
3
3
|
import { type ABIParameter, type ABIVariable, type AbiType } from './abi.js';
|
|
4
|
-
import {
|
|
4
|
+
import { U128 } from './u128.js';
|
|
5
|
+
import { isAztecAddressStruct, isU128Struct, parseSignedInt } from './utils.js';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* The type of our decoded ABI.
|
|
@@ -43,6 +44,14 @@ class AbiDecoder {
|
|
|
43
44
|
return array;
|
|
44
45
|
}
|
|
45
46
|
case 'struct': {
|
|
47
|
+
if (isU128Struct(abiType)) {
|
|
48
|
+
const fields = [
|
|
49
|
+
new Fr(this.decodeNext({ kind: 'field' }) as bigint),
|
|
50
|
+
new Fr(this.decodeNext({ kind: 'field' }) as bigint),
|
|
51
|
+
];
|
|
52
|
+
return U128.fromFields(fields).toInteger();
|
|
53
|
+
}
|
|
54
|
+
|
|
46
55
|
const struct: { [key: string]: AbiDecoded } = {};
|
|
47
56
|
if (isAztecAddressStruct(abiType)) {
|
|
48
57
|
return new AztecAddress(this.getNextField().toBuffer());
|