@aztec/simulator 0.69.1 → 0.70.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dest/acvm/acvm.d.ts +1 -2
  2. package/dest/acvm/acvm.d.ts.map +1 -1
  3. package/dest/acvm/acvm.js +12 -2
  4. package/dest/acvm/index.d.ts +1 -1
  5. package/dest/acvm/index.d.ts.map +1 -1
  6. package/dest/acvm/index.js +2 -2
  7. package/dest/acvm/oracle/oracle.d.ts +13 -5
  8. package/dest/acvm/oracle/oracle.d.ts.map +1 -1
  9. package/dest/acvm/oracle/oracle.js +46 -21
  10. package/dest/acvm/oracle/typed_oracle.d.ts +8 -17
  11. package/dest/acvm/oracle/typed_oracle.d.ts.map +1 -1
  12. package/dest/acvm/oracle/typed_oracle.js +16 -23
  13. package/dest/avm/avm_simulator.d.ts.map +1 -1
  14. package/dest/avm/avm_simulator.js +7 -1
  15. package/dest/avm/fixtures/index.d.ts +2 -3
  16. package/dest/avm/fixtures/index.d.ts.map +1 -1
  17. package/dest/avm/fixtures/index.js +4 -4
  18. package/dest/avm/journal/journal.d.ts +3 -4
  19. package/dest/avm/journal/journal.d.ts.map +1 -1
  20. package/dest/avm/journal/journal.js +11 -10
  21. package/dest/avm/journal/nullifiers.d.ts +1 -1
  22. package/dest/avm/journal/nullifiers.d.ts.map +1 -1
  23. package/dest/avm/journal/public_storage.d.ts +1 -1
  24. package/dest/avm/journal/public_storage.d.ts.map +1 -1
  25. package/dest/client/client_execution_context.d.ts +29 -18
  26. package/dest/client/client_execution_context.d.ts.map +1 -1
  27. package/dest/client/client_execution_context.js +42 -29
  28. package/dest/client/db_oracle.d.ts +24 -16
  29. package/dest/client/db_oracle.d.ts.map +1 -1
  30. package/dest/client/db_oracle.js +1 -1
  31. package/dest/client/execution_note_cache.d.ts +27 -4
  32. package/dest/client/execution_note_cache.d.ts.map +1 -1
  33. package/dest/client/execution_note_cache.js +62 -12
  34. package/dest/client/index.d.ts +11 -3
  35. package/dest/client/index.d.ts.map +1 -1
  36. package/dest/client/index.js +11 -4
  37. package/dest/client/private_execution.d.ts +3 -2
  38. package/dest/client/private_execution.d.ts.map +1 -1
  39. package/dest/client/private_execution.js +9 -7
  40. package/dest/client/simulator.d.ts +4 -2
  41. package/dest/client/simulator.d.ts.map +1 -1
  42. package/dest/client/simulator.js +13 -8
  43. package/dest/client/unconstrained_execution.d.ts +2 -1
  44. package/dest/client/unconstrained_execution.d.ts.map +1 -1
  45. package/dest/client/unconstrained_execution.js +6 -4
  46. package/dest/client/view_data_oracle.d.ts +4 -10
  47. package/dest/client/view_data_oracle.d.ts.map +1 -1
  48. package/dest/client/view_data_oracle.js +17 -19
  49. package/dest/common/hashed_values_cache.d.ts +28 -0
  50. package/dest/common/hashed_values_cache.d.ts.map +1 -0
  51. package/dest/common/{packed_values_cache.js → hashed_values_cache.js} +22 -22
  52. package/dest/common/index.d.ts +1 -1
  53. package/dest/common/index.js +1 -1
  54. package/dest/common/message_load_oracle_inputs.d.ts +15 -0
  55. package/dest/common/message_load_oracle_inputs.d.ts.map +1 -0
  56. package/dest/common/message_load_oracle_inputs.js +15 -0
  57. package/dest/common/simulation_provider.d.ts +19 -0
  58. package/dest/common/simulation_provider.d.ts.map +1 -0
  59. package/dest/common/simulation_provider.js +27 -0
  60. package/dest/common.d.ts +2 -0
  61. package/dest/common.d.ts.map +1 -0
  62. package/dest/common.js +2 -0
  63. package/dest/providers/acvm_native.d.ts +5 -2
  64. package/dest/providers/acvm_native.d.ts.map +1 -1
  65. package/dest/providers/acvm_native.js +5 -2
  66. package/dest/providers/acvm_wasm.d.ts +8 -2
  67. package/dest/providers/acvm_wasm.d.ts.map +1 -1
  68. package/dest/providers/acvm_wasm.js +31 -5
  69. package/dest/providers/acvm_wasm_with_blobs.d.ts +14 -2
  70. package/dest/providers/acvm_wasm_with_blobs.d.ts.map +1 -1
  71. package/dest/providers/acvm_wasm_with_blobs.js +25 -5
  72. package/dest/providers/factory.d.ts +1 -1
  73. package/dest/providers/factory.d.ts.map +1 -1
  74. package/dest/providers/factory.js +1 -1
  75. package/dest/providers/index.d.ts +1 -1
  76. package/dest/providers/index.d.ts.map +1 -1
  77. package/dest/providers/index.js +2 -2
  78. package/dest/public/db_interfaces.d.ts +1 -1
  79. package/dest/public/db_interfaces.d.ts.map +1 -1
  80. package/dest/public/fixtures/index.d.ts +3 -3
  81. package/dest/public/fixtures/index.d.ts.map +1 -1
  82. package/dest/public/fixtures/index.js +48 -18
  83. package/dest/public/public_db_sources.d.ts +2 -1
  84. package/dest/public/public_db_sources.d.ts.map +1 -1
  85. package/dest/public/public_db_sources.js +2 -2
  86. package/dest/public/public_processor.js +2 -2
  87. package/dest/public/public_tx_context.d.ts +3 -7
  88. package/dest/public/public_tx_context.d.ts.map +1 -1
  89. package/dest/public/public_tx_context.js +7 -20
  90. package/dest/public/public_tx_simulator.js +5 -5
  91. package/{src/index.ts → dest/server.d.ts} +1 -2
  92. package/dest/server.d.ts.map +1 -0
  93. package/dest/server.js +6 -0
  94. package/package.json +11 -12
  95. package/src/acvm/acvm.ts +20 -3
  96. package/src/acvm/index.ts +1 -1
  97. package/src/acvm/oracle/oracle.ts +48 -27
  98. package/src/acvm/oracle/typed_oracle.ts +20 -24
  99. package/src/avm/avm_simulator.ts +6 -0
  100. package/src/avm/fixtures/index.ts +5 -4
  101. package/src/avm/journal/journal.ts +9 -9
  102. package/src/avm/journal/nullifiers.ts +1 -1
  103. package/src/avm/journal/public_storage.ts +1 -1
  104. package/src/client/client_execution_context.ts +47 -30
  105. package/src/client/db_oracle.ts +25 -17
  106. package/src/client/execution_note_cache.ts +67 -14
  107. package/src/client/index.ts +11 -3
  108. package/src/client/private_execution.ts +21 -17
  109. package/src/client/simulator.ts +20 -7
  110. package/src/client/unconstrained_execution.ts +17 -13
  111. package/src/client/view_data_oracle.ts +23 -19
  112. package/src/common/hashed_values_cache.ts +55 -0
  113. package/src/common/index.ts +1 -1
  114. package/src/common/message_load_oracle_inputs.ts +15 -0
  115. package/src/common/simulation_provider.ts +45 -0
  116. package/src/common.ts +1 -0
  117. package/src/providers/acvm_native.ts +12 -2
  118. package/src/providers/acvm_wasm.ts +36 -9
  119. package/src/providers/acvm_wasm_with_blobs.ts +35 -10
  120. package/src/providers/factory.ts +1 -1
  121. package/src/providers/index.ts +1 -1
  122. package/src/public/db_interfaces.ts +1 -1
  123. package/src/public/fixtures/index.ts +62 -26
  124. package/src/public/public_db_sources.ts +3 -6
  125. package/src/public/public_processor.ts +1 -1
  126. package/src/public/public_tx_context.ts +6 -19
  127. package/src/public/public_tx_simulator.ts +4 -4
  128. package/{dest/index.d.ts → src/server.ts} +0 -3
  129. package/dest/common/packed_values_cache.d.ts +0 -28
  130. package/dest/common/packed_values_cache.d.ts.map +0 -1
  131. package/dest/index.d.ts.map +0 -1
  132. package/dest/index.js +0 -8
  133. package/dest/providers/simulation_provider.d.ts +0 -9
  134. package/dest/providers/simulation_provider.d.ts.map +0 -1
  135. package/dest/providers/simulation_provider.js +0 -2
  136. package/src/common/packed_values_cache.ts +0 -55
  137. package/src/providers/simulation_provider.ts +0 -10
@@ -0,0 +1,27 @@
1
+ import { abiDecodeError } from '@noir-lang/noirc_abi';
2
+ // Error handling taken from noir/noir-repo/tooling/noir_js/src/witness_generation.ts.
3
+ // TODO: import this in isolation without having to import noir_js in its entirety.
4
+ export function parseErrorPayload(abi, originalError) {
5
+ const payload = originalError.rawAssertionPayload;
6
+ if (!payload) {
7
+ return originalError;
8
+ }
9
+ const enrichedError = originalError;
10
+ try {
11
+ // Decode the payload
12
+ const decodedPayload = abiDecodeError(abi, payload);
13
+ if (typeof decodedPayload === 'string') {
14
+ // If it's a string, just add it to the error message
15
+ enrichedError.message = `Circuit execution failed: ${decodedPayload}`;
16
+ }
17
+ else {
18
+ // If not, attach the payload to the original error
19
+ enrichedError.decodedAssertionPayload = decodedPayload;
20
+ }
21
+ }
22
+ catch (_errorDecoding) {
23
+ // Ignore errors decoding the payload
24
+ }
25
+ return enrichedError;
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltdWxhdGlvbl9wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tb24vc2ltdWxhdGlvbl9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFnQnRELHNGQUFzRjtBQUN0RixtRkFBbUY7QUFDbkYsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEdBQVEsRUFBRSxhQUE2QjtJQUN2RSxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsbUJBQW1CLENBQUM7SUFDbEQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUNELE1BQU0sYUFBYSxHQUFHLGFBQWlDLENBQUM7SUFFeEQsSUFBSSxDQUFDO1FBQ0gscUJBQXFCO1FBQ3JCLE1BQU0sY0FBYyxHQUFHLGNBQWMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFcEQsSUFBSSxPQUFPLGNBQWMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxxREFBcUQ7WUFDckQsYUFBYSxDQUFDLE9BQU8sR0FBRyw2QkFBNkIsY0FBYyxFQUFFLENBQUM7UUFDeEUsQ0FBQzthQUFNLENBQUM7WUFDTixtREFBbUQ7WUFDbkQsYUFBYSxDQUFDLHVCQUF1QixHQUFHLGNBQWMsQ0FBQztRQUN6RCxDQUFDO0lBQ0gsQ0FBQztJQUFDLE9BQU8sY0FBYyxFQUFFLENBQUM7UUFDeEIscUNBQXFDO0lBQ3ZDLENBQUM7SUFFRCxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDIn0=
@@ -0,0 +1,2 @@
1
+ export * from './common/index.js';
2
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
package/dest/common.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from './common/index.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDIn0=
@@ -2,7 +2,9 @@
2
2
  /// <reference types="node" resolution-mode="require"/>
3
3
  import { type NoirCompiledCircuit } from '@aztec/types/noir';
4
4
  import { type WitnessMap } from '@noir-lang/types';
5
- import { type SimulationProvider } from './simulation_provider.js';
5
+ import { type ACIRCallback, type ACIRExecutionResult } from '../acvm/acvm.js';
6
+ import { type ACVMWitness } from '../acvm/acvm_types.js';
7
+ import { type SimulationProvider } from '../common/simulation_provider.js';
6
8
  export declare enum ACVM_RESULT {
7
9
  SUCCESS = 0,
8
10
  FAILURE = 1
@@ -32,6 +34,7 @@ export declare class NativeACVMSimulator implements SimulationProvider {
32
34
  private pathToAcvm;
33
35
  private witnessFilename?;
34
36
  constructor(workingDirectory: string, pathToAcvm: string, witnessFilename?: string | undefined);
35
- simulateCircuit(input: WitnessMap, compiledCircuit: NoirCompiledCircuit): Promise<WitnessMap>;
37
+ executeProtocolCircuit(input: WitnessMap, compiledCircuit: NoirCompiledCircuit): Promise<WitnessMap>;
38
+ executeUserCircuit(_acir: Buffer, _initialWitness: ACVMWitness, _callback: ACIRCallback): Promise<ACIRExecutionResult>;
36
39
  }
37
40
  //# sourceMappingURL=acvm_native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"acvm_native.d.ts","sourceRoot":"","sources":["../../src/providers/acvm_native.ts"],"names":[],"mappings":";;AAGA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAInE,oBAAY,WAAW;IACrB,OAAO,IAAA;IACP,OAAO,IAAA;CACR;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;AAmBnD;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,UAAU,EACxB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,UAAU,CAAC,CAqErB;AAED,qBAAa,mBAAoB,YAAW,kBAAkB;IAChD,OAAO,CAAC,gBAAgB;IAAU,OAAO,CAAC,UAAU;IAAU,OAAO,CAAC,eAAe,CAAC;gBAA9E,gBAAgB,EAAE,MAAM,EAAU,UAAU,EAAE,MAAM,EAAU,eAAe,CAAC,oBAAQ;IACpG,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;CAwBpG"}
1
+ {"version":3,"file":"acvm_native.d.ts","sourceRoot":"","sources":["../../src/providers/acvm_native.ts"],"names":[],"mappings":";;AAGA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAI3E,oBAAY,WAAW;IACrB,OAAO,IAAA;IACP,OAAO,IAAA;CACR;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC;AAmBnD;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,UAAU,EACxB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,UAAU,CAAC,CAqErB;AAED,qBAAa,mBAAoB,YAAW,kBAAkB;IAChD,OAAO,CAAC,gBAAgB;IAAU,OAAO,CAAC,UAAU;IAAU,OAAO,CAAC,eAAe,CAAC;gBAA9E,gBAAgB,EAAE,MAAM,EAAU,UAAU,EAAE,MAAM,EAAU,eAAe,CAAC,oBAAQ;IACpG,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAyB1G,kBAAkB,CAChB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,WAAW,EAC5B,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,mBAAmB,CAAC;CAGhC"}
@@ -104,7 +104,7 @@ export class NativeACVMSimulator {
104
104
  this.pathToAcvm = pathToAcvm;
105
105
  this.witnessFilename = witnessFilename;
106
106
  }
107
- async simulateCircuit(input, compiledCircuit) {
107
+ async executeProtocolCircuit(input, compiledCircuit) {
108
108
  // Execute the circuit on those initial witness values
109
109
  const operation = async (directory) => {
110
110
  // Decode the bytecode from base64 since the acvm does not know about base64 encoding
@@ -118,5 +118,8 @@ export class NativeACVMSimulator {
118
118
  };
119
119
  return await runInDirectory(this.workingDirectory, operation, false);
120
120
  }
121
+ executeUserCircuit(_acir, _initialWitness, _callback) {
122
+ throw new Error('Not implemented');
123
+ }
121
124
  }
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN2bV9uYXRpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL2Fjdm1fbmF0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSWhELE9BQU8sS0FBSyxJQUFJLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxRQUFRLElBQUksRUFBRSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBSXBDLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBRXJELE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsbURBQU8sQ0FBQTtJQUNQLG1EQUFPLENBQUE7QUFDVCxDQUFDLEVBSFcsV0FBVyxLQUFYLFdBQVcsUUFHdEI7QUFlRDs7OztHQUlHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FBQyxZQUFvQjtJQUMvQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sSUFBSSxHQUFHLENBQ1osS0FBSztTQUNGLE1BQU0sQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUNyQyxHQUFHLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRTtRQUNwQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxD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
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN2bV9uYXRpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL2Fjdm1fbmF0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSWhELE9BQU8sS0FBSyxJQUFJLE1BQU0sZUFBZSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxRQUFRLElBQUksRUFBRSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBTXBDLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0FBRXJELE1BQU0sQ0FBTixJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsbURBQU8sQ0FBQTtJQUNQLG1EQUFPLENBQUE7QUFDVCxDQUFDLEVBSFcsV0FBVyxLQUFYLFdBQVcsUUFHdEI7QUFlRDs7OztHQUlHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FBQyxZQUFvQjtJQUMvQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLE9BQU8sSUFBSSxHQUFHLENBQ1osS0FBSztTQUNGLE1BQU0sQ0FBQyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUNyQyxHQUFHLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRTtRQUNwQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxD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
@@ -1,7 +1,13 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
1
3
  import { type NoirCompiledCircuit } from '@aztec/types/noir';
2
4
  import { type WitnessMap } from '@noir-lang/types';
3
- import { type SimulationProvider } from './simulation_provider.js';
5
+ import { type ACIRCallback } from '../acvm/acvm.js';
6
+ import { type ACVMWitness } from '../acvm/acvm_types.js';
7
+ import { type SimulationProvider } from '../common/simulation_provider.js';
4
8
  export declare class WASMSimulator implements SimulationProvider {
5
- simulateCircuit(input: WitnessMap, compiledCircuit: NoirCompiledCircuit): Promise<WitnessMap>;
9
+ init(): Promise<void>;
10
+ executeProtocolCircuit(input: WitnessMap, compiledCircuit: NoirCompiledCircuit): Promise<WitnessMap>;
11
+ executeUserCircuit(acir: Buffer, initialWitness: ACVMWitness, callback: ACIRCallback): Promise<import("../acvm/acvm.js").ACIRExecutionResult>;
6
12
  }
7
13
  //# sourceMappingURL=acvm_wasm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"acvm_wasm.d.ts","sourceRoot":"","sources":["../../src/providers/acvm_wasm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,qBAAa,aAAc,YAAW,kBAAkB;IAChD,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;CAepG"}
1
+ {"version":3,"file":"acvm_wasm.d.ts","sourceRoot":"","sources":["../../src/providers/acvm_wasm.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAI7D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,KAAK,YAAY,EAAQ,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,kBAAkB,EAAqB,MAAM,kCAAkC,CAAC;AAE9F,qBAAa,aAAc,YAAW,kBAAkB;IAChD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrB,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAyBpG,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY;CAI3F"}
@@ -1,15 +1,41 @@
1
1
  import { foreignCallHandler } from '@aztec/noir-protocol-circuits-types/client';
2
- import { executeCircuit } from '@noir-lang/acvm_js';
2
+ import initACVM, { executeCircuit } from '@noir-lang/acvm_js';
3
+ import initAbi from '@noir-lang/noirc_abi';
4
+ import { acvm } from '../acvm/acvm.js';
5
+ import { parseErrorPayload } from '../common/simulation_provider.js';
3
6
  export class WASMSimulator {
4
- async simulateCircuit(input, compiledCircuit) {
7
+ async init() {
8
+ // If these are available, then we are in the
9
+ // web environment. For the node environment, this
10
+ // is a no-op.
11
+ if (typeof initAbi === 'function') {
12
+ /** @ts-expect-error The node bundle doesn't include these default imports, so TS complains */
13
+ await Promise.all([initAbi(), initACVM()]);
14
+ }
15
+ }
16
+ async executeProtocolCircuit(input, compiledCircuit) {
17
+ await this.init();
5
18
  // Execute the circuit on those initial witness values
6
19
  //
7
20
  // Decode the bytecode from base64 since the acvm does not know about base64 encoding
8
21
  const decodedBytecode = Buffer.from(compiledCircuit.bytecode, 'base64');
9
22
  //
10
23
  // Execute the circuit
11
- const _witnessMap = await executeCircuit(decodedBytecode, input, foreignCallHandler);
12
- return _witnessMap;
24
+ try {
25
+ const _witnessMap = await executeCircuit(decodedBytecode, input, foreignCallHandler);
26
+ return _witnessMap;
27
+ }
28
+ catch (err) {
29
+ // Typescript types catched errors as unknown or any, so we need to narrow its type to check if it has raw assertion payload.
30
+ if (typeof err === 'object' && err !== null && 'rawAssertionPayload' in err) {
31
+ throw parseErrorPayload(compiledCircuit.abi, err);
32
+ }
33
+ throw new Error(`Circuit execution failed: ${err}`);
34
+ }
35
+ }
36
+ async executeUserCircuit(acir, initialWitness, callback) {
37
+ await this.init();
38
+ return acvm(acir, initialWitness, callback);
13
39
  }
14
40
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN2bV93YXNtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy9hY3ZtX3dhc20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFHaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBS3BELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBaUIsRUFBRSxlQUFvQztRQUMzRSxzREFBc0Q7UUFDdEQsRUFBRTtRQUNGLHFGQUFxRjtRQUNyRixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEUsRUFBRTtRQUNGLHNCQUFzQjtRQUN0QixNQUFNLFdBQVcsR0FBRyxNQUFNLGNBQWMsQ0FDdEMsZUFBZSxFQUNmLEtBQUssRUFDTCxrQkFBa0IsQ0FDbkIsQ0FBQztRQUVGLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7Q0FDRiJ9
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN2bV93YXNtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy9hY3ZtX3dhc20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFHaEYsT0FBTyxRQUFRLEVBQUUsRUFBdUIsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkYsT0FBTyxPQUFPLE1BQU0sc0JBQXNCLENBQUM7QUFHM0MsT0FBTyxFQUFxQixJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUxRCxPQUFPLEVBQTJCLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFOUYsTUFBTSxPQUFPLGFBQWE7SUFDeEIsS0FBSyxDQUFDLElBQUk7UUFDUiw2Q0FBNkM7UUFDN0Msa0RBQWtEO1FBQ2xELGNBQWM7UUFDZCxJQUFJLE9BQU8sT0FBTyxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQ2xDLDhGQUE4RjtZQUM5RixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0MsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsc0JBQXNCLENBQUMsS0FBaUIsRUFBRSxlQUFvQztRQUNsRixNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQixzREFBc0Q7UUFDdEQsRUFBRTtRQUNGLHFGQUFxRjtRQUNyRixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEUsRUFBRTtRQUNGLHNCQUFzQjtRQUN0QixJQUFJLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBRyxNQUFNLGNBQWMsQ0FDdEMsZUFBZSxFQUNmLEtBQUssRUFDTCxrQkFBa0IsQ0FDbkIsQ0FBQztZQUVGLE9BQU8sV0FBVyxDQUFDO1FBQ3JCLENBQUM7UUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ2IsNkhBQTZIO1lBQzdILElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUkscUJBQXFCLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQzVFLE1BQU0saUJBQWlCLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxHQUFxQixDQUFDLENBQUM7WUFDdEUsQ0FBQztZQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCLENBQUMsSUFBWSxFQUFFLGNBQTJCLEVBQUUsUUFBc0I7UUFDeEYsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0YifQ==
@@ -1,7 +1,19 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
1
3
  import { type NoirCompiledCircuit } from '@aztec/types/noir';
2
4
  import { type WitnessMap } from '@noir-lang/types';
3
- import { type SimulationProvider } from './simulation_provider.js';
5
+ import { type ACIRCallback, type ACIRExecutionResult } from '../acvm/acvm.js';
6
+ import { type ACVMWitness } from '../acvm/acvm_types.js';
7
+ import { type SimulationProvider } from '../common/simulation_provider.js';
8
+ /**
9
+ * A simulation provider that uses the WASM simulator with the ability to handle blobs via the foreign call handler.
10
+ * This class is temporary while brillig cannot handle the blob math, and it is kept separate
11
+ * because the zkg commitment library used in the blob code is not browser compatible.
12
+ *
13
+ * It is only used in the context of server-side code executing simulated protocol circuits.
14
+ */
4
15
  export declare class WASMSimulatorWithBlobs implements SimulationProvider {
5
- simulateCircuit(input: WitnessMap, compiledCircuit: NoirCompiledCircuit): Promise<WitnessMap>;
16
+ executeProtocolCircuit(input: WitnessMap, compiledCircuit: NoirCompiledCircuit): Promise<WitnessMap>;
17
+ executeUserCircuit(_acir: Buffer, _initialWitness: ACVMWitness, _callback: ACIRCallback): Promise<ACIRExecutionResult>;
6
18
  }
7
19
  //# sourceMappingURL=acvm_wasm_with_blobs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"acvm_wasm_with_blobs.d.ts","sourceRoot":"","sources":["../../src/providers/acvm_wasm_with_blobs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,qBAAa,sBAAuB,YAAW,kBAAkB;IACzD,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;CAepG"}
1
+ {"version":3,"file":"acvm_wasm_with_blobs.d.ts","sourceRoot":"","sources":["../../src/providers/acvm_wasm_with_blobs.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAG7D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,KAAK,kBAAkB,EAAqB,MAAM,kCAAkC,CAAC;AAE9F;;;;;;GAMG;AACH,qBAAa,sBAAuB,YAAW,kBAAkB;IACzD,sBAAsB,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAwB1G,kBAAkB,CAChB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,WAAW,EAC5B,SAAS,EAAE,YAAY,GACtB,OAAO,CAAC,mBAAmB,CAAC;CAGhC"}
@@ -1,15 +1,35 @@
1
- import { foreignCallHandler } from '@aztec/noir-protocol-circuits-types';
1
+ import { foreignCallHandler } from '@aztec/noir-protocol-circuits-types/server';
2
2
  import { executeCircuit } from '@noir-lang/acvm_js';
3
+ import { parseErrorPayload } from '../common/simulation_provider.js';
4
+ /**
5
+ * A simulation provider that uses the WASM simulator with the ability to handle blobs via the foreign call handler.
6
+ * This class is temporary while brillig cannot handle the blob math, and it is kept separate
7
+ * because the zkg commitment library used in the blob code is not browser compatible.
8
+ *
9
+ * It is only used in the context of server-side code executing simulated protocol circuits.
10
+ */
3
11
  export class WASMSimulatorWithBlobs {
4
- async simulateCircuit(input, compiledCircuit) {
12
+ async executeProtocolCircuit(input, compiledCircuit) {
5
13
  // Execute the circuit on those initial witness values
6
14
  //
7
15
  // Decode the bytecode from base64 since the acvm does not know about base64 encoding
8
16
  const decodedBytecode = Buffer.from(compiledCircuit.bytecode, 'base64');
9
17
  //
10
18
  // Execute the circuit
11
- const _witnessMap = await executeCircuit(decodedBytecode, input, foreignCallHandler);
12
- return _witnessMap;
19
+ try {
20
+ const _witnessMap = await executeCircuit(decodedBytecode, input, foreignCallHandler);
21
+ return _witnessMap;
22
+ }
23
+ catch (err) {
24
+ // Typescript types catched errors as unknown or any, so we need to narrow its type to check if it has raw assertion payload.
25
+ if (typeof err === 'object' && err !== null && 'rawAssertionPayload' in err) {
26
+ throw parseErrorPayload(compiledCircuit.abi, err);
27
+ }
28
+ throw new Error(`Circuit execution failed: ${err}`);
29
+ }
30
+ }
31
+ executeUserCircuit(_acir, _initialWitness, _callback) {
32
+ throw new Error('Not implemented');
13
33
  }
14
34
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN2bV93YXNtX3dpdGhfYmxvYnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL2Fjdm1fd2FzbV93aXRoX2Jsb2JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBR3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUtwRCxNQUFNLE9BQU8sc0JBQXNCO0lBQ2pDLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBaUIsRUFBRSxlQUFvQztRQUMzRSxzREFBc0Q7UUFDdEQsRUFBRTtRQUNGLHFGQUFxRjtRQUNyRixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDeEUsRUFBRTtRQUNGLHNCQUFzQjtRQUN0QixNQUFNLFdBQVcsR0FBRyxNQUFNLGNBQWMsQ0FDdEMsZUFBZSxFQUNmLEtBQUssRUFDTCxrQkFBa0IsQ0FDbkIsQ0FBQztRQUVGLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7Q0FDRiJ9
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN2bV93YXNtX3dpdGhfYmxvYnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL2Fjdm1fd2FzbV93aXRoX2Jsb2JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBR2hGLE9BQU8sRUFBdUIsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFLekUsT0FBTyxFQUEyQixpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTlGOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsS0FBSyxDQUFDLHNCQUFzQixDQUFDLEtBQWlCLEVBQUUsZUFBb0M7UUFDbEYsc0RBQXNEO1FBQ3RELEVBQUU7UUFDRixxRkFBcUY7UUFDckYsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3hFLEVBQUU7UUFDRixzQkFBc0I7UUFDdEIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxXQUFXLEdBQUcsTUFBTSxjQUFjLENBQ3RDLGVBQWUsRUFDZixLQUFLLEVBQ0wsa0JBQWtCLENBQ25CLENBQUM7WUFFRixPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLDZIQUE2SDtZQUM3SCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssSUFBSSxJQUFJLHFCQUFxQixJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUM1RSxNQUFNLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBcUIsQ0FBQyxDQUFDO1lBQ3RFLENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQ2hCLEtBQWEsRUFDYixlQUE0QixFQUM1QixTQUF1QjtRQUV2QixNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckMsQ0FBQztDQUNGIn0=
@@ -1,5 +1,5 @@
1
1
  import { type Logger } from '@aztec/foundation/log';
2
- import { type SimulationProvider } from './simulation_provider.js';
2
+ import { type SimulationProvider } from '../common/simulation_provider.js';
3
3
  export type SimulationProviderConfig = {
4
4
  acvmBinaryPath?: string;
5
5
  acvmWorkingDirectory?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/providers/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAMlE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,wBAAgB,kCAAkC;;;EAMjD;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,wBAAwB,EAChC,MAAM,GAAE,MAAkC,GACzC,OAAO,CAAC,kBAAkB,CAAC,CAa7B"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/providers/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAI3E,MAAM,MAAM,wBAAwB,GAAG;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,wBAAgB,kCAAkC;;;EAMjD;AAED,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,wBAAwB,EAChC,MAAM,GAAE,MAAkC,GACzC,OAAO,CAAC,kBAAkB,CAAC,CAa7B"}
@@ -24,4 +24,4 @@ export async function createSimulationProvider(config, logger = createLogger('si
24
24
  logger.info('Using WASM ACVM simulation');
25
25
  return new WASMSimulator();
26
26
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aWRlcnMvZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFFBQVEsSUFBSSxFQUFFLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBUS9DLE1BQU0sVUFBVSxrQ0FBa0M7SUFDaEQsTUFBTSxFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUNqRSxPQUFPO1FBQ0wsb0JBQW9CLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQ2pGLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFNBQVM7S0FDaEUsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHdCQUF3QixDQUM1QyxNQUFnQyxFQUNoQyxTQUFpQixZQUFZLENBQUMsV0FBVyxDQUFDO0lBRTFDLElBQUksTUFBTSxDQUFDLGNBQWMsSUFBSSxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUN6RCxJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFELE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNqRSxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixNQUFNLENBQUMsY0FBYywwQkFBMEIsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztZQUNsSCxPQUFPLElBQUksbUJBQW1CLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyRixDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsTUFBTSxDQUFDLGNBQWMsd0JBQXdCLENBQUMsQ0FBQztRQUN6RixDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUMxQyxPQUFPLElBQUksYUFBYSxFQUFFLENBQUM7QUFDN0IsQ0FBQyJ9
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aWRlcnMvZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFFBQVEsSUFBSSxFQUFFLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFHcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTy9DLE1BQU0sVUFBVSxrQ0FBa0M7SUFDaEQsTUFBTSxFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUNqRSxPQUFPO1FBQ0wsb0JBQW9CLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxTQUFTO1FBQ2pGLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFNBQVM7S0FDaEUsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsS0FBSyxVQUFVLHdCQUF3QixDQUM1QyxNQUFnQyxFQUNoQyxTQUFpQixZQUFZLENBQUMsV0FBVyxDQUFDO0lBRTFDLElBQUksTUFBTSxDQUFDLGNBQWMsSUFBSSxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUN6RCxJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFELE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUNqRSxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixNQUFNLENBQUMsY0FBYywwQkFBMEIsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztZQUNsSCxPQUFPLElBQUksbUJBQW1CLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyRixDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsTUFBTSxDQUFDLGNBQWMsd0JBQXdCLENBQUMsQ0FBQztRQUN6RixDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUMxQyxPQUFPLElBQUksYUFBYSxFQUFFLENBQUM7QUFDN0IsQ0FBQyJ9
@@ -1,5 +1,5 @@
1
1
  export * from './acvm_native.js';
2
2
  export * from './acvm_wasm_with_blobs.js';
3
- export * from './simulation_provider.js';
3
+ export * from '../common/simulation_provider.js';
4
4
  export * from './factory.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export * from './acvm_native.js';
2
2
  export * from './acvm_wasm_with_blobs.js';
3
- export * from './simulation_provider.js';
3
+ export * from '../common/simulation_provider.js';
4
4
  export * from './factory.js';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsY0FBYyxDQUFDIn0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsY0FBYyxDQUFDIn0=
@@ -4,7 +4,7 @@ import { type NullifierMembershipWitness } from '@aztec/circuit-types';
4
4
  import { type ContractInstanceWithAddress, type FunctionSelector, type L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/circuits.js';
5
5
  import { type AztecAddress } from '@aztec/foundation/aztec-address';
6
6
  import { type Fr } from '@aztec/foundation/fields';
7
- import { type MessageLoadOracleInputs } from '../acvm/index.js';
7
+ import { type MessageLoadOracleInputs } from '../common/message_load_oracle_inputs.js';
8
8
  /**
9
9
  * Database interface for providing access to public state.
10
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"db_interfaces.d.ts","sourceRoot":"","sources":["../../src/public/db_interfaces.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9E;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE5F;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;IAE7F,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9G;AAED,6GAA6G;AAC7G,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,0BAA0B,CACxB,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,GACT,OAAO,CAAC,uBAAuB,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC;IAErE;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAE/D;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEhE;;;;OAIG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAE/D;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9D;;;;OAIG;IACH,0CAA0C,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;CAC5G"}
1
+ {"version":3,"file":"db_interfaces.d.ts","sourceRoot":"","sources":["../../src/public/db_interfaces.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACL,KAAK,2BAA2B,EAChC,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC9B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAEvF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;IAE3D;;;;;;OAMG;IACH,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9E;;OAEG;IACH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B;;OAEG;IACH,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtC;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE5F;;;;OAIG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;IAE7F,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9G;AAED,6GAA6G;AAC7G,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,0BAA0B,CACxB,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,GACT,OAAO,CAAC,uBAAuB,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC;IAErE;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAE/D;;;;OAIG;IACH,kBAAkB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEhE;;;;OAIG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAE/D;;;;OAIG;IACH,iBAAiB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAE9D;;;;OAIG;IACH,0CAA0C,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;CAC5G"}
@@ -3,12 +3,12 @@ import { type AvmCircuitInputs, type ContractClassPublic, type ContractDataSourc
3
3
  import { type ContractArtifact } from '@aztec/foundation/abi';
4
4
  import { AztecAddress } from '@aztec/foundation/aztec-address';
5
5
  import { Fr } from '@aztec/foundation/fields';
6
- export declare function simulateAvmTestContractGenerateCircuitInputs(functionName: string, args?: Fr[], expectRevert?: boolean, contractDataSource?: MockedAvmTestContractDataSource, assertionErrString?: string): Promise<AvmCircuitInputs>;
6
+ export declare function simulateAvmTestContractGenerateCircuitInputs(setupFunctionNames: string[], setupArgs: Fr[][] | undefined, appFunctionNames: string[], appArgs?: Fr[][], teardownFunctionName?: string, teardownArgs?: Fr[], expectRevert?: boolean, contractDataSource?: MockedAvmTestContractDataSource, assertionErrString?: string): Promise<AvmCircuitInputs>;
7
7
  export declare function simulateAvmTestContractCall(functionName: string, args?: Fr[], expectRevert?: boolean, contractDataSource?: MockedAvmTestContractDataSource): Promise<void>;
8
8
  /**
9
- * Craft a carrier transaction for a public call for simulation by PublicTxSimulator.
9
+ * Craft a carrier transaction for some public calls for simulation by PublicTxSimulator.
10
10
  */
11
- export declare function createTxForPublicCall(executionRequest: PublicExecutionRequest, gasUsedByPrivate?: Gas, isTeardown?: boolean): Tx;
11
+ export declare function createTxForPublicCalls(setupExecutionRequests: PublicExecutionRequest[], appExecutionRequests: PublicExecutionRequest[], teardownExecutionRequest?: PublicExecutionRequest, gasUsedByPrivate?: Gas): Tx;
12
12
  export declare class MockedAvmTestContractDataSource implements ContractDataSource {
13
13
  private skipContractDeployments;
14
14
  private fnName;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,yBAAyB,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAChH,OAAO,EACL,KAAK,gBAAgB,EAGrB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAGhC,gBAAgB,EAChB,GAAG,EAQH,KAAK,cAAc,EAOpB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,KAAK,gBAAgB,EAAyB,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAS,MAAM,0BAA0B,CAAC;AAmBrD,wBAAsB,4CAA4C,CAChE,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,EAAE,EAAO,EACf,YAAY,GAAE,OAAe,EAC7B,kBAAkB,kCAAwC,EAC1D,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CA4C3B;AAED,wBAAsB,2BAA2B,CAC/C,YAAY,EAAE,MAAM,EACpB,IAAI,GAAE,EAAE,EAAO,EACf,YAAY,GAAE,OAAe,EAC7B,kBAAkB,kCAAwC,iBAkC3D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,gBAAgB,EAAE,sBAAsB,EACxC,gBAAgB,GAAE,GAAiB,EACnC,UAAU,GAAE,OAAe,GAC1B,EAAE,CAgCJ;AAED,qBAAa,+BAAgC,YAAW,kBAAkB;IAmB5D,OAAO,CAAC,uBAAuB;IAlB3C,OAAO,CAAC,MAAM,CAAqB;IAC5B,UAAU,EAAE,gBAAgB,CAAmD;IACtF,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,kBAAkB,CAAK;IAG/B,OAAO,CAAC,eAAe,CAA+C;IAE/D,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAa;IAExE,qBAAqB,EAAE,2BAA2B,CAEvD;IACK,gCAAgC,EAAE,2BAA2B,CACa;IAC1E,qBAAqB,EAAE,2BAA2B,CAAC;gBAEtC,uBAAuB,GAAE,OAAe;IAuCtD,eAAe,CAAC,WAAW,EAAE,yBAAyB;WA6BxC,MAAM,CACxB,WAAW,EAAE,yBAAyB,EACtC,uBAAuB,GAAE,OAAe,GACvC,OAAO,CAAC,+BAA+B,CAAC;IAQ3C,iBAAiB,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC;IAI/F,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAIjC,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAIlE,qBAAqB,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IAI3C,gBAAgB,CAAC,cAAc,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC;IAapF,mBAAmB,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;IAIpC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAIlF,uBAAuB,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7F,kCAAkC,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAGjG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/public/fixtures/index.ts"],"names":[],"mappings":"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"}
@@ -6,13 +6,16 @@ import { AztecAddress } from '@aztec/foundation/aztec-address';
6
6
  import { Fr, Point } from '@aztec/foundation/fields';
7
7
  import { openTmpStore } from '@aztec/kv-store/lmdb';
8
8
  import { AvmTestContractArtifact } from '@aztec/noir-contracts.js/AvmTest';
9
- import { AvmEphemeralForest, AvmSimulator, PublicEnqueuedCallSideEffectTrace, PublicTxSimulator, WorldStateDB, } from '@aztec/simulator';
10
9
  import { NoopTelemetryClient } from '@aztec/telemetry-client/noop';
11
10
  import { MerkleTrees } from '@aztec/world-state';
12
11
  import { strict as assert } from 'assert';
13
12
  import { initContext, initExecutionEnvironment, initPersistableStateManager } from '../../avm/fixtures/index.js';
13
+ import { AvmEphemeralForest, AvmSimulator } from '../../server.js';
14
+ import { PublicEnqueuedCallSideEffectTrace } from '../enqueued_call_side_effect_trace.js';
15
+ import { WorldStateDB } from '../public_db_sources.js';
16
+ import { PublicTxSimulator } from '../public_tx_simulator.js';
14
17
  const TIMESTAMP = new Fr(99833);
15
- export async function simulateAvmTestContractGenerateCircuitInputs(functionName, args = [], expectRevert = false, contractDataSource = new MockedAvmTestContractDataSource(), assertionErrString) {
18
+ export async function simulateAvmTestContractGenerateCircuitInputs(setupFunctionNames, setupArgs = [], appFunctionNames, appArgs = [], teardownFunctionName, teardownArgs = [], expectRevert = false, contractDataSource = new MockedAvmTestContractDataSource(), assertionErrString) {
16
19
  const globals = GlobalVariables.empty();
17
20
  globals.timestamp = TIMESTAMP;
18
21
  const merkleTrees = await (await MerkleTrees.new(openTmpStore(), new NoopTelemetryClient())).fork();
@@ -21,12 +24,31 @@ export async function simulateAvmTestContractGenerateCircuitInputs(functionName,
21
24
  const simulator = new PublicTxSimulator(merkleTrees, worldStateDB, new NoopTelemetryClient(), globals,
22
25
  /*doMerkleOperations=*/ true);
23
26
  const sender = AztecAddress.random();
24
- const functionSelector = getAvmTestContractFunctionSelector(functionName);
25
- args = [functionSelector.toField(), ...args];
26
27
  const callContext = new CallContext(sender, contractDataSource.firstContractInstance.address, contractDataSource.fnSelector,
27
28
  /*isStaticCall=*/ false);
28
- const executionRequest = new PublicExecutionRequest(callContext, args);
29
- const tx = createTxForPublicCall(executionRequest);
29
+ const setupExecutionRequests = [];
30
+ // we reverse order because the simulator expects it to be like a "stack" of calls to pop from
31
+ for (let i = setupFunctionNames.length - 1; i >= 0; i--) {
32
+ const functionSelector = getAvmTestContractFunctionSelector(setupFunctionNames[i]);
33
+ const fnArgs = [functionSelector.toField(), ...setupArgs[i]];
34
+ const executionRequest = new PublicExecutionRequest(callContext, fnArgs);
35
+ setupExecutionRequests.push(executionRequest);
36
+ }
37
+ const appExecutionRequests = [];
38
+ // we reverse order because the simulator expects it to be like a "stack" of calls to pop from
39
+ for (let i = appFunctionNames.length - 1; i >= 0; i--) {
40
+ const functionSelector = getAvmTestContractFunctionSelector(appFunctionNames[i]);
41
+ const fnArgs = [functionSelector.toField(), ...appArgs[i]];
42
+ const executionRequest = new PublicExecutionRequest(callContext, fnArgs);
43
+ appExecutionRequests.push(executionRequest);
44
+ }
45
+ let teardownExecutionRequest = undefined;
46
+ if (teardownFunctionName) {
47
+ const functionSelector = getAvmTestContractFunctionSelector(teardownFunctionName);
48
+ const fnArgs = [functionSelector.toField(), ...teardownArgs];
49
+ teardownExecutionRequest = new PublicExecutionRequest(callContext, fnArgs);
50
+ }
51
+ const tx = createTxForPublicCalls(setupExecutionRequests, appExecutionRequests, teardownExecutionRequest);
30
52
  const avmResult = await simulator.simulate(tx);
31
53
  if (!expectRevert) {
32
54
  expect(avmResult.revertCode.isOK()).toBe(true);
@@ -72,30 +94,38 @@ export async function simulateAvmTestContractCall(functionName, args = [], expec
72
94
  expect(results.reverted).toBe(expectRevert);
73
95
  }
74
96
  /**
75
- * Craft a carrier transaction for a public call for simulation by PublicTxSimulator.
97
+ * Craft a carrier transaction for some public calls for simulation by PublicTxSimulator.
76
98
  */
77
- export function createTxForPublicCall(executionRequest, gasUsedByPrivate = Gas.empty(), isTeardown = false) {
78
- const callRequest = executionRequest.toCallRequest();
99
+ export function createTxForPublicCalls(setupExecutionRequests, appExecutionRequests, teardownExecutionRequest, gasUsedByPrivate = Gas.empty()) {
100
+ assert(setupExecutionRequests.length > 0 || appExecutionRequests.length > 0 || teardownExecutionRequest !== undefined, "Can't create public tx with no enqueued calls");
101
+ const setupCallRequests = setupExecutionRequests.map(er => er.toCallRequest());
102
+ const appCallRequests = appExecutionRequests.map(er => er.toCallRequest());
79
103
  // use max limits
80
104
  const gasLimits = new Gas(DEFAULT_GAS_LIMIT, MAX_L2_GAS_PER_TX_PUBLIC_PORTION);
81
105
  const forPublic = PartialPrivateTailPublicInputsForPublic.empty();
82
106
  // TODO(#9269): Remove this fake nullifier method as we move away from 1st nullifier as hash.
83
107
  forPublic.nonRevertibleAccumulatedData.nullifiers[0] = Fr.random(); // fake tx nullifier
84
- if (isTeardown) {
85
- forPublic.publicTeardownCallRequest = callRequest;
108
+ for (let i = 0; i < setupExecutionRequests.length; i++) {
109
+ forPublic.nonRevertibleAccumulatedData.publicCallRequests[i] = setupCallRequests[i];
86
110
  }
87
- else {
88
- forPublic.revertibleAccumulatedData.publicCallRequests[0] = callRequest;
111
+ for (let i = 0; i < appCallRequests.length; i++) {
112
+ forPublic.revertibleAccumulatedData.publicCallRequests[i] = appCallRequests[i];
89
113
  }
90
- const teardownGasLimits = isTeardown ? gasLimits : Gas.empty();
114
+ if (teardownExecutionRequest) {
115
+ forPublic.publicTeardownCallRequest = teardownExecutionRequest.toCallRequest();
116
+ }
117
+ const teardownGasLimits = teardownExecutionRequest ? gasLimits : Gas.empty();
91
118
  const gasSettings = new GasSettings(gasLimits, teardownGasLimits, GasFees.empty(), GasFees.empty());
92
119
  const txContext = new TxContext(Fr.zero(), Fr.zero(), gasSettings);
93
120
  const constantData = new TxConstantData(BlockHeader.empty(), txContext, Fr.zero(), Fr.zero());
94
121
  const txData = new PrivateKernelTailCircuitPublicInputs(constantData, RollupValidationRequests.empty(),
95
122
  /*gasUsed=*/ gasUsedByPrivate, AztecAddress.zero(), forPublic);
96
- const tx = isTeardown ? Tx.newWithTxData(txData, executionRequest) : Tx.newWithTxData(txData);
97
- if (!isTeardown) {
98
- tx.enqueuedPublicFunctionCalls[0] = executionRequest;
123
+ const tx = Tx.newWithTxData(txData, teardownExecutionRequest);
124
+ for (let i = 0; i < setupExecutionRequests.length; i++) {
125
+ tx.enqueuedPublicFunctionCalls.push(setupExecutionRequests[i]);
126
+ }
127
+ for (let i = 0; i < appExecutionRequests.length; i++) {
128
+ tx.enqueuedPublicFunctionCalls.push(appExecutionRequests[i]);
99
129
  }
100
130
  return tx;
101
131
  }
@@ -215,4 +245,4 @@ function getAvmTestContractBytecode(functionName) {
215
245
  const artifact = getAvmTestContractArtifact(functionName);
216
246
  return artifact.bytecode;
217
247
  }
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL2ZpeHR1cmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQWtDLHNCQUFzQixFQUFFLEVBQUUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hILE9BQU8sRUFFTCxXQUFXLEVBQ1gsV0FBVyxFQUlYLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsZ0JBQWdCLEVBQ2hCLEdBQUcsRUFDSCxPQUFPLEVBQ1AsV0FBVyxFQUNYLGVBQWUsRUFDZixnQ0FBZ0MsRUFDaEMsNkNBQTZDLEVBQzdDLHVDQUF1QyxFQUN2QyxvQ0FBb0MsRUFFcEMsVUFBVSxFQUNWLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsY0FBYyxFQUNkLFNBQVMsRUFDVCwrQkFBK0IsR0FDaEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLCtCQUErQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLGlDQUFpQyxFQUNqQyxpQkFBaUIsRUFDakIsWUFBWSxHQUNiLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixD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
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL2ZpeHR1cmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQWtDLHNCQUFzQixFQUFFLEVBQUUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hILE9BQU8sRUFFTCxXQUFXLEVBQ1gsV0FBVyxFQUlYLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsZ0JBQWdCLEVBQ2hCLEdBQUcsRUFDSCxPQUFPLEVBQ1AsV0FBVyxFQUNYLGVBQWUsRUFDZixnQ0FBZ0MsRUFDaEMsNkNBQTZDLEVBQzdDLHVDQUF1QyxFQUN2QyxvQ0FBb0MsRUFFcEMsVUFBVSxFQUNWLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsY0FBYyxFQUNkLFNBQVMsRUFDVCwrQkFBK0IsR0FDaEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLCtCQUErQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUUxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLHdCQUF3QixFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakgsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU5RCxNQUFNLFNBQVMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUVoQyxNQUFNLENBQUMsS0FBSyxVQUFVLDRDQUE0QyxDQUNoRSxrQkFBNEIsRUFDNUIsWUFBb0IsRUFBRSxFQUN0QixnQkFBMEIsRUFDMUIsVUFBa0IsRUFBRSxFQUNwQixvQkFBNkIsRUFDN0IsZUFBcUIsRUFBRSxFQUN2QixlQUF3QixLQUFLLEVBQzdCLGtCQUFrQixHQUFHLElBQUksK0JBQStCLEVBQUUsRUFDMUQsa0JBQTJCO0lBRTNCLE1BQU0sT0FBTyxHQUFHLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN4QyxPQUFPLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUU5QixNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxXQUFXLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxFQUFFLElBQUksbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEcsTUFBTSxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFFdkUsTUFBTSxTQUFTLEdBQUcsSUFBSSxpQkFBaUIsQ0FDckMsV0FBVyxFQUNYLFlBQVksRUFDWixJQUFJLG1CQUFtQixFQUFFLEVBQ3pCLE9BQU87SUFDUCx1QkFBdUIsQ0FBQyxJQUFJLENBQzdCLENBQUM7SUFFRixNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDckMsTUFBTSxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQ2pDLE1BQU0sRUFDTixrQkFBa0IsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLEVBQ2hELGtCQUFrQixDQUFDLFVBQVU7SUFDN0IsaUJBQWlCLENBQUMsS0FBSyxDQUN4QixDQUFDO0lBQ0YsTUFBTSxzQkFBc0IsR0FBNkIsRUFBRSxDQUFDO0lBQzVELDhGQUE4RjtJQUM5RixLQUFLLElBQUksQ0FBQyxHQUFHLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3hELE1BQU0sZ0JBQWdCLEdBQUcsa0NBQWtDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRixNQUFNLE1BQU0sR0FBRyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0QsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6RSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsTUFBTSxvQkFBb0IsR0FBNkIsRUFBRSxDQUFDO0lBQzFELDhGQUE4RjtJQUM5RixLQUFLLElBQUksQ0FBQyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3RELE1BQU0sZ0JBQWdCLEdBQUcsa0NBQWtDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRixNQUFNLE1BQU0sR0FBRyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0QsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLHNCQUFzQixDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6RSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSx3QkFBd0IsR0FBdUMsU0FBUyxDQUFDO0lBQzdFLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUN6QixNQUFNLGdCQUFnQixHQUFHLGtDQUFrQyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDbEYsTUFBTSxNQUFNLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLFlBQVksQ0FBQyxDQUFDO1FBQzdELHdCQUF3QixHQUFHLElBQUksc0JBQXNCLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCxNQUFNLEVBQUUsR0FBTyxzQkFBc0IsQ0FBQyxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBRTlHLE1BQU0sU0FBUyxHQUFHLE1BQU0sU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUUvQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDbEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQztTQUFNLENBQUM7UUFDTiw0Q0FBNEM7UUFDNUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QyxJQUFJLGtCQUFrQixLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDN0UsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLGdCQUFnQixHQUFxQixTQUFTLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDO0lBQzlFLE9BQU8sZ0JBQWdCLENBQUM7QUFDMUIsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsMkJBQTJCLENBQy9DLFlBQW9CLEVBQ3BCLE9BQWEsRUFBRSxFQUNmLGVBQXdCLEtBQUssRUFDN0Isa0JBQWtCLEdBQUcsSUFBSSwrQkFBK0IsRUFBRTtJQUUxRCxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDeEMsT0FBTyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFFOUIsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sV0FBVyxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BHLE1BQU0sa0JBQWtCLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELE1BQU0sWUFBWSxHQUFHLElBQUksWUFBWSxDQUFDLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBRXZFLE1BQU0sS0FBSyxHQUFHLElBQUksaUNBQWlDLEVBQUUsQ0FBQztJQUN0RCxNQUFNLGNBQWMsR0FBRyxNQUFNLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLE1BQU0sZ0JBQWdCLEdBQUcsMkJBQTJCLENBQUM7UUFDbkQsWUFBWTtRQUNaLEtBQUs7UUFDTCxXQUFXLEVBQUUsY0FBYztRQUMzQixrQkFBa0IsRUFBRSxJQUFJO0tBQ3pCLENBQUMsQ0FBQztJQUVILE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNyQyxNQUFNLGdCQUFnQixHQUFHLGtDQUFrQyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFFLElBQUksR0FBRyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDN0MsTUFBTSxXQUFXLEdBQUcsd0JBQXdCLENBQUM7UUFDM0MsUUFBUSxFQUFFLElBQUk7UUFDZCxPQUFPO1FBQ1AsT0FBTyxFQUFFLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDLE9BQU87UUFDekQsTUFBTTtLQUNQLENBQUMsQ0FBQztJQUNILE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO0lBRXBFLGtFQUFrRTtJQUNsRSxNQUFNLFNBQVMsR0FBRyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QyxNQUFNLE9BQU8sR0FBRyxNQUFNLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUUxQyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLHNCQUFnRCxFQUNoRCxvQkFBOEMsRUFDOUMsd0JBQWlELEVBQ2pELG1CQUF3QixHQUFHLENBQUMsS0FBSyxFQUFFO0lBRW5DLE1BQU0sQ0FDSixzQkFBc0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksd0JBQXdCLEtBQUssU0FBUyxFQUM5RywrQ0FBK0MsQ0FDaEQsQ0FBQztJQUNGLE1BQU0saUJBQWlCLEdBQUcsc0JBQXNCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDL0UsTUFBTSxlQUFlLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDM0UsaUJBQWlCO0lBQ2pCLE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxDQUFDLGlCQUFpQixFQUFFLGdDQUFnQyxDQUFDLENBQUM7SUFFL0UsTUFBTSxTQUFTLEdBQUcsdUNBQXVDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEUsNkZBQTZGO0lBQzdGLFNBQVMsQ0FBQyw0QkFBNEIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsb0JBQW9CO0lBRXhGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN2RCxTQUFTLENBQUMsNEJBQTRCLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDaEQsU0FBUyxDQUFDLHlCQUF5QixDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBQ0QsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1FBQzdCLFNBQVMsQ0FBQyx5QkFBeUIsR0FBRyx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNqRixDQUFDO0lBRUQsTUFBTSxpQkFBaUIsR0FBRyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDN0UsTUFBTSxXQUFXLEdBQUcsSUFBSSxXQUFXLENBQUMsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwRyxNQUFNLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRTlGLE1BQU0sTUFBTSxHQUFHLElBQUksb0NBQW9DLENBQ3JELFlBQVksRUFDWix3QkFBd0IsQ0FBQyxLQUFLLEVBQUU7SUFDaEMsWUFBWSxDQUFDLGdCQUFnQixFQUM3QixZQUFZLENBQUMsSUFBSSxFQUFFLEVBQ25CLFNBQVMsQ0FDVixDQUFDO0lBQ0YsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztJQUU5RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsc0JBQXNCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDdkQsRUFBRSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDckQsRUFBRSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRCxNQUFNLE9BQU8sK0JBQStCO0lBbUIxQyxZQUFvQiwwQkFBbUMsS0FBSztRQUF4Qyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQWlCO1FBbEJwRCxXQUFNLEdBQUcsaUJBQWlCLENBQUM7UUFDNUIsZUFBVSxHQUFxQixrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFLdEYsa0NBQWtDO1FBQzFCLG9CQUFlLEdBQXFDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDdEUsNkNBQTZDO1FBQ3RDLHNCQUFpQixHQUE2QyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRXhFLDBCQUFxQixHQUFnQyw0QkFBNEIsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxXQUFXLENBQzVHLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQzNCLENBQUM7UUFDSyxxQ0FBZ0MsR0FDckMsNEJBQTRCLENBQUMsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUkvRSxJQUFJLENBQUMsUUFBUSxHQUFHLDBCQUEwQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsVUFBVSxHQUFHLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN2RSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsK0JBQStCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXpFLGlFQUFpRTtRQUNqRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsNkNBQTZDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDM0UsTUFBTSxhQUFhLEdBQUcsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDMUUsTUFBTSxnQkFBZ0IsR0FBRywrQkFBK0IsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4RixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQ3JFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLGdCQUFnQixDQUFDLENBQUM7WUFDbEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLHFCQUFxQixHQUFHLGdCQUFnQixDQUFDO1lBQ2hELENBQUM7UUFDSCxDQUFDO1FBQ0Qsc0ZBQXNGO1FBQ3RGLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRywrQkFBK0IsQ0FDckUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWU7UUFDMUMsU0FBUyxDQUFDLElBQUksQ0FDZixDQUFDO1FBRUYsZ0VBQWdFO1FBQ2hFLG9DQUFvQztRQUNwQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSw0QkFBNEIsQ0FBQztZQUM1RCxPQUFPLEVBQUUsQ0FBQztZQUNWLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDbkIsUUFBUSxFQUFFLElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3pDLGVBQWUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDOUIsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQ3BDLFVBQVUsRUFBRSxJQUFJLFVBQVUsQ0FDeEIsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQ3BELElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUNwRCxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLENBQUMsRUFDcEQsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQ3JEO1NBQ0YsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELEtBQUssQ0FBQyxlQUFlLENBQUMsV0FBc0M7UUFDMUQsSUFBSSxDQUFDLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1lBQ2xDLEtBQUssTUFBTSxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztnQkFDL0QsTUFBTSx3QkFBd0IsR0FBRyxhQUFhLENBQzVDLFlBQVksQ0FBQyxVQUFVLENBQUMseUJBQXlCLENBQUMsRUFDbEQsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUNuQyxDQUFDO2dCQUNGLE1BQU0sV0FBVyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2RyxDQUFDO1lBRUQsTUFBTSx5Q0FBeUMsR0FBRyxhQUFhLENBQzdELFlBQVksQ0FBQyxVQUFVLENBQUMseUJBQXlCLENBQUMsRUFDbEQsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FDeEQsQ0FBQztZQUNGLE1BQU0sV0FBVyxDQUFDLFdBQVcsQ0FDM0IsWUFBWSxDQUFDLGNBQWMsRUFDM0IsQ0FBQyx5Q0FBeUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUN0RCxDQUFDLENBQ0YsQ0FBQztZQUVGLDBFQUEwRTtZQUMxRSxNQUFNLDZCQUE2QixHQUFHLGFBQWEsQ0FDakQsWUFBWSxDQUFDLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxFQUNsRCxJQUFJLENBQUMscUJBQXFCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUM3QyxDQUFDO1lBQ0YsTUFBTSxXQUFXLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVHLENBQUM7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ3hCLFdBQXNDLEVBQ3RDLDBCQUFtQyxLQUFLO1FBRXhDLE1BQU0sVUFBVSxHQUFHLElBQUksK0JBQStCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUM3QixNQUFNLFVBQVUsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxRQUFzQixFQUFFLFNBQTJCO1FBQ25FLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQU07UUFDckIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELHFCQUFxQixDQUFDLEdBQU87UUFDM0IsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxjQUFtQztRQUNsRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXFCO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztZQUNsQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ3ZELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUNyRCxDQUFDO2lCQUFNLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0NBQWdDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDekUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO1lBQ2hFLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3pFLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxRQUFzQjtRQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELHVCQUF1QixDQUFDLFFBQXNCLEVBQUUsU0FBMkI7UUFDekUsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsa0NBQWtDLENBQUMsUUFBc0IsRUFBRSxXQUFxQjtRQUM5RSxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0NBQ0Y7QUFFRCxTQUFTLGtDQUFrQyxDQUFDLFlBQW9CO0lBQzlELE1BQU0sUUFBUSxHQUFHLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBRSxDQUFDO0lBQ3ZGLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLFlBQVksWUFBWSx1Q0FBdUMsQ0FBQyxDQUFDO0lBQ3BGLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7SUFDbkMsT0FBTyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZFLENBQUM7QUFFRCxTQUFTLDBCQUEwQixDQUFDLFlBQW9CO0lBQ3RELE1BQU0sUUFBUSxHQUFHLHVCQUF1QixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBRSxDQUFDO0lBQ3ZGLE1BQU0sQ0FDSixDQUFDLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFDcEIsa0NBQWtDLFlBQVksdURBQXVELENBQ3RHLENBQUM7SUFDRixPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FBQyxZQUFvQjtJQUN0RCxNQUFNLFFBQVEsR0FBRywwQkFBMEIsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxRCxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUM7QUFDM0IsQ0FBQyJ9
@@ -2,7 +2,8 @@
2
2
  /// <reference types="node" resolution-mode="require"/>
3
3
  import { type MerkleTreeReadOperations, type MerkleTreeWriteOperations, NullifierMembershipWitness, type Tx } from '@aztec/circuit-types';
4
4
  import { type AztecAddress, type ContractClassPublic, type ContractDataSource, type ContractInstanceWithAddress, Fr, type FunctionSelector, type L1_TO_L2_MSG_TREE_HEIGHT } from '@aztec/circuits.js';
5
- import { type CommitmentsDB, MessageLoadOracleInputs, type PublicContractsDB, type PublicStateDB } from '@aztec/simulator';
5
+ import { MessageLoadOracleInputs } from '../common/message_load_oracle_inputs.js';
6
+ import { type CommitmentsDB, type PublicContractsDB, type PublicStateDB } from './db_interfaces.js';
6
7
  /**
7
8
  * Implements the PublicContractsDB using a ContractDataSource.
8
9
  * Progressively records contracts in transaction as they are processed in a block.
@@ -1 +1 @@
1
- {"version":3,"file":"public_db_sources.d.ts","sourceRoot":"","sources":["../../src/public/public_db_sources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public_db_sources.d.ts","sourceRoot":"","sources":["../../src/public/public_db_sources.ts"],"names":[],"mappings":"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"}