@aztec/stdlib 0.84.0 → 0.85.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 (112) hide show
  1. package/dest/avm/avm.d.ts +2474 -284
  2. package/dest/avm/avm.d.ts.map +1 -1
  3. package/dest/avm/avm.js +116 -17
  4. package/dest/avm/avm_proving_request.d.ts +1071 -23
  5. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  6. package/dest/block/in_block.d.ts.map +1 -1
  7. package/dest/block/index.d.ts +1 -1
  8. package/dest/block/index.d.ts.map +1 -1
  9. package/dest/block/index.js +1 -1
  10. package/dest/block/l2_block_source.d.ts +8 -5
  11. package/dest/block/l2_block_source.d.ts.map +1 -1
  12. package/dest/block/l2_block_source.js +9 -0
  13. package/dest/block/l2_block_stream/index.d.ts +4 -0
  14. package/dest/block/l2_block_stream/index.d.ts.map +1 -0
  15. package/dest/block/l2_block_stream/index.js +3 -0
  16. package/dest/block/l2_block_stream/interfaces.d.ts +26 -0
  17. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -0
  18. package/dest/block/l2_block_stream/interfaces.js +1 -0
  19. package/dest/block/{l2_block_downloader → l2_block_stream}/l2_block_stream.d.ts +4 -24
  20. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -0
  21. package/dest/block/{l2_block_downloader → l2_block_stream}/l2_block_stream.js +29 -10
  22. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +18 -0
  23. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -0
  24. package/dest/block/l2_block_stream/l2_tips_memory_store.js +70 -0
  25. package/dest/block/test/index.d.ts +2 -0
  26. package/dest/block/test/index.d.ts.map +1 -0
  27. package/dest/block/test/index.js +1 -0
  28. package/dest/block/test/l2_tips_store_test_suite.d.ts +3 -0
  29. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -0
  30. package/dest/block/test/l2_tips_store_test_suite.js +107 -0
  31. package/dest/database-version/version_manager.d.ts +21 -5
  32. package/dest/database-version/version_manager.d.ts.map +1 -1
  33. package/dest/database-version/version_manager.js +25 -15
  34. package/dest/epoch-helpers/index.d.ts +9 -0
  35. package/dest/epoch-helpers/index.d.ts.map +1 -1
  36. package/dest/epoch-helpers/index.js +15 -2
  37. package/dest/interfaces/archiver.d.ts.map +1 -1
  38. package/dest/interfaces/archiver.js +4 -4
  39. package/dest/interfaces/aztec-node.d.ts +5 -6
  40. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  41. package/dest/interfaces/aztec-node.js +2 -3
  42. package/dest/interfaces/proving-job.d.ts +1071 -23
  43. package/dest/interfaces/proving-job.d.ts.map +1 -1
  44. package/dest/interfaces/pxe.d.ts +5 -7
  45. package/dest/interfaces/pxe.d.ts.map +1 -1
  46. package/dest/interfaces/pxe.js +2 -7
  47. package/dest/interfaces/world_state.d.ts +3 -2
  48. package/dest/interfaces/world_state.d.ts.map +1 -1
  49. package/dest/logs/log_with_tx_data.d.ts +3 -2
  50. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  51. package/dest/logs/log_with_tx_data.js +3 -2
  52. package/dest/logs/pending_tagged_log.d.ts +4 -2
  53. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  54. package/dest/logs/pending_tagged_log.js +6 -3
  55. package/dest/messaging/l1_to_l2_message_source.d.ts +5 -0
  56. package/dest/messaging/l1_to_l2_message_source.d.ts.map +1 -1
  57. package/dest/proofs/proof.d.ts +4 -1
  58. package/dest/proofs/proof.d.ts.map +1 -1
  59. package/dest/proofs/proof.js +9 -17
  60. package/dest/tests/factories.d.ts +5 -1
  61. package/dest/tests/factories.d.ts.map +1 -1
  62. package/dest/tests/factories.js +23 -7
  63. package/dest/tests/mocks.d.ts +3 -1
  64. package/dest/tests/mocks.d.ts.map +1 -1
  65. package/dest/tests/mocks.js +3 -2
  66. package/dest/tx/index.d.ts +2 -0
  67. package/dest/tx/index.d.ts.map +1 -1
  68. package/dest/tx/index.js +2 -0
  69. package/dest/tx/indexed_tx_effect.d.ts +24 -0
  70. package/dest/tx/indexed_tx_effect.d.ts.map +1 -0
  71. package/dest/tx/indexed_tx_effect.js +14 -0
  72. package/dest/tx/tx_hash.d.ts.map +1 -1
  73. package/dest/tx/tx_hash.js +1 -4
  74. package/dest/tx/validator/error_texts.d.ts +20 -0
  75. package/dest/tx/validator/error_texts.d.ts.map +1 -0
  76. package/dest/tx/validator/error_texts.js +27 -0
  77. package/package.json +8 -6
  78. package/src/avm/avm.ts +188 -29
  79. package/src/block/in_block.ts +1 -0
  80. package/src/block/index.ts +1 -1
  81. package/src/block/l2_block_source.ts +15 -5
  82. package/src/block/l2_block_stream/index.ts +3 -0
  83. package/src/block/l2_block_stream/interfaces.ts +33 -0
  84. package/src/block/{l2_block_downloader → l2_block_stream}/l2_block_stream.ts +34 -44
  85. package/src/block/l2_block_stream/l2_tips_memory_store.ts +75 -0
  86. package/src/block/test/index.ts +1 -0
  87. package/src/block/test/l2_tips_store_test_suite.ts +87 -0
  88. package/src/database-version/version_manager.ts +56 -17
  89. package/src/epoch-helpers/index.ts +19 -0
  90. package/src/interfaces/archiver.ts +3 -3
  91. package/src/interfaces/aztec-node.ts +7 -6
  92. package/src/interfaces/pxe.ts +15 -11
  93. package/src/interfaces/world_state.ts +3 -2
  94. package/src/logs/log_with_tx_data.ts +4 -3
  95. package/src/logs/pending_tagged_log.ts +5 -2
  96. package/src/messaging/l1_to_l2_message_source.ts +7 -0
  97. package/src/proofs/proof.ts +9 -19
  98. package/src/tests/factories.ts +54 -4
  99. package/src/tests/mocks.ts +6 -1
  100. package/src/tx/index.ts +2 -0
  101. package/src/tx/indexed_tx_effect.ts +17 -0
  102. package/src/tx/tx_hash.ts +0 -4
  103. package/src/tx/validator/error_texts.ts +34 -0
  104. package/dest/block/l2_block_downloader/index.d.ts +0 -3
  105. package/dest/block/l2_block_downloader/index.d.ts.map +0 -1
  106. package/dest/block/l2_block_downloader/index.js +0 -2
  107. package/dest/block/l2_block_downloader/l2_block_downloader.d.ts +0 -58
  108. package/dest/block/l2_block_downloader/l2_block_downloader.d.ts.map +0 -1
  109. package/dest/block/l2_block_downloader/l2_block_downloader.js +0 -124
  110. package/dest/block/l2_block_downloader/l2_block_stream.d.ts.map +0 -1
  111. package/src/block/l2_block_downloader/index.ts +0 -2
  112. package/src/block/l2_block_downloader/l2_block_downloader.ts +0 -149
@@ -1 +1 @@
1
- {"version":3,"file":"avm.d.ts","sourceRoot":"","sources":["../../src/avm/avm.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAYhB;IAEM,wBAAwB,IAAI,MAAM;IAKlC,QAAQ,IAAI,MAAM;IAGzB,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;CAG9B"}
1
+ {"version":3,"file":"avm.d.ts","sourceRoot":"","sources":["../../src/avm/avm.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0DhB;CACF;AAED,qBAAa,gBAAgB;aACC,KAAK,EAAE,iBAAiB;IAAS,YAAY,EAAE,sBAAsB;gBAArE,KAAK,EAAE,iBAAiB,EAAS,YAAY,EAAE,sBAAsB;IAEjG,MAAM,CAAC,KAAK;IAIZ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAOhB;IAEM,wBAAwB,IAAI,MAAM;IAKlC,QAAQ,IAAI,MAAM;IAGzB,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;CAG9B"}
package/dest/avm/avm.js CHANGED
@@ -4,8 +4,10 @@ import { z } from 'zod';
4
4
  import { AztecAddress } from '../aztec-address/index.js';
5
5
  import { PublicKeys } from '../keys/public_keys.js';
6
6
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
7
+ import { MerkleTreeId } from '../trees/merkle_tree_id.js';
7
8
  import { NullifierLeafPreimage } from '../trees/nullifier_leaf.js';
8
9
  import { PublicDataTreeLeafPreimage } from '../trees/public_data_leaf.js';
10
+ import { GlobalVariables, TreeSnapshots } from '../tx/index.js';
9
11
  import { AvmCircuitPublicInputs } from './avm_circuit_public_inputs.js';
10
12
  import { serializeWithMessagePack } from './message_pack.js';
11
13
  ////////////////////////////////////////////////////////////////////////////
@@ -225,6 +227,86 @@ export class AvmSequentialInsertHintPublicDataTree extends AvmSequentialInsertHi
225
227
  }
226
228
  export class AvmSequentialInsertHintNullifierTree extends AvmSequentialInsertHintFactory(NullifierLeafPreimage) {
227
229
  }
230
+ // Hint for MerkleTreeDB.appendLeaves.
231
+ // Note: only supported for NOTE_HASH_TREE and L1_TO_L2_MESSAGE_TREE.
232
+ export class AvmAppendLeavesHint {
233
+ hintKey;
234
+ stateAfter;
235
+ treeId;
236
+ leaves;
237
+ constructor(hintKey, stateAfter, // params
238
+ treeId, leaves){
239
+ this.hintKey = hintKey;
240
+ this.stateAfter = stateAfter;
241
+ this.treeId = treeId;
242
+ this.leaves = leaves;
243
+ }
244
+ static get schema() {
245
+ return z.object({
246
+ hintKey: AppendOnlyTreeSnapshot.schema,
247
+ stateAfter: AppendOnlyTreeSnapshot.schema,
248
+ treeId: z.number().int().nonnegative(),
249
+ leaves: schemas.Fr.array()
250
+ }).transform(({ hintKey, stateAfter, treeId, leaves })=>new AvmAppendLeavesHint(hintKey, stateAfter, treeId, leaves));
251
+ }
252
+ }
253
+ // Hint for checkpoint actions that don't change the state.
254
+ class AvmCheckpointActionNoStateChangeHint {
255
+ actionCounter;
256
+ oldCheckpointId;
257
+ newCheckpointId;
258
+ constructor(// key
259
+ actionCounter, // current checkpoint evolution
260
+ oldCheckpointId, newCheckpointId){
261
+ this.actionCounter = actionCounter;
262
+ this.oldCheckpointId = oldCheckpointId;
263
+ this.newCheckpointId = newCheckpointId;
264
+ }
265
+ static get schema() {
266
+ return z.object({
267
+ actionCounter: z.number().int().nonnegative(),
268
+ oldCheckpointId: z.number().int().nonnegative(),
269
+ newCheckpointId: z.number().int().nonnegative()
270
+ }).transform(({ actionCounter, oldCheckpointId, newCheckpointId })=>new AvmCheckpointActionNoStateChangeHint(actionCounter, oldCheckpointId, newCheckpointId));
271
+ }
272
+ }
273
+ // Hint for MerkleTreeDB.createCheckpoint.
274
+ export class AvmCreateCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
275
+ }
276
+ // Hint for MerkleTreeDB.commitCheckpoint.
277
+ export class AvmCommitCheckpointHint extends AvmCheckpointActionNoStateChangeHint {
278
+ }
279
+ // Hint for MerkleTreeDB.revertCheckpoint.
280
+ export class AvmRevertCheckpointHint {
281
+ actionCounter;
282
+ oldCheckpointId;
283
+ newCheckpointId;
284
+ stateBefore;
285
+ stateAfter;
286
+ // We use explicit fields for MessagePack.
287
+ constructor(// key
288
+ actionCounter, // current checkpoint evolution
289
+ oldCheckpointId, newCheckpointId, // state evolution
290
+ stateBefore, stateAfter){
291
+ this.actionCounter = actionCounter;
292
+ this.oldCheckpointId = oldCheckpointId;
293
+ this.newCheckpointId = newCheckpointId;
294
+ this.stateBefore = stateBefore;
295
+ this.stateAfter = stateAfter;
296
+ }
297
+ static create(actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter) {
298
+ return new AvmRevertCheckpointHint(actionCounter, oldCheckpointId, newCheckpointId, new TreeSnapshots(stateBefore[MerkleTreeId.L1_TO_L2_MESSAGE_TREE], stateBefore[MerkleTreeId.NOTE_HASH_TREE], stateBefore[MerkleTreeId.NULLIFIER_TREE], stateBefore[MerkleTreeId.PUBLIC_DATA_TREE]), new TreeSnapshots(stateAfter[MerkleTreeId.L1_TO_L2_MESSAGE_TREE], stateAfter[MerkleTreeId.NOTE_HASH_TREE], stateAfter[MerkleTreeId.NULLIFIER_TREE], stateAfter[MerkleTreeId.PUBLIC_DATA_TREE]));
299
+ }
300
+ static get schema() {
301
+ return z.object({
302
+ actionCounter: z.number().int().nonnegative(),
303
+ oldCheckpointId: z.number().int().nonnegative(),
304
+ newCheckpointId: z.number().int().nonnegative(),
305
+ stateBefore: TreeSnapshots.schema,
306
+ stateAfter: TreeSnapshots.schema
307
+ }).transform(({ actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter })=>new AvmRevertCheckpointHint(actionCounter, oldCheckpointId, newCheckpointId, stateBefore, stateAfter));
308
+ }
309
+ }
228
310
  ////////////////////////////////////////////////////////////////////////////
229
311
  // Hints (other)
230
312
  ////////////////////////////////////////////////////////////////////////////
@@ -249,25 +331,31 @@ export class AvmEnqueuedCallHint {
249
331
  }
250
332
  }
251
333
  export class AvmTxHint {
334
+ hash;
335
+ globalVariables;
252
336
  nonRevertibleAccumulatedData;
253
337
  revertibleAccumulatedData;
254
338
  setupEnqueuedCalls;
255
339
  appLogicEnqueuedCalls;
256
340
  teardownEnqueuedCall;
257
- constructor(nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, // We need this to be null and not undefined because that's what
341
+ constructor(hash, globalVariables, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, // We need this to be null and not undefined because that's what
258
342
  // MessagePack expects for an std::optional.
259
343
  teardownEnqueuedCall){
344
+ this.hash = hash;
345
+ this.globalVariables = globalVariables;
260
346
  this.nonRevertibleAccumulatedData = nonRevertibleAccumulatedData;
261
347
  this.revertibleAccumulatedData = revertibleAccumulatedData;
262
348
  this.setupEnqueuedCalls = setupEnqueuedCalls;
263
349
  this.appLogicEnqueuedCalls = appLogicEnqueuedCalls;
264
350
  this.teardownEnqueuedCall = teardownEnqueuedCall;
265
351
  }
266
- static fromTx(tx) {
352
+ static async fromTx(tx) {
267
353
  const setupCallRequests = tx.getNonRevertiblePublicCallRequestsWithCalldata();
268
354
  const appLogicCallRequests = tx.getRevertiblePublicCallRequestsWithCalldata();
269
355
  const teardownCallRequest = tx.getTeardownPublicCallRequestWithCalldata();
270
- return new AvmTxHint({
356
+ // For informational purposes. Assumed quick because it should be cached.
357
+ const txHash = await tx.getTxHash();
358
+ return new AvmTxHint(txHash.hash.toString(), tx.data.constants.historicalHeader.globalVariables, {
271
359
  noteHashes: tx.data.forPublic.nonRevertibleAccumulatedData.noteHashes.filter((x)=>!x.isZero()),
272
360
  nullifiers: tx.data.forPublic.nonRevertibleAccumulatedData.nullifiers.filter((x)=>!x.isZero())
273
361
  }, {
@@ -276,7 +364,7 @@ export class AvmTxHint {
276
364
  }, setupCallRequests.map((call)=>new AvmEnqueuedCallHint(call.request.msgSender, call.request.contractAddress, call.calldata, call.request.isStaticCall)), appLogicCallRequests.map((call)=>new AvmEnqueuedCallHint(call.request.msgSender, call.request.contractAddress, call.calldata, call.request.isStaticCall)), teardownCallRequest ? new AvmEnqueuedCallHint(teardownCallRequest.request.msgSender, teardownCallRequest.request.contractAddress, teardownCallRequest.calldata, teardownCallRequest.request.isStaticCall) : null);
277
365
  }
278
366
  static empty() {
279
- return new AvmTxHint({
367
+ return new AvmTxHint('', GlobalVariables.empty(), {
280
368
  noteHashes: [],
281
369
  nullifiers: []
282
370
  }, {
@@ -286,6 +374,8 @@ export class AvmTxHint {
286
374
  }
287
375
  static get schema() {
288
376
  return z.object({
377
+ hash: z.string(),
378
+ globalVariables: GlobalVariables.schema,
289
379
  nonRevertibleAccumulatedData: z.object({
290
380
  noteHashes: schemas.Fr.array(),
291
381
  nullifiers: schemas.Fr.array()
@@ -297,7 +387,7 @@ export class AvmTxHint {
297
387
  setupEnqueuedCalls: AvmEnqueuedCallHint.schema.array(),
298
388
  appLogicEnqueuedCalls: AvmEnqueuedCallHint.schema.array(),
299
389
  teardownEnqueuedCall: AvmEnqueuedCallHint.schema.nullable()
300
- });
390
+ }).transform(({ hash, globalVariables, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall })=>new AvmTxHint(hash, globalVariables, nonRevertibleAccumulatedData, revertibleAccumulatedData, setupEnqueuedCalls, appLogicEnqueuedCalls, teardownEnqueuedCall));
301
391
  }
302
392
  }
303
393
  export class AvmExecutionHints {
@@ -305,6 +395,7 @@ export class AvmExecutionHints {
305
395
  contractInstances;
306
396
  contractClasses;
307
397
  bytecodeCommitments;
398
+ startingTreeRoots;
308
399
  getSiblingPathHints;
309
400
  getPreviousValueIndexHints;
310
401
  getLeafPreimageHintsPublicDataTree;
@@ -312,13 +403,18 @@ export class AvmExecutionHints {
312
403
  getLeafValueHints;
313
404
  sequentialInsertHintsPublicDataTree;
314
405
  sequentialInsertHintsNullifierTree;
406
+ appendLeavesHints;
407
+ createCheckpointHints;
408
+ commitCheckpointHints;
409
+ revertCheckpointHints;
315
410
  constructor(tx, // Contract hints.
316
411
  contractInstances = [], contractClasses = [], bytecodeCommitments = [], // Merkle DB hints.
317
- getSiblingPathHints = [], getPreviousValueIndexHints = [], getLeafPreimageHintsPublicDataTree = [], getLeafPreimageHintsNullifierTree = [], getLeafValueHints = [], sequentialInsertHintsPublicDataTree = [], sequentialInsertHintsNullifierTree = []){
412
+ startingTreeRoots = TreeSnapshots.empty(), getSiblingPathHints = [], getPreviousValueIndexHints = [], getLeafPreimageHintsPublicDataTree = [], getLeafPreimageHintsNullifierTree = [], getLeafValueHints = [], sequentialInsertHintsPublicDataTree = [], sequentialInsertHintsNullifierTree = [], appendLeavesHints = [], createCheckpointHints = [], commitCheckpointHints = [], revertCheckpointHints = []){
318
413
  this.tx = tx;
319
414
  this.contractInstances = contractInstances;
320
415
  this.contractClasses = contractClasses;
321
416
  this.bytecodeCommitments = bytecodeCommitments;
417
+ this.startingTreeRoots = startingTreeRoots;
322
418
  this.getSiblingPathHints = getSiblingPathHints;
323
419
  this.getPreviousValueIndexHints = getPreviousValueIndexHints;
324
420
  this.getLeafPreimageHintsPublicDataTree = getLeafPreimageHintsPublicDataTree;
@@ -326,6 +422,10 @@ export class AvmExecutionHints {
326
422
  this.getLeafValueHints = getLeafValueHints;
327
423
  this.sequentialInsertHintsPublicDataTree = sequentialInsertHintsPublicDataTree;
328
424
  this.sequentialInsertHintsNullifierTree = sequentialInsertHintsNullifierTree;
425
+ this.appendLeavesHints = appendLeavesHints;
426
+ this.createCheckpointHints = createCheckpointHints;
427
+ this.commitCheckpointHints = commitCheckpointHints;
428
+ this.revertCheckpointHints = revertCheckpointHints;
329
429
  }
330
430
  static empty() {
331
431
  return new AvmExecutionHints(AvmTxHint.empty());
@@ -336,37 +436,36 @@ export class AvmExecutionHints {
336
436
  contractInstances: AvmContractInstanceHint.schema.array(),
337
437
  contractClasses: AvmContractClassHint.schema.array(),
338
438
  bytecodeCommitments: AvmBytecodeCommitmentHint.schema.array(),
439
+ startingTreeRoots: TreeSnapshots.schema,
339
440
  getSiblingPathHints: AvmGetSiblingPathHint.schema.array(),
340
441
  getPreviousValueIndexHints: AvmGetPreviousValueIndexHint.schema.array(),
341
442
  getLeafPreimageHintsPublicDataTree: AvmGetLeafPreimageHintPublicDataTree.schema.array(),
342
443
  getLeafPreimageHintsNullifierTree: AvmGetLeafPreimageHintNullifierTree.schema.array(),
343
444
  getLeafValueHints: AvmGetLeafValueHint.schema.array(),
344
445
  sequentialInsertHintsPublicDataTree: AvmSequentialInsertHintPublicDataTree.schema.array(),
345
- sequentialInsertHintsNullifierTree: AvmSequentialInsertHintNullifierTree.schema.array()
346
- }).transform(({ tx, contractInstances, contractClasses, bytecodeCommitments, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree })=>new AvmExecutionHints(tx, contractInstances, contractClasses, bytecodeCommitments, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree));
446
+ sequentialInsertHintsNullifierTree: AvmSequentialInsertHintNullifierTree.schema.array(),
447
+ appendLeavesHints: AvmAppendLeavesHint.schema.array(),
448
+ createCheckpointHints: AvmCreateCheckpointHint.schema.array(),
449
+ commitCheckpointHints: AvmCommitCheckpointHint.schema.array(),
450
+ revertCheckpointHints: AvmRevertCheckpointHint.schema.array()
451
+ }).transform(({ tx, contractInstances, contractClasses, bytecodeCommitments, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints })=>new AvmExecutionHints(tx, contractInstances, contractClasses, bytecodeCommitments, startingTreeRoots, getSiblingPathHints, getPreviousValueIndexHints, getLeafPreimageHintsPublicDataTree, getLeafPreimageHintsNullifierTree, getLeafValueHints, sequentialInsertHintsPublicDataTree, sequentialInsertHintsNullifierTree, appendLeavesHints, createCheckpointHints, commitCheckpointHints, revertCheckpointHints));
347
452
  }
348
453
  }
349
454
  export class AvmCircuitInputs {
350
- functionName;
351
- calldata;
352
455
  hints;
353
456
  publicInputs;
354
- constructor(functionName, calldata, hints, publicInputs){
355
- this.functionName = functionName;
356
- this.calldata = calldata;
457
+ constructor(hints, publicInputs){
357
458
  this.hints = hints;
358
459
  this.publicInputs = publicInputs;
359
460
  }
360
461
  static empty() {
361
- return new AvmCircuitInputs('', [], AvmExecutionHints.empty(), AvmCircuitPublicInputs.empty());
462
+ return new AvmCircuitInputs(AvmExecutionHints.empty(), AvmCircuitPublicInputs.empty());
362
463
  }
363
464
  static get schema() {
364
465
  return z.object({
365
- functionName: z.string(),
366
- calldata: schemas.Fr.array(),
367
466
  hints: AvmExecutionHints.schema,
368
467
  publicInputs: AvmCircuitPublicInputs.schema
369
- }).transform(({ functionName, calldata, hints, publicInputs })=>new AvmCircuitInputs(functionName, calldata, hints, publicInputs));
468
+ }).transform(({ hints, publicInputs })=>new AvmCircuitInputs(hints, publicInputs));
370
469
  }
371
470
  serializeWithMessagePack() {
372
471
  return serializeWithMessagePack(this);