@aztec/sequencer-client 0.32.1 → 0.33.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 (53) hide show
  1. package/dest/sequencer/abstract_phase_manager.d.ts +16 -4
  2. package/dest/sequencer/abstract_phase_manager.d.ts.map +1 -1
  3. package/dest/sequencer/abstract_phase_manager.js +38 -39
  4. package/dest/sequencer/app_logic_phase_manager.d.ts +1 -0
  5. package/dest/sequencer/app_logic_phase_manager.d.ts.map +1 -1
  6. package/dest/sequencer/app_logic_phase_manager.js +3 -3
  7. package/dest/sequencer/hints_builder.d.ts +7 -3
  8. package/dest/sequencer/hints_builder.d.ts.map +1 -1
  9. package/dest/sequencer/hints_builder.js +24 -4
  10. package/dest/sequencer/phase_manager_factory.d.ts.map +1 -1
  11. package/dest/sequencer/phase_manager_factory.js +5 -4
  12. package/dest/sequencer/public_processor.d.ts +5 -2
  13. package/dest/sequencer/public_processor.d.ts.map +1 -1
  14. package/dest/sequencer/public_processor.js +65 -27
  15. package/dest/sequencer/sequencer.d.ts +1 -11
  16. package/dest/sequencer/sequencer.d.ts.map +1 -1
  17. package/dest/sequencer/sequencer.js +33 -38
  18. package/dest/sequencer/setup_phase_manager.d.ts +1 -0
  19. package/dest/sequencer/setup_phase_manager.d.ts.map +1 -1
  20. package/dest/sequencer/setup_phase_manager.js +2 -2
  21. package/dest/sequencer/tail_phase_manager.d.ts +6 -1
  22. package/dest/sequencer/tail_phase_manager.d.ts.map +1 -1
  23. package/dest/sequencer/tail_phase_manager.js +28 -3
  24. package/dest/sequencer/teardown_phase_manager.d.ts +1 -0
  25. package/dest/sequencer/teardown_phase_manager.d.ts.map +1 -1
  26. package/dest/sequencer/teardown_phase_manager.js +2 -2
  27. package/dest/sequencer/tx_validator.d.ts.map +1 -1
  28. package/dest/sequencer/tx_validator.js +8 -7
  29. package/dest/sequencer/utils.d.ts.map +1 -1
  30. package/dest/sequencer/utils.js +8 -7
  31. package/dest/simulator/index.d.ts +2 -2
  32. package/dest/simulator/index.d.ts.map +1 -1
  33. package/dest/simulator/public_kernel.d.ts +2 -2
  34. package/dest/simulator/public_kernel.d.ts.map +1 -1
  35. package/dest/simulator/public_kernel.js +1 -1
  36. package/package.json +32 -15
  37. package/src/sequencer/abstract_phase_manager.ts +74 -63
  38. package/src/sequencer/app_logic_phase_manager.ts +2 -2
  39. package/src/sequencer/hints_builder.ts +42 -9
  40. package/src/sequencer/phase_manager_factory.ts +4 -3
  41. package/src/sequencer/public_processor.ts +97 -51
  42. package/src/sequencer/sequencer.ts +41 -50
  43. package/src/sequencer/setup_phase_manager.ts +1 -1
  44. package/src/sequencer/tail_phase_manager.ts +66 -2
  45. package/src/sequencer/teardown_phase_manager.ts +1 -1
  46. package/src/sequencer/tx_validator.ts +8 -6
  47. package/src/sequencer/utils.ts +7 -6
  48. package/src/simulator/index.ts +2 -1
  49. package/src/simulator/public_kernel.ts +2 -1
  50. package/dest/utils.d.ts +0 -12
  51. package/dest/utils.d.ts.map +0 -1
  52. package/dest/utils.js +0 -16
  53. package/src/utils.ts +0 -16
@@ -86,9 +86,7 @@ _a = TxValidator, _TxValidator_log = new WeakMap(), _TxValidator_globalVariables
86
86
  * @returns Whether this is a problematic double spend that the L1 contract would reject.
87
87
  */
88
88
  async function _TxValidator_validateNullifiers(tx, thisBlockNullifiers) {
89
- const newNullifiers = [...tx.data.endNonRevertibleData.newNullifiers, ...tx.data.end.newNullifiers]
90
- .filter(x => !x.isEmpty())
91
- .map(x => x.value.toBigInt());
89
+ const newNullifiers = tx.data.getNonEmptyNullifiers().map(x => x.toBigInt());
92
90
  // Ditch this tx if it has repeated nullifiers
93
91
  const uniqueNullifiers = new Set(newNullifiers);
94
92
  if (uniqueNullifiers.size !== newNullifiers.length) {
@@ -110,7 +108,7 @@ async function _TxValidator_validateNullifiers(tx, thisBlockNullifiers) {
110
108
  }
111
109
  return VALID_TX;
112
110
  }, _TxValidator_validateGasBalance = async function _TxValidator_validateGasBalance(tx) {
113
- if (!tx.data.needsTeardown) {
111
+ if (!tx.data.forPublic || !tx.data.forPublic.needsTeardown) {
114
112
  return VALID_TX;
115
113
  }
116
114
  const teardownFn = __classPrivateFieldGet(_a, _a, "m", _TxValidator_extractFeeExecutionCall).call(_a, tx);
@@ -125,7 +123,10 @@ async function _TxValidator_validateNullifiers(tx, thisBlockNullifiers) {
125
123
  }
126
124
  return VALID_TX;
127
125
  }, _TxValidator_validateMaxBlockNumber = function _TxValidator_validateMaxBlockNumber(tx) {
128
- const maxBlockNumber = tx.data.rollupValidationRequests.maxBlockNumber;
126
+ const target = tx instanceof Tx
127
+ ? tx.data.forRollup?.rollupValidationRequests || tx.data.forPublic.validationRequests.forRollup
128
+ : tx.data.rollupValidationRequests;
129
+ const maxBlockNumber = target.maxBlockNumber;
129
130
  if (maxBlockNumber.isSome && maxBlockNumber.value < __classPrivateFieldGet(this, _TxValidator_globalVariables, "f").blockNumber) {
130
131
  __classPrivateFieldGet(this, _TxValidator_log, "f").warn(`Rejecting tx ${Tx.getHash(tx)} for low max block number`);
131
132
  return INVALID_TX;
@@ -134,7 +135,7 @@ async function _TxValidator_validateNullifiers(tx, thisBlockNullifiers) {
134
135
  return VALID_TX;
135
136
  }
136
137
  }, _TxValidator_validateFee = async function _TxValidator_validateFee(tx) {
137
- if (!tx.data.needsTeardown) {
138
+ if (!tx.data.forPublic || !tx.data.forPublic.needsTeardown) {
138
139
  // TODO check if fees are mandatory and reject this tx
139
140
  __classPrivateFieldGet(this, _TxValidator_log, "f").debug(`Tx ${Tx.getHash(tx)} doesn't pay for gas`);
140
141
  return VALID_TX;
@@ -170,4 +171,4 @@ async function _TxValidator_validateNullifiers(tx, thisBlockNullifiers) {
170
171
  [PublicKernelPhase.TEARDOWN]: [teardownFn], } = AbstractPhaseManager.extractEnqueuedPublicCallsByPhase(tx.data, tx.enqueuedPublicFunctionCalls);
171
172
  return teardownFn;
172
173
  };
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcXVlbmNlci90eF92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQW9CLEVBQUUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFHTCxFQUFFLEdBR0gsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFlLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFZdEYsbUVBQW1FO0FBQ25FLHVEQUF1RDtBQUN2RCwwRUFBMEU7QUFDMUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3BDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUl4QyxzREFBc0Q7QUFDdEQsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQVExQyxNQUFNLE9BQU8sV0FBVztJQVF0QixZQUNFLGVBQWdDLEVBQ2hDLGlCQUFvQyxFQUNwQyxrQkFBc0MsRUFDdEMsZUFBZ0MsRUFDaEMsbUJBQXdDLEVBQ3hDLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyw4QkFBOEIsQ0FBQzs7UUFiekQsbUNBQWE7UUFDYiwrQ0FBa0M7UUFDbEMsK0NBQWtDO1FBQ2xDLGlEQUFzQztRQUN0QyxrREFBd0M7UUFDeEMsbURBQTBDO1FBVXhDLHVCQUFBLElBQUksZ0NBQW9CLGVBQWUsTUFBQSxDQUFDO1FBQ3hDLHVCQUFBLElBQUksa0NBQXNCLGlCQUFpQixNQUFBLENBQUM7UUFDNUMsdUJBQUEs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
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcXVlbmNlci90eF92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQW9CLEVBQUUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFHTCxFQUFFLEdBR0gsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFlLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHbEYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFZdEYsbUVBQW1FO0FBQ25FLHVEQUF1RDtBQUN2RCwwRUFBMEU7QUFDMUUsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3BDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUl4QyxzREFBc0Q7QUFDdEQsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQVExQyxNQUFNLE9BQU8sV0FBVztJQVF0QixZQUNFLGVBQWdDLEVBQ2hDLGlCQUFvQyxFQUNwQyxrQkFBc0MsRUFDdEMsZUFBZ0MsRUFDaEMsbUJBQXdDLEVBQ3hDLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyw4QkFBOEIsQ0FBQzs7UUFiekQsbUNBQWE7UUFDYiwrQ0FBa0M7UUFDbEMsK0NBQWtDO1FBQ2xDLGlEQUFzQztRQUN0QyxrREFBd0M7UUFDeEMsbURBQTBDO1FBVXhDLHVCQUFBLElBQUksZ0NBQW9CLGVBQWUsTUFBQSxDQUFDO1FBQ3hDLHVCQUFBLElBQUksa0NBQXNCLGlCQUFpQixNQUFBLENBQUM7UUFDNUMsdUJBQUEs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
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/sequencer/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAG/C;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAqBpD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/sequencer/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAG/C;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAsBpD"}
@@ -5,13 +5,14 @@ import { CallRequest } from '@aztec/circuits.js';
5
5
  * @returns The highest side effect counter in the transaction so far
6
6
  */
7
7
  export function lastSideEffectCounter(tx) {
8
+ const data = tx.data.forPublic;
8
9
  const sideEffectCounters = [
9
- ...tx.data.endNonRevertibleData.newNoteHashes,
10
- ...tx.data.endNonRevertibleData.newNullifiers,
11
- ...tx.data.endNonRevertibleData.publicCallStack,
12
- ...tx.data.end.newNoteHashes,
13
- ...tx.data.end.newNullifiers,
14
- ...tx.data.end.publicCallStack,
10
+ ...data.endNonRevertibleData.newNoteHashes,
11
+ ...data.endNonRevertibleData.newNullifiers,
12
+ ...data.endNonRevertibleData.publicCallStack,
13
+ ...data.end.newNoteHashes,
14
+ ...data.end.newNullifiers,
15
+ ...data.end.publicCallStack,
15
16
  ];
16
17
  let max = 0;
17
18
  for (const sideEffect of sideEffectCounters) {
@@ -25,4 +26,4 @@ export function lastSideEffectCounter(tx) {
25
26
  }
26
27
  return max;
27
28
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VxdWVuY2VyL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLEVBQU07SUFDMUMsTUFBTSxrQkFBa0IsR0FBRztRQUN6QixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYTtRQUM3QyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYTtRQUM3QyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZTtRQUMvQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWE7UUFDNUIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhO1FBQzVCLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZTtLQUMvQixDQUFDO0lBRUYsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ1osS0FBSyxNQUFNLFVBQVUsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQzVDLElBQUksVUFBVSxZQUFZLFdBQVcsRUFBRSxDQUFDO1lBQ3RDLGtHQUFrRztZQUNsRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxFQUFFLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2hILENBQUM7YUFBTSxDQUFDO1lBQ04sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNyRCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyJ9
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VxdWVuY2VyL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUFDLEVBQU07SUFDMUMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFVLENBQUM7SUFDaEMsTUFBTSxrQkFBa0IsR0FBRztRQUN6QixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhO1FBQzFDLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGFBQWE7UUFDMUMsR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZTtRQUM1QyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYTtRQUN6QixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYTtRQUN6QixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZTtLQUM1QixDQUFDO0lBRUYsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0lBQ1osS0FBSyxNQUFNLFVBQVUsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQzVDLElBQUksVUFBVSxZQUFZLFdBQVcsRUFBRSxDQUFDO1lBQ3RDLGtHQUFrRztZQUNsRyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxFQUFFLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2hILENBQUM7YUFBTSxDQUFDO1lBQ04sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNyRCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyJ9
@@ -1,4 +1,4 @@
1
- import { type PublicKernelCircuitPrivateInputs, type PublicKernelCircuitPublicInputs, type PublicKernelTailCircuitPrivateInputs } from '@aztec/circuits.js';
1
+ import { type KernelCircuitPublicInputs, type PublicKernelCircuitPrivateInputs, type PublicKernelCircuitPublicInputs, type PublicKernelTailCircuitPrivateInputs } from '@aztec/circuits.js';
2
2
  /**
3
3
  * Circuit simulator for the public kernel circuits.
4
4
  */
@@ -26,6 +26,6 @@ export interface PublicKernelCircuitSimulator {
26
26
  * @param inputs - Inputs to the circuit.
27
27
  * @returns The public inputs as outputs of the simulation.
28
28
  */
29
- publicKernelCircuitTail(inputs: PublicKernelTailCircuitPrivateInputs): Promise<PublicKernelCircuitPublicInputs>;
29
+ publicKernelCircuitTail(inputs: PublicKernelTailCircuitPrivateInputs): Promise<KernelCircuitPublicInputs>;
30
30
  }
31
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,EAC1C,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,wBAAwB,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC7G;;;;OAIG;IACH,2BAA2B,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAChH;;;;OAIG;IACH,2BAA2B,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAChH;;;;OAIG;IACH,uBAAuB,CAAC,MAAM,EAAE,oCAAoC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;CACjH"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,EAC1C,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;;;OAIG;IACH,wBAAwB,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC7G;;;;OAIG;IACH,2BAA2B,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAChH;;;;OAIG;IACH,2BAA2B,CAAC,MAAM,EAAE,gCAAgC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAChH;;;;OAIG;IACH,uBAAuB,CAAC,MAAM,EAAE,oCAAoC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;CAC3G"}
@@ -1,4 +1,4 @@
1
- import { type PublicKernelCircuitPrivateInputs, type PublicKernelCircuitPublicInputs, type PublicKernelTailCircuitPrivateInputs } from '@aztec/circuits.js';
1
+ import { type KernelCircuitPublicInputs, type PublicKernelCircuitPrivateInputs, type PublicKernelCircuitPublicInputs, type PublicKernelTailCircuitPrivateInputs } from '@aztec/circuits.js';
2
2
  import { type SimulationProvider } from '@aztec/simulator';
3
3
  import { type PublicKernelCircuitSimulator } from './index.js';
4
4
  /**
@@ -32,6 +32,6 @@ export declare class RealPublicKernelCircuitSimulator implements PublicKernelCir
32
32
  * @param input - Inputs to the circuit.
33
33
  * @returns The public inputs as outputs of the simulation.
34
34
  */
35
- publicKernelCircuitTail(input: PublicKernelTailCircuitPrivateInputs): Promise<PublicKernelCircuitPublicInputs>;
35
+ publicKernelCircuitTail(input: PublicKernelTailCircuitPrivateInputs): Promise<KernelCircuitPublicInputs>;
36
36
  }
37
37
  //# sourceMappingURL=public_kernel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public_kernel.d.ts","sourceRoot":"","sources":["../../src/simulator/public_kernel.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,EAC1C,MAAM,oBAAoB,CAAC;AAiB5B,OAAO,EAAE,KAAK,kBAAkB,EAAiB,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE/D;;GAEG;AACH,qBAAa,gCAAiC,YAAW,4BAA4B;IAMvE,OAAO,CAAC,SAAS;IAL7B,OAAO,CAAC,GAAG,CAAsD;IAGjE,OAAO,CAAC,aAAa,CAAsC;gBAEvC,SAAS,EAAE,kBAAkB;IAEjD;;;;OAIG;IACU,wBAAwB,CACnC,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,+BAA+B,CAAC;IAmB3C;;;;OAIG;IACU,2BAA2B,CACtC,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,+BAA+B,CAAC;IAmB3C;;;;OAIG;IACU,2BAA2B,CACtC,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,+BAA+B,CAAC;IAmB3C;;;;OAIG;IACU,uBAAuB,CAClC,KAAK,EAAE,oCAAoC,GAC1C,OAAO,CAAC,+BAA+B,CAAC;CAe5C"}
1
+ {"version":3,"file":"public_kernel.d.ts","sourceRoot":"","sources":["../../src/simulator/public_kernel.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACrC,KAAK,+BAA+B,EACpC,KAAK,oCAAoC,EAC1C,MAAM,oBAAoB,CAAC;AAiB5B,OAAO,EAAE,KAAK,kBAAkB,EAAiB,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE/D;;GAEG;AACH,qBAAa,gCAAiC,YAAW,4BAA4B;IAMvE,OAAO,CAAC,SAAS;IAL7B,OAAO,CAAC,GAAG,CAAsD;IAGjE,OAAO,CAAC,aAAa,CAAsC;gBAEvC,SAAS,EAAE,kBAAkB;IAEjD;;;;OAIG;IACU,wBAAwB,CACnC,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,+BAA+B,CAAC;IAmB3C;;;;OAIG;IACU,2BAA2B,CACtC,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,+BAA+B,CAAC;IAmB3C;;;;OAIG;IACU,2BAA2B,CACtC,KAAK,EAAE,gCAAgC,GACtC,OAAO,CAAC,+BAA+B,CAAC;IAmB3C;;;;OAIG;IACU,uBAAuB,CAClC,KAAK,EAAE,oCAAoC,GAC1C,OAAO,CAAC,yBAAyB,CAAC;CAetC"}
@@ -94,4 +94,4 @@ export class RealPublicKernelCircuitSimulator {
94
94
  return result;
95
95
  }
96
96
  }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tlcm5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaW11bGF0b3IvcHVibGljX2tlcm5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUNMLDRCQUE0QixFQUM1Qix5QkFBeUIsRUFDekIsd0JBQXdCLEVBQ3hCLDRCQUE0QixFQUM1QiwwQ0FBMEMsRUFDMUMsNENBQTRDLEVBQzVDLDBDQUEwQyxFQUMxQyw0Q0FBNEMsRUFDNUMsbUNBQW1DLEVBQ25DLHFDQUFxQyxFQUNyQyw2Q0FBNkMsRUFDN0MsK0NBQStDLEdBQ2hELE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUEyQixhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUkxRTs7R0FFRztBQUNILE1BQU0sT0FBTyxnQ0FBZ0M7SUFNM0MsWUFBb0IsU0FBNkI7UUFBN0IsY0FBUyxHQUFULFNBQVMsQ0FBb0I7UUFMekMsUUFBRyxHQUFHLGlCQUFpQixDQUFDLCtCQUErQixDQUFDLENBQUM7UUFFakUsc0RBQXNEO1FBQzlDLGtCQUFhLEdBQWtCLElBQUksYUFBYSxFQUFFLENBQUM7SUFFUCxDQUFDO0lBRXJEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsd0JBQXdCLENBQ25DLEtBQXVDO1FBRXZDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsRCxNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLDBDQUEwQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMs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
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2tlcm5lbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaW11bGF0b3IvcHVibGljX2tlcm5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUNMLDRCQUE0QixFQUM1Qix5QkFBeUIsRUFDekIsd0JBQXdCLEVBQ3hCLDRCQUE0QixFQUM1QiwwQ0FBMEMsRUFDMUMsNENBQTRDLEVBQzVDLDBDQUEwQyxFQUMxQyw0Q0FBNEMsRUFDNUMsbUNBQW1DLEVBQ25DLHFDQUFxQyxFQUNyQyw2Q0FBNkMsRUFDN0MsK0NBQStDLEdBQ2hELE1BQU0scUNBQXFDLENBQUM7QUFDN0MsT0FBTyxFQUEyQixhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUkxRTs7R0FFRztBQUNILE1BQU0sT0FBTyxnQ0FBZ0M7SUFNM0MsWUFBb0IsU0FBNkI7UUFBN0IsY0FBUyxHQUFULFNBQVMsQ0FBb0I7UUFMekMsUUFBRyxHQUFHLGlCQUFpQixDQUFDLCtCQUErQixDQUFDLENBQUM7UUFFakUsc0RBQXNEO1FBQzlDLGtCQUFhLEdBQWtCLElBQUksYUFBYSxFQUFFLENBQUM7SUFFUCxDQUFDO0lBRXJEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsd0JBQXdCLENBQ25DLEtBQXVDO1FBRXZDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsRCxNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLDBDQUEwQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMs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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/sequencer-client",
3
- "version": "0.32.1",
3
+ "version": "0.33.0",
4
4
  "type": "module",
5
5
  "exports": "./dest/index.js",
6
6
  "typedocOptions": {
@@ -10,29 +10,32 @@
10
10
  "name": "Sequencer Client",
11
11
  "tsconfig": "./tsconfig.json"
12
12
  },
13
+ "inherits": [
14
+ "../package.common.json"
15
+ ],
13
16
  "scripts": {
14
17
  "build": "yarn clean && tsc -b",
15
18
  "build:dev": "tsc -b --watch",
16
19
  "clean": "rm -rf ./dest .tsbuildinfo",
17
20
  "formatting": "run -T prettier --check ./src && run -T eslint ./src",
18
21
  "formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
19
- "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --passWithNoTests",
22
+ "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests",
20
23
  "test:integration": "concurrently -k -s first -c reset,dim -n test,anvil \"yarn test:integration:run\" \"anvil\"",
21
24
  "test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --config jest.integration.config.json"
22
25
  },
23
26
  "dependencies": {
24
- "@aztec/circuit-types": "0.32.1",
25
- "@aztec/circuits.js": "0.32.1",
26
- "@aztec/ethereum": "0.32.1",
27
- "@aztec/foundation": "0.32.1",
28
- "@aztec/l1-artifacts": "0.32.1",
29
- "@aztec/merkle-tree": "0.32.1",
30
- "@aztec/noir-protocol-circuits-types": "0.32.1",
31
- "@aztec/p2p": "0.32.1",
32
- "@aztec/protocol-contracts": "0.32.1",
33
- "@aztec/simulator": "0.32.1",
34
- "@aztec/types": "0.32.1",
35
- "@aztec/world-state": "0.32.1",
27
+ "@aztec/circuit-types": "0.33.0",
28
+ "@aztec/circuits.js": "0.33.0",
29
+ "@aztec/ethereum": "0.33.0",
30
+ "@aztec/foundation": "0.33.0",
31
+ "@aztec/l1-artifacts": "0.33.0",
32
+ "@aztec/merkle-tree": "0.33.0",
33
+ "@aztec/noir-protocol-circuits-types": "0.33.0",
34
+ "@aztec/p2p": "0.33.0",
35
+ "@aztec/protocol-contracts": "0.33.0",
36
+ "@aztec/simulator": "0.33.0",
37
+ "@aztec/types": "0.33.0",
38
+ "@aztec/world-state": "0.33.0",
36
39
  "@noir-lang/acvm_js": "portal:../../noir/packages/acvm_js",
37
40
  "@noir-lang/types": "portal:../../noir/packages/types",
38
41
  "lodash.chunk": "^4.2.0",
@@ -56,7 +59,6 @@
56
59
  "levelup": "^5.1.1",
57
60
  "memdown": "^6.1.1",
58
61
  "prettier": "^2.8.7",
59
- "ts-jest": "^29.1.0",
60
62
  "ts-node": "^10.9.1",
61
63
  "typescript": "^5.0.4"
62
64
  },
@@ -68,5 +70,20 @@
68
70
  "types": "./dest/index.d.ts",
69
71
  "engines": {
70
72
  "node": ">=18"
73
+ },
74
+ "jest": {
75
+ "extensionsToTreatAsEsm": [
76
+ ".ts"
77
+ ],
78
+ "transform": {
79
+ "^.+\\.tsx?$": [
80
+ "@swc/jest"
81
+ ]
82
+ },
83
+ "moduleNameMapper": {
84
+ "^(\\.{1,2}/.*)\\.[cm]?js$": "$1"
85
+ },
86
+ "testRegex": "./src/.*\\.test\\.(js|mjs|ts)$",
87
+ "rootDir": "./src"
71
88
  }
72
89
  }
@@ -7,18 +7,18 @@ import {
7
7
  Fr,
8
8
  type GlobalVariables,
9
9
  type Header,
10
+ type KernelCircuitPublicInputs,
10
11
  L2ToL1Message,
11
12
  MAX_NEW_L2_TO_L1_MSGS_PER_CALL,
12
13
  MAX_NEW_NOTE_HASHES_PER_CALL,
13
14
  MAX_NEW_NULLIFIERS_PER_CALL,
14
- MAX_NON_REVERTIBLE_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
15
15
  MAX_NULLIFIER_NON_EXISTENT_READ_REQUESTS_PER_CALL,
16
16
  MAX_NULLIFIER_READ_REQUESTS_PER_CALL,
17
17
  MAX_PUBLIC_CALL_STACK_LENGTH_PER_CALL,
18
18
  MAX_PUBLIC_DATA_READS_PER_CALL,
19
19
  MAX_PUBLIC_DATA_READS_PER_TX,
20
20
  MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_CALL,
21
- MAX_REVERTIBLE_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
21
+ MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
22
22
  MembershipWitness,
23
23
  type PrivateKernelTailCircuitPublicInputs,
24
24
  type Proof,
@@ -31,7 +31,6 @@ import {
31
31
  PublicKernelCircuitPrivateInputs,
32
32
  type PublicKernelCircuitPublicInputs,
33
33
  PublicKernelData,
34
- PublicKernelTailCircuitPrivateInputs,
35
34
  RETURN_VALUES_LENGTH,
36
35
  ReadRequest,
37
36
  RevertCode,
@@ -42,6 +41,13 @@ import {
42
41
  makeEmptyProof,
43
42
  } from '@aztec/circuits.js';
44
43
  import { computeVarArgsHash } from '@aztec/circuits.js/hash';
44
+ import {
45
+ type AbiType,
46
+ type DecodedReturn,
47
+ type FunctionArtifact,
48
+ type ProcessReturnValues,
49
+ decodeReturnValues,
50
+ } from '@aztec/foundation/abi';
45
51
  import { arrayNonEmptyLength, padArrayEnd } from '@aztec/foundation/collection';
46
52
  import { type DebugLogger, createDebugLogger } from '@aztec/foundation/log';
47
53
  import { type Tuple } from '@aztec/foundation/serialize';
@@ -102,6 +108,10 @@ export abstract class AbstractPhaseManager {
102
108
  * the output of the public kernel circuit for this phase
103
109
  */
104
110
  publicKernelOutput: PublicKernelCircuitPublicInputs;
111
+ /**
112
+ * the final output of the public kernel circuit for this phase
113
+ */
114
+ finalKernelOutput?: KernelCircuitPublicInputs;
105
115
  /**
106
116
  * the proof of the public kernel circuit for this phase
107
117
  */
@@ -110,6 +120,7 @@ export abstract class AbstractPhaseManager {
110
120
  * revert reason, if any
111
121
  */
112
122
  revertReason: SimulationError | undefined;
123
+ returnValues: ProcessReturnValues;
113
124
  }>;
114
125
 
115
126
  public static extractEnqueuedPublicCallsByPhase(
@@ -117,8 +128,10 @@ export abstract class AbstractPhaseManager {
117
128
  enqueuedPublicFunctionCalls: PublicCallRequest[],
118
129
  ): Record<PublicKernelPhase, PublicCallRequest[]> {
119
130
  const publicCallsStack = enqueuedPublicFunctionCalls.slice().reverse();
120
- const nonRevertibleCallStack = publicInputs.endNonRevertibleData.publicCallStack.filter(i => !i.isEmpty());
121
- const revertibleCallStack = publicInputs.end.publicCallStack.filter(i => !i.isEmpty());
131
+ const nonRevertibleCallStack = publicInputs.forPublic!.endNonRevertibleData.publicCallStack.filter(
132
+ i => !i.isEmpty(),
133
+ );
134
+ const revertibleCallStack = publicInputs.forPublic!.end.publicCallStack.filter(i => !i.isEmpty());
122
135
 
123
136
  const callRequestsStack = publicCallsStack
124
137
  .map(call => call.toCallRequest())
@@ -180,14 +193,22 @@ export abstract class AbstractPhaseManager {
180
193
  tx: Tx,
181
194
  previousPublicKernelOutput: PublicKernelCircuitPublicInputs,
182
195
  previousPublicKernelProof: Proof,
183
- ): Promise<[PublicKernelCircuitPublicInputs, Proof, UnencryptedFunctionL2Logs[], SimulationError | undefined]> {
196
+ ): Promise<
197
+ [
198
+ PublicKernelCircuitPublicInputs,
199
+ Proof,
200
+ UnencryptedFunctionL2Logs[],
201
+ SimulationError | undefined,
202
+ ProcessReturnValues,
203
+ ]
204
+ > {
184
205
  let kernelOutput = previousPublicKernelOutput;
185
206
  let kernelProof = previousPublicKernelProof;
186
207
 
187
208
  const enqueuedCalls = this.extractEnqueuedPublicCalls(tx);
188
209
 
189
210
  if (!enqueuedCalls || !enqueuedCalls.length) {
190
- return [kernelOutput, kernelProof, [], undefined];
211
+ return [kernelOutput, kernelProof, [], undefined, undefined];
191
212
  }
192
213
 
193
214
  const newUnencryptedFunctionLogs: UnencryptedFunctionL2Logs[] = [];
@@ -196,9 +217,13 @@ export abstract class AbstractPhaseManager {
196
217
  // separate public callstacks to be proven by separate public kernel sequences
197
218
  // and submitted separately to the base rollup?
198
219
 
220
+ const returns = [];
221
+
199
222
  for (const enqueuedCall of enqueuedCalls) {
200
223
  const executionStack: (PublicExecution | PublicExecutionResult)[] = [enqueuedCall];
201
224
 
225
+ let currentReturn: DecodedReturn | undefined = undefined;
226
+
202
227
  // Keep track of which result is for the top/enqueued call
203
228
  let enqueuedExecutionResult: PublicExecutionResult | undefined;
204
229
 
@@ -207,13 +232,9 @@ export abstract class AbstractPhaseManager {
207
232
  const isExecutionRequest = !isPublicExecutionResult(current);
208
233
 
209
234
  const sideEffectCounter = lastSideEffectCounter(tx) + 1;
210
- // NOTE: temporary glue to incorporate avm execution calls.
211
- const simulator = (execution: PublicExecution, globalVariables: GlobalVariables) =>
212
- execution.functionData.isTranspiled
213
- ? this.publicExecutor.simulateAvm(execution, globalVariables, sideEffectCounter)
214
- : this.publicExecutor.simulate(execution, globalVariables, sideEffectCounter);
215
-
216
- const result = isExecutionRequest ? await simulator(current, this.globalVariables) : current;
235
+ const result = isExecutionRequest
236
+ ? await this.publicExecutor.simulate(current, this.globalVariables, sideEffectCounter)
237
+ : current;
217
238
 
218
239
  const functionSelector = result.execution.functionData.selector.toString();
219
240
  if (result.reverted && !PhaseIsRevertible[this.phase]) {
@@ -238,7 +259,7 @@ export abstract class AbstractPhaseManager {
238
259
  // sanity check. Note we can't expect them to just be equal, because e.g.
239
260
  // if the simulator reverts in app logic, it "resets" and result.reverted will be false when we run teardown,
240
261
  // but the kernel carries the reverted flag forward. But if the simulator reverts, so should the kernel.
241
- if (result.reverted && kernelOutput.endNonRevertibleData.revertCode.isOK()) {
262
+ if (result.reverted && kernelOutput.revertCode.isOK()) {
242
263
  throw new Error(
243
264
  `Public kernel circuit did not revert on ${result.execution.contractAddress.toString()}:${functionSelector}, but simulator did.`,
244
265
  );
@@ -252,64 +273,52 @@ export abstract class AbstractPhaseManager {
252
273
  result.revertReason
253
274
  }`,
254
275
  );
255
- return [kernelOutput, kernelProof, [], result.revertReason];
276
+ return [kernelOutput, kernelProof, [], result.revertReason, undefined];
256
277
  }
257
278
 
258
279
  if (!enqueuedExecutionResult) {
259
280
  enqueuedExecutionResult = result;
281
+
282
+ // Padding as the AVM is not always returning the expected return size (4)
283
+ // which is expected by the kernel.
284
+ const paddedReturn = padArrayEnd(result.returnValues, Fr.ZERO, RETURN_VALUES_LENGTH);
285
+
286
+ // TODO(#5450) Need to use the proper return values here
287
+ const returnTypes: AbiType[] = [{ kind: 'array', length: 4, type: { kind: 'field' } }];
288
+ const mockArtifact = { returnTypes } as any as FunctionArtifact;
289
+
290
+ currentReturn = decodeReturnValues(mockArtifact, paddedReturn);
260
291
  }
261
292
  }
262
293
  // HACK(#1622): Manually patches the ordering of public state actions
263
294
  // TODO(#757): Enforce proper ordering of public state actions
264
295
  patchPublicStorageActionOrdering(kernelOutput, enqueuedExecutionResult!, this.phase);
296
+
297
+ returns.push(currentReturn);
265
298
  }
266
299
 
267
300
  // TODO(#3675): This should be done in a public kernel circuit
268
- removeRedundantPublicDataWrites(kernelOutput);
301
+ removeRedundantPublicDataWrites(kernelOutput, this.phase);
269
302
 
270
- return [kernelOutput, kernelProof, newUnencryptedFunctionLogs, undefined];
303
+ return [kernelOutput, kernelProof, newUnencryptedFunctionLogs, undefined, returns];
271
304
  }
272
305
 
273
306
  protected async runKernelCircuit(
274
307
  previousOutput: PublicKernelCircuitPublicInputs,
275
308
  previousProof: Proof,
276
- callData?: PublicCallData,
309
+ callData: PublicCallData,
277
310
  ): Promise<[PublicKernelCircuitPublicInputs, Proof]> {
278
311
  const output = await this.getKernelCircuitOutput(previousOutput, previousProof, callData);
279
312
  return [output, makeEmptyProof()];
280
313
  }
281
314
 
282
- protected async getKernelCircuitOutput(
315
+ protected getKernelCircuitOutput(
283
316
  previousOutput: PublicKernelCircuitPublicInputs,
284
317
  previousProof: Proof,
285
- callData?: PublicCallData,
318
+ callData: PublicCallData,
286
319
  ): Promise<PublicKernelCircuitPublicInputs> {
287
320
  const previousKernel = this.getPreviousKernelData(previousOutput, previousProof);
288
321
 
289
- if (this.phase === PublicKernelPhase.TAIL) {
290
- const { validationRequests, endNonRevertibleData, end } = previousOutput;
291
- const nullifierReadRequestHints = await this.hintsBuilder.getNullifierReadRequestHints(
292
- validationRequests.nullifierReadRequests,
293
- endNonRevertibleData.newNullifiers,
294
- end.newNullifiers,
295
- );
296
- const nullifierNonExistentReadRequestHints = await this.hintsBuilder.getNullifierNonExistentReadRequestHints(
297
- validationRequests.nullifierNonExistentReadRequests,
298
- endNonRevertibleData.newNullifiers,
299
- end.newNullifiers,
300
- );
301
- const inputs = new PublicKernelTailCircuitPrivateInputs(
302
- previousKernel,
303
- nullifierReadRequestHints,
304
- nullifierNonExistentReadRequestHints,
305
- );
306
- return this.publicKernel.publicKernelCircuitTail(inputs);
307
- }
308
-
309
- if (!callData) {
310
- throw new Error(`Cannot run public kernel circuit without call data for phase '${this.phase}'.`);
311
- }
312
-
313
322
  const inputs = new PublicKernelCircuitPrivateInputs(previousKernel, callData);
314
323
  switch (this.phase) {
315
324
  case PublicKernelPhase.SETUP:
@@ -435,26 +444,30 @@ export abstract class AbstractPhaseManager {
435
444
  }
436
445
  }
437
446
 
438
- function removeRedundantPublicDataWrites(publicInputs: PublicKernelCircuitPublicInputs) {
439
- const patch = <N extends number>(requests: Tuple<PublicDataUpdateRequest, N>) => {
440
- const lastWritesMap = new Map<string, PublicDataUpdateRequest>();
441
- for (const write of requests) {
442
- const key = write.leafSlot.toString();
443
- lastWritesMap.set(key, write);
444
- }
445
- return requests.filter(write => lastWritesMap.get(write.leafSlot.toString())?.equals(write));
446
- };
447
+ function removeRedundantPublicDataWrites(publicInputs: PublicKernelCircuitPublicInputs, phase: PublicKernelPhase) {
448
+ const lastWritesMap = new Map<string, boolean>();
449
+ const patch = <N extends number>(requests: Tuple<PublicDataUpdateRequest, N>) =>
450
+ requests.filter(write => {
451
+ const leafSlot = write.leafSlot.toString();
452
+ const exists = lastWritesMap.get(leafSlot);
453
+ lastWritesMap.set(leafSlot, true);
454
+ return !exists;
455
+ });
456
+
457
+ const [prev, curr] = PhaseIsRevertible[phase]
458
+ ? [publicInputs.endNonRevertibleData, publicInputs.end]
459
+ : [publicInputs.end, publicInputs.endNonRevertibleData];
447
460
 
448
- publicInputs.end.publicDataUpdateRequests = padArrayEnd(
449
- patch(publicInputs.end.publicDataUpdateRequests),
461
+ curr.publicDataUpdateRequests = padArrayEnd(
462
+ patch(curr.publicDataUpdateRequests.reverse()).reverse(),
450
463
  PublicDataUpdateRequest.empty(),
451
- MAX_REVERTIBLE_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
464
+ MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
452
465
  );
453
466
 
454
- publicInputs.endNonRevertibleData.publicDataUpdateRequests = padArrayEnd(
455
- patch(publicInputs.endNonRevertibleData.publicDataUpdateRequests),
467
+ prev.publicDataUpdateRequests = padArrayEnd(
468
+ patch(prev.publicDataUpdateRequests.reverse()),
456
469
  PublicDataUpdateRequest.empty(),
457
- MAX_NON_REVERTIBLE_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
470
+ MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
458
471
  );
459
472
  }
460
473
 
@@ -531,8 +544,6 @@ function patchPublicStorageActionOrdering(
531
544
  ...simPublicDataUpdateRequests,
532
545
  ],
533
546
  PublicDataUpdateRequest.empty(),
534
- PhaseIsRevertible[phase]
535
- ? MAX_REVERTIBLE_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX
536
- : MAX_NON_REVERTIBLE_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
547
+ MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
537
548
  );
538
549
  }
@@ -40,7 +40,7 @@ export class AppLogicPhaseManager extends AbstractPhaseManager {
40
40
  // TODO(@spalladino): Should we allow emitting contracts in the fee preparation phase?
41
41
  this.log(`Processing tx ${tx.getTxHash()}`);
42
42
  await this.publicContractsDB.addNewContracts(tx);
43
- const [publicKernelOutput, publicKernelProof, newUnencryptedFunctionLogs, revertReason] =
43
+ const [publicKernelOutput, publicKernelProof, newUnencryptedFunctionLogs, revertReason, returnValues] =
44
44
  await this.processEnqueuedPublicCalls(tx, previousPublicKernelOutput, previousPublicKernelProof).catch(
45
45
  // if we throw for any reason other than simulation, we need to rollback and drop the TX
46
46
  async err => {
@@ -57,6 +57,6 @@ export class AppLogicPhaseManager extends AbstractPhaseManager {
57
57
  await this.publicStateDB.checkpoint();
58
58
  }
59
59
 
60
- return { publicKernelOutput, publicKernelProof, revertReason };
60
+ return { publicKernelOutput, publicKernelProof, revertReason, returnValues };
61
61
  }
62
62
  }