@aztec/simulator 0.86.0 → 0.87.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 (188) hide show
  1. package/dest/common/errors.d.ts +3 -6
  2. package/dest/common/errors.d.ts.map +1 -1
  3. package/dest/common/errors.js +50 -31
  4. package/dest/private/acvm/acvm.d.ts +0 -2
  5. package/dest/private/acvm/acvm.d.ts.map +1 -1
  6. package/dest/private/acvm/acvm.js +2 -2
  7. package/dest/private/acvm/deserialize.d.ts +0 -2
  8. package/dest/private/acvm/deserialize.d.ts.map +1 -1
  9. package/dest/private/acvm/oracle/oracle.d.ts +2 -2
  10. package/dest/private/acvm/oracle/oracle.d.ts.map +1 -1
  11. package/dest/private/acvm/oracle/oracle.js +30 -33
  12. package/dest/private/acvm/oracle/typed_oracle.d.ts +1 -3
  13. package/dest/private/acvm/oracle/typed_oracle.d.ts.map +1 -1
  14. package/dest/private/acvm/serialize.d.ts +8 -2
  15. package/dest/private/acvm/serialize.d.ts.map +1 -1
  16. package/dest/private/acvm/serialize.js +26 -0
  17. package/dest/private/index.d.ts +3 -0
  18. package/dest/private/index.d.ts.map +1 -1
  19. package/dest/private/index.js +3 -0
  20. package/dest/private/private_execution.d.ts.map +1 -1
  21. package/dest/private/private_execution.js +7 -1
  22. package/dest/private/providers/acvm_native.d.ts +0 -2
  23. package/dest/private/providers/acvm_native.d.ts.map +1 -1
  24. package/dest/private/providers/acvm_native.js +1 -1
  25. package/dest/private/providers/circuit_recording/circuit_recorder.d.ts +0 -2
  26. package/dest/private/providers/circuit_recording/circuit_recorder.d.ts.map +1 -1
  27. package/dest/private/providers/simulation_provider.d.ts.map +1 -1
  28. package/dest/private/providers/simulation_provider.js +14 -16
  29. package/dest/private/simulator.d.ts.map +1 -1
  30. package/dest/private/utility_execution_oracle.d.ts +0 -2
  31. package/dest/private/utility_execution_oracle.d.ts.map +1 -1
  32. package/dest/public/avm/avm_contract_call_result.d.ts.map +1 -1
  33. package/dest/public/avm/avm_contract_call_result.js +2 -2
  34. package/dest/public/avm/avm_execution_environment.d.ts +2 -1
  35. package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
  36. package/dest/public/avm/avm_execution_environment.js +4 -2
  37. package/dest/public/avm/avm_gas.d.ts +0 -15
  38. package/dest/public/avm/avm_gas.d.ts.map +1 -1
  39. package/dest/public/avm/avm_gas.js +0 -18
  40. package/dest/public/avm/avm_memory_types.d.ts +84 -86
  41. package/dest/public/avm/avm_memory_types.d.ts.map +1 -1
  42. package/dest/public/avm/avm_simulator.d.ts +1 -3
  43. package/dest/public/avm/avm_simulator.d.ts.map +1 -1
  44. package/dest/public/avm/avm_simulator.js +3 -3
  45. package/dest/public/avm/avm_simulator_interface.d.ts +0 -2
  46. package/dest/public/avm/avm_simulator_interface.d.ts.map +1 -1
  47. package/dest/public/avm/fixtures/initializers.d.ts.map +1 -1
  48. package/dest/public/avm/fixtures/initializers.js +1 -1
  49. package/dest/public/avm/fixtures/utils.d.ts +0 -10
  50. package/dest/public/avm/fixtures/utils.d.ts.map +1 -1
  51. package/dest/public/avm/fixtures/utils.js +0 -42
  52. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -1
  53. package/dest/public/avm/opcodes/accrued_substate.js +7 -7
  54. package/dest/public/avm/opcodes/addressing_mode.d.ts +7 -6
  55. package/dest/public/avm/opcodes/addressing_mode.d.ts.map +1 -1
  56. package/dest/public/avm/opcodes/addressing_mode.js +18 -15
  57. package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -1
  58. package/dest/public/avm/opcodes/arithmetic.js +1 -1
  59. package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -1
  60. package/dest/public/avm/opcodes/bitwise.js +2 -2
  61. package/dest/public/avm/opcodes/comparators.d.ts.map +1 -1
  62. package/dest/public/avm/opcodes/comparators.js +1 -1
  63. package/dest/public/avm/opcodes/contract.d.ts +1 -2
  64. package/dest/public/avm/opcodes/contract.d.ts.map +1 -1
  65. package/dest/public/avm/opcodes/contract.js +8 -9
  66. package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -1
  67. package/dest/public/avm/opcodes/control_flow.js +1 -1
  68. package/dest/public/avm/opcodes/conversion.d.ts.map +1 -1
  69. package/dest/public/avm/opcodes/conversion.js +1 -1
  70. package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -1
  71. package/dest/public/avm/opcodes/ec_add.js +1 -1
  72. package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -1
  73. package/dest/public/avm/opcodes/environment_getters.js +1 -1
  74. package/dest/public/avm/opcodes/external_calls.d.ts +6 -6
  75. package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
  76. package/dest/public/avm/opcodes/external_calls.js +22 -22
  77. package/dest/public/avm/opcodes/hashing.d.ts.map +1 -1
  78. package/dest/public/avm/opcodes/hashing.js +3 -3
  79. package/dest/public/avm/opcodes/instruction.d.ts +0 -2
  80. package/dest/public/avm/opcodes/instruction.d.ts.map +1 -1
  81. package/dest/public/avm/opcodes/memory.d.ts +4 -4
  82. package/dest/public/avm/opcodes/memory.d.ts.map +1 -1
  83. package/dest/public/avm/opcodes/memory.js +16 -16
  84. package/dest/public/avm/opcodes/misc.d.ts.map +1 -1
  85. package/dest/public/avm/opcodes/misc.js +18 -11
  86. package/dest/public/avm/opcodes/storage.d.ts.map +1 -1
  87. package/dest/public/avm/opcodes/storage.js +2 -2
  88. package/dest/public/avm/serialization/buffer_cursor.d.ts +0 -2
  89. package/dest/public/avm/serialization/buffer_cursor.d.ts.map +1 -1
  90. package/dest/public/avm/serialization/bytecode_serialization.d.ts +0 -2
  91. package/dest/public/avm/serialization/bytecode_serialization.d.ts.map +1 -1
  92. package/dest/public/avm/serialization/instruction_serialization.d.ts +0 -2
  93. package/dest/public/avm/serialization/instruction_serialization.d.ts.map +1 -1
  94. package/dest/public/executor_metrics.d.ts +3 -3
  95. package/dest/public/executor_metrics.d.ts.map +1 -1
  96. package/dest/public/executor_metrics.js +6 -6
  97. package/dest/public/executor_metrics_interface.d.ts +1 -1
  98. package/dest/public/executor_metrics_interface.d.ts.map +1 -1
  99. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -1
  100. package/dest/public/fixtures/public_tx_simulation_tester.js +3 -3
  101. package/dest/public/fixtures/utils.d.ts.map +1 -1
  102. package/dest/public/fixtures/utils.js +19 -26
  103. package/dest/public/hinting_db_sources.d.ts +0 -2
  104. package/dest/public/hinting_db_sources.d.ts.map +1 -1
  105. package/dest/public/hinting_db_sources.js +9 -2
  106. package/dest/public/public_processor/public_processor.d.ts +5 -7
  107. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  108. package/dest/public/public_processor/public_processor.js +10 -7
  109. package/dest/public/public_tx_simulator/apps_tests/amm_test.js +5 -5
  110. package/dest/public/public_tx_simulator/apps_tests/token_test.js +6 -6
  111. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +1 -1
  112. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts.map +1 -1
  113. package/dest/public/public_tx_simulator/measured_public_tx_simulator.js +3 -3
  114. package/dest/public/public_tx_simulator/public_tx_context.d.ts +1 -1
  115. package/dest/public/public_tx_simulator/public_tx_context.d.ts.map +1 -1
  116. package/dest/public/public_tx_simulator/public_tx_context.js +37 -34
  117. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +2 -1
  118. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  119. package/dest/public/public_tx_simulator/public_tx_simulator.js +15 -4
  120. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts +1 -1
  121. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.d.ts.map +1 -1
  122. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +2 -2
  123. package/dest/public/side_effect_trace.d.ts +2 -39
  124. package/dest/public/side_effect_trace.d.ts.map +1 -1
  125. package/dest/public/side_effect_trace.js +8 -32
  126. package/dest/public/side_effect_trace_interface.d.ts +0 -4
  127. package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
  128. package/dest/public/state_manager/nullifiers.d.ts.map +1 -1
  129. package/dest/public/state_manager/public_storage.d.ts.map +1 -1
  130. package/dest/public/state_manager/state_manager.d.ts +6 -4
  131. package/dest/public/state_manager/state_manager.d.ts.map +1 -1
  132. package/dest/public/state_manager/state_manager.js +6 -3
  133. package/dest/public/test_executor_metrics.d.ts +5 -4
  134. package/dest/public/test_executor_metrics.d.ts.map +1 -1
  135. package/dest/public/test_executor_metrics.js +47 -11
  136. package/dest/public/unique_class_ids.d.ts.map +1 -1
  137. package/dest/test/utils.d.ts.map +1 -1
  138. package/package.json +18 -17
  139. package/src/common/errors.ts +77 -41
  140. package/src/private/acvm/acvm.ts +2 -2
  141. package/src/private/acvm/oracle/oracle.ts +38 -31
  142. package/src/private/acvm/oracle/typed_oracle.ts +1 -1
  143. package/src/private/acvm/serialize.ts +35 -0
  144. package/src/private/index.ts +3 -0
  145. package/src/private/pick_notes.ts +4 -4
  146. package/src/private/private_execution.ts +8 -0
  147. package/src/private/providers/acvm_native.ts +6 -2
  148. package/src/private/providers/simulation_provider.ts +14 -16
  149. package/src/private/simulator.ts +4 -1
  150. package/src/public/avm/avm_contract_call_result.ts +2 -2
  151. package/src/public/avm/avm_execution_environment.ts +7 -1
  152. package/src/public/avm/avm_gas.ts +0 -20
  153. package/src/public/avm/avm_simulator.ts +3 -1
  154. package/src/public/avm/fixtures/initializers.ts +1 -0
  155. package/src/public/avm/fixtures/utils.ts +0 -66
  156. package/src/public/avm/opcodes/accrued_substate.ts +31 -11
  157. package/src/public/avm/opcodes/addressing_mode.ts +23 -20
  158. package/src/public/avm/opcodes/arithmetic.ts +2 -1
  159. package/src/public/avm/opcodes/bitwise.ts +9 -3
  160. package/src/public/avm/opcodes/comparators.ts +2 -1
  161. package/src/public/avm/opcodes/contract.ts +7 -6
  162. package/src/public/avm/opcodes/control_flow.ts +7 -2
  163. package/src/public/avm/opcodes/conversion.ts +2 -1
  164. package/src/public/avm/opcodes/ec_add.ts +2 -1
  165. package/src/public/avm/opcodes/environment_getters.ts +7 -2
  166. package/src/public/avm/opcodes/external_calls.ts +26 -14
  167. package/src/public/avm/opcodes/hashing.ts +17 -5
  168. package/src/public/avm/opcodes/memory.ts +33 -15
  169. package/src/public/avm/opcodes/misc.ts +23 -15
  170. package/src/public/avm/opcodes/storage.ts +9 -3
  171. package/src/public/avm/serialization/buffer_cursor.ts +4 -1
  172. package/src/public/executor_metrics.ts +11 -6
  173. package/src/public/executor_metrics_interface.ts +1 -1
  174. package/src/public/fixtures/public_tx_simulation_tester.ts +3 -2
  175. package/src/public/fixtures/utils.ts +21 -28
  176. package/src/public/hinting_db_sources.ts +17 -4
  177. package/src/public/public_processor/public_processor.ts +11 -5
  178. package/src/public/public_tx_simulator/apps_tests/amm_test.ts +5 -5
  179. package/src/public/public_tx_simulator/apps_tests/token_test.ts +6 -6
  180. package/src/public/public_tx_simulator/measured_public_tx_simulator.ts +3 -2
  181. package/src/public/public_tx_simulator/public_tx_context.ts +96 -81
  182. package/src/public/public_tx_simulator/public_tx_simulator.ts +14 -3
  183. package/src/public/public_tx_simulator/telemetry_public_tx_simulator.ts +10 -1
  184. package/src/public/side_effect_trace.ts +7 -111
  185. package/src/public/side_effect_trace_interface.ts +0 -4
  186. package/src/public/state_manager/state_manager.ts +13 -5
  187. package/src/public/test_executor_metrics.ts +60 -13
  188. package/src/public/avm/opcodes/.eslintrc.cjs +0 -8
@@ -7,8 +7,8 @@ class ExternalCall extends Instruction {
7
7
  l2GasOffset;
8
8
  daGasOffset;
9
9
  addrOffset;
10
- argsOffset;
11
10
  argsSizeOffset;
11
+ argsOffset;
12
12
  // Informs (de)serialization. See Instruction.deserialize.
13
13
  static wireFormat = [
14
14
  OperandType.UINT8,
@@ -19,20 +19,20 @@ class ExternalCall extends Instruction {
19
19
  OperandType.UINT16,
20
20
  OperandType.UINT16
21
21
  ];
22
- constructor(indirect, l2GasOffset, daGasOffset, addrOffset, argsOffset, argsSizeOffset){
23
- super(), this.indirect = indirect, this.l2GasOffset = l2GasOffset, this.daGasOffset = daGasOffset, this.addrOffset = addrOffset, this.argsOffset = argsOffset, this.argsSizeOffset = argsSizeOffset;
22
+ constructor(indirect, l2GasOffset, daGasOffset, addrOffset, argsSizeOffset, argsOffset){
23
+ super(), this.indirect = indirect, this.l2GasOffset = l2GasOffset, this.daGasOffset = daGasOffset, this.addrOffset = addrOffset, this.argsSizeOffset = argsSizeOffset, this.argsOffset = argsOffset;
24
24
  }
25
25
  async execute(context) {
26
26
  const memory = context.machineState.memory;
27
+ const addressing = Addressing.fromWire(this.indirect);
27
28
  const operands = [
28
29
  this.l2GasOffset,
29
30
  this.daGasOffset,
30
31
  this.addrOffset,
31
- this.argsOffset,
32
- this.argsSizeOffset
32
+ this.argsSizeOffset,
33
+ this.argsOffset
33
34
  ];
34
- const addressing = Addressing.fromWire(this.indirect, operands.length);
35
- const [l2GasOffset, daGasOffset, addrOffset, argsOffset, argsSizeOffset] = addressing.resolve(operands, memory);
35
+ const [l2GasOffset, daGasOffset, addrOffset, argsSizeOffset, argsOffset] = addressing.resolve(operands, memory);
36
36
  // TODO: Should be U32
37
37
  memory.checkTags(TypeTag.FIELD, l2GasOffset);
38
38
  memory.checkTags(TypeTag.FIELD, daGasOffset);
@@ -120,10 +120,10 @@ export class SuccessCopy extends Instruction {
120
120
  }
121
121
  async execute(context) {
122
122
  const memory = context.machineState.memory;
123
+ const addressing = Addressing.fromWire(this.indirect);
123
124
  const operands = [
124
125
  this.dstOffset
125
126
  ];
126
- const addressing = Addressing.fromWire(this.indirect, operands.length);
127
127
  const [dstOffset] = addressing.resolve(operands, memory);
128
128
  // Use the direct success tracking property
129
129
  const success = context.machineState.nestedCallSuccess;
@@ -133,8 +133,8 @@ export class SuccessCopy extends Instruction {
133
133
  }
134
134
  export class Return extends Instruction {
135
135
  indirect;
136
- returnOffset;
137
136
  returnSizeOffset;
137
+ returnOffset;
138
138
  static type = 'RETURN';
139
139
  static opcode = Opcode.RETURN;
140
140
  // Informs (de)serialization. See Instruction.deserialize.
@@ -144,17 +144,17 @@ export class Return extends Instruction {
144
144
  OperandType.UINT16,
145
145
  OperandType.UINT16
146
146
  ];
147
- constructor(indirect, returnOffset, returnSizeOffset){
148
- super(), this.indirect = indirect, this.returnOffset = returnOffset, this.returnSizeOffset = returnSizeOffset;
147
+ constructor(indirect, returnSizeOffset, returnOffset){
148
+ super(), this.indirect = indirect, this.returnSizeOffset = returnSizeOffset, this.returnOffset = returnOffset;
149
149
  }
150
150
  async execute(context) {
151
151
  const memory = context.machineState.memory;
152
+ const addressing = Addressing.fromWire(this.indirect);
152
153
  const operands = [
153
- this.returnOffset,
154
- this.returnSizeOffset
154
+ this.returnSizeOffset,
155
+ this.returnOffset
155
156
  ];
156
- const addressing = Addressing.fromWire(this.indirect, operands.length);
157
- const [returnOffset, returnSizeOffset] = addressing.resolve(operands, memory);
157
+ const [returnSizeOffset, returnOffset] = addressing.resolve(operands, memory);
158
158
  memory.checkTag(TypeTag.UINT32, returnSizeOffset);
159
159
  const returnSize = memory.get(returnSizeOffset).toNumber();
160
160
  context.machineState.consumeGas(this.gasCost(returnSize));
@@ -167,8 +167,8 @@ export class Return extends Instruction {
167
167
  }
168
168
  export class Revert extends Instruction {
169
169
  indirect;
170
- returnOffset;
171
170
  retSizeOffset;
171
+ returnOffset;
172
172
  static type = 'REVERT';
173
173
  static opcode = Opcode.REVERT_8;
174
174
  static wireFormat8 = [
@@ -183,17 +183,17 @@ export class Revert extends Instruction {
183
183
  OperandType.UINT16,
184
184
  OperandType.UINT16
185
185
  ];
186
- constructor(indirect, returnOffset, retSizeOffset){
187
- super(), this.indirect = indirect, this.returnOffset = returnOffset, this.retSizeOffset = retSizeOffset;
186
+ constructor(indirect, retSizeOffset, returnOffset){
187
+ super(), this.indirect = indirect, this.retSizeOffset = retSizeOffset, this.returnOffset = returnOffset;
188
188
  }
189
189
  async execute(context) {
190
190
  const memory = context.machineState.memory;
191
+ const addressing = Addressing.fromWire(this.indirect);
191
192
  const operands = [
192
- this.returnOffset,
193
- this.retSizeOffset
193
+ this.retSizeOffset,
194
+ this.returnOffset
194
195
  ];
195
- const addressing = Addressing.fromWire(this.indirect, operands.length);
196
- const [returnOffset, retSizeOffset] = addressing.resolve(operands, memory);
196
+ const [retSizeOffset, returnOffset] = addressing.resolve(operands, memory);
197
197
  memory.checkTag(TypeTag.UINT32, retSizeOffset);
198
198
  const retSize = memory.get(retSizeOffset).toNumber();
199
199
  context.machineState.consumeGas(this.gasCost(retSize));
@@ -1 +1 @@
1
- {"version":3,"file":"hashing.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/hashing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,SAAU,SAAQ,WAAW;IAa5B,OAAO,CAAC,QAAQ;IAAU,OAAO,CAAC,gBAAgB;IAAU,OAAO,CAAC,iBAAiB;IAZjG,MAAM,CAAC,IAAI,EAAE,MAAM,CAAe;IAClC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAClD,MAAM,CAAC,QAAQ,CAAC,SAAS,KAAK;IAG9B,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAKvC;gBAEkB,QAAQ,EAAE,MAAM,EAAU,gBAAgB,EAAE,MAAM,EAAU,iBAAiB,EAAE,MAAM;IAI5F,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBzD;AAED,qBAAa,WAAY,SAAQ,WAAW;IAY9B,OAAO,CAAC,QAAQ;IAAU,OAAO,CAAC,SAAS;IAAU,OAAO,CAAC,WAAW;IAXpF,MAAM,CAAC,IAAI,EAAE,MAAM,CAAiB;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAsB;IAGpD,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAKvC;gBAEkB,QAAQ,EAAE,MAAM,EAAU,SAAS,EAAE,MAAM,EAAU,WAAW,EAAE,MAAM;IAK/E,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAgBzD;AAED,qBAAa,iBAAkB,SAAQ,WAAW;IAc9C,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,YAAY;IAhBtB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAuB;IAC1C,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAA4B;IAG1D,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAMvC;gBAGQ,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM;IAKjB,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAuBzD"}
1
+ {"version":3,"file":"hashing.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/hashing.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,SAAU,SAAQ,WAAW;IActC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,iBAAiB;IAf3B,MAAM,CAAC,IAAI,EAAE,MAAM,CAAe;IAClC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAClD,MAAM,CAAC,QAAQ,CAAC,SAAS,KAAK;IAG9B,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAKvC;gBAGQ,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM;IAKtB,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBzD;AAED,qBAAa,WAAY,SAAQ,WAAW;IAaxC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,WAAW;IAdrB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAiB;IACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAsB;IAGpD,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAKvC;gBAGQ,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM;IAMhB,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAiBzD;AAED,qBAAa,iBAAkB,SAAQ,WAAW;IAc9C,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,YAAY;IAhBtB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAuB;IAC1C,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAA4B;IAG1D,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAMvC;gBAGQ,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM;IAKjB,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAwBzD"}
@@ -22,12 +22,12 @@ export class Poseidon2 extends Instruction {
22
22
  }
23
23
  async execute(context) {
24
24
  const memory = context.machineState.memory;
25
+ const addressing = Addressing.fromWire(this.indirect);
25
26
  context.machineState.consumeGas(this.gasCost());
26
27
  const operands = [
27
28
  this.inputStateOffset,
28
29
  this.outputStateOffset
29
30
  ];
30
- const addressing = Addressing.fromWire(this.indirect, operands.length);
31
31
  const [inputOffset, outputOffset] = addressing.resolve(operands, memory);
32
32
  const inputState = memory.getSlice(inputOffset, Poseidon2.stateSize);
33
33
  memory.checkTagsRange(TypeTag.FIELD, inputOffset, Poseidon2.stateSize);
@@ -55,11 +55,11 @@ export class KeccakF1600 extends Instruction {
55
55
  async execute(context) {
56
56
  const inputSize = 25;
57
57
  const memory = context.machineState.memory;
58
+ const addressing = Addressing.fromWire(this.indirect);
58
59
  const operands = [
59
60
  this.dstOffset,
60
61
  this.inputOffset
61
62
  ];
62
- const addressing = Addressing.fromWire(this.indirect, operands.length);
63
63
  const [dstOffset, inputOffset] = addressing.resolve(operands, memory);
64
64
  context.machineState.consumeGas(this.gasCost());
65
65
  const stateData = memory.getSlice(inputOffset, inputSize).map((word)=>word.toBigInt());
@@ -91,12 +91,12 @@ export class Sha256Compression extends Instruction {
91
91
  const STATE_SIZE = 8;
92
92
  const INPUTS_SIZE = 16;
93
93
  const memory = context.machineState.memory;
94
+ const addressing = Addressing.fromWire(this.indirect);
94
95
  const operands = [
95
96
  this.outputOffset,
96
97
  this.stateOffset,
97
98
  this.inputsOffset
98
99
  ];
99
- const addressing = Addressing.fromWire(this.indirect, operands.length);
100
100
  const [outputOffset, stateOffset, inputsOffset] = addressing.resolve(operands, memory);
101
101
  // Note: size of output is same as size of state
102
102
  context.machineState.consumeGas(this.gasCost());
@@ -1,5 +1,3 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
1
  import type { Bufferable } from '@aztec/foundation/serialize';
4
2
  import type { AvmContext } from '../avm_context.js';
5
3
  import { type Gas } from '../avm_gas.js';
@@ -1 +1 @@
1
- {"version":3,"file":"instruction.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/instruction.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAI9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,GAAG,EAAqD,MAAM,eAAe,CAAC;AAC5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAA4B,MAAM,+CAA+C,CAAC;AAEnH,KAAK,sBAAsB,GAAG;IAC5B,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;CACnC,CAAC;AAEF;;;GAGG;AACH,8BAAsB,WAAW;IAC/B;;;;OAIG;aACa,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAE3D;;OAEG;IACI,SAAS,IAAI,OAAO;IAI3B;;;;OAIG;IACI,QAAQ,IAAI,MAAM;WAUX,UAAU,CACtB,IAAI,EAAE,sBAAsB,GAAG;QAAE,UAAU,EAAE,WAAW,EAAE,CAAC;QAAC,EAAE,EAAE,GAAG,CAAA;KAAE,EACrE,GAAG,EAAE,YAAY,GAAG,MAAM,GACzB,WAAW;IAKP,QAAQ,IAAI,MAAM;IAOzB;;;;;OAKG;IACI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,WAAW,GAAG,UAAU;IAS9E;;;;;OAKG;WACW,EAAE,CAAC,IAAI,EAAE,sBAAsB,EAAE,UAAU,EAAE,WAAW,EAAE;0BAElD,YAAY,GAAG,MAAM,KAAG,WAAW;;IAQzD;;;OAGG;IACH,SAAS,CAAC,OAAO,CAAC,aAAa,GAAE,MAAU,GAAG,GAAG;IAMjD;;;OAGG;IACH,IAAW,IAAI,IAAI,MAAM,CAMxB;IAED;;;OAGG;IACH,IAAW,MAAM,IAAI,MAAM,CAM1B;CACF"}
1
+ {"version":3,"file":"instruction.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/instruction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAI9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,GAAG,EAAqD,MAAM,eAAe,CAAC;AAC5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAA4B,MAAM,+CAA+C,CAAC;AAEnH,KAAK,sBAAsB,GAAG;IAC5B,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,WAAW,CAAC;CACnC,CAAC;AAEF;;;GAGG;AACH,8BAAsB,WAAW;IAC/B;;;;OAIG;aACa,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAE3D;;OAEG;IACI,SAAS,IAAI,OAAO;IAI3B;;;;OAIG;IACI,QAAQ,IAAI,MAAM;WAUX,UAAU,CACtB,IAAI,EAAE,sBAAsB,GAAG;QAAE,UAAU,EAAE,WAAW,EAAE,CAAC;QAAC,EAAE,EAAE,GAAG,CAAA;KAAE,EACrE,GAAG,EAAE,YAAY,GAAG,MAAM,GACzB,WAAW;IAKP,QAAQ,IAAI,MAAM;IAOzB;;;;;OAKG;IACI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,WAAW,GAAG,UAAU;IAS9E;;;;;OAKG;WACW,EAAE,CAAC,IAAI,EAAE,sBAAsB,EAAE,UAAU,EAAE,WAAW,EAAE;0BAElD,YAAY,GAAG,MAAM,KAAG,WAAW;;IAQzD;;;OAGG;IACH,SAAS,CAAC,OAAO,CAAC,aAAa,GAAE,MAAU,GAAG,GAAG;IAMjD;;;OAGG;IACH,IAAW,IAAI,IAAI,MAAM,CAMxB;IAED;;;OAGG;IACH,IAAW,MAAM,IAAI,MAAM,CAM1B;CACF"}
@@ -42,13 +42,13 @@ export declare class Mov extends Instruction {
42
42
  }
43
43
  export declare class CalldataCopy extends Instruction {
44
44
  private indirect;
45
- private cdStartOffset;
46
45
  private copySizeOffset;
46
+ private cdStartOffset;
47
47
  private dstOffset;
48
48
  static readonly type: string;
49
49
  static readonly opcode: Opcode;
50
50
  static readonly wireFormat: OperandType[];
51
- constructor(indirect: number, cdStartOffset: number, copySizeOffset: number, dstOffset: number);
51
+ constructor(indirect: number, copySizeOffset: number, cdStartOffset: number, dstOffset: number);
52
52
  execute(context: AvmContext): Promise<void>;
53
53
  }
54
54
  export declare class ReturndataSize extends Instruction {
@@ -62,13 +62,13 @@ export declare class ReturndataSize extends Instruction {
62
62
  }
63
63
  export declare class ReturndataCopy extends Instruction {
64
64
  private indirect;
65
- private rdStartOffset;
66
65
  private copySizeOffset;
66
+ private rdStartOffset;
67
67
  private dstOffset;
68
68
  static readonly type: string;
69
69
  static readonly opcode: Opcode;
70
70
  static readonly wireFormat: OperandType[];
71
- constructor(indirect: number, rdStartOffset: number, copySizeOffset: number, dstOffset: number);
71
+ constructor(indirect: number, copySizeOffset: number, rdStartOffset: number, dstOffset: number);
72
72
  execute(context: AvmContext): Promise<void>;
73
73
  }
74
74
  //# sourceMappingURL=memory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/memory.ts"],"names":[],"mappings":"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"}
@@ -59,11 +59,11 @@ export class Set extends Instruction {
59
59
  // Constructor ensured that this.inTag is a valid tag
60
60
  const res = TaggedMemory.buildFromTagTruncating(this.value, this.inTag);
61
61
  const memory = context.machineState.memory;
62
+ const addressing = Addressing.fromWire(this.indirect);
62
63
  context.machineState.consumeGas(this.gasCost());
63
64
  const operands = [
64
65
  this.dstOffset
65
66
  ];
66
- const addressing = Addressing.fromWire(this.indirect, operands.length);
67
67
  const [dstOffset] = addressing.resolve(operands, memory);
68
68
  memory.set(dstOffset, res);
69
69
  }
@@ -94,12 +94,12 @@ export class Cast extends Instruction {
94
94
  }
95
95
  async execute(context) {
96
96
  const memory = context.machineState.memory;
97
+ const addressing = Addressing.fromWire(this.indirect);
97
98
  context.machineState.consumeGas(this.gasCost());
98
99
  const operands = [
99
100
  this.srcOffset,
100
101
  this.dstOffset
101
102
  ];
102
- const addressing = Addressing.fromWire(this.indirect, operands.length);
103
103
  const [srcOffset, dstOffset] = addressing.resolve(operands, memory);
104
104
  const a = memory.get(srcOffset);
105
105
  // Constructor ensured that this.dstTag is a valid tag
@@ -131,12 +131,12 @@ export class Mov extends Instruction {
131
131
  }
132
132
  async execute(context) {
133
133
  const memory = context.machineState.memory;
134
+ const addressing = Addressing.fromWire(this.indirect);
134
135
  context.machineState.consumeGas(this.gasCost());
135
136
  const operands = [
136
137
  this.srcOffset,
137
138
  this.dstOffset
138
139
  ];
139
- const addressing = Addressing.fromWire(this.indirect, operands.length);
140
140
  const [srcOffset, dstOffset] = addressing.resolve(operands, memory);
141
141
  const a = memory.get(srcOffset);
142
142
  memory.set(dstOffset, a);
@@ -144,8 +144,8 @@ export class Mov extends Instruction {
144
144
  }
145
145
  export class CalldataCopy extends Instruction {
146
146
  indirect;
147
- cdStartOffset;
148
147
  copySizeOffset;
148
+ cdStartOffset;
149
149
  dstOffset;
150
150
  static type = 'CALLDATACOPY';
151
151
  static opcode = Opcode.CALLDATACOPY;
@@ -157,18 +157,18 @@ export class CalldataCopy extends Instruction {
157
157
  OperandType.UINT16,
158
158
  OperandType.UINT16
159
159
  ];
160
- constructor(indirect, cdStartOffset, copySizeOffset, dstOffset){
161
- super(), this.indirect = indirect, this.cdStartOffset = cdStartOffset, this.copySizeOffset = copySizeOffset, this.dstOffset = dstOffset;
160
+ constructor(indirect, copySizeOffset, cdStartOffset, dstOffset){
161
+ super(), this.indirect = indirect, this.copySizeOffset = copySizeOffset, this.cdStartOffset = cdStartOffset, this.dstOffset = dstOffset;
162
162
  }
163
163
  async execute(context) {
164
164
  const memory = context.machineState.memory;
165
+ const addressing = Addressing.fromWire(this.indirect);
165
166
  const operands = [
166
- this.cdStartOffset,
167
167
  this.copySizeOffset,
168
+ this.cdStartOffset,
168
169
  this.dstOffset
169
170
  ];
170
- const addressing = Addressing.fromWire(this.indirect, operands.length);
171
- const [cdStartOffset, copySizeOffset, dstOffset] = addressing.resolve(operands, memory);
171
+ const [copySizeOffset, cdStartOffset, dstOffset] = addressing.resolve(operands, memory);
172
172
  memory.checkTags(TypeTag.UINT32, cdStartOffset, copySizeOffset);
173
173
  const cdStart = memory.get(cdStartOffset).toNumber();
174
174
  const copySize = memory.get(copySizeOffset).toNumber();
@@ -199,10 +199,10 @@ export class ReturndataSize extends Instruction {
199
199
  }
200
200
  async execute(context) {
201
201
  const memory = context.machineState.memory;
202
+ const addressing = Addressing.fromWire(this.indirect);
202
203
  const operands = [
203
204
  this.dstOffset
204
205
  ];
205
- const addressing = Addressing.fromWire(this.indirect, operands.length);
206
206
  const [dstOffset] = addressing.resolve(operands, memory);
207
207
  context.machineState.consumeGas(this.gasCost());
208
208
  memory.set(dstOffset, new Uint32(context.machineState.nestedReturndata.length));
@@ -210,8 +210,8 @@ export class ReturndataSize extends Instruction {
210
210
  }
211
211
  export class ReturndataCopy extends Instruction {
212
212
  indirect;
213
- rdStartOffset;
214
213
  copySizeOffset;
214
+ rdStartOffset;
215
215
  dstOffset;
216
216
  static type = 'RETURNDATACOPY';
217
217
  static opcode = Opcode.RETURNDATACOPY;
@@ -223,18 +223,18 @@ export class ReturndataCopy extends Instruction {
223
223
  OperandType.UINT16,
224
224
  OperandType.UINT16
225
225
  ];
226
- constructor(indirect, rdStartOffset, copySizeOffset, dstOffset){
227
- super(), this.indirect = indirect, this.rdStartOffset = rdStartOffset, this.copySizeOffset = copySizeOffset, this.dstOffset = dstOffset;
226
+ constructor(indirect, copySizeOffset, rdStartOffset, dstOffset){
227
+ super(), this.indirect = indirect, this.copySizeOffset = copySizeOffset, this.rdStartOffset = rdStartOffset, this.dstOffset = dstOffset;
228
228
  }
229
229
  async execute(context) {
230
230
  const memory = context.machineState.memory;
231
+ const addressing = Addressing.fromWire(this.indirect);
231
232
  const operands = [
232
- this.rdStartOffset,
233
233
  this.copySizeOffset,
234
+ this.rdStartOffset,
234
235
  this.dstOffset
235
236
  ];
236
- const addressing = Addressing.fromWire(this.indirect, operands.length);
237
- const [rdStartOffset, copySizeOffset, dstOffset] = addressing.resolve(operands, memory);
237
+ const [copySizeOffset, rdStartOffset, dstOffset] = addressing.resolve(operands, memory);
238
238
  memory.checkTags(TypeTag.UINT32, rdStartOffset, copySizeOffset);
239
239
  const rdStart = memory.get(rdStartOffset).toNumber();
240
240
  const copySize = memory.get(copySizeOffset).toNumber();
@@ -1 +1 @@
1
- {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/misc.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,QAAS,SAAQ,WAAW;IAgBrC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,WAAW;IAnBrB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAc;IACjC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAmB;IACjD,MAAM,CAAC,QAAQ,CAAC,MAAM,yCAA2C;IAGjE,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAOvC;gBAGQ,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM;IAKhB,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CA0BzD"}
1
+ {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/misc.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,qBAAa,QAAS,SAAQ,WAAW;IAgBrC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,WAAW;IAnBrB,MAAM,CAAC,IAAI,EAAE,MAAM,CAAc;IACjC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAmB;IACjD,MAAM,CAAC,QAAQ,CAAC,MAAM,yCAA2C;IAGjE,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,EAAE,CAOvC;gBAGQ,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM;IAKhB,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAkCzD"}
@@ -26,23 +26,30 @@ export class DebugLog extends Instruction {
26
26
  }
27
27
  async execute(context) {
28
28
  const memory = context.machineState.memory;
29
+ const addressing = Addressing.fromWire(this.indirect);
29
30
  const operands = [
30
31
  this.messageOffset,
31
32
  this.fieldsOffset,
32
33
  this.fieldsSizeOffset
33
34
  ];
34
- const addressing = Addressing.fromWire(this.indirect, operands.length);
35
35
  const [messageOffset, fieldsOffset, fieldsSizeOffset] = addressing.resolve(operands, memory);
36
36
  memory.checkTag(TypeTag.UINT32, fieldsSizeOffset);
37
- const fieldsSize = memory.get(fieldsSizeOffset).toNumber();
38
- const rawMessage = memory.getSlice(messageOffset, this.messageSize);
39
- const fields = memory.getSlice(fieldsOffset, fieldsSize);
40
- memory.checkTagsRange(TypeTag.UINT8, messageOffset, this.messageSize);
41
- memory.checkTagsRange(TypeTag.FIELD, fieldsOffset, fieldsSize);
42
- context.machineState.consumeGas(this.gasCost(this.messageSize + fieldsSize));
43
- // Interpret str<N> = [u8; N] to string.
44
- const messageAsStr = rawMessage.map((field)=>String.fromCharCode(field.toNumber())).join('');
45
- const formattedStr = applyStringFormatting(messageAsStr, fields.map((field)=>field.toFr()));
46
- DebugLog.logger.verbose(formattedStr);
37
+ // DebugLog is a no-op except when doing client-initiated simulation with debug logging enabled.
38
+ // Note that we still do address resolution and basic tag-checking (above)
39
+ // To avoid a special-case in the witness generator and circuit.
40
+ if (context.environment.clientInitiatedSimulation && DebugLog.logger.isLevelEnabled('verbose')) {
41
+ const fieldsSize = memory.get(fieldsSizeOffset).toNumber();
42
+ const rawMessage = memory.getSlice(messageOffset, this.messageSize);
43
+ const fields = memory.getSlice(fieldsOffset, fieldsSize);
44
+ memory.checkTagsRange(TypeTag.UINT8, messageOffset, this.messageSize);
45
+ memory.checkTagsRange(TypeTag.FIELD, fieldsOffset, fieldsSize);
46
+ // Interpret str<N> = [u8; N] to string.
47
+ const messageAsStr = rawMessage.map((field)=>String.fromCharCode(field.toNumber())).join('');
48
+ const formattedStr = applyStringFormatting(messageAsStr, fields.map((field)=>field.toFr()));
49
+ DebugLog.logger.verbose(formattedStr);
50
+ }
51
+ // Despite having dynamic "size" operands, the gas cost is fixed because
52
+ // this opcode is a no-op except during client-initiated simulation
53
+ context.machineState.consumeGas(this.gasCost());
47
54
  }
48
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,uBAAe,sBAAuB,SAAQ,WAAW;IAS3C,SAAS,CAAC,QAAQ,EAAE,MAAM;IAAE,SAAS,CAAC,OAAO,EAAE,MAAM;IAAE,SAAS,CAAC,OAAO,EAAE,MAAM;IAP5F,gBAAuB,UAAU,EAAE,WAAW,EAAE,CAK9C;gBAEoB,QAAQ,EAAE,MAAM,EAAY,OAAO,EAAE,MAAM,EAAY,OAAO,EAAE,MAAM;CAG7F;AAED,qBAAa,MAAO,SAAQ,sBAAsB;IAChD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAY;IACxC,MAAM,CAAC,QAAQ,CAAC,MAAM,iBAAiB;gBAE3B,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAItD,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBzD;AAED,qBAAa,KAAM,SAAQ,sBAAsB;IAC/C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAW;IACvC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;gBAE1B,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAItD,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAazD"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/opcodes/storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,+CAA+C,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,uBAAe,sBAAuB,SAAQ,WAAW;IAUrD,SAAS,CAAC,QAAQ,EAAE,MAAM;IAC1B,SAAS,CAAC,OAAO,EAAE,MAAM;IACzB,SAAS,CAAC,OAAO,EAAE,MAAM;IAV3B,gBAAuB,UAAU,EAAE,WAAW,EAAE,CAK9C;gBAGU,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,MAAO,SAAQ,sBAAsB;IAChD,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAY;IACxC,MAAM,CAAC,QAAQ,CAAC,MAAM,iBAAiB;gBAE3B,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAItD,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAmBzD;AAED,qBAAa,KAAM,SAAQ,sBAAsB;IAC/C,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAW;IACvC,MAAM,CAAC,QAAQ,CAAC,MAAM,gBAAgB;gBAE1B,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAItD,OAAO,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CAczD"}
@@ -29,12 +29,12 @@ export class SStore extends BaseStorageInstruction {
29
29
  throw new StaticCallAlterationError();
30
30
  }
31
31
  const memory = context.machineState.memory;
32
+ const addressing = Addressing.fromWire(this.indirect);
32
33
  context.machineState.consumeGas(this.gasCost());
33
34
  const operands = [
34
35
  this.aOffset,
35
36
  this.bOffset
36
37
  ];
37
- const addressing = Addressing.fromWire(this.indirect, operands.length);
38
38
  const [srcOffset, slotOffset] = addressing.resolve(operands, memory);
39
39
  memory.checkTag(TypeTag.FIELD, slotOffset);
40
40
  memory.checkTag(TypeTag.FIELD, srcOffset);
@@ -51,12 +51,12 @@ export class SLoad extends BaseStorageInstruction {
51
51
  }
52
52
  async execute(context) {
53
53
  const memory = context.machineState.memory;
54
+ const addressing = Addressing.fromWire(this.indirect);
54
55
  context.machineState.consumeGas(this.gasCost());
55
56
  const operands = [
56
57
  this.aOffset,
57
58
  this.bOffset
58
59
  ];
59
- const addressing = Addressing.fromWire(this.indirect, operands.length);
60
60
  const [slotOffset, dstOffset] = addressing.resolve(operands, memory);
61
61
  memory.checkTag(TypeTag.FIELD, slotOffset);
62
62
  const slot = memory.get(slotOffset).toFr();
@@ -1,5 +1,3 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
1
  export declare class BufferCursor {
4
2
  private _buffer;
5
3
  private _position;
@@ -1 +1 @@
1
- {"version":3,"file":"buffer_cursor.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/serialization/buffer_cursor.ts"],"names":[],"mappings":";;AAGA,qBAAa,YAAY;IACX,OAAO,CAAC,OAAO;IAAU,OAAO,CAAC,SAAS;gBAAlC,OAAO,EAAE,MAAM,EAAU,SAAS,GAAE,MAAU;IAE3D,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;IAIhB,GAAG,IAAI,OAAO;IAId,gBAAgB,IAAI,MAAM;IAI1B,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIxB,SAAS,IAAI,MAAM;IAKnB,SAAS,IAAI,MAAM;IAMnB,YAAY,IAAI,MAAM;IAMtB,YAAY,IAAI,MAAM;IAMtB,YAAY,IAAI,MAAM;IAMtB,YAAY,IAAI,MAAM;IAMtB,cAAc,IAAI,MAAM;IAMxB,cAAc,IAAI,MAAM;IAMxB,UAAU,CAAC,CAAC,EAAE,MAAM;IAMpB,aAAa,CAAC,CAAC,EAAE,MAAM;IAMvB,aAAa,CAAC,CAAC,EAAE,MAAM;IAMvB,aAAa,CAAC,CAAC,EAAE,MAAM;IAMvB,aAAa,CAAC,CAAC,EAAE,MAAM;IAMvB,eAAe,CAAC,CAAC,EAAE,MAAM;IAMzB,eAAe,CAAC,CAAC,EAAE,MAAM;CAKjC"}
1
+ {"version":3,"file":"buffer_cursor.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/serialization/buffer_cursor.ts"],"names":[],"mappings":"AAGA,qBAAa,YAAY;IAErB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,SAAS;gBADT,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAAU;IAGxB,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;IAIhB,GAAG,IAAI,OAAO;IAId,gBAAgB,IAAI,MAAM;IAI1B,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAIxB,SAAS,IAAI,MAAM;IAKnB,SAAS,IAAI,MAAM;IAMnB,YAAY,IAAI,MAAM;IAMtB,YAAY,IAAI,MAAM;IAMtB,YAAY,IAAI,MAAM;IAMtB,YAAY,IAAI,MAAM;IAMtB,cAAc,IAAI,MAAM;IAMxB,cAAc,IAAI,MAAM;IAMxB,UAAU,CAAC,CAAC,EAAE,MAAM;IAMpB,aAAa,CAAC,CAAC,EAAE,MAAM;IAMvB,aAAa,CAAC,CAAC,EAAE,MAAM;IAMvB,aAAa,CAAC,CAAC,EAAE,MAAM;IAMvB,aAAa,CAAC,CAAC,EAAE,MAAM;IAMvB,eAAe,CAAC,CAAC,EAAE,MAAM;IAMzB,eAAe,CAAC,CAAC,EAAE,MAAM;CAKjC"}
@@ -1,5 +1,3 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
1
  import { type Bufferable } from '@aztec/foundation/serialize';
4
2
  import { Instruction } from '../opcodes/index.js';
5
3
  import { BufferCursor } from './buffer_cursor.js';
@@ -1 +1 @@
1
- {"version":3,"file":"bytecode_serialization.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/serialization/bytecode_serialization.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,6BAA6B,CAAC;AAGjF,OAAO,EAgBL,WAAW,EAgCZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAoB,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAE1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,KAAK,WAAW,CAAC;AAElF,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,uBAAuB,CAAC;CACtC;AAED,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAClE,eAAO,MAAM,eAAe,sCAoF1B,CAAC;AAEH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,CAEnE;AAGD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,GAAE,cAAgC,GAAG,WAAW,EAAE,CASpH;AAGD,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,cAAc,GAAE,cAAgC,GAC/C,CAAC,WAAW,EAAE,MAAM,CAAC,CA+BvB"}
1
+ {"version":3,"file":"bytecode_serialization.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/serialization/bytecode_serialization.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,6BAA6B,CAAC;AAGjF,OAAO,EAgBL,WAAW,EAgCZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAoB,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAE1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,KAAK,WAAW,CAAC;AAElF,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,uBAAuB,CAAC;CACtC;AAED,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAClE,eAAO,MAAM,eAAe,sCAoF1B,CAAC;AAEH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,CAEnE;AAGD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,GAAE,cAAgC,GAAG,WAAW,EAAE,CASpH;AAGD,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,cAAc,GAAE,cAAgC,GAC/C,CAAC,WAAW,EAAE,MAAM,CAAC,CA+BvB"}
@@ -1,5 +1,3 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
1
  import { BufferCursor } from './buffer_cursor.js';
4
2
  /**
5
3
  * All AVM opcodes. (Keep in sync with cpp counterpart code avm_opcode.hpp and rs in opcodes.rs).
@@ -1 +1 @@
1
- {"version":3,"file":"instruction_serialization.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/serialization/instruction_serialization.ts"],"names":[],"mappings":";;AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,oBAAY,MAAM;IAEhB,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,OAAO,IAAA;IACP,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,MAAM,KAAA;IACN,OAAO,KAAA;IAEP,YAAY,KAAA;IACZ,YAAY,KAAA;IACZ,WAAW,KAAA;IACX,cAAc,KAAA;IACd,cAAc,KAAA;IAEd,OAAO,KAAA;IACP,QAAQ,KAAA;IACR,YAAY,KAAA;IACZ,cAAc,KAAA;IAEd,KAAK,KAAA;IACL,MAAM,KAAA;IACN,MAAM,KAAA;IACN,MAAM,KAAA;IACN,OAAO,KAAA;IACP,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IAEN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,cAAc,KAAA;IACd,YAAY,KAAA;IACZ,eAAe,KAAA;IACf,aAAa,KAAA;IACb,eAAe,KAAA;IACf,mBAAmB,KAAA;IACnB,kBAAkB,KAAA;IAClB,aAAa,KAAA;IAEb,IAAI,KAAA;IACJ,UAAU,KAAA;IACV,MAAM,KAAA;IACN,QAAQ,KAAA;IACR,SAAS,KAAA;IAET,QAAQ,KAAA;IAER,SAAS,KAAA;IACT,iBAAiB,KAAA;IACjB,WAAW,KAAA;IACX,KAAK,KAAA;IAEL,SAAS,KAAA;CACV;AAED,eAAO,MAAM,gBAAgB,QAI5B,CAAC;AAIF,oBAAY,WAAW;IACrB,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;IACN,OAAO,IAAA;IACP,EAAE,IAAA;IACF,GAAG,IAAA;CACJ;AAGD,KAAK,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAoDzC;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,iBAAiB,EAAE,CAyBvG;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAmBrF"}
1
+ {"version":3,"file":"instruction_serialization.d.ts","sourceRoot":"","sources":["../../../../src/public/avm/serialization/instruction_serialization.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,oBAAY,MAAM;IAEhB,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,OAAO,IAAA;IACP,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,IAAI,KAAA;IACJ,KAAK,KAAA;IACL,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,MAAM,KAAA;IACN,OAAO,KAAA;IAEP,YAAY,KAAA;IACZ,YAAY,KAAA;IACZ,WAAW,KAAA;IACX,cAAc,KAAA;IACd,cAAc,KAAA;IAEd,OAAO,KAAA;IACP,QAAQ,KAAA;IACR,YAAY,KAAA;IACZ,cAAc,KAAA;IAEd,KAAK,KAAA;IACL,MAAM,KAAA;IACN,MAAM,KAAA;IACN,MAAM,KAAA;IACN,OAAO,KAAA;IACP,MAAM,KAAA;IACN,KAAK,KAAA;IACL,MAAM,KAAA;IAEN,KAAK,KAAA;IACL,MAAM,KAAA;IACN,cAAc,KAAA;IACd,YAAY,KAAA;IACZ,eAAe,KAAA;IACf,aAAa,KAAA;IACb,eAAe,KAAA;IACf,mBAAmB,KAAA;IACnB,kBAAkB,KAAA;IAClB,aAAa,KAAA;IAEb,IAAI,KAAA;IACJ,UAAU,KAAA;IACV,MAAM,KAAA;IACN,QAAQ,KAAA;IACR,SAAS,KAAA;IAET,QAAQ,KAAA;IAER,SAAS,KAAA;IACT,iBAAiB,KAAA;IACjB,WAAW,KAAA;IACX,KAAK,KAAA;IAEL,SAAS,KAAA;CACV;AAED,eAAO,MAAM,gBAAgB,QAI5B,CAAC;AAIF,oBAAY,WAAW;IACrB,KAAK,IAAA;IACL,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;IACN,OAAO,IAAA;IACP,EAAE,IAAA;IACF,GAAG,IAAA;CACJ;AAGD,KAAK,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAAC;AAoDzC;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,iBAAiB,EAAE,CAyBvG;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,CAmBrF"}
@@ -7,14 +7,14 @@ export declare class ExecutorMetrics implements ExecutorMetricsInterface {
7
7
  private fnDuration;
8
8
  private manaPerSecond;
9
9
  private manaUsed;
10
- private totalInstructions;
10
+ private totalInstructionsExecuted;
11
11
  private txHashing;
12
12
  private privateEffectsInsertions;
13
13
  constructor(client: TelemetryClient, name?: string);
14
14
  startRecordingTxSimulation(_txLabel: string): void;
15
15
  stopRecordingTxSimulation(_txLabel: string, _revertedCode?: RevertCode): void;
16
- recordEnqueuedCallSimulation(fnName: string, durationMs: number, manaUsed: number, totalInstructions: number): void;
17
- recordEnqueuedCallSimulationFailure(_fnName: string, _durationMs: number, _manaUsed: number, _totalInstructions: number): void;
16
+ recordEnqueuedCallSimulation(fnName: string, durationMs: number, manaUsed: number, totalInstructionsExecuted: number): void;
17
+ recordEnqueuedCallSimulationFailure(_fnName: string, _durationMs: number, _manaUsed: number, _totalInstructionsExecuted: number): void;
18
18
  recordTxHashComputation(durationMs: number): void;
19
19
  recordPrivateEffectsInsertion(durationUs: number, type: 'revertible' | 'non-revertible'): void;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executor_metrics.d.ts","sourceRoot":"","sources":["../../src/public/executor_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,qBAAa,eAAgB,YAAW,wBAAwB;IAC9D,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,iBAAiB,CAAY;IACrC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,wBAAwB,CAAY;gBAEhC,MAAM,EAAE,eAAe,EAAE,IAAI,SAAmB;IA6C5D,0BAA0B,CAAC,QAAQ,EAAE,MAAM;IAI3C,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,UAAU;IAItE,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;IAsB5G,mCAAmC,CACjC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,kBAAkB,EAAE,MAAM;IAO5B,uBAAuB,CAAC,UAAU,EAAE,MAAM;IAI1C,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB;CAKxF"}
1
+ {"version":3,"file":"executor_metrics.d.ts","sourceRoot":"","sources":["../../src/public/executor_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,qBAAa,eAAgB,YAAW,wBAAwB;IAC9D,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,yBAAyB,CAAY;IAC7C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,wBAAwB,CAAY;gBAEhC,MAAM,EAAE,eAAe,EAAE,IAAI,SAAmB;IA6C5D,0BAA0B,CAAC,QAAQ,EAAE,MAAM;IAI3C,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,UAAU;IAItE,4BAA4B,CAC1B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM;IAuBnC,mCAAmC,CACjC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,0BAA0B,EAAE,MAAM;IAOpC,uBAAuB,CAAC,UAAU,EAAE,MAAM;IAI1C,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB;CAKxF"}
@@ -5,7 +5,7 @@ export class ExecutorMetrics {
5
5
  fnDuration;
6
6
  manaPerSecond;
7
7
  manaUsed;
8
- totalInstructions;
8
+ totalInstructionsExecuted;
9
9
  txHashing;
10
10
  privateEffectsInsertions;
11
11
  constructor(client, name = 'PublicExecutor'){
@@ -29,9 +29,9 @@ export class ExecutorMetrics {
29
29
  unit: 'mana',
30
30
  valueType: ValueType.INT
31
31
  });
32
- this.totalInstructions = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_SIMULATION_TOTAL_INSTRUCTIONS, {
32
+ this.totalInstructionsExecuted = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_SIMULATION_TOTAL_INSTRUCTIONS, {
33
33
  description: 'Total number of instructions executed',
34
- unit: 'instructions',
34
+ unit: '#instructions',
35
35
  valueType: ValueType.INT
36
36
  });
37
37
  this.txHashing = meter.createHistogram(Metrics.PUBLIC_EXECUTOR_TX_HASHING, {
@@ -51,7 +51,7 @@ export class ExecutorMetrics {
51
51
  stopRecordingTxSimulation(_txLabel, _revertedCode) {
52
52
  // do nothing (unimplemented)
53
53
  }
54
- recordEnqueuedCallSimulation(fnName, durationMs, manaUsed, totalInstructions) {
54
+ recordEnqueuedCallSimulation(fnName, durationMs, manaUsed, totalInstructionsExecuted) {
55
55
  this.fnCount.add(1, {
56
56
  [Attributes.OK]: true,
57
57
  [Attributes.APP_CIRCUIT_NAME]: fnName
@@ -59,7 +59,7 @@ export class ExecutorMetrics {
59
59
  this.manaUsed.record(Math.ceil(manaUsed), {
60
60
  [Attributes.APP_CIRCUIT_NAME]: fnName
61
61
  });
62
- this.totalInstructions.record(Math.ceil(totalInstructions), {
62
+ this.totalInstructionsExecuted.record(Math.ceil(totalInstructionsExecuted), {
63
63
  [Attributes.APP_CIRCUIT_NAME]: fnName
64
64
  });
65
65
  this.fnDuration.record(Math.ceil(durationMs), {
@@ -72,7 +72,7 @@ export class ExecutorMetrics {
72
72
  });
73
73
  }
74
74
  }
75
- recordEnqueuedCallSimulationFailure(_fnName, _durationMs, _manaUsed, _totalInstructions) {
75
+ recordEnqueuedCallSimulationFailure(_fnName, _durationMs, _manaUsed, _totalInstructionsExecuted) {
76
76
  this.fnCount.add(1, {
77
77
  [Attributes.OK]: false
78
78
  });
@@ -3,7 +3,7 @@ export interface ExecutorMetricsInterface {
3
3
  startRecordingTxSimulation(txLabel: string): void;
4
4
  stopRecordingTxSimulation(txLabel: string, revertedCode?: RevertCode): void;
5
5
  recordEnqueuedCallSimulation(fnName: string, durationMs: number, manaUsed: number, totalInstructions: number): void;
6
- recordEnqueuedCallSimulationFailure(fnName: string, durationMs: number, manaUsed: number, totalInstructions: number): void;
6
+ recordEnqueuedCallSimulationFailure(fnName: string, durationMs: number, manaUsed: number, totalInstructionsExecuted: number): void;
7
7
  recordTxHashComputation(durationMs: number): void;
8
8
  recordPrivateEffectsInsertion(durationUs: number, type: 'revertible' | 'non-revertible'): void;
9
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executor_metrics_interface.d.ts","sourceRoot":"","sources":["../../src/public/executor_metrics_interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,wBAAwB;IACvC,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC5E,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpH,mCAAmC,CACjC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,GACxB,IAAI,CAAC;IACR,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAAC;CAChG"}
1
+ {"version":3,"file":"executor_metrics_interface.d.ts","sourceRoot":"","sources":["../../src/public/executor_metrics_interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,wBAAwB;IACvC,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC5E,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpH,mCAAmC,CACjC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,yBAAyB,EAAE,MAAM,GAChC,IAAI,CAAC;IACR,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB,GAAG,IAAI,CAAC;CAChG"}
@@ -1 +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,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,gBAAgB,EAAmB,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAiC,KAAK,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAG3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AAIxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAM5E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,uBAAuB;;IASjE,OAAO,CAAC,OAAO;IARjB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,aAAa,CAAC,CAAS;gBAG7B,UAAU,EAAE,yBAAyB,EACrC,kBAAkB,EAAE,wBAAwB,EAC5C,OAAO,GAAE,eAAkC,EACnC,OAAO,GAAE,mBAA+C;WAe9C,MAAM,CACxB,OAAO,GAAE,eAAkC,EAC3C,OAAO,GAAE,mBAA+C,GACvD,OAAO,CAAC,wBAAwB,CAAC;IAM7B,gBAAgB,CAAC,MAAM,EAAE,MAAM;IAIzB,QAAQ,CACnB,MAAM,EAAE,YAAY,EACpB,UAAU,GAAE,gBAAgB,EAAO,EACnC,QAAQ,GAAE,gBAAgB,EAAO,EACjC,YAAY,CAAC,EAAE,gBAAgB,EAC/B,QAAQ,GAAE,YAAqB,EAE/B,cAAc,KAAkC,GAC/C,OAAO,CAAC,EAAE,CAAC;IAcD,UAAU,CACrB,MAAM,EAAE,YAAY,EACpB,UAAU,GAAE,gBAAgB,EAAO,EACnC,QAAQ,GAAE,gBAAgB,EAAO,EACjC,YAAY,CAAC,EAAE,gBAAgB,EAC/B,QAAQ,GAAE,YAAqB,EAE/B,cAAc,KAAkC,EAChD,OAAO,GAAE,MAAsB,GAC9B,OAAO,CAAC,cAAc,CAAC;IAyBb,mBAAmB,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,YAAY,EACpB,UAAU,CAAC,EAAE,gBAAgB,EAAE,EAC/B,QAAQ,CAAC,EAAE,gBAAgB,EAAE,EAC7B,YAAY,CAAC,EAAE,gBAAgB,EAC/B,QAAQ,CAAC,EAAE,YAAY,EACvB,cAAc,CAAC,EAAE,EAAE,GAClB,OAAO,CAAC,cAAc,CAAC;IAInB,kBAAkB;CAuB1B;AAED,wBAAgB,cAAc,oBAM7B"}
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,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,gBAAgB,EAAmB,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAiC,KAAK,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAG3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AAIxF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAM5E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,YAAY,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,wBAAyB,SAAQ,uBAAuB;;IASjE,OAAO,CAAC,OAAO;IARjB,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,aAAa,CAAC,CAAS;gBAG7B,UAAU,EAAE,yBAAyB,EACrC,kBAAkB,EAAE,wBAAwB,EAC5C,OAAO,GAAE,eAAkC,EACnC,OAAO,GAAE,mBAA+C;WAgB9C,MAAM,CACxB,OAAO,GAAE,eAAkC,EAC3C,OAAO,GAAE,mBAA+C,GACvD,OAAO,CAAC,wBAAwB,CAAC;IAM7B,gBAAgB,CAAC,MAAM,EAAE,MAAM;IAIzB,QAAQ,CACnB,MAAM,EAAE,YAAY,EACpB,UAAU,GAAE,gBAAgB,EAAO,EACnC,QAAQ,GAAE,gBAAgB,EAAO,EACjC,YAAY,CAAC,EAAE,gBAAgB,EAC/B,QAAQ,GAAE,YAAqB,EAE/B,cAAc,KAAkC,GAC/C,OAAO,CAAC,EAAE,CAAC;IAcD,UAAU,CACrB,MAAM,EAAE,YAAY,EACpB,UAAU,GAAE,gBAAgB,EAAO,EACnC,QAAQ,GAAE,gBAAgB,EAAO,EACjC,YAAY,CAAC,EAAE,gBAAgB,EAC/B,QAAQ,GAAE,YAAqB,EAE/B,cAAc,KAAkC,EAChD,OAAO,GAAE,MAAsB,GAC9B,OAAO,CAAC,cAAc,CAAC;IAyBb,mBAAmB,CAC9B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,YAAY,EACpB,UAAU,CAAC,EAAE,gBAAgB,EAAE,EAC/B,QAAQ,CAAC,EAAE,gBAAgB,EAAE,EAC7B,YAAY,CAAC,EAAE,gBAAgB,EAC/B,QAAQ,CAAC,EAAE,YAAY,EACvB,cAAc,CAAC,EAAE,EAAE,GAClB,OAAO,CAAC,cAAc,CAAC;IAInB,kBAAkB;CAuB1B;AAED,wBAAgB,cAAc,oBAM7B"}
@@ -26,7 +26,7 @@ const DEFAULT_GAS_FEES = new GasFees(2, 3);
26
26
  constructor(merkleTree, contractDataSource, globals = defaultGlobals(), metrics = new TestExecutorMetrics()){
27
27
  super(contractDataSource, merkleTree), this.metrics = metrics, this.txCount = 0;
28
28
  const contractsDB = new PublicContractsDB(contractDataSource);
29
- this.simulator = new MeasuredPublicTxSimulator(merkleTree, contractsDB, globals, /*doMerkleOperations=*/ true, /*skipFeeEnforcement=*/ false, this.metrics);
29
+ this.simulator = new MeasuredPublicTxSimulator(merkleTree, contractsDB, globals, /*doMerkleOperations=*/ true, /*skipFeeEnforcement=*/ false, /*clientInitiatedSimulation=*/ true, this.metrics);
30
30
  }
31
31
  static async create(globals = defaultGlobals(), metrics = new TestExecutorMetrics()) {
32
32
  const contractDataSource = new SimpleContractDataSource();
@@ -45,8 +45,8 @@ const DEFAULT_GAS_FEES = new GasFees(2, 3);
45
45
  async simulateTx(sender, setupCalls = [], appCalls = [], teardownCall, feePayer = sender, /* need some unique first nullifier for note-nonce computations */ firstNullifier = new Fr(420000 + this.txCount++), txLabel = 'unlabeledTx') {
46
46
  const tx = await this.createTx(sender, setupCalls, appCalls, teardownCall, feePayer, firstNullifier);
47
47
  await this.setFeePayerBalance(feePayer);
48
- const txLabelWithCount = `${txLabel}.${this.txCount - 1}`;
49
- const fullTxLabel = this.metricsPrefix ? `${this.metricsPrefix}.${txLabelWithCount}` : txLabelWithCount;
48
+ const txLabelWithCount = `${txLabel}/${this.txCount - 1}`;
49
+ const fullTxLabel = this.metricsPrefix ? `${this.metricsPrefix}/${txLabelWithCount}` : txLabelWithCount;
50
50
  const avmResult = await this.simulator.simulate(tx, fullTxLabel);
51
51
  // Something like this is often useful for debugging:
52
52
  //if (avmResult.revertReason) {