@aztec/simulator 0.71.0 → 0.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/README.md +1 -1
  2. package/dest/acvm/oracle/oracle.d.ts +0 -1
  3. package/dest/acvm/oracle/oracle.d.ts.map +1 -1
  4. package/dest/acvm/oracle/oracle.js +1 -5
  5. package/dest/acvm/oracle/typed_oracle.d.ts +0 -1
  6. package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
  7. package/dest/acvm/oracle/typed_oracle.js +1 -4
  8. package/dest/avm/avm_simulator.d.ts +0 -1
  9. package/dest/avm/avm_simulator.d.ts.map +1 -1
  10. package/dest/avm/avm_simulator.js +4 -19
  11. package/dest/avm/avm_tree.d.ts +9 -8
  12. package/dest/avm/avm_tree.d.ts.map +1 -1
  13. package/dest/avm/avm_tree.js +35 -30
  14. package/dest/avm/errors.d.ts +6 -0
  15. package/dest/avm/errors.d.ts.map +1 -1
  16. package/dest/avm/errors.js +10 -1
  17. package/dest/avm/fixtures/avm_simulation_tester.d.ts +21 -0
  18. package/dest/avm/fixtures/avm_simulation_tester.d.ts.map +1 -0
  19. package/dest/avm/fixtures/avm_simulation_tester.js +74 -0
  20. package/dest/avm/fixtures/base_avm_simulation_tester.d.ts +35 -0
  21. package/dest/avm/fixtures/base_avm_simulation_tester.d.ts.map +1 -0
  22. package/dest/avm/fixtures/base_avm_simulation_tester.js +76 -0
  23. package/dest/avm/fixtures/index.d.ts +6 -2
  24. package/dest/avm/fixtures/index.d.ts.map +1 -1
  25. package/dest/avm/fixtures/index.js +28 -14
  26. package/dest/avm/fixtures/simple_contract_data_source.d.ts +31 -0
  27. package/dest/avm/fixtures/simple_contract_data_source.d.ts.map +1 -0
  28. package/dest/avm/fixtures/simple_contract_data_source.js +75 -0
  29. package/dest/avm/journal/journal.d.ts +5 -6
  30. package/dest/avm/journal/journal.d.ts.map +1 -1
  31. package/dest/avm/journal/journal.js +28 -26
  32. package/dest/avm/opcodes/accrued_substate.d.ts.map +1 -1
  33. package/dest/avm/opcodes/accrued_substate.js +4 -3
  34. package/dest/avm/opcodes/conversion.d.ts.map +1 -1
  35. package/dest/avm/opcodes/conversion.js +10 -7
  36. package/dest/avm/opcodes/ec_add.js +2 -2
  37. package/dest/avm/opcodes/hashing.js +2 -2
  38. package/dest/avm/opcodes/multi_scalar_mul.d.ts.map +1 -1
  39. package/dest/avm/opcodes/multi_scalar_mul.js +9 -7
  40. package/dest/avm/test_utils.d.ts +1 -1
  41. package/dest/avm/test_utils.d.ts.map +1 -1
  42. package/dest/avm/test_utils.js +4 -3
  43. package/dest/client/client_execution_context.d.ts +2 -6
  44. package/dest/client/client_execution_context.d.ts.map +1 -1
  45. package/dest/client/client_execution_context.js +23 -26
  46. package/dest/client/execution_note_cache.d.ts +3 -3
  47. package/dest/client/execution_note_cache.d.ts.map +1 -1
  48. package/dest/client/execution_note_cache.js +10 -10
  49. package/dest/client/pick_notes.js +5 -5
  50. package/dest/client/simulator.js +4 -4
  51. package/dest/client/view_data_oracle.js +2 -2
  52. package/dest/common/hashed_values_cache.d.ts +1 -1
  53. package/dest/common/hashed_values_cache.d.ts.map +1 -1
  54. package/dest/common/hashed_values_cache.js +5 -5
  55. package/dest/providers/acvm_wasm.d.ts +2 -0
  56. package/dest/providers/acvm_wasm.d.ts.map +1 -1
  57. package/dest/providers/acvm_wasm.js +15 -2
  58. package/dest/public/execution.d.ts +8 -26
  59. package/dest/public/execution.d.ts.map +1 -1
  60. package/dest/public/execution.js +3 -3
  61. package/dest/public/fee_payment.d.ts +2 -2
  62. package/dest/public/fee_payment.d.ts.map +1 -1
  63. package/dest/public/fee_payment.js +3 -3
  64. package/dest/public/fixtures/index.d.ts +2 -37
  65. package/dest/public/fixtures/index.d.ts.map +1 -1
  66. package/dest/public/fixtures/index.js +3 -247
  67. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +21 -0
  68. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -0
  69. package/dest/public/fixtures/public_tx_simulation_tester.js +89 -0
  70. package/dest/public/fixtures/utils.d.ts +17 -0
  71. package/dest/public/fixtures/utils.d.ts.map +1 -0
  72. package/dest/public/fixtures/utils.js +66 -0
  73. package/dest/public/index.d.ts +1 -1
  74. package/dest/public/index.d.ts.map +1 -1
  75. package/dest/public/index.js +2 -2
  76. package/dest/public/public_db_sources.d.ts +2 -1
  77. package/dest/public/public_db_sources.d.ts.map +1 -1
  78. package/dest/public/public_db_sources.js +27 -21
  79. package/dest/public/public_processor.d.ts +4 -5
  80. package/dest/public/public_processor.d.ts.map +1 -1
  81. package/dest/public/public_processor.js +28 -28
  82. package/dest/public/public_tx_context.d.ts +5 -5
  83. package/dest/public/public_tx_context.d.ts.map +1 -1
  84. package/dest/public/public_tx_context.js +44 -18
  85. package/dest/public/public_tx_simulator.d.ts.map +1 -1
  86. package/dest/public/public_tx_simulator.js +9 -12
  87. package/dest/public/{enqueued_call_side_effect_trace.d.ts → side_effect_trace.d.ts} +12 -15
  88. package/dest/public/side_effect_trace.d.ts.map +1 -0
  89. package/dest/public/side_effect_trace.js +350 -0
  90. package/dest/public/side_effect_trace_interface.d.ts +4 -5
  91. package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
  92. package/dest/test/utils.d.ts +1 -1
  93. package/dest/test/utils.d.ts.map +1 -1
  94. package/dest/test/utils.js +3 -3
  95. package/package.json +10 -10
  96. package/src/acvm/oracle/oracle.ts +0 -5
  97. package/src/acvm/oracle/typed_oracle.ts +0 -4
  98. package/src/avm/avm_simulator.ts +3 -27
  99. package/src/avm/avm_tree.ts +39 -37
  100. package/src/avm/errors.ts +10 -0
  101. package/src/avm/fixtures/avm_simulation_tester.ts +105 -0
  102. package/src/avm/fixtures/base_avm_simulation_tester.ts +104 -0
  103. package/src/avm/fixtures/index.ts +46 -17
  104. package/src/avm/fixtures/simple_contract_data_source.ts +98 -0
  105. package/src/avm/journal/journal.ts +28 -26
  106. package/src/avm/opcodes/accrued_substate.ts +3 -2
  107. package/src/avm/opcodes/conversion.ts +15 -6
  108. package/src/avm/opcodes/ec_add.ts +1 -1
  109. package/src/avm/opcodes/hashing.ts +1 -1
  110. package/src/avm/opcodes/multi_scalar_mul.ts +8 -6
  111. package/src/avm/test_utils.ts +3 -4
  112. package/src/client/client_execution_context.ts +29 -30
  113. package/src/client/execution_note_cache.ts +19 -14
  114. package/src/client/pick_notes.ts +4 -4
  115. package/src/client/simulator.ts +3 -3
  116. package/src/client/view_data_oracle.ts +1 -1
  117. package/src/common/hashed_values_cache.ts +4 -4
  118. package/src/providers/acvm_wasm.ts +13 -2
  119. package/src/public/execution.ts +10 -34
  120. package/src/public/fee_payment.ts +2 -2
  121. package/src/public/fixtures/index.ts +2 -381
  122. package/src/public/fixtures/public_tx_simulation_tester.ts +174 -0
  123. package/src/public/fixtures/utils.ts +110 -0
  124. package/src/public/index.ts +1 -1
  125. package/src/public/public_db_sources.ts +31 -20
  126. package/src/public/public_processor.ts +32 -30
  127. package/src/public/public_tx_context.ts +87 -28
  128. package/src/public/public_tx_simulator.ts +7 -14
  129. package/src/public/{enqueued_call_side_effect_trace.ts → side_effect_trace.ts} +29 -41
  130. package/src/public/side_effect_trace_interface.ts +4 -4
  131. package/src/test/utils.ts +2 -2
  132. package/dest/public/enqueued_call_side_effect_trace.d.ts.map +0 -1
  133. package/dest/public/enqueued_call_side_effect_trace.js +0 -357
  134. package/dest/public/transitional_adapters.d.ts +0 -4
  135. package/dest/public/transitional_adapters.d.ts.map +0 -1
  136. package/dest/public/transitional_adapters.js +0 -29
  137. package/src/public/transitional_adapters.ts +0 -113
@@ -1,9 +1,13 @@
1
+ import { createLogger } from '@aztec/foundation/log';
1
2
  import { foreignCallHandler } from '@aztec/noir-protocol-circuits-types/client';
2
3
  import initACVM, { executeCircuit } from '@noir-lang/acvm_js';
3
4
  import initAbi from '@noir-lang/noirc_abi';
4
5
  import { acvm } from '../acvm/acvm.js';
5
6
  import { parseErrorPayload } from '../common/simulation_provider.js';
6
7
  export class WASMSimulator {
8
+ constructor(log = createLogger('wasm-simulator')) {
9
+ this.log = log;
10
+ }
7
11
  async init() {
8
12
  // If these are available, then we are in the
9
13
  // web environment. For the node environment, this
@@ -14,6 +18,7 @@ export class WASMSimulator {
14
18
  }
15
19
  }
16
20
  async executeProtocolCircuit(input, compiledCircuit) {
21
+ this.log.debug('init', { hash: compiledCircuit.hash });
17
22
  await this.init();
18
23
  // Execute the circuit on those initial witness values
19
24
  //
@@ -23,13 +28,21 @@ export class WASMSimulator {
23
28
  // Execute the circuit
24
29
  try {
25
30
  const _witnessMap = await executeCircuit(decodedBytecode, input, foreignCallHandler);
31
+ this.log.debug('execution successful', { hash: compiledCircuit.hash });
26
32
  return _witnessMap;
27
33
  }
28
34
  catch (err) {
29
35
  // Typescript types catched errors as unknown or any, so we need to narrow its type to check if it has raw assertion payload.
30
36
  if (typeof err === 'object' && err !== null && 'rawAssertionPayload' in err) {
31
- throw parseErrorPayload(compiledCircuit.abi, err);
37
+ const parsed = parseErrorPayload(compiledCircuit.abi, err);
38
+ this.log.debug('execution failed', {
39
+ hash: compiledCircuit.hash,
40
+ error: parsed,
41
+ message: parsed.message,
42
+ });
43
+ throw parsed;
32
44
  }
45
+ this.log.debug('execution failed', { hash: compiledCircuit.hash, error: err });
33
46
  throw new Error(`Circuit execution failed: ${err}`);
34
47
  }
35
48
  }
@@ -38,4 +51,4 @@ export class WASMSimulator {
38
51
  return acvm(acir, initialWitness, callback);
39
52
  }
40
53
  }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN2bV93YXNtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy9hY3ZtX3dhc20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFHaEYsT0FBTyxRQUFRLEVBQUUsRUFBdUIsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkYsT0FBTyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFHM0MsT0FBTyxFQUFxQixJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRCxPQUFPLEVBQTJCLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFOUYsTUFBTSxPQUFPLGFBQWE7SUFDeEIsS0FBSyxDQUFDLElBQUk7UUFDUiw2Q0FBNkM7UUFDN0Msa0RBQWtEO1FBQ2xELGNBQWM7UUFDZCxJQUFJLE9BQU8sT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ2xDLDhGQUE4RjtZQUM5RixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0MsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsc0JBQXNCLENBQUMsS0FBaUIsRUFBRSxlQUFvQztRQUNsRixNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQixzREFBc0Q7UUFDdEQsRUFBRTtRQUNGLHFGQUFxRjtRQUNyRixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEUsRUFBRTtRQUNGLHNCQUFzQjtRQUN0QixJQUFJLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBRyxNQUFNLGNBQWMsQ0FDdEMsZUFBZSxFQUNmLEtBQUssRUFDTCxrQkFBa0IsQ0FDbkIsQ0FBQztZQUVGLE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsNkhBQTZIO1lBQzdILElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUkscUJBQXFCLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQzVFLE1BQU0saUJBQWlCLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFxQixDQUFDLENBQUM7WUFDdEUsQ0FBQztZQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBWSxFQUFFLGNBQTJCLEVBQUUsUUFBc0I7UUFDeEYsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0YifQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN2bV93YXNtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy9hY3ZtX3dhc20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBR2hGLE9BQU8sUUFBUSxFQUFFLEVBQXVCLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25GLE9BQU8sT0FBTyxNQUFNLHNCQUFzQixDQUFDO0FBRzNDLE9BQU8sRUFBcUIsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUEyQixpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTlGLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQXNCLE1BQU0sWUFBWSxDQUFDLGdCQUFnQixDQUFDO1FBQXBDLFFBQUcsR0FBSCxHQUFHLENBQWlDO0lBQUcsQ0FBQztJQUU5RCxLQUFLLENBQUMsSUFBSTtRQUNSLDZDQUE2QztRQUM3QyxrREFBa0Q7UUFDbEQsY0FBYztRQUNkLElBQUksT0FBTyxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDbEMsOEZBQThGO1lBQzlGLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3QyxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxLQUFpQixFQUFFLGVBQW9DO1FBQ2xGLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN2RCxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQixzREFBc0Q7UUFDdEQsRUFBRTtRQUNGLHFGQUFxRjtRQUNyRixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEUsRUFBRTtRQUNGLHNCQUFzQjtRQUN0QixJQUFJLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBRyxNQUFNLGNBQWMsQ0FDdEMsZUFBZSxFQUNmLEtBQUssRUFDTCxrQkFBa0IsQ0FDbkIsQ0FBQztZQUNGLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLEVBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsNkhBQTZIO1lBQzdILElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUkscUJBQXFCLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQzVFLE1BQU0sTUFBTSxHQUFHLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBcUIsQ0FBQyxDQUFDO2dCQUM3RSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRTtvQkFDakMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxJQUFJO29CQUMxQixLQUFLLEVBQUUsTUFBTTtvQkFDYixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87aUJBQ3hCLENBQUMsQ0FBQztnQkFDSCxNQUFNLE1BQU0sQ0FBQztZQUNmLENBQUM7WUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQy9FLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBWSxFQUFFLGNBQTJCLEVBQUUsUUFBc0I7UUFDeEYsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0YifQ==
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  /// <reference types="node" resolution-mode="require"/>
3
- import { type PublicExecutionRequest, type SimulationError, type UnencryptedFunctionL2Logs } from '@aztec/circuit-types';
4
- import { type AvmExecutionHints, type ContractStorageRead, type ContractStorageUpdateRequest, type Fr, Gas, type L2ToL1Message, type LogHash, type NoteHash, type Nullifier, type PublicDataUpdateRequest, PublicInnerCallRequest, type ReadRequest, type ScopedL2ToL1Message, type ScopedLogHash, type TreeLeafReadRequest } from '@aztec/circuits.js';
3
+ import { type PublicExecutionRequest, type SimulationError } from '@aztec/circuit-types';
4
+ import { type AvmExecutionHints, type ContractStorageRead, type ContractStorageUpdateRequest, type Fr, Gas, type L2ToL1Message, type NoteHash, type Nullifier, type PublicDataUpdateRequest, PublicInnerCallRequest, type PublicLog, type ReadRequest, type ScopedL2ToL1Message, type TreeLeafReadRequest } from '@aztec/circuits.js';
5
5
  export interface PublicSideEffects {
6
6
  /** The contract storage update requests performed. */
7
7
  publicDataWrites: PublicDataUpdateRequest[];
@@ -11,16 +11,8 @@ export interface PublicSideEffects {
11
11
  nullifiers: Nullifier[];
12
12
  /** The new l2 to l1 messages generated to be inserted into the messages tree. */
13
13
  l2ToL1Messages: ScopedL2ToL1Message[];
14
- /**
15
- * The hashed logs with side effect counter.
16
- * Note: required as we don't track the counter anywhere else.
17
- */
18
- unencryptedLogsHashes: ScopedLogHash[];
19
- /**
20
- * Unencrypted logs emitted during execution.
21
- * Note: These are preimages to `unencryptedLogsHashes`.
22
- */
23
- unencryptedLogs: UnencryptedFunctionL2Logs;
14
+ /** Public logs emitted during execution. */
15
+ publicLogs: PublicLog[];
24
16
  }
25
17
  export interface EnqueuedPublicCallExecutionResult {
26
18
  /** How much gas was left after this public execution. */
@@ -93,20 +85,10 @@ export interface PublicFunctionCallResult {
93
85
  /** L1 to L2 message read requests emitted in this call. */
94
86
  l1ToL2MsgReadRequests: TreeLeafReadRequest[];
95
87
  /**
96
- * The hashed logs with side effect counter.
97
- * Note: required as we don't track the counter anywhere else.
98
- */
99
- unencryptedLogsHashes: LogHash[];
100
- /**
101
- * Unencrypted logs emitted during execution of this function call.
102
- * Note: These are preimages to `unencryptedLogsHashes`.
103
- */
104
- unencryptedLogs: UnencryptedFunctionL2Logs;
105
- /**
106
- * Unencrypted logs emitted during this call AND any nested calls.
107
- * Useful for maintaining correct ordering in ts.
88
+ * The public logs emitted in this call.
89
+ * Note: PublicLog has no counter - unsure if this is needed bc this struct is unused
108
90
  */
109
- allUnencryptedLogs: UnencryptedFunctionL2Logs;
91
+ publicLogs: PublicLog[];
110
92
  /** The requests to call public functions made by this call. */
111
93
  publicCallRequests: PublicInnerCallRequest[];
112
94
  /** The results of nested calls. */
@@ -116,5 +98,5 @@ export interface PublicFunctionCallResult {
116
98
  /** The name of the function that was executed. Only used for logging. */
117
99
  functionName: string;
118
100
  }
119
- export declare function resultToPublicCallRequest(result: PublicFunctionCallResult): PublicInnerCallRequest;
101
+ export declare function resultToPublicCallRequest(result: PublicFunctionCallResult): Promise<PublicInnerCallRequest>;
120
102
  //# sourceMappingURL=execution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/public/execution.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/public/execution.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { Gas, PublicCallStackItemCompressed, PublicInnerCallRequest, RevertCode, } from '@aztec/circuits.js';
2
2
  import { computeVarArgsHash } from '@aztec/circuits.js/hash';
3
- export function resultToPublicCallRequest(result) {
3
+ export async function resultToPublicCallRequest(result) {
4
4
  const request = result.executionRequest;
5
- const item = new PublicCallStackItemCompressed(request.callContext.contractAddress, request.callContext, computeVarArgsHash(request.args), computeVarArgsHash(result.returnValues),
5
+ const item = new PublicCallStackItemCompressed(request.callContext.contractAddress, request.callContext, await computeVarArgsHash(request.args), await computeVarArgsHash(result.returnValues),
6
6
  // TODO(@just-mitch): need better mapping from simulator to revert code.
7
7
  result.reverted ? RevertCode.APP_LOGIC_REVERTED : RevertCode.OK, Gas.from(result.startGasLeft), Gas.from(result.endGasLeft));
8
8
  return new PublicInnerCallRequest(item, result.startSideEffectCounter.toNumber());
9
9
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUtMLEdBQUcsRUFLSCw2QkFBNkIsRUFFN0Isc0JBQXNCLEVBRXRCLFVBQVUsR0FJWCxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBaUk3RCxNQUFNLFVBQVUseUJBQXlCLENBQUMsTUFBZ0M7SUFDeEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO0lBQ3hDLE1BQU0sSUFBSSxHQUFHLElBQUksNkJBQTZCLENBQzVDLE9BQU8sQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUNuQyxPQUFPLENBQUMsV0FBVyxFQUNuQixrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQ2hDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7SUFDdkMsd0VBQXdFO0lBQ3hFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFDL0QsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQzdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUM1QixDQUFDO0lBQ0YsT0FBTyxJQUFJLHNCQUFzQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsc0JBQXNCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUNwRixDQUFDIn0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1YmxpYy9leGVjdXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUtMLEdBQUcsRUFJSCw2QkFBNkIsRUFFN0Isc0JBQXNCLEVBR3RCLFVBQVUsR0FHWCxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBOEc3RCxNQUFNLENBQUMsS0FBSyxVQUFVLHlCQUF5QixDQUFDLE1BQWdDO0lBQzlFLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztJQUN4QyxNQUFNLElBQUksR0FBRyxJQUFJLDZCQUE2QixDQUM1QyxPQUFPLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFDbkMsT0FBTyxDQUFDLFdBQVcsRUFDbkIsTUFBTSxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQ3RDLE1BQU0sa0JBQWtCLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztJQUM3Qyx3RUFBd0U7SUFDeEUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUMvRCxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFDN0IsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQzVCLENBQUM7SUFDRixPQUFPLElBQUksc0JBQXNCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQ3BGLENBQUMifQ==
@@ -3,9 +3,9 @@ import { Fr } from '@aztec/foundation/fields';
3
3
  /**
4
4
  * Computes the storage slot within the Fee Juice contract for the balance of the fee payer.
5
5
  */
6
- export declare function computeFeePayerBalanceStorageSlot(feePayer: AztecAddress): Fr;
6
+ export declare function computeFeePayerBalanceStorageSlot(feePayer: AztecAddress): Promise<Fr>;
7
7
  /**
8
8
  * Computes the leaf slot in the public data tree for the balance of the fee payer in the Fee Juice.
9
9
  */
10
- export declare function computeFeePayerBalanceLeafSlot(feePayer: AztecAddress): Fr;
10
+ export declare function computeFeePayerBalanceLeafSlot(feePayer: AztecAddress): Promise<Fr>;
11
11
  //# sourceMappingURL=fee_payment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fee_payment.d.ts","sourceRoot":"","sources":["../../src/public/fee_payment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAI9C;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,YAAY,MAEvE;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,YAAY,GAAG,EAAE,CAMzE"}
1
+ {"version":3,"file":"fee_payment.d.ts","sourceRoot":"","sources":["../../src/public/fee_payment.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAI9C;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,YAAY,eAEvE;AAED;;GAEG;AACH,wBAAsB,8BAA8B,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAMxF"}
@@ -11,11 +11,11 @@ export function computeFeePayerBalanceStorageSlot(feePayer) {
11
11
  /**
12
12
  * Computes the leaf slot in the public data tree for the balance of the fee payer in the Fee Juice.
13
13
  */
14
- export function computeFeePayerBalanceLeafSlot(feePayer) {
14
+ export async function computeFeePayerBalanceLeafSlot(feePayer) {
15
15
  if (feePayer.isZero()) {
16
16
  return Fr.ZERO;
17
17
  }
18
- const balanceSlot = computeFeePayerBalanceStorageSlot(feePayer);
18
+ const balanceSlot = await computeFeePayerBalanceStorageSlot(feePayer);
19
19
  return computePublicDataTreeLeafSlot(ProtocolContractAddress.FeeJuice, balanceSlot);
20
20
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX3BheW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL2ZlZV9wYXltZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUV2RTs7R0FFRztBQUNILE1BQU0sVUFBVSxpQ0FBaUMsQ0FBQyxRQUFzQjtJQUN0RSxPQUFPLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3hGLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxRQUFzQjtJQUNuRSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBQ3RCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQztJQUNqQixDQUFDO0lBQ0QsTUFBTSxXQUFXLEdBQUcsaUNBQWlDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEUsT0FBTyw2QkFBNkIsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDdEYsQ0FBQyJ9
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX3BheW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL2ZlZV9wYXltZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUV2RTs7R0FFRztBQUNILE1BQU0sVUFBVSxpQ0FBaUMsQ0FBQyxRQUFzQjtJQUN0RSxPQUFPLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3hGLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsOEJBQThCLENBQUMsUUFBc0I7SUFDekUsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUN0QixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUM7SUFDakIsQ0FBQztJQUNELE1BQU0sV0FBVyxHQUFHLE1BQU0saUNBQWlDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEUsT0FBTyw2QkFBNkIsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDdEYsQ0FBQyJ9
@@ -1,38 +1,3 @@
1
- import { type MerkleTreeWriteOperations, PublicExecutionRequest, Tx } from '@aztec/circuit-types';
2
- import { type AvmCircuitInputs, type ContractClassPublic, type ContractDataSource, type ContractInstanceWithAddress, FunctionSelector, Gas, type PublicFunction } from '@aztec/circuits.js';
3
- import { type ContractArtifact } from '@aztec/foundation/abi';
4
- import { AztecAddress } from '@aztec/foundation/aztec-address';
5
- import { Fr } from '@aztec/foundation/fields';
6
- export declare function simulateAvmTestContractGenerateCircuitInputs(setupFunctionNames: string[], setupArgs: Fr[][] | undefined, appFunctionNames: string[], appArgs?: Fr[][], teardownFunctionName?: string, teardownArgs?: Fr[], expectRevert?: boolean, contractDataSource?: MockedAvmTestContractDataSource, assertionErrString?: string): Promise<AvmCircuitInputs>;
7
- export declare function simulateAvmTestContractCall(functionName: string, args?: Fr[], expectRevert?: boolean, contractDataSource?: MockedAvmTestContractDataSource): Promise<void>;
8
- /**
9
- * Craft a carrier transaction for some public calls for simulation by PublicTxSimulator.
10
- */
11
- export declare function createTxForPublicCalls(setupExecutionRequests: PublicExecutionRequest[], appExecutionRequests: PublicExecutionRequest[], teardownExecutionRequest?: PublicExecutionRequest, gasUsedByPrivate?: Gas): Tx;
12
- export declare class MockedAvmTestContractDataSource implements ContractDataSource {
13
- private skipContractDeployments;
14
- private fnName;
15
- fnSelector: FunctionSelector;
16
- private bytecode;
17
- private publicFn;
18
- private bytecodeCommitment;
19
- private contractClasses;
20
- contractInstances: Map<string, ContractInstanceWithAddress>;
21
- firstContractInstance: ContractInstanceWithAddress;
22
- instanceSameClassAsFirstContract: ContractInstanceWithAddress;
23
- otherContractInstance: ContractInstanceWithAddress;
24
- constructor(skipContractDeployments?: boolean);
25
- deployContracts(merkleTrees: MerkleTreeWriteOperations): Promise<void>;
26
- static create(merkleTrees: MerkleTreeWriteOperations, skipContractDeployments?: boolean): Promise<MockedAvmTestContractDataSource>;
27
- getPublicFunction(_address: AztecAddress, _selector: FunctionSelector): Promise<PublicFunction>;
28
- getBlockNumber(): Promise<number>;
29
- getContractClass(id: Fr): Promise<ContractClassPublic | undefined>;
30
- getBytecodeCommitment(_id: Fr): Promise<Fr>;
31
- addContractClass(_contractClass: ContractClassPublic): Promise<void>;
32
- getContract(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
33
- getContractClassIds(): Promise<Fr[]>;
34
- getContractArtifact(_address: AztecAddress): Promise<ContractArtifact | undefined>;
35
- getContractFunctionName(_address: AztecAddress, _selector: FunctionSelector): Promise<string>;
36
- registerContractFunctionSignatures(_address: AztecAddress, _signatures: string[]): Promise<void>;
37
- }
1
+ export * from './public_tx_simulation_tester.js';
2
+ export * from './utils.js';
38
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,YAAY,CAAC"}
@@ -1,247 +1,3 @@
1
- import { MerkleTreeId, PublicExecutionRequest, Tx } from '@aztec/circuit-types';
2
- import { BlockHeader, CallContext, DEFAULT_GAS_LIMIT, DEPLOYER_CONTRACT_ADDRESS, FunctionSelector, Gas, GasFees, GasSettings, GlobalVariables, MAX_L2_GAS_PER_TX_PUBLIC_PORTION, MAX_PUBLIC_CALLS_TO_UNIQUE_CONTRACT_CLASS_IDS, PartialPrivateTailPublicInputsForPublic, PrivateKernelTailCircuitPublicInputs, PublicKeys, RollupValidationRequests, SerializableContractInstance, TxConstantData, TxContext, computePublicBytecodeCommitment, } from '@aztec/circuits.js';
3
- import { siloNullifier } from '@aztec/circuits.js/hash';
4
- import { makeContractClassPublic, makeContractInstanceFromClassId } from '@aztec/circuits.js/testing';
5
- import { AztecAddress } from '@aztec/foundation/aztec-address';
6
- import { Fr, Point } from '@aztec/foundation/fields';
7
- import { openTmpStore } from '@aztec/kv-store/lmdb';
8
- import { AvmTestContractArtifact } from '@aztec/noir-contracts.js/AvmTest';
9
- import { MerkleTrees } from '@aztec/world-state';
10
- import { strict as assert } from 'assert';
11
- import { initContext, initExecutionEnvironment, initPersistableStateManager } from '../../avm/fixtures/index.js';
12
- import { AvmEphemeralForest, AvmSimulator } from '../../server.js';
13
- import { PublicEnqueuedCallSideEffectTrace } from '../enqueued_call_side_effect_trace.js';
14
- import { WorldStateDB } from '../public_db_sources.js';
15
- import { PublicTxSimulator } from '../public_tx_simulator.js';
16
- const TIMESTAMP = new Fr(99833);
17
- export async function simulateAvmTestContractGenerateCircuitInputs(setupFunctionNames, setupArgs = [], appFunctionNames, appArgs = [], teardownFunctionName, teardownArgs = [], expectRevert = false, contractDataSource = new MockedAvmTestContractDataSource(), assertionErrString) {
18
- const globals = GlobalVariables.empty();
19
- globals.timestamp = TIMESTAMP;
20
- const merkleTrees = await (await MerkleTrees.new(openTmpStore())).fork();
21
- await contractDataSource.deployContracts(merkleTrees);
22
- const worldStateDB = new WorldStateDB(merkleTrees, contractDataSource);
23
- const simulator = new PublicTxSimulator(merkleTrees, worldStateDB, globals, /*doMerkleOperations=*/ true);
24
- const sender = AztecAddress.random();
25
- const callContext = new CallContext(sender, contractDataSource.firstContractInstance.address, contractDataSource.fnSelector,
26
- /*isStaticCall=*/ false);
27
- const setupExecutionRequests = [];
28
- for (let i = 0; i < setupFunctionNames.length; i++) {
29
- const functionSelector = getAvmTestContractFunctionSelector(setupFunctionNames[i]);
30
- const fnArgs = [functionSelector.toField(), ...setupArgs[i]];
31
- const executionRequest = new PublicExecutionRequest(callContext, fnArgs);
32
- setupExecutionRequests.push(executionRequest);
33
- }
34
- const appExecutionRequests = [];
35
- for (let i = 0; i < appFunctionNames.length; i++) {
36
- const functionSelector = getAvmTestContractFunctionSelector(appFunctionNames[i]);
37
- const fnArgs = [functionSelector.toField(), ...appArgs[i]];
38
- const executionRequest = new PublicExecutionRequest(callContext, fnArgs);
39
- appExecutionRequests.push(executionRequest);
40
- }
41
- let teardownExecutionRequest = undefined;
42
- if (teardownFunctionName) {
43
- const functionSelector = getAvmTestContractFunctionSelector(teardownFunctionName);
44
- const fnArgs = [functionSelector.toField(), ...teardownArgs];
45
- teardownExecutionRequest = new PublicExecutionRequest(callContext, fnArgs);
46
- }
47
- const tx = createTxForPublicCalls(setupExecutionRequests, appExecutionRequests, teardownExecutionRequest);
48
- const avmResult = await simulator.simulate(tx);
49
- if (!expectRevert) {
50
- expect(avmResult.revertCode.isOK()).toBe(true);
51
- }
52
- else {
53
- // Explicit revert when an assertion failed.
54
- expect(avmResult.revertCode.isOK()).toBe(false);
55
- expect(avmResult.revertReason).toBeDefined();
56
- if (assertionErrString !== undefined) {
57
- expect(avmResult.revertReason?.getMessage()).toContain(assertionErrString);
58
- }
59
- }
60
- const avmCircuitInputs = avmResult.avmProvingRequest.inputs;
61
- return avmCircuitInputs;
62
- }
63
- export async function simulateAvmTestContractCall(functionName, args = [], expectRevert = false, contractDataSource = new MockedAvmTestContractDataSource()) {
64
- const globals = GlobalVariables.empty();
65
- globals.timestamp = TIMESTAMP;
66
- const merkleTrees = await (await MerkleTrees.new(openTmpStore())).fork();
67
- await contractDataSource.deployContracts(merkleTrees);
68
- const worldStateDB = new WorldStateDB(merkleTrees, contractDataSource);
69
- const trace = new PublicEnqueuedCallSideEffectTrace();
70
- const ephemeralTrees = await AvmEphemeralForest.create(worldStateDB.getMerkleInterface());
71
- const persistableState = initPersistableStateManager({
72
- worldStateDB,
73
- trace,
74
- merkleTrees: ephemeralTrees,
75
- doMerkleOperations: true,
76
- });
77
- const sender = AztecAddress.random();
78
- const functionSelector = getAvmTestContractFunctionSelector(functionName);
79
- args = [functionSelector.toField(), ...args];
80
- const environment = initExecutionEnvironment({
81
- calldata: args,
82
- globals,
83
- address: contractDataSource.firstContractInstance.address,
84
- sender,
85
- });
86
- const context = initContext({ env: environment, persistableState });
87
- // First we simulate (though it's not needed in this simple case).
88
- const simulator = new AvmSimulator(context);
89
- const results = await simulator.execute();
90
- expect(results.reverted).toBe(expectRevert);
91
- }
92
- /**
93
- * Craft a carrier transaction for some public calls for simulation by PublicTxSimulator.
94
- */
95
- export function createTxForPublicCalls(setupExecutionRequests, appExecutionRequests, teardownExecutionRequest, gasUsedByPrivate = Gas.empty()) {
96
- assert(setupExecutionRequests.length > 0 || appExecutionRequests.length > 0 || teardownExecutionRequest !== undefined, "Can't create public tx with no enqueued calls");
97
- const setupCallRequests = setupExecutionRequests.map(er => er.toCallRequest());
98
- const appCallRequests = appExecutionRequests.map(er => er.toCallRequest());
99
- // use max limits
100
- const gasLimits = new Gas(DEFAULT_GAS_LIMIT, MAX_L2_GAS_PER_TX_PUBLIC_PORTION);
101
- const forPublic = PartialPrivateTailPublicInputsForPublic.empty();
102
- // TODO(#9269): Remove this fake nullifier method as we move away from 1st nullifier as hash.
103
- forPublic.nonRevertibleAccumulatedData.nullifiers[0] = Fr.random(); // fake tx nullifier
104
- // We reverse order because the simulator expects it to be like a "stack" of calls to pop from
105
- for (let i = setupCallRequests.length - 1; i >= 0; i--) {
106
- forPublic.nonRevertibleAccumulatedData.publicCallRequests[i] = setupCallRequests[i];
107
- }
108
- for (let i = appCallRequests.length - 1; i >= 0; i--) {
109
- forPublic.revertibleAccumulatedData.publicCallRequests[i] = appCallRequests[i];
110
- }
111
- if (teardownExecutionRequest) {
112
- forPublic.publicTeardownCallRequest = teardownExecutionRequest.toCallRequest();
113
- }
114
- const teardownGasLimits = teardownExecutionRequest ? gasLimits : Gas.empty();
115
- const gasSettings = new GasSettings(gasLimits, teardownGasLimits, GasFees.empty(), GasFees.empty());
116
- const txContext = new TxContext(Fr.zero(), Fr.zero(), gasSettings);
117
- const constantData = new TxConstantData(BlockHeader.empty(), txContext, Fr.zero(), Fr.zero());
118
- const txData = new PrivateKernelTailCircuitPublicInputs(constantData, RollupValidationRequests.empty(),
119
- /*gasUsed=*/ gasUsedByPrivate, AztecAddress.zero(), forPublic);
120
- const tx = Tx.newWithTxData(txData, teardownExecutionRequest);
121
- // Reverse order because the simulator expects it to be like a "stack" of calls to pop from.
122
- // Also push app calls before setup calls for this reason.
123
- for (let i = appExecutionRequests.length - 1; i >= 0; i--) {
124
- tx.enqueuedPublicFunctionCalls.push(appExecutionRequests[i]);
125
- }
126
- for (let i = setupExecutionRequests.length - 1; i >= 0; i--) {
127
- tx.enqueuedPublicFunctionCalls.push(setupExecutionRequests[i]);
128
- }
129
- return tx;
130
- }
131
- export class MockedAvmTestContractDataSource {
132
- constructor(skipContractDeployments = false) {
133
- this.skipContractDeployments = skipContractDeployments;
134
- this.fnName = 'public_dispatch';
135
- this.fnSelector = getAvmTestContractFunctionSelector(this.fnName);
136
- // maps contract class ID to class
137
- this.contractClasses = new Map();
138
- // maps contract instance address to instance
139
- this.contractInstances = new Map();
140
- this.firstContractInstance = SerializableContractInstance.default().withAddress(AztecAddress.fromNumber(0));
141
- this.instanceSameClassAsFirstContract = SerializableContractInstance.default().withAddress(AztecAddress.fromNumber(0));
142
- this.bytecode = getAvmTestContractBytecode(this.fnName);
143
- this.fnSelector = getAvmTestContractFunctionSelector(this.fnName);
144
- this.publicFn = { bytecode: this.bytecode, selector: this.fnSelector };
145
- this.bytecodeCommitment = computePublicBytecodeCommitment(this.bytecode);
146
- // create enough unique classes to hit the limit (plus two extra)
147
- for (let i = 0; i < MAX_PUBLIC_CALLS_TO_UNIQUE_CONTRACT_CLASS_IDS + 1; i++) {
148
- const contractClass = makeContractClassPublic(/*seed=*/ i, this.publicFn);
149
- const contractInstance = makeContractInstanceFromClassId(contractClass.id, /*seed=*/ i);
150
- this.contractClasses.set(contractClass.id.toString(), contractClass);
151
- this.contractInstances.set(contractInstance.address.toString(), contractInstance);
152
- if (i === 0) {
153
- this.firstContractInstance = contractInstance;
154
- }
155
- }
156
- // a contract with the same class but different instance/address as the first contract
157
- this.instanceSameClassAsFirstContract = makeContractInstanceFromClassId(this.firstContractInstance.contractClassId,
158
- /*seed=*/ 1000);
159
- // The values here should match those in `avm_simulator.test.ts`
160
- // Used for GETCONTRACTINSTANCE test
161
- this.otherContractInstance = new SerializableContractInstance({
162
- version: 1,
163
- salt: new Fr(0x123),
164
- deployer: new AztecAddress(new Fr(0x456)),
165
- contractClassId: new Fr(0x789),
166
- initializationHash: new Fr(0x101112),
167
- publicKeys: new PublicKeys(new Point(new Fr(0x131415), new Fr(0x161718), false), new Point(new Fr(0x192021), new Fr(0x222324), false), new Point(new Fr(0x252627), new Fr(0x282930), false), new Point(new Fr(0x313233), new Fr(0x343536), false)),
168
- }).withAddress(AztecAddress.fromNumber(0x4444));
169
- }
170
- async deployContracts(merkleTrees) {
171
- if (!this.skipContractDeployments) {
172
- for (const contractInstance of this.contractInstances.values()) {
173
- const contractAddressNullifier = siloNullifier(AztecAddress.fromNumber(DEPLOYER_CONTRACT_ADDRESS), contractInstance.address.toField());
174
- await merkleTrees.batchInsert(MerkleTreeId.NULLIFIER_TREE, [contractAddressNullifier.toBuffer()], 0);
175
- }
176
- const instanceSameClassAsFirstContractNullifier = siloNullifier(AztecAddress.fromNumber(DEPLOYER_CONTRACT_ADDRESS), this.instanceSameClassAsFirstContract.address.toField());
177
- await merkleTrees.batchInsert(MerkleTreeId.NULLIFIER_TREE, [instanceSameClassAsFirstContractNullifier.toBuffer()], 0);
178
- // other contract address used by the bulk test's GETCONTRACTINSTANCE test
179
- const otherContractAddressNullifier = siloNullifier(AztecAddress.fromNumber(DEPLOYER_CONTRACT_ADDRESS), this.otherContractInstance.address.toField());
180
- await merkleTrees.batchInsert(MerkleTreeId.NULLIFIER_TREE, [otherContractAddressNullifier.toBuffer()], 0);
181
- }
182
- }
183
- static async create(merkleTrees, skipContractDeployments = false) {
184
- const dataSource = new MockedAvmTestContractDataSource(skipContractDeployments);
185
- if (!skipContractDeployments) {
186
- await dataSource.deployContracts(merkleTrees);
187
- }
188
- return dataSource;
189
- }
190
- getPublicFunction(_address, _selector) {
191
- return Promise.resolve(this.publicFn);
192
- }
193
- getBlockNumber() {
194
- throw new Error('Method not implemented.');
195
- }
196
- getContractClass(id) {
197
- return Promise.resolve(this.contractClasses.get(id.toString()));
198
- }
199
- getBytecodeCommitment(_id) {
200
- return Promise.resolve(this.bytecodeCommitment);
201
- }
202
- addContractClass(_contractClass) {
203
- return Promise.resolve();
204
- }
205
- getContract(address) {
206
- if (!this.skipContractDeployments) {
207
- if (address.equals(this.otherContractInstance.address)) {
208
- return Promise.resolve(this.otherContractInstance);
209
- }
210
- else if (address.equals(this.instanceSameClassAsFirstContract.address)) {
211
- return Promise.resolve(this.instanceSameClassAsFirstContract);
212
- }
213
- else {
214
- return Promise.resolve(this.contractInstances.get(address.toString()));
215
- }
216
- }
217
- return Promise.resolve(undefined);
218
- }
219
- getContractClassIds() {
220
- throw new Error('Method not implemented.');
221
- }
222
- getContractArtifact(_address) {
223
- throw new Error('Method not implemented.');
224
- }
225
- getContractFunctionName(_address, _selector) {
226
- return Promise.resolve(this.fnName);
227
- }
228
- registerContractFunctionSignatures(_address, _signatures) {
229
- return Promise.resolve();
230
- }
231
- }
232
- function getAvmTestContractFunctionSelector(functionName) {
233
- const artifact = AvmTestContractArtifact.functions.find(f => f.name === functionName);
234
- assert(!!artifact, `Function ${functionName} not found in AvmTestContractArtifact`);
235
- const params = artifact.parameters;
236
- return FunctionSelector.fromNameAndParameters(artifact.name, params);
237
- }
238
- function getAvmTestContractArtifact(functionName) {
239
- const artifact = AvmTestContractArtifact.functions.find(f => f.name === functionName);
240
- assert(!!artifact?.bytecode, `No bytecode found for function ${functionName}. Try re-running bootstrap.sh on the repository root.`);
241
- return artifact;
242
- }
243
- function getAvmTestContractBytecode(functionName) {
244
- const artifact = getAvmTestContractArtifact(functionName);
245
- return artifact.bytecode;
246
- }
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL2ZpeHR1cmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQWtDLHNCQUFzQixFQUFFLEVBQUUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hILE9BQU8sRUFFTCxXQUFXLEVBQ1gsV0FBVyxFQUlYLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsZ0JBQWdCLEVBQ2hCLEdBQUcsRUFDSCxPQUFPLEVBQ1AsV0FBVyxFQUNYLGVBQWUsRUFDZixnQ0FBZ0MsRUFDaEMsNkNBQTZDLEVBQzdDLHVDQUF1QyxFQUN2QyxvQ0FBb0MsRUFFcEMsVUFBVSxFQUNWLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsY0FBYyxFQUNkLFNBQVMsRUFDVCwrQkFBK0IsR0FDaEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLCtCQUErQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUUxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLHdCQUF3QixFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakgsT0FBTyxFQUFF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
1
+ export * from './public_tx_simulation_tester.js';
2
+ export * from './utils.js';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL2ZpeHR1cmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxZQUFZLENBQUMifQ==
@@ -0,0 +1,21 @@
1
+ import { AztecAddress } from '@aztec/foundation/aztec-address';
2
+ import { BaseAvmSimulationTester } from '../../avm/fixtures/base_avm_simulation_tester.js';
3
+ import { type PublicTxResult } from '../public_tx_simulator.js';
4
+ export type TestEnqueuedCall = {
5
+ address: AztecAddress;
6
+ fnName: string;
7
+ args: any[];
8
+ isStaticCall?: boolean;
9
+ };
10
+ /**
11
+ * A test class that extends the BaseAvmSimulationTester to enable real-app testing of the PublicTxSimulator.
12
+ * It provides an interface for simulating one transaction at a time and maintains state between subsequent
13
+ * transactions.
14
+ */
15
+ export declare class PublicTxSimulationTester extends BaseAvmSimulationTester {
16
+ private txCount;
17
+ static create(skipContractDeployments?: boolean): Promise<PublicTxSimulationTester>;
18
+ simulateTx(sender: AztecAddress, setupCalls?: TestEnqueuedCall[], appCalls?: TestEnqueuedCall[], teardownCall?: TestEnqueuedCall, feePayer?: AztecAddress): Promise<PublicTxResult>;
19
+ private commitTxStateUpdates;
20
+ }
21
+ //# sourceMappingURL=public_tx_simulation_tester.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public_tx_simulation_tester.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/public_tx_simulation_tester.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAO/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAI3F,OAAO,EAAE,KAAK,cAAc,EAAqB,MAAM,2BAA2B,CAAC;AAMnF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,uBAAuB;IACnE,OAAO,CAAC,OAAO,CAAK;WAEA,MAAM,CAAC,uBAAuB,UAAQ,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAMjF,UAAU,CACrB,MAAM,EAAE,YAAY,EACpB,UAAU,GAAE,gBAAgB,EAAO,EACnC,QAAQ,GAAE,gBAAgB,EAAO,EACjC,YAAY,CAAC,EAAE,gBAAgB,EAC/B,QAAQ,GAAE,YAAkC,GAC3C,OAAO,CAAC,cAAc,CAAC;YAwEZ,oBAAoB;CAqBnC"}