@aztec/pxe 0.32.0 → 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 (84) hide show
  1. package/dest/contract_data_oracle/index.d.ts +6 -6
  2. package/dest/contract_data_oracle/index.d.ts.map +1 -1
  3. package/dest/contract_data_oracle/index.js +1 -1
  4. package/dest/contract_data_oracle/private_functions_tree.d.ts +3 -3
  5. package/dest/contract_data_oracle/private_functions_tree.d.ts.map +1 -1
  6. package/dest/database/contracts/contract_artifact_db.d.ts +2 -2
  7. package/dest/database/contracts/contract_artifact_db.d.ts.map +1 -1
  8. package/dest/database/contracts/contract_instance_db.d.ts +2 -2
  9. package/dest/database/contracts/contract_instance_db.d.ts.map +1 -1
  10. package/dest/database/deferred_note_dao.d.ts +1 -1
  11. package/dest/database/deferred_note_dao.d.ts.map +1 -1
  12. package/dest/database/deferred_note_dao.js +1 -1
  13. package/dest/database/kv_pxe_database.d.ts +7 -7
  14. package/dest/database/kv_pxe_database.d.ts.map +1 -1
  15. package/dest/database/kv_pxe_database.js +1 -1
  16. package/dest/database/note_dao.d.ts +2 -2
  17. package/dest/database/note_dao.d.ts.map +1 -1
  18. package/dest/database/note_dao.js +1 -1
  19. package/dest/database/pxe_database.d.ts +11 -11
  20. package/dest/database/pxe_database.d.ts.map +1 -1
  21. package/dest/database/pxe_database_test_suite.d.ts +1 -1
  22. package/dest/database/pxe_database_test_suite.d.ts.map +1 -1
  23. package/dest/database/pxe_database_test_suite.js +1 -1
  24. package/dest/kernel_oracle/index.d.ts +4 -4
  25. package/dest/kernel_oracle/index.d.ts.map +1 -1
  26. package/dest/kernel_prover/hints_builder.d.ts +3 -3
  27. package/dest/kernel_prover/hints_builder.d.ts.map +1 -1
  28. package/dest/kernel_prover/kernel_prover.d.ts +5 -44
  29. package/dest/kernel_prover/kernel_prover.d.ts.map +1 -1
  30. package/dest/kernel_prover/kernel_prover.js +9 -37
  31. package/dest/kernel_prover/proof_creator.d.ts +3 -3
  32. package/dest/kernel_prover/proof_creator.d.ts.map +1 -1
  33. package/dest/kernel_prover/proof_creator.js +4 -3
  34. package/dest/kernel_prover/proving_data_oracle.d.ts +3 -3
  35. package/dest/kernel_prover/proving_data_oracle.d.ts.map +1 -1
  36. package/dest/note_processor/note_processor.d.ts +11 -13
  37. package/dest/note_processor/note_processor.d.ts.map +1 -1
  38. package/dest/note_processor/note_processor.js +18 -20
  39. package/dest/note_processor/produce_note_dao.d.ts +3 -3
  40. package/dest/note_processor/produce_note_dao.d.ts.map +1 -1
  41. package/dest/note_processor/produce_note_dao.js +1 -1
  42. package/dest/pxe_http/pxe_http_server.d.ts +1 -1
  43. package/dest/pxe_http/pxe_http_server.d.ts.map +1 -1
  44. package/dest/pxe_http/pxe_http_server.js +3 -3
  45. package/dest/pxe_service/create_pxe_service.d.ts +2 -2
  46. package/dest/pxe_service/create_pxe_service.d.ts.map +1 -1
  47. package/dest/pxe_service/pxe_service.d.ts +9 -8
  48. package/dest/pxe_service/pxe_service.d.ts.map +1 -1
  49. package/dest/pxe_service/pxe_service.js +52 -34
  50. package/dest/pxe_service/test/pxe_test_suite.d.ts +1 -1
  51. package/dest/pxe_service/test/pxe_test_suite.d.ts.map +1 -1
  52. package/dest/pxe_service/test/pxe_test_suite.js +3 -3
  53. package/dest/simulator/index.d.ts +2 -2
  54. package/dest/simulator/index.d.ts.map +1 -1
  55. package/dest/simulator_oracle/index.d.ts +7 -7
  56. package/dest/simulator_oracle/index.d.ts.map +1 -1
  57. package/dest/simulator_oracle/index.js +1 -1
  58. package/dest/synchronizer/synchronizer.d.ts +4 -4
  59. package/dest/synchronizer/synchronizer.d.ts.map +1 -1
  60. package/dest/synchronizer/synchronizer.js +9 -13
  61. package/package.json +22 -16
  62. package/src/contract_data_oracle/index.ts +9 -9
  63. package/src/contract_data_oracle/private_functions_tree.ts +3 -3
  64. package/src/database/contracts/contract_artifact_db.ts +2 -2
  65. package/src/database/contracts/contract_instance_db.ts +2 -2
  66. package/src/database/deferred_note_dao.ts +1 -1
  67. package/src/database/kv_pxe_database.ts +13 -7
  68. package/src/database/note_dao.ts +2 -2
  69. package/src/database/pxe_database.ts +12 -12
  70. package/src/database/pxe_database_test_suite.ts +3 -3
  71. package/src/kernel_oracle/index.ts +9 -9
  72. package/src/kernel_prover/hints_builder.ts +9 -9
  73. package/src/kernel_prover/kernel_prover.ts +29 -95
  74. package/src/kernel_prover/proof_creator.ts +15 -12
  75. package/src/kernel_prover/proving_data_oracle.ts +11 -11
  76. package/src/note_processor/note_processor.ts +29 -34
  77. package/src/note_processor/produce_note_dao.ts +3 -3
  78. package/src/pxe_http/pxe_http_server.ts +3 -2
  79. package/src/pxe_service/create_pxe_service.ts +2 -2
  80. package/src/pxe_service/pxe_service.ts +89 -66
  81. package/src/pxe_service/test/pxe_test_suite.ts +3 -3
  82. package/src/simulator/index.ts +2 -2
  83. package/src/simulator_oracle/index.ts +19 -19
  84. package/src/synchronizer/synchronizer.ts +23 -22
@@ -1,13 +1,20 @@
1
- import { AztecNode, KeyStore, L2BlockContext, L2BlockL2Logs, MerkleTreeId, TxHash } from '@aztec/circuit-types';
2
- import { NoteProcessorCaughtUpStats } from '@aztec/circuit-types/stats';
3
- import { AztecAddress, Fr, INITIAL_L2_BLOCK_NUM, PublicKey } from '@aztec/circuits.js';
4
- import { SerialQueue } from '@aztec/foundation/fifo';
5
- import { DebugLogger, createDebugLogger } from '@aztec/foundation/log';
1
+ import {
2
+ type AztecNode,
3
+ type KeyStore,
4
+ type L2Block,
5
+ L2BlockL2Logs,
6
+ MerkleTreeId,
7
+ type TxHash,
8
+ } from '@aztec/circuit-types';
9
+ import { type NoteProcessorCaughtUpStats } from '@aztec/circuit-types/stats';
10
+ import { type AztecAddress, type Fr, INITIAL_L2_BLOCK_NUM, type PublicKey } from '@aztec/circuits.js';
11
+ import { type SerialQueue } from '@aztec/foundation/fifo';
12
+ import { type DebugLogger, createDebugLogger } from '@aztec/foundation/log';
6
13
  import { RunningPromise } from '@aztec/foundation/running-promise';
7
14
 
8
- import { DeferredNoteDao } from '../database/deferred_note_dao.js';
9
- import { PxeDatabase } from '../database/index.js';
10
- import { NoteDao } from '../database/note_dao.js';
15
+ import { type DeferredNoteDao } from '../database/deferred_note_dao.js';
16
+ import { type PxeDatabase } from '../database/index.js';
17
+ import { type NoteDao } from '../database/note_dao.js';
11
18
  import { NoteProcessor } from '../note_processor/index.js';
12
19
 
13
20
  /**
@@ -100,17 +107,14 @@ export class Synchronizer {
100
107
 
101
108
  const encryptedLogs = blocks.flatMap(block => block.body.encryptedLogs);
102
109
 
103
- // Wrap blocks in block contexts & only keep those that match our query
104
- const blockContexts = blocks.filter(block => block.number >= from).map(block => new L2BlockContext(block));
105
-
106
110
  // Update latest tree roots from the most recent block
107
- const latestBlock = blockContexts[blockContexts.length - 1];
111
+ const latestBlock = blocks[blocks.length - 1];
108
112
  await this.setHeaderFromBlock(latestBlock);
109
113
 
110
114
  const logCount = L2BlockL2Logs.getTotalLogCount(encryptedLogs);
111
115
  this.log(`Forwarding ${logCount} encrypted logs and blocks to ${this.noteProcessors.length} note processors`);
112
116
  for (const noteProcessor of this.noteProcessors) {
113
- await noteProcessor.process(blockContexts, encryptedLogs);
117
+ await noteProcessor.process(blocks, encryptedLogs);
114
118
  }
115
119
  return true;
116
120
  } catch (err) {
@@ -178,14 +182,12 @@ export class Synchronizer {
178
182
 
179
183
  const encryptedLogs = blocks.flatMap(block => block.body.encryptedLogs);
180
184
 
181
- const blockContexts = blocks.map(block => new L2BlockContext(block));
182
-
183
185
  const logCount = L2BlockL2Logs.getTotalLogCount(encryptedLogs);
184
186
  this.log(`Forwarding ${logCount} encrypted logs and blocks to note processors in catch up mode`);
185
187
 
186
188
  for (const noteProcessor of catchUpGroup) {
187
189
  // find the index of the first block that the note processor is not yet synced to
188
- const index = blockContexts.findIndex(block => block.block.number > noteProcessor.status.syncedToBlock);
190
+ const index = blocks.findIndex(block => block.number > noteProcessor.status.syncedToBlock);
189
191
  if (index === -1) {
190
192
  // Due to the limit, we might not have fetched a new enough block for the note processor.
191
193
  // And since the group is sorted, we break as soon as we find a note processor
@@ -195,10 +197,10 @@ export class Synchronizer {
195
197
 
196
198
  this.log.debug(
197
199
  `Catching up note processor ${noteProcessor.publicKey.toString()} by processing ${
198
- blockContexts.length - index
200
+ blocks.length - index
199
201
  } blocks`,
200
202
  );
201
- await noteProcessor.process(blockContexts.slice(index), encryptedLogs.slice(index));
203
+ await noteProcessor.process(blocks.slice(index), encryptedLogs.slice(index));
202
204
 
203
205
  if (noteProcessor.status.syncedToBlock === toBlockNumber) {
204
206
  // Note processor caught up, move it to `noteProcessors` from `noteProcessorsToCatchUp`.
@@ -224,13 +226,12 @@ export class Synchronizer {
224
226
  }
225
227
  }
226
228
 
227
- private async setHeaderFromBlock(latestBlock: L2BlockContext) {
228
- const { block } = latestBlock;
229
- if (block.number < this.initialSyncBlockNumber) {
229
+ private async setHeaderFromBlock(latestBlock: L2Block) {
230
+ if (latestBlock.number < this.initialSyncBlockNumber) {
230
231
  return;
231
232
  }
232
233
 
233
- await this.db.setHeader(block.header);
234
+ await this.db.setHeader(latestBlock.header);
234
235
  }
235
236
 
236
237
  /**