@aztec/simulator 0.0.1-commit.c7c42ec → 0.0.1-commit.d1f2d6c

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 (122) 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/private/circuit_recording/circuit_recorder.d.ts +1 -1
  5. package/dest/private/circuit_recording/circuit_recorder.d.ts.map +1 -1
  6. package/dest/private/circuit_recording/circuit_recorder.js +15 -14
  7. package/dest/public/avm/avm_memory_types.d.ts +1 -1
  8. package/dest/public/avm/avm_memory_types.d.ts.map +1 -1
  9. package/dest/public/avm/avm_memory_types.js +3 -0
  10. package/dest/public/avm/opcodes/accrued_substate.d.ts +15 -15
  11. package/dest/public/avm/opcodes/accrued_substate.d.ts.map +1 -1
  12. package/dest/public/avm/opcodes/accrued_substate.js +29 -29
  13. package/dest/public/avm/opcodes/arithmetic.d.ts +8 -8
  14. package/dest/public/avm/opcodes/arithmetic.d.ts.map +1 -1
  15. package/dest/public/avm/opcodes/arithmetic.js +1 -1
  16. package/dest/public/avm/opcodes/bitwise.d.ts +7 -7
  17. package/dest/public/avm/opcodes/bitwise.d.ts.map +1 -1
  18. package/dest/public/avm/opcodes/bitwise.js +5 -5
  19. package/dest/public/avm/opcodes/comparators.d.ts +4 -4
  20. package/dest/public/avm/opcodes/comparators.d.ts.map +1 -1
  21. package/dest/public/avm/opcodes/comparators.js +1 -1
  22. package/dest/public/avm/opcodes/contract.d.ts +3 -3
  23. package/dest/public/avm/opcodes/contract.d.ts.map +1 -1
  24. package/dest/public/avm/opcodes/contract.js +8 -8
  25. package/dest/public/avm/opcodes/control_flow.d.ts +3 -3
  26. package/dest/public/avm/opcodes/control_flow.d.ts.map +1 -1
  27. package/dest/public/avm/opcodes/control_flow.js +4 -4
  28. package/dest/public/avm/opcodes/conversion.d.ts +3 -3
  29. package/dest/public/avm/opcodes/conversion.d.ts.map +1 -1
  30. package/dest/public/avm/opcodes/conversion.js +4 -4
  31. package/dest/public/avm/opcodes/ec_add.d.ts +4 -4
  32. package/dest/public/avm/opcodes/ec_add.d.ts.map +1 -1
  33. package/dest/public/avm/opcodes/ec_add.js +15 -6
  34. package/dest/public/avm/opcodes/environment_getters.d.ts +5 -5
  35. package/dest/public/avm/opcodes/environment_getters.d.ts.map +1 -1
  36. package/dest/public/avm/opcodes/environment_getters.js +6 -6
  37. package/dest/public/avm/opcodes/external_calls.d.ts +9 -9
  38. package/dest/public/avm/opcodes/external_calls.d.ts.map +1 -1
  39. package/dest/public/avm/opcodes/external_calls.js +17 -16
  40. package/dest/public/avm/opcodes/hashing.d.ts +8 -8
  41. package/dest/public/avm/opcodes/hashing.d.ts.map +1 -1
  42. package/dest/public/avm/opcodes/hashing.js +12 -12
  43. package/dest/public/avm/opcodes/instruction_impl.d.ts +4 -4
  44. package/dest/public/avm/opcodes/instruction_impl.d.ts.map +1 -1
  45. package/dest/public/avm/opcodes/instruction_impl.js +4 -4
  46. package/dest/public/avm/opcodes/memory.d.ts +14 -14
  47. package/dest/public/avm/opcodes/memory.d.ts.map +1 -1
  48. package/dest/public/avm/opcodes/memory.js +24 -24
  49. package/dest/public/avm/opcodes/misc.d.ts +3 -3
  50. package/dest/public/avm/opcodes/misc.d.ts.map +1 -1
  51. package/dest/public/avm/opcodes/misc.js +4 -4
  52. package/dest/public/avm/opcodes/storage.d.ts +16 -15
  53. package/dest/public/avm/opcodes/storage.d.ts.map +1 -1
  54. package/dest/public/avm/opcodes/storage.js +34 -24
  55. package/dest/public/executor_metrics.d.ts +1 -1
  56. package/dest/public/executor_metrics.d.ts.map +1 -1
  57. package/dest/public/executor_metrics.js +8 -34
  58. package/dest/public/fixtures/bulk_test.d.ts +3 -3
  59. package/dest/public/fixtures/bulk_test.d.ts.map +1 -1
  60. package/dest/public/fixtures/bulk_test.js +1 -17
  61. package/dest/public/fixtures/custom_bytecode_tests.d.ts +11 -11
  62. package/dest/public/fixtures/custom_bytecode_tests.d.ts.map +1 -1
  63. package/dest/public/fixtures/custom_bytecode_tests.js +18 -18
  64. package/dest/public/fixtures/minimal_public_tx.js +2 -2
  65. package/dest/public/fixtures/opcode_spammer.d.ts +1 -1
  66. package/dest/public/fixtures/opcode_spammer.d.ts.map +1 -1
  67. package/dest/public/fixtures/opcode_spammer.js +92 -80
  68. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts +21 -7
  69. package/dest/public/fuzzing/avm_fuzzer_simulator.d.ts.map +1 -1
  70. package/dest/public/fuzzing/avm_fuzzer_simulator.js +42 -10
  71. package/dest/public/fuzzing/avm_simulator_bin.js +29 -11
  72. package/dest/public/hinting_db_sources.js +3 -1
  73. package/dest/public/public_processor/guarded_merkle_tree.js +3 -1
  74. package/dest/public/public_processor/public_processor.d.ts +2 -2
  75. package/dest/public/public_processor/public_processor.d.ts.map +1 -1
  76. package/dest/public/public_processor/public_processor.js +402 -21
  77. package/dest/public/public_processor/public_processor_metrics.d.ts +1 -1
  78. package/dest/public/public_processor/public_processor_metrics.d.ts.map +1 -1
  79. package/dest/public/public_processor/public_processor_metrics.js +12 -45
  80. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts +1 -1
  81. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.d.ts.map +1 -1
  82. package/dest/public/public_tx_simulator/cpp_public_tx_simulator.js +2 -1
  83. package/dest/public/public_tx_simulator/measured_public_tx_simulator.d.ts +1 -1
  84. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts +4 -3
  85. package/dest/public/public_tx_simulator/public_tx_simulator.d.ts.map +1 -1
  86. package/dest/public/public_tx_simulator/public_tx_simulator.js +5 -3
  87. package/dest/public/public_tx_simulator/telemetry_public_tx_simulator.js +395 -19
  88. package/dest/public/side_effect_trace.d.ts +2 -1
  89. package/dest/public/side_effect_trace.d.ts.map +1 -1
  90. package/dest/public/state_manager/state_manager.d.ts +1 -1
  91. package/dest/public/state_manager/state_manager.d.ts.map +1 -1
  92. package/dest/public/state_manager/state_manager.js +2 -2
  93. package/package.json +17 -17
  94. package/src/private/circuit_recording/circuit_recorder.ts +16 -15
  95. package/src/public/avm/avm_memory_types.ts +4 -0
  96. package/src/public/avm/opcodes/accrued_substate.ts +15 -15
  97. package/src/public/avm/opcodes/arithmetic.ts +1 -1
  98. package/src/public/avm/opcodes/bitwise.ts +3 -3
  99. package/src/public/avm/opcodes/comparators.ts +1 -1
  100. package/src/public/avm/opcodes/contract.ts +4 -7
  101. package/src/public/avm/opcodes/control_flow.ts +2 -2
  102. package/src/public/avm/opcodes/conversion.ts +3 -3
  103. package/src/public/avm/opcodes/ec_add.ts +13 -4
  104. package/src/public/avm/opcodes/environment_getters.ts +7 -7
  105. package/src/public/avm/opcodes/external_calls.ts +10 -9
  106. package/src/public/avm/opcodes/hashing.ts +6 -6
  107. package/src/public/avm/opcodes/instruction_impl.ts +2 -2
  108. package/src/public/avm/opcodes/memory.ts +18 -18
  109. package/src/public/avm/opcodes/misc.ts +2 -2
  110. package/src/public/avm/opcodes/storage.ts +30 -22
  111. package/src/public/executor_metrics.ts +7 -34
  112. package/src/public/fixtures/bulk_test.ts +2 -2
  113. package/src/public/fixtures/custom_bytecode_tests.ts +27 -18
  114. package/src/public/fixtures/minimal_public_tx.ts +2 -2
  115. package/src/public/fixtures/opcode_spammer.ts +197 -81
  116. package/src/public/fuzzing/avm_fuzzer_simulator.ts +60 -12
  117. package/src/public/fuzzing/avm_simulator_bin.ts +43 -8
  118. package/src/public/public_processor/public_processor.ts +3 -2
  119. package/src/public/public_processor/public_processor_metrics.ts +11 -45
  120. package/src/public/public_tx_simulator/cpp_public_tx_simulator.ts +9 -1
  121. package/src/public/public_tx_simulator/public_tx_simulator.ts +4 -2
  122. package/src/public/state_manager/state_manager.ts +2 -16
@@ -1,6 +1,6 @@
1
1
  import { AvmTxHint, type PublicTxResult } from '@aztec/stdlib/avm';
2
- import type { MerkleTreeWriteOperations } from '@aztec/stdlib/trees';
3
- import { GlobalVariables } from '@aztec/stdlib/tx';
2
+ import { type MerkleTreeWriteOperations } from '@aztec/stdlib/trees';
3
+ import { GlobalVariables, ProtocolContracts } from '@aztec/stdlib/tx';
4
4
  import type { NativeWorldStateService } from '@aztec/world-state';
5
5
  import { BaseAvmSimulationTester } from '../avm/fixtures/base_avm_simulation_tester.js';
6
6
  import { SimpleContractDataSource } from '../fixtures/simple_contract_data_source.js';
@@ -15,7 +15,10 @@ export declare class FuzzerSimulationRequest {
15
15
  readonly globals: GlobalVariables;
16
16
  readonly contractClasses: any[];
17
17
  readonly contractInstances: [any, any][];
18
- constructor(wsDataDir: string, wsMapSizeKb: number, tx: AvmTxHint, globals: GlobalVariables, contractClasses: any[], contractInstances: [any, any][]);
18
+ readonly publicDataWrites: any[];
19
+ readonly noteHashes: any[];
20
+ readonly protocolContracts: ProtocolContracts;
21
+ constructor(wsDataDir: string, wsMapSizeKb: number, tx: AvmTxHint, globals: GlobalVariables, contractClasses: any[], contractInstances: [any, any][], publicDataWrites: any[], noteHashes: any[], protocolContracts: ProtocolContracts);
19
22
  static fromPlainObject(obj: any): FuzzerSimulationRequest;
20
23
  }
21
24
  /**
@@ -24,11 +27,11 @@ export declare class FuzzerSimulationRequest {
24
27
  */
25
28
  export declare class AvmFuzzerSimulator extends BaseAvmSimulationTester {
26
29
  private simulator;
27
- constructor(merkleTrees: MerkleTreeWriteOperations, contractDataSource: SimpleContractDataSource, globals: GlobalVariables);
30
+ constructor(merkleTrees: MerkleTreeWriteOperations, contractDataSource: SimpleContractDataSource, globals: GlobalVariables, protocolContracts: ProtocolContracts);
28
31
  /**
29
32
  * Static factory method to create an AvmFuzzerSimulator.
30
33
  */
31
- static create(worldStateService: NativeWorldStateService, globals: GlobalVariables): Promise<AvmFuzzerSimulator>;
34
+ static create(worldStateService: NativeWorldStateService, globals: GlobalVariables, protocolContracts: ProtocolContracts): Promise<AvmFuzzerSimulator>;
32
35
  /**
33
36
  * Simulate a transaction from a C++ AvmTxHint.
34
37
  */
@@ -39,8 +42,19 @@ export declare class AvmFuzzerSimulator extends BaseAvmSimulationTester {
39
42
  addContractClassFromCpp(rawClass: any): Promise<void>;
40
43
  /**
41
44
  * Add a contract instance from C++ raw msgpack data.
42
- * This also inserts the contract address nullifier into the nullifier tree.
45
+ * This also inserts the contract address nullifier into the nullifier tree,
46
+ * unless the address is a protocol canonical address (1-11).
43
47
  */
44
48
  addContractInstanceFromCpp(rawAddress: any, rawInstance: any): Promise<void>;
49
+ /**
50
+ * Apply public data tree writes from C++ raw msgpack data.
51
+ * This is used to pre-populate the public data tree before simulation (e.g., for bytecode upgrades).
52
+ */
53
+ applyPublicDataWrites(rawWrites: any[]): Promise<void>;
54
+ /**
55
+ * Apply note hashes from C++ raw msgpack data.
56
+ * This is used to pre-populate the note hash tree before simulation.
57
+ */
58
+ applyNoteHashes(rawNoteHashes: any[]): Promise<void>;
45
59
  }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX2Z1enplcl9zaW11bGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvZnV6emluZy9hdm1fZnV6emVyX3NpbXVsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFTQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFZbkUsT0FBTyxLQUFLLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRSxPQUFPLEVBQWUsZUFBZSxFQUF1RCxNQUFNLGtCQUFrQixDQUFDO0FBQ3JILE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFJdEY7OztHQUdHO0FBQ0gscUJBQWEsdUJBQXVCO2FBRWhCLFNBQVMsRUFBRSxNQUFNO2FBQ2pCLFdBQVcsRUFBRSxNQUFNO2FBQ25CLEVBQUUsRUFBRSxTQUFTO2FBQ2IsT0FBTyxFQUFFLGVBQWU7YUFDeEIsZUFBZSxFQUFFLEdBQUcsRUFBRTthQUN0QixpQkFBaUIsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRTtJQU5qRCxZQUNrQixTQUFTLEVBQUUsTUFBTSxFQUNqQixXQUFXLEVBQUUsTUFBTSxFQUNuQixFQUFFLEVBQUUsU0FBUyxFQUNiLE9BQU8sRUFBRSxlQUFlLEVBQ3hCLGVBQWUsRUFBRSxHQUFHLEVBQUUsRUFDdEIsaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFDN0M7SUFFSixNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsdUJBQXVCLENBWXhEO0NBQ0Y7QUFtSEQ7OztHQUdHO0FBQ0gscUJBQWEsa0JBQW1CLFNBQVEsdUJBQXVCO0lBQzdELE9BQU8sQ0FBQyxTQUFTLENBQW9CO0lBRXJDLFlBQ0UsV0FBVyxFQUFFLHlCQUF5QixFQUN0QyxrQkFBa0IsRUFBRSx3QkFBd0IsRUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFXekI7SUFFRDs7T0FFRztJQUNILE9BQW9CLE1BQU0sQ0FDeEIsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQzFDLE9BQU8sRUFBRSxlQUFlLEdBQ3ZCLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUk3QjtJQUVEOztPQUVHO0lBQ1UsUUFBUSxDQUFDLE1BQU0sRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQVVoRTtJQUVEOztPQUVHO0lBQ1UsdUJBQXVCLENBQUMsUUFBUSxFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBR2pFO0lBRUQ7OztPQUdHO0lBQ1UsMEJBQTBCLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FJeEY7Q0FDRiJ9
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX2Z1enplcl9zaW11bGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wdWJsaWMvZnV6emluZy9hdm1fZnV6emVyX3NpbXVsYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFZbkUsT0FBTyxFQUFnQixLQUFLLHlCQUF5QixFQUFzQixNQUFNLHFCQUFxQixDQUFDO0FBQ3ZHLE9BQU8sRUFFTCxlQUFlLEVBRWYsaUJBQWlCLEVBS2xCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN4RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUl0Rjs7O0dBR0c7QUFDSCxxQkFBYSx1QkFBdUI7YUFFaEIsU0FBUyxFQUFFLE1BQU07YUFDakIsV0FBVyxFQUFFLE1BQU07YUFDbkIsRUFBRSxFQUFFLFNBQVM7YUFDYixPQUFPLEVBQUUsZUFBZTthQUN4QixlQUFlLEVBQUUsR0FBRyxFQUFFO2FBQ3RCLGlCQUFpQixFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2FBQy9CLGdCQUFnQixFQUFFLEdBQUcsRUFBRTthQUN2QixVQUFVLEVBQUUsR0FBRyxFQUFFO2FBQ2pCLGlCQUFpQixFQUFFLGlCQUFpQjtJQVR0RCxZQUNrQixTQUFTLEVBQUUsTUFBTSxFQUNqQixXQUFXLEVBQUUsTUFBTSxFQUNuQixFQUFFLEVBQUUsU0FBUyxFQUNiLE9BQU8sRUFBRSxlQUFlLEVBQ3hCLGVBQWUsRUFBRSxHQUFHLEVBQUUsRUFDdEIsaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFDL0IsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLEVBQ3ZCLFVBQVUsRUFBRSxHQUFHLEVBQUUsRUFDakIsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ2xEO0lBRUosTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLHVCQUF1QixDQWV4RDtDQUNGO0FBbUhEOzs7R0FHRztBQUNILHFCQUFhLGtCQUFtQixTQUFRLHVCQUF1QjtJQUM3RCxPQUFPLENBQUMsU0FBUyxDQUFvQjtJQUVyQyxZQUNFLFdBQVcsRUFBRSx5QkFBeUIsRUFDdEMsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQ3hCLGlCQUFpQixFQUFFLGlCQUFpQixFQWlCckM7SUFFRDs7T0FFRztJQUNILE9BQW9CLE1BQU0sQ0FDeEIsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQ3hCLGlCQUFpQixFQUFFLGlCQUFpQixHQUNuQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FJN0I7SUFFRDs7T0FFRztJQUNVLFFBQVEsQ0FBQyxNQUFNLEVBQUUsU0FBUyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FVaEU7SUFFRDs7T0FFRztJQUNVLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUdqRTtJQUVEOzs7O09BSUc7SUFDVSwwQkFBMEIsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQU14RjtJQUVEOzs7T0FHRztJQUNVLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBS2xFO0lBRUQ7OztPQUdHO0lBQ1UsZUFBZSxDQUFDLGFBQWEsRUFBRSxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBSWhFO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"avm_fuzzer_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/fuzzing/avm_fuzzer_simulator.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAYnE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAe,eAAe,EAAuD,MAAM,kBAAkB,CAAC;AACrH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAItF;;;GAGG;AACH,qBAAa,uBAAuB;aAEhB,SAAS,EAAE,MAAM;aACjB,WAAW,EAAE,MAAM;aACnB,EAAE,EAAE,SAAS;aACb,OAAO,EAAE,eAAe;aACxB,eAAe,EAAE,GAAG,EAAE;aACtB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;IANjD,YACkB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,eAAe,EACxB,eAAe,EAAE,GAAG,EAAE,EACtB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAC7C;IAEJ,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,uBAAuB,CAYxD;CACF;AAmHD;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,uBAAuB;IAC7D,OAAO,CAAC,SAAS,CAAoB;IAErC,YACE,WAAW,EAAE,yBAAyB,EACtC,kBAAkB,EAAE,wBAAwB,EAC5C,OAAO,EAAE,eAAe,EAWzB;IAED;;OAEG;IACH,OAAoB,MAAM,CACxB,iBAAiB,EAAE,uBAAuB,EAC1C,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAI7B;IAED;;OAEG;IACU,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAUhE;IAED;;OAEG;IACU,uBAAuB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjE;IAED;;;OAGG;IACU,0BAA0B,CAAC,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAIxF;CACF"}
1
+ {"version":3,"file":"avm_fuzzer_simulator.d.ts","sourceRoot":"","sources":["../../../src/public/fuzzing/avm_fuzzer_simulator.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAYnE,OAAO,EAAgB,KAAK,yBAAyB,EAAsB,MAAM,qBAAqB,CAAC;AACvG,OAAO,EAEL,eAAe,EAEf,iBAAiB,EAKlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+CAA+C,CAAC;AACxF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAItF;;;GAGG;AACH,qBAAa,uBAAuB;aAEhB,SAAS,EAAE,MAAM;aACjB,WAAW,EAAE,MAAM;aACnB,EAAE,EAAE,SAAS;aACb,OAAO,EAAE,eAAe;aACxB,eAAe,EAAE,GAAG,EAAE;aACtB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;aAC/B,gBAAgB,EAAE,GAAG,EAAE;aACvB,UAAU,EAAE,GAAG,EAAE;aACjB,iBAAiB,EAAE,iBAAiB;IATtD,YACkB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,eAAe,EACxB,eAAe,EAAE,GAAG,EAAE,EACtB,iBAAiB,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAC/B,gBAAgB,EAAE,GAAG,EAAE,EACvB,UAAU,EAAE,GAAG,EAAE,EACjB,iBAAiB,EAAE,iBAAiB,EAClD;IAEJ,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,uBAAuB,CAexD;CACF;AAmHD;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,uBAAuB;IAC7D,OAAO,CAAC,SAAS,CAAoB;IAErC,YACE,WAAW,EAAE,yBAAyB,EACtC,kBAAkB,EAAE,wBAAwB,EAC5C,OAAO,EAAE,eAAe,EACxB,iBAAiB,EAAE,iBAAiB,EAiBrC;IAED;;OAEG;IACH,OAAoB,MAAM,CACxB,iBAAiB,EAAE,uBAAuB,EAC1C,OAAO,EAAE,eAAe,EACxB,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,kBAAkB,CAAC,CAI7B;IAED;;OAEG;IACU,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAUhE;IAED;;OAEG;IACU,uBAAuB,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjE;IAED;;;;OAIG;IACU,0BAA0B,CAAC,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAMxF;IAED;;;OAGG;IACU,qBAAqB,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAKlE;IAED;;;OAGG;IACU,eAAe,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAIhE;CACF"}
@@ -1,4 +1,4 @@
1
- import { MAX_ENQUEUED_CALLS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_PRIVATE_LOGS_PER_TX } from '@aztec/constants';
1
+ import { MAX_ENQUEUED_CALLS_PER_TX, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_PRIVATE_LOGS_PER_TX, MAX_PROTOCOL_CONTRACTS } from '@aztec/constants';
2
2
  import { padArrayEnd } from '@aztec/foundation/collection';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { AvmTxHint } from '@aztec/stdlib/avm';
@@ -8,7 +8,8 @@ import { PartialPrivateTailPublicInputsForPublic, PrivateKernelTailCircuitPublic
8
8
  import { PrivateLog } from '@aztec/stdlib/logs';
9
9
  import { ScopedL2ToL1Message } from '@aztec/stdlib/messaging';
10
10
  import { ChonkProof } from '@aztec/stdlib/proofs';
11
- import { BlockHeader, GlobalVariables, HashedValues, Tx, TxConstantData, TxContext, TxHash } from '@aztec/stdlib/tx';
11
+ import { MerkleTreeId, PublicDataTreeLeaf } from '@aztec/stdlib/trees';
12
+ import { BlockHeader, GlobalVariables, HashedValues, ProtocolContracts, Tx, TxConstantData, TxContext, TxHash } from '@aztec/stdlib/tx';
12
13
  import { BaseAvmSimulationTester } from '../avm/fixtures/base_avm_simulation_tester.js';
13
14
  import { SimpleContractDataSource } from '../fixtures/simple_contract_data_source.js';
14
15
  import { PublicContractsDB } from '../public_db_sources.js';
@@ -23,19 +24,25 @@ import { PublicTxSimulator } from '../public_tx_simulator/public_tx_simulator.js
23
24
  globals;
24
25
  contractClasses;
25
26
  contractInstances;
26
- constructor(wsDataDir, wsMapSizeKb, tx, globals, contractClasses, contractInstances){
27
+ publicDataWrites;
28
+ noteHashes;
29
+ protocolContracts;
30
+ constructor(wsDataDir, wsMapSizeKb, tx, globals, contractClasses, contractInstances, publicDataWrites, noteHashes, protocolContracts){
27
31
  this.wsDataDir = wsDataDir;
28
32
  this.wsMapSizeKb = wsMapSizeKb;
29
33
  this.tx = tx;
30
34
  this.globals = globals;
31
35
  this.contractClasses = contractClasses;
32
36
  this.contractInstances = contractInstances;
37
+ this.publicDataWrites = publicDataWrites;
38
+ this.noteHashes = noteHashes;
39
+ this.protocolContracts = protocolContracts;
33
40
  }
34
41
  static fromPlainObject(obj) {
35
42
  if (obj instanceof FuzzerSimulationRequest) {
36
43
  return obj;
37
44
  }
38
- return new FuzzerSimulationRequest(obj.wsDataDir, obj.wsMapSizeKb, AvmTxHint.fromPlainObject(obj.tx), GlobalVariables.fromPlainObject(obj.globals), obj.contractClasses, obj.contractInstances);
45
+ return new FuzzerSimulationRequest(obj.wsDataDir, obj.wsMapSizeKb, AvmTxHint.fromPlainObject(obj.tx), GlobalVariables.fromPlainObject(obj.globals), obj.contractClasses, obj.contractInstances, obj.publicDataWrites ?? [], obj.noteHashes ?? [], ProtocolContracts.fromPlainObject(obj.protocolContracts));
39
46
  }
40
47
  }
41
48
  /**
@@ -95,7 +102,7 @@ import { PublicTxSimulator } from '../public_tx_simulator/public_tx_simulator.js
95
102
  * It provides methods for registering contracts from C++ msgpack data and simulating transactions.
96
103
  */ export class AvmFuzzerSimulator extends BaseAvmSimulationTester {
97
104
  simulator;
98
- constructor(merkleTrees, contractDataSource, globals){
105
+ constructor(merkleTrees, contractDataSource, globals, protocolContracts){
99
106
  super(contractDataSource, merkleTrees);
100
107
  const contractsDb = new PublicContractsDB(contractDataSource);
101
108
  this.simulator = new PublicTxSimulator(merkleTrees, contractsDb, globals, {
@@ -104,14 +111,14 @@ import { PublicTxSimulator } from '../public_tx_simulator/public_tx_simulator.js
104
111
  collectHints: false,
105
112
  collectStatistics: false,
106
113
  collectCallMetadata: false
107
- });
114
+ }, protocolContracts);
108
115
  }
109
116
  /**
110
117
  * Static factory method to create an AvmFuzzerSimulator.
111
- */ static async create(worldStateService, globals) {
118
+ */ static async create(worldStateService, globals, protocolContracts) {
112
119
  const contractDataSource = new SimpleContractDataSource();
113
120
  const merkleTrees = await worldStateService.fork();
114
- return new AvmFuzzerSimulator(merkleTrees, contractDataSource, globals);
121
+ return new AvmFuzzerSimulator(merkleTrees, contractDataSource, globals, protocolContracts);
115
122
  }
116
123
  /**
117
124
  * Simulate a transaction from a C++ AvmTxHint.
@@ -130,10 +137,35 @@ import { PublicTxSimulator } from '../public_tx_simulator/public_tx_simulator.js
130
137
  }
131
138
  /**
132
139
  * Add a contract instance from C++ raw msgpack data.
133
- * This also inserts the contract address nullifier into the nullifier tree.
140
+ * This also inserts the contract address nullifier into the nullifier tree,
141
+ * unless the address is a protocol canonical address (1-11).
134
142
  */ async addContractInstanceFromCpp(rawAddress, rawInstance) {
135
143
  const address = AztecAddress.fromPlainObject(rawAddress);
136
144
  const instance = contractInstanceWithAddressFromPlainObject(address, rawInstance);
137
- await this.addContractInstance(instance);
145
+ // Protocol canonical addresses (1-11) should not have nullifiers inserted
146
+ const isProtocolCanonicalAddress = address.toBigInt() <= MAX_PROTOCOL_CONTRACTS && address.toBigInt() >= 1n;
147
+ await this.addContractInstance(instance, /* skipNullifierInsertion */ isProtocolCanonicalAddress);
148
+ }
149
+ /**
150
+ * Apply public data tree writes from C++ raw msgpack data.
151
+ * This is used to pre-populate the public data tree before simulation (e.g., for bytecode upgrades).
152
+ */ async applyPublicDataWrites(rawWrites) {
153
+ for (const rawWrite of rawWrites){
154
+ const leaf = PublicDataTreeLeaf.fromPlainObject(rawWrite);
155
+ await this.merkleTrees.sequentialInsert(MerkleTreeId.PUBLIC_DATA_TREE, [
156
+ leaf.toBuffer()
157
+ ]);
158
+ }
159
+ }
160
+ /**
161
+ * Apply note hashes from C++ raw msgpack data.
162
+ * This is used to pre-populate the note hash tree before simulation.
163
+ */ async applyNoteHashes(rawNoteHashes) {
164
+ const paddingLeaves = MAX_NOTE_HASHES_PER_TX - rawNoteHashes.length % MAX_NOTE_HASHES_PER_TX;
165
+ const paddedNoteHashes = [
166
+ ...rawNoteHashes,
167
+ ...Array(paddingLeaves).fill(Fr.ZERO)
168
+ ];
169
+ await this.merkleTrees.appendLeaves(MerkleTreeId.NOTE_HASH_TREE, paddedNoteHashes);
138
170
  }
139
171
  }
@@ -1,10 +1,20 @@
1
1
  import { EthAddress } from '@aztec/foundation/eth-address';
2
- import { deserializeFromMessagePack, serializeWithMessagePack } from '@aztec/stdlib/avm';
2
+ import { PublicTxEffect, deserializeFromMessagePack, serializeWithMessagePack } from '@aztec/stdlib/avm';
3
3
  import { TreeSnapshots } from '@aztec/stdlib/tx';
4
4
  import { NativeWorldStateService } from '@aztec/world-state';
5
- import { writeSync } from 'fs';
6
5
  import { createInterface } from 'readline';
7
6
  import { AvmFuzzerSimulator, FuzzerSimulationRequest } from './avm_fuzzer_simulator.js';
7
+ /** Write data to stdout, letting Node handle buffering. */ function writeOutput(data) {
8
+ return new Promise((resolve, reject)=>{
9
+ process.stdout.write(data, (err)=>{
10
+ if (err) {
11
+ reject(err);
12
+ } else {
13
+ resolve();
14
+ }
15
+ });
16
+ });
17
+ }
8
18
  // This cache holds opened world states to avoid reopening them for each invocation.
9
19
  // It's a map so that in the future we could support multiple world states (if we had multiple fuzzers).
10
20
  const worldStateCache = new Map();
@@ -23,10 +33,11 @@ async function openExistingWorldState(dataDir, mapSizeKb) {
23
33
  worldStateCache.set(dataDir, ws);
24
34
  return ws;
25
35
  }
26
- async function simulateWithFuzzer(dataDir, mapSizeKb, txHint, globals, rawContractClasses, rawContractInstances) {
36
+ async function simulateWithFuzzer(dataDir, mapSizeKb, txHint, globals, rawContractClasses, rawContractInstances, rawPublicDataWrites, rawNoteHashes, protocolContracts) {
27
37
  const worldStateService = await openExistingWorldState(dataDir, mapSizeKb);
28
- const simulator = await AvmFuzzerSimulator.create(worldStateService, globals);
29
- // Register contract classes from C++
38
+ const simulator = await AvmFuzzerSimulator.create(worldStateService, globals, protocolContracts);
39
+ await simulator.applyNoteHashes(rawNoteHashes);
40
+ // Register contract classes from C++ (must happen before public data writes to match C++ order)
30
41
  for (const rawClass of rawContractClasses){
31
42
  await simulator.addContractClassFromCpp(rawClass);
32
43
  }
@@ -34,13 +45,17 @@ async function simulateWithFuzzer(dataDir, mapSizeKb, txHint, globals, rawContra
34
45
  for (const [rawAddress, rawInstance] of rawContractInstances){
35
46
  await simulator.addContractInstanceFromCpp(rawAddress, rawInstance);
36
47
  }
48
+ // Apply public data writes after contract registration (e.g., for bytecode upgrades)
49
+ // This must happen last to match C++ setup_fuzzer_state ordering
50
+ await simulator.applyPublicDataWrites(rawPublicDataWrites);
37
51
  const result = await simulator.simulate(txHint);
38
52
  const output = result.getAppLogicReturnValues().flatMap((rv)=>rv?.values?.filter((v)=>v != null) ?? []);
39
53
  return {
40
54
  reverted: !result.revertCode.isOK(),
41
55
  output,
42
56
  revertReason: result.findRevertReason()?.message,
43
- publicInputs: result.publicInputs
57
+ publicInputs: result.publicInputs,
58
+ publicTxEffect: result.publicTxEffect
44
59
  };
45
60
  }
46
61
  async function execute(base64Line) {
@@ -50,24 +65,27 @@ async function execute(base64Line) {
50
65
  const rawRequest = deserializeFromMessagePack(buffer);
51
66
  const request = FuzzerSimulationRequest.fromPlainObject(rawRequest);
52
67
  // Run the TS simulation
53
- const result = await simulateWithFuzzer(request.wsDataDir, request.wsMapSizeKb, request.tx, request.globals, request.contractClasses, request.contractInstances);
68
+ const result = await simulateWithFuzzer(request.wsDataDir, request.wsMapSizeKb, request.tx, request.globals, request.contractClasses, request.contractInstances, request.publicDataWrites, request.noteHashes, request.protocolContracts);
54
69
  // Serialize the result to msgpack and encode it in base64 for output
55
70
  const resultBuffer = serializeWithMessagePack({
56
71
  reverted: result.reverted,
57
72
  output: result.output,
58
73
  revertReason: result.revertReason ?? '',
59
- endTreeSnapshots: result.publicInputs.endTreeSnapshots
74
+ endTreeSnapshots: result.publicInputs.endTreeSnapshots,
75
+ publicTxEffect: result.publicTxEffect
60
76
  });
61
- writeSync(process.stdout.fd, resultBuffer.toString('base64') + '\n');
77
+ const base64Response = resultBuffer.toString('base64') + '\n';
78
+ await writeOutput(base64Response);
62
79
  } catch (error) {
63
80
  // If we error, treat as reverted
64
81
  const errorResult = serializeWithMessagePack({
65
82
  reverted: true,
66
83
  output: [],
67
84
  revertReason: `Unexpected Error ${error.message}`,
68
- endTreeSnapshots: TreeSnapshots.empty()
85
+ endTreeSnapshots: TreeSnapshots.empty(),
86
+ publicTxEffect: PublicTxEffect.empty()
69
87
  });
70
- writeSync(process.stdout.fd, errorResult.toString('base64') + '\n');
88
+ await writeOutput(errorResult.toString('base64') + '\n');
71
89
  }
72
90
  }
73
91
  function mainLoop() {
@@ -1,3 +1,4 @@
1
+ var _computedKey;
1
2
  import { sha256Trunc } from '@aztec/foundation/crypto/sha256';
2
3
  import { Fr } from '@aztec/foundation/curves/bn254';
3
4
  import { createLogger } from '@aztec/foundation/log';
@@ -97,6 +98,7 @@ import { strict as assert } from 'assert';
97
98
  return this.checkpointStack[this.checkpointStack.length - 1];
98
99
  }
99
100
  }
101
+ _computedKey = Symbol.dispose;
100
102
  /**
101
103
  * A low-level merkle DB that collects hints.
102
104
  */ export class HintingMerkleWriteOperations {
@@ -335,7 +337,7 @@ import { strict as assert } from 'assert';
335
337
  async close() {
336
338
  return await this.db.close();
337
339
  }
338
- async [Symbol.dispose]() {
340
+ async [_computedKey]() {
339
341
  await this.close();
340
342
  }
341
343
  async findLeafIndices(treeId, values) {
@@ -1,4 +1,6 @@
1
+ var _computedKey;
1
2
  import { SerialQueue } from '@aztec/foundation/queue';
3
+ _computedKey = Symbol.dispose;
2
4
  /**
3
5
  * Wraps an instance of `MerkleTreeWriteOperations` to allow the sequencer to gate access.
4
6
  * If transactions execution goes past the deadline, the simulator will continue to execute and update the world state
@@ -54,7 +56,7 @@ import { SerialQueue } from '@aztec/foundation/queue';
54
56
  close() {
55
57
  return this.guardAndPush(()=>this.target.close());
56
58
  }
57
- async [Symbol.dispose]() {
59
+ async [_computedKey]() {
58
60
  await this.close();
59
61
  }
60
62
  getTreeInfo(treeId) {
@@ -46,7 +46,7 @@ export declare class PublicProcessor implements Traceable {
46
46
  * @param validator - Pre-process validator and nullifier cache to use for processing the txs.
47
47
  * @returns The list of processed txs with their circuit simulation outputs.
48
48
  */
49
- process(txs: Iterable<Tx> | AsyncIterable<Tx>, limits?: PublicProcessorLimits, validator?: PublicProcessorValidator): Promise<[ProcessedTx[], FailedTx[], Tx[], NestedProcessReturnValues[]]>;
49
+ process(txs: Iterable<Tx> | AsyncIterable<Tx>, limits?: PublicProcessorLimits, validator?: PublicProcessorValidator): Promise<[ProcessedTx[], FailedTx[], Tx[], NestedProcessReturnValues[], number]>;
50
50
  private checkWorldStateUnchanged;
51
51
  private processTx;
52
52
  private doTreeInsertionsForPrivateOnlyTx;
@@ -59,4 +59,4 @@ export declare class PublicProcessor implements Traceable {
59
59
  */
60
60
  private static generateProvingRequest;
61
61
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfcHJvY2Vzc29yL3B1YmxpY19wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLFlBQVksRUFBa0MsTUFBTSx5QkFBeUIsQ0FBQztBQUl2RixPQUFPLEVBTUwscUJBQXFCLEVBQ3RCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdqRSxPQUFPLEtBQUssRUFDVix5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4QixlQUFlLEVBQ2hCLE1BQU0saUNBQWlDLENBQUM7QUFHekMsT0FBTyxFQUNMLEtBQUssUUFBUSxFQUNiLGVBQWUsRUFDZix5QkFBeUIsRUFDekIsS0FBSyxXQUFXLEVBRWhCLEVBQUUsRUFHSCxNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFFTCxLQUFLLGVBQWUsRUFDcEIsS0FBSyxTQUFTLEVBQ2QsS0FBSyxNQUFNLEVBR1osTUFBTSx5QkFBeUIsQ0FBQztBQUtqQyxPQUFPLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0seUJBQXlCLENBQUM7QUFDM0UsT0FBTyxFQUNMLEtBQUssdUJBQXVCLEVBQzVCLEtBQUssMEJBQTBCLEVBRWhDLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHdkU7O0dBRUc7QUFDSCxxQkFBYSxzQkFBc0I7SUFFL0IsT0FBTyxDQUFDLGtCQUFrQjtJQUMxQixPQUFPLENBQUMsWUFBWTtJQUNwQixTQUFTLENBQUMsZUFBZSxFQUFFLGVBQWU7SUFINUMsWUFDVSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFDdEMsWUFBWSxHQUFFLFlBQWlDLEVBQzdDLGVBQWUsR0FBRSxlQUFzQyxFQUMvRDtJQUVKOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUNYLFVBQVUsRUFBRSx5QkFBeUIsRUFDckMsZUFBZSxFQUFFLGVBQWUsRUFDaEMsTUFBTSxFQUFFLHFCQUFxQixHQUM1QixlQUFlLENBY2pCO0lBRUQsU0FBUyxDQUFDLHVCQUF1QixDQUMvQixVQUFVLEVBQUUseUJBQXlCLEVBQ3JDLFdBQVcsRUFBRSxpQkFBaUIsRUFDOUIsZUFBZSxFQUFFLGVBQWUsRUFDaEMsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLHVCQUF1QixDQUFDLEdBQ3hDLDBCQUEwQixDQUU1QjtDQUNGO0FBU0Q7OztHQUdHO0FBQ0gscUJBQWEsZUFBZ0IsWUFBVyxTQUFTO0lBSTdDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsZUFBZTtJQUMxQyxPQUFPLENBQUMsaUJBQWlCO0lBQ3pCLFNBQVMsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCO0lBQ3hDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSwwQkFBMEI7SUFDdkQsT0FBTyxDQUFDLFlBQVk7SUFFcEIsT0FBTyxDQUFDLEdBQUc7SUFDWCxPQUFPLENBQUMsSUFBSTtJQVZkLE9BQU8sQ0FBQyxPQUFPLENBQXlCO0lBRXhDLFlBQ1ksZUFBZSxFQUFFLGVBQWUsRUFDbEMsaUJBQWlCLEVBQUUsMkJBQTJCLEVBQzVDLFdBQVcsRUFBRSxpQkFBaUIsRUFDOUIsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQy9DLFlBQVksRUFBRSxZQUFZLEVBQ2xDLGVBQWUsR0FBRSxlQUFzQyxFQUMvQyxHQUFHLHlDQUE2QyxFQUNoRCxJQUFJLEdBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSw0QkFBNEIsR0FBRyxpQ0FBaUMsQ0FBTSxFQUczRztJQUVELElBQUksTUFBTSxJQUFJLE1BQU0sQ0FFbkI7SUFFRDs7Ozs7O09BTUc7SUFDVSxPQUFPLENBQ2xCLEdBQUcsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUNyQyxNQUFNLEdBQUUscUJBQTBCLEVBQ2xDLFNBQVMsR0FBRSx3QkFBNkIsR0FDdkMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxDQUFDLENBNE16RTtZQUVhLHdCQUF3QjtZQWlCeEIsU0FBUztZQTJCVCxnQ0FBZ0M7WUE0QmhDLHVCQUF1QjtZQWdEdkIsZ0NBQWdDO1lBMEJoQyxvQkFBb0I7WUErQnBCLHdCQUF3QjtJQXlDdEM7O09BRUc7SUFDSCxPQUFPLENBQUMsTUFBTSxDQUFDLHNCQUFzQjtDQVN0QyJ9
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3B1YmxpYy9wdWJsaWNfcHJvY2Vzc29yL3B1YmxpY19wcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLFlBQVksRUFBa0MsTUFBTSx5QkFBeUIsQ0FBQztBQUl2RixPQUFPLEVBTUwscUJBQXFCLEVBQ3RCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUdqRSxPQUFPLEtBQUssRUFDVix5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4QixlQUFlLEVBQ2hCLE1BQU0saUNBQWlDLENBQUM7QUFHekMsT0FBTyxFQUNMLEtBQUssUUFBUSxFQUNiLGVBQWUsRUFDZix5QkFBeUIsRUFDekIsS0FBSyxXQUFXLEVBRWhCLEVBQUUsRUFHSCxNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFFTCxLQUFLLGVBQWUsRUFDcEIsS0FBSyxTQUFTLEVBQ2QsS0FBSyxNQUFNLEVBR1osTUFBTSx5QkFBeUIsQ0FBQztBQUtqQyxPQUFPLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0seUJBQXlCLENBQUM7QUFDM0UsT0FBTyxFQUNMLEtBQUssdUJBQXVCLEVBQzVCLEtBQUssMEJBQTBCLEVBRWhDLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHdkU7O0dBRUc7QUFDSCxxQkFBYSxzQkFBc0I7SUFFL0IsT0FBTyxDQUFDLGtCQUFrQjtJQUMxQixPQUFPLENBQUMsWUFBWTtJQUNwQixTQUFTLENBQUMsZUFBZSxFQUFFLGVBQWU7SUFINUMsWUFDVSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFDdEMsWUFBWSxHQUFFLFlBQWlDLEVBQzdDLGVBQWUsR0FBRSxlQUFzQyxFQUMvRDtJQUVKOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUNYLFVBQVUsRUFBRSx5QkFBeUIsRUFDckMsZUFBZSxFQUFFLGVBQWUsRUFDaEMsTUFBTSxFQUFFLHFCQUFxQixHQUM1QixlQUFlLENBY2pCO0lBRUQsU0FBUyxDQUFDLHVCQUF1QixDQUMvQixVQUFVLEVBQUUseUJBQXlCLEVBQ3JDLFdBQVcsRUFBRSxpQkFBaUIsRUFDOUIsZUFBZSxFQUFFLGVBQWUsRUFDaEMsTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDLHVCQUF1QixDQUFDLEdBQ3hDLDBCQUEwQixDQUU1QjtDQUNGO0FBU0Q7OztHQUdHO0FBQ0gscUJBQWEsZUFBZ0IsWUFBVyxTQUFTO0lBSTdDLFNBQVMsQ0FBQyxlQUFlLEVBQUUsZUFBZTtJQUMxQyxPQUFPLENBQUMsaUJBQWlCO0lBQ3pCLFNBQVMsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCO0lBQ3hDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSwwQkFBMEI7SUFDdkQsT0FBTyxDQUFDLFlBQVk7SUFFcEIsT0FBTyxDQUFDLEdBQUc7SUFDWCxPQUFPLENBQUMsSUFBSTtJQVZkLE9BQU8sQ0FBQyxPQUFPLENBQXlCO0lBRXhDLFlBQ1ksZUFBZSxFQUFFLGVBQWUsRUFDbEMsaUJBQWlCLEVBQUUsMkJBQTJCLEVBQzVDLFdBQVcsRUFBRSxpQkFBaUIsRUFDOUIsaUJBQWlCLEVBQUUsMEJBQTBCLEVBQy9DLFlBQVksRUFBRSxZQUFZLEVBQ2xDLGVBQWUsR0FBRSxlQUFzQyxFQUMvQyxHQUFHLHlDQUE2QyxFQUNoRCxJQUFJLEdBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSw0QkFBNEIsR0FBRyxpQ0FBaUMsQ0FBTSxFQUczRztJQUVELElBQUksTUFBTSxJQUFJLE1BQU0sQ0FFbkI7SUFFRDs7Ozs7O09BTUc7SUFDVSxPQUFPLENBQ2xCLEdBQUcsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLEdBQUcsYUFBYSxDQUFDLEVBQUUsQ0FBQyxFQUNyQyxNQUFNLEdBQUUscUJBQTBCLEVBQ2xDLFNBQVMsR0FBRSx3QkFBNkIsR0FDdkMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUseUJBQXlCLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQTZNakY7WUFFYSx3QkFBd0I7WUFpQnhCLFNBQVM7WUEyQlQsZ0NBQWdDO1lBNEJoQyx1QkFBdUI7WUFnRHZCLGdDQUFnQztZQTBCaEMsb0JBQW9CO1lBK0JwQix3QkFBd0I7SUF5Q3RDOztPQUVHO0lBQ0gsT0FBTyxDQUFDLE1BQU0sQ0FBQyxzQkFBc0I7Q0FTdEMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"public_processor.d.ts","sourceRoot":"","sources":["../../../src/public/public_processor/public_processor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAkC,MAAM,yBAAyB,CAAC;AAIvF,OAAO,EAML,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,EAChB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACL,KAAK,QAAQ,EACb,eAAe,EACf,yBAAyB,EACzB,KAAK,WAAW,EAEhB,EAAE,EAGH,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAE,iBAAiB,EAAiB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAEhC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAGvE;;GAEG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,YAAY;IACpB,SAAS,CAAC,eAAe,EAAE,eAAe;IAH5C,YACU,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,GAAE,YAAiC,EAC7C,eAAe,GAAE,eAAsC,EAC/D;IAEJ;;;;;OAKG;IACI,MAAM,CACX,UAAU,EAAE,yBAAyB,EACrC,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,qBAAqB,GAC5B,eAAe,CAcjB;IAED,SAAS,CAAC,uBAAuB,CAC/B,UAAU,EAAE,yBAAyB,EACrC,WAAW,EAAE,iBAAiB,EAC9B,eAAe,EAAE,eAAe,EAChC,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACxC,0BAA0B,CAE5B;CACF;AASD;;;GAGG;AACH,qBAAa,eAAgB,YAAW,SAAS;IAI7C,SAAS,CAAC,eAAe,EAAE,eAAe;IAC1C,OAAO,CAAC,iBAAiB;IACzB,SAAS,CAAC,WAAW,EAAE,iBAAiB;IACxC,SAAS,CAAC,iBAAiB,EAAE,0BAA0B;IACvD,OAAO,CAAC,YAAY;IAEpB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,IAAI;IAVd,OAAO,CAAC,OAAO,CAAyB;IAExC,YACY,eAAe,EAAE,eAAe,EAClC,iBAAiB,EAAE,2BAA2B,EAC5C,WAAW,EAAE,iBAAiB,EAC9B,iBAAiB,EAAE,0BAA0B,EAC/C,YAAY,EAAE,YAAY,EAClC,eAAe,GAAE,eAAsC,EAC/C,GAAG,yCAA6C,EAChD,IAAI,GAAE,IAAI,CAAC,eAAe,EAAE,4BAA4B,GAAG,iCAAiC,CAAM,EAG3G;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;OAMG;IACU,OAAO,CAClB,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC,EACrC,MAAM,GAAE,qBAA0B,EAClC,SAAS,GAAE,wBAA6B,GACvC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,yBAAyB,EAAE,CAAC,CAAC,CA4MzE;YAEa,wBAAwB;YAiBxB,SAAS;YA2BT,gCAAgC;YA4BhC,uBAAuB;YAgDvB,gCAAgC;YA0BhC,oBAAoB;YA+BpB,wBAAwB;IAyCtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAStC"}
1
+ {"version":3,"file":"public_processor.d.ts","sourceRoot":"","sources":["../../../src/public/public_processor/public_processor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAkC,MAAM,yBAAyB,CAAC;AAIvF,OAAO,EAML,qBAAqB,EACtB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,OAAO,KAAK,EACV,yBAAyB,EACzB,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,EAChB,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EACL,KAAK,QAAQ,EACb,eAAe,EACf,yBAAyB,EACzB,KAAK,WAAW,EAEhB,EAAE,EAGH,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAKjC,OAAO,EAAE,iBAAiB,EAAiB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAEhC,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAGvE;;GAEG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,YAAY;IACpB,SAAS,CAAC,eAAe,EAAE,eAAe;IAH5C,YACU,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,GAAE,YAAiC,EAC7C,eAAe,GAAE,eAAsC,EAC/D;IAEJ;;;;;OAKG;IACI,MAAM,CACX,UAAU,EAAE,yBAAyB,EACrC,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,qBAAqB,GAC5B,eAAe,CAcjB;IAED,SAAS,CAAC,uBAAuB,CAC/B,UAAU,EAAE,yBAAyB,EACrC,WAAW,EAAE,iBAAiB,EAC9B,eAAe,EAAE,eAAe,EAChC,MAAM,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,GACxC,0BAA0B,CAE5B;CACF;AASD;;;GAGG;AACH,qBAAa,eAAgB,YAAW,SAAS;IAI7C,SAAS,CAAC,eAAe,EAAE,eAAe;IAC1C,OAAO,CAAC,iBAAiB;IACzB,SAAS,CAAC,WAAW,EAAE,iBAAiB;IACxC,SAAS,CAAC,iBAAiB,EAAE,0BAA0B;IACvD,OAAO,CAAC,YAAY;IAEpB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,IAAI;IAVd,OAAO,CAAC,OAAO,CAAyB;IAExC,YACY,eAAe,EAAE,eAAe,EAClC,iBAAiB,EAAE,2BAA2B,EAC5C,WAAW,EAAE,iBAAiB,EAC9B,iBAAiB,EAAE,0BAA0B,EAC/C,YAAY,EAAE,YAAY,EAClC,eAAe,GAAE,eAAsC,EAC/C,GAAG,yCAA6C,EAChD,IAAI,GAAE,IAAI,CAAC,eAAe,EAAE,4BAA4B,GAAG,iCAAiC,CAAM,EAG3G;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;OAMG;IACU,OAAO,CAClB,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC,EACrC,MAAM,GAAE,qBAA0B,EAClC,SAAS,GAAE,wBAA6B,GACvC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,yBAAyB,EAAE,EAAE,MAAM,CAAC,CAAC,CA6MjF;YAEa,wBAAwB;YAiBxB,SAAS;YA2BT,gCAAgC;YA4BhC,uBAAuB;YAgDvB,gCAAgC;YA0BhC,oBAAoB;YA+BpB,wBAAwB;IAyCtC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAStC"}