@aztec/stdlib 0.0.1-commit.3e3d0c9cd → 0.0.1-commit.3f5453c7b

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 (278) hide show
  1. package/dest/abi/abi.d.ts +138 -1
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +10 -2
  4. package/dest/abi/buffer.d.ts +14 -4
  5. package/dest/abi/buffer.d.ts.map +1 -1
  6. package/dest/abi/buffer.js +25 -4
  7. package/dest/abi/decoder.d.ts +5 -44
  8. package/dest/abi/decoder.d.ts.map +1 -1
  9. package/dest/abi/decoder.js +12 -67
  10. package/dest/abi/function_selector.js +1 -1
  11. package/dest/abi/function_signature_decoder.d.ts +43 -0
  12. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  13. package/dest/abi/function_signature_decoder.js +66 -0
  14. package/dest/abi/index.d.ts +2 -1
  15. package/dest/abi/index.d.ts.map +1 -1
  16. package/dest/abi/index.js +1 -0
  17. package/dest/abi/selector.d.ts +2 -2
  18. package/dest/abi/selector.d.ts.map +1 -1
  19. package/dest/abi/selector.js +1 -1
  20. package/dest/avm/revert_code.d.ts +8 -18
  21. package/dest/avm/revert_code.d.ts.map +1 -1
  22. package/dest/avm/revert_code.js +15 -30
  23. package/dest/block/l2_block_source.d.ts +84 -5
  24. package/dest/block/l2_block_source.d.ts.map +1 -1
  25. package/dest/block/l2_block_source.js +1 -0
  26. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +1 -1
  27. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  28. package/dest/block/l2_block_stream/l2_tips_store_base.js +17 -4
  29. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  30. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  31. package/dest/block/test/l2_tips_store_test_suite.js +3 -2
  32. package/dest/checkpoint/checkpoint.d.ts +7 -1
  33. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  34. package/dest/checkpoint/checkpoint.js +9 -1
  35. package/dest/checkpoint/checkpoint_data.d.ts +71 -5
  36. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  37. package/dest/checkpoint/checkpoint_data.js +10 -0
  38. package/dest/checkpoint/validate.js +2 -2
  39. package/dest/config/index.d.ts +2 -1
  40. package/dest/config/index.d.ts.map +1 -1
  41. package/dest/config/index.js +1 -0
  42. package/dest/config/pipelining-config.d.ts +19 -0
  43. package/dest/config/pipelining-config.d.ts.map +1 -0
  44. package/dest/config/pipelining-config.js +18 -0
  45. package/dest/config/sequencer-config.d.ts +2 -2
  46. package/dest/config/sequencer-config.d.ts.map +1 -1
  47. package/dest/config/sequencer-config.js +7 -0
  48. package/dest/contract/contract_address.d.ts +3 -3
  49. package/dest/contract/contract_address.js +3 -3
  50. package/dest/contract/contract_class_id.d.ts +2 -2
  51. package/dest/contract/contract_class_id.js +2 -2
  52. package/dest/contract/index.d.ts +1 -3
  53. package/dest/contract/index.d.ts.map +1 -1
  54. package/dest/contract/index.js +0 -2
  55. package/dest/contract/interfaces/contract_class.d.ts +3 -156
  56. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  57. package/dest/contract/interfaces/contract_class.js +1 -28
  58. package/dest/epoch-helpers/index.d.ts +7 -1
  59. package/dest/epoch-helpers/index.d.ts.map +1 -1
  60. package/dest/epoch-helpers/index.js +12 -0
  61. package/dest/file-store/factory.d.ts +4 -3
  62. package/dest/file-store/factory.d.ts.map +1 -1
  63. package/dest/file-store/factory.js +2 -2
  64. package/dest/file-store/http.d.ts +9 -2
  65. package/dest/file-store/http.d.ts.map +1 -1
  66. package/dest/file-store/http.js +20 -9
  67. package/dest/file-store/index.d.ts +2 -1
  68. package/dest/file-store/index.d.ts.map +1 -1
  69. package/dest/gas/fee_math.d.ts +49 -0
  70. package/dest/gas/fee_math.d.ts.map +1 -0
  71. package/dest/gas/fee_math.js +80 -0
  72. package/dest/gas/gas_fees.d.ts +1 -1
  73. package/dest/gas/gas_fees.d.ts.map +1 -1
  74. package/dest/gas/gas_fees.js +10 -1
  75. package/dest/gas/gas_settings.d.ts +40 -3
  76. package/dest/gas/gas_settings.d.ts.map +1 -1
  77. package/dest/gas/gas_settings.js +50 -6
  78. package/dest/gas/index.d.ts +2 -1
  79. package/dest/gas/index.d.ts.map +1 -1
  80. package/dest/gas/index.js +1 -0
  81. package/dest/hash/hash.d.ts +19 -1
  82. package/dest/hash/hash.d.ts.map +1 -1
  83. package/dest/hash/hash.js +29 -0
  84. package/dest/interfaces/archiver.d.ts +1 -1
  85. package/dest/interfaces/archiver.d.ts.map +1 -1
  86. package/dest/interfaces/archiver.js +3 -1
  87. package/dest/interfaces/aztec-node-admin.d.ts +4 -17
  88. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  89. package/dest/interfaces/aztec-node-admin.js +3 -3
  90. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  91. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  92. package/dest/interfaces/aztec-node-debug.js +18 -0
  93. package/dest/interfaces/aztec-node.d.ts +10 -1
  94. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  95. package/dest/interfaces/aztec-node.js +2 -0
  96. package/dest/interfaces/block-builder.d.ts +26 -7
  97. package/dest/interfaces/block-builder.d.ts.map +1 -1
  98. package/dest/interfaces/block-builder.js +1 -4
  99. package/dest/interfaces/client.d.ts +2 -1
  100. package/dest/interfaces/client.d.ts.map +1 -1
  101. package/dest/interfaces/client.js +1 -0
  102. package/dest/interfaces/configs.d.ts +2 -7
  103. package/dest/interfaces/configs.d.ts.map +1 -1
  104. package/dest/interfaces/configs.js +0 -1
  105. package/dest/interfaces/proving-job.d.ts +200 -200
  106. package/dest/interfaces/slasher.d.ts +1 -10
  107. package/dest/interfaces/slasher.d.ts.map +1 -1
  108. package/dest/interfaces/slasher.js +0 -2
  109. package/dest/interfaces/validator.d.ts +4 -15
  110. package/dest/interfaces/validator.d.ts.map +1 -1
  111. package/dest/interfaces/validator.js +0 -1
  112. package/dest/l1-contracts/index.d.ts +2 -2
  113. package/dest/l1-contracts/index.d.ts.map +1 -1
  114. package/dest/l1-contracts/index.js +1 -1
  115. package/dest/logs/extended_directional_app_tagging_secret.d.ts +4 -4
  116. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -1
  117. package/dest/logs/extended_directional_app_tagging_secret.js +12 -5
  118. package/dest/logs/message_context.d.ts +4 -7
  119. package/dest/logs/message_context.d.ts.map +1 -1
  120. package/dest/logs/message_context.js +23 -9
  121. package/dest/logs/pending_tagged_log.d.ts +2 -3
  122. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  123. package/dest/logs/pending_tagged_log.js +2 -2
  124. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  125. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  126. package/dest/logs/shared_secret_derivation.js +15 -9
  127. package/dest/logs/siloed_tag.d.ts +4 -1
  128. package/dest/logs/siloed_tag.d.ts.map +1 -1
  129. package/dest/logs/siloed_tag.js +7 -3
  130. package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
  131. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  132. package/dest/logs/tx_scoped_l2_log.js +7 -0
  133. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  134. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  135. package/dest/messaging/l1_to_l2_message.js +11 -13
  136. package/dest/noir/index.d.ts +3 -3
  137. package/dest/noir/index.d.ts.map +1 -1
  138. package/dest/note/note_dao.d.ts +1 -1
  139. package/dest/note/note_dao.d.ts.map +1 -1
  140. package/dest/note/note_dao.js +1 -4
  141. package/dest/p2p/checkpoint_proposal.d.ts +2 -2
  142. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  143. package/dest/p2p/checkpoint_proposal.js +3 -13
  144. package/dest/proofs/chonk_proof.d.ts +46 -2
  145. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  146. package/dest/proofs/chonk_proof.js +85 -10
  147. package/dest/slashing/index.d.ts +2 -3
  148. package/dest/slashing/index.d.ts.map +1 -1
  149. package/dest/slashing/index.js +1 -2
  150. package/dest/slashing/serialization.d.ts +2 -6
  151. package/dest/slashing/serialization.d.ts.map +1 -1
  152. package/dest/slashing/serialization.js +0 -60
  153. package/dest/slashing/types.d.ts +4 -90
  154. package/dest/slashing/types.d.ts.map +1 -1
  155. package/dest/slashing/types.js +0 -14
  156. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  157. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  158. package/dest/slashing/{tally.js → votes.js} +1 -1
  159. package/dest/tests/factories.d.ts +2 -4
  160. package/dest/tests/factories.d.ts.map +1 -1
  161. package/dest/tests/factories.js +11 -28
  162. package/dest/tests/mocks.d.ts +1 -1
  163. package/dest/tests/mocks.d.ts.map +1 -1
  164. package/dest/tests/mocks.js +13 -18
  165. package/dest/timetable/index.d.ts +51 -1
  166. package/dest/timetable/index.d.ts.map +1 -1
  167. package/dest/timetable/index.js +204 -14
  168. package/dest/tx/capsule.d.ts +6 -2
  169. package/dest/tx/capsule.d.ts.map +1 -1
  170. package/dest/tx/capsule.js +9 -3
  171. package/dest/tx/fee_provider.d.ts +10 -0
  172. package/dest/tx/fee_provider.d.ts.map +1 -0
  173. package/dest/tx/fee_provider.js +1 -0
  174. package/dest/tx/global_variable_builder.d.ts +3 -4
  175. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  176. package/dest/tx/index.d.ts +2 -1
  177. package/dest/tx/index.d.ts.map +1 -1
  178. package/dest/tx/index.js +1 -0
  179. package/dest/tx/simulated_tx.d.ts +112 -4
  180. package/dest/tx/simulated_tx.d.ts.map +1 -1
  181. package/dest/tx/simulated_tx.js +3 -3
  182. package/dest/tx/tx_receipt.d.ts +8 -4
  183. package/dest/tx/tx_receipt.d.ts.map +1 -1
  184. package/dest/tx/tx_receipt.js +8 -15
  185. package/dest/tx/validator/error_texts.d.ts +5 -1
  186. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  187. package/dest/tx/validator/error_texts.js +6 -0
  188. package/dest/world-state/genesis_data.d.ts +11 -0
  189. package/dest/world-state/genesis_data.d.ts.map +1 -0
  190. package/dest/world-state/genesis_data.js +4 -0
  191. package/dest/world-state/index.d.ts +2 -1
  192. package/dest/world-state/index.d.ts.map +1 -1
  193. package/dest/world-state/index.js +1 -0
  194. package/package.json +8 -8
  195. package/src/abi/abi.ts +25 -2
  196. package/src/abi/buffer.ts +25 -4
  197. package/src/abi/decoder.ts +23 -78
  198. package/src/abi/function_selector.ts +1 -1
  199. package/src/abi/function_signature_decoder.ts +77 -0
  200. package/src/abi/index.ts +1 -0
  201. package/src/abi/selector.ts +1 -1
  202. package/src/avm/revert_code.ts +25 -39
  203. package/src/block/l2_block_source.ts +14 -4
  204. package/src/block/l2_block_stream/l2_tips_store_base.ts +24 -12
  205. package/src/block/test/l2_tips_store_test_suite.ts +8 -1
  206. package/src/checkpoint/checkpoint.ts +11 -1
  207. package/src/checkpoint/checkpoint_data.ts +40 -4
  208. package/src/checkpoint/validate.ts +2 -2
  209. package/src/config/index.ts +1 -0
  210. package/src/config/pipelining-config.ts +31 -0
  211. package/src/config/sequencer-config.ts +11 -1
  212. package/src/contract/contract_address.ts +3 -3
  213. package/src/contract/contract_class_id.ts +2 -2
  214. package/src/contract/index.ts +0 -2
  215. package/src/contract/interfaces/contract_class.ts +2 -82
  216. package/src/epoch-helpers/index.ts +24 -0
  217. package/src/file-store/factory.ts +13 -4
  218. package/src/file-store/http.ts +29 -10
  219. package/src/file-store/index.ts +1 -0
  220. package/src/gas/README.md +31 -0
  221. package/src/gas/fee_math.ts +120 -0
  222. package/src/gas/gas_fees.ts +12 -4
  223. package/src/gas/gas_settings.ts +65 -12
  224. package/src/gas/index.ts +1 -0
  225. package/src/hash/hash.ts +34 -0
  226. package/src/interfaces/archiver.ts +3 -1
  227. package/src/interfaces/aztec-node-admin.ts +5 -7
  228. package/src/interfaces/aztec-node-debug.ts +40 -0
  229. package/src/interfaces/aztec-node.ts +15 -0
  230. package/src/interfaces/block-builder.ts +27 -9
  231. package/src/interfaces/client.ts +1 -0
  232. package/src/interfaces/configs.ts +1 -6
  233. package/src/interfaces/slasher.ts +0 -6
  234. package/src/interfaces/validator.ts +2 -9
  235. package/src/l1-contracts/index.ts +1 -1
  236. package/src/logs/extended_directional_app_tagging_secret.ts +19 -8
  237. package/src/logs/message_context.ts +17 -7
  238. package/src/logs/pending_tagged_log.ts +1 -3
  239. package/src/logs/shared_secret_derivation.ts +21 -10
  240. package/src/logs/siloed_tag.ts +7 -2
  241. package/src/logs/tx_scoped_l2_log.ts +16 -0
  242. package/src/messaging/l1_to_l2_message.ts +12 -9
  243. package/src/noir/index.ts +2 -2
  244. package/src/note/note_dao.ts +1 -4
  245. package/src/p2p/checkpoint_proposal.ts +8 -21
  246. package/src/proofs/chonk_proof.ts +91 -5
  247. package/src/slashing/index.ts +1 -2
  248. package/src/slashing/serialization.ts +1 -81
  249. package/src/slashing/types.ts +3 -35
  250. package/src/slashing/{tally.ts → votes.ts} +1 -1
  251. package/src/tests/factories.ts +5 -34
  252. package/src/tests/mocks.ts +14 -12
  253. package/src/timetable/index.ts +293 -13
  254. package/src/tx/capsule.ts +10 -2
  255. package/src/tx/fee_provider.ts +10 -0
  256. package/src/tx/global_variable_builder.ts +2 -3
  257. package/src/tx/index.ts +1 -0
  258. package/src/tx/simulated_tx.ts +6 -2
  259. package/src/tx/tx_receipt.ts +11 -14
  260. package/src/tx/validator/error_texts.ts +8 -0
  261. package/src/world-state/genesis_data.ts +15 -0
  262. package/src/world-state/index.ts +1 -0
  263. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  264. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  265. package/dest/contract/private_function_membership_proof.js +0 -124
  266. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  267. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  268. package/dest/contract/utility_function_membership_proof.js +0 -87
  269. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  270. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  271. package/dest/l1-contracts/slash_factory.js +0 -158
  272. package/dest/slashing/empire.d.ts +0 -31
  273. package/dest/slashing/empire.d.ts.map +0 -1
  274. package/dest/slashing/empire.js +0 -87
  275. package/src/contract/private_function_membership_proof.ts +0 -167
  276. package/src/contract/utility_function_membership_proof.ts +0 -118
  277. package/src/l1-contracts/slash_factory.ts +0 -180
  278. package/src/slashing/empire.ts +0 -104
@@ -11,16 +11,18 @@ import { GENESIS_CHECKPOINT_HEADER_HASH } from '../l2_block_source.js';
11
11
  }
12
12
  getL2Tips() {
13
13
  return this.runInTransaction(async ()=>{
14
- const [proposedBlockId, finalizedBlockId, provenBlockId, checkpointedBlockId] = await Promise.all([
14
+ const [proposedBlockId, finalizedBlockId, provenBlockId, checkpointedBlockId, proposedCheckpointBlockId] = await Promise.all([
15
15
  this.getBlockId('proposed'),
16
16
  this.getBlockId('finalized'),
17
17
  this.getBlockId('proven'),
18
- this.getBlockId('checkpointed')
18
+ this.getBlockId('checkpointed'),
19
+ this.getBlockId('proposedCheckpoint')
19
20
  ]);
20
- const [finalizedCheckpointId, provenCheckpointId, checkpointedCheckpointId] = await Promise.all([
21
+ const [finalizedCheckpointId, provenCheckpointId, checkpointedCheckpointId, proposedCheckpointId] = await Promise.all([
21
22
  this.getCheckpointId('finalized'),
22
23
  this.getCheckpointId('proven'),
23
- this.getCheckpointId('checkpointed')
24
+ this.getCheckpointId('checkpointed'),
25
+ this.getCheckpointId('proposedCheckpoint')
24
26
  ]);
25
27
  return {
26
28
  proposed: proposedBlockId,
@@ -35,6 +37,10 @@ import { GENESIS_CHECKPOINT_HEADER_HASH } from '../l2_block_source.js';
35
37
  checkpointed: {
36
38
  block: checkpointedBlockId,
37
39
  checkpoint: checkpointedCheckpointId
40
+ },
41
+ proposedCheckpoint: {
42
+ block: proposedCheckpointBlockId,
43
+ checkpoint: proposedCheckpointId
38
44
  }
39
45
  };
40
46
  });
@@ -124,6 +130,12 @@ import { GENESIS_CHECKPOINT_HEADER_HASH } from '../l2_block_source.js';
124
130
  await this.runInTransaction(async ()=>{
125
131
  await this.saveTag('checkpointed', event.block);
126
132
  await this.saveCheckpoint(event.checkpoint);
133
+ // proposedCheckpoint is always >= checkpointed. If checkpointed has caught up
134
+ // or surpassed it, advance proposedCheckpoint to match.
135
+ const proposedCheckpointBlock = await this.getBlockId('proposedCheckpoint');
136
+ if (event.block.number > proposedCheckpointBlock.number) {
137
+ await this.saveTag('proposedCheckpoint', event.block);
138
+ }
127
139
  });
128
140
  }
129
141
  async handleChainPruned(event) {
@@ -133,6 +145,7 @@ import { GENESIS_CHECKPOINT_HEADER_HASH } from '../l2_block_source.js';
133
145
  await this.runInTransaction(async ()=>{
134
146
  await this.saveTag('proposed', event.block);
135
147
  await this.saveTag('checkpointed', event.block);
148
+ await this.saveTag('proposedCheckpoint', event.block);
136
149
  const storeProven = await this.getBlockId('proven');
137
150
  if (storeProven.number > event.block.number) {
138
151
  await this.saveTag('proven', event.block);
@@ -1,3 +1,3 @@
1
1
  import type { L2TipsStore } from '../l2_block_stream/index.js';
2
2
  export declare function testL2TipsStore(makeTipsStore: () => Promise<L2TipsStore>): void;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdGlwc19zdG9yZV90ZXN0X3N1aXRlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svdGVzdC9sMl90aXBzX3N0b3JlX3Rlc3Rfc3VpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFL0Qsd0JBQWdCLGVBQWUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLFFBdWdCeEUifQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdGlwc19zdG9yZV90ZXN0X3N1aXRlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svdGVzdC9sMl90aXBzX3N0b3JlX3Rlc3Rfc3VpdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFL0Qsd0JBQWdCLGVBQWUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxPQUFPLENBQUMsV0FBVyxDQUFDLFFBOGdCeEUifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"l2_tips_store_test_suite.d.ts","sourceRoot":"","sources":["../../../src/block/test/l2_tips_store_test_suite.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,QAugBxE"}
1
+ {"version":3,"file":"l2_tips_store_test_suite.d.ts","sourceRoot":"","sources":["../../../src/block/test/l2_tips_store_test_suite.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE/D,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,OAAO,CAAC,WAAW,CAAC,QA8gBxE"}
@@ -62,11 +62,12 @@ export function testL2TipsStore(makeTipsStore) {
62
62
  block: makeTip(blockNumber),
63
63
  checkpoint: makeCheckpointIdForBlock(blockNumber)
64
64
  });
65
- const makeTips = (proposed, proven, finalized, checkpointed = 0)=>({
65
+ const makeTips = (proposed, proven, finalized, checkpointed = 0, proposedCheckpoint = 0)=>({
66
66
  proposed: makeTip(proposed),
67
67
  proven: makeTipId(proven),
68
68
  finalized: makeTipId(finalized),
69
- checkpointed: makeTipId(checkpointed)
69
+ checkpointed: makeTipId(checkpointed),
70
+ proposedCheckpoint: makeTipId(proposedCheckpoint)
70
71
  });
71
72
  const makeCheckpoint = async (checkpointNumber, blocks)=>{
72
73
  const checkpoint = await Checkpoint.random(CheckpointNumber(checkpointNumber), {
@@ -152,6 +152,12 @@ export declare class Checkpoint {
152
152
  * checkpoints up to and including this one in the epoch.
153
153
  */
154
154
  getCheckpointOutHash(): Fr;
155
+ /**
156
+ * Returns the out hash computed from all l2-to-l1 messages in this checkpoint.
157
+ * Note: This value is different from the out hash in the header, which is the **accumulated** out hash over all
158
+ * checkpoints up to and including this one in the epoch.
159
+ */
160
+ static getCheckpointOutHash(blocks: L2Block[]): Fr;
155
161
  getState(): import("../tx/state_reference.js").StateReference;
156
162
  toCheckpointInfo(): CheckpointInfo;
157
163
  /** Returns stats used for logging */
@@ -175,4 +181,4 @@ export declare class Checkpoint {
175
181
  } & Partial<Parameters<typeof CheckpointHeader.random>[0]> & Partial<Parameters<typeof L2Block.random>[1]>): Promise<Checkpoint>;
176
182
  }
177
183
  export {};
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NoZWNrcG9pbnQvY2hlY2twb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUwsZ0JBQWdCLEVBRWhCLHFCQUFxQixFQUNyQixVQUFVLEVBQ1gsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBNEMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUcvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRCxLQUFLLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFN0QscUJBQWEsVUFBVTtJQUVuQiw4REFBOEQ7SUFDdkQsT0FBTyxFQUFFLHNCQUFzQjtJQUN0QyxnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQUMvQixtQ0FBbUM7SUFDNUIsTUFBTSxFQUFFLE9BQU8sRUFBRTtJQUN4QixnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQUMvQix5RkFBeUY7SUFDbEYscUJBQXFCLEVBQUUsTUFBTTtJQVZ0QztJQUNFLDhEQUE4RDtJQUN2RCxPQUFPLEVBQUUsc0JBQXNCO0lBQ3RDLGdDQUFnQztJQUN6QixNQUFNLEVBQUUsZ0JBQWdCO0lBQy9CLG1DQUFtQztJQUM1QixNQUFNLEVBQUUsT0FBTyxFQUFFO0lBQ3hCLGdDQUFnQztJQUN6QixNQUFNLEVBQUUsZ0JBQWdCO0lBQy9CLHlGQUF5RjtJQUNsRixxQkFBcUIsR0FBRSxNQUFXLEVBQ3ZDO0lBRUosSUFBSSxJQUFJLElBQUksVUFBVSxDQUVyQjtJQUVELE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FhaEI7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsY0FFckM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsNEZBRTFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksY0FRM0M7SUFFTSxRQUFRLDRCQVNkO0lBRU0sWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUcxQjtJQUVNLElBQUksSUFBSSxFQUFFLENBRWhCO0lBRUQ7Ozs7T0FJRztJQUNJLG9CQUFvQixJQUFJLEVBQUUsQ0FHaEM7SUFFTSxRQUFRLHNEQUVkO0lBRU0sZ0JBQWdCLElBQUksY0FBYyxDQVF4QztJQUVELHFDQUFxQztJQUM5QixRQUFROzs7Ozs7Ozs7O01Ba0JkO0lBRUQsT0FBYSxNQUFNLENBQ2pCLGdCQUFnQixtQkFBc0IsRUFDdEMsRUFDRSxTQUFhLEVBQ2IsZ0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixxQkFBMEIsRUFDMUIsR0FBRyxPQUFPLEVBQ1gsR0FBRTtRQUNELFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNuQixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUMxQixlQUFlLENBQUMsRUFBRSxzQkFBc0IsQ0FBQztRQUN6QyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUMvQixPQUFPLENBQUMsRUFBRSxzQkFBc0IsQ0FBQztLQUNsQyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUN4RCxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFNLHVCQTJCckQ7Q0FDRiJ9
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NoZWNrcG9pbnQvY2hlY2twb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRUwsZ0JBQWdCLEVBRWhCLHFCQUFxQixFQUNyQixVQUFVLEVBQ1gsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBNEMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUcvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRCxLQUFLLGtCQUFrQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFN0QscUJBQWEsVUFBVTtJQUVuQiw4REFBOEQ7SUFDdkQsT0FBTyxFQUFFLHNCQUFzQjtJQUN0QyxnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQUMvQixtQ0FBbUM7SUFDNUIsTUFBTSxFQUFFLE9BQU8sRUFBRTtJQUN4QixnQ0FBZ0M7SUFDekIsTUFBTSxFQUFFLGdCQUFnQjtJQUMvQix5RkFBeUY7SUFDbEYscUJBQXFCLEVBQUUsTUFBTTtJQVZ0QztJQUNFLDhEQUE4RDtJQUN2RCxPQUFPLEVBQUUsc0JBQXNCO0lBQ3RDLGdDQUFnQztJQUN6QixNQUFNLEVBQUUsZ0JBQWdCO0lBQy9CLG1DQUFtQztJQUM1QixNQUFNLEVBQUUsT0FBTyxFQUFFO0lBQ3hCLGdDQUFnQztJQUN6QixNQUFNLEVBQUUsZ0JBQWdCO0lBQy9CLHlGQUF5RjtJQUNsRixxQkFBcUIsR0FBRSxNQUFXLEVBQ3ZDO0lBRUosSUFBSSxJQUFJLElBQUksVUFBVSxDQUVyQjtJQUVELE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FhaEI7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsY0FFckM7SUFFRCxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsNEZBRTFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksY0FRM0M7SUFFTSxRQUFRLDRCQVNkO0lBRU0sWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUcxQjtJQUVNLElBQUksSUFBSSxFQUFFLENBRWhCO0lBRUQ7Ozs7T0FJRztJQUNJLG9CQUFvQixJQUFJLEVBQUUsQ0FFaEM7SUFFRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBR2pEO0lBRU0sUUFBUSxzREFFZDtJQUVNLGdCQUFnQixJQUFJLGNBQWMsQ0FReEM7SUFFRCxxQ0FBcUM7SUFDOUIsUUFBUTs7Ozs7Ozs7OztNQWtCZDtJQUVELE9BQWEsTUFBTSxDQUNqQixnQkFBZ0IsbUJBQXNCLEVBQ3RDLEVBQ0UsU0FBYSxFQUNiLGdCQUFvQixFQUNwQixlQUFlLEVBQ2YscUJBQTBCLEVBQzFCLEdBQUcsT0FBTyxFQUNYLEdBQUU7UUFDRCxTQUFTLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDbkIsZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDMUIsZUFBZSxDQUFDLEVBQUUsc0JBQXNCLENBQUM7UUFDekMscUJBQXFCLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDL0IsT0FBTyxDQUFDLEVBQUUsc0JBQXNCLENBQUM7S0FDbEMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FDeEQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBTSx1QkE0QnJEO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAEhB,qBAAqB,EACrB,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAA4C,MAAM,6BAA6B,CAAC;AACrG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,KAAK,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;AAE7D,qBAAa,UAAU;IAEnB,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,yFAAyF;IAClF,qBAAqB,EAAE,MAAM;IAVtC;IACE,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,yFAAyF;IAClF,qBAAqB,GAAE,MAAW,EACvC;IAEJ,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAahB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,cAErC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,4FAE1C;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,cAQ3C;IAEM,QAAQ,4BASd;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,IAAI,IAAI,EAAE,CAEhB;IAED;;;;OAIG;IACI,oBAAoB,IAAI,EAAE,CAGhC;IAEM,QAAQ,sDAEd;IAEM,gBAAgB,IAAI,cAAc,CAQxC;IAED,qCAAqC;IAC9B,QAAQ;;;;;;;;;;MAkBd;IAED,OAAa,MAAM,CACjB,gBAAgB,mBAAsB,EACtC,EACE,SAAa,EACb,gBAAoB,EACpB,eAAe,EACf,qBAA0B,EAC1B,GAAG,OAAO,EACX,GAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,sBAAsB,CAAC;QACzC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,OAAO,CAAC,EAAE,sBAAsB,CAAC;KAClC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GACxD,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,uBA2BrD;CACF"}
1
+ {"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAEhB,qBAAqB,EACrB,UAAU,EACX,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAA4C,MAAM,6BAA6B,CAAC;AACrG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,KAAK,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;AAE7D,qBAAa,UAAU;IAEnB,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,yFAAyF;IAClF,qBAAqB,EAAE,MAAM;IAVtC;IACE,8DAA8D;IACvD,OAAO,EAAE,sBAAsB;IACtC,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,mCAAmC;IAC5B,MAAM,EAAE,OAAO,EAAE;IACxB,gCAAgC;IACzB,MAAM,EAAE,gBAAgB;IAC/B,yFAAyF;IAClF,qBAAqB,GAAE,MAAW,EACvC;IAEJ,IAAI,IAAI,IAAI,UAAU,CAErB;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAahB;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,cAErC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,kBAAkB,4FAE1C;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,cAQ3C;IAEM,QAAQ,4BASd;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,IAAI,IAAI,EAAE,CAEhB;IAED;;;;OAIG;IACI,oBAAoB,IAAI,EAAE,CAEhC;IAED;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAGjD;IAEM,QAAQ,sDAEd;IAEM,gBAAgB,IAAI,cAAc,CAQxC;IAED,qCAAqC;IAC9B,QAAQ;;;;;;;;;;MAkBd;IAED,OAAa,MAAM,CACjB,gBAAgB,mBAAsB,EACtC,EACE,SAAa,EACb,gBAAoB,EACpB,eAAe,EACf,qBAA0B,EAC1B,GAAG,OAAO,EACX,GAAE;QACD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,sBAAsB,CAAC;QACzC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,OAAO,CAAC,EAAE,sBAAsB,CAAC;KAClC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,GACxD,OAAO,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,uBA4BrD;CACF"}
@@ -70,7 +70,14 @@ export class Checkpoint {
70
70
  * Note: This value is different from the out hash in the header, which is the **accumulated** out hash over all
71
71
  * checkpoints up to and including this one in the epoch.
72
72
  */ getCheckpointOutHash() {
73
- const msgs = this.blocks.map((block)=>block.body.txEffects.map((txEffect)=>txEffect.l2ToL1Msgs));
73
+ return Checkpoint.getCheckpointOutHash(this.blocks);
74
+ }
75
+ /**
76
+ * Returns the out hash computed from all l2-to-l1 messages in this checkpoint.
77
+ * Note: This value is different from the out hash in the header, which is the **accumulated** out hash over all
78
+ * checkpoints up to and including this one in the epoch.
79
+ */ static getCheckpointOutHash(blocks) {
80
+ const msgs = blocks.map((block)=>block.body.txEffects.map((txEffect)=>txEffect.l2ToL1Msgs));
74
81
  return computeCheckpointOutHash(msgs);
75
82
  }
76
83
  getState() {
@@ -114,6 +121,7 @@ export class Checkpoint {
114
121
  let lastArchive = previousArchive;
115
122
  for(let i = 0; i < numBlocks; i++){
116
123
  const block = await L2Block.random(BlockNumber(startBlockNumber + i), {
124
+ checkpointNumber,
117
125
  indexWithinCheckpoint: IndexWithinCheckpoint(i),
118
126
  ...options,
119
127
  ...lastArchive ? {
@@ -5,17 +5,83 @@ import { CommitteeAttestation } from '../block/proposal/committee_attestation.js
5
5
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
6
6
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
7
7
  import { L1PublishedData } from './published_checkpoint.js';
8
- /** Lightweight checkpoint metadata without full block data. */
9
- export type CheckpointData = {
8
+ /** Base type for checkpoint data */
9
+ export type CommonCheckpointData = {
10
10
  checkpointNumber: CheckpointNumber;
11
11
  header: CheckpointHeader;
12
- archive: AppendOnlyTreeSnapshot;
13
- checkpointOutHash: Fr;
14
12
  startBlock: BlockNumber;
15
13
  blockCount: number;
14
+ };
15
+ /** Data stored with checkpoint data after publishing on l1 */
16
+ export type L1EnrichedCheckpointData = {
16
17
  attestations: CommitteeAttestation[];
17
18
  l1: L1PublishedData;
18
19
  };
20
+ /** Data stored alongside checkpoint data in storage */
21
+ export type StorageEnrichedCheckpointData = {
22
+ archive: AppendOnlyTreeSnapshot;
23
+ checkpointOutHash: Fr;
24
+ };
25
+ /** Data stored only with proposed checkpoint data */
26
+ export type ProposedOnlyCheckpointData = {
27
+ totalManaUsed: bigint;
28
+ feeAssetPriceModifier: bigint;
29
+ };
30
+ /** Lightweight checkpoint metadata without full block data. */
31
+ export type CheckpointData = CommonCheckpointData & StorageEnrichedCheckpointData & L1EnrichedCheckpointData;
32
+ /** Input for setting a proposed checkpoint. The archive and checkpointOutHash are computed
33
+ * internally by the block store from the stored blocks. */
34
+ export type ProposedCheckpointInput = CommonCheckpointData & ProposedOnlyCheckpointData;
35
+ /** Full data for a proposed checkpoint (proposed but not yet L1-confirmed).
36
+ * Includes fee-relevant fields used during pipelining to compute the fee header override. */
37
+ export type ProposedCheckpointData = ProposedCheckpointInput & StorageEnrichedCheckpointData;
38
+ export declare const ProposedCheckpointDataSchema: z.ZodObject<{
39
+ checkpointNumber: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
40
+ header: import("@aztec/foundation/schemas").ZodFor<CheckpointHeader>;
41
+ archive: z.ZodEffects<z.ZodObject<{
42
+ root: z.ZodType<Fr, any, string>;
43
+ nextAvailableLeafIndex: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
44
+ }, "strip", z.ZodTypeAny, {
45
+ root: Fr;
46
+ nextAvailableLeafIndex: number;
47
+ }, {
48
+ root: string;
49
+ nextAvailableLeafIndex: string | number | bigint;
50
+ }>, AppendOnlyTreeSnapshot, {
51
+ root: string;
52
+ nextAvailableLeafIndex: string | number | bigint;
53
+ }>;
54
+ checkpointOutHash: z.ZodType<Fr, any, string>;
55
+ startBlock: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
56
+ blockCount: z.ZodNumber;
57
+ totalManaUsed: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
58
+ feeAssetPriceModifier: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
59
+ }, "strip", z.ZodTypeAny, {
60
+ checkpointNumber: number & {
61
+ _branding: "CheckpointNumber";
62
+ };
63
+ header: CheckpointHeader;
64
+ archive: AppendOnlyTreeSnapshot;
65
+ checkpointOutHash: Fr;
66
+ startBlock: number & {
67
+ _branding: "BlockNumber";
68
+ };
69
+ blockCount: number;
70
+ totalManaUsed: bigint;
71
+ feeAssetPriceModifier: bigint;
72
+ }, {
73
+ checkpointNumber: string | number | bigint;
74
+ header?: any;
75
+ archive: {
76
+ root: string;
77
+ nextAvailableLeafIndex: string | number | bigint;
78
+ };
79
+ checkpointOutHash: string;
80
+ startBlock: string | number | bigint;
81
+ blockCount: number;
82
+ totalManaUsed: string | number | bigint;
83
+ feeAssetPriceModifier: string | number | bigint;
84
+ }>;
19
85
  export declare const CheckpointDataSchema: z.ZodEffects<z.ZodObject<{
20
86
  checkpointNumber: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
21
87
  header: import("@aztec/foundation/schemas").ZodFor<CheckpointHeader>;
@@ -117,4 +183,4 @@ export declare const CheckpointDataSchema: z.ZodEffects<z.ZodObject<{
117
183
  blockHash: string;
118
184
  };
119
185
  }>;
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9kYXRhLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hlY2twb2ludC9jaGVja3BvaW50X2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFFWCxnQkFBZ0IsRUFFakIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsK0RBQStEO0FBQy9ELE1BQU0sTUFBTSxjQUFjLEdBQUc7SUFDM0IsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUM7SUFDbkMsTUFBTSxFQUFFLGdCQUFnQixDQUFDO0lBQ3pCLE9BQU8sRUFBRSxzQkFBc0IsQ0FBQztJQUNoQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7SUFDdEIsVUFBVSxFQUFFLFdBQVcsQ0FBQztJQUN4QixVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0lBQ3JDLEVBQUUsRUFBRSxlQUFlLENBQUM7Q0FDckIsQ0FBQztBQUVGLGVBQU8sTUFBTSxvQkFBb0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFzQjlCLENBQUMifQ==
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9kYXRhLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hlY2twb2ludC9jaGVja3BvaW50X2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFFWCxnQkFBZ0IsRUFFakIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsb0NBQW9DO0FBQ3BDLE1BQU0sTUFBTSxvQkFBb0IsR0FBRztJQUNqQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztJQUNuQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUM7SUFDekIsVUFBVSxFQUFFLFdBQVcsQ0FBQztJQUN4QixVQUFVLEVBQUUsTUFBTSxDQUFDO0NBQ3BCLENBQUM7QUFFRiw4REFBOEQ7QUFDOUQsTUFBTSxNQUFNLHdCQUF3QixHQUFHO0lBQ3JDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0lBQ3JDLEVBQUUsRUFBRSxlQUFlLENBQUM7Q0FDckIsQ0FBQztBQUVGLHVEQUF1RDtBQUN2RCxNQUFNLE1BQU0sNkJBQTZCLEdBQUc7SUFDMUMsT0FBTyxFQUFFLHNCQUFzQixDQUFDO0lBQ2hDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztDQUN2QixDQUFDO0FBRUYsc0RBQXNEO0FBQ3RELE1BQU0sTUFBTSwwQkFBMEIsR0FBRztJQUN2QyxhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLHFCQUFxQixFQUFFLE1BQU0sQ0FBQztDQUMvQixDQUFDO0FBRUYsK0RBQStEO0FBQy9ELE1BQU0sTUFBTSxjQUFjLEdBQUcsb0JBQW9CLEdBQUcsNkJBQTZCLEdBQUcsd0JBQXdCLENBQUM7QUFFN0c7NERBQzREO0FBQzVELE1BQU0sTUFBTSx1QkFBdUIsR0FBRyxvQkFBb0IsR0FBRywwQkFBMEIsQ0FBQztBQUV4Rjs4RkFDOEY7QUFDOUYsTUFBTSxNQUFNLHNCQUFzQixHQUFHLHVCQUF1QixHQUFHLDZCQUE2QixDQUFDO0FBRTdGLGVBQU8sTUFBTSw0QkFBNEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFTdkMsQ0FBQztBQUVILGVBQU8sTUFBTSxvQkFBb0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFzQjlCLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint_data.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint_data.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,gBAAgB,EAEjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GAAG;IAC3B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,sBAAsB,CAAC;IAChC,iBAAiB,EAAE,EAAE,CAAC;IACtB,UAAU,EAAE,WAAW,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,EAAE,EAAE,eAAe,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsB9B,CAAC"}
1
+ {"version":3,"file":"checkpoint_data.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint_data.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,gBAAgB,EAEjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,oCAAoC;AACpC,MAAM,MAAM,oBAAoB,GAAG;IACjC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,WAAW,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,8DAA8D;AAC9D,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,EAAE,EAAE,eAAe,CAAC;CACrB,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,sBAAsB,CAAC;IAChC,iBAAiB,EAAE,EAAE,CAAC;CACvB,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,0BAA0B,GAAG;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,6BAA6B,GAAG,wBAAwB,CAAC;AAE7G;4DAC4D;AAC5D,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GAAG,0BAA0B,CAAC;AAExF;8FAC8F;AAC9F,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,GAAG,6BAA6B,CAAC;AAE7F,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASvC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsB9B,CAAC"}
@@ -5,6 +5,16 @@ import { CommitteeAttestation } from '../block/proposal/committee_attestation.js
5
5
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
6
6
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
7
7
  import { L1PublishedData } from './published_checkpoint.js';
8
+ export const ProposedCheckpointDataSchema = z.object({
9
+ checkpointNumber: CheckpointNumberSchema,
10
+ header: CheckpointHeader.schema,
11
+ archive: AppendOnlyTreeSnapshot.schema,
12
+ checkpointOutHash: schemas.Fr,
13
+ startBlock: BlockNumberSchema,
14
+ blockCount: z.number(),
15
+ totalManaUsed: schemas.BigInt,
16
+ feeAssetPriceModifier: schemas.BigInt
17
+ });
8
18
  export const CheckpointDataSchema = z.object({
9
19
  checkpointNumber: CheckpointNumberSchema,
10
20
  header: CheckpointHeader.schema,
@@ -19,7 +19,7 @@ export class CheckpointValidationError extends Error {
19
19
  */ export function validateCheckpoint(checkpoint, opts) {
20
20
  validateCheckpointStructure(checkpoint);
21
21
  validateCheckpointLimits(checkpoint, opts);
22
- validateCheckpointBlocksGasLimits(checkpoint, opts);
22
+ validateCheckpointBlocksLimits(checkpoint, opts);
23
23
  }
24
24
  /**
25
25
  * Validates structural integrity of a checkpoint.
@@ -66,7 +66,7 @@ export class CheckpointValidationError extends Error {
66
66
  }
67
67
  }
68
68
  }
69
- /** Validates checkpoint blocks gas limits */ function validateCheckpointBlocksGasLimits(checkpoint, opts) {
69
+ /** Validates checkpoint blocks gas limits */ function validateCheckpointBlocksLimits(checkpoint, opts) {
70
70
  const { maxL2BlockGas, maxDABlockGas, maxTxsPerBlock } = opts;
71
71
  if (maxL2BlockGas !== undefined) {
72
72
  for (const block of checkpoint.blocks){
@@ -1,4 +1,5 @@
1
1
  export * from './chain-config.js';
2
2
  export * from './node-rpc-config.js';
3
+ export * from './pipelining-config.js';
3
4
  export * from './sequencer-config.js';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsdUJBQXVCLENBQUMifQ==
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx1QkFBdUIsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './chain-config.js';
2
2
  export * from './node-rpc-config.js';
3
+ export * from './pipelining-config.js';
3
4
  export * from './sequencer-config.js';
@@ -0,0 +1,19 @@
1
+ import { type ConfigMappingsType } from '@aztec/foundation/config';
2
+ import { z } from 'zod';
3
+ export type PipelineConfig = {
4
+ /** Whether to enable build-ahead proposer pipelining. */
5
+ enableProposerPipelining: boolean;
6
+ };
7
+ /**
8
+ * Pipelining config mappings for fields that need to be shared across packages.
9
+ */
10
+ export declare const pipelineConfigMappings: ConfigMappingsType<PipelineConfig>;
11
+ export declare const PipelineConfigSchema: z.ZodObject<{
12
+ enableProposerPipelining: z.ZodBoolean;
13
+ }, "strip", z.ZodTypeAny, {
14
+ enableProposerPipelining: boolean;
15
+ }, {
16
+ enableProposerPipelining: boolean;
17
+ }>;
18
+ export declare function getPipelineConfigEnvVars(): PipelineConfig;
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmluZy1jb25maWcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvcGlwZWxpbmluZy1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQThDLE1BQU0sMEJBQTBCLENBQUM7QUFFL0csT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUl4QixNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQzNCLHlEQUF5RDtJQUN6RCx3QkFBd0IsRUFBRSxPQUFPLENBQUM7Q0FDbkMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsZUFBTyxNQUFNLHNCQUFzQixFQUFFLGtCQUFrQixDQUFDLGNBQWMsQ0FNckUsQ0FBQztBQUVGLGVBQU8sTUFBTSxvQkFBb0I7Ozs7OztFQUloQyxDQUFDO0FBRUYsd0JBQWdCLHdCQUF3QixJQUFJLGNBQWMsQ0FFekQifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelining-config.d.ts","sourceRoot":"","sources":["../../src/config/pipelining-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAA8C,MAAM,0BAA0B,CAAC;AAE/G,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,MAAM,cAAc,GAAG;IAC3B,yDAAyD;IACzD,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,CAAC,cAAc,CAMrE,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;EAIhC,CAAC;AAEF,wBAAgB,wBAAwB,IAAI,cAAc,CAEzD"}
@@ -0,0 +1,18 @@
1
+ import { booleanConfigHelper, getConfigFromMappings } from '@aztec/foundation/config';
2
+ import { z } from 'zod';
3
+ import { zodFor } from '../schemas/index.js';
4
+ /**
5
+ * Pipelining config mappings for fields that need to be shared across packages.
6
+ */ export const pipelineConfigMappings = {
7
+ enableProposerPipelining: {
8
+ env: 'SEQ_ENABLE_PROPOSER_PIPELINING',
9
+ description: 'Whether to enable build-ahead proposer pipelining.',
10
+ ...booleanConfigHelper(false)
11
+ }
12
+ };
13
+ export const PipelineConfigSchema = zodFor()(z.object({
14
+ enableProposerPipelining: z.boolean()
15
+ }));
16
+ export function getPipelineConfigEnvVars() {
17
+ return getConfigFromMappings(pipelineConfigMappings);
18
+ }
@@ -8,5 +8,5 @@ export declare const DEFAULT_MAX_TXS_PER_BLOCK = 32;
8
8
  * (like blockDurationMs needed by both p2p and sequencer-client) are defined here
9
9
  * to avoid duplication.
10
10
  */
11
- export declare const sharedSequencerConfigMappings: ConfigMappingsType<Pick<SequencerConfig, 'blockDurationMs' | 'expectedBlockProposalsPerSlot' | 'maxTxsPerBlock'>>;
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLWNvbmZpZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9zZXF1ZW5jZXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbkUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFaEUsd0RBQXdEO0FBQ3hELGVBQU8sTUFBTSx5QkFBeUIsS0FBSyxDQUFDO0FBRTVDOzs7OztHQUtHO0FBQ0gsZUFBTyxNQUFNLDZCQUE2QixFQUFFLGtCQUFrQixDQUM1RCxJQUFJLENBQUMsZUFBZSxFQUFFLGlCQUFpQixHQUFHLCtCQUErQixHQUFHLGdCQUFnQixDQUFDLENBc0I5RixDQUFDIn0=
11
+ export declare const sharedSequencerConfigMappings: ConfigMappingsType<Pick<SequencerConfig, 'blockDurationMs' | 'expectedBlockProposalsPerSlot' | 'maxTxsPerBlock' | 'attestationPropagationTime'>>;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLWNvbmZpZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9zZXF1ZW5jZXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbkUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHaEUsd0RBQXdEO0FBQ3hELGVBQU8sTUFBTSx5QkFBeUIsS0FBSyxDQUFDO0FBRTVDOzs7OztHQUtHO0FBQ0gsZUFBTyxNQUFNLDZCQUE2QixFQUFFLGtCQUFrQixDQUM1RCxJQUFJLENBQ0YsZUFBZSxFQUNmLGlCQUFpQixHQUFHLCtCQUErQixHQUFHLGdCQUFnQixHQUFHLDRCQUE0QixDQUN0RyxDQTRCRixDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"sequencer-config.d.ts","sourceRoot":"","sources":["../../src/config/sequencer-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,wDAAwD;AACxD,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAC5D,IAAI,CAAC,eAAe,EAAE,iBAAiB,GAAG,+BAA+B,GAAG,gBAAgB,CAAC,CAsB9F,CAAC"}
1
+ {"version":3,"file":"sequencer-config.d.ts","sourceRoot":"","sources":["../../src/config/sequencer-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,wDAAwD;AACxD,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAC5D,IAAI,CACF,eAAe,EACf,iBAAiB,GAAG,+BAA+B,GAAG,gBAAgB,GAAG,4BAA4B,CACtG,CA4BF,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { DEFAULT_P2P_PROPAGATION_TIME } from '../timetable/index.js';
1
2
  /** Default maximum number of transactions per block. */ export const DEFAULT_MAX_TXS_PER_BLOCK = 32;
2
3
  /**
3
4
  * Partial sequencer config mappings for fields that need to be shared across packages.
@@ -20,5 +21,11 @@
20
21
  env: 'SEQ_MAX_TX_PER_BLOCK',
21
22
  description: 'The maximum number of txs to include in a block.',
22
23
  parseEnv: (val)=>val ? parseInt(val, 10) : undefined
24
+ },
25
+ attestationPropagationTime: {
26
+ env: 'SEQ_ATTESTATION_PROPAGATION_TIME',
27
+ description: 'How many seconds it takes for proposals and attestations to travel across the p2p layer (one-way).',
28
+ parseEnv: (val)=>val ? parseFloat(val) : undefined,
29
+ defaultValue: DEFAULT_P2P_PROPAGATION_TIME
23
30
  }
24
31
  };
@@ -5,9 +5,9 @@ import type { ContractInstance } from './interfaces/contract_instance.js';
5
5
  /**
6
6
  * Returns the deployment address for a given contract instance.
7
7
  * ```
8
- * salted_initialization_hash = pedersen([salt, initialization_hash, deployer], GENERATOR__SALTED_INITIALIZATION_HASH)
9
- * partial_address = pedersen([contract_class_id, salted_initialization_hash], GENERATOR__CONTRACT_PARTIAL_ADDRESS_V1)
10
- * address = ((poseidon2Hash([public_keys_hash, partial_address, GENERATOR__CONTRACT_ADDRESS_V1]) * G) + ivpk_m).x <- the x-coordinate of the address point
8
+ * salted_initialization_hash = poseidon2(DOM_SEP__PARTIAL_ADDRESS, [salt, initialization_hash, deployer])
9
+ * partial_address = poseidon2(DOM_SEP__PARTIAL_ADDRESS, [contract_class_id, salted_initialization_hash])
10
+ * address = ((poseidon2(DOM_SEP__CONTRACT_ADDRESS_V1, [public_keys_hash, partial_address]) * G) + ivpk_m).x <- the x-coordinate of the address point
11
11
  * ```
12
12
  * @param instance - A contract instance for which to calculate the deployment address.
13
13
  */
@@ -8,9 +8,9 @@ import { computeAddress } from '../keys/index.js';
8
8
  /**
9
9
  * Returns the deployment address for a given contract instance.
10
10
  * ```
11
- * salted_initialization_hash = pedersen([salt, initialization_hash, deployer], GENERATOR__SALTED_INITIALIZATION_HASH)
12
- * partial_address = pedersen([contract_class_id, salted_initialization_hash], GENERATOR__CONTRACT_PARTIAL_ADDRESS_V1)
13
- * address = ((poseidon2Hash([public_keys_hash, partial_address, GENERATOR__CONTRACT_ADDRESS_V1]) * G) + ivpk_m).x <- the x-coordinate of the address point
11
+ * salted_initialization_hash = poseidon2(DOM_SEP__PARTIAL_ADDRESS, [salt, initialization_hash, deployer])
12
+ * partial_address = poseidon2(DOM_SEP__PARTIAL_ADDRESS, [contract_class_id, salted_initialization_hash])
13
+ * address = ((poseidon2(DOM_SEP__CONTRACT_ADDRESS_V1, [public_keys_hash, partial_address]) * G) + ivpk_m).x <- the x-coordinate of the address point
14
14
  * ```
15
15
  * @param instance - A contract instance for which to calculate the deployment address.
16
16
  */ export async function computeContractAddressFromInstance(instance) {
@@ -5,10 +5,10 @@ import type { ContractClass } from './interfaces/contract_class.js';
5
5
  *
6
6
  * ```
7
7
  * version = 1
8
- * private_function_leaves = private_functions.map(fn => pedersen([fn.function_selector as Field, fn.vk_hash], GENERATOR__PRIVATE_FUNCTION_LEAF))
8
+ * private_function_leaves = private_functions.map(fn => poseidon2(DOM_SEP__PRIVATE_FUNCTION_LEAF, [fn.function_selector as Field, fn.vk_hash]))
9
9
  * private_functions_root = merkleize(private_function_leaves)
10
10
  * bytecode_commitment = calculate_commitment(packed_bytecode)
11
- * contract_class_id = pedersen([version, artifact_hash, private_functions_root, bytecode_commitment], GENERATOR__CLASS_IDENTIFIER)
11
+ * contract_class_id = poseidon2(DOM_SEP__CONTRACT_CLASS_ID, [version, artifact_hash, private_functions_root, bytecode_commitment])
12
12
  * ```
13
13
  * @param contractClass - Contract class.
14
14
  * @returns The identifier.
@@ -9,10 +9,10 @@ import { computePrivateFunctionsRoot } from './private_function.js';
9
9
  *
10
10
  * ```
11
11
  * version = 1
12
- * private_function_leaves = private_functions.map(fn => pedersen([fn.function_selector as Field, fn.vk_hash], GENERATOR__PRIVATE_FUNCTION_LEAF))
12
+ * private_function_leaves = private_functions.map(fn => poseidon2(DOM_SEP__PRIVATE_FUNCTION_LEAF, [fn.function_selector as Field, fn.vk_hash]))
13
13
  * private_functions_root = merkleize(private_function_leaves)
14
14
  * bytecode_commitment = calculate_commitment(packed_bytecode)
15
- * contract_class_id = pedersen([version, artifact_hash, private_functions_root, bytecode_commitment], GENERATOR__CLASS_IDENTIFIER)
15
+ * contract_class_id = poseidon2(DOM_SEP__CONTRACT_CLASS_ID, [version, artifact_hash, private_functions_root, bytecode_commitment])
16
16
  * ```
17
17
  * @param contractClass - Contract class.
18
18
  * @returns The identifier.
@@ -6,11 +6,9 @@ export * from './contract_deployment_data.js';
6
6
  export * from './contract_instance.js';
7
7
  export * from './contract_instance_update.js';
8
8
  export * from './private_function.js';
9
- export * from './private_function_membership_proof.js';
10
- export * from './utility_function_membership_proof.js';
11
9
  export * from './interfaces/index.js';
12
10
  export * from './contract_function_dao.js';
13
11
  export * from './partial_address.js';
14
12
  export * from './deployment_info.js';
15
13
  export * from './complete_address.js';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQyJ9
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHVCQUF1QixDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wCAAwC,CAAC;AACvD,cAAc,wCAAwC,CAAC;AACvD,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC"}
@@ -6,8 +6,6 @@ export * from './contract_deployment_data.js';
6
6
  export * from './contract_instance.js';
7
7
  export * from './contract_instance_update.js';
8
8
  export * from './private_function.js';
9
- export * from './private_function_membership_proof.js';
10
- export * from './utility_function_membership_proof.js';
11
9
  export * from './interfaces/index.js';
12
10
  export * from './contract_function_dao.js';
13
11
  export * from './partial_address.js';