@aztec/stdlib 4.0.0-rc.6 → 4.0.0-rc.8
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/avm/revert_code.d.ts +16 -1
- package/dest/avm/revert_code.d.ts.map +1 -1
- package/dest/avm/revert_code.js +15 -5
- package/dest/logs/debug_log_store.d.ts +30 -0
- package/dest/logs/debug_log_store.d.ts.map +1 -0
- package/dest/logs/debug_log_store.js +30 -0
- package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
- package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
- package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +23 -15
- package/dest/logs/index.d.ts +3 -2
- package/dest/logs/index.d.ts.map +1 -1
- package/dest/logs/index.js +2 -1
- package/dest/logs/pre_tag.d.ts +16 -11
- package/dest/logs/pre_tag.d.ts.map +1 -1
- package/dest/logs/pre_tag.js +2 -2
- package/dest/logs/siloed_tag.d.ts +5 -3
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +6 -1
- package/dest/logs/tag.js +1 -1
- package/dest/tests/factories.d.ts +3 -1
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +8 -0
- package/dest/tx/profiling.d.ts +4 -4
- package/dest/tx/profiling.d.ts.map +1 -1
- package/dest/tx/profiling.js +3 -3
- package/dest/tx/public_simulation_output.d.ts +4 -2
- package/dest/tx/public_simulation_output.d.ts.map +1 -1
- package/dest/tx/public_simulation_output.js +7 -3
- package/dest/tx/tx_receipt.d.ts +16 -2
- package/dest/tx/tx_receipt.d.ts.map +1 -1
- package/dest/tx/tx_receipt.js +11 -3
- package/package.json +9 -9
- package/src/avm/revert_code.ts +15 -0
- package/src/logs/debug_log_store.ts +54 -0
- package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +24 -16
- package/src/logs/index.ts +2 -1
- package/src/logs/pre_tag.ts +5 -5
- package/src/logs/siloed_tag.ts +8 -2
- package/src/logs/tag.ts +1 -1
- package/src/tests/factories.ts +9 -0
- package/src/tx/profiling.ts +5 -5
- package/src/tx/public_simulation_output.ts +4 -0
- package/src/tx/tx_receipt.ts +10 -0
- package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
- package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
package/dest/tx/profiling.d.ts
CHANGED
|
@@ -472,12 +472,12 @@ export declare class TxProfileResult {
|
|
|
472
472
|
static get schema(): ZodFor<TxProfileResult>;
|
|
473
473
|
static random(): TxProfileResult;
|
|
474
474
|
}
|
|
475
|
-
export declare class
|
|
475
|
+
export declare class UtilityExecutionResult {
|
|
476
476
|
result: Fr[];
|
|
477
477
|
stats?: SimulationStats | undefined;
|
|
478
478
|
constructor(result: Fr[], stats?: SimulationStats | undefined);
|
|
479
|
-
static get schema(): ZodFor<
|
|
480
|
-
static random():
|
|
479
|
+
static get schema(): ZodFor<UtilityExecutionResult>;
|
|
480
|
+
static random(): UtilityExecutionResult;
|
|
481
481
|
}
|
|
482
482
|
export {};
|
|
483
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
483
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsaW5nLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvcHJvZmlsaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQXFCLE1BQU0sMkJBQTJCLENBQUM7QUFFM0UsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxvQkFBb0IsRUFBOEIsTUFBTSwyQ0FBMkMsQ0FBQztBQUVsSCxNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQzNCLDBFQUEwRTtJQUMxRSxVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLDhFQUE4RTtJQUM5RSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsc0NBQXNDO0lBQ3RDLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzdCLDBFQUEwRTtJQUMxRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDO0NBQzlCLENBQUM7QUFTRixNQUFNLE1BQU0sU0FBUyxHQUFHO0lBQ3RCLDRCQUE0QjtJQUM1QixTQUFTLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsRUFBRTtRQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQTtLQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLHNEQUFzRDtJQUN0RCxVQUFVLEVBQUUsY0FBYyxDQUFDO0NBQzVCLENBQUM7QUFPRixLQUFLLGNBQWMsR0FBRztJQUNwQixZQUFZLEVBQUUsTUFBTSxDQUFDO0lBQ3JCLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixPQUFPLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFBO0tBQUUsQ0FB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profiling.d.ts","sourceRoot":"","sources":["../../src/tx/profiling.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"profiling.d.ts","sourceRoot":"","sources":["../../src/tx/profiling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAqB,MAAM,2BAA2B,CAAC;AAE3E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,KAAK,oBAAoB,EAA8B,MAAM,2CAA2C,CAAC;AAElH,MAAM,MAAM,cAAc,GAAG;IAC3B,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,sCAAsC;IACtC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,0EAA0E;IAC1E,gBAAgB,EAAE,MAAM,EAAE,EAAE,CAAC;CAC9B,CAAC;AASF,MAAM,MAAM,SAAS,GAAG;IACtB,4BAA4B;IAC5B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC,CAAC;IACjE,sDAAsD;IACtD,UAAU,EAAE,cAAc,CAAC;CAC5B,CAAC;AAOF,KAAK,cAAc,GAAG;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CAC/C,CAAC;AAQF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAM/B,CAAC;AAEH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG7B,CAAC;AAEH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,cAAc,EAAE,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOlC,CAAC;AAEH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,YAAY,EAAE,SAAS,CAAC;CACzB;AAED,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGhC,CAAC;AAEH,qBAAa,eAAe;IAEjB,cAAc,EAAE,oBAAoB,EAAE;IACtC,KAAK,EAAE,YAAY;IAF5B,YACS,cAAc,EAAE,oBAAoB,EAAE,EACtC,KAAK,EAAE,YAAY,EACxB;IACJ,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,CAO3C;IAED,MAAM,CAAC,MAAM,IAAI,eAAe,CAsC/B;CACF;AAED,qBAAa,sBAAsB;IAExB,MAAM,EAAE,EAAE,EAAE;IACZ,KAAK,CAAC;IAFf,YACS,MAAM,EAAE,EAAE,EAAE,EACZ,KAAK,CAAC,6BAAiB,EAC5B;IAEJ,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAOlD;IAED,MAAM,CAAC,MAAM,IAAI,sBAAsB,CAyBtC;CACF"}
|
package/dest/tx/profiling.js
CHANGED
|
@@ -111,7 +111,7 @@ export class TxProfileResult {
|
|
|
111
111
|
});
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
|
-
export class
|
|
114
|
+
export class UtilityExecutionResult {
|
|
115
115
|
result;
|
|
116
116
|
stats;
|
|
117
117
|
constructor(result, stats){
|
|
@@ -122,10 +122,10 @@ export class UtilitySimulationResult {
|
|
|
122
122
|
return z.object({
|
|
123
123
|
result: z.array(schemas.Fr),
|
|
124
124
|
stats: optional(SimulationStatsSchema)
|
|
125
|
-
}).transform(({ result, stats })=>new
|
|
125
|
+
}).transform(({ result, stats })=>new UtilityExecutionResult(result, stats));
|
|
126
126
|
}
|
|
127
127
|
static random() {
|
|
128
|
-
return new
|
|
128
|
+
return new UtilityExecutionResult([
|
|
129
129
|
Fr.random()
|
|
130
130
|
], {
|
|
131
131
|
nodeRPCCalls: {
|
|
@@ -2,6 +2,7 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
2
2
|
import { type ZodFor } from '@aztec/foundation/schemas';
|
|
3
3
|
import { SimulationError } from '../errors/simulation_error.js';
|
|
4
4
|
import type { GasUsed } from '../gas/gas_used.js';
|
|
5
|
+
import { DebugLog } from '../logs/debug_log.js';
|
|
5
6
|
import { TxEffect } from '../tx/tx_effect.js';
|
|
6
7
|
import { GlobalVariables } from './global_variables.js';
|
|
7
8
|
/** Return values of simulating a circuit. */
|
|
@@ -26,8 +27,9 @@ export declare class PublicSimulationOutput {
|
|
|
26
27
|
txEffect: TxEffect;
|
|
27
28
|
publicReturnValues: NestedProcessReturnValues[];
|
|
28
29
|
gasUsed: GasUsed;
|
|
29
|
-
|
|
30
|
+
debugLogs: DebugLog[];
|
|
31
|
+
constructor(revertReason: SimulationError | undefined, globalVariables: GlobalVariables, txEffect: TxEffect, publicReturnValues: NestedProcessReturnValues[], gasUsed: GasUsed, debugLogs?: DebugLog[]);
|
|
30
32
|
static get schema(): ZodFor<PublicSimulationOutput>;
|
|
31
33
|
static random(): Promise<PublicSimulationOutput>;
|
|
32
34
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3NpbXVsYXRpb25fb3V0cHV0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvcHVibGljX3NpbXVsYXRpb25fb3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQVcsTUFBTSwyQkFBMkIsQ0FBQztBQUtqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWhELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFeEQsNkNBQTZDO0FBQzdDLE1BQU0sTUFBTSxtQkFBbUIsR0FBRyxFQUFFLEVBQUUsR0FBRyxTQUFTLENBQUM7QUFFbkQsc0RBQXNEO0FBQ3RELHFCQUFhLHlCQUF5QjtJQUNwQyxNQUFNLEVBQUUsbUJBQW1CLENBQUM7SUFDNUIsTUFBTSxFQUFFLHlCQUF5QixFQUFFLENBQUM7SUFFcEMsWUFBWSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLEVBQUUseUJBQXlCLEVBQUUsRUFHNUU7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLHlCQUF5QixHQUFHLE9BQU8sQ0FPaEQ7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQU9yRDtJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLEdBQUcsR0FBRyx5QkFBeUIsQ0FLMUQ7SUFFRCxNQUFNLENBQUMsS0FBSyw4QkFFWDtJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxTQUFJLEdBQUcseUJBQXlCLENBS2xEO0NBQ0Y7QUFFRDs7R0FFRztBQUNILHFCQUFhLHNCQUFzQjtJQUV4QixZQUFZLEVBQUUsZUFBZSxHQUFHLFNBQVM7SUFDekMsZUFBZSxFQUFFLGVBQWU7SUFDaEMsUUFBUSxFQUFFLFFBQVE7SUFDbEIsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUU7SUFDL0MsT0FBTyxFQUFFLE9BQU87SUFDaEIsU0FBUyxFQUFFLFFBQVEsRUFBRTtJQU45QixZQUNTLFlBQVksRUFBRSxlQUFlLEdBQUcsU0FBUyxFQUN6QyxlQUFlLEVBQUUsZUFBZSxFQUNoQyxRQUFRLEVBQUUsUUFBUSxFQUNsQixrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSxFQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUNoQixTQUFTLEdBQUUsUUFBUSxFQUFPLEVBQy9CO0lBRUosTUFBTSxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0EwQmxEO0lBRUQsT0FBYSxNQUFNLG9DQVFsQjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public_simulation_output.d.ts","sourceRoot":"","sources":["../../src/tx/public_simulation_output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AAKjE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"public_simulation_output.d.ts","sourceRoot":"","sources":["../../src/tx/public_simulation_output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AAKjE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,6CAA6C;AAC7C,MAAM,MAAM,mBAAmB,GAAG,EAAE,EAAE,GAAG,SAAS,CAAC;AAEnD,sDAAsD;AACtD,qBAAa,yBAAyB;IACpC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,yBAAyB,EAAE,CAAC;IAEpC,YAAY,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,yBAAyB,EAAE,EAG5E;IAED,MAAM,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAOhD;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,yBAAyB,CAAC,CAOrD;IAED,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,yBAAyB,CAK1D;IAED,MAAM,CAAC,KAAK,8BAEX;IAED,MAAM,CAAC,MAAM,CAAC,KAAK,SAAI,GAAG,yBAAyB,CAKlD;CACF;AAED;;GAEG;AACH,qBAAa,sBAAsB;IAExB,YAAY,EAAE,eAAe,GAAG,SAAS;IACzC,eAAe,EAAE,eAAe;IAChC,QAAQ,EAAE,QAAQ;IAClB,kBAAkB,EAAE,yBAAyB,EAAE;IAC/C,OAAO,EAAE,OAAO;IAChB,SAAS,EAAE,QAAQ,EAAE;IAN9B,YACS,YAAY,EAAE,eAAe,GAAG,SAAS,EACzC,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,QAAQ,EAClB,kBAAkB,EAAE,yBAAyB,EAAE,EAC/C,OAAO,EAAE,OAAO,EAChB,SAAS,GAAE,QAAQ,EAAO,EAC/B;IAEJ,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,sBAAsB,CAAC,CA0BlD;IAED,OAAa,MAAM,oCAQlB;CACF"}
|
|
@@ -4,6 +4,7 @@ import times from 'lodash.times';
|
|
|
4
4
|
import { z } from 'zod';
|
|
5
5
|
import { SimulationError } from '../errors/simulation_error.js';
|
|
6
6
|
import { Gas } from '../gas/gas.js';
|
|
7
|
+
import { DebugLog } from '../logs/debug_log.js';
|
|
7
8
|
import { NullishToUndefined } from '../schemas/schemas.js';
|
|
8
9
|
import { TxEffect } from '../tx/tx_effect.js';
|
|
9
10
|
import { GlobalVariables } from './global_variables.js';
|
|
@@ -43,12 +44,14 @@ import { GlobalVariables } from './global_variables.js';
|
|
|
43
44
|
txEffect;
|
|
44
45
|
publicReturnValues;
|
|
45
46
|
gasUsed;
|
|
46
|
-
|
|
47
|
+
debugLogs;
|
|
48
|
+
constructor(revertReason, globalVariables, txEffect, publicReturnValues, gasUsed, debugLogs = []){
|
|
47
49
|
this.revertReason = revertReason;
|
|
48
50
|
this.globalVariables = globalVariables;
|
|
49
51
|
this.txEffect = txEffect;
|
|
50
52
|
this.publicReturnValues = publicReturnValues;
|
|
51
53
|
this.gasUsed = gasUsed;
|
|
54
|
+
this.debugLogs = debugLogs;
|
|
52
55
|
}
|
|
53
56
|
static get schema() {
|
|
54
57
|
return z.object({
|
|
@@ -61,8 +64,9 @@ import { GlobalVariables } from './global_variables.js';
|
|
|
61
64
|
teardownGas: Gas.schema,
|
|
62
65
|
publicGas: Gas.schema,
|
|
63
66
|
billedGas: Gas.schema
|
|
64
|
-
})
|
|
65
|
-
|
|
67
|
+
}),
|
|
68
|
+
debugLogs: z.array(DebugLog.schema).default([])
|
|
69
|
+
}).transform((fields)=>new PublicSimulationOutput(fields.revertReason, fields.globalVariables, fields.txEffect, fields.publicReturnValues, fields.gasUsed, fields.debugLogs));
|
|
66
70
|
}
|
|
67
71
|
static async random() {
|
|
68
72
|
return new PublicSimulationOutput(await SimulationError.random(), GlobalVariables.empty(), TxEffect.empty(), times(2, NestedProcessReturnValues.random), {
|
package/dest/tx/tx_receipt.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import { RevertCode } from '../avm/revert_code.js';
|
|
3
3
|
import { BlockHash } from '../block/block_hash.js';
|
|
4
|
+
import { DebugLog } from '../logs/debug_log.js';
|
|
4
5
|
import { type ZodFor } from '../schemas/schemas.js';
|
|
5
6
|
import { TxHash } from './tx_hash.js';
|
|
6
7
|
/** Block inclusion/finalization status. */
|
|
@@ -42,6 +43,12 @@ export declare class TxReceipt {
|
|
|
42
43
|
blockHash?: BlockHash | undefined;
|
|
43
44
|
/** The block number in which the transaction was included. */
|
|
44
45
|
blockNumber?: BlockNumber | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* Debug logs collected during public function execution. Served only when the node is in test mode and placed on
|
|
48
|
+
* the receipt only because it's a convenient place for it (the logs are printed out by the wallet when a mined
|
|
49
|
+
* tx receipt is obtained).
|
|
50
|
+
*/
|
|
51
|
+
debugLogs?: DebugLog[] | undefined;
|
|
45
52
|
constructor(
|
|
46
53
|
/** A unique identifier for a transaction. */
|
|
47
54
|
txHash: TxHash,
|
|
@@ -56,7 +63,13 @@ export declare class TxReceipt {
|
|
|
56
63
|
/** The hash of the block containing the transaction. */
|
|
57
64
|
blockHash?: BlockHash | undefined,
|
|
58
65
|
/** The block number in which the transaction was included. */
|
|
59
|
-
blockNumber?: BlockNumber | undefined
|
|
66
|
+
blockNumber?: BlockNumber | undefined,
|
|
67
|
+
/**
|
|
68
|
+
* Debug logs collected during public function execution. Served only when the node is in test mode and placed on
|
|
69
|
+
* the receipt only because it's a convenient place for it (the logs are printed out by the wallet when a mined
|
|
70
|
+
* tx receipt is obtained).
|
|
71
|
+
*/
|
|
72
|
+
debugLogs?: DebugLog[] | undefined);
|
|
60
73
|
/** Returns true if the transaction was executed successfully. */
|
|
61
74
|
hasExecutionSucceeded(): boolean;
|
|
62
75
|
/** Returns true if the transaction execution reverted. */
|
|
@@ -77,7 +90,8 @@ export declare class TxReceipt {
|
|
|
77
90
|
transactionFee?: bigint;
|
|
78
91
|
blockHash?: BlockHash;
|
|
79
92
|
blockNumber?: BlockNumber;
|
|
93
|
+
debugLogs?: DebugLog[];
|
|
80
94
|
}): TxReceipt;
|
|
81
95
|
static executionResultFromRevertCode(revertCode: RevertCode): TxExecutionResult;
|
|
82
96
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcmVjZWlwdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R4L3R4X3JlY2VpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBcUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUlqRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQVcsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXRDLDJDQUEyQztBQUMzQyxvQkFBWSxRQUFRO0lBQ2xCLE9BQU8sWUFBWTtJQUNuQixPQUFPLFlBQVk7SUFDbkIsUUFBUSxhQUFhO0lBQ3JCLFlBQVksaUJBQWlCO0lBQzdCLE1BQU0sV0FBVztJQUNqQixTQUFTLGNBQWM7Q0FDeEI7QUFFRCxpREFBaUQ7QUFDakQsZUFBTyxNQUFNLGdCQUFnQixFQUFFLFFBQVEsRUFPdEMsQ0FBQztBQUVGLHlEQUF5RDtBQUN6RCxvQkFBWSxpQkFBaUI7SUFDM0IsT0FBTyxZQUFZO0lBQ25CLGtCQUFrQix1QkFBdUI7SUFDekMsaUJBQWlCLHNCQUFzQjtJQUN2QyxhQUFhLGtCQUFrQjtDQUNoQztBQUVEOzs7OztHQUtHO0FBQ0gscUJBQWEsU0FBUztJQUVsQiw2Q0FBNkM7SUFDdEMsTUFBTSxFQUFFLE1BQU07SUFDckIsbURBQW1EO0lBQzVDLE1BQU0sRUFBRSxRQUFRO0lBQ3ZCLCtFQUErRTtJQUN4RSxlQUFlLEVBQUUsaUJBQWlCLEdBQUcsU0FBUztJQUNyRCxnREFBZ0Q7SUFDekMsS0FBSyxFQUFFLE1BQU0sR0FBRyxTQUFTO0lBQ2hDLG9EQUFvRDtJQUM3QyxjQUFjLENBQUM7SUFDdEIsd0RBQXdEO0lBQ2pELFNBQVMsQ0FBQztJQUNqQiw4REFBOEQ7SUFDdkQsV0FBVyxDQUFDO0lBQ25COzs7O09BSUc7SUFDSSxTQUFTLENBQUM7SUFwQm5CO0lBQ0UsNkNBQTZDO0lBQ3RDLE1BQU0sRUFBRSxNQUFNO0lBQ3JCLG1EQUFtRDtJQUM1QyxNQUFNLEVBQUUsUUFBUTtJQUN2QiwrRUFBK0U7SUFDeEUsZUFBZSxFQUFFLGlCQUFpQixHQUFHLFNBQVM7SUFDckQsZ0RBQWdEO0lBQ3pDLEtBQUssRUFBRSxNQUFNLEdBQUcsU0FBUztJQUNoQyxvREFBb0Q7SUFDN0MsY0FBYyxDQUFDLG9CQUFRO0lBQzlCLHdEQUF3RDtJQUNqRCxTQUFTLENBQUMsdUJBQVc7SUFDNUIsOERBQThEO0lBQ3ZELFdBQVcsQ0FBQyx5QkFBYTtJQUNoQzs7OztPQUlHO0lBQ0ksU0FBUyxDQUFDLHdCQUFZLEVBQzNCO0lBRUosaUVBQWlFO0lBQ2pFLHFCQUFxQixJQUFJLE9BQU8sQ0FFL0I7SUFFRCwwREFBMEQ7SUFDMUQsb0JBQW9CLElBQUksT0FBTyxDQUU5QjtJQUVELG1IQUFtSDtJQUNuSCxPQUFPLElBQUksT0FBTyxDQU9qQjtJQUVELGtEQUFrRDtJQUNsRCxTQUFTLElBQUksT0FBTyxDQUVuQjtJQUVELG1EQUFtRDtJQUNuRCxTQUFTLElBQUksT0FBTyxDQUVuQjtJQUVELE1BQU0sQ0FBQyxLQUFLLGNBRVg7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FhckM7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNsQixNQUFNLEVBQUUsTUFBTSxDQUFDO1FBQ2YsTUFBTSxFQUFFLFFBQVEsQ0FBQztRQUNqQixlQUFlLENBQUMsRUFBRSxpQkFBaUIsQ0FBQztRQUNwQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDZixjQUFjLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDeEIsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFDO1FBQ3RCLFdBQVcsQ0FBQyxFQUFFLFdBQVcsQ0FBQztRQUMxQixTQUFTLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQztLQUN4QixhQVdBO0lBRUQsT0FBYyw2QkFBNkIsQ0FBQyxVQUFVLEVBQUUsVUFBVSxHQUFHLGlCQUFpQixDQVlyRjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_receipt.d.ts","sourceRoot":"","sources":["../../src/tx/tx_receipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;AAIjF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,2CAA2C;AAC3C,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAED,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,EAAE,QAAQ,EAOtC,CAAC;AAEF,yDAAyD;AACzD,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;CAChC;AAED;;;;;GAKG;AACH,qBAAa,SAAS;IAElB,6CAA6C;IACtC,MAAM,EAAE,MAAM;IACrB,mDAAmD;IAC5C,MAAM,EAAE,QAAQ;IACvB,+EAA+E;IACxE,eAAe,EAAE,iBAAiB,GAAG,SAAS;IACrD,gDAAgD;IACzC,KAAK,EAAE,MAAM,GAAG,SAAS;IAChC,oDAAoD;IAC7C,cAAc,CAAC;IACtB,wDAAwD;IACjD,SAAS,CAAC;IACjB,8DAA8D;IACvD,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"tx_receipt.d.ts","sourceRoot":"","sources":["../../src/tx/tx_receipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,iCAAiC,CAAC;AAIjF,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,2CAA2C;AAC3C,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,MAAM,WAAW;IACjB,SAAS,cAAc;CACxB;AAED,iDAAiD;AACjD,eAAO,MAAM,gBAAgB,EAAE,QAAQ,EAOtC,CAAC;AAEF,yDAAyD;AACzD,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,aAAa,kBAAkB;CAChC;AAED;;;;;GAKG;AACH,qBAAa,SAAS;IAElB,6CAA6C;IACtC,MAAM,EAAE,MAAM;IACrB,mDAAmD;IAC5C,MAAM,EAAE,QAAQ;IACvB,+EAA+E;IACxE,eAAe,EAAE,iBAAiB,GAAG,SAAS;IACrD,gDAAgD;IACzC,KAAK,EAAE,MAAM,GAAG,SAAS;IAChC,oDAAoD;IAC7C,cAAc,CAAC;IACtB,wDAAwD;IACjD,SAAS,CAAC;IACjB,8DAA8D;IACvD,WAAW,CAAC;IACnB;;;;OAIG;IACI,SAAS,CAAC;IApBnB;IACE,6CAA6C;IACtC,MAAM,EAAE,MAAM;IACrB,mDAAmD;IAC5C,MAAM,EAAE,QAAQ;IACvB,+EAA+E;IACxE,eAAe,EAAE,iBAAiB,GAAG,SAAS;IACrD,gDAAgD;IACzC,KAAK,EAAE,MAAM,GAAG,SAAS;IAChC,oDAAoD;IAC7C,cAAc,CAAC,oBAAQ;IAC9B,wDAAwD;IACjD,SAAS,CAAC,uBAAW;IAC5B,8DAA8D;IACvD,WAAW,CAAC,yBAAa;IAChC;;;;OAIG;IACI,SAAS,CAAC,wBAAY,EAC3B;IAEJ,iEAAiE;IACjE,qBAAqB,IAAI,OAAO,CAE/B;IAED,0DAA0D;IAC1D,oBAAoB,IAAI,OAAO,CAE9B;IAED,mHAAmH;IACnH,OAAO,IAAI,OAAO,CAOjB;IAED,kDAAkD;IAClD,SAAS,IAAI,OAAO,CAEnB;IAED,mDAAmD;IACnD,SAAS,IAAI,OAAO,CAEnB;IAED,MAAM,CAAC,KAAK,cAEX;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAarC;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,QAAQ,CAAC;QACjB,eAAe,CAAC,EAAE,iBAAiB,CAAC;QACpC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;KACxB,aAWA;IAED,OAAc,6BAA6B,CAAC,UAAU,EAAE,UAAU,GAAG,iBAAiB,CAYrF;CACF"}
|
package/dest/tx/tx_receipt.js
CHANGED
|
@@ -2,6 +2,7 @@ import { BlockNumberSchema } from '@aztec/foundation/branded-types';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { RevertCode } from '../avm/revert_code.js';
|
|
4
4
|
import { BlockHash } from '../block/block_hash.js';
|
|
5
|
+
import { DebugLog } from '../logs/debug_log.js';
|
|
5
6
|
import { schemas } from '../schemas/schemas.js';
|
|
6
7
|
import { TxHash } from './tx_hash.js';
|
|
7
8
|
/** Block inclusion/finalization status. */ export var TxStatus = /*#__PURE__*/ function(TxStatus) {
|
|
@@ -41,7 +42,12 @@ import { TxHash } from './tx_hash.js';
|
|
|
41
42
|
transactionFee;
|
|
42
43
|
blockHash;
|
|
43
44
|
blockNumber;
|
|
44
|
-
|
|
45
|
+
debugLogs;
|
|
46
|
+
constructor(/** A unique identifier for a transaction. */ txHash, /** The transaction's block finalization status. */ status, /** The execution result of the transaction, only set when tx is in a block. */ executionResult, /** Description of transaction error, if any. */ error, /** The transaction fee paid for the transaction. */ transactionFee, /** The hash of the block containing the transaction. */ blockHash, /** The block number in which the transaction was included. */ blockNumber, /**
|
|
47
|
+
* Debug logs collected during public function execution. Served only when the node is in test mode and placed on
|
|
48
|
+
* the receipt only because it's a convenient place for it (the logs are printed out by the wallet when a mined
|
|
49
|
+
* tx receipt is obtained).
|
|
50
|
+
*/ debugLogs){
|
|
45
51
|
this.txHash = txHash;
|
|
46
52
|
this.status = status;
|
|
47
53
|
this.executionResult = executionResult;
|
|
@@ -49,6 +55,7 @@ import { TxHash } from './tx_hash.js';
|
|
|
49
55
|
this.transactionFee = transactionFee;
|
|
50
56
|
this.blockHash = blockHash;
|
|
51
57
|
this.blockNumber = blockNumber;
|
|
58
|
+
this.debugLogs = debugLogs;
|
|
52
59
|
}
|
|
53
60
|
/** Returns true if the transaction was executed successfully. */ hasExecutionSucceeded() {
|
|
54
61
|
return this.executionResult === "success";
|
|
@@ -76,11 +83,12 @@ import { TxHash } from './tx_hash.js';
|
|
|
76
83
|
error: z.string().optional(),
|
|
77
84
|
blockHash: BlockHash.schema.optional(),
|
|
78
85
|
blockNumber: BlockNumberSchema.optional(),
|
|
79
|
-
transactionFee: schemas.BigInt.optional()
|
|
86
|
+
transactionFee: schemas.BigInt.optional(),
|
|
87
|
+
debugLogs: z.array(DebugLog.schema).optional()
|
|
80
88
|
}).transform((fields)=>TxReceipt.from(fields));
|
|
81
89
|
}
|
|
82
90
|
static from(fields) {
|
|
83
|
-
return new TxReceipt(fields.txHash, fields.status, fields.executionResult, fields.error, fields.transactionFee, fields.blockHash, fields.blockNumber);
|
|
91
|
+
return new TxReceipt(fields.txHash, fields.status, fields.executionResult, fields.error, fields.transactionFee, fields.blockHash, fields.blockNumber, fields.debugLogs);
|
|
84
92
|
}
|
|
85
93
|
static executionResultFromRevertCode(revertCode) {
|
|
86
94
|
if (revertCode.equals(RevertCode.OK)) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/stdlib",
|
|
3
|
-
"version": "4.0.0-rc.
|
|
3
|
+
"version": "4.0.0-rc.8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"inherits": [
|
|
6
6
|
"../package.common.json",
|
|
@@ -90,14 +90,14 @@
|
|
|
90
90
|
},
|
|
91
91
|
"dependencies": {
|
|
92
92
|
"@aws-sdk/client-s3": "^3.892.0",
|
|
93
|
-
"@aztec/bb.js": "4.0.0-rc.
|
|
94
|
-
"@aztec/blob-lib": "4.0.0-rc.
|
|
95
|
-
"@aztec/constants": "4.0.0-rc.
|
|
96
|
-
"@aztec/ethereum": "4.0.0-rc.
|
|
97
|
-
"@aztec/foundation": "4.0.0-rc.
|
|
98
|
-
"@aztec/l1-artifacts": "4.0.0-rc.
|
|
99
|
-
"@aztec/noir-noirc_abi": "4.0.0-rc.
|
|
100
|
-
"@aztec/validator-ha-signer": "4.0.0-rc.
|
|
93
|
+
"@aztec/bb.js": "4.0.0-rc.8",
|
|
94
|
+
"@aztec/blob-lib": "4.0.0-rc.8",
|
|
95
|
+
"@aztec/constants": "4.0.0-rc.8",
|
|
96
|
+
"@aztec/ethereum": "4.0.0-rc.8",
|
|
97
|
+
"@aztec/foundation": "4.0.0-rc.8",
|
|
98
|
+
"@aztec/l1-artifacts": "4.0.0-rc.8",
|
|
99
|
+
"@aztec/noir-noirc_abi": "4.0.0-rc.8",
|
|
100
|
+
"@aztec/validator-ha-signer": "4.0.0-rc.8",
|
|
101
101
|
"@google-cloud/storage": "^7.15.0",
|
|
102
102
|
"axios": "^1.12.0",
|
|
103
103
|
"json-stringify-deterministic": "1.0.12",
|
package/src/avm/revert_code.ts
CHANGED
|
@@ -5,10 +5,25 @@ import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
|
|
|
5
5
|
import { inspect } from 'util';
|
|
6
6
|
import { z } from 'zod';
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* Tracks which revertible phases of a transaction's public execution reverted.
|
|
10
|
+
*
|
|
11
|
+
* A transaction executes in three sequential phases:
|
|
12
|
+
* 1. SETUP – non-revertible; if this fails the entire transaction is rejected.
|
|
13
|
+
* 2. APP_LOGIC – revertible; its state changes are rolled back on failure.
|
|
14
|
+
* 3. TEARDOWN – revertible; always runs (even after app-logic revert) so the fee-payment contract can clean up.
|
|
15
|
+
*
|
|
16
|
+
* Only APP_LOGIC and TEARDOWN can produce a revert code. SETUP failures throw instead and discard the transaction
|
|
17
|
+
* entirely.
|
|
18
|
+
*/
|
|
8
19
|
export enum RevertCodeEnum {
|
|
20
|
+
/** All phases completed successfully; no state was rolled back. */
|
|
9
21
|
OK = 0,
|
|
22
|
+
/** APP_LOGIC reverted; its state changes were discarded. If present, TEARDOWN still ran and succeeded. */
|
|
10
23
|
APP_LOGIC_REVERTED = 1,
|
|
24
|
+
/** TEARDOWN reverted; its state changes were discarded. APP_LOGIC succeeded. */
|
|
11
25
|
TEARDOWN_REVERTED = 2,
|
|
26
|
+
/** Both APP_LOGIC and TEARDOWN reverted; only SETUP effects are kept. */
|
|
12
27
|
BOTH_REVERTED = 3,
|
|
13
28
|
}
|
|
14
29
|
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { TxReceipt } from '../tx/tx_receipt.js';
|
|
2
|
+
import type { DebugLog } from './debug_log.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Store for debug logs emitted by public functions during transaction execution.
|
|
6
|
+
*
|
|
7
|
+
* Uses the Null Object pattern: production code uses NullDebugLogStore (no-op), while test mode uses
|
|
8
|
+
* InMemoryDebugLogStore (stores and serves logs).
|
|
9
|
+
*/
|
|
10
|
+
export interface DebugLogStore {
|
|
11
|
+
/** Store debug logs for a processed transaction. */
|
|
12
|
+
storeLogs(txHash: string, logs: DebugLog[]): void;
|
|
13
|
+
/** Decorate a TxReceipt with any stored debug logs for the given tx. */
|
|
14
|
+
decorateReceiptWithLogs(txHash: string, receipt: TxReceipt): void;
|
|
15
|
+
/** Whether debug log collection is enabled. */
|
|
16
|
+
readonly isEnabled: boolean;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/** No-op implementation for production mode. */
|
|
20
|
+
export class NullDebugLogStore implements DebugLogStore {
|
|
21
|
+
storeLogs(_txHash: string, _logs: DebugLog[]): void {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
decorateReceiptWithLogs(_txHash: string, _receipt: TxReceipt): void {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
get isEnabled(): boolean {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** In-memory implementation for test mode that stores and serves debug logs. */
|
|
33
|
+
export class InMemoryDebugLogStore implements DebugLogStore {
|
|
34
|
+
private map = new Map<string, DebugLog[]>();
|
|
35
|
+
|
|
36
|
+
storeLogs(txHash: string, logs: DebugLog[]): void {
|
|
37
|
+
if (logs.length > 0) {
|
|
38
|
+
this.map.set(txHash, logs);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
decorateReceiptWithLogs(txHash: string, receipt: TxReceipt): void {
|
|
43
|
+
if (receipt.isMined()) {
|
|
44
|
+
const debugLogs = this.map.get(txHash);
|
|
45
|
+
if (debugLogs) {
|
|
46
|
+
receipt.debugLogs = debugLogs;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
get isEnabled(): boolean {
|
|
52
|
+
return true;
|
|
53
|
+
}
|
|
54
|
+
}
|
package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts}
RENAMED
|
@@ -5,22 +5,28 @@ import type { Point } from '@aztec/foundation/curves/grumpkin';
|
|
|
5
5
|
|
|
6
6
|
import { z } from 'zod';
|
|
7
7
|
|
|
8
|
-
import
|
|
8
|
+
import { AztecAddress } from '../aztec-address/index.js';
|
|
9
9
|
import type { CompleteAddress } from '../contract/complete_address.js';
|
|
10
10
|
import { computeAddressSecret, computePreaddress } from '../keys/derivation.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
-
*
|
|
13
|
+
* Extended directional application tagging secret used for log tagging.
|
|
14
14
|
*
|
|
15
|
-
* "
|
|
16
|
-
*
|
|
15
|
+
* "Extended" because it bundles the directional app tagging secret with the app (contract) address. This bundling was
|
|
16
|
+
* done because where this type is used we commonly need access to both the secret and the address.
|
|
17
17
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
18
|
+
* "Directional" because the derived secret is bound to the recipient address: A→B differs from B→A even with the same
|
|
19
|
+
* participants and app.
|
|
20
|
+
*
|
|
21
|
+
* Note: It's a bit unfortunate that this type resides in `stdlib` as the rest of the tagging functionality resides in
|
|
22
|
+
* `pxe/src/tagging`. We need to use this type in `PreTag` that in turn is used by other types in stdlib hence there
|
|
23
|
+
* doesn't seem to be a good way around this.
|
|
21
24
|
*/
|
|
22
|
-
export class
|
|
23
|
-
private constructor(
|
|
25
|
+
export class ExtendedDirectionalAppTaggingSecret {
|
|
26
|
+
private constructor(
|
|
27
|
+
public readonly secret: Fr,
|
|
28
|
+
public readonly app: AztecAddress,
|
|
29
|
+
) {}
|
|
24
30
|
|
|
25
31
|
/**
|
|
26
32
|
* Derives shared tagging secret and from that, the app address and recipient derives the directional app tagging
|
|
@@ -39,20 +45,21 @@ export class DirectionalAppTaggingSecret {
|
|
|
39
45
|
externalAddress: AztecAddress,
|
|
40
46
|
app: AztecAddress,
|
|
41
47
|
recipient: AztecAddress,
|
|
42
|
-
): Promise<
|
|
48
|
+
): Promise<ExtendedDirectionalAppTaggingSecret> {
|
|
43
49
|
const taggingSecretPoint = await computeSharedTaggingSecret(localAddress, localIvsk, externalAddress);
|
|
44
50
|
const appTaggingSecret = await poseidon2Hash([taggingSecretPoint.x, taggingSecretPoint.y, app]);
|
|
45
51
|
const directionalAppTaggingSecret = await poseidon2Hash([appTaggingSecret, recipient]);
|
|
46
52
|
|
|
47
|
-
return new
|
|
53
|
+
return new ExtendedDirectionalAppTaggingSecret(directionalAppTaggingSecret, app);
|
|
48
54
|
}
|
|
49
55
|
|
|
50
56
|
toString(): string {
|
|
51
|
-
return this.
|
|
57
|
+
return `${this.secret.toString()}:${this.app.toString()}`;
|
|
52
58
|
}
|
|
53
59
|
|
|
54
|
-
static fromString(str: string):
|
|
55
|
-
|
|
60
|
+
static fromString(str: string): ExtendedDirectionalAppTaggingSecret {
|
|
61
|
+
const [secretStr, appStr] = str.split(':');
|
|
62
|
+
return new ExtendedDirectionalAppTaggingSecret(Fr.fromString(secretStr), AztecAddress.fromString(appStr));
|
|
56
63
|
}
|
|
57
64
|
}
|
|
58
65
|
|
|
@@ -74,6 +81,7 @@ async function computeSharedTaggingSecret(
|
|
|
74
81
|
return Grumpkin.mul(externalAddressPoint, await computeAddressSecret(knownPreaddress, localIvsk));
|
|
75
82
|
}
|
|
76
83
|
|
|
77
|
-
export const
|
|
78
|
-
|
|
84
|
+
export const ExtendedDirectionalAppTaggingSecretSchema = z.object({
|
|
85
|
+
secret: Fr.schema,
|
|
86
|
+
app: AztecAddress.schema,
|
|
79
87
|
});
|
package/src/logs/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './
|
|
1
|
+
export * from './extended_directional_app_tagging_secret.js';
|
|
2
2
|
export * from './pre_tag.js';
|
|
3
3
|
export * from './contract_class_log.js';
|
|
4
4
|
export * from './public_log.js';
|
|
@@ -12,5 +12,6 @@ export * from './shared_secret_derivation.js';
|
|
|
12
12
|
export * from './tx_scoped_l2_log.js';
|
|
13
13
|
export * from './message_context.js';
|
|
14
14
|
export * from './debug_log.js';
|
|
15
|
+
export * from './debug_log_store.js';
|
|
15
16
|
export * from './tag.js';
|
|
16
17
|
export * from './siloed_tag.js';
|
package/src/logs/pre_tag.ts
CHANGED
|
@@ -3,9 +3,9 @@ import { schemas } from '@aztec/foundation/schemas';
|
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
|
|
5
5
|
import {
|
|
6
|
-
type
|
|
7
|
-
|
|
8
|
-
} from './
|
|
6
|
+
type ExtendedDirectionalAppTaggingSecret,
|
|
7
|
+
ExtendedDirectionalAppTaggingSecretSchema,
|
|
8
|
+
} from './extended_directional_app_tagging_secret.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Represents a preimage of a private log tag (see `Tag` in `pxe/src/tagging`).
|
|
@@ -15,11 +15,11 @@ import {
|
|
|
15
15
|
* around this.
|
|
16
16
|
*/
|
|
17
17
|
export type PreTag = {
|
|
18
|
-
|
|
18
|
+
extendedSecret: ExtendedDirectionalAppTaggingSecret;
|
|
19
19
|
index: number;
|
|
20
20
|
};
|
|
21
21
|
|
|
22
22
|
export const PreTagSchema = z.object({
|
|
23
|
-
|
|
23
|
+
extendedSecret: ExtendedDirectionalAppTaggingSecretSchema,
|
|
24
24
|
index: schemas.Integer,
|
|
25
25
|
});
|
package/src/logs/siloed_tag.ts
CHANGED
|
@@ -4,7 +4,8 @@ import type { ZodFor } from '@aztec/foundation/schemas';
|
|
|
4
4
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
5
5
|
import { computeSiloedPrivateLogFirstField } from '../hash/hash.js';
|
|
6
6
|
import { schemas } from '../schemas/schemas.js';
|
|
7
|
-
import type {
|
|
7
|
+
import type { PreTag } from './pre_tag.js';
|
|
8
|
+
import { Tag } from './tag.js';
|
|
8
9
|
|
|
9
10
|
/* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */
|
|
10
11
|
|
|
@@ -21,7 +22,12 @@ export interface SiloedTag {
|
|
|
21
22
|
export class SiloedTag {
|
|
22
23
|
constructor(public readonly value: Fr) {}
|
|
23
24
|
|
|
24
|
-
static async compute(
|
|
25
|
+
static async compute(preTag: PreTag): Promise<SiloedTag> {
|
|
26
|
+
const tag = await Tag.compute(preTag);
|
|
27
|
+
return SiloedTag.computeFromTagAndApp(tag, preTag.extendedSecret.app);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
static async computeFromTagAndApp(tag: Tag, app: AztecAddress): Promise<SiloedTag> {
|
|
25
31
|
const siloedTag = await computeSiloedPrivateLogFirstField(app, tag.value);
|
|
26
32
|
return new SiloedTag(siloedTag);
|
|
27
33
|
}
|
package/src/logs/tag.ts
CHANGED
|
@@ -20,7 +20,7 @@ export class Tag {
|
|
|
20
20
|
constructor(public readonly value: Fr) {}
|
|
21
21
|
|
|
22
22
|
static async compute(preTag: PreTag): Promise<Tag> {
|
|
23
|
-
const tag = await poseidon2Hash([preTag.secret
|
|
23
|
+
const tag = await poseidon2Hash([preTag.extendedSecret.secret, preTag.index]);
|
|
24
24
|
return new Tag(tag);
|
|
25
25
|
}
|
|
26
26
|
|
package/src/tests/factories.ts
CHANGED
|
@@ -128,6 +128,7 @@ import {
|
|
|
128
128
|
PublicCallRequestArrayLengths,
|
|
129
129
|
} from '../kernel/public_call_request.js';
|
|
130
130
|
import { PublicKeys, computeAddress } from '../keys/index.js';
|
|
131
|
+
import { ExtendedDirectionalAppTaggingSecret } from '../logs/extended_directional_app_tagging_secret.js';
|
|
131
132
|
import { ContractClassLog, ContractClassLogFields } from '../logs/index.js';
|
|
132
133
|
import { PrivateLog } from '../logs/private_log.js';
|
|
133
134
|
import { FlatPublicLogs, PublicLog } from '../logs/public_log.js';
|
|
@@ -1757,3 +1758,11 @@ export function makeL2Tips(
|
|
|
1757
1758
|
},
|
|
1758
1759
|
};
|
|
1759
1760
|
}
|
|
1761
|
+
|
|
1762
|
+
export async function randomExtendedDirectionalAppTaggingSecret(): Promise<ExtendedDirectionalAppTaggingSecret> {
|
|
1763
|
+
const resolvedApp = await AztecAddress.random();
|
|
1764
|
+
// Using the fromString method like this is messy as it leaks the underlying serialization format but I don't want to
|
|
1765
|
+
// expose the type's constructor just for tests since in prod the secret is always constructed via compute. Also this
|
|
1766
|
+
// method is tested in extended_directional_app_tagging_secret.test.ts hence all should be fine.
|
|
1767
|
+
return ExtendedDirectionalAppTaggingSecret.fromString(`${Fr.random().toString()}:${resolvedApp.toString()}`);
|
|
1768
|
+
}
|
package/src/tx/profiling.ts
CHANGED
|
@@ -157,23 +157,23 @@ export class TxProfileResult {
|
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
|
|
160
|
-
export class
|
|
160
|
+
export class UtilityExecutionResult {
|
|
161
161
|
constructor(
|
|
162
162
|
public result: Fr[],
|
|
163
163
|
public stats?: SimulationStats,
|
|
164
164
|
) {}
|
|
165
165
|
|
|
166
|
-
static get schema(): ZodFor<
|
|
166
|
+
static get schema(): ZodFor<UtilityExecutionResult> {
|
|
167
167
|
return z
|
|
168
168
|
.object({
|
|
169
169
|
result: z.array(schemas.Fr),
|
|
170
170
|
stats: optional(SimulationStatsSchema),
|
|
171
171
|
})
|
|
172
|
-
.transform(({ result, stats }) => new
|
|
172
|
+
.transform(({ result, stats }) => new UtilityExecutionResult(result, stats));
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
-
static random():
|
|
176
|
-
return new
|
|
175
|
+
static random(): UtilityExecutionResult {
|
|
176
|
+
return new UtilityExecutionResult([Fr.random()], {
|
|
177
177
|
nodeRPCCalls: {
|
|
178
178
|
perMethod: { getBlockHeader: { times: [1] } },
|
|
179
179
|
roundTrips: {
|
|
@@ -7,6 +7,7 @@ import { z } from 'zod';
|
|
|
7
7
|
import { SimulationError } from '../errors/simulation_error.js';
|
|
8
8
|
import { Gas } from '../gas/gas.js';
|
|
9
9
|
import type { GasUsed } from '../gas/gas_used.js';
|
|
10
|
+
import { DebugLog } from '../logs/debug_log.js';
|
|
10
11
|
import { NullishToUndefined } from '../schemas/schemas.js';
|
|
11
12
|
import { TxEffect } from '../tx/tx_effect.js';
|
|
12
13
|
import { GlobalVariables } from './global_variables.js';
|
|
@@ -71,6 +72,7 @@ export class PublicSimulationOutput {
|
|
|
71
72
|
public txEffect: TxEffect,
|
|
72
73
|
public publicReturnValues: NestedProcessReturnValues[],
|
|
73
74
|
public gasUsed: GasUsed,
|
|
75
|
+
public debugLogs: DebugLog[] = [],
|
|
74
76
|
) {}
|
|
75
77
|
|
|
76
78
|
static get schema(): ZodFor<PublicSimulationOutput> {
|
|
@@ -86,6 +88,7 @@ export class PublicSimulationOutput {
|
|
|
86
88
|
publicGas: Gas.schema,
|
|
87
89
|
billedGas: Gas.schema,
|
|
88
90
|
}),
|
|
91
|
+
debugLogs: z.array(DebugLog.schema).default([]),
|
|
89
92
|
})
|
|
90
93
|
.transform(
|
|
91
94
|
fields =>
|
|
@@ -95,6 +98,7 @@ export class PublicSimulationOutput {
|
|
|
95
98
|
fields.txEffect,
|
|
96
99
|
fields.publicReturnValues,
|
|
97
100
|
fields.gasUsed,
|
|
101
|
+
fields.debugLogs,
|
|
98
102
|
),
|
|
99
103
|
);
|
|
100
104
|
}
|