@aztec/stdlib 4.0.0-rc.1 → 4.0.0-rc.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/dest/abi/decoder.d.ts +1 -1
  2. package/dest/abi/decoder.d.ts.map +1 -1
  3. package/dest/abi/decoder.js +1 -4
  4. package/dest/abi/encoder.d.ts +1 -1
  5. package/dest/abi/encoder.d.ts.map +1 -1
  6. package/dest/abi/encoder.js +9 -5
  7. package/dest/avm/revert_code.d.ts +16 -1
  8. package/dest/avm/revert_code.d.ts.map +1 -1
  9. package/dest/avm/revert_code.js +15 -5
  10. package/dest/block/l2_block_stream/l2_block_stream.d.ts +1 -1
  11. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  12. package/dest/block/l2_block_stream/l2_block_stream.js +10 -0
  13. package/dest/config/sequencer-config.d.ts +5 -3
  14. package/dest/config/sequencer-config.d.ts.map +1 -1
  15. package/dest/config/sequencer-config.js +13 -0
  16. package/dest/contract/contract_class.d.ts +2 -3
  17. package/dest/contract/contract_class.d.ts.map +1 -1
  18. package/dest/interfaces/aztec-node-admin.d.ts +7 -4
  19. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  20. package/dest/interfaces/configs.d.ts +7 -2
  21. package/dest/interfaces/configs.d.ts.map +1 -1
  22. package/dest/interfaces/configs.js +1 -0
  23. package/dest/interfaces/validator.d.ts +5 -2
  24. package/dest/interfaces/validator.d.ts.map +1 -1
  25. package/dest/interfaces/validator.js +1 -0
  26. package/dest/logs/debug_log_store.d.ts +30 -0
  27. package/dest/logs/debug_log_store.d.ts.map +1 -0
  28. package/dest/logs/debug_log_store.js +30 -0
  29. package/dest/logs/extended_directional_app_tagging_secret.d.ts +47 -0
  30. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -0
  31. package/dest/logs/{directional_app_tagging_secret.js → extended_directional_app_tagging_secret.js} +23 -15
  32. package/dest/logs/index.d.ts +3 -2
  33. package/dest/logs/index.d.ts.map +1 -1
  34. package/dest/logs/index.js +2 -1
  35. package/dest/logs/pre_tag.d.ts +16 -11
  36. package/dest/logs/pre_tag.d.ts.map +1 -1
  37. package/dest/logs/pre_tag.js +2 -2
  38. package/dest/logs/siloed_tag.d.ts +5 -3
  39. package/dest/logs/siloed_tag.d.ts.map +1 -1
  40. package/dest/logs/siloed_tag.js +6 -1
  41. package/dest/logs/tag.js +1 -1
  42. package/dest/p2p/attestation_utils.d.ts +11 -1
  43. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  44. package/dest/p2p/attestation_utils.js +45 -0
  45. package/dest/tests/factories.d.ts +3 -1
  46. package/dest/tests/factories.d.ts.map +1 -1
  47. package/dest/tests/factories.js +8 -0
  48. package/dest/tests/mocks.d.ts +2 -2
  49. package/dest/tests/mocks.d.ts.map +1 -1
  50. package/dest/tests/mocks.js +5 -5
  51. package/dest/tx/profiling.d.ts +4 -4
  52. package/dest/tx/profiling.d.ts.map +1 -1
  53. package/dest/tx/profiling.js +3 -3
  54. package/dest/tx/public_simulation_output.d.ts +4 -2
  55. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  56. package/dest/tx/public_simulation_output.js +7 -3
  57. package/dest/tx/tx_receipt.d.ts +16 -2
  58. package/dest/tx/tx_receipt.d.ts.map +1 -1
  59. package/dest/tx/tx_receipt.js +11 -3
  60. package/package.json +9 -9
  61. package/src/abi/decoder.ts +1 -4
  62. package/src/abi/encoder.ts +8 -5
  63. package/src/avm/revert_code.ts +15 -0
  64. package/src/block/l2_block_stream/l2_block_stream.ts +21 -0
  65. package/src/config/sequencer-config.ts +20 -2
  66. package/src/contract/contract_class.ts +3 -3
  67. package/src/interfaces/configs.ts +4 -0
  68. package/src/interfaces/validator.ts +2 -1
  69. package/src/logs/debug_log_store.ts +54 -0
  70. package/src/logs/{directional_app_tagging_secret.ts → extended_directional_app_tagging_secret.ts} +24 -16
  71. package/src/logs/index.ts +2 -1
  72. package/src/logs/pre_tag.ts +5 -5
  73. package/src/logs/siloed_tag.ts +8 -2
  74. package/src/logs/tag.ts +1 -1
  75. package/src/p2p/attestation_utils.ts +56 -0
  76. package/src/tests/factories.ts +9 -0
  77. package/src/tests/mocks.ts +7 -3
  78. package/src/tx/profiling.ts +5 -5
  79. package/src/tx/public_simulation_output.ts +4 -0
  80. package/src/tx/tx_receipt.ts +10 -0
  81. package/dest/logs/directional_app_tagging_secret.d.ts +0 -40
  82. package/dest/logs/directional_app_tagging_secret.d.ts.map +0 -1
@@ -1,4 +1,4 @@
1
- import { FIXED_DA_GAS, FIXED_L2_GAS, MAX_ENQUEUED_CALLS_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, MAX_TX_LIFETIME } from '@aztec/constants';
1
+ import { MAX_ENQUEUED_CALLS_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, MAX_TX_LIFETIME, PRIVATE_TX_L2_GAS_OVERHEAD, PUBLIC_TX_L2_GAS_OVERHEAD, TX_DA_GAS_OVERHEAD } from '@aztec/constants';
2
2
  import { makeTuple } from '@aztec/foundation/array';
3
3
  import { BlockNumber, CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
4
4
  import { Buffer32 } from '@aztec/foundation/buffer';
@@ -103,10 +103,10 @@ export const mockTxForRollup = (seed = 1, opts = {})=>mockTx(seed, {
103
103
  /** Mock a processed tx for testing purposes. */ export async function mockProcessedTx({ seed = 1, anchorBlockHeader, db, chainId = Fr.ZERO, version = Fr.ZERO, gasSettings = GasSettings.default({
104
104
  maxFeesPerGas: new GasFees(10, 10)
105
105
  }), vkTreeRoot = Fr.ZERO, protocolContracts = makeProtocolContracts(seed + 0x100), globalVariables = GlobalVariables.empty(), newL1ToL2Snapshot = AppendOnlyTreeSnapshot.empty(), feePayer, feePaymentPublicDataWrite, // The default gasUsed is the tx overhead.
106
- gasUsed = Gas.from({
107
- daGas: FIXED_DA_GAS,
108
- l2Gas: FIXED_L2_GAS
109
- }), privateOnly = false, avmAccumulatedData, ...mockTxOpts } = {}) {
106
+ privateOnly = false, gasUsed = Gas.from({
107
+ daGas: TX_DA_GAS_OVERHEAD,
108
+ l2Gas: privateOnly ? PRIVATE_TX_L2_GAS_OVERHEAD : PUBLIC_TX_L2_GAS_OVERHEAD
109
+ }), avmAccumulatedData, ...mockTxOpts } = {}) {
110
110
  seed *= 0x1000; // Avoid clashing with the previous mock values if seed only increases by 1.
111
111
  anchorBlockHeader ??= db?.getInitialHeader() ?? makeBlockHeader(seed);
112
112
  feePayer ??= makeAztecAddress(seed + 0x100);
@@ -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 UtilitySimulationResult {
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<UtilitySimulationResult>;
480
- static random(): UtilitySimulationResult;
479
+ static get schema(): ZodFor<UtilityExecutionResult>;
480
+ static random(): UtilityExecutionResult;
481
481
  }
482
482
  export {};
483
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsaW5nLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvcHJvZmlsaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQXFCLE1BQU0sMkJBQTJCLENBQUM7QUFFM0UsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxvQkFBb0IsRUFBOEIsTUFBTSwyQ0FBMkMsQ0FBQztBQUVsSCxNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQzNCLDBFQUEwRTtJQUMxRSxVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLDhFQUE4RTtJQUM5RSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsc0NBQXNDO0lBQ3RDLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzdCLDBFQUEwRTtJQUMxRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDO0NBQzlCLENBQUM7QUFTRixNQUFNLE1BQU0sU0FBUyxHQUFHO0lBQ3RCLDRCQUE0QjtJQUM1QixTQUFTLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsRUFBRTtRQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQTtLQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLHNEQUFzRDtJQUN0RCxVQUFVLEVBQUUsY0FBYyxDQUFDO0NBQzVCLENBQUM7QUFPRixLQUFLLGNBQWMsR0FBRztJQUNwQixZQUFZLEVBQUUsTUFBTSxDQUFDO0lBQ3JCLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixPQUFPLENBQUMsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFBO0tBQUUsQ0FB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
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"}
@@ -111,7 +111,7 @@ export class TxProfileResult {
111
111
  });
112
112
  }
113
113
  }
114
- export class UtilitySimulationResult {
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 UtilitySimulationResult(result, stats));
125
+ }).transform(({ result, stats })=>new UtilityExecutionResult(result, stats));
126
126
  }
127
127
  static random() {
128
- return new UtilitySimulationResult([
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
- constructor(revertReason: SimulationError | undefined, globalVariables: GlobalVariables, txEffect: TxEffect, publicReturnValues: NestedProcessReturnValues[], gasUsed: GasUsed);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3NpbXVsYXRpb25fb3V0cHV0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvcHVibGljX3NpbXVsYXRpb25fb3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQVcsTUFBTSwyQkFBMkIsQ0FBQztBQUtqRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCw2Q0FBNkM7QUFDN0MsTUFBTSxNQUFNLG1CQUFtQixHQUFHLEVBQUUsRUFBRSxHQUFHLFNBQVMsQ0FBQztBQUVuRCxzREFBc0Q7QUFDdEQscUJBQWEseUJBQXlCO0lBQ3BDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQztJQUM1QixNQUFNLEVBQUUseUJBQXlCLEVBQUUsQ0FBQztJQUVwQyxZQUFZLE1BQU0sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLENBQUMsRUFBRSx5QkFBeUIsRUFBRSxFQUc1RTtJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUseUJBQXlCLEdBQUcsT0FBTyxDQU9oRDtJQUVELE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLHlCQUF5QixDQUFDLENBT3JEO0lBRUQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLHlCQUF5QixDQUsxRDtJQUVELE1BQU0sQ0FBQyxLQUFLLDhCQUVYO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFNBQUksR0FBRyx5QkFBeUIsQ0FLbEQ7Q0FDRjtBQUVEOztHQUVHO0FBQ0gscUJBQWEsc0JBQXNCO0lBRXhCLFlBQVksRUFBRSxlQUFlLEdBQUcsU0FBUztJQUN6QyxlQUFlLEVBQUUsZUFBZTtJQUNoQyxRQUFRLEVBQUUsUUFBUTtJQUNsQixrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRTtJQUMvQyxPQUFPLEVBQUUsT0FBTztJQUx6QixZQUNTLFlBQVksRUFBRSxlQUFlLEdBQUcsU0FBUyxFQUN6QyxlQUFlLEVBQUUsZUFBZSxFQUNoQyxRQUFRLEVBQUUsUUFBUSxFQUNsQixrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSxFQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUNyQjtJQUVKLE1BQU0sS0FBSyxNQUFNLElBQUksTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBd0JsRDtJQUVELE9BQWEsTUFBTSxvQ0FRbEI7Q0FDRiJ9
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;AAElD,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;IALzB,YACS,YAAY,EAAE,eAAe,GAAG,SAAS,EACzC,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,QAAQ,EAClB,kBAAkB,EAAE,yBAAyB,EAAE,EAC/C,OAAO,EAAE,OAAO,EACrB;IAEJ,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,sBAAsB,CAAC,CAwBlD;IAED,OAAa,MAAM,oCAQlB;CACF"}
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
- constructor(revertReason, globalVariables, txEffect, publicReturnValues, gasUsed){
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
- }).transform((fields)=>new PublicSimulationOutput(fields.revertReason, fields.globalVariables, fields.txEffect, fields.publicReturnValues, fields.gasUsed));
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), {
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcmVjZWlwdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R4L3R4X3JlY2VpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBcUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUlqRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBVyxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFdEMsMkNBQTJDO0FBQzNDLG9CQUFZLFFBQVE7SUFDbEIsT0FBTyxZQUFZO0lBQ25CLE9BQU8sWUFBWTtJQUNuQixRQUFRLGFBQWE7SUFDckIsWUFBWSxpQkFBaUI7SUFDN0IsTUFBTSxXQUFXO0lBQ2pCLFNBQVMsY0FBYztDQUN4QjtBQUVELGlEQUFpRDtBQUNqRCxlQUFPLE1BQU0sZ0JBQWdCLEVBQUUsUUFBUSxFQU90QyxDQUFDO0FBRUYseURBQXlEO0FBQ3pELG9CQUFZLGlCQUFpQjtJQUMzQixPQUFPLFlBQVk7SUFDbkIsa0JBQWtCLHVCQUF1QjtJQUN6QyxpQkFBaUIsc0JBQXNCO0lBQ3ZDLGFBQWEsa0JBQWtCO0NBQ2hDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxxQkFBYSxTQUFTO0lBRWxCLDZDQUE2QztJQUN0QyxNQUFNLEVBQUUsTUFBTTtJQUNyQixtREFBbUQ7SUFDNUMsTUFBTSxFQUFFLFFBQVE7SUFDdkIsK0VBQStFO0lBQ3hFLGVBQWUsRUFBRSxpQkFBaUIsR0FBRyxTQUFTO0lBQ3JELGdEQUFnRDtJQUN6QyxLQUFLLEVBQUUsTUFBTSxHQUFHLFNBQVM7SUFDaEMsb0RBQW9EO0lBQzdDLGNBQWMsQ0FBQztJQUN0Qix3REFBd0Q7SUFDakQsU0FBUyxDQUFDO0lBQ2pCLDhEQUE4RDtJQUN2RCxXQUFXLENBQUM7SUFkckI7SUFDRSw2Q0FBNkM7SUFDdEMsTUFBTSxFQUFFLE1BQU07SUFDckIsbURBQW1EO0lBQzVDLE1BQU0sRUFBRSxRQUFRO0lBQ3ZCLCtFQUErRTtJQUN4RSxlQUFlLEVBQUUsaUJBQWlCLEdBQUcsU0FBUztJQUNyRCxnREFBZ0Q7SUFDekMsS0FBSyxFQUFFLE1BQU0sR0FBRyxTQUFTO0lBQ2hDLG9EQUFvRDtJQUM3QyxjQUFjLENBQUMsb0JBQVE7SUFDOUIsd0RBQXdEO0lBQ2pELFNBQVMsQ0FBQyx1QkFBVztJQUM1Qiw4REFBOEQ7SUFDdkQsV0FBVyxDQUFDLHlCQUFhLEVBQzlCO0lBRUosaUVBQWlFO0lBQ2pFLHFCQUFxQixJQUFJLE9BQU8sQ0FFL0I7SUFFRCwwREFBMEQ7SUFDMUQsb0JBQW9CLElBQUksT0FBTyxDQUU5QjtJQUVELG1IQUFtSDtJQUNuSCxPQUFPLElBQUksT0FBTyxDQU9qQjtJQUVELGtEQUFrRDtJQUNsRCxTQUFTLElBQUksT0FBTyxDQUVuQjtJQUVELG1EQUFtRDtJQUNuRCxTQUFTLElBQUksT0FBTyxDQUVuQjtJQUVELE1BQU0sQ0FBQyxLQUFLLGNBRVg7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FZckM7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNsQixNQUFNLEVBQUUsTUFBTSxDQUFDO1FBQ2YsTUFBTSxFQUFFLFFBQVEsQ0FBQztRQUNqQixlQUFlLENBQUMsRUFBRSxpQkFBaUIsQ0FBQztRQUNwQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDZixjQUFjLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDeEIsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFDO1FBQ3RCLFdBQVcsQ0FBQyxFQUFFLFdBQVcsQ0FBQztLQUMzQixhQVVBO0lBRUQsT0FBYyw2QkFBNkIsQ0FBQyxVQUFVLEVBQUUsVUFBVSxHQUFHLGlCQUFpQixDQVlyRjtDQUNGIn0=
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;IAdrB;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,EAC9B;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,CAYrC;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;KAC3B,aAUA;IAED,OAAc,6BAA6B,CAAC,UAAU,EAAE,UAAU,GAAG,iBAAiB,CAYrF;CACF"}
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"}
@@ -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
- 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){
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.1",
3
+ "version": "4.0.0-rc.10",
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.1",
94
- "@aztec/blob-lib": "4.0.0-rc.1",
95
- "@aztec/constants": "4.0.0-rc.1",
96
- "@aztec/ethereum": "4.0.0-rc.1",
97
- "@aztec/foundation": "4.0.0-rc.1",
98
- "@aztec/l1-artifacts": "4.0.0-rc.1",
99
- "@aztec/noir-noirc_abi": "4.0.0-rc.1",
100
- "@aztec/validator-ha-signer": "4.0.0-rc.1",
93
+ "@aztec/bb.js": "4.0.0-rc.10",
94
+ "@aztec/blob-lib": "4.0.0-rc.10",
95
+ "@aztec/constants": "4.0.0-rc.10",
96
+ "@aztec/ethereum": "4.0.0-rc.10",
97
+ "@aztec/foundation": "4.0.0-rc.10",
98
+ "@aztec/l1-artifacts": "4.0.0-rc.10",
99
+ "@aztec/noir-noirc_abi": "4.0.0-rc.10",
100
+ "@aztec/validator-ha-signer": "4.0.0-rc.10",
101
101
  "@google-cloud/storage": "^7.15.0",
102
102
  "axios": "^1.12.0",
103
103
  "json-stringify-deterministic": "1.0.12",
@@ -135,10 +135,7 @@ export class FunctionSignatureDecoder {
135
135
  case 'field':
136
136
  return 'Field';
137
137
  case 'integer':
138
- if (param.sign === 'signed') {
139
- throw new Error('Unsupported type: signed integer');
140
- }
141
- return `u${param.width}`;
138
+ return param.sign === 'signed' ? `i${param.width}` : `u${param.width}`;
142
139
  case 'boolean':
143
140
  return 'bool';
144
141
  case 'array':
@@ -123,14 +123,17 @@ class ArgumentEncoder {
123
123
  }
124
124
  break;
125
125
  }
126
- case 'integer':
127
- if (typeof arg === 'string') {
128
- const value = BigInt(arg);
129
- this.flattened.push(new Fr(value));
126
+ case 'integer': {
127
+ const value = BigInt(arg);
128
+ if (abiType.sign === 'signed' && value < 0n) {
129
+ // Convert negative values to two's complement representation
130
+ const twosComplement = value + (1n << BigInt(abiType.width));
131
+ this.flattened.push(new Fr(twosComplement));
130
132
  } else {
131
- this.flattened.push(new Fr(arg));
133
+ this.flattened.push(new Fr(value));
132
134
  }
133
135
  break;
136
+ }
134
137
  default:
135
138
  throw new Error(`Unsupported type: ${abiType.kind}`);
136
139
  }
@@ -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
 
@@ -109,6 +109,27 @@ export class L2BlockStream {
109
109
 
110
110
  let nextBlockNumber = latestBlockNumber + 1;
111
111
  let nextCheckpointToEmit = CheckpointNumber(localTips.checkpointed.checkpoint.number + 1);
112
+
113
+ // When startingBlock is set, also skip ahead for checkpoints.
114
+ if (
115
+ this.opts.startingBlock !== undefined &&
116
+ this.opts.startingBlock >= 1 &&
117
+ nextCheckpointToEmit <= sourceTips.checkpointed.checkpoint.number
118
+ ) {
119
+ const startingBlockCheckpoints = await this.l2BlockSource.getCheckpointedBlocks(
120
+ BlockNumber(this.opts.startingBlock),
121
+ 1,
122
+ );
123
+ if (startingBlockCheckpoints.length > 0) {
124
+ nextCheckpointToEmit = CheckpointNumber(
125
+ Math.max(nextCheckpointToEmit, startingBlockCheckpoints[0].checkpointNumber),
126
+ );
127
+ } else {
128
+ // startingBlock is past all checkpointed blocks; skip Loop 1 entirely.
129
+ nextCheckpointToEmit = CheckpointNumber(sourceTips.checkpointed.checkpoint.number + 1);
130
+ }
131
+ }
132
+
112
133
  if (this.opts.skipFinalized) {
113
134
  // When skipping finalized blocks we need to provide reliable reorg detection while fetching as few blocks as
114
135
  // possible. Finalized blocks cannot be reorged by definition, so we can skip most of them. We do need the very
@@ -1,14 +1,19 @@
1
- import type { ConfigMappingsType } from '@aztec/foundation/config';
1
+ import { type ConfigMappingsType, numberConfigHelper } from '@aztec/foundation/config';
2
2
 
3
3
  import type { SequencerConfig } from '../interfaces/configs.js';
4
4
 
5
+ /** Default maximum number of transactions per block. */
6
+ export const DEFAULT_MAX_TXS_PER_BLOCK = 32;
7
+
5
8
  /**
6
9
  * Partial sequencer config mappings for fields that need to be shared across packages.
7
10
  * The full sequencer config mappings remain in sequencer-client, but shared fields
8
11
  * (like blockDurationMs needed by both p2p and sequencer-client) are defined here
9
12
  * to avoid duplication.
10
13
  */
11
- export const sharedSequencerConfigMappings: ConfigMappingsType<Pick<SequencerConfig, 'blockDurationMs'>> = {
14
+ export const sharedSequencerConfigMappings: ConfigMappingsType<
15
+ Pick<SequencerConfig, 'blockDurationMs' | 'expectedBlockProposalsPerSlot' | 'maxTxsPerBlock'>
16
+ > = {
12
17
  blockDurationMs: {
13
18
  env: 'SEQ_BLOCK_DURATION_MS',
14
19
  description:
@@ -16,4 +21,17 @@ export const sharedSequencerConfigMappings: ConfigMappingsType<Pick<SequencerCon
16
21
  'If undefined (default), builds a single block per slot using the full slot duration.',
17
22
  parseEnv: (val: string) => (val ? parseInt(val, 10) : undefined),
18
23
  },
24
+ expectedBlockProposalsPerSlot: {
25
+ env: 'SEQ_EXPECTED_BLOCK_PROPOSALS_PER_SLOT',
26
+ description:
27
+ 'Expected number of block proposals per slot for P2P peer scoring. ' +
28
+ '0 (default) disables block proposal scoring. Set to a positive value to enable.',
29
+ parseEnv: (val: string) => (val ? parseInt(val, 10) : 0),
30
+ defaultValue: 0,
31
+ },
32
+ maxTxsPerBlock: {
33
+ env: 'SEQ_MAX_TX_PER_BLOCK',
34
+ description: 'The maximum number of txs to include in a block.',
35
+ ...numberConfigHelper(DEFAULT_MAX_TXS_PER_BLOCK),
36
+ },
19
37
  };
@@ -8,7 +8,7 @@ import { type ContractClassIdPreimage, computeContractClassIdWithPreimage } from
8
8
  import type { ContractClass, ContractClassWithId } from './interfaces/index.js';
9
9
 
10
10
  /** Contract artifact including its artifact hash */
11
- type ContractArtifactWithHash = ContractArtifact & { artifactHash: Fr };
11
+ export type ContractArtifactWithHash = ContractArtifact & { artifactHash: Fr };
12
12
 
13
13
  const cmpFunctionArtifacts = <T extends { selector: FunctionSelector }>(a: T, b: T) =>
14
14
  a.selector.toField().cmp(b.selector.toField());
@@ -35,8 +35,8 @@ export async function getContractClassFromArtifact(
35
35
 
36
36
  privateArtifactFunctions.sort(cmpFunctionArtifacts);
37
37
 
38
- const contractClass: ContractClass = {
39
- version: 1,
38
+ const contractClass = {
39
+ version: 1 as const,
40
40
  artifactHash,
41
41
  packedBytecode,
42
42
  privateFunctions: privateArtifactFunctions,
@@ -65,6 +65,8 @@ export interface SequencerConfig {
65
65
  shuffleAttestationOrdering?: boolean;
66
66
  /** Duration per block in milliseconds when building multiple blocks per slot (default: undefined = single block per slot) */
67
67
  blockDurationMs?: number;
68
+ /** Expected number of block proposals per slot for P2P peer scoring. 0 disables scoring, undefined falls back to blocksPerSlot - 1. */
69
+ expectedBlockProposalsPerSlot?: number;
68
70
  /** Have sequencer build and publish an empty checkpoint if there are no txs */
69
71
  buildCheckpointIfEmpty?: boolean;
70
72
  /** Skip pushing proposed blocks to archiver (default: false) */
@@ -105,6 +107,7 @@ export const SequencerConfigSchema = zodFor<SequencerConfig>()(
105
107
  fishermanMode: z.boolean().optional(),
106
108
  shuffleAttestationOrdering: z.boolean().optional(),
107
109
  blockDurationMs: z.number().positive().optional(),
110
+ expectedBlockProposalsPerSlot: z.number().nonnegative().optional(),
108
111
  buildCheckpointIfEmpty: z.boolean().optional(),
109
112
  skipPushProposedBlocksToArchiver: z.boolean().optional(),
110
113
  minBlocksForCheckpoint: z.number().positive().optional(),
@@ -115,6 +118,7 @@ export const SequencerConfigSchema = zodFor<SequencerConfig>()(
115
118
  type SequencerConfigOptionalKeys =
116
119
  | 'governanceProposerPayload'
117
120
  | 'blockDurationMs'
121
+ | 'expectedBlockProposalsPerSlot'
118
122
  | 'coinbase'
119
123
  | 'feeRecipient'
120
124
  | 'acvmWorkingDirectory'
@@ -62,7 +62,7 @@ export type ValidatorClientConfig = ValidatorHASignerConfig & {
62
62
  };
63
63
 
64
64
  export type ValidatorClientFullConfig = ValidatorClientConfig &
65
- Pick<SequencerConfig, 'txPublicSetupAllowList' | 'broadcastInvalidBlockProposal'> &
65
+ Pick<SequencerConfig, 'txPublicSetupAllowList' | 'broadcastInvalidBlockProposal' | 'maxTxsPerBlock'> &
66
66
  Pick<
67
67
  SlasherConfig,
68
68
  'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty' | 'slashDuplicateAttestationPenalty'
@@ -93,6 +93,7 @@ export const ValidatorClientFullConfigSchema = zodFor<Omit<ValidatorClientFullCo
93
93
  ValidatorClientConfigSchema.extend({
94
94
  txPublicSetupAllowList: z.array(AllowedElementSchema).optional(),
95
95
  broadcastInvalidBlockProposal: z.boolean().optional(),
96
+ maxTxsPerBlock: z.number().optional(),
96
97
  slashBroadcastedInvalidBlockPenalty: schemas.BigInt,
97
98
  slashDuplicateProposalPenalty: schemas.BigInt,
98
99
  slashDuplicateAttestationPenalty: schemas.BigInt,
@@ -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
+ }