@aztec/simulator 0.72.1 → 0.74.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 (115) hide show
  1. package/README.md +1 -1
  2. package/dest/avm/avm_simulator.d.ts +0 -1
  3. package/dest/avm/avm_simulator.d.ts.map +1 -1
  4. package/dest/avm/avm_simulator.js +4 -19
  5. package/dest/avm/avm_tree.d.ts +9 -8
  6. package/dest/avm/avm_tree.d.ts.map +1 -1
  7. package/dest/avm/avm_tree.js +35 -30
  8. package/dest/avm/fixtures/avm_simulation_tester.d.ts +21 -0
  9. package/dest/avm/fixtures/avm_simulation_tester.d.ts.map +1 -0
  10. package/dest/avm/fixtures/avm_simulation_tester.js +73 -0
  11. package/dest/avm/fixtures/base_avm_simulation_tester.d.ts +35 -0
  12. package/dest/avm/fixtures/base_avm_simulation_tester.d.ts.map +1 -0
  13. package/dest/avm/fixtures/base_avm_simulation_tester.js +76 -0
  14. package/dest/avm/fixtures/index.d.ts +10 -2
  15. package/dest/avm/fixtures/index.d.ts.map +1 -1
  16. package/dest/avm/fixtures/index.js +45 -5
  17. package/dest/avm/fixtures/simple_contract_data_source.d.ts +31 -0
  18. package/dest/avm/fixtures/simple_contract_data_source.d.ts.map +1 -0
  19. package/dest/avm/fixtures/simple_contract_data_source.js +75 -0
  20. package/dest/avm/journal/journal.d.ts +3 -3
  21. package/dest/avm/journal/journal.d.ts.map +1 -1
  22. package/dest/avm/journal/journal.js +24 -21
  23. package/dest/avm/opcodes/accrued_substate.js +2 -2
  24. package/dest/avm/opcodes/hashing.js +2 -2
  25. package/dest/avm/test_utils.d.ts +1 -1
  26. package/dest/avm/test_utils.d.ts.map +1 -1
  27. package/dest/avm/test_utils.js +4 -3
  28. package/dest/client/client_execution_context.d.ts +1 -1
  29. package/dest/client/client_execution_context.d.ts.map +1 -1
  30. package/dest/client/client_execution_context.js +21 -18
  31. package/dest/client/execution_note_cache.d.ts +3 -3
  32. package/dest/client/execution_note_cache.d.ts.map +1 -1
  33. package/dest/client/execution_note_cache.js +10 -10
  34. package/dest/client/pick_notes.js +5 -5
  35. package/dest/client/simulator.js +4 -4
  36. package/dest/client/view_data_oracle.js +2 -2
  37. package/dest/common/hashed_values_cache.d.ts +1 -1
  38. package/dest/common/hashed_values_cache.d.ts.map +1 -1
  39. package/dest/common/hashed_values_cache.js +5 -5
  40. package/dest/providers/acvm_wasm.d.ts +2 -0
  41. package/dest/providers/acvm_wasm.d.ts.map +1 -1
  42. package/dest/providers/acvm_wasm.js +15 -2
  43. package/dest/public/execution.d.ts +1 -1
  44. package/dest/public/execution.d.ts.map +1 -1
  45. package/dest/public/execution.js +3 -3
  46. package/dest/public/fee_payment.d.ts +2 -2
  47. package/dest/public/fee_payment.d.ts.map +1 -1
  48. package/dest/public/fee_payment.js +3 -3
  49. package/dest/public/fixtures/index.d.ts +2 -37
  50. package/dest/public/fixtures/index.d.ts.map +1 -1
  51. package/dest/public/fixtures/index.js +3 -250
  52. package/dest/public/fixtures/public_tx_simulation_tester.d.ts +21 -0
  53. package/dest/public/fixtures/public_tx_simulation_tester.d.ts.map +1 -0
  54. package/dest/public/fixtures/public_tx_simulation_tester.js +88 -0
  55. package/dest/public/fixtures/utils.d.ts +17 -0
  56. package/dest/public/fixtures/utils.d.ts.map +1 -0
  57. package/dest/public/fixtures/utils.js +66 -0
  58. package/dest/public/index.d.ts +1 -1
  59. package/dest/public/index.d.ts.map +1 -1
  60. package/dest/public/index.js +2 -2
  61. package/dest/public/public_db_sources.d.ts +2 -1
  62. package/dest/public/public_db_sources.d.ts.map +1 -1
  63. package/dest/public/public_db_sources.js +27 -21
  64. package/dest/public/public_processor.d.ts +1 -1
  65. package/dest/public/public_processor.d.ts.map +1 -1
  66. package/dest/public/public_processor.js +19 -18
  67. package/dest/public/public_tx_context.d.ts +5 -5
  68. package/dest/public/public_tx_context.d.ts.map +1 -1
  69. package/dest/public/public_tx_context.js +43 -17
  70. package/dest/public/public_tx_simulator.js +7 -7
  71. package/dest/public/{enqueued_call_side_effect_trace.d.ts → side_effect_trace.d.ts} +6 -26
  72. package/dest/public/side_effect_trace.d.ts.map +1 -0
  73. package/dest/public/side_effect_trace.js +316 -0
  74. package/dest/public/side_effect_trace_interface.d.ts +2 -19
  75. package/dest/public/side_effect_trace_interface.d.ts.map +1 -1
  76. package/dest/test/utils.d.ts +1 -1
  77. package/dest/test/utils.d.ts.map +1 -1
  78. package/dest/test/utils.js +3 -3
  79. package/package.json +9 -9
  80. package/src/avm/avm_simulator.ts +3 -27
  81. package/src/avm/avm_tree.ts +39 -37
  82. package/src/avm/fixtures/avm_simulation_tester.ts +104 -0
  83. package/src/avm/fixtures/base_avm_simulation_tester.ts +104 -0
  84. package/src/avm/fixtures/index.ts +74 -6
  85. package/src/avm/fixtures/simple_contract_data_source.ts +98 -0
  86. package/src/avm/journal/journal.ts +24 -21
  87. package/src/avm/opcodes/accrued_substate.ts +1 -1
  88. package/src/avm/opcodes/hashing.ts +1 -1
  89. package/src/avm/test_utils.ts +3 -4
  90. package/src/client/client_execution_context.ts +27 -21
  91. package/src/client/execution_note_cache.ts +19 -14
  92. package/src/client/pick_notes.ts +4 -4
  93. package/src/client/simulator.ts +3 -3
  94. package/src/client/view_data_oracle.ts +1 -1
  95. package/src/common/hashed_values_cache.ts +4 -4
  96. package/src/providers/acvm_wasm.ts +13 -2
  97. package/src/public/execution.ts +3 -3
  98. package/src/public/fee_payment.ts +2 -2
  99. package/src/public/fixtures/index.ts +2 -387
  100. package/src/public/fixtures/public_tx_simulation_tester.ts +173 -0
  101. package/src/public/fixtures/utils.ts +110 -0
  102. package/src/public/index.ts +1 -1
  103. package/src/public/public_db_sources.ts +31 -20
  104. package/src/public/public_processor.ts +25 -18
  105. package/src/public/public_tx_context.ts +86 -27
  106. package/src/public/public_tx_simulator.ts +6 -6
  107. package/src/public/{enqueued_call_side_effect_trace.ts → side_effect_trace.ts} +8 -49
  108. package/src/public/side_effect_trace_interface.ts +1 -22
  109. package/src/test/utils.ts +2 -2
  110. package/dest/public/enqueued_call_side_effect_trace.d.ts.map +0 -1
  111. package/dest/public/enqueued_call_side_effect_trace.js +0 -350
  112. package/dest/public/transitional_adapters.d.ts +0 -4
  113. package/dest/public/transitional_adapters.d.ts.map +0 -1
  114. package/dest/public/transitional_adapters.js +0 -29
  115. package/src/public/transitional_adapters.ts +0 -113
@@ -0,0 +1,66 @@
1
+ import { Tx } from '@aztec/circuit-types';
2
+ import { BlockHeader, DEFAULT_GAS_LIMIT, FunctionSelector, Gas, GasFees, GasSettings, MAX_L2_GAS_PER_TX_PUBLIC_PORTION, PartialPrivateTailPublicInputsForPublic, PrivateKernelTailCircuitPublicInputs, RollupValidationRequests, TxConstantData, TxContext, } from '@aztec/circuits.js';
3
+ import { AztecAddress } from '@aztec/foundation/aztec-address';
4
+ import { Fr } from '@aztec/foundation/fields';
5
+ import { AvmTestContractArtifact } from '@aztec/noir-contracts.js/AvmTest';
6
+ import { strict as assert } from 'assert';
7
+ export const PUBLIC_DISPATCH_FN_NAME = 'public_dispatch';
8
+ /**
9
+ * Craft a carrier transaction for some public calls for simulation by PublicTxSimulator.
10
+ */
11
+ export async function createTxForPublicCalls(firstNullifier, setupExecutionRequests, appExecutionRequests, teardownExecutionRequest, feePayer = AztecAddress.zero(), gasUsedByPrivate = Gas.empty()) {
12
+ assert(setupExecutionRequests.length > 0 || appExecutionRequests.length > 0 || teardownExecutionRequest !== undefined, "Can't create public tx with no enqueued calls");
13
+ const setupCallRequests = await Promise.all(setupExecutionRequests.map(er => er.toCallRequest()));
14
+ const appCallRequests = await Promise.all(appExecutionRequests.map(er => er.toCallRequest()));
15
+ // use max limits
16
+ const gasLimits = new Gas(DEFAULT_GAS_LIMIT, MAX_L2_GAS_PER_TX_PUBLIC_PORTION);
17
+ const forPublic = PartialPrivateTailPublicInputsForPublic.empty();
18
+ // TODO(#9269): Remove this fake nullifier method as we move away from 1st nullifier as hash.
19
+ forPublic.nonRevertibleAccumulatedData.nullifiers[0] = firstNullifier; // fake tx nullifier
20
+ // We reverse order because the simulator expects it to be like a "stack" of calls to pop from
21
+ for (let i = setupCallRequests.length - 1; i >= 0; i--) {
22
+ forPublic.nonRevertibleAccumulatedData.publicCallRequests[i] = setupCallRequests[i];
23
+ }
24
+ for (let i = appCallRequests.length - 1; i >= 0; i--) {
25
+ forPublic.revertibleAccumulatedData.publicCallRequests[i] = appCallRequests[i];
26
+ }
27
+ if (teardownExecutionRequest) {
28
+ forPublic.publicTeardownCallRequest = await teardownExecutionRequest.toCallRequest();
29
+ }
30
+ const maxFeesPerGas = feePayer.isZero() ? GasFees.empty() : new GasFees(10, 10);
31
+ const teardownGasLimits = teardownExecutionRequest ? gasLimits : Gas.empty();
32
+ const gasSettings = new GasSettings(gasLimits, teardownGasLimits, maxFeesPerGas, GasFees.empty());
33
+ const txContext = new TxContext(Fr.zero(), Fr.zero(), gasSettings);
34
+ const constantData = new TxConstantData(BlockHeader.empty(), txContext, Fr.zero(), Fr.zero());
35
+ const txData = new PrivateKernelTailCircuitPublicInputs(constantData, RollupValidationRequests.empty(),
36
+ /*gasUsed=*/ gasUsedByPrivate, feePayer, forPublic);
37
+ const tx = Tx.newWithTxData(txData, teardownExecutionRequest);
38
+ // Reverse order because the simulator expects it to be like a "stack" of calls to pop from.
39
+ // Also push app calls before setup calls for this reason.
40
+ for (let i = appExecutionRequests.length - 1; i >= 0; i--) {
41
+ tx.enqueuedPublicFunctionCalls.push(appExecutionRequests[i]);
42
+ }
43
+ for (let i = setupExecutionRequests.length - 1; i >= 0; i--) {
44
+ tx.enqueuedPublicFunctionCalls.push(setupExecutionRequests[i]);
45
+ }
46
+ return tx;
47
+ }
48
+ export function getAvmTestContractFunctionSelector(functionName) {
49
+ const artifact = AvmTestContractArtifact.functions.find(f => f.name === functionName);
50
+ assert(!!artifact, `Function ${functionName} not found in AvmTestContractArtifact`);
51
+ const params = artifact.parameters;
52
+ return FunctionSelector.fromNameAndParameters(artifact.name, params);
53
+ }
54
+ export function getAvmTestContractArtifact(functionName) {
55
+ const artifact = AvmTestContractArtifact.functions.find(f => f.name === functionName);
56
+ assert(!!artifact?.bytecode, `No bytecode found for function ${functionName}. Try re-running bootstrap.sh on the repository root.`);
57
+ return artifact;
58
+ }
59
+ export function getAvmTestContractBytecode(functionName) {
60
+ const artifact = getAvmTestContractArtifact(functionName);
61
+ return artifact.bytecode;
62
+ }
63
+ export function getAvmTestContractPublicDispatchBytecode() {
64
+ return getAvmTestContractBytecode(PUBLIC_DISPATCH_FN_NAME);
65
+ }
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHVibGljL2ZpeHR1cmVzL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBK0IsRUFBRSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkUsT0FBTyxFQUNMLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLEdBQUcsRUFDSCxPQUFPLEVBQ1AsV0FBVyxFQUNYLGdDQUFnQyxFQUNoQyx1Q0FBdUMsRUFDdkMsb0NBQW9DLEVBQ3BDLHdCQUF3QixFQUN4QixjQUFjLEVBQ2QsU0FBUyxHQUNWLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUUzRSxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUUxQyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxpQkFBaUIsQ0FBQztBQUV6RDs7R0FFRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsc0JBQXNCLENBQzFDLGNBQWtCLEVBQ2xCLHNCQUFnRCxFQUNoRCxvQkFBOEMsRUFDOUMsd0JBQWlELEVBQ2pELFFBQVEsR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQzlCLG1CQUF3QixHQUFHLENBQUMsS0FBSyxFQUFFO0lBRW5DLE1BQU0sQ0FDSixzQkFBc0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksd0JBQXdCLEtBQUssU0FBUyxFQUM5RywrQ0FBK0MsQ0FDaEQsQ0FBQztJQUNGLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFz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
@@ -4,6 +4,6 @@ export { type EnqueuedPublicCallExecutionResult, type PublicFunctionCallResult }
4
4
  export * from './fee_payment.js';
5
5
  export * from './public_db_sources.js';
6
6
  export { PublicProcessor, PublicProcessorFactory } from './public_processor.js';
7
- export { PublicEnqueuedCallSideEffectTrace } from './enqueued_call_side_effect_trace.js';
7
+ export { SideEffectTrace } from './side_effect_trace.js';
8
8
  export { getExecutionRequestsByPhase } from './utils.js';
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/public/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,KAAK,iCAAiC,EAAE,KAAK,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AACvG,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;AACzF,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/public/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,KAAK,iCAAiC,EAAE,KAAK,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AACvG,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC"}
@@ -3,6 +3,6 @@ export * from './public_tx_simulator.js';
3
3
  export * from './fee_payment.js';
4
4
  export * from './public_db_sources.js';
5
5
  export { PublicProcessor, PublicProcessorFactory } from './public_processor.js';
6
- export { PublicEnqueuedCallSideEffectTrace } from './enqueued_call_side_effect_trace.js';
6
+ export { SideEffectTrace } from './side_effect_trace.js';
7
7
  export { getExecutionRequestsByPhase } from './utils.js';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFlBQVksQ0FBQyJ9
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywwQkFBMEIsQ0FBQztBQUV6QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxZQUFZLENBQUMifQ==
@@ -23,8 +23,9 @@ export declare class ContractsDataSourcePublicDB implements PublicContractsDB {
23
23
  /**
24
24
  * Removes new contracts added from transactions
25
25
  * @param tx - The tx's contracts to be removed
26
+ * @param onlyRevertible - Whether to only remove contracts added from revertible contract class logs
26
27
  */
27
- removeNewContracts(tx: Tx): Promise<void>;
28
+ removeNewContracts(tx: Tx, onlyRevertible?: boolean): Promise<void>;
28
29
  getContractInstance(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
29
30
  getContractClass(contractClassId: Fr): Promise<ContractClassPublic | undefined>;
30
31
  getBytecodeCommitment(contractClassId: Fr): Promise<Fr | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"public_db_sources.d.ts","sourceRoot":"","sources":["../../src/public/public_db_sources.ts"],"names":[],"mappings":";;AAAA,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,0BAA0B,EAC1B,KAAK,EAAE,EACR,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,EAAE,EACF,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAK9B,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEpG;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,iBAAiB;IAOvD,OAAO,CAAC,UAAU;IAN9B,OAAO,CAAC,aAAa,CAAkD;IACvE,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,uBAAuB,CAAyB;IAExD,OAAO,CAAC,GAAG,CAAmD;gBAE1C,UAAU,EAAE,kBAAkB;IAClD;;;OAGG;IACI,eAAe,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B7C;;;OAGG;IACI,kBAAkB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBnC,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC;IAI5F,gBAAgB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAI/E,qBAAqB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAyB1E,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAYpF,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;CAGlH;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,2BAA4B,YAAW,aAAa,EAAE,aAAa;IAOvF,OAAO,CAAC,EAAE;IANtB,OAAO,CAAC,MAAM,CAA4C;IAE1D,OAAO,CAAC,yBAAyB,CAA8B;IAC/D,OAAO,CAAC,4BAA4B,CAA8B;IAClE,OAAO,CAAC,2BAA2B,CAA8B;gBAE7C,EAAE,EAAE,yBAAyB,EAAE,UAAU,EAAE,kBAAkB;IAI1E,kBAAkB,IAAI,yBAAyB;IAItD;;;;;OAKG;IACU,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IAkBvE;;;;;;OAMG;IACI,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAMvE,0CAA0C,CACrD,SAAS,EAAE,EAAE,GACZ,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;IA4BrC,0BAA0B,CACrC,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,GACT,OAAO,CAAC,uBAAuB,CAAC,OAAO,wBAAwB,CAAC,CAAC;IA6BvD,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAW9D,kBAAkB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAW/D,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAW9D,iBAAiB,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAW1E;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAYvB;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;CAItC;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,wBAAwB,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAcjH"}
1
+ {"version":3,"file":"public_db_sources.d.ts","sourceRoot":"","sources":["../../src/public/public_db_sources.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { MerkleTreeId, NullifierMembershipWitness, } from '@aztec/circuit-types';
1
+ import { ContractClassTxL2Logs, MerkleTreeId, NullifierMembershipWitness, } from '@aztec/circuit-types';
2
2
  import { Fr, computePublicBytecodeCommitment, } from '@aztec/circuits.js';
3
3
  import { computeL1ToL2MessageNullifier, computePublicDataTreeLeafSlot } from '@aztec/circuits.js/hash';
4
4
  import { createLogger } from '@aztec/foundation/log';
@@ -22,16 +22,16 @@ export class ContractsDataSourcePublicDB {
22
22
  * Add new contracts from a transaction
23
23
  * @param tx - The transaction to add contracts from.
24
24
  */
25
- addNewContracts(tx) {
25
+ async addNewContracts(tx) {
26
26
  // Extract contract class and instance data from logs and add to cache for this block
27
27
  const logs = tx.contractClassLogs.unrollLogs();
28
- logs
28
+ const contractClassRegisteredEvents = logs
29
29
  .filter(log => ContractClassRegisteredEvent.isContractClassRegisteredEvent(log.data))
30
- .forEach(log => {
31
- const event = ContractClassRegisteredEvent.fromLog(log.data);
30
+ .map(log => ContractClassRegisteredEvent.fromLog(log.data));
31
+ await Promise.all(contractClassRegisteredEvents.map(async (event) => {
32
32
  this.log.debug(`Adding class ${event.contractClassId.toString()} to public execution contract cache`);
33
- this.classCache.set(event.contractClassId.toString(), event.toContractClassPublic());
34
- });
33
+ this.classCache.set(event.contractClassId.toString(), await event.toContractClassPublic());
34
+ }));
35
35
  // We store the contract instance deployed event log in private logs, contract_instance_deployer_contract/src/main.nr
36
36
  const contractInstanceEvents = tx.data
37
37
  .getNonEmptyPrivateLogs()
@@ -41,26 +41,32 @@ export class ContractsDataSourcePublicDB {
41
41
  this.log.debug(`Adding instance ${e.address.toString()} with class ${e.contractClassId.toString()} to public execution contract cache`);
42
42
  this.instanceCache.set(e.address.toString(), e.toContractInstance());
43
43
  });
44
- return Promise.resolve();
45
44
  }
46
45
  /**
47
46
  * Removes new contracts added from transactions
48
47
  * @param tx - The tx's contracts to be removed
48
+ * @param onlyRevertible - Whether to only remove contracts added from revertible contract class logs
49
49
  */
50
- removeNewContracts(tx) {
50
+ removeNewContracts(tx, onlyRevertible = false) {
51
51
  // TODO(@spalladino): Can this inadvertently delete a valid contract added by another tx?
52
52
  // Let's say we have two txs adding the same contract on the same block. If the 2nd one reverts,
53
53
  // wouldn't that accidentally remove the contract added on the first one?
54
- const logs = tx.contractClassLogs.unrollLogs();
55
- logs
54
+ const contractClassLogs = onlyRevertible
55
+ ? tx.contractClassLogs
56
+ .filterScoped(tx.data.forPublic.revertibleAccumulatedData.contractClassLogsHashes, ContractClassTxL2Logs.empty())
57
+ .unrollLogs()
58
+ : tx.contractClassLogs.unrollLogs();
59
+ contractClassLogs
56
60
  .filter(log => ContractClassRegisteredEvent.isContractClassRegisteredEvent(log.data))
57
61
  .forEach(log => {
58
62
  const event = ContractClassRegisteredEvent.fromLog(log.data);
59
63
  this.classCache.delete(event.contractClassId.toString());
60
64
  });
61
65
  // We store the contract instance deployed event log in private logs, contract_instance_deployer_contract/src/main.nr
62
- const contractInstanceEvents = tx.data
63
- .getNonEmptyPrivateLogs()
66
+ const privateLogs = onlyRevertible
67
+ ? tx.data.forPublic.revertibleAccumulatedData.privateLogs.filter(l => !l.isEmpty())
68
+ : tx.data.getNonEmptyPrivateLogs();
69
+ const contractInstanceEvents = privateLogs
64
70
  .filter(log => ContractInstanceDeployedEvent.isContractInstanceDeployedEvent(log))
65
71
  .map(ContractInstanceDeployedEvent.fromLog);
66
72
  contractInstanceEvents.forEach(e => this.instanceCache.delete(e.address.toString()));
@@ -90,7 +96,7 @@ export class ContractsDataSourcePublicDB {
90
96
  if (contractClass === undefined) {
91
97
  return undefined;
92
98
  }
93
- const value = computePublicBytecodeCommitment(contractClass.packedBytecode);
99
+ const value = await computePublicBytecodeCommitment(contractClass.packedBytecode);
94
100
  this.bytecodeCommitmentCache.set(key, value);
95
101
  return value;
96
102
  }
@@ -131,7 +137,7 @@ export class WorldStateDB extends ContractsDataSourcePublicDB {
131
137
  * @returns The current value in the storage slot.
132
138
  */
133
139
  async storageRead(contract, slot) {
134
- const leafSlot = computePublicDataTreeLeafSlot(contract, slot).value;
140
+ const leafSlot = (await computePublicDataTreeLeafSlot(contract, slot)).toBigInt();
135
141
  const uncommitted = this.publicUncommittedWriteCache.get(leafSlot);
136
142
  if (uncommitted !== undefined) {
137
143
  return uncommitted;
@@ -153,10 +159,10 @@ export class WorldStateDB extends ContractsDataSourcePublicDB {
153
159
  * @param newValue - The new value to store.
154
160
  * @returns The slot of the written leaf in the public data tree.
155
161
  */
156
- storageWrite(contract, slot, newValue) {
157
- const index = computePublicDataTreeLeafSlot(contract, slot).value;
162
+ async storageWrite(contract, slot, newValue) {
163
+ const index = (await computePublicDataTreeLeafSlot(contract, slot)).toBigInt();
158
164
  this.publicUncommittedWriteCache.set(index, newValue);
159
- return Promise.resolve(index);
165
+ return index;
160
166
  }
161
167
  async getNullifierMembershipWitnessAtLatestBlock(nullifier) {
162
168
  const timer = new Timer();
@@ -183,7 +189,7 @@ export class WorldStateDB extends ContractsDataSourcePublicDB {
183
189
  if (messageIndex === undefined) {
184
190
  throw new Error(`No L1 to L2 message found for message hash ${messageHash.toString()}`);
185
191
  }
186
- const messageNullifier = computeL1ToL2MessageNullifier(contractAddress, messageHash, secret);
192
+ const messageNullifier = await computeL1ToL2MessageNullifier(contractAddress, messageHash, secret);
187
193
  const nullifierIndex = await this.getNullifierIndex(messageNullifier);
188
194
  if (nullifierIndex !== undefined) {
189
195
  throw new Error(`No non-nullified L1 to L2 message found for message hash ${messageHash.toString()}`);
@@ -272,7 +278,7 @@ export class WorldStateDB extends ContractsDataSourcePublicDB {
272
278
  }
273
279
  }
274
280
  export async function readPublicState(db, contract, slot) {
275
- const leafSlot = computePublicDataTreeLeafSlot(contract, slot).toBigInt();
281
+ const leafSlot = (await computePublicDataTreeLeafSlot(contract, slot)).toBigInt();
276
282
  const lowLeafResult = await db.getPreviousValueIndex(MerkleTreeId.PUBLIC_DATA_TREE, leafSlot);
277
283
  if (!lowLeafResult || !lowLeafResult.alreadyPresent) {
278
284
  return Fr.ZERO;
@@ -280,4 +286,4 @@ export async function readPublicState(db, contract, slot) {
280
286
  const preimage = (await db.getLeafPreimage(MerkleTreeId.PUBLIC_DATA_TREE, lowLeafResult.index));
281
287
  return preimage.value;
282
288
  }
283
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2RiX3NvdXJjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL3B1YmxpY19kYl9zb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxZQUFZLEVBR1osMEJBQTBCLEdBRTNCLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUtMLEVBQUUsRUFNRiwrQkFBK0IsR0FDaEMsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2hELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTVGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBR2xGOzs7R0FHRztBQUNILE1BQU0sT0FBTywyQkFBMkI7SUFPdEMsWUFBb0IsVUFBOEI7UUFBOUIsZUFBVSxHQUFWLFVBQVUsQ0FBb0I7UUFOMUMsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBdUMsQ0FBQztRQUMvRCxlQUFVLEdBQUcsSUFBSSxHQUFHLEVBQStCLENBQUM7UUFDcEQsNEJBQXVCLEdBQUcsSUFBSSxHQUFHLEVBQWMsQ0FBQztRQUVoRCxRQUFHLEdBQUcsWUFBWSxDQUFDLGlDQUFpQyxDQUFDLENBQUM7SUFFVCxDQUFDO0lBQ3REOzs7T0FHRztJQUNJLGVBQWUsQ0FBQyxFQUFNO1FBQzNCLHFGQUFxRjtRQUNyRixNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDL0MsSUFBSTthQUNELE1BQU0sQ0FBQyxH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
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2RiX3NvdXJjZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHVibGljL3B1YmxpY19kYl9zb3VyY2VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsWUFBWSxFQUdaLDBCQUEwQixHQUUzQixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFLTCxFQUFFLEVBTUYsK0JBQStCLEdBQ2hDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLDZCQUE2QixFQUFFLDZCQUE2QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkcsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMxRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUU1RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUdsRjs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sMkJBQTJCO0lBT3RDLFlBQW9CLFVBQThCO1FBQTlCLGVBQVUsR0FBVixVQUFVLENBQW9CO1FBTjFDLGtCQUFhLEdBQUcsSUFBSSxHQUFHLEVBQXVDLENBQUM7UUFDL0QsZUFBVSxHQUFHLElBQUksR0FBRyxFQUErQixDQUFDO1FBQ3BELDRCQUF1QixHQUFHLElBQUksR0FBRyxFQUFjLENBQUM7UUFFaEQsUUFBRyxHQUFHLFlBQVksQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0lBRVQsQ0FBQztJQUN0RDs7O09BR0c7SUFDSSxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQU07UUFDakMscUZBQXFGO1FBQ3JGLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMv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
@@ -44,7 +44,7 @@ export declare class PublicProcessor implements Traceable {
44
44
  * @param processedTxHandler - Handler for processed txs in the context of block building or proving.
45
45
  * @returns The list of processed txs with their circuit simulation outputs.
46
46
  */
47
- process(txs: Iterable<Tx>, limits?: {
47
+ process(txs: Iterable<Tx> | AsyncIterable<Tx>, limits?: {
48
48
  maxTransactions?: number;
49
49
  maxBlockSize?: number;
50
50
  maxBlockGas?: Gas;
@@ -1 +1 @@
1
- {"version":3,"file":"public_processor.d.ts","sourceRoot":"","sources":["../../src/public/public_processor.ts"],"names":[],"mappings":";;AAAA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,yBAAyB,EAC9B,yBAAyB,EACzB,KAAK,WAAW,EAChB,EAAE,EAEF,KAAK,WAAW,EAGjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,kBAAkB,EAEvB,GAAG,EACH,KAAK,eAAe,EAKrB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,KAAK,YAAY,EAAkC,MAAM,yBAAyB,CAAC;AAG5F,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;gBAFf,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,EAC1B,eAAe,GAAE,eAAsC;IAGjE;;;;;;OAMG;IACI,MAAM,CACX,UAAU,EAAE,yBAAyB,EACrC,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,OAAO,GACzB,eAAe;IAqBlB,SAAS,CAAC,uBAAuB,CAC/B,EAAE,EAAE,yBAAyB,EAC7B,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,OAAO,EAC3B,iBAAiB,EAAE,OAAO,EAC1B,eAAe,EAAE,eAAe;CAWnC;AASD;;;GAGG;AACH,qBAAa,eAAgB,YAAW,SAAS;IAG7C,SAAS,CAAC,EAAE,EAAE,yBAAyB;IACvC,SAAS,CAAC,eAAe,EAAE,eAAe;IAC1C,SAAS,CAAC,YAAY,EAAE,YAAY;IACpC,SAAS,CAAC,iBAAiB,EAAE,iBAAiB;IAC9C,OAAO,CAAC,YAAY;IAEpB,OAAO,CAAC,GAAG;IARb,OAAO,CAAC,OAAO,CAAyB;gBAE5B,EAAE,EAAE,yBAAyB,EAC7B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACtC,YAAY,EAAE,YAAY,EAClC,eAAe,GAAE,eAAsC,EAC/C,GAAG,yCAA6C;IAK1D,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;OAKG;IACU,OAAO,CAClB,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,EACjB,MAAM,GAAE;QACN,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,GAAG,CAAC;QAClB,QAAQ,CAAC,EAAE,IAAI,CAAC;KACZ,EACN,UAAU,GAAE;QACV,mBAAmB,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;QACtC,oBAAoB,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;QAChD,cAAc,CAAC,EAAE;YAAE,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;SAAE,CAAC;KAC/D,GACL,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,yBAAyB,EAAE,CAAC,CAAC;YA+ItD,SAAS;YA2BT,aAAa;IAwC3B,kFAAkF;YACpE,uBAAuB;IA+BrC;;;;OAIG;YACW,4BAA4B;YA6B5B,oBAAoB;YAyBpB,wBAAwB;CAoCvC"}
1
+ {"version":3,"file":"public_processor.d.ts","sourceRoot":"","sources":["../../src/public/public_processor.ts"],"names":[],"mappings":";;AAAA,OAAO,EACL,KAAK,QAAQ,EAEb,KAAK,yBAAyB,EAC9B,yBAAyB,EACzB,KAAK,WAAW,EAChB,EAAE,EAEF,KAAK,WAAW,EAGjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,kBAAkB,EAEvB,GAAG,EACH,KAAK,eAAe,EAKrB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,KAAK,YAAY,EAAkC,MAAM,yBAAyB,CAAC;AAG5F,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAEtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,eAAe;gBAFf,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,EAC1B,eAAe,GAAE,eAAsC;IAGjE;;;;;;OAMG;IACI,MAAM,CACX,UAAU,EAAE,yBAAyB,EACrC,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,OAAO,GACzB,eAAe;IAqBlB,SAAS,CAAC,uBAAuB,CAC/B,EAAE,EAAE,yBAAyB,EAC7B,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,kBAAkB,EAAE,OAAO,EAC3B,iBAAiB,EAAE,OAAO,EAC1B,eAAe,EAAE,eAAe;CAWnC;AASD;;;GAGG;AACH,qBAAa,eAAgB,YAAW,SAAS;IAG7C,SAAS,CAAC,EAAE,EAAE,yBAAyB;IACvC,SAAS,CAAC,eAAe,EAAE,eAAe;IAC1C,SAAS,CAAC,YAAY,EAAE,YAAY;IACpC,SAAS,CAAC,iBAAiB,EAAE,iBAAiB;IAC9C,OAAO,CAAC,YAAY;IAEpB,OAAO,CAAC,GAAG;IARb,OAAO,CAAC,OAAO,CAAyB;gBAE5B,EAAE,EAAE,yBAAyB,EAC7B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,iBAAiB,EAAE,iBAAiB,EACtC,YAAY,EAAE,YAAY,EAClC,eAAe,GAAE,eAAsC,EAC/C,GAAG,yCAA6C;IAK1D,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;OAKG;IACU,OAAO,CAClB,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,EAAE,CAAC,EACrC,MAAM,GAAE;QACN,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,GAAG,CAAC;QAClB,QAAQ,CAAC,EAAE,IAAI,CAAC;KACZ,EACN,UAAU,GAAE;QACV,mBAAmB,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;QACtC,oBAAoB,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC;QAChD,cAAc,CAAC,EAAE;YAAE,aAAa,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;SAAE,CAAC;KAC/D,GACL,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,yBAAyB,EAAE,CAAC,CAAC;YAgJtD,SAAS;YA2BT,aAAa;IAwC3B,kFAAkF;YACpE,uBAAuB;IA+BrC;;;;OAIG;YACW,4BAA4B;YA6B5B,oBAAoB;YAyBpB,wBAAwB;CA0CvC"}
@@ -82,7 +82,7 @@ let PublicProcessor = (() => {
82
82
  let returns = [];
83
83
  let totalPublicGas = new Gas(0, 0);
84
84
  let totalBlockGas = new Gas(0, 0);
85
- for (const origTx of txs) {
85
+ for await (const origTx of txs) {
86
86
  // Only process up to the max tx limit
87
87
  if (maxTransactions !== undefined && result.length >= maxTransactions) {
88
88
  this.log.debug(`Stopping tx processing due to reaching the max tx limit.`);
@@ -94,7 +94,7 @@ let PublicProcessor = (() => {
94
94
  break;
95
95
  }
96
96
  // Skip this tx if it'd exceed max block size
97
- const txHash = origTx.getTxHash().toString();
97
+ const txHash = (await origTx.getTxHash()).toString();
98
98
  const preTxSizeInBytes = origTx.getEstimatedPrivateTxEffectsSize();
99
99
  if (maxBlockSize !== undefined && totalSizeInBytes + preTxSizeInBytes > maxBlockSize) {
100
100
  this.log.warn(`Skipping processing of tx ${txHash} sized ${preTxSizeInBytes} bytes due to block size limit`, {
@@ -121,21 +121,22 @@ let PublicProcessor = (() => {
121
121
  // We validate the tx before processing it, to avoid unnecessary work.
122
122
  if (preprocessValidator) {
123
123
  const result = await preprocessValidator.validateTx(tx);
124
+ const txHash = await tx.getTxHash();
124
125
  if (result.result === 'invalid') {
125
126
  const reason = result.reason.join(', ');
126
- this.log.warn(`Rejecting tx ${tx.getTxHash().toString()} due to pre-process validation fail: ${reason}`);
127
+ this.log.warn(`Rejecting tx ${txHash.toString()} due to pre-process validation fail: ${reason}`);
127
128
  failed.push({ tx, error: new Error(`Tx failed preprocess validation: ${reason}`) });
128
129
  returns.push(new NestedProcessReturnValues([]));
129
130
  continue;
130
131
  }
131
132
  else if (result.result === 'skipped') {
132
133
  const reason = result.reason.join(', ');
133
- this.log.warn(`Skipping tx ${tx.getTxHash().toString()} due to pre-process validation: ${reason}`);
134
+ this.log.warn(`Skipping tx ${txHash.toString()} due to pre-process validation: ${reason}`);
134
135
  returns.push(new NestedProcessReturnValues([]));
135
136
  continue;
136
137
  }
137
138
  else {
138
- this.log.trace(`Tx ${tx.getTxHash().toString()} is valid before processing.`);
139
+ this.log.trace(`Tx ${txHash.toString()} is valid before processing.`);
139
140
  }
140
141
  }
141
142
  try {
@@ -166,7 +167,7 @@ let PublicProcessor = (() => {
166
167
  continue;
167
168
  }
168
169
  else {
169
- this.log.trace(`Tx ${tx.getTxHash().toString()} is valid post processing.`);
170
+ this.log.trace(`Tx ${(await tx.getTxHash()).toString()} is valid post processing.`);
170
171
  }
171
172
  }
172
173
  // Otherwise, commit tx state for the next tx to be processed
@@ -259,12 +260,12 @@ let PublicProcessor = (() => {
259
260
  if (!deadline) {
260
261
  return await processFn();
261
262
  }
262
- const txHash = tx.getTxHash().toString();
263
+ const txHash = await tx.getTxHash();
263
264
  const timeout = +deadline - this.dateProvider.now();
264
265
  if (timeout <= 0) {
265
266
  throw new PublicProcessorTimeoutError();
266
267
  }
267
- this.log.debug(`Processing tx ${tx.getTxHash().toString()} within ${timeout}ms`, {
268
+ this.log.debug(`Processing tx ${txHash.toString()} within ${timeout}ms`, {
268
269
  deadline: deadline.toISOString(),
269
270
  now: new Date(this.dateProvider.now()).toISOString(),
270
271
  txHash,
@@ -282,8 +283,8 @@ let PublicProcessor = (() => {
282
283
  return;
283
284
  }
284
285
  const feeJuiceAddress = ProtocolContractAddress.FeeJuice;
285
- const balanceSlot = computeFeePayerBalanceStorageSlot(feePayer);
286
- const leafSlot = computeFeePayerBalanceLeafSlot(feePayer);
286
+ const balanceSlot = await computeFeePayerBalanceStorageSlot(feePayer);
287
+ const leafSlot = await computeFeePayerBalanceLeafSlot(feePayer);
287
288
  this.log.debug(`Deducting ${txFee.toBigInt()} balance in Fee Juice for ${feePayer}`);
288
289
  const balance = await this.worldStateDB.storageRead(feeJuiceAddress, balanceSlot);
289
290
  if (balance.lt(txFee)) {
@@ -297,7 +298,7 @@ let PublicProcessor = (() => {
297
298
  const gasFees = this.globalVariables.gasFees;
298
299
  const transactionFee = tx.data.gasUsed.computeFee(gasFees);
299
300
  const feePaymentPublicDataWrite = await this.getFeePaymentPublicDataWrite(transactionFee, tx.data.feePayer);
300
- const processedTx = makeProcessedTxFromPrivateOnlyTx(tx, transactionFee, feePaymentPublicDataWrite, this.globalVariables);
301
+ const processedTx = await makeProcessedTxFromPrivateOnlyTx(tx, transactionFee, feePaymentPublicDataWrite, this.globalVariables);
301
302
  this.metrics.recordClassRegistration(...tx.contractClassLogs
302
303
  .unrollLogs()
303
304
  .filter(log => ContractClassRegisteredEvent.isContractClassRegisteredEvent(log.data))
@@ -326,19 +327,19 @@ let PublicProcessor = (() => {
326
327
  const phaseCount = processedPhases.length;
327
328
  const durationMs = timer.ms();
328
329
  this.metrics.recordTx(phaseCount, durationMs, gasUsed.publicGas);
329
- const processedTx = makeProcessedTxFromTxWithPublicCalls(tx, avmProvingRequest, gasUsed, revertCode, revertReason);
330
+ const processedTx = await makeProcessedTxFromTxWithPublicCalls(tx, avmProvingRequest, gasUsed, revertCode, revertReason);
330
331
  const returnValues = processedPhases.find(({ phase }) => phase === TxExecutionPhase.APP_LOGIC)?.returnValues ?? [];
331
332
  return [processedTx, returnValues];
332
333
  }
333
334
  },
334
335
  (() => {
335
336
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
336
- _processTx_decorators = [trackSpan('PublicProcessor.processTx', tx => ({ [Attributes.TX_HASH]: tx.getTxHash().toString() }))];
337
- _processPrivateOnlyTx_decorators = [trackSpan('PublicProcessor.processPrivateOnlyTx', (tx) => ({
338
- [Attributes.TX_HASH]: tx.getTxHash().toString(),
337
+ _processTx_decorators = [trackSpan('PublicProcessor.processTx', async (tx) => ({ [Attributes.TX_HASH]: (await tx.getTxHash()).toString() }))];
338
+ _processPrivateOnlyTx_decorators = [trackSpan('PublicProcessor.processPrivateOnlyTx', async (tx) => ({
339
+ [Attributes.TX_HASH]: (await tx.getTxHash()).toString(),
339
340
  }))];
340
- _processTxWithPublicCalls_decorators = [trackSpan('PublicProcessor.processTxWithPublicCalls', tx => ({
341
- [Attributes.TX_HASH]: tx.getTxHash().toString(),
341
+ _processTxWithPublicCalls_decorators = [trackSpan('PublicProcessor.processTxWithPublicCalls', async (tx) => ({
342
+ [Attributes.TX_HASH]: (await tx.getTxHash()).toString(),
342
343
  }))];
343
344
  __esDecorate(_a, null, _processTx_decorators, { kind: "method", name: "processTx", static: false, private: false, access: { has: obj => "processTx" in obj, get: obj => obj.processTx }, metadata: _metadata }, null, _instanceExtraInitializers);
344
345
  __esDecorate(_a, null, _processPrivateOnlyTx_decorators, { kind: "method", name: "processPrivateOnlyTx", static: false, private: false, access: { has: obj => "processPrivateOnlyTx" in obj, get: obj => obj.processPrivateOnlyTx }, metadata: _metadata }, null, _instanceExtraInitializers);
@@ -348,4 +349,4 @@ let PublicProcessor = (() => {
348
349
  _a;
349
350
  })();
350
351
  export { PublicProcessor };
351
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvcHVibGljX3Byb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFlBQVksRUFFWix5QkFBeUIsRUFFekIsRUFBRSxFQUNGLGdCQUFnQixFQUVoQixnQ0FBZ0MsRUFDaEMsb0NBQW9DLEdBQ3JDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUdMLEVBQUUsRUFDRixHQUFHLEVBRUgsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsZUFBZSxHQUNoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFxQixLQUFLLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFGLE9BQU8sRUFDTCxVQUFVLEVBSVYsa0JBQWtCLEVBQ2xCLFNBQVMsR0FDVixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RDs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFDVSxrQkFBc0MsRUFDdEMsWUFBMEIs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
352
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX3Byb2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMvcHVibGljX3Byb2Nlc3Nvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFlBQVksRUFFWix5QkFBeUIsRUFFekIsRUFBRSxFQUNGLGdCQUFnQixFQUVoQixnQ0FBZ0MsRUFDaEMsb0NBQW9DLEdBQ3JDLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUdMLEVBQUUsRUFDRixHQUFHLEVBRUgsc0JBQXNCLEVBQ3RCLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsZUFBZSxHQUNoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFxQixLQUFLLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFGLE9BQU8sRUFDTCxVQUFVLEVBSVYsa0JBQWtCLEVBQ2xCLFNBQVMsR0FDVixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RDs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsWUFDVSxrQkFBc0MsRUFDdEMsWUFBMEIs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
@@ -1,8 +1,8 @@
1
1
  import { type AvmProvingRequest, type MerkleTreeReadOperations, type PublicExecutionRequest, type SimulationError, type Tx, TxExecutionPhase, type TxHash } from '@aztec/circuit-types';
2
- import { type AztecAddress, Fr, Gas, type GasSettings, type GlobalVariables, type PrivateToPublicAccumulatedData, type PublicCallRequest, RevertCode, type StateReference } from '@aztec/circuits.js';
2
+ import { type AztecAddress, Fr, Gas, type GasSettings, type GlobalVariables, type PrivateToPublicAccumulatedData, PublicCallRequest, RevertCode, type StateReference } from '@aztec/circuits.js';
3
3
  import { AvmPersistableStateManager } from '../avm/index.js';
4
- import { PublicEnqueuedCallSideEffectTrace } from './enqueued_call_side_effect_trace.js';
5
4
  import { type WorldStateDB } from './public_db_sources.js';
5
+ import { SideEffectTrace } from './side_effect_trace.js';
6
6
  /**
7
7
  * The transaction-level context for public execution.
8
8
  */
@@ -23,7 +23,7 @@ export declare class PublicTxContext {
23
23
  readonly nonRevertibleAccumulatedDataFromPrivate: PrivateToPublicAccumulatedData;
24
24
  readonly revertibleAccumulatedDataFromPrivate: PrivateToPublicAccumulatedData;
25
25
  readonly feePayer: AztecAddress;
26
- trace: PublicEnqueuedCallSideEffectTrace;
26
+ trace: SideEffectTrace;
27
27
  private log;
28
28
  private gasUsedByPublic;
29
29
  teardownGasUsed: Gas;
@@ -31,7 +31,7 @@ export declare class PublicTxContext {
31
31
  private revertCode;
32
32
  revertReason: SimulationError | undefined;
33
33
  avmProvingRequest: AvmProvingRequest | undefined;
34
- constructor(txHash: TxHash, state: PhaseStateManager, globalVariables: GlobalVariables, startStateReference: StateReference, gasSettings: GasSettings, gasUsedByPrivate: Gas, gasAllocatedToPublic: Gas, setupCallRequests: PublicCallRequest[], appLogicCallRequests: PublicCallRequest[], teardownCallRequests: PublicCallRequest[], setupExecutionRequests: PublicExecutionRequest[], appLogicExecutionRequests: PublicExecutionRequest[], teardownExecutionRequests: PublicExecutionRequest[], nonRevertibleAccumulatedDataFromPrivate: PrivateToPublicAccumulatedData, revertibleAccumulatedDataFromPrivate: PrivateToPublicAccumulatedData, feePayer: AztecAddress, trace: PublicEnqueuedCallSideEffectTrace);
34
+ constructor(txHash: TxHash, state: PhaseStateManager, globalVariables: GlobalVariables, startStateReference: StateReference, gasSettings: GasSettings, gasUsedByPrivate: Gas, gasAllocatedToPublic: Gas, setupCallRequests: PublicCallRequest[], appLogicCallRequests: PublicCallRequest[], teardownCallRequests: PublicCallRequest[], setupExecutionRequests: PublicExecutionRequest[], appLogicExecutionRequests: PublicExecutionRequest[], teardownExecutionRequests: PublicExecutionRequest[], nonRevertibleAccumulatedDataFromPrivate: PrivateToPublicAccumulatedData, revertibleAccumulatedDataFromPrivate: PrivateToPublicAccumulatedData, feePayer: AztecAddress, trace: SideEffectTrace);
35
35
  static create(db: MerkleTreeReadOperations, worldStateDB: WorldStateDB, tx: Tx, globalVariables: GlobalVariables, doMerkleOperations: boolean): Promise<PublicTxContext>;
36
36
  /**
37
37
  * Signal that the entire transaction execution is done.
@@ -104,7 +104,7 @@ export declare class PublicTxContext {
104
104
  /**
105
105
  * Generate the proving request for the AVM circuit.
106
106
  */
107
- generateProvingRequest(endStateReference: StateReference): AvmProvingRequest;
107
+ generateProvingRequest(endStateReference: StateReference): Promise<AvmProvingRequest>;
108
108
  }
109
109
  /**
110
110
  * Thin wrapper around the state manager to handle forking and merging for phases.
@@ -1 +1 @@
1
- {"version":3,"file":"public_tx_context.d.ts","sourceRoot":"","sources":["../../src/public/public_tx_context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public_tx_context.d.ts","sourceRoot":"","sources":["../../src/public/public_tx_context.ts"],"names":[],"mappings":"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"}