@aztec/simulator 0.0.1-commit.fcb71a6 → 0.0.1-commit.fffb133c

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 (152) hide show
  1. package/README.md +2 -0
  2. package/dest/common/errors.d.ts +7 -1
  3. package/dest/common/errors.d.ts.map +1 -1
  4. package/dest/public/avm/avm_context.d.ts +3 -3
  5. package/dest/public/avm/avm_context.d.ts.map +1 -1
  6. package/dest/public/avm/avm_contract_call_result.d.ts +6 -6
  7. package/dest/public/avm/avm_contract_call_result.d.ts.map +1 -1
  8. package/dest/public/avm/avm_contract_call_result.js +3 -3
  9. package/dest/public/avm/avm_execution_environment.d.ts +6 -5
  10. package/dest/public/avm/avm_execution_environment.d.ts.map +1 -1
  11. package/dest/public/avm/avm_machine_state.d.ts +6 -5
  12. package/dest/public/avm/avm_machine_state.d.ts.map +1 -1
  13. package/dest/public/avm/avm_machine_state.js +3 -2
  14. package/dest/public/avm/avm_memory_types.d.ts +1 -1
  15. package/dest/public/avm/avm_memory_types.d.ts.map +1 -1
  16. package/dest/public/avm/avm_memory_types.js +3 -0
  17. package/dest/public/avm/avm_simulator.d.ts +3 -2
  18. package/dest/public/avm/avm_simulator.d.ts.map +1 -1
  19. package/dest/public/avm/avm_simulator.js +5 -4
  20. package/dest/public/avm/calldata.d.ts +51 -0
  21. package/dest/public/avm/calldata.d.ts.map +1 -0
  22. package/dest/public/avm/calldata.js +63 -0
  23. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts +1 -1
  24. package/dest/public/avm/fixtures/avm_simulation_tester.d.ts.map +1 -1
  25. package/dest/public/avm/fixtures/avm_simulation_tester.js +3 -2
  26. package/dest/public/avm/fixtures/initializers.d.ts +1 -1
  27. package/dest/public/avm/fixtures/initializers.d.ts.map +1 -1
  28. package/dest/public/avm/fixtures/initializers.js +2 -1
  29. package/dest/public/avm/opcodes/accrued_substate.d.ts +15 -15
  30. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -1
  31. package/dest/public/avm/opcodes/accrued_substate.js +33 -29
  32. package/dest/public/avm/opcodes/arithmetic.d.ts +8 -8
  33. package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -1
  34. package/dest/public/avm/opcodes/arithmetic.js +1 -1
  35. package/dest/public/avm/opcodes/bitwise.d.ts +7 -7
  36. package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -1
  37. package/dest/public/avm/opcodes/bitwise.js +5 -5
  38. package/dest/public/avm/opcodes/comparators.d.ts +4 -4
  39. package/dest/public/avm/opcodes/comparators.d.ts.map +1 -1
  40. package/dest/public/avm/opcodes/comparators.js +1 -1
  41. package/dest/public/avm/opcodes/contract.d.ts +3 -3
  42. package/dest/public/avm/opcodes/contract.d.ts.map +1 -1
  43. package/dest/public/avm/opcodes/contract.js +8 -8
  44. package/dest/public/avm/opcodes/control_flow.d.ts +3 -3
  45. package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -1
  46. package/dest/public/avm/opcodes/control_flow.js +4 -4
  47. package/dest/public/avm/opcodes/conversion.d.ts +3 -3
  48. package/dest/public/avm/opcodes/conversion.d.ts.map +1 -1
  49. package/dest/public/avm/opcodes/conversion.js +4 -4
  50. package/dest/public/avm/opcodes/ec_add.d.ts +4 -4
  51. package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -1
  52. package/dest/public/avm/opcodes/ec_add.js +15 -6
  53. package/dest/public/avm/opcodes/environment_getters.d.ts +5 -5
  54. package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -1
  55. package/dest/public/avm/opcodes/environment_getters.js +6 -6
  56. package/dest/public/avm/opcodes/external_calls.d.ts +9 -9
  57. package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
  58. package/dest/public/avm/opcodes/external_calls.js +23 -22
  59. package/dest/public/avm/opcodes/hashing.d.ts +8 -8
  60. package/dest/public/avm/opcodes/hashing.d.ts.map +1 -1
  61. package/dest/public/avm/opcodes/hashing.js +12 -12
  62. package/dest/public/avm/opcodes/instruction_impl.d.ts +4 -4
  63. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +1 -1
  64. package/dest/public/avm/opcodes/instruction_impl.js +4 -4
  65. package/dest/public/avm/opcodes/memory.d.ts +14 -14
  66. package/dest/public/avm/opcodes/memory.d.ts.map +1 -1
  67. package/dest/public/avm/opcodes/memory.js +25 -25
  68. package/dest/public/avm/opcodes/misc.d.ts +3 -3
  69. package/dest/public/avm/opcodes/misc.d.ts.map +1 -1
  70. package/dest/public/avm/opcodes/misc.js +4 -4
  71. package/dest/public/avm/opcodes/storage.d.ts +16 -15
  72. package/dest/public/avm/opcodes/storage.d.ts.map +1 -1
  73. package/dest/public/avm/opcodes/storage.js +34 -24
  74. package/dest/public/debug_fn_name.d.ts +4 -4
  75. package/dest/public/debug_fn_name.d.ts.map +1 -1
  76. package/dest/public/debug_fn_name.js +7 -5
  77. package/dest/public/executor_metrics.d.ts +1 -1
  78. package/dest/public/executor_metrics.d.ts.map +1 -1
  79. package/dest/public/executor_metrics.js +8 -34
  80. package/dest/public/fixtures/bulk_test.d.ts +3 -3
  81. package/dest/public/fixtures/bulk_test.d.ts.map +1 -1
  82. package/dest/public/fixtures/bulk_test.js +1 -17
  83. package/dest/public/fixtures/custom_bytecode_tests.d.ts +11 -11
  84. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +1 -1
  85. package/dest/public/fixtures/custom_bytecode_tests.js +18 -18
  86. package/dest/public/fixtures/minimal_public_tx.js +2 -2
  87. package/dest/public/fixtures/opcode_spammer.d.ts +1 -1
  88. package/dest/public/fixtures/opcode_spammer.d.ts.map +1 -1
  89. package/dest/public/fixtures/opcode_spammer.js +92 -80
  90. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +21 -7
  91. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -1
  92. package/dest/public/fuzzing/avm_fuzzer_simulator.js +42 -10
  93. package/dest/public/fuzzing/avm_simulator_bin.js +29 -11
  94. package/dest/public/hinting_db_sources.js +3 -1
  95. package/dest/public/public_processor/guarded_merkle_tree.js +3 -1
  96. package/dest/public/public_processor/public_processor.d.ts +2 -2
  97. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  98. package/dest/public/public_processor/public_processor.js +402 -21
  99. package/dest/public/public_processor/public_processor_metrics.d.ts +1 -1
  100. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  101. package/dest/public/public_processor/public_processor_metrics.js +12 -45
  102. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +1 -1
  103. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +1 -1
  104. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +2 -1
  105. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +1 -1
  106. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +4 -3
  107. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  108. package/dest/public/public_tx_simulator/public_tx_simulator.js +9 -6
  109. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +395 -19
  110. package/dest/public/side_effect_trace.d.ts +2 -1
  111. package/dest/public/side_effect_trace.d.ts.map +1 -1
  112. package/dest/public/state_manager/state_manager.d.ts +1 -1
  113. package/dest/public/state_manager/state_manager.d.ts.map +1 -1
  114. package/dest/public/state_manager/state_manager.js +2 -2
  115. package/package.json +17 -17
  116. package/src/public/avm/avm_context.ts +2 -2
  117. package/src/public/avm/avm_contract_call_result.ts +8 -6
  118. package/src/public/avm/avm_execution_environment.ts +9 -4
  119. package/src/public/avm/avm_machine_state.ts +6 -5
  120. package/src/public/avm/avm_memory_types.ts +4 -0
  121. package/src/public/avm/avm_simulator.ts +8 -5
  122. package/src/public/avm/calldata.ts +100 -0
  123. package/src/public/avm/fixtures/avm_simulation_tester.ts +8 -2
  124. package/src/public/avm/fixtures/initializers.ts +2 -1
  125. package/src/public/avm/opcodes/accrued_substate.ts +21 -15
  126. package/src/public/avm/opcodes/arithmetic.ts +1 -1
  127. package/src/public/avm/opcodes/bitwise.ts +3 -3
  128. package/src/public/avm/opcodes/comparators.ts +1 -1
  129. package/src/public/avm/opcodes/contract.ts +4 -7
  130. package/src/public/avm/opcodes/control_flow.ts +2 -2
  131. package/src/public/avm/opcodes/conversion.ts +3 -3
  132. package/src/public/avm/opcodes/ec_add.ts +13 -4
  133. package/src/public/avm/opcodes/environment_getters.ts +7 -7
  134. package/src/public/avm/opcodes/external_calls.ts +17 -15
  135. package/src/public/avm/opcodes/hashing.ts +6 -6
  136. package/src/public/avm/opcodes/instruction_impl.ts +2 -2
  137. package/src/public/avm/opcodes/memory.ts +19 -19
  138. package/src/public/avm/opcodes/misc.ts +2 -2
  139. package/src/public/avm/opcodes/storage.ts +30 -22
  140. package/src/public/debug_fn_name.ts +10 -8
  141. package/src/public/executor_metrics.ts +7 -34
  142. package/src/public/fixtures/bulk_test.ts +2 -2
  143. package/src/public/fixtures/custom_bytecode_tests.ts +27 -18
  144. package/src/public/fixtures/minimal_public_tx.ts +2 -2
  145. package/src/public/fixtures/opcode_spammer.ts +197 -81
  146. package/src/public/fuzzing/avm_fuzzer_simulator.ts +60 -12
  147. package/src/public/fuzzing/avm_simulator_bin.ts +43 -8
  148. package/src/public/public_processor/public_processor.ts +3 -2
  149. package/src/public/public_processor/public_processor_metrics.ts +11 -45
  150. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +9 -1
  151. package/src/public/public_tx_simulator/public_tx_simulator.ts +12 -5
  152. package/src/public/state_manager/state_manager.ts +2 -16
@@ -316,11 +316,11 @@ const MAX_U32 = 0xffffffffn;
316
316
  value: new Uint32(MAX_U32)
317
317
  },
318
318
  ()=>[
319
- new CalldataCopy(/*indirect=*/ 0, /*copySizeOffset=*/ CALL_COPY_SIZE_OFFSET, /*cdStartOffset=*/ CALL_CALLDATA_INDEX_OFFSET, /*dstOffset=*/ CALL_ADDR_OFFSET)
319
+ new CalldataCopy(/*addressing_mode=*/ 0, /*copySizeOffset=*/ CALL_COPY_SIZE_OFFSET, /*cdStartOffset=*/ CALL_CALLDATA_INDEX_OFFSET, /*dstOffset=*/ CALL_ADDR_OFFSET)
320
320
  ]
321
321
  ],
322
322
  targetInstructions: ()=>[
323
- new Call(/*indirect=*/ 0, /*l2GasOffset=*/ CALL_L2_GAS_OFFSET, /*daGasOffset=*/ CALL_DA_GAS_OFFSET, /*addrOffset=*/ CALL_ADDR_OFFSET, /*argsSizeOffset=*/ CALL_ARGS_SIZE_OFFSET, /*argsOffset=*/ CALL_ARGS_OFFSET)
323
+ new Call(/*addressing_mode=*/ 0, /*l2GasOffset=*/ CALL_L2_GAS_OFFSET, /*daGasOffset=*/ CALL_DA_GAS_OFFSET, /*addrOffset=*/ CALL_ADDR_OFFSET, /*argsSizeOffset=*/ CALL_ARGS_SIZE_OFFSET, /*argsOffset=*/ CALL_ARGS_OFFSET)
324
324
  ],
325
325
  addressAsCalldata: true
326
326
  };
@@ -340,11 +340,11 @@ const STATIC_CALL_CONFIG = {
340
340
  value: new Uint32(MAX_U32)
341
341
  },
342
342
  ()=>[
343
- new CalldataCopy(/*indirect=*/ 0, /*copySizeOffset=*/ CALL_COPY_SIZE_OFFSET, /*cdStartOffset=*/ CALL_CALLDATA_INDEX_OFFSET, /*dstOffset=*/ CALL_ADDR_OFFSET)
343
+ new CalldataCopy(/*addressing_mode=*/ 0, /*copySizeOffset=*/ CALL_COPY_SIZE_OFFSET, /*cdStartOffset=*/ CALL_CALLDATA_INDEX_OFFSET, /*dstOffset=*/ CALL_ADDR_OFFSET)
344
344
  ]
345
345
  ],
346
346
  targetInstructions: ()=>[
347
- new StaticCall(/*indirect=*/ 0, /*l2GasOffset=*/ CALL_L2_GAS_OFFSET, /*daGasOffset=*/ CALL_DA_GAS_OFFSET, /*addrOffset=*/ CALL_ADDR_OFFSET, /*argsSizeOffset=*/ CALL_ARGS_SIZE_OFFSET, /*argsOffset=*/ CALL_ARGS_OFFSET)
347
+ new StaticCall(/*addressing_mode=*/ 0, /*l2GasOffset=*/ CALL_L2_GAS_OFFSET, /*daGasOffset=*/ CALL_DA_GAS_OFFSET, /*addrOffset=*/ CALL_ADDR_OFFSET, /*argsSizeOffset=*/ CALL_ARGS_SIZE_OFFSET, /*argsOffset=*/ CALL_ARGS_OFFSET)
348
348
  ],
349
349
  addressAsCalldata: true
350
350
  };
@@ -372,7 +372,7 @@ const STATIC_CALL_CONFIG = {
372
372
  }
373
373
  ],
374
374
  targetInstructions: ()=>[
375
- new Add(/*indirect=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.ADD_8, Add.wireFormat8)
375
+ new Add(/*addressing_mode=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.ADD_8, Add.wireFormat8)
376
376
  ]
377
377
  })),
378
378
  [Opcode.SUB_8]: ALL_TAGS.map((tag)=>({
@@ -388,7 +388,7 @@ const STATIC_CALL_CONFIG = {
388
388
  }
389
389
  ],
390
390
  targetInstructions: ()=>[
391
- new Sub(/*indirect=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.SUB_8, Sub.wireFormat8)
391
+ new Sub(/*addressing_mode=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.SUB_8, Sub.wireFormat8)
392
392
  ]
393
393
  })),
394
394
  [Opcode.MUL_8]: ALL_TAGS.map((tag)=>({
@@ -404,7 +404,7 @@ const STATIC_CALL_CONFIG = {
404
404
  }
405
405
  ],
406
406
  targetInstructions: ()=>[
407
- new Mul(/*indirect=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.MUL_8, Mul.wireFormat8)
407
+ new Mul(/*addressing_mode=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.MUL_8, Mul.wireFormat8)
408
408
  ]
409
409
  })),
410
410
  // DIV doesn't support FIELD type
@@ -421,7 +421,7 @@ const STATIC_CALL_CONFIG = {
421
421
  }
422
422
  ],
423
423
  targetInstructions: ()=>[
424
- new Div(/*indirect=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.DIV_8, Div.wireFormat8)
424
+ new Div(/*addressing_mode=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.DIV_8, Div.wireFormat8)
425
425
  ]
426
426
  })),
427
427
  // Field-only
@@ -438,7 +438,7 @@ const STATIC_CALL_CONFIG = {
438
438
  }
439
439
  ],
440
440
  targetInstructions: ()=>[
441
- new FieldDiv(/*indirect=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.FDIV_8, FieldDiv.wireFormat8)
441
+ new FieldDiv(/*addressing_mode=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.FDIV_8, FieldDiv.wireFormat8)
442
442
  ]
443
443
  }
444
444
  ],
@@ -458,7 +458,7 @@ const STATIC_CALL_CONFIG = {
458
458
  }
459
459
  ],
460
460
  targetInstructions: ()=>[
461
- new Eq(/*indirect=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 2).as(Opcode.EQ_8, Eq.wireFormat8)
461
+ new Eq(/*addressing_mode=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 2).as(Opcode.EQ_8, Eq.wireFormat8)
462
462
  ]
463
463
  })),
464
464
  [Opcode.LT_8]: ALL_TAGS.map((tag)=>({
@@ -474,7 +474,7 @@ const STATIC_CALL_CONFIG = {
474
474
  }
475
475
  ],
476
476
  targetInstructions: ()=>[
477
- new Lt(/*indirect=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 2).as(Opcode.LT_8, Lt.wireFormat8)
477
+ new Lt(/*addressing_mode=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 2).as(Opcode.LT_8, Lt.wireFormat8)
478
478
  ]
479
479
  })),
480
480
  [Opcode.LTE_8]: ALL_TAGS.map((tag)=>({
@@ -490,7 +490,7 @@ const STATIC_CALL_CONFIG = {
490
490
  }
491
491
  ],
492
492
  targetInstructions: ()=>[
493
- new Lte(/*indirect=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 2).as(Opcode.LTE_8, Lte.wireFormat8)
493
+ new Lte(/*addressing_mode=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 2).as(Opcode.LTE_8, Lte.wireFormat8)
494
494
  ]
495
495
  })),
496
496
  // ═══════════════════════════════════════════════════════════════════════════
@@ -509,7 +509,7 @@ const STATIC_CALL_CONFIG = {
509
509
  }
510
510
  ],
511
511
  targetInstructions: ()=>[
512
- new And(/*indirect=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.AND_8, And.wireFormat8)
512
+ new And(/*addressing_mode=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.AND_8, And.wireFormat8)
513
513
  ]
514
514
  })),
515
515
  [Opcode.OR_8]: INT_TAGS.map((tag)=>({
@@ -525,7 +525,7 @@ const STATIC_CALL_CONFIG = {
525
525
  }
526
526
  ],
527
527
  targetInstructions: ()=>[
528
- new Or(/*indirect=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.OR_8, Or.wireFormat8)
528
+ new Or(/*addressing_mode=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.OR_8, Or.wireFormat8)
529
529
  ]
530
530
  })),
531
531
  [Opcode.XOR_8]: INT_TAGS.map((tag)=>({
@@ -541,7 +541,7 @@ const STATIC_CALL_CONFIG = {
541
541
  }
542
542
  ],
543
543
  targetInstructions: ()=>[
544
- new Xor(/*indirect=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.XOR_8, Xor.wireFormat8)
544
+ new Xor(/*addressing_mode=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.XOR_8, Xor.wireFormat8)
545
545
  ]
546
546
  })),
547
547
  [Opcode.NOT_8]: INT_TAGS.map((tag)=>({
@@ -553,7 +553,7 @@ const STATIC_CALL_CONFIG = {
553
553
  }
554
554
  ],
555
555
  targetInstructions: ()=>[
556
- new Not(/*indirect=*/ 0, /*srcOffset=*/ 0, /*dstOffset=*/ 0).as(Opcode.NOT_8, Not.wireFormat8)
556
+ new Not(/*addressing_mode=*/ 0, /*srcOffset=*/ 0, /*dstOffset=*/ 0).as(Opcode.NOT_8, Not.wireFormat8)
557
557
  ]
558
558
  })),
559
559
  [Opcode.SHL_8]: INT_TAGS.map((tag)=>({
@@ -569,7 +569,7 @@ const STATIC_CALL_CONFIG = {
569
569
  }
570
570
  ],
571
571
  targetInstructions: ()=>[
572
- new Shl(/*indirect=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.SHL_8, Shl.wireFormat8)
572
+ new Shl(/*addressing_mode=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.SHL_8, Shl.wireFormat8)
573
573
  ]
574
574
  })),
575
575
  [Opcode.SHR_8]: INT_TAGS.map((tag)=>({
@@ -585,7 +585,7 @@ const STATIC_CALL_CONFIG = {
585
585
  }
586
586
  ],
587
587
  targetInstructions: ()=>[
588
- new Shr(/*indirect=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.SHR_8, Shr.wireFormat8)
588
+ new Shr(/*addressing_mode=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.SHR_8, Shr.wireFormat8)
589
589
  ]
590
590
  })),
591
591
  // ═══════════════════════════════════════════════════════════════════════════
@@ -600,7 +600,7 @@ const STATIC_CALL_CONFIG = {
600
600
  }
601
601
  ],
602
602
  targetInstructions: ()=>[
603
- new Cast(/*indirect=*/ 0, /*srcOffset=*/ 0, /*dstOffset=*/ 1, /*dstTag=*/ TypeTag.UINT32).as(Opcode.CAST_8, Cast.wireFormat8)
603
+ new Cast(/*addressing_mode=*/ 0, /*srcOffset=*/ 0, /*dstOffset=*/ 1, /*dstTag=*/ TypeTag.UINT32).as(Opcode.CAST_8, Cast.wireFormat8)
604
604
  ]
605
605
  })),
606
606
  [Opcode.MOV_8]: ALL_TAGS.map((tag)=>({
@@ -612,7 +612,7 @@ const STATIC_CALL_CONFIG = {
612
612
  }
613
613
  ],
614
614
  targetInstructions: ()=>[
615
- new Mov(/*indirect=*/ 0, /*srcOffset=*/ 0, /*dstOffset=*/ 1).as(Opcode.MOV_8, Mov.wireFormat8)
615
+ new Mov(/*addressing_mode=*/ 0, /*srcOffset=*/ 0, /*dstOffset=*/ 1).as(Opcode.MOV_8, Mov.wireFormat8)
616
616
  ]
617
617
  })),
618
618
  // ═══════════════════════════════════════════════════════════════════════════
@@ -648,7 +648,7 @@ const STATIC_CALL_CONFIG = {
648
648
  {
649
649
  setup: [],
650
650
  targetInstructions: ()=>[
651
- new Set(/*indirect=*/ 0, /*dstOffset=*/ 0, /*inTag=*/ TypeTag.UINT128, /*value=*/ 4242424242424242n).as(Opcode.SET_128, Set.wireFormat128)
651
+ new Set(/*addressing_mode=*/ 0, /*dstOffset=*/ 0, /*inTag=*/ TypeTag.UINT128, /*value=*/ 4242424242424242n).as(Opcode.SET_128, Set.wireFormat128)
652
652
  ]
653
653
  }
654
654
  ],
@@ -679,7 +679,7 @@ const STATIC_CALL_CONFIG = {
679
679
  }
680
680
  ],
681
681
  targetInstructions: ()=>[
682
- new JumpI(/*indirect=*/ 0, /*condOffset=*/ 0, /*loc=*/ 0)
682
+ new JumpI(/*addressing_mode=*/ 0, /*condOffset=*/ 0, /*loc=*/ 0)
683
683
  ]
684
684
  }
685
685
  ],
@@ -725,7 +725,7 @@ const STATIC_CALL_CONFIG = {
725
725
  }
726
726
  ],
727
727
  targetInstructions: ()=>[
728
- new Return(/*indirect=*/ 0, /*returnSizeOffset=*/ 0, /*returnOffset=*/ 0)
728
+ new Return(/*addressing_mode=*/ 0, /*returnSizeOffset=*/ 0, /*returnOffset=*/ 0)
729
729
  ],
730
730
  // Use the side-effect-limit pattern (even though it's not a side-effect) as it fits
731
731
  // this case (we want to CALL, RETURN, then CALL again back in parent). We omit "cleanup"
@@ -744,7 +744,7 @@ const STATIC_CALL_CONFIG = {
744
744
  }
745
745
  ],
746
746
  targetInstructions: ()=>[
747
- new Revert(/*indirect=*/ 0, /*retSizeOffset=*/ 0, /*returnOffset=*/ 1).as(Opcode.REVERT_8, Revert.wireFormat8)
747
+ new Revert(/*addressing_mode=*/ 0, /*retSizeOffset=*/ 0, /*returnOffset=*/ 1).as(Opcode.REVERT_8, Revert.wireFormat8)
748
748
  ],
749
749
  limit: 1
750
750
  }
@@ -756,7 +756,7 @@ const STATIC_CALL_CONFIG = {
756
756
  {
757
757
  setup: [],
758
758
  targetInstructions: ()=>[
759
- new GetEnvVar(/*indirect=*/ 0, /*dstOffset=*/ 0, /*varEnum=*/ 0).as(Opcode.GETENVVAR_16, GetEnvVar.wireFormat16)
759
+ new GetEnvVar(/*addressing_mode=*/ 0, /*dstOffset=*/ 0, /*varEnum=*/ 0).as(Opcode.GETENVVAR_16, GetEnvVar.wireFormat16)
760
760
  ]
761
761
  }
762
762
  ],
@@ -776,7 +776,7 @@ const STATIC_CALL_CONFIG = {
776
776
  }
777
777
  ],
778
778
  targetInstructions: ()=>[
779
- new CalldataCopy(/*indirect=*/ 0, /*copySizeOffset=*/ 0, /*cdStartOffset=*/ 1, /*dstOffset=*/ 2)
779
+ new CalldataCopy(/*addressing_mode=*/ 0, /*copySizeOffset=*/ 0, /*cdStartOffset=*/ 1, /*dstOffset=*/ 2)
780
780
  ]
781
781
  },
782
782
  {
@@ -795,7 +795,7 @@ const STATIC_CALL_CONFIG = {
795
795
  }
796
796
  ],
797
797
  targetInstructions: ()=>[
798
- new CalldataCopy(/*indirect=*/ 0, /*copySizeOffset=*/ 0, /*cdStartOffset=*/ 1, /*dstOffset=*/ 2)
798
+ new CalldataCopy(/*addressing_mode=*/ 0, /*copySizeOffset=*/ 0, /*cdStartOffset=*/ 1, /*dstOffset=*/ 2)
799
799
  ]
800
800
  },
801
801
  {
@@ -812,7 +812,7 @@ const STATIC_CALL_CONFIG = {
812
812
  }
813
813
  ],
814
814
  targetInstructions: ()=>[
815
- new CalldataCopy(/*indirect=*/ 0, /*copySizeOffset=*/ 0, /*cdStartOffset=*/ 1, /*dstOffset=*/ 2)
815
+ new CalldataCopy(/*addressing_mode=*/ 0, /*copySizeOffset=*/ 0, /*cdStartOffset=*/ 1, /*dstOffset=*/ 2)
816
816
  ]
817
817
  }
818
818
  ],
@@ -820,7 +820,7 @@ const STATIC_CALL_CONFIG = {
820
820
  {
821
821
  setup: [],
822
822
  targetInstructions: ()=>[
823
- new SuccessCopy(/*indirect=*/ 0, /*dstOffset=*/ 0)
823
+ new SuccessCopy(/*addressing_mode=*/ 0, /*dstOffset=*/ 0)
824
824
  ]
825
825
  }
826
826
  ],
@@ -828,7 +828,7 @@ const STATIC_CALL_CONFIG = {
828
828
  {
829
829
  setup: [],
830
830
  targetInstructions: ()=>[
831
- new ReturndataSize(/*indirect=*/ 0, /*dstOffset=*/ 0)
831
+ new ReturndataSize(/*addressing_mode=*/ 0, /*dstOffset=*/ 0)
832
832
  ]
833
833
  }
834
834
  ],
@@ -847,7 +847,7 @@ const STATIC_CALL_CONFIG = {
847
847
  }
848
848
  ],
849
849
  targetInstructions: ()=>[
850
- new ReturndataCopy(/*indirect=*/ 0, /*copySizeOffset=*/ 0, /*rdStartOffset=*/ 1, /*dstOffset=*/ 2)
850
+ new ReturndataCopy(/*addressing_mode=*/ 0, /*copySizeOffset=*/ 0, /*rdStartOffset=*/ 1, /*dstOffset=*/ 2)
851
851
  ]
852
852
  },
853
853
  {
@@ -866,7 +866,7 @@ const STATIC_CALL_CONFIG = {
866
866
  }
867
867
  ],
868
868
  targetInstructions: ()=>[
869
- new ReturndataCopy(/*indirect=*/ 0, /*copySizeOffset=*/ 0, /*rdStartOffset=*/ 1, /*dstOffset=*/ 2)
869
+ new ReturndataCopy(/*addressing_mode=*/ 0, /*copySizeOffset=*/ 0, /*rdStartOffset=*/ 1, /*dstOffset=*/ 2)
870
870
  ]
871
871
  },
872
872
  {
@@ -883,7 +883,7 @@ const STATIC_CALL_CONFIG = {
883
883
  }
884
884
  ],
885
885
  targetInstructions: ()=>[
886
- new ReturndataCopy(/*indirect=*/ 0, /*copySizeOffset=*/ 0, /*rdStartOffset=*/ 1, /*dstOffset=*/ 2)
886
+ new ReturndataCopy(/*addressing_mode=*/ 0, /*copySizeOffset=*/ 0, /*rdStartOffset=*/ 1, /*dstOffset=*/ 2)
887
887
  ]
888
888
  }
889
889
  ],
@@ -897,10 +897,14 @@ const STATIC_CALL_CONFIG = {
897
897
  {
898
898
  offset: 0,
899
899
  value: new Field(Fr.random())
900
- }
900
+ },
901
+ ()=>[
902
+ // Get current contract address into offset 1
903
+ new GetEnvVar(/*addressing_mode=*/ 0, /*dstOffset=*/ 1, /*varEnum=*/ 0).as(Opcode.GETENVVAR_16, GetEnvVar.wireFormat16)
904
+ ]
901
905
  ],
902
906
  targetInstructions: ()=>[
903
- new SLoad(/*indirect=*/ 0, /*slotOffset=*/ 0, /*dstOffset=*/ 1)
907
+ new SLoad(/*addressing_mode=*/ 0, /*slotOffset=*/ 0, /*contractAddressOffset=*/ 1, /*dstOffset=*/ 2)
904
908
  ]
905
909
  },
906
910
  {
@@ -910,15 +914,19 @@ const STATIC_CALL_CONFIG = {
910
914
  {
911
915
  offset: 0,
912
916
  value: new Field(WARM_STORAGE_SLOT)
913
- }
917
+ },
918
+ ()=>[
919
+ // Get current contract address into offset 1
920
+ new GetEnvVar(/*addressing_mode=*/ 0, /*dstOffset=*/ 1, /*varEnum=*/ 0).as(Opcode.GETENVVAR_16, GetEnvVar.wireFormat16)
921
+ ]
914
922
  ],
915
923
  targetInstructions: ()=>[
916
- new SLoad(/*indirect=*/ 0, /*slotOffset=*/ 0, /*dstOffset=*/ 1)
924
+ new SLoad(/*addressing_mode=*/ 0, /*slotOffset=*/ 0, /*contractAddressOffset=*/ 1, /*dstOffset=*/ 2)
917
925
  ]
918
926
  },
919
927
  {
920
928
  label: 'Warm read (SSTORE first, unique slot per SLOAD)',
921
- // Memory layout: slot (incremented), value, constant 1, revertSize, loaded value
929
+ // Memory layout: slot (incremented), value, constant 1, contract address (from GETENVVAR), revertSize, loaded value
922
930
  setup: [
923
931
  {
924
932
  offset: 0,
@@ -932,18 +940,22 @@ const STATIC_CALL_CONFIG = {
932
940
  offset: 2,
933
941
  value: new Field(1n)
934
942
  },
943
+ ()=>[
944
+ // Get current contract address into offset 3
945
+ new GetEnvVar(/*addressing_mode=*/ 0, /*dstOffset=*/ 3, /*varEnum=*/ 0).as(Opcode.GETENVVAR_16, GetEnvVar.wireFormat16)
946
+ ],
935
947
  {
936
- offset: 3,
948
+ offset: 4,
937
949
  value: new Uint32(0n)
938
950
  }
939
951
  ],
940
952
  targetInstructions: ()=>[
941
- new SStore(/*indirect=*/ 0, /*srcOffset=*/ 1, /*slotOffset=*/ 0),
942
- new SLoad(/*indirect=*/ 0, /*slotOffset=*/ 0, /*dstOffset=*/ 4),
943
- new Add(/*indirect=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 2, /*dstOffset=*/ 0).as(Opcode.ADD_8, Add.wireFormat8)
953
+ new SStore(/*addressing_mode=*/ 0, /*srcOffset=*/ 1, /*slotOffset=*/ 0),
954
+ new SLoad(/*addressing_mode=*/ 0, /*slotOffset=*/ 0, /*contractAddressOffset=*/ 3, /*dstOffset=*/ 5),
955
+ new Add(/*addressing_mode=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 2, /*dstOffset=*/ 0).as(Opcode.ADD_8, Add.wireFormat8)
944
956
  ],
945
957
  cleanupInstructions: ()=>[
946
- new Revert(/*indirect=*/ 0, /*retSizeOffset=*/ 3, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
958
+ new Revert(/*addressing_mode=*/ 0, /*retSizeOffset=*/ 4, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
947
959
  ],
948
960
  limit: MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX
949
961
  }
@@ -964,7 +976,7 @@ const STATIC_CALL_CONFIG = {
964
976
  }
965
977
  ],
966
978
  targetInstructions: ()=>[
967
- new NoteHashExists(/*indirect=*/ 0, /*noteHashOffset=*/ 0, /*leafIndexOffset=*/ 1, /*existsOffset=*/ 2)
979
+ new NoteHashExists(/*addressing_mode=*/ 0, /*noteHashOffset=*/ 0, /*leafIndexOffset=*/ 1, /*existsOffset=*/ 2)
968
980
  ]
969
981
  },
970
982
  {
@@ -981,7 +993,7 @@ const STATIC_CALL_CONFIG = {
981
993
  }
982
994
  ],
983
995
  targetInstructions: ()=>[
984
- new NoteHashExists(/*indirect=*/ 0, /*noteHashOffset=*/ 0, /*leafIndexOffset=*/ 1, /*existsOffset=*/ 2)
996
+ new NoteHashExists(/*addressing_mode=*/ 0, /*noteHashOffset=*/ 0, /*leafIndexOffset=*/ 1, /*existsOffset=*/ 2)
985
997
  ]
986
998
  }
987
999
  ],
@@ -999,7 +1011,7 @@ const STATIC_CALL_CONFIG = {
999
1011
  }
1000
1012
  ],
1001
1013
  targetInstructions: ()=>[
1002
- new NullifierExists(/*indirect=*/ 0, /*nullifierOffset=*/ 0, /*addressOffset=*/ 1, /*existsOffset=*/ 2)
1014
+ new NullifierExists(/*addressing_mode=*/ 0, /*nullifierOffset=*/ 0, /*addressOffset=*/ 1, /*existsOffset=*/ 2)
1003
1015
  ]
1004
1016
  },
1005
1017
  {
@@ -1016,7 +1028,7 @@ const STATIC_CALL_CONFIG = {
1016
1028
  }
1017
1029
  ],
1018
1030
  targetInstructions: ()=>[
1019
- new NullifierExists(/*indirect=*/ 0, /*nullifierOffset=*/ 0, /*addressOffset=*/ 1, /*existsOffset=*/ 2)
1031
+ new NullifierExists(/*addressing_mode=*/ 0, /*nullifierOffset=*/ 0, /*addressOffset=*/ 1, /*existsOffset=*/ 2)
1020
1032
  ]
1021
1033
  },
1022
1034
  {
@@ -1033,7 +1045,7 @@ const STATIC_CALL_CONFIG = {
1033
1045
  },
1034
1046
  ()=>[
1035
1047
  // Get current contract address into offset 2
1036
- new GetEnvVar(/*indirect=*/ 0, /*dstOffset=*/ 2, /*varEnum=*/ 0).as(Opcode.GETENVVAR_16, GetEnvVar.wireFormat16)
1048
+ new GetEnvVar(/*addressing_mode=*/ 0, /*dstOffset=*/ 2, /*varEnum=*/ 0).as(Opcode.GETENVVAR_16, GetEnvVar.wireFormat16)
1037
1049
  ],
1038
1050
  {
1039
1051
  offset: 3,
@@ -1041,12 +1053,12 @@ const STATIC_CALL_CONFIG = {
1041
1053
  }
1042
1054
  ],
1043
1055
  targetInstructions: ()=>[
1044
- new EmitNullifier(/*indirect=*/ 0, /*nullifierOffset=*/ 0),
1045
- new NullifierExists(/*indirect=*/ 0, /*nullifierOffset=*/ 0, /*addressOffset=*/ 2, /*existsOffset=*/ 4),
1046
- new Add(/*indirect=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.ADD_8, Add.wireFormat8)
1056
+ new EmitNullifier(/*addressing_mode=*/ 0, /*nullifierOffset=*/ 0),
1057
+ new NullifierExists(/*addressing_mode=*/ 0, /*nullifierOffset=*/ 0, /*addressOffset=*/ 2, /*existsOffset=*/ 4),
1058
+ new Add(/*addressing_mode=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.ADD_8, Add.wireFormat8)
1047
1059
  ],
1048
1060
  cleanupInstructions: ()=>[
1049
- new Revert(/*indirect=*/ 0, /*retSizeOffset=*/ 3, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
1061
+ new Revert(/*addressing_mode=*/ 0, /*retSizeOffset=*/ 3, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
1050
1062
  ],
1051
1063
  limit: MAX_NULLIFIERS_PER_TX - 1
1052
1064
  }
@@ -1065,7 +1077,7 @@ const STATIC_CALL_CONFIG = {
1065
1077
  }
1066
1078
  ],
1067
1079
  targetInstructions: ()=>[
1068
- new L1ToL2MessageExists(/*indirect=*/ 0, /*msgHashOffset=*/ 0, /*msgLeafIndexOffset=*/ 1, /*existsOffset=*/ 2)
1080
+ new L1ToL2MessageExists(/*addressing_mode=*/ 0, /*msgHashOffset=*/ 0, /*msgLeafIndexOffset=*/ 1, /*existsOffset=*/ 2)
1069
1081
  ]
1070
1082
  },
1071
1083
  {
@@ -1082,7 +1094,7 @@ const STATIC_CALL_CONFIG = {
1082
1094
  }
1083
1095
  ],
1084
1096
  targetInstructions: ()=>[
1085
- new L1ToL2MessageExists(/*indirect=*/ 0, /*msgHashOffset=*/ 0, /*msgLeafIndexOffset=*/ 1, /*existsOffset=*/ 2)
1097
+ new L1ToL2MessageExists(/*addressing_mode=*/ 0, /*msgHashOffset=*/ 0, /*msgLeafIndexOffset=*/ 1, /*existsOffset=*/ 2)
1086
1098
  ]
1087
1099
  }
1088
1100
  ],
@@ -1092,12 +1104,12 @@ const STATIC_CALL_CONFIG = {
1092
1104
  // This ensures we're querying a valid deployed contract
1093
1105
  setup: [
1094
1106
  ()=>[
1095
- new GetEnvVar(/*indirect=*/ 0, /*dstOffset=*/ 0, /*varEnum=*/ 0).as(Opcode.GETENVVAR_16, GetEnvVar.wireFormat16)
1107
+ new GetEnvVar(/*addressing_mode=*/ 0, /*dstOffset=*/ 0, /*varEnum=*/ 0).as(Opcode.GETENVVAR_16, GetEnvVar.wireFormat16)
1096
1108
  ]
1097
1109
  ],
1098
1110
  // memberEnum 0 = DEPLOYER
1099
1111
  targetInstructions: ()=>[
1100
- new GetContractInstance(/*indirect=*/ 0, /*addressOffset=*/ 0, /*dstOffset=*/ 1, /*memberEnum=*/ 0)
1112
+ new GetContractInstance(/*addressing_mode=*/ 0, /*addressOffset=*/ 0, /*dstOffset=*/ 1, /*memberEnum=*/ 0)
1101
1113
  ]
1102
1114
  }
1103
1115
  ],
@@ -1117,10 +1129,10 @@ const STATIC_CALL_CONFIG = {
1117
1129
  }
1118
1130
  ],
1119
1131
  targetInstructions: ()=>[
1120
- new EmitNoteHash(/*indirect=*/ 0, /*noteHashOffset=*/ 0)
1132
+ new EmitNoteHash(/*addressing_mode=*/ 0, /*noteHashOffset=*/ 0)
1121
1133
  ],
1122
1134
  cleanupInstructions: ()=>[
1123
- new Revert(/*indirect=*/ 0, /*retSizeOffset=*/ 1, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
1135
+ new Revert(/*addressing_mode=*/ 0, /*retSizeOffset=*/ 1, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
1124
1136
  ],
1125
1137
  limit: MAX_NOTE_HASHES_PER_TX
1126
1138
  }
@@ -1144,11 +1156,11 @@ const STATIC_CALL_CONFIG = {
1144
1156
  }
1145
1157
  ],
1146
1158
  targetInstructions: ()=>[
1147
- new EmitNullifier(/*indirect=*/ 0, /*nullifierOffset=*/ 0),
1148
- new Add(/*indirect=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.ADD_8, Add.wireFormat8)
1159
+ new EmitNullifier(/*addressing_mode=*/ 0, /*nullifierOffset=*/ 0),
1160
+ new Add(/*addressing_mode=*/ 0, /*aOffset=*/ 0, /*bOffset=*/ 1, /*dstOffset=*/ 0).as(Opcode.ADD_8, Add.wireFormat8)
1149
1161
  ],
1150
1162
  cleanupInstructions: ()=>[
1151
- new Revert(/*indirect=*/ 0, /*retSizeOffset=*/ 2, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
1163
+ new Revert(/*addressing_mode=*/ 0, /*retSizeOffset=*/ 2, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
1152
1164
  ],
1153
1165
  limit: MAX_NULLIFIERS_PER_TX - 1
1154
1166
  }
@@ -1170,10 +1182,10 @@ const STATIC_CALL_CONFIG = {
1170
1182
  }
1171
1183
  ],
1172
1184
  targetInstructions: ()=>[
1173
- new SendL2ToL1Message(/*indirect=*/ 0, /*recipientOffset=*/ 0, /*contentOffset=*/ 1)
1185
+ new SendL2ToL1Message(/*addressing_mode=*/ 0, /*recipientOffset=*/ 0, /*contentOffset=*/ 1)
1174
1186
  ],
1175
1187
  cleanupInstructions: ()=>[
1176
- new Revert(/*indirect=*/ 0, /*retSizeOffset=*/ 2, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
1188
+ new Revert(/*addressing_mode=*/ 0, /*retSizeOffset=*/ 2, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
1177
1189
  ],
1178
1190
  limit: MAX_L2_TO_L1_MSGS_PER_TX
1179
1191
  }
@@ -1199,10 +1211,10 @@ const STATIC_CALL_CONFIG = {
1199
1211
  }
1200
1212
  ],
1201
1213
  targetInstructions: ()=>[
1202
- new SStore(/*indirect=*/ 0, /*srcOffset=*/ 0, /*slotOffset=*/ 1)
1214
+ new SStore(/*addressing_mode=*/ 0, /*srcOffset=*/ 0, /*slotOffset=*/ 1)
1203
1215
  ],
1204
1216
  cleanupInstructions: ()=>[
1205
- new Revert(/*indirect=*/ 0, /*retSizeOffset=*/ 2, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
1217
+ new Revert(/*addressing_mode=*/ 0, /*retSizeOffset=*/ 2, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
1206
1218
  ]
1207
1219
  },
1208
1220
  {
@@ -1226,11 +1238,11 @@ const STATIC_CALL_CONFIG = {
1226
1238
  }
1227
1239
  ],
1228
1240
  targetInstructions: ()=>[
1229
- new SStore(/*indirect=*/ 0, /*srcOffset=*/ 0, /*slotOffset=*/ 1),
1230
- new Add(/*indirect=*/ 0, /*aOffset=*/ 1, /*bOffset=*/ 2, /*dstOffset=*/ 1).as(Opcode.ADD_8, Add.wireFormat8)
1241
+ new SStore(/*addressing_mode=*/ 0, /*srcOffset=*/ 0, /*slotOffset=*/ 1),
1242
+ new Add(/*addressing_mode=*/ 0, /*aOffset=*/ 1, /*bOffset=*/ 2, /*dstOffset=*/ 1).as(Opcode.ADD_8, Add.wireFormat8)
1231
1243
  ],
1232
1244
  cleanupInstructions: ()=>[
1233
- new Revert(/*indirect=*/ 0, /*retSizeOffset=*/ 3, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
1245
+ new Revert(/*addressing_mode=*/ 0, /*retSizeOffset=*/ 3, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
1234
1246
  ],
1235
1247
  limit: MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX
1236
1248
  }
@@ -1250,10 +1262,10 @@ const STATIC_CALL_CONFIG = {
1250
1262
  }
1251
1263
  ],
1252
1264
  targetInstructions: ()=>[
1253
- new EmitUnencryptedLog(/*indirect=*/ 0, /*logSizeOffset=*/ 0, /*logOffset=*/ 1)
1265
+ new EmitUnencryptedLog(/*addressing_mode=*/ 0, /*logSizeOffset=*/ 0, /*logOffset=*/ 1)
1254
1266
  ],
1255
1267
  cleanupInstructions: ()=>[
1256
- new Revert(/*indirect=*/ 0, /*retSizeOffset=*/ 1, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
1268
+ new Revert(/*addressing_mode=*/ 0, /*retSizeOffset=*/ 1, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
1257
1269
  ],
1258
1270
  // Max logs with 0-field content: floor(4096 / 2) = 2048
1259
1271
  limit: Math.floor(FLAT_PUBLIC_LOGS_PAYLOAD_LENGTH / PUBLIC_LOG_HEADER_LENGTH)
@@ -1272,10 +1284,10 @@ const STATIC_CALL_CONFIG = {
1272
1284
  }
1273
1285
  ],
1274
1286
  targetInstructions: ()=>[
1275
- new EmitUnencryptedLog(/*indirect=*/ 0, /*logSizeOffset=*/ 0, /*logOffset=*/ 2)
1287
+ new EmitUnencryptedLog(/*addressing_mode=*/ 0, /*logSizeOffset=*/ 0, /*logOffset=*/ 2)
1276
1288
  ],
1277
1289
  cleanupInstructions: ()=>[
1278
- new Revert(/*indirect=*/ 0, /*retSizeOffset=*/ 1, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
1290
+ new Revert(/*addressing_mode=*/ 0, /*retSizeOffset=*/ 1, /*returnOffset=*/ 0).as(Opcode.REVERT_8, Revert.wireFormat8)
1279
1291
  ],
1280
1292
  limit: 1
1281
1293
  }
@@ -1294,7 +1306,7 @@ const STATIC_CALL_CONFIG = {
1294
1306
  })),
1295
1307
  // Poseidon hash data at M[0..3], write result to M[0:3] (reuse results as next inputs)
1296
1308
  targetInstructions: ()=>[
1297
- new Poseidon2(/*indirect=*/ 0, /*inputStateOffset=*/ 0, /*outputStateOffset=*/ 0)
1309
+ new Poseidon2(/*addressing_mode=*/ 0, /*inputStateOffset=*/ 0, /*outputStateOffset=*/ 0)
1298
1310
  ]
1299
1311
  }
1300
1312
  ],
@@ -1317,7 +1329,7 @@ const STATIC_CALL_CONFIG = {
1317
1329
  }))
1318
1330
  ],
1319
1331
  targetInstructions: ()=>[
1320
- new Sha256Compression(/*indirect=*/ 0, /*outputOffset=*/ 0, /*stateOffset=*/ 0, /*inputsOffset=*/ 8)
1332
+ new Sha256Compression(/*addressing_mode=*/ 0, /*outputOffset=*/ 0, /*stateOffset=*/ 0, /*inputsOffset=*/ 8)
1321
1333
  ]
1322
1334
  }
1323
1335
  ],
@@ -1331,7 +1343,7 @@ const STATIC_CALL_CONFIG = {
1331
1343
  value: randomWithTag(TypeTag.UINT64)
1332
1344
  })),
1333
1345
  targetInstructions: ()=>[
1334
- new KeccakF1600(/*indirect=*/ 0, /*dstOffset=*/ 0, /*inputOffset=*/ 0)
1346
+ new KeccakF1600(/*addressing_mode=*/ 0, /*dstOffset=*/ 0, /*inputOffset=*/ 0)
1335
1347
  ]
1336
1348
  }
1337
1349
  ],
@@ -1365,7 +1377,7 @@ const STATIC_CALL_CONFIG = {
1365
1377
  }
1366
1378
  ],
1367
1379
  targetInstructions: ()=>[
1368
- new EcAdd(/*indirect=*/ 0, /*p1XOffset=*/ 0, /*p1YOffset=*/ 1, /*p1IsInfiniteOffset=*/ 2, /*p2XOffset=*/ 3, /*p2YOffset=*/ 4, /*p2IsInfiniteOffset=*/ 5, /*dstOffset=*/ 0)
1380
+ new EcAdd(/*addressing_mode=*/ 0, /*p1XOffset=*/ 0, /*p1YOffset=*/ 1, /*p1IsInfiniteOffset=*/ 2, /*p2XOffset=*/ 3, /*p2YOffset=*/ 4, /*p2IsInfiniteOffset=*/ 5, /*dstOffset=*/ 0)
1369
1381
  ]
1370
1382
  }
1371
1383
  ],
@@ -1392,7 +1404,7 @@ const STATIC_CALL_CONFIG = {
1392
1404
  }
1393
1405
  ],
1394
1406
  targetInstructions: ()=>[
1395
- new ToRadixBE(/*indirect=*/ 0, /*srcOffset=*/ 0, /*radixOffset=*/ 1, /*numLimbsOffset=*/ 2, /*outputBitsOffset=*/ 3, /*dstOffset=*/ 4)
1407
+ new ToRadixBE(/*addressing_mode=*/ 0, /*srcOffset=*/ 0, /*radixOffset=*/ 1, /*numLimbsOffset=*/ 2, /*outputBitsOffset=*/ 3, /*dstOffset=*/ 4)
1396
1408
  ]
1397
1409
  },
1398
1410
  {
@@ -1416,7 +1428,7 @@ const STATIC_CALL_CONFIG = {
1416
1428
  }
1417
1429
  ],
1418
1430
  targetInstructions: ()=>[
1419
- new ToRadixBE(/*indirect=*/ 0, /*srcOffset=*/ 0, /*radixOffset=*/ 1, /*numLimbsOffset=*/ 2, /*outputBitsOffset=*/ 3, /*dstOffset=*/ 4)
1431
+ new ToRadixBE(/*addressing_mode=*/ 0, /*srcOffset=*/ 0, /*radixOffset=*/ 1, /*numLimbsOffset=*/ 2, /*outputBitsOffset=*/ 3, /*dstOffset=*/ 4)
1420
1432
  ]
1421
1433
  },
1422
1434
  {
@@ -1442,7 +1454,7 @@ const STATIC_CALL_CONFIG = {
1442
1454
  }
1443
1455
  ],
1444
1456
  targetInstructions: ()=>[
1445
- new ToRadixBE(/*indirect=*/ 0, /*srcOffset=*/ 0, /*radixOffset=*/ 1, /*numLimbsOffset=*/ 2, /*outputBitsOffset=*/ 3, /*dstOffset=*/ 4)
1457
+ new ToRadixBE(/*addressing_mode=*/ 0, /*srcOffset=*/ 0, /*radixOffset=*/ 1, /*numLimbsOffset=*/ 2, /*outputBitsOffset=*/ 3, /*dstOffset=*/ 4)
1446
1458
  ]
1447
1459
  }
1448
1460
  ],
@@ -1473,7 +1485,7 @@ const STATIC_CALL_CONFIG = {
1473
1485
  ],
1474
1486
  // messageSize = 0
1475
1487
  targetInstructions: ()=>[
1476
- new DebugLog(/*indirect=*/ 0, /*levelOffset=*/ 0, /*messageOffset=*/ 1, /*fieldsOffset=*/ 2, /*fieldsSizeOffset=*/ 3, /*messageSize=*/ 0)
1488
+ new DebugLog(/*addressing_mode=*/ 0, /*levelOffset=*/ 0, /*messageOffset=*/ 1, /*fieldsOffset=*/ 2, /*fieldsSizeOffset=*/ 3, /*messageSize=*/ 0)
1477
1489
  ]
1478
1490
  }
1479
1491
  ]