@aztec/archiver 0.0.1-commit.03f7ef2 → 0.0.1-commit.04d373f

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 (235) hide show
  1. package/README.md +164 -22
  2. package/dest/archiver.d.ts +158 -0
  3. package/dest/archiver.d.ts.map +1 -0
  4. package/dest/archiver.js +881 -0
  5. package/dest/config.d.ts +33 -0
  6. package/dest/config.d.ts.map +1 -0
  7. package/dest/config.js +79 -0
  8. package/dest/errors.d.ts +87 -0
  9. package/dest/errors.d.ts.map +1 -0
  10. package/dest/errors.js +129 -0
  11. package/dest/factory.d.ts +16 -10
  12. package/dest/factory.d.ts.map +1 -1
  13. package/dest/factory.js +112 -20
  14. package/dest/index.d.ts +19 -4
  15. package/dest/index.d.ts.map +1 -1
  16. package/dest/index.js +17 -3
  17. package/dest/interfaces.d.ts +9 -0
  18. package/dest/interfaces.d.ts.map +1 -0
  19. package/dest/interfaces.js +3 -0
  20. package/dest/{archiver/l1 → l1}/bin/retrieve-calldata.d.ts +1 -1
  21. package/dest/l1/bin/retrieve-calldata.d.ts.map +1 -0
  22. package/dest/{archiver/l1 → l1}/bin/retrieve-calldata.js +35 -32
  23. package/dest/l1/calldata_retriever.d.ts +136 -0
  24. package/dest/l1/calldata_retriever.d.ts.map +1 -0
  25. package/dest/l1/calldata_retriever.js +412 -0
  26. package/dest/l1/data_retrieval.d.ts +97 -0
  27. package/dest/l1/data_retrieval.d.ts.map +1 -0
  28. package/dest/{archiver/l1 → l1}/data_retrieval.js +65 -89
  29. package/dest/{archiver/l1 → l1}/debug_tx.d.ts +1 -1
  30. package/dest/l1/debug_tx.d.ts.map +1 -0
  31. package/dest/{archiver/l1 → l1}/spire_proposer.d.ts +5 -5
  32. package/dest/l1/spire_proposer.d.ts.map +1 -0
  33. package/dest/{archiver/l1 → l1}/spire_proposer.js +9 -17
  34. package/dest/l1/trace_tx.d.ts +43 -0
  35. package/dest/l1/trace_tx.d.ts.map +1 -0
  36. package/dest/l1/types.d.ts +12 -0
  37. package/dest/l1/types.d.ts.map +1 -0
  38. package/dest/l1/validate_historical_logs.d.ts +23 -0
  39. package/dest/l1/validate_historical_logs.d.ts.map +1 -0
  40. package/dest/l1/validate_historical_logs.js +108 -0
  41. package/dest/{archiver/l1 → l1}/validate_trace.d.ts +6 -3
  42. package/dest/l1/validate_trace.d.ts.map +1 -0
  43. package/dest/{archiver/l1 → l1}/validate_trace.js +14 -10
  44. package/dest/modules/contract_data_source_adapter.d.ts +25 -0
  45. package/dest/modules/contract_data_source_adapter.d.ts.map +1 -0
  46. package/dest/modules/contract_data_source_adapter.js +40 -0
  47. package/dest/modules/data_source_base.d.ts +113 -0
  48. package/dest/modules/data_source_base.d.ts.map +1 -0
  49. package/dest/modules/data_source_base.js +351 -0
  50. package/dest/modules/data_store_updater.d.ts +105 -0
  51. package/dest/modules/data_store_updater.d.ts.map +1 -0
  52. package/dest/modules/data_store_updater.js +392 -0
  53. package/dest/modules/instrumentation.d.ts +55 -0
  54. package/dest/modules/instrumentation.d.ts.map +1 -0
  55. package/dest/modules/instrumentation.js +145 -0
  56. package/dest/modules/l1_synchronizer.d.ts +77 -0
  57. package/dest/modules/l1_synchronizer.d.ts.map +1 -0
  58. package/dest/modules/l1_synchronizer.js +1344 -0
  59. package/dest/modules/validation.d.ts +18 -0
  60. package/dest/modules/validation.d.ts.map +1 -0
  61. package/dest/{archiver → modules}/validation.js +13 -7
  62. package/dest/store/block_store.d.ts +300 -0
  63. package/dest/store/block_store.d.ts.map +1 -0
  64. package/dest/store/block_store.js +1219 -0
  65. package/dest/store/contract_class_store.d.ts +31 -0
  66. package/dest/store/contract_class_store.d.ts.map +1 -0
  67. package/dest/store/contract_class_store.js +80 -0
  68. package/dest/store/contract_instance_store.d.ts +51 -0
  69. package/dest/store/contract_instance_store.d.ts.map +1 -0
  70. package/dest/{archiver/kv_archiver_store → store}/contract_instance_store.js +38 -3
  71. package/dest/store/data_stores.d.ts +68 -0
  72. package/dest/store/data_stores.d.ts.map +1 -0
  73. package/dest/store/data_stores.js +54 -0
  74. package/dest/store/function_names_cache.d.ts +17 -0
  75. package/dest/store/function_names_cache.d.ts.map +1 -0
  76. package/dest/store/function_names_cache.js +30 -0
  77. package/dest/store/l2_tips_cache.d.ts +25 -0
  78. package/dest/store/l2_tips_cache.d.ts.map +1 -0
  79. package/dest/store/l2_tips_cache.js +26 -0
  80. package/dest/store/log_store.d.ts +59 -0
  81. package/dest/store/log_store.d.ts.map +1 -0
  82. package/dest/store/log_store.js +310 -0
  83. package/dest/store/log_store_codec.d.ts +70 -0
  84. package/dest/store/log_store_codec.d.ts.map +1 -0
  85. package/dest/store/log_store_codec.js +101 -0
  86. package/dest/store/message_store.d.ts +50 -0
  87. package/dest/store/message_store.d.ts.map +1 -0
  88. package/dest/{archiver/kv_archiver_store → store}/message_store.js +51 -9
  89. package/dest/{archiver/structs → structs}/data_retrieval.d.ts +1 -1
  90. package/dest/structs/data_retrieval.d.ts.map +1 -0
  91. package/dest/structs/inbox_message.d.ts +15 -0
  92. package/dest/structs/inbox_message.d.ts.map +1 -0
  93. package/dest/{archiver/structs → structs}/published.d.ts +1 -1
  94. package/dest/structs/published.d.ts.map +1 -0
  95. package/dest/test/fake_l1_state.d.ts +214 -0
  96. package/dest/test/fake_l1_state.d.ts.map +1 -0
  97. package/dest/test/fake_l1_state.js +517 -0
  98. package/dest/test/index.d.ts +2 -1
  99. package/dest/test/index.d.ts.map +1 -1
  100. package/dest/test/index.js +4 -1
  101. package/dest/test/mock_archiver.d.ts +2 -2
  102. package/dest/test/mock_archiver.d.ts.map +1 -1
  103. package/dest/test/mock_archiver.js +3 -3
  104. package/dest/test/mock_l1_to_l2_message_source.d.ts +2 -2
  105. package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -1
  106. package/dest/test/mock_l1_to_l2_message_source.js +14 -4
  107. package/dest/test/mock_l2_block_source.d.ts +68 -40
  108. package/dest/test/mock_l2_block_source.d.ts.map +1 -1
  109. package/dest/test/mock_l2_block_source.js +356 -131
  110. package/dest/test/mock_structs.d.ts +81 -3
  111. package/dest/test/mock_structs.d.ts.map +1 -1
  112. package/dest/test/mock_structs.js +152 -7
  113. package/dest/test/noop_l1_archiver.d.ts +29 -0
  114. package/dest/test/noop_l1_archiver.d.ts.map +1 -0
  115. package/dest/test/noop_l1_archiver.js +85 -0
  116. package/package.json +17 -18
  117. package/src/archiver.ts +681 -0
  118. package/src/{archiver/config.ts → config.ts} +45 -14
  119. package/src/errors.ts +203 -0
  120. package/src/factory.ts +175 -22
  121. package/src/index.ts +27 -3
  122. package/src/interfaces.ts +9 -0
  123. package/src/l1/README.md +55 -0
  124. package/src/{archiver/l1 → l1}/bin/retrieve-calldata.ts +45 -33
  125. package/src/l1/calldata_retriever.ts +522 -0
  126. package/src/{archiver/l1 → l1}/data_retrieval.ts +106 -134
  127. package/src/{archiver/l1 → l1}/spire_proposer.ts +7 -15
  128. package/src/l1/validate_historical_logs.ts +140 -0
  129. package/src/{archiver/l1 → l1}/validate_trace.ts +25 -7
  130. package/src/modules/contract_data_source_adapter.ts +55 -0
  131. package/src/modules/data_source_base.ts +493 -0
  132. package/src/modules/data_store_updater.ts +518 -0
  133. package/src/modules/instrumentation.ts +204 -0
  134. package/src/modules/l1_synchronizer.ts +1257 -0
  135. package/src/{archiver → modules}/validation.ts +21 -15
  136. package/src/store/block_store.ts +1590 -0
  137. package/src/store/contract_class_store.ts +108 -0
  138. package/src/{archiver/kv_archiver_store → store}/contract_instance_store.ts +52 -6
  139. package/src/store/data_stores.ts +104 -0
  140. package/src/store/function_names_cache.ts +37 -0
  141. package/src/store/l2_tips_cache.ts +35 -0
  142. package/src/store/log_store.ts +379 -0
  143. package/src/store/log_store_codec.ts +132 -0
  144. package/src/{archiver/kv_archiver_store → store}/message_store.ts +60 -10
  145. package/src/{archiver/structs → structs}/inbox_message.ts +1 -1
  146. package/src/test/fake_l1_state.ts +770 -0
  147. package/src/test/index.ts +4 -0
  148. package/src/test/mock_archiver.ts +4 -3
  149. package/src/test/mock_l1_to_l2_message_source.ts +11 -4
  150. package/src/test/mock_l2_block_source.ts +434 -144
  151. package/src/test/mock_structs.ts +283 -8
  152. package/src/test/noop_l1_archiver.ts +139 -0
  153. package/dest/archiver/archiver.d.ts +0 -304
  154. package/dest/archiver/archiver.d.ts.map +0 -1
  155. package/dest/archiver/archiver.js +0 -1645
  156. package/dest/archiver/archiver_store.d.ts +0 -308
  157. package/dest/archiver/archiver_store.d.ts.map +0 -1
  158. package/dest/archiver/archiver_store.js +0 -4
  159. package/dest/archiver/archiver_store_test_suite.d.ts +0 -8
  160. package/dest/archiver/archiver_store_test_suite.d.ts.map +0 -1
  161. package/dest/archiver/archiver_store_test_suite.js +0 -2790
  162. package/dest/archiver/config.d.ts +0 -22
  163. package/dest/archiver/config.d.ts.map +0 -1
  164. package/dest/archiver/config.js +0 -62
  165. package/dest/archiver/errors.d.ts +0 -36
  166. package/dest/archiver/errors.d.ts.map +0 -1
  167. package/dest/archiver/errors.js +0 -54
  168. package/dest/archiver/index.d.ts +0 -7
  169. package/dest/archiver/index.d.ts.map +0 -1
  170. package/dest/archiver/index.js +0 -4
  171. package/dest/archiver/instrumentation.d.ts +0 -37
  172. package/dest/archiver/instrumentation.d.ts.map +0 -1
  173. package/dest/archiver/instrumentation.js +0 -151
  174. package/dest/archiver/kv_archiver_store/block_store.d.ts +0 -157
  175. package/dest/archiver/kv_archiver_store/block_store.d.ts.map +0 -1
  176. package/dest/archiver/kv_archiver_store/block_store.js +0 -607
  177. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +0 -18
  178. package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +0 -1
  179. package/dest/archiver/kv_archiver_store/contract_class_store.js +0 -120
  180. package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +0 -24
  181. package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +0 -1
  182. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +0 -158
  183. package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +0 -1
  184. package/dest/archiver/kv_archiver_store/kv_archiver_store.js +0 -313
  185. package/dest/archiver/kv_archiver_store/log_store.d.ts +0 -45
  186. package/dest/archiver/kv_archiver_store/log_store.d.ts.map +0 -1
  187. package/dest/archiver/kv_archiver_store/log_store.js +0 -404
  188. package/dest/archiver/kv_archiver_store/message_store.d.ts +0 -40
  189. package/dest/archiver/kv_archiver_store/message_store.d.ts.map +0 -1
  190. package/dest/archiver/l1/bin/retrieve-calldata.d.ts.map +0 -1
  191. package/dest/archiver/l1/calldata_retriever.d.ts +0 -112
  192. package/dest/archiver/l1/calldata_retriever.d.ts.map +0 -1
  193. package/dest/archiver/l1/calldata_retriever.js +0 -471
  194. package/dest/archiver/l1/data_retrieval.d.ts +0 -90
  195. package/dest/archiver/l1/data_retrieval.d.ts.map +0 -1
  196. package/dest/archiver/l1/debug_tx.d.ts.map +0 -1
  197. package/dest/archiver/l1/spire_proposer.d.ts.map +0 -1
  198. package/dest/archiver/l1/trace_tx.d.ts +0 -97
  199. package/dest/archiver/l1/trace_tx.d.ts.map +0 -1
  200. package/dest/archiver/l1/types.d.ts +0 -12
  201. package/dest/archiver/l1/types.d.ts.map +0 -1
  202. package/dest/archiver/l1/validate_trace.d.ts.map +0 -1
  203. package/dest/archiver/structs/data_retrieval.d.ts.map +0 -1
  204. package/dest/archiver/structs/inbox_message.d.ts +0 -15
  205. package/dest/archiver/structs/inbox_message.d.ts.map +0 -1
  206. package/dest/archiver/structs/published.d.ts.map +0 -1
  207. package/dest/archiver/validation.d.ts +0 -17
  208. package/dest/archiver/validation.d.ts.map +0 -1
  209. package/dest/rpc/index.d.ts +0 -9
  210. package/dest/rpc/index.d.ts.map +0 -1
  211. package/dest/rpc/index.js +0 -15
  212. package/src/archiver/archiver.ts +0 -2157
  213. package/src/archiver/archiver_store.ts +0 -372
  214. package/src/archiver/archiver_store_test_suite.ts +0 -2863
  215. package/src/archiver/errors.ts +0 -90
  216. package/src/archiver/index.ts +0 -6
  217. package/src/archiver/instrumentation.ts +0 -201
  218. package/src/archiver/kv_archiver_store/block_store.ts +0 -822
  219. package/src/archiver/kv_archiver_store/contract_class_store.ts +0 -176
  220. package/src/archiver/kv_archiver_store/kv_archiver_store.ts +0 -438
  221. package/src/archiver/kv_archiver_store/log_store.ts +0 -522
  222. package/src/archiver/l1/README.md +0 -98
  223. package/src/archiver/l1/calldata_retriever.ts +0 -641
  224. package/src/rpc/index.ts +0 -16
  225. /package/dest/{archiver/l1 → l1}/debug_tx.js +0 -0
  226. /package/dest/{archiver/l1 → l1}/trace_tx.js +0 -0
  227. /package/dest/{archiver/l1 → l1}/types.js +0 -0
  228. /package/dest/{archiver/structs → structs}/data_retrieval.js +0 -0
  229. /package/dest/{archiver/structs → structs}/inbox_message.js +0 -0
  230. /package/dest/{archiver/structs → structs}/published.js +0 -0
  231. /package/src/{archiver/l1 → l1}/debug_tx.ts +0 -0
  232. /package/src/{archiver/l1 → l1}/trace_tx.ts +0 -0
  233. /package/src/{archiver/l1 → l1}/types.ts +0 -0
  234. /package/src/{archiver/structs → structs}/data_retrieval.ts +0 -0
  235. /package/src/{archiver/structs → structs}/published.ts +0 -0
@@ -1,22 +0,0 @@
1
- import { type BlobClientConfig } from '@aztec/blob-client/client/config';
2
- import { type L1ContractsConfig } from '@aztec/ethereum/config';
3
- import { type L1ReaderConfig } from '@aztec/ethereum/l1-reader';
4
- import { type ConfigMappingsType } from '@aztec/foundation/config';
5
- import { type ChainConfig } from '@aztec/stdlib/config';
6
- import type { ArchiverSpecificConfig } from '@aztec/stdlib/interfaces/server';
7
- /**
8
- * The archiver configuration.
9
- * There are 2 polling intervals used in this configuration. The first is the archiver polling interval, archiverPollingIntervalMS.
10
- * This is the interval between successive calls to eth_blockNumber via viem.
11
- * Results of calls to eth_blockNumber are cached by viem with this cache being updated periodically at the interval specified by viemPollingIntervalMS.
12
- * As a result the maximum observed polling time for new blocks will be viemPollingIntervalMS + archiverPollingIntervalMS.
13
- */
14
- export type ArchiverConfig = ArchiverSpecificConfig & L1ReaderConfig & L1ContractsConfig & BlobClientConfig & ChainConfig;
15
- export declare const archiverConfigMappings: ConfigMappingsType<ArchiverConfig>;
16
- /**
17
- * Returns the archiver configuration from the environment variables.
18
- * Note: If an environment variable is not set, the default value is used.
19
- * @returns The archiver configuration.
20
- */
21
- export declare function getArchiverConfigFromEnv(): ArchiverConfig;
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl2ZXIvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUEyQixNQUFNLGtDQUFrQyxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxLQUFLLGlCQUFpQixFQUE2QixNQUFNLHdCQUF3QixDQUFDO0FBRTNGLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBMEIsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RixPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFJeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsS0FBSyxXQUFXLEVBQXVCLE1BQU0sc0JBQXNCLENBQUM7QUFDN0UsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RTs7Ozs7O0dBTUc7QUFDSCxNQUFNLE1BQU0sY0FBYyxHQUFHLHNCQUFzQixHQUNqRCxjQUFjLEdBQ2QsaUJBQWlCLEdBQ2pCLGdCQUFnQixHQUNoQixXQUFXLENBQUM7QUFFZCxlQUFPLE1BQU0sc0JBQXNCLEVBQUUsa0JBQWtCLENBQUMsY0FBYyxDQWdEckUsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCx3QkFBZ0Isd0JBQXdCLElBQUksY0FBYyxDQUV6RCJ9
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/archiver/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,kCAAkC,CAAC;AAClG,OAAO,EAAE,KAAK,iBAAiB,EAA6B,MAAM,wBAAwB,CAAC;AAE3F,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,sBAAsB,GACjD,cAAc,GACd,iBAAiB,GACjB,gBAAgB,GAChB,WAAW,CAAC;AAEd,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,CAAC,cAAc,CAgDrE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,cAAc,CAEzD"}
@@ -1,62 +0,0 @@
1
- import { blobClientConfigMapping } from '@aztec/blob-client/client/config';
2
- import { l1ContractsConfigMappings } from '@aztec/ethereum/config';
3
- import { l1ContractAddressesMapping } from '@aztec/ethereum/l1-contract-addresses';
4
- import { l1ReaderConfigMappings } from '@aztec/ethereum/l1-reader';
5
- import { booleanConfigHelper, getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
6
- import { chainConfigMappings } from '@aztec/stdlib/config';
7
- export const archiverConfigMappings = {
8
- ...blobClientConfigMapping,
9
- archiverPollingIntervalMS: {
10
- env: 'ARCHIVER_POLLING_INTERVAL_MS',
11
- description: 'The polling interval in ms for retrieving new L2 blocks and encrypted logs.',
12
- ...numberConfigHelper(500)
13
- },
14
- archiverBatchSize: {
15
- env: 'ARCHIVER_BATCH_SIZE',
16
- description: 'The number of L2 blocks the archiver will attempt to download at a time.',
17
- ...numberConfigHelper(100)
18
- },
19
- maxLogs: {
20
- env: 'ARCHIVER_MAX_LOGS',
21
- description: 'The max number of logs that can be obtained in 1 "getPublicLogs" call.',
22
- ...numberConfigHelper(1_000)
23
- },
24
- archiverStoreMapSizeKb: {
25
- env: 'ARCHIVER_STORE_MAP_SIZE_KB',
26
- parseEnv: (val)=>val ? +val : undefined,
27
- description: 'The maximum possible size of the archiver DB in KB. Overwrites the general dataStoreMapSizeKb.'
28
- },
29
- skipValidateBlockAttestations: {
30
- description: 'Whether to skip validating block attestations (use only for testing).',
31
- ...booleanConfigHelper(false)
32
- },
33
- maxAllowedEthClientDriftSeconds: {
34
- env: 'MAX_ALLOWED_ETH_CLIENT_DRIFT_SECONDS',
35
- description: 'Maximum allowed drift in seconds between the Ethereum client and current time.',
36
- ...numberConfigHelper(300)
37
- },
38
- ethereumAllowNoDebugHosts: {
39
- env: 'ETHEREUM_ALLOW_NO_DEBUG_HOSTS',
40
- description: 'Whether to allow starting the archiver without debug/trace method support on Ethereum hosts',
41
- ...booleanConfigHelper(true)
42
- },
43
- ...chainConfigMappings,
44
- ...l1ReaderConfigMappings,
45
- viemPollingIntervalMS: {
46
- env: 'ARCHIVER_VIEM_POLLING_INTERVAL_MS',
47
- description: 'The polling interval viem uses in ms',
48
- ...numberConfigHelper(1000)
49
- },
50
- ...l1ContractsConfigMappings,
51
- l1Contracts: {
52
- description: 'The deployed L1 contract addresses',
53
- nested: l1ContractAddressesMapping
54
- }
55
- };
56
- /**
57
- * Returns the archiver configuration from the environment variables.
58
- * Note: If an environment variable is not set, the default value is used.
59
- * @returns The archiver configuration.
60
- */ export function getArchiverConfigFromEnv() {
61
- return getConfigFromMappings(archiverConfigMappings);
62
- }
@@ -1,36 +0,0 @@
1
- import type { Fr } from '@aztec/foundation/schemas';
2
- export declare class NoBlobBodiesFoundError extends Error {
3
- constructor(l2BlockNum: number);
4
- }
5
- export declare class InitialBlockNumberNotSequentialError extends Error {
6
- readonly newBlockNumber: number;
7
- readonly previousBlockNumber: number | undefined;
8
- constructor(newBlockNumber: number, previousBlockNumber: number | undefined);
9
- }
10
- export declare class BlockNumberNotSequentialError extends Error {
11
- constructor(newBlockNumber: number, previous: number | undefined);
12
- }
13
- export declare class InitialCheckpointNumberNotSequentialError extends Error {
14
- readonly newCheckpointNumber: number;
15
- readonly previousCheckpointNumber: number | undefined;
16
- constructor(newCheckpointNumber: number, previousCheckpointNumber: number | undefined);
17
- }
18
- export declare class CheckpointNumberNotSequentialError extends Error {
19
- constructor(newCheckpointNumber: number, previous: number | undefined);
20
- }
21
- export declare class CheckpointNumberNotConsistentError extends Error {
22
- constructor(newCheckpointNumber: number, previous: number | undefined);
23
- }
24
- export declare class BlockIndexNotSequentialError extends Error {
25
- constructor(newBlockIndex: number, previousBlockIndex: number | undefined);
26
- }
27
- export declare class BlockArchiveNotConsistentError extends Error {
28
- constructor(newBlockNumber: number, previousBlockNumber: number | undefined, newBlockArchive: Fr, previousBlockArchive: Fr);
29
- }
30
- export declare class CheckpointNotFoundError extends Error {
31
- constructor(checkpointNumber: number);
32
- }
33
- export declare class BlockNotFoundError extends Error {
34
- constructor(blockNumber: number);
35
- }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl2ZXIvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBELHFCQUFhLHNCQUF1QixTQUFRLEtBQUs7SUFDL0MsWUFBWSxVQUFVLEVBQUUsTUFBTSxFQUU3QjtDQUNGO0FBRUQscUJBQWEsb0NBQXFDLFNBQVEsS0FBSzthQUUzQyxjQUFjLEVBQUUsTUFBTTthQUN0QixtQkFBbUIsRUFBRSxNQUFNLEdBQUcsU0FBUztJQUZ6RCxZQUNrQixjQUFjLEVBQUUsTUFBTSxFQUN0QixtQkFBbUIsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQU94RDtDQUNGO0FBRUQscUJBQWEsNkJBQThCLFNBQVEsS0FBSztJQUN0RCxZQUFZLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBSS9EO0NBQ0Y7QUFFRCxxQkFBYSx5Q0FBMEMsU0FBUSxLQUFLO2FBRWhELG1CQUFtQixFQUFFLE1BQU07YUFDM0Isd0JBQXdCLEVBQUUsTUFBTSxHQUFHLFNBQVM7SUFGOUQsWUFDa0IsbUJBQW1CLEVBQUUsTUFBTSxFQUMzQix3QkFBd0IsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQU83RDtDQUNGO0FBRUQscUJBQWEsa0NBQW1DLFNBQVEsS0FBSztJQUMzRCxZQUFZLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFJcEU7Q0FDRjtBQUVELHFCQUFhLGtDQUFtQyxTQUFRLEtBQUs7SUFDM0QsWUFBWSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBSXBFO0NBQ0Y7QUFFRCxxQkFBYSw0QkFBNkIsU0FBUSxLQUFLO0lBQ3JELFlBQVksYUFBYSxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUl4RTtDQUNGO0FBRUQscUJBQWEsOEJBQStCLFNBQVEsS0FBSztJQUN2RCxZQUNFLGNBQWMsRUFBRSxNQUFNLEVBQ3RCLG1CQUFtQixFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQ3ZDLGVBQWUsRUFBRSxFQUFFLEVBQ25CLG9CQUFvQixFQUFFLEVBQUUsRUFLekI7Q0FDRjtBQUVELHFCQUFhLHVCQUF3QixTQUFRLEtBQUs7SUFDaEQsWUFBWSxnQkFBZ0IsRUFBRSxNQUFNLEVBRW5DO0NBQ0Y7QUFFRCxxQkFBYSxrQkFBbUIsU0FBUSxLQUFLO0lBQzNDLFlBQVksV0FBVyxFQUFFLE1BQU0sRUFFOUI7Q0FDRiJ9
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/archiver/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AAEpD,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,UAAU,EAAE,MAAM,EAE7B;CACF;AAED,qBAAa,oCAAqC,SAAQ,KAAK;aAE3C,cAAc,EAAE,MAAM;aACtB,mBAAmB,EAAE,MAAM,GAAG,SAAS;IAFzD,YACkB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,GAAG,SAAS,EAOxD;CACF;AAED,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,YAAY,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAI/D;CACF;AAED,qBAAa,yCAA0C,SAAQ,KAAK;aAEhD,mBAAmB,EAAE,MAAM;aAC3B,wBAAwB,EAAE,MAAM,GAAG,SAAS;IAF9D,YACkB,mBAAmB,EAAE,MAAM,EAC3B,wBAAwB,EAAE,MAAM,GAAG,SAAS,EAO7D;CACF;AAED,qBAAa,kCAAmC,SAAQ,KAAK;IAC3D,YAAY,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAIpE;CACF;AAED,qBAAa,kCAAmC,SAAQ,KAAK;IAC3D,YAAY,mBAAmB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAIpE;CACF;AAED,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,YAAY,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,SAAS,EAIxE;CACF;AAED,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,YACE,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,eAAe,EAAE,EAAE,EACnB,oBAAoB,EAAE,EAAE,EAKzB;CACF;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,YAAY,gBAAgB,EAAE,MAAM,EAEnC;CACF;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,WAAW,EAAE,MAAM,EAE9B;CACF"}
@@ -1,54 +0,0 @@
1
- export class NoBlobBodiesFoundError extends Error {
2
- constructor(l2BlockNum){
3
- super(`No blob bodies found for block ${l2BlockNum}`);
4
- }
5
- }
6
- export class InitialBlockNumberNotSequentialError extends Error {
7
- newBlockNumber;
8
- previousBlockNumber;
9
- constructor(newBlockNumber, previousBlockNumber){
10
- super(`Cannot insert new block ${newBlockNumber} given previous block number in store is ${previousBlockNumber ?? 'undefined'}`), this.newBlockNumber = newBlockNumber, this.previousBlockNumber = previousBlockNumber;
11
- }
12
- }
13
- export class BlockNumberNotSequentialError extends Error {
14
- constructor(newBlockNumber, previous){
15
- super(`Cannot insert new block ${newBlockNumber} given previous block number in batch is ${previous ?? 'undefined'}`);
16
- }
17
- }
18
- export class InitialCheckpointNumberNotSequentialError extends Error {
19
- newCheckpointNumber;
20
- previousCheckpointNumber;
21
- constructor(newCheckpointNumber, previousCheckpointNumber){
22
- super(`Cannot insert new checkpoint ${newCheckpointNumber} given previous checkpoint number in store is ${previousCheckpointNumber ?? 'undefined'}`), this.newCheckpointNumber = newCheckpointNumber, this.previousCheckpointNumber = previousCheckpointNumber;
23
- }
24
- }
25
- export class CheckpointNumberNotSequentialError extends Error {
26
- constructor(newCheckpointNumber, previous){
27
- super(`Cannot insert new checkpoint ${newCheckpointNumber} given previous checkpoint number in batch is ${previous ?? 'undefined'}`);
28
- }
29
- }
30
- export class CheckpointNumberNotConsistentError extends Error {
31
- constructor(newCheckpointNumber, previous){
32
- super(`Cannot insert block for new checkpoint ${newCheckpointNumber} given previous block was checkpoint ${previous ?? 'undefined'}`);
33
- }
34
- }
35
- export class BlockIndexNotSequentialError extends Error {
36
- constructor(newBlockIndex, previousBlockIndex){
37
- super(`Cannot insert new block at checkpoint index ${newBlockIndex} given previous block index is ${previousBlockIndex ?? 'undefined'}`);
38
- }
39
- }
40
- export class BlockArchiveNotConsistentError extends Error {
41
- constructor(newBlockNumber, previousBlockNumber, newBlockArchive, previousBlockArchive){
42
- super(`Cannot insert new block number ${newBlockNumber} with archive ${newBlockArchive.toString()} previous block number is ${previousBlockNumber ?? 'undefined'}, previous archive is ${previousBlockArchive?.toString() ?? 'undefined'}`);
43
- }
44
- }
45
- export class CheckpointNotFoundError extends Error {
46
- constructor(checkpointNumber){
47
- super(`Failed to find expected checkpoint number ${checkpointNumber}`);
48
- }
49
- }
50
- export class BlockNotFoundError extends Error {
51
- constructor(blockNumber){
52
- super(`Failed to find expected block number ${blockNumber}`);
53
- }
54
- }
@@ -1,7 +0,0 @@
1
- export * from './archiver.js';
2
- export * from './config.js';
3
- export { type L1PublishedData } from './structs/published.js';
4
- export type { ArchiverDataStore } from './archiver_store.js';
5
- export { KVArchiverDataStore, ARCHIVER_DB_VERSION } from './kv_archiver_store/kv_archiver_store.js';
6
- export { ContractInstanceStore } from './kv_archiver_store/contract_instance_store.js';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcmNoaXZlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGFBQWEsQ0FBQztBQUM1QixPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQyJ9
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/archiver/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpG,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC"}
@@ -1,4 +0,0 @@
1
- export * from './archiver.js';
2
- export * from './config.js';
3
- export { KVArchiverDataStore, ARCHIVER_DB_VERSION } from './kv_archiver_store/kv_archiver_store.js';
4
- export { ContractInstanceStore } from './kv_archiver_store/contract_instance_store.js';
@@ -1,37 +0,0 @@
1
- import type { L2BlockNew } from '@aztec/stdlib/block';
2
- import { type LmdbStatsCallback, type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
3
- export declare class ArchiverInstrumentation {
4
- private telemetry;
5
- readonly tracer: Tracer;
6
- private blockHeight;
7
- private txCount;
8
- private l1BlockHeight;
9
- private proofsSubmittedDelay;
10
- private proofsSubmittedCount;
11
- private dbMetrics;
12
- private pruneDuration;
13
- private pruneCount;
14
- private syncDurationPerBlock;
15
- private syncBlockCount;
16
- private manaPerBlock;
17
- private txsPerBlock;
18
- private syncDurationPerMessage;
19
- private syncMessageCount;
20
- private blockProposalTxTargetCount;
21
- private log;
22
- private constructor();
23
- static new(telemetry: TelemetryClient, lmdbStats?: LmdbStatsCallback): Promise<ArchiverInstrumentation>;
24
- isEnabled(): boolean;
25
- processNewBlocks(syncTimePerBlock: number, blocks: L2BlockNew[]): void;
26
- processNewMessages(count: number, syncPerMessageMs: number): void;
27
- processPrune(duration: number): void;
28
- updateLastProvenBlock(blockNumber: number): void;
29
- processProofsVerified(logs: {
30
- proverId: string;
31
- l2BlockNumber: bigint;
32
- delay: bigint;
33
- }[]): void;
34
- updateL1BlockHeight(blockNumber: bigint): void;
35
- recordBlockProposalTxTarget(target: string, usedTrace: boolean): void;
36
- }
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudGF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl2ZXIvaW5zdHJ1bWVudGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFLTCxLQUFLLGlCQUFpQixFQUV0QixLQUFLLGVBQWUsRUFDcEIsS0FBSyxNQUFNLEVBR1osTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxxQkFBYSx1QkFBdUI7SUEwQmhDLE9BQU8sQ0FBQyxTQUFTO0lBekJuQixTQUFnQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBRS9CLE9BQU8sQ0FBQyxXQUFXLENBQVE7SUFDM0IsT0FBTyxDQUFDLE9BQU8sQ0FBZ0I7SUFDL0IsT0FBTyxDQUFDLGFBQWEsQ0FBUTtJQUM3QixPQUFPLENBQUMsb0JBQW9CLENBQVk7SUFDeEMsT0FBTyxDQUFDLG9CQUFvQixDQUFnQjtJQUM1QyxPQUFPLENBQUMsU0FBUyxDQUFjO0lBRS9CLE9BQU8sQ0FBQyxhQUFhLENBQVk7SUFDakMsT0FBTyxDQUFDLFVBQVUsQ0FBZ0I7SUFFbEMsT0FBTyxDQUFDLG9CQUFvQixDQUFZO0lBQ3hDLE9BQU8sQ0FBQyxjQUFjLENBQWdCO0lBQ3RDLE9BQU8sQ0FBQyxZQUFZLENBQVk7SUFDaEMsT0FBTyxDQUFDLFdBQVcsQ0FBWTtJQUUvQixPQUFPLENBQUMsc0JBQXNCLENBQVk7SUFDMUMsT0FBTyxDQUFDLGdCQUFnQixDQUFnQjtJQUV4QyxPQUFPLENBQUMsMEJBQTBCLENBQWdCO0lBRWxELE9BQU8sQ0FBQyxHQUFHLENBQTRDO0lBRXZELE9BQU8sZUEwRk47SUFFRCxPQUFvQixHQUFHLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUMsRUFBRSxpQkFBaUIsb0NBVWhGO0lBRU0sU0FBUyxJQUFJLE9BQU8sQ0FFMUI7SUFFTSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQVVyRTtJQUVNLGtCQUFrQixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxRQU1oRTtJQUVNLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxRQUduQztJQUVNLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxNQUFNLFFBRS9DO0lBRU0scUJBQXFCLENBQUMsSUFBSSxFQUFFO1FBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQztRQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7UUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0tBQUUsRUFBRSxRQVc5RjtJQUVNLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxNQUFNLFFBRTdDO0lBRU0sMkJBQTJCLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxRQUtwRTtDQUNGIn0=
@@ -1 +0,0 @@
1
- {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/archiver/instrumentation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAKL,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,uBAAuB;IA0BhC,OAAO,CAAC,SAAS;IAzBnB,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,oBAAoB,CAAY;IACxC,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,SAAS,CAAc;IAE/B,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,UAAU,CAAgB;IAElC,OAAO,CAAC,oBAAoB,CAAY;IACxC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,WAAW,CAAY;IAE/B,OAAO,CAAC,sBAAsB,CAAY;IAC1C,OAAO,CAAC,gBAAgB,CAAgB;IAExC,OAAO,CAAC,0BAA0B,CAAgB;IAElD,OAAO,CAAC,GAAG,CAA4C;IAEvD,OAAO,eA0FN;IAED,OAAoB,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,iBAAiB,oCAUhF;IAEM,SAAS,IAAI,OAAO,CAE1B;IAEM,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAUrE;IAEM,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,QAMhE;IAEM,YAAY,CAAC,QAAQ,EAAE,MAAM,QAGnC;IAEM,qBAAqB,CAAC,WAAW,EAAE,MAAM,QAE/C;IAEM,qBAAqB,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,QAW9F;IAEM,mBAAmB,CAAC,WAAW,EAAE,MAAM,QAE7C;IAEM,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,QAKpE;CACF"}
@@ -1,151 +0,0 @@
1
- import { createLogger } from '@aztec/foundation/log';
2
- import { Attributes, LmdbMetrics, Metrics, ValueType } from '@aztec/telemetry-client';
3
- export class ArchiverInstrumentation {
4
- telemetry;
5
- tracer;
6
- blockHeight;
7
- txCount;
8
- l1BlockHeight;
9
- proofsSubmittedDelay;
10
- proofsSubmittedCount;
11
- dbMetrics;
12
- pruneDuration;
13
- pruneCount;
14
- syncDurationPerBlock;
15
- syncBlockCount;
16
- manaPerBlock;
17
- txsPerBlock;
18
- syncDurationPerMessage;
19
- syncMessageCount;
20
- blockProposalTxTargetCount;
21
- log;
22
- constructor(telemetry, lmdbStats){
23
- this.telemetry = telemetry;
24
- this.log = createLogger('archiver:instrumentation');
25
- this.tracer = telemetry.getTracer('Archiver');
26
- const meter = telemetry.getMeter('Archiver');
27
- this.blockHeight = meter.createGauge(Metrics.ARCHIVER_BLOCK_HEIGHT, {
28
- description: 'The height of the latest block processed by the archiver',
29
- valueType: ValueType.INT
30
- });
31
- this.l1BlockHeight = meter.createGauge(Metrics.ARCHIVER_L1_BLOCK_HEIGHT, {
32
- description: 'The height of the latest L1 block processed by the archiver',
33
- valueType: ValueType.INT
34
- });
35
- this.txCount = meter.createUpDownCounter(Metrics.ARCHIVER_TOTAL_TXS, {
36
- description: 'The total number of transactions',
37
- valueType: ValueType.INT
38
- });
39
- this.proofsSubmittedCount = meter.createUpDownCounter(Metrics.ARCHIVER_ROLLUP_PROOF_COUNT, {
40
- description: 'Number of proofs submitted',
41
- valueType: ValueType.INT
42
- });
43
- this.proofsSubmittedDelay = meter.createHistogram(Metrics.ARCHIVER_ROLLUP_PROOF_DELAY, {
44
- unit: 'ms',
45
- description: 'Time after a block is submitted until its proof is published',
46
- valueType: ValueType.INT
47
- });
48
- this.syncDurationPerBlock = meter.createHistogram(Metrics.ARCHIVER_SYNC_PER_BLOCK, {
49
- unit: 'ms',
50
- description: 'Duration to sync a block',
51
- valueType: ValueType.INT
52
- });
53
- this.syncBlockCount = meter.createUpDownCounter(Metrics.ARCHIVER_SYNC_BLOCK_COUNT, {
54
- description: 'Number of blocks synced from L1',
55
- valueType: ValueType.INT
56
- });
57
- this.manaPerBlock = meter.createHistogram(Metrics.ARCHIVER_MANA_PER_BLOCK, {
58
- description: 'The mana consumed by blocks',
59
- valueType: ValueType.DOUBLE,
60
- unit: 'Mmana'
61
- });
62
- this.txsPerBlock = meter.createHistogram(Metrics.ARCHIVER_TXS_PER_BLOCK, {
63
- description: 'The block tx count',
64
- valueType: ValueType.INT,
65
- unit: 'tx'
66
- });
67
- this.syncDurationPerMessage = meter.createHistogram(Metrics.ARCHIVER_SYNC_PER_MESSAGE, {
68
- unit: 'ms',
69
- description: 'Duration to sync a message',
70
- valueType: ValueType.INT
71
- });
72
- this.syncMessageCount = meter.createUpDownCounter(Metrics.ARCHIVER_SYNC_MESSAGE_COUNT, {
73
- description: 'Number of L1 to L2 messages synced',
74
- valueType: ValueType.INT
75
- });
76
- this.pruneDuration = meter.createHistogram(Metrics.ARCHIVER_PRUNE_DURATION, {
77
- unit: 'ms',
78
- description: 'Duration to sync a message',
79
- valueType: ValueType.INT
80
- });
81
- this.pruneCount = meter.createUpDownCounter(Metrics.ARCHIVER_PRUNE_COUNT, {
82
- description: 'Number of prunes detected',
83
- valueType: ValueType.INT
84
- });
85
- this.blockProposalTxTargetCount = meter.createUpDownCounter(Metrics.ARCHIVER_BLOCK_PROPOSAL_TX_TARGET_COUNT, {
86
- description: 'Number of block proposals by tx target',
87
- valueType: ValueType.INT
88
- });
89
- this.dbMetrics = new LmdbMetrics(meter, {
90
- [Attributes.DB_DATA_TYPE]: 'archiver'
91
- }, lmdbStats);
92
- }
93
- static async new(telemetry, lmdbStats) {
94
- const instance = new ArchiverInstrumentation(telemetry, lmdbStats);
95
- instance.syncBlockCount.add(0);
96
- instance.syncMessageCount.add(0);
97
- instance.pruneCount.add(0);
98
- await instance.telemetry.flush();
99
- return instance;
100
- }
101
- isEnabled() {
102
- return this.telemetry.isEnabled();
103
- }
104
- processNewBlocks(syncTimePerBlock, blocks) {
105
- this.syncDurationPerBlock.record(Math.ceil(syncTimePerBlock));
106
- this.blockHeight.record(Math.max(...blocks.map((b)=>b.number)));
107
- this.syncBlockCount.add(blocks.length);
108
- for (const block of blocks){
109
- this.txCount.add(block.body.txEffects.length);
110
- this.txsPerBlock.record(block.body.txEffects.length);
111
- this.manaPerBlock.record(block.header.totalManaUsed.toNumber() / 1e6);
112
- }
113
- }
114
- processNewMessages(count, syncPerMessageMs) {
115
- if (count === 0) {
116
- return;
117
- }
118
- this.syncMessageCount.add(count);
119
- this.syncDurationPerMessage.record(Math.ceil(syncPerMessageMs));
120
- }
121
- processPrune(duration) {
122
- this.pruneCount.add(1);
123
- this.pruneDuration.record(Math.ceil(duration));
124
- }
125
- updateLastProvenBlock(blockNumber) {
126
- this.blockHeight.record(blockNumber, {
127
- [Attributes.STATUS]: 'proven'
128
- });
129
- }
130
- processProofsVerified(logs) {
131
- for (const log of logs){
132
- this.log.debug('Recording proof verified event', log);
133
- this.proofsSubmittedCount.add(1, {
134
- [Attributes.ROLLUP_PROVER_ID]: log.proverId,
135
- [Attributes.PROOF_TIMED_OUT]: log.delay > 20n * 60n * 1000n
136
- });
137
- this.proofsSubmittedDelay.record(Math.ceil(Number(log.delay)), {
138
- [Attributes.ROLLUP_PROVER_ID]: log.proverId
139
- });
140
- }
141
- }
142
- updateL1BlockHeight(blockNumber) {
143
- this.l1BlockHeight.record(Number(blockNumber));
144
- }
145
- recordBlockProposalTxTarget(target, usedTrace) {
146
- this.blockProposalTxTargetCount.add(1, {
147
- [Attributes.L1_BLOCK_PROPOSAL_TX_TARGET]: target.toLowerCase(),
148
- [Attributes.L1_BLOCK_PROPOSAL_USED_TRACE]: usedTrace
149
- });
150
- }
151
- }
@@ -1,157 +0,0 @@
1
- import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
2
- import { Fr } from '@aztec/foundation/curves/bn254';
3
- import type { AztecAsyncKVStore } from '@aztec/kv-store';
4
- import type { AztecAddress } from '@aztec/stdlib/aztec-address';
5
- import { CheckpointedL2Block, L2BlockHash, L2BlockNew, type ValidateBlockResult } from '@aztec/stdlib/block';
6
- import { L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
7
- import { CheckpointHeader } from '@aztec/stdlib/rollup';
8
- import { AppendOnlyTreeSnapshot } from '@aztec/stdlib/trees';
9
- import { BlockHeader, type IndexedTxEffect, TxHash, TxReceipt } from '@aztec/stdlib/tx';
10
- export { TxReceipt, type TxEffect, type TxHash } from '@aztec/stdlib/tx';
11
- export type CheckpointData = {
12
- checkpointNumber: CheckpointNumber;
13
- header: CheckpointHeader;
14
- archive: AppendOnlyTreeSnapshot;
15
- startBlock: number;
16
- numBlocks: number;
17
- l1: L1PublishedData;
18
- attestations: Buffer[];
19
- };
20
- /**
21
- * LMDB implementation of the ArchiverDataStore interface.
22
- */
23
- export declare class BlockStore {
24
- #private;
25
- private db;
26
- constructor(db: AztecAsyncKVStore);
27
- /**
28
- * Append new blocks to the store's list. All blocks must be for the 'current' checkpoint
29
- * @param blocks - The L2 blocks to be added to the store.
30
- * @returns True if the operation is successful.
31
- */
32
- addBlocks(blocks: L2BlockNew[], opts?: {
33
- force?: boolean;
34
- }): Promise<boolean>;
35
- /**
36
- * Append new cheskpoints to the store's list.
37
- * @param checkpoints - The L2 checkpoints to be added to the store.
38
- * @returns True if the operation is successful.
39
- */
40
- addCheckpoints(checkpoints: PublishedCheckpoint[], opts?: {
41
- force?: boolean;
42
- }): Promise<boolean>;
43
- private addBlockToDatabase;
44
- /**
45
- * Unwinds checkpoints from the database
46
- * @param from - The tip of the chain, passed for verification purposes,
47
- * ensuring that we don't end up deleting something we did not intend
48
- * @param checkpointsToUnwind - The number of checkpoints we are to unwind
49
- * @returns True if the operation is successful
50
- */
51
- unwindCheckpoints(from: CheckpointNumber, checkpointsToUnwind: number): Promise<boolean>;
52
- getCheckpointData(checkpointNumber: CheckpointNumber): Promise<CheckpointData | undefined>;
53
- getRangeOfCheckpoints(from: CheckpointNumber, limit: number): Promise<CheckpointData[]>;
54
- private checkpointDataFromCheckpointStorage;
55
- getBlocksForCheckpoint(checkpointNumber: CheckpointNumber): Promise<L2BlockNew[] | undefined>;
56
- getProvenBlockNumber(): Promise<BlockNumber>;
57
- getLatestBlockNumber(): Promise<BlockNumber>;
58
- getLatestCheckpointNumber(): Promise<CheckpointNumber>;
59
- getCheckpointedBlock(number: BlockNumber): Promise<CheckpointedL2Block | undefined>;
60
- getCheckpointedBlockByHash(blockHash: Fr): Promise<CheckpointedL2Block | undefined>;
61
- getCheckpointedBlockByArchive(archive: Fr): Promise<CheckpointedL2Block | undefined>;
62
- /**
63
- * Gets up to `limit` amount of L2 blocks starting from `from`.
64
- * @param start - Number of the first block to return (inclusive).
65
- * @param limit - The number of blocks to return.
66
- * @returns The requested L2 blocks
67
- */
68
- getBlocks(start: BlockNumber, limit: number): AsyncIterableIterator<L2BlockNew>;
69
- /**
70
- * Gets an L2 block.
71
- * @param blockNumber - The number of the block to return.
72
- * @returns The requested L2 block.
73
- */
74
- getBlock(blockNumber: BlockNumber): Promise<L2BlockNew | undefined>;
75
- /**
76
- * Gets an L2 block by its hash.
77
- * @param blockHash - The hash of the block to return.
78
- * @returns The requested L2 block.
79
- */
80
- getBlockByHash(blockHash: L2BlockHash): Promise<L2BlockNew | undefined>;
81
- /**
82
- * Gets an L2 block by its archive root.
83
- * @param archive - The archive root of the block to return.
84
- * @returns The requested L2 block.
85
- */
86
- getBlockByArchive(archive: Fr): Promise<L2BlockNew | undefined>;
87
- /**
88
- * Gets a block header by its hash.
89
- * @param blockHash - The hash of the block to return.
90
- * @returns The requested block header.
91
- */
92
- getBlockHeaderByHash(blockHash: L2BlockHash): Promise<BlockHeader | undefined>;
93
- /**
94
- * Gets a block header by its archive root.
95
- * @param archive - The archive root of the block to return.
96
- * @returns The requested block header.
97
- */
98
- getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
99
- /**
100
- * Gets the headers for a sequence of L2 blocks.
101
- * @param start - Number of the first block to return (inclusive).
102
- * @param limit - The number of blocks to return.
103
- * @returns The requested L2 block headers
104
- */
105
- getBlockHeaders(start: BlockNumber, limit: number): AsyncIterableIterator<BlockHeader>;
106
- private getBlockStorages;
107
- private getBlockFromBlockStorage;
108
- /**
109
- * Gets a tx effect.
110
- * @param txHash - The hash of the tx corresponding to the tx effect.
111
- * @returns The requested tx effect with block info (or undefined if not found).
112
- */
113
- getTxEffect(txHash: TxHash): Promise<IndexedTxEffect | undefined>;
114
- /**
115
- * Gets a receipt of a settled tx.
116
- * @param txHash - The hash of a tx we try to get the receipt for.
117
- * @returns The requested tx receipt (or undefined if not found).
118
- */
119
- getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
120
- /**
121
- * Looks up which block included the requested tx effect.
122
- * @param txHash - The txHash of the tx.
123
- * @returns The block number and index of the tx.
124
- */
125
- getTxLocation(txHash: TxHash): Promise<[blockNumber: number, txIndex: number] | undefined>;
126
- /**
127
- * Looks up which block deployed a particular contract.
128
- * @param contractAddress - The address of the contract to look up.
129
- * @returns The block number and index of the contract.
130
- */
131
- getContractLocation(contractAddress: AztecAddress): Promise<[blockNumber: number, index: number] | undefined>;
132
- /**
133
- * Gets the number of the latest L2 block checkpointed.
134
- * @returns The number of the latest L2 block checkpointed.
135
- */
136
- getCheckpointedL2BlockNumber(): Promise<BlockNumber>;
137
- getLatestL2BlockNumber(): Promise<BlockNumber>;
138
- /**
139
- * Gets the most recent L1 block processed.
140
- * @returns The L1 block that published the latest L2 block
141
- */
142
- getSynchedL1BlockNumber(): Promise<bigint | undefined>;
143
- setSynchedL1BlockNumber(l1BlockNumber: bigint): Promise<boolean>;
144
- getProvenCheckpointNumber(): Promise<CheckpointNumber>;
145
- setProvenCheckpointNumber(checkpointNumber: CheckpointNumber): Promise<boolean>;
146
- /**
147
- * Gets the pending chain validation status.
148
- * @returns The validation status or undefined if not set.
149
- */
150
- getPendingChainValidationStatus(): Promise<ValidateBlockResult | undefined>;
151
- /**
152
- * Sets the pending chain validation status.
153
- * @param status - The validation status to store.
154
- */
155
- setPendingChainValidationStatus(status: ValidateBlockResult | undefined): Promise<void>;
156
- }
157
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmNoaXZlci9rdl9hcmNoaXZlcl9zdG9yZS9ibG9ja19zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBTXBELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUE2QyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BHLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFFTCxtQkFBbUIsRUFFbkIsV0FBVyxFQUNYLFVBQVUsRUFDVixLQUFLLG1CQUFtQixFQUd6QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RCxPQUFPLEVBQ0wsV0FBVyxFQUNYLEtBQUssZUFBZSxFQUVwQixNQUFNLEVBQ04sU0FBUyxFQUdWLE1BQU0sa0JBQWtCLENBQUM7QUFjMUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLFFBQVEsRUFBRSxLQUFLLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBc0J6RSxNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQzNCLGdCQUFnQixFQUFFLGdCQUFnQixDQUFDO0lBQ25DLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQztJQUN6QixPQUFPLEVBQUUsc0JBQXNCLENBQUM7SUFDaEMsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLEVBQUUs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
@@ -1 +0,0 @@
1
- {"version":3,"file":"block_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/block_store.ts"],"names":[],"mappings":"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"}