@aztec/stdlib 0.0.1-commit.6c91f13 → 0.0.1-commit.96bb3f7

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 (240) hide show
  1. package/dest/abi/contract_artifact.d.ts +2 -2
  2. package/dest/abi/contract_artifact.d.ts.map +1 -1
  3. package/dest/abi/contract_artifact.js +1 -1
  4. package/dest/abi/selector.js +3 -1
  5. package/dest/avm/avm_accumulated_data.js +5 -2
  6. package/dest/avm/avm_circuit_public_inputs.js +3 -1
  7. package/dest/avm/public_data_update_request.js +3 -1
  8. package/dest/avm/public_inner_call_request.js +3 -1
  9. package/dest/avm/revert_code.js +3 -1
  10. package/dest/aztec-address/index.js +4 -2
  11. package/dest/block/attestation_info.d.ts +5 -5
  12. package/dest/block/attestation_info.d.ts.map +1 -1
  13. package/dest/block/attestation_info.js +4 -4
  14. package/dest/block/body.js +3 -1
  15. package/dest/block/l2_block.d.ts +6 -3
  16. package/dest/block/l2_block.d.ts.map +1 -1
  17. package/dest/block/l2_block.js +6 -4
  18. package/dest/block/l2_block_code_to_purge.d.ts +2 -3
  19. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  20. package/dest/block/l2_block_code_to_purge.js +2 -8
  21. package/dest/block/l2_block_header.d.ts +8 -12
  22. package/dest/block/l2_block_header.d.ts.map +1 -1
  23. package/dest/block/l2_block_header.js +25 -18
  24. package/dest/block/l2_block_new.d.ts +1 -2
  25. package/dest/block/l2_block_new.d.ts.map +1 -1
  26. package/dest/block/l2_block_new.js +4 -1
  27. package/dest/block/l2_block_source.d.ts +245 -41
  28. package/dest/block/l2_block_source.d.ts.map +1 -1
  29. package/dest/block/l2_block_source.js +23 -5
  30. package/dest/block/l2_block_stream/index.d.ts +2 -1
  31. package/dest/block/l2_block_stream/index.d.ts.map +1 -1
  32. package/dest/block/l2_block_stream/index.js +1 -0
  33. package/dest/block/l2_block_stream/interfaces.d.ts +12 -5
  34. package/dest/block/l2_block_stream/interfaces.d.ts.map +1 -1
  35. package/dest/block/l2_block_stream/l2_block_stream.d.ts +4 -2
  36. package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
  37. package/dest/block/l2_block_stream/l2_block_stream.js +102 -30
  38. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +24 -16
  39. package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
  40. package/dest/block/l2_block_stream/l2_tips_memory_store.js +55 -61
  41. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +49 -0
  42. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -0
  43. package/dest/block/l2_block_stream/l2_tips_store_base.js +179 -0
  44. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  45. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  46. package/dest/block/test/l2_tips_store_test_suite.js +483 -38
  47. package/dest/block/validate_block_result.d.ts +24 -24
  48. package/dest/block/validate_block_result.d.ts.map +1 -1
  49. package/dest/block/validate_block_result.js +13 -13
  50. package/dest/checkpoint/checkpoint.d.ts +1 -1
  51. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  52. package/dest/checkpoint/checkpoint.js +1 -0
  53. package/dest/checkpoint/checkpoint_info.d.ts +32 -3
  54. package/dest/checkpoint/checkpoint_info.d.ts.map +1 -1
  55. package/dest/checkpoint/checkpoint_info.js +34 -1
  56. package/dest/checkpoint/index.d.ts +2 -1
  57. package/dest/checkpoint/index.d.ts.map +1 -1
  58. package/dest/checkpoint/index.js +1 -0
  59. package/dest/database-version/version_manager.js +3 -1
  60. package/dest/gas/gas.js +3 -1
  61. package/dest/gas/gas_fees.js +3 -1
  62. package/dest/interfaces/api_limit.d.ts +2 -1
  63. package/dest/interfaces/api_limit.d.ts.map +1 -1
  64. package/dest/interfaces/api_limit.js +1 -0
  65. package/dest/interfaces/archiver.d.ts +6 -6
  66. package/dest/interfaces/archiver.d.ts.map +1 -1
  67. package/dest/interfaces/archiver.js +6 -4
  68. package/dest/interfaces/aztec-node-admin.d.ts +12 -6
  69. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  70. package/dest/interfaces/aztec-node-admin.js +2 -2
  71. package/dest/interfaces/aztec-node.d.ts +11 -10
  72. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  73. package/dest/interfaces/aztec-node.js +10 -5
  74. package/dest/interfaces/configs.d.ts +6 -1
  75. package/dest/interfaces/configs.d.ts.map +1 -1
  76. package/dest/interfaces/configs.js +2 -1
  77. package/dest/interfaces/p2p.d.ts +7 -9
  78. package/dest/interfaces/p2p.d.ts.map +1 -1
  79. package/dest/interfaces/p2p.js +3 -4
  80. package/dest/interfaces/proving-job.d.ts +170 -170
  81. package/dest/interfaces/proving-job.d.ts.map +1 -1
  82. package/dest/interfaces/proving-job.js +1 -7
  83. package/dest/interfaces/server_circuit_prover.d.ts +4 -3
  84. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  85. package/dest/interfaces/validator.d.ts +41 -7
  86. package/dest/interfaces/validator.d.ts.map +1 -1
  87. package/dest/interfaces/validator.js +3 -1
  88. package/dest/kernel/claimed_length_array.js +3 -1
  89. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts +6 -5
  90. package/dest/kernel/hints/build_note_hash_read_request_hints.d.ts.map +1 -1
  91. package/dest/kernel/hints/build_note_hash_read_request_hints.js +5 -6
  92. package/dest/kernel/hints/transient_data_squashing_hint.js +3 -1
  93. package/dest/kernel/log_hash.js +3 -1
  94. package/dest/kernel/private_log_data.js +5 -2
  95. package/dest/kernel/private_to_avm_accumulated_data.js +5 -2
  96. package/dest/kernel/private_to_public_accumulated_data.js +3 -1
  97. package/dest/kernel/private_to_rollup_accumulated_data.js +3 -1
  98. package/dest/kernel/private_validation_requests.js +3 -1
  99. package/dest/kernel/public_call_request.js +5 -2
  100. package/dest/logs/contract_class_log.js +3 -1
  101. package/dest/logs/private_log.js +3 -1
  102. package/dest/logs/public_log.js +3 -1
  103. package/dest/messaging/in_hash.d.ts +4 -2
  104. package/dest/messaging/in_hash.d.ts.map +1 -1
  105. package/dest/messaging/in_hash.js +3 -1
  106. package/dest/messaging/l2_to_l1_membership.d.ts +88 -6
  107. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -1
  108. package/dest/messaging/l2_to_l1_membership.js +158 -42
  109. package/dest/messaging/out_hash.d.ts +2 -1
  110. package/dest/messaging/out_hash.d.ts.map +1 -1
  111. package/dest/messaging/out_hash.js +13 -4
  112. package/dest/p2p/attestation_utils.d.ts +3 -3
  113. package/dest/p2p/attestation_utils.d.ts.map +1 -1
  114. package/dest/p2p/attestation_utils.js +1 -1
  115. package/dest/p2p/block_proposal.d.ts +85 -21
  116. package/dest/p2p/block_proposal.d.ts.map +1 -1
  117. package/dest/p2p/block_proposal.js +120 -37
  118. package/dest/p2p/checkpoint_attestation.d.ts +77 -0
  119. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -0
  120. package/dest/p2p/{block_attestation.js → checkpoint_attestation.js} +22 -19
  121. package/dest/p2p/checkpoint_proposal.d.ts +154 -0
  122. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -0
  123. package/dest/p2p/checkpoint_proposal.js +217 -0
  124. package/dest/p2p/consensus_payload.d.ts +6 -7
  125. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  126. package/dest/p2p/consensus_payload.js +3 -2
  127. package/dest/p2p/gossipable.d.ts +4 -3
  128. package/dest/p2p/gossipable.d.ts.map +1 -1
  129. package/dest/p2p/gossipable.js +16 -5
  130. package/dest/p2p/index.d.ts +4 -2
  131. package/dest/p2p/index.d.ts.map +1 -1
  132. package/dest/p2p/index.js +3 -1
  133. package/dest/p2p/signature_utils.d.ts +5 -3
  134. package/dest/p2p/signature_utils.d.ts.map +1 -1
  135. package/dest/p2p/signature_utils.js +3 -1
  136. package/dest/p2p/signed_txs.d.ts +40 -0
  137. package/dest/p2p/signed_txs.d.ts.map +1 -0
  138. package/dest/p2p/signed_txs.js +70 -0
  139. package/dest/p2p/topic_type.d.ts +3 -2
  140. package/dest/p2p/topic_type.d.ts.map +1 -1
  141. package/dest/p2p/topic_type.js +8 -2
  142. package/dest/rollup/block_rollup_public_inputs.d.ts +4 -9
  143. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -1
  144. package/dest/rollup/block_rollup_public_inputs.js +6 -10
  145. package/dest/rollup/checkpoint_constant_data.js +3 -1
  146. package/dest/rollup/checkpoint_header.d.ts +15 -12
  147. package/dest/rollup/checkpoint_header.d.ts.map +1 -1
  148. package/dest/rollup/checkpoint_header.js +33 -19
  149. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +6 -1
  150. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -1
  151. package/dest/rollup/checkpoint_rollup_public_inputs.js +6 -2
  152. package/dest/rollup/root_rollup_public_inputs.d.ts +8 -3
  153. package/dest/rollup/root_rollup_public_inputs.d.ts.map +1 -1
  154. package/dest/rollup/root_rollup_public_inputs.js +6 -3
  155. package/dest/tests/factories.d.ts +15 -7
  156. package/dest/tests/factories.d.ts.map +1 -1
  157. package/dest/tests/factories.js +57 -13
  158. package/dest/tests/mocks.d.ts +59 -10
  159. package/dest/tests/mocks.d.ts.map +1 -1
  160. package/dest/tests/mocks.js +89 -41
  161. package/dest/trees/append_only_tree_snapshot.js +3 -1
  162. package/dest/tx/block_header.js +3 -1
  163. package/dest/tx/call_context.js +3 -1
  164. package/dest/tx/global_variable_builder.d.ts +2 -2
  165. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  166. package/dest/tx/global_variables.js +3 -1
  167. package/dest/tx/index.d.ts +1 -2
  168. package/dest/tx/index.d.ts.map +1 -1
  169. package/dest/tx/index.js +0 -1
  170. package/dest/tx/private_execution_result.d.ts +1 -5
  171. package/dest/tx/private_execution_result.d.ts.map +1 -1
  172. package/dest/tx/private_execution_result.js +3 -20
  173. package/dest/tx/public_call_request_with_calldata.js +3 -1
  174. package/dest/tx/state_reference.js +3 -1
  175. package/dest/tx/tree_snapshots.js +3 -1
  176. package/dest/tx/tx.d.ts +1 -1
  177. package/dest/tx/tx.d.ts.map +1 -1
  178. package/dest/tx/tx.js +3 -1
  179. package/dest/tx/tx_effect.js +3 -1
  180. package/dest/tx/tx_execution_request.d.ts +1 -1
  181. package/dest/tx/tx_execution_request.d.ts.map +1 -1
  182. package/dest/tx/tx_execution_request.js +6 -2
  183. package/package.json +8 -8
  184. package/src/abi/contract_artifact.ts +10 -10
  185. package/src/block/attestation_info.ts +9 -6
  186. package/src/block/l2_block.ts +6 -5
  187. package/src/block/l2_block_code_to_purge.ts +3 -11
  188. package/src/block/l2_block_header.ts +26 -17
  189. package/src/block/l2_block_new.ts +5 -1
  190. package/src/block/l2_block_source.ts +66 -16
  191. package/src/block/l2_block_stream/index.ts +1 -0
  192. package/src/block/l2_block_stream/interfaces.ts +12 -4
  193. package/src/block/l2_block_stream/l2_block_stream.ts +121 -38
  194. package/src/block/l2_block_stream/l2_tips_memory_store.ts +62 -56
  195. package/src/block/l2_block_stream/l2_tips_store_base.ts +226 -0
  196. package/src/block/test/l2_tips_store_test_suite.ts +485 -36
  197. package/src/block/validate_block_result.ts +35 -31
  198. package/src/checkpoint/checkpoint.ts +1 -0
  199. package/src/checkpoint/checkpoint_info.ts +45 -2
  200. package/src/checkpoint/index.ts +1 -0
  201. package/src/interfaces/api_limit.ts +1 -0
  202. package/src/interfaces/archiver.ts +14 -6
  203. package/src/interfaces/aztec-node-admin.ts +5 -2
  204. package/src/interfaces/aztec-node.ts +43 -13
  205. package/src/interfaces/configs.ts +5 -0
  206. package/src/interfaces/p2p.ts +8 -12
  207. package/src/interfaces/proving-job.ts +2 -11
  208. package/src/interfaces/server_circuit_prover.ts +3 -2
  209. package/src/interfaces/validator.ts +57 -7
  210. package/src/kernel/hints/build_note_hash_read_request_hints.ts +5 -8
  211. package/src/messaging/in_hash.ts +3 -1
  212. package/src/messaging/l2_to_l1_membership.ts +176 -52
  213. package/src/messaging/out_hash.ts +17 -7
  214. package/src/p2p/attestation_utils.ts +3 -3
  215. package/src/p2p/block_proposal.ts +185 -41
  216. package/src/p2p/{block_attestation.ts → checkpoint_attestation.ts} +31 -25
  217. package/src/p2p/checkpoint_proposal.ts +337 -0
  218. package/src/p2p/consensus_payload.ts +5 -2
  219. package/src/p2p/gossipable.ts +14 -4
  220. package/src/p2p/index.ts +3 -1
  221. package/src/p2p/signature_utils.ts +3 -1
  222. package/src/p2p/signed_txs.ts +83 -0
  223. package/src/p2p/topic_type.ts +3 -2
  224. package/src/rollup/block_rollup_public_inputs.ts +3 -9
  225. package/src/rollup/checkpoint_header.ts +43 -20
  226. package/src/rollup/checkpoint_rollup_public_inputs.ts +6 -0
  227. package/src/rollup/root_rollup_public_inputs.ts +6 -0
  228. package/src/tests/factories.ts +53 -17
  229. package/src/tests/mocks.ts +166 -64
  230. package/src/tx/global_variable_builder.ts +1 -1
  231. package/src/tx/index.ts +0 -1
  232. package/src/tx/private_execution_result.ts +0 -15
  233. package/src/tx/tx.ts +2 -0
  234. package/src/tx/tx_execution_request.ts +2 -0
  235. package/dest/p2p/block_attestation.d.ts +0 -80
  236. package/dest/p2p/block_attestation.d.ts.map +0 -1
  237. package/dest/tx/content_commitment.d.ts +0 -49
  238. package/dest/tx/content_commitment.d.ts.map +0 -1
  239. package/dest/tx/content_commitment.js +0 -90
  240. package/src/tx/content_commitment.ts +0 -113
@@ -1,3 +1,4 @@
1
+ var _computedKey;
1
2
  import { Fr } from '@aztec/foundation/curves/bn254';
2
3
  import { schemas } from '@aztec/foundation/schemas';
3
4
  import { BufferReader, FieldReader, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
@@ -6,7 +7,8 @@ import { inspect } from 'util';
6
7
  import { z } from 'zod';
7
8
  import { CheckpointHeader } from '../rollup/checkpoint_header.js';
8
9
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
9
- import { BlockHeader, ContentCommitment, GlobalVariables, StateReference } from '../tx/index.js';
10
+ import { BlockHeader, GlobalVariables, StateReference } from '../tx/index.js';
11
+ _computedKey = inspect.custom;
10
12
  /**
11
13
  * TO BE DELETED
12
14
  *
@@ -17,16 +19,18 @@ import { BlockHeader, ContentCommitment, GlobalVariables, StateReference } from
17
19
  * @deprecated Use BlockHeader or CheckpointHeader instead.
18
20
  */ export class L2BlockHeader {
19
21
  lastArchive;
20
- contentCommitment;
22
+ blobsHash;
23
+ inHash;
21
24
  state;
22
25
  globalVariables;
23
26
  totalFees;
24
27
  totalManaUsed;
25
28
  spongeBlobHash;
26
29
  blockHeadersHash;
27
- constructor(/** Snapshot of archive before the block is applied. */ lastArchive, /** Hash of the body of an L2 block. */ contentCommitment, /** State reference. */ state, /** Global variables of an L2 block. */ globalVariables, /** Total fees in the block, computed by the root rollup circuit */ totalFees, /** Total mana used in the block, computed by the root rollup circuit */ totalManaUsed, /** Hash of the sponge blob of the block. */ spongeBlobHash, /** Hash of the block headers in the checkpoint. */ blockHeadersHash){
30
+ constructor(/** Snapshot of archive before the block is applied. */ lastArchive, blobsHash, inHash, /** State reference. */ state, /** Global variables of an L2 block. */ globalVariables, /** Total fees in the block, computed by the root rollup circuit */ totalFees, /** Total mana used in the block, computed by the root rollup circuit */ totalManaUsed, /** Hash of the sponge blob of the block. */ spongeBlobHash, /** Hash of the block headers in the checkpoint. */ blockHeadersHash){
28
31
  this.lastArchive = lastArchive;
29
- this.contentCommitment = contentCommitment;
32
+ this.blobsHash = blobsHash;
33
+ this.inHash = inHash;
30
34
  this.state = state;
31
35
  this.globalVariables = globalVariables;
32
36
  this.totalFees = totalFees;
@@ -37,7 +41,8 @@ import { BlockHeader, ContentCommitment, GlobalVariables, StateReference } from
37
41
  static get schema() {
38
42
  return z.object({
39
43
  lastArchive: AppendOnlyTreeSnapshot.schema,
40
- contentCommitment: ContentCommitment.schema,
44
+ blobsHash: schemas.Fr,
45
+ inHash: schemas.Fr,
41
46
  state: StateReference.schema,
42
47
  globalVariables: GlobalVariables.schema,
43
48
  totalFees: schemas.Fr,
@@ -49,7 +54,8 @@ import { BlockHeader, ContentCommitment, GlobalVariables, StateReference } from
49
54
  static getFields(fields) {
50
55
  return [
51
56
  fields.lastArchive,
52
- fields.contentCommitment,
57
+ fields.blobsHash,
58
+ fields.inHash,
53
59
  fields.state,
54
60
  fields.globalVariables,
55
61
  fields.totalFees,
@@ -68,7 +74,7 @@ import { BlockHeader, ContentCommitment, GlobalVariables, StateReference } from
68
74
  return this.globalVariables.blockNumber;
69
75
  }
70
76
  getSize() {
71
- return this.lastArchive.getSize() + this.contentCommitment.getSize() + this.state.getSize() + this.globalVariables.getSize() + this.totalFees.size + this.totalManaUsed.size + this.spongeBlobHash.size + this.blockHeadersHash.size;
77
+ return this.lastArchive.getSize() + this.blobsHash.size + this.inHash.size + this.state.getSize() + this.globalVariables.getSize() + this.totalFees.size + this.totalManaUsed.size + this.spongeBlobHash.size + this.blockHeadersHash.size;
72
78
  }
73
79
  toBuffer() {
74
80
  return serializeToBuffer(...L2BlockHeader.getFields(this));
@@ -81,16 +87,17 @@ import { BlockHeader, ContentCommitment, GlobalVariables, StateReference } from
81
87
  }
82
88
  static fromBuffer(buffer) {
83
89
  const reader = BufferReader.asReader(buffer);
84
- return new L2BlockHeader(reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(ContentCommitment), reader.readObject(StateReference), reader.readObject(GlobalVariables), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr));
90
+ return new L2BlockHeader(reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(StateReference), reader.readObject(GlobalVariables), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr));
85
91
  }
86
92
  static fromFields(fields) {
87
93
  const reader = FieldReader.asReader(fields);
88
- return new L2BlockHeader(AppendOnlyTreeSnapshot.fromFields(reader), ContentCommitment.fromFields(reader), StateReference.fromFields(reader), GlobalVariables.fromFields(reader), reader.readField(), reader.readField(), reader.readField(), reader.readField());
94
+ return new L2BlockHeader(AppendOnlyTreeSnapshot.fromFields(reader), reader.readField(), reader.readField(), StateReference.fromFields(reader), GlobalVariables.fromFields(reader), reader.readField(), reader.readField(), reader.readField(), reader.readField());
89
95
  }
90
96
  static empty(fields = {}) {
91
97
  return L2BlockHeader.from({
92
98
  lastArchive: AppendOnlyTreeSnapshot.empty(),
93
- contentCommitment: ContentCommitment.empty(),
99
+ blobsHash: Fr.ZERO,
100
+ inHash: Fr.ZERO,
94
101
  state: StateReference.empty(),
95
102
  globalVariables: GlobalVariables.empty(),
96
103
  totalFees: Fr.ZERO,
@@ -101,7 +108,7 @@ import { BlockHeader, ContentCommitment, GlobalVariables, StateReference } from
101
108
  });
102
109
  }
103
110
  isEmpty() {
104
- return this.lastArchive.isEmpty() && this.contentCommitment.isEmpty() && this.state.isEmpty() && this.globalVariables.isEmpty() && this.totalFees.isZero() && this.totalManaUsed.isZero() && this.spongeBlobHash.isZero() && this.blockHeadersHash.isZero();
111
+ return this.lastArchive.isEmpty() && this.blobsHash.isZero() && this.inHash.isZero() && this.state.isEmpty() && this.globalVariables.isEmpty() && this.totalFees.isZero() && this.totalManaUsed.isZero() && this.spongeBlobHash.isZero() && this.blockHeadersHash.isZero();
105
112
  }
106
113
  /**
107
114
  * Serializes this instance into a string.
@@ -113,7 +120,7 @@ import { BlockHeader, ContentCommitment, GlobalVariables, StateReference } from
113
120
  return L2BlockHeader.fromBuffer(hexToBuffer(str));
114
121
  }
115
122
  toCheckpointHeader() {
116
- return new CheckpointHeader(this.lastArchive.root, this.blockHeadersHash, this.contentCommitment, this.globalVariables.slotNumber, this.globalVariables.timestamp, this.globalVariables.coinbase, this.globalVariables.feeRecipient, this.globalVariables.gasFees, this.totalManaUsed);
123
+ return new CheckpointHeader(this.lastArchive.root, this.blockHeadersHash, this.blobsHash, this.inHash, this.globalVariables.slotNumber, this.globalVariables.timestamp, this.globalVariables.coinbase, this.globalVariables.feeRecipient, this.globalVariables.gasFees, this.totalManaUsed);
117
124
  }
118
125
  toBlockHeader() {
119
126
  return new BlockHeader(this.lastArchive, this.state, this.spongeBlobHash, this.globalVariables, this.totalFees, this.totalManaUsed);
@@ -121,7 +128,8 @@ import { BlockHeader, ContentCommitment, GlobalVariables, StateReference } from
121
128
  toInspect() {
122
129
  return {
123
130
  lastArchive: this.lastArchive.root.toString(),
124
- contentCommitment: this.contentCommitment.toInspect(),
131
+ blobsHash: this.blobsHash.toString(),
132
+ inHash: this.inHash.toString(),
125
133
  state: this.state.toInspect(),
126
134
  globalVariables: this.globalVariables.toInspect(),
127
135
  totalFees: this.totalFees.toBigInt(),
@@ -130,12 +138,11 @@ import { BlockHeader, ContentCommitment, GlobalVariables, StateReference } from
130
138
  blockHeadersHash: this.blockHeadersHash.toString()
131
139
  };
132
140
  }
133
- [inspect.custom]() {
141
+ [_computedKey]() {
134
142
  return `L2BlockHeader {
135
143
  lastArchive: ${inspect(this.lastArchive)},
136
- contentCommitment.blobsHash: ${inspect(this.contentCommitment.blobsHash)},
137
- contentCommitment.inHash: ${inspect(this.contentCommitment.inHash)},
138
- contentCommitment.outHash: ${inspect(this.contentCommitment.outHash)},
144
+ blobsHash: ${inspect(this.blobsHash)},
145
+ inHash: ${inspect(this.inHash)},
139
146
  state.l1ToL2MessageTree: ${inspect(this.state.l1ToL2MessageTree)},
140
147
  state.noteHashTree: ${inspect(this.state.partial.noteHashTree)},
141
148
  state.nullifierTree: ${inspect(this.state.partial.nullifierTree)},
@@ -148,6 +155,6 @@ import { BlockHeader, ContentCommitment, GlobalVariables, StateReference } from
148
155
  }`;
149
156
  }
150
157
  equals(other) {
151
- return this.contentCommitment.equals(other.contentCommitment) && this.state.equals(other.state) && this.globalVariables.equals(other.globalVariables) && this.totalFees.equals(other.totalFees) && this.totalManaUsed.equals(other.totalManaUsed) && this.lastArchive.equals(other.lastArchive) && this.spongeBlobHash.equals(other.spongeBlobHash) && this.blockHeadersHash.equals(other.blockHeadersHash);
158
+ return this.lastArchive.equals(other.lastArchive) && this.blobsHash.equals(other.blobsHash) && this.inHash.equals(other.inHash) && this.state.equals(other.state) && this.globalVariables.equals(other.globalVariables) && this.totalFees.equals(other.totalFees) && this.totalManaUsed.equals(other.totalManaUsed) && this.spongeBlobHash.equals(other.spongeBlobHash) && this.blockHeadersHash.equals(other.blockHeadersHash);
152
159
  }
153
160
  }
@@ -10,7 +10,6 @@ import { Body } from './body.js';
10
10
  import type { L2BlockInfo } from './l2_block_info.js';
11
11
  /**
12
12
  * An L2 block with a header and a body.
13
- * TODO: Delete the existing `L2Block` class and rename this to `L2Block`.
14
13
  */
15
14
  export declare class L2BlockNew {
16
15
  archive: AppendOnlyTreeSnapshot;
@@ -132,4 +131,4 @@ export declare class L2BlockNew {
132
131
  getPrivateLogs(): PrivateLog[];
133
132
  toBlockInfo(): L2BlockInfo;
134
133
  }
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfbmV3LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfbmV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGFBQWEsRUFBdUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQ7OztHQUdHO0FBQ0gscUJBQWEsVUFBVTtJQUdaLE9BQU8sRUFBRSxzQkFBc0I7SUFFL0IsTUFBTSxFQUFFLFdBQVc7SUFFbkIsSUFBSSxFQUFFLElBQUk7SUFFVixnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFFbEMscUJBQXFCLEVBQUUsTUFBTTtJQVZ0QztJQUNFLDJEQUEyRDtJQUNwRCxPQUFPLEVBQUUsc0JBQXNCO0lBQ3RDLDJCQUEyQjtJQUNwQixNQUFNLEVBQUUsV0FBVztJQUMxQixxQkFBcUI7SUFDZCxJQUFJLEVBQUUsSUFBSTtJQUNqQiwwREFBMEQ7SUFDbkQsZ0JBQWdCLEVBQUUsZ0JBQWdCO0lBQ3pDLGdEQUFnRDtJQUN6QyxxQkFBcUIsRUFBRSxNQUFNLEVBQ2xDO0lBRUosSUFBSSxNQUFNLElBQUksV0FBVyxDQUV4QjtJQUVELElBQUksU0FBUyxJQUFJLE1BQU0sQ0FFdEI7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FhaEI7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxNQUFNLEdBQUcsWUFBWSxjQVMzQztJQUVEOzs7T0FHRztJQUNILFFBQVEsNEJBRVA7SUFFRDs7O09BR0c7SUFDSSxJQUFJLElBQUksT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUV6QjtJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksR0FBRyxPQUFPLENBUWxDO0lBRU0sWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUcxQjtJQUVNLGVBQWUsSUFBSSxhQUFhLENBc0J0QztJQUVELE1BQU0sQ0FBQyxLQUFLLGVBRVg7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILE9BQWEsTUFBTSxDQUNqQixXQUFXLEVBQUUsV0FBVyxFQUN4QixFQUNFLGdCQUF3RCxFQUN4RCxxQkFBeUIsRUFDekIsV0FBZSxFQUNmLFNBQWMsRUFDZCxhQUFhLEVBQ2IsR0FBRyxvQkFBb0IsRUFDeEIsR0FBRTtRQUNELGdCQUFnQixDQUFDLEVBQUUsZ0JBQWdCLENBQUM7UUFDcEMscUJBQXFCLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDL0IsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ3JCLFNBQVMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxhQUFhLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEtBQUssT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2pGLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBTSxHQUN6RCxPQUFPLENBQUMsVUFBVSxDQUFDLENBS3JCO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUTs7Ozs7Ozs7TUFxQlA7SUFFRCxjQUFjLElBQUksVUFBVSxFQUFFLENBRTdCO0lBRUQsV0FBVyxJQUFJLFdBQVcsQ0FTekI7Q0FDRiJ9
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfbmV3LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfbmV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGFBQWEsRUFBdUIsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRixPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGlDQUFpQyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFPdEQ7O0dBRUc7QUFDSCxxQkFBYSxVQUFVO0lBR1osT0FBTyxFQUFFLHNCQUFzQjtJQUUvQixNQUFNLEVBQUUsV0FBVztJQUVuQixJQUFJLEVBQUUsSUFBSTtJQUVWLGdCQUFnQixFQUFFLGdCQUFnQjtJQUVsQyxxQkFBcUIsRUFBRSxNQUFNO0lBVnRDO0lBQ0UsMkRBQTJEO0lBQ3BELE9BQU8sRUFBRSxzQkFBc0I7SUFDdEMsMkJBQTJCO0lBQ3BCLE1BQU0sRUFBRSxXQUFXO0lBQzFCLHFCQUFxQjtJQUNkLElBQUksRUFBRSxJQUFJO0lBQ2pCLDBEQUEwRDtJQUNuRCxnQkFBZ0IsRUFBRSxnQkFBZ0I7SUFDekMsZ0RBQWdEO0lBQ3pDLHFCQUFxQixFQUFFLE1BQU0sRUFDbEM7SUFFSixJQUFJLE1BQU0sSUFBSSxXQUFXLENBRXhCO0lBRUQsSUFBSSxTQUFTLElBQUksTUFBTSxDQUV0QjtJQUVELE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQWFoQjtJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxZQUFZLGNBUzNDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSw0QkFFUDtJQUVEOzs7T0FHRztJQUNJLElBQUksSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLENBRXpCO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLE9BQU8sQ0FRbEM7SUFFTSxZQUFZLElBQUksRUFBRSxFQUFFLENBRzFCO0lBRU0sZUFBZSxJQUFJLGFBQWEsQ0FzQnRDO0lBRUQsTUFBTSxDQUFDLEtBQUssZUFFWDtJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsT0FBYSxNQUFNLENBQ2pCLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLEVBQ0UsZ0JBQXdELEVBQ3hELHFCQUF5QixFQUN6QixXQUFlLEVBQ2YsU0FBYyxFQUNkLGFBQWEsRUFDYixHQUFHLG9CQUFvQixFQUN4QixHQUFFO1FBQ0QsZ0JBQWdCLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztRQUNwQyxxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUMvQixXQUFXLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDckIsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELGFBQWEsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sS0FBSyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDakYsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFNLEdBQ3pELE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FLckI7SUFFRDs7O09BR0c7SUFDSCxRQUFROzs7Ozs7OztNQXFCUDtJQUVELGNBQWMsSUFBSSxVQUFVLEVBQUUsQ0FFN0I7SUFFRCxXQUFXLElBQUksV0FBVyxDQVN6QjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"l2_block_new.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_new.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAA0B,MAAM,iCAAiC,CAAC;AACxG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;GAGG;AACH,qBAAa,UAAU;IAGZ,OAAO,EAAE,sBAAsB;IAE/B,MAAM,EAAE,WAAW;IAEnB,IAAI,EAAE,IAAI;IAEV,gBAAgB,EAAE,gBAAgB;IAElC,qBAAqB,EAAE,MAAM;IAVtC;IACE,2DAA2D;IACpD,OAAO,EAAE,sBAAsB;IACtC,2BAA2B;IACpB,MAAM,EAAE,WAAW;IAC1B,qBAAqB;IACd,IAAI,EAAE,IAAI;IACjB,0DAA0D;IACnD,gBAAgB,EAAE,gBAAgB;IACzC,gDAAgD;IACzC,qBAAqB,EAAE,MAAM,EAClC;IAEJ,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAahB;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,cAS3C;IAED;;;OAGG;IACH,QAAQ,4BAEP;IAED;;;OAGG;IACI,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,CAEzB;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAQlC;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,eAAe,IAAI,aAAa,CAsBtC;IAED,MAAM,CAAC,KAAK,eAEX;IAED;;;;;;;;OAQG;IACH,OAAa,MAAM,CACjB,WAAW,EAAE,WAAW,EACxB,EACE,gBAAwD,EACxD,qBAAyB,EACzB,WAAe,EACf,SAAc,EACd,aAAa,EACb,GAAG,oBAAoB,EACxB,GAAE;QACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACjF,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,GACzD,OAAO,CAAC,UAAU,CAAC,CAKrB;IAED;;;OAGG;IACH,QAAQ;;;;;;;;MAqBP;IAED,cAAc,IAAI,UAAU,EAAE,CAE7B;IAED,WAAW,IAAI,WAAW,CASzB;CACF"}
1
+ {"version":3,"file":"l2_block_new.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_new.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAuB,MAAM,0BAA0B,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAA0B,MAAM,iCAAiC,CAAC;AACxG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOtD;;GAEG;AACH,qBAAa,UAAU;IAGZ,OAAO,EAAE,sBAAsB;IAE/B,MAAM,EAAE,WAAW;IAEnB,IAAI,EAAE,IAAI;IAEV,gBAAgB,EAAE,gBAAgB;IAElC,qBAAqB,EAAE,MAAM;IAVtC;IACE,2DAA2D;IACpD,OAAO,EAAE,sBAAsB;IACtC,2BAA2B;IACpB,MAAM,EAAE,WAAW;IAC1B,qBAAqB;IACd,IAAI,EAAE,IAAI;IACjB,0DAA0D;IACnD,gBAAgB,EAAE,gBAAgB;IACzC,gDAAgD;IACzC,qBAAqB,EAAE,MAAM,EAClC;IAEJ,IAAI,MAAM,IAAI,WAAW,CAExB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAahB;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,cAS3C;IAED;;;OAGG;IACH,QAAQ,4BAEP;IAED;;;OAGG;IACI,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,CAEzB;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,CAQlC;IAEM,YAAY,IAAI,EAAE,EAAE,CAG1B;IAEM,eAAe,IAAI,aAAa,CAsBtC;IAED,MAAM,CAAC,KAAK,eAEX;IAED;;;;;;;;OAQG;IACH,OAAa,MAAM,CACjB,WAAW,EAAE,WAAW,EACxB,EACE,gBAAwD,EACxD,qBAAyB,EACzB,WAAe,EACf,SAAc,EACd,aAAa,EACb,GAAG,oBAAoB,EACxB,GAAE;QACD,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;QACpC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACjF,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAM,GACzD,OAAO,CAAC,UAAU,CAAC,CAKrB;IAED;;;OAGG;IACH,QAAQ;;;;;;;;MAqBP;IAED,cAAc,IAAI,UAAU,EAAE,CAE7B;IAED,WAAW,IAAI,WAAW,CASzB;CACF"}
@@ -6,9 +6,12 @@ import { z } from 'zod';
6
6
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
7
7
  import { BlockHeader } from '../tx/block_header.js';
8
8
  import { Body } from './body.js';
9
+ // TODO(palla/mbps): Delete the existing `L2Block` class and rename this to `L2Block`.
10
+ // TODO(palla/mbps): Consider moving the checkpointNumber and indexWithinCheckpoint to the header:
11
+ // if the blockNumber is there, why not these as well? Consider whether they should be part of the
12
+ // circuits structs though.
9
13
  /**
10
14
  * An L2 block with a header and a body.
11
- * TODO: Delete the existing `L2Block` class and rename this to `L2Block`.
12
15
  */ export class L2BlockNew {
13
16
  archive;
14
17
  header;
@@ -13,7 +13,7 @@ import type { TxReceipt } from '../tx/tx_receipt.js';
13
13
  import { type CheckpointedL2Block, PublishedL2Block } from './checkpointed_l2_block.js';
14
14
  import type { L2Block } from './l2_block.js';
15
15
  import type { L2BlockNew } from './l2_block_new.js';
16
- import type { ValidateBlockNegativeResult, ValidateBlockResult } from './validate_block_result.js';
16
+ import type { ValidateCheckpointNegativeResult, ValidateCheckpointResult } from './validate_block_result.js';
17
17
  /**
18
18
  * Interface of classes allowing for the retrieval of L2 blocks.
19
19
  */
@@ -51,6 +51,7 @@ export interface L2BlockSource {
51
51
  * @returns The requested checkpointed L2 block (or undefined if not found or not checkpointed).
52
52
  */
53
53
  getCheckpointedBlock(number: BlockNumber): Promise<CheckpointedL2Block | undefined>;
54
+ getCheckpointedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<CheckpointedL2Block[]>;
54
55
  /**
55
56
  * Retrieves a collection of published checkpoints
56
57
  * @param checkpointNumber The first checkpoint to be retrieved
@@ -132,10 +133,10 @@ export interface L2BlockSource {
132
133
  */
133
134
  isPendingChainInvalid(): Promise<boolean>;
134
135
  /**
135
- * Returns the status of the pending chain validation. If the chain is invalid, reports the earliest consecutive block
136
- * that is invalid, along with the reason for being invalid, which can be used to trigger an invalidation.
136
+ * Returns the status of the pending chain validation. If the chain is invalid, reports the earliest consecutive
137
+ * checkpoint that is invalid, along with the reason for being invalid, which can be used to trigger an invalidation.
137
138
  */
138
- getPendingChainValidationStatus(): Promise<ValidateBlockResult>;
139
+ getPendingChainValidationStatus(): Promise<ValidateCheckpointResult>;
139
140
  /** Force a sync. */
140
141
  syncImmediate(): Promise<void>;
141
142
  /**
@@ -145,6 +146,8 @@ export interface L2BlockSource {
145
146
  * @deprecated Use getL2BlockNew instead.
146
147
  */
147
148
  getBlock(number: BlockNumber): Promise<L2Block | undefined>;
149
+ getL2BlockNew(number: BlockNumber): Promise<L2BlockNew | undefined>;
150
+ getL2BlocksNew(from: BlockNumber, limit: number, proven?: boolean): Promise<L2BlockNew[]>;
148
151
  /**
149
152
  * Returns all blocks for a given epoch.
150
153
  * @dev Use this method only with recent epochs, since it walks the block list backwards.
@@ -192,28 +195,52 @@ export interface L2BlockSink {
192
195
  export type ArchiverEmitter = TypedEventEmitter<{
193
196
  [L2BlockSourceEvents.L2PruneDetected]: (args: L2BlockPruneEvent) => void;
194
197
  [L2BlockSourceEvents.L2BlockProven]: (args: L2BlockProvenEvent) => void;
195
- [L2BlockSourceEvents.InvalidAttestationsBlockDetected]: (args: InvalidBlockDetectedEvent) => void;
198
+ [L2BlockSourceEvents.InvalidAttestationsCheckpointDetected]: (args: InvalidCheckpointDetectedEvent) => void;
199
+ [L2BlockSourceEvents.L2BlocksCheckpointed]: (args: L2CheckpointEvent) => void;
196
200
  }>;
197
201
  export interface L2BlockSourceEventEmitter extends L2BlockSource, ArchiverEmitter {
198
202
  }
199
203
  /**
200
204
  * Identifier for L2 block tags.
201
- * - latest: Latest block pushed to L1.
205
+ * - proposed: Latest block proposed on L2.
206
+ * - checkpointed: Checkpointed block on L1.
202
207
  * - proven: Proven block on L1.
203
208
  * - finalized: Proven block on a finalized L1 block (not implemented, set to proven for now).
204
209
  */
205
- export type L2BlockTag = 'latest' | 'proven' | 'finalized';
210
+ export type L2BlockTag = 'proposed' | 'checkpointed' | 'proven' | 'finalized';
211
+ /**
212
+ * Reason for L2 block prune.
213
+ * - uncheckpointed: L2 blocks were pruned due to a failure to checkpoint.
214
+ * - unproven: L2 blocks were pruned due to a failure to prove.
215
+ */
216
+ export type L2BlockPruneReason = 'uncheckpointed' | 'unproven';
206
217
  /** Tips of the L2 chain. */
207
- export type L2Tips = Record<L2BlockTag, L2BlockId>;
218
+ export type L2Tips = {
219
+ proposed: L2BlockId;
220
+ checkpointed: L2TipId;
221
+ proven: L2TipId;
222
+ finalized: L2TipId;
223
+ };
224
+ export declare const GENESIS_CHECKPOINT_HEADER_HASH: Fr;
208
225
  /** Identifies a block by number and hash. */
209
226
  export type L2BlockId = {
210
227
  number: BlockNumber;
211
228
  hash: string;
212
229
  };
230
+ export type CheckpointId = {
231
+ number: CheckpointNumber;
232
+ hash: string;
233
+ };
234
+ export type L2TipId = {
235
+ block: L2BlockId;
236
+ checkpoint: CheckpointId;
237
+ };
213
238
  /** Creates an L2 block id */
214
239
  export declare function makeL2BlockId(number: BlockNumber, hash?: string): L2BlockId;
240
+ /** Creates an L2 checkpoint id */
241
+ export declare function makeL2CheckpointId(number: CheckpointNumber, hash: string): CheckpointId;
215
242
  export declare const L2TipsSchema: z.ZodObject<{
216
- latest: z.ZodObject<{
243
+ proposed: z.ZodObject<{
217
244
  number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
218
245
  hash: z.ZodString;
219
246
  }, "strip", z.ZodTypeAny, {
@@ -225,67 +252,240 @@ export declare const L2TipsSchema: z.ZodObject<{
225
252
  number: string | number | bigint;
226
253
  hash: string;
227
254
  }>;
255
+ checkpointed: z.ZodObject<{
256
+ block: z.ZodObject<{
257
+ number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
258
+ hash: z.ZodString;
259
+ }, "strip", z.ZodTypeAny, {
260
+ number: number & {
261
+ _branding: "BlockNumber";
262
+ };
263
+ hash: string;
264
+ }, {
265
+ number: string | number | bigint;
266
+ hash: string;
267
+ }>;
268
+ checkpoint: z.ZodObject<{
269
+ number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
270
+ hash: z.ZodString;
271
+ }, "strip", z.ZodTypeAny, {
272
+ number: number & {
273
+ _branding: "CheckpointNumber";
274
+ };
275
+ hash: string;
276
+ }, {
277
+ number: string | number | bigint;
278
+ hash: string;
279
+ }>;
280
+ }, "strip", z.ZodTypeAny, {
281
+ block: {
282
+ number: number & {
283
+ _branding: "BlockNumber";
284
+ };
285
+ hash: string;
286
+ };
287
+ checkpoint: {
288
+ number: number & {
289
+ _branding: "CheckpointNumber";
290
+ };
291
+ hash: string;
292
+ };
293
+ }, {
294
+ block: {
295
+ number: string | number | bigint;
296
+ hash: string;
297
+ };
298
+ checkpoint: {
299
+ number: string | number | bigint;
300
+ hash: string;
301
+ };
302
+ }>;
228
303
  proven: z.ZodObject<{
229
- number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
230
- hash: z.ZodString;
304
+ block: z.ZodObject<{
305
+ number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
306
+ hash: z.ZodString;
307
+ }, "strip", z.ZodTypeAny, {
308
+ number: number & {
309
+ _branding: "BlockNumber";
310
+ };
311
+ hash: string;
312
+ }, {
313
+ number: string | number | bigint;
314
+ hash: string;
315
+ }>;
316
+ checkpoint: z.ZodObject<{
317
+ number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
318
+ hash: z.ZodString;
319
+ }, "strip", z.ZodTypeAny, {
320
+ number: number & {
321
+ _branding: "CheckpointNumber";
322
+ };
323
+ hash: string;
324
+ }, {
325
+ number: string | number | bigint;
326
+ hash: string;
327
+ }>;
231
328
  }, "strip", z.ZodTypeAny, {
232
- number: number & {
233
- _branding: "BlockNumber";
329
+ block: {
330
+ number: number & {
331
+ _branding: "BlockNumber";
332
+ };
333
+ hash: string;
334
+ };
335
+ checkpoint: {
336
+ number: number & {
337
+ _branding: "CheckpointNumber";
338
+ };
339
+ hash: string;
234
340
  };
235
- hash: string;
236
341
  }, {
237
- number: string | number | bigint;
238
- hash: string;
342
+ block: {
343
+ number: string | number | bigint;
344
+ hash: string;
345
+ };
346
+ checkpoint: {
347
+ number: string | number | bigint;
348
+ hash: string;
349
+ };
239
350
  }>;
240
351
  finalized: z.ZodObject<{
241
- number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
242
- hash: z.ZodString;
352
+ block: z.ZodObject<{
353
+ number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
354
+ hash: z.ZodString;
355
+ }, "strip", z.ZodTypeAny, {
356
+ number: number & {
357
+ _branding: "BlockNumber";
358
+ };
359
+ hash: string;
360
+ }, {
361
+ number: string | number | bigint;
362
+ hash: string;
363
+ }>;
364
+ checkpoint: z.ZodObject<{
365
+ number: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, CheckpointNumber, string | number | bigint>;
366
+ hash: z.ZodString;
367
+ }, "strip", z.ZodTypeAny, {
368
+ number: number & {
369
+ _branding: "CheckpointNumber";
370
+ };
371
+ hash: string;
372
+ }, {
373
+ number: string | number | bigint;
374
+ hash: string;
375
+ }>;
243
376
  }, "strip", z.ZodTypeAny, {
244
- number: number & {
245
- _branding: "BlockNumber";
377
+ block: {
378
+ number: number & {
379
+ _branding: "BlockNumber";
380
+ };
381
+ hash: string;
382
+ };
383
+ checkpoint: {
384
+ number: number & {
385
+ _branding: "CheckpointNumber";
386
+ };
387
+ hash: string;
246
388
  };
247
- hash: string;
248
389
  }, {
249
- number: string | number | bigint;
250
- hash: string;
390
+ block: {
391
+ number: string | number | bigint;
392
+ hash: string;
393
+ };
394
+ checkpoint: {
395
+ number: string | number | bigint;
396
+ hash: string;
397
+ };
251
398
  }>;
252
399
  }, "strip", z.ZodTypeAny, {
253
- latest: {
400
+ proposed: {
254
401
  number: number & {
255
402
  _branding: "BlockNumber";
256
403
  };
257
404
  hash: string;
258
405
  };
406
+ checkpointed: {
407
+ block: {
408
+ number: number & {
409
+ _branding: "BlockNumber";
410
+ };
411
+ hash: string;
412
+ };
413
+ checkpoint: {
414
+ number: number & {
415
+ _branding: "CheckpointNumber";
416
+ };
417
+ hash: string;
418
+ };
419
+ };
259
420
  proven: {
260
- number: number & {
261
- _branding: "BlockNumber";
421
+ block: {
422
+ number: number & {
423
+ _branding: "BlockNumber";
424
+ };
425
+ hash: string;
426
+ };
427
+ checkpoint: {
428
+ number: number & {
429
+ _branding: "CheckpointNumber";
430
+ };
431
+ hash: string;
262
432
  };
263
- hash: string;
264
433
  };
265
434
  finalized: {
266
- number: number & {
267
- _branding: "BlockNumber";
435
+ block: {
436
+ number: number & {
437
+ _branding: "BlockNumber";
438
+ };
439
+ hash: string;
440
+ };
441
+ checkpoint: {
442
+ number: number & {
443
+ _branding: "CheckpointNumber";
444
+ };
445
+ hash: string;
268
446
  };
269
- hash: string;
270
447
  };
271
448
  }, {
272
- latest: {
449
+ proposed: {
273
450
  number: string | number | bigint;
274
451
  hash: string;
275
452
  };
453
+ checkpointed: {
454
+ block: {
455
+ number: string | number | bigint;
456
+ hash: string;
457
+ };
458
+ checkpoint: {
459
+ number: string | number | bigint;
460
+ hash: string;
461
+ };
462
+ };
276
463
  proven: {
277
- number: string | number | bigint;
278
- hash: string;
464
+ block: {
465
+ number: string | number | bigint;
466
+ hash: string;
467
+ };
468
+ checkpoint: {
469
+ number: string | number | bigint;
470
+ hash: string;
471
+ };
279
472
  };
280
473
  finalized: {
281
- number: string | number | bigint;
282
- hash: string;
474
+ block: {
475
+ number: string | number | bigint;
476
+ hash: string;
477
+ };
478
+ checkpoint: {
479
+ number: string | number | bigint;
480
+ hash: string;
481
+ };
283
482
  };
284
483
  }>;
285
484
  export declare enum L2BlockSourceEvents {
286
485
  L2PruneDetected = "l2PruneDetected",
287
486
  L2BlockProven = "l2BlockProven",
288
- InvalidAttestationsBlockDetected = "invalidBlockDetected"
487
+ L2BlocksCheckpointed = "l2BlocksCheckpointed",
488
+ InvalidAttestationsCheckpointDetected = "invalidCheckpointDetected"
289
489
  }
290
490
  export type L2BlockProvenEvent = {
291
491
  type: 'l2BlockProven';
@@ -296,10 +496,14 @@ export type L2BlockProvenEvent = {
296
496
  export type L2BlockPruneEvent = {
297
497
  type: 'l2PruneDetected';
298
498
  epochNumber: EpochNumber;
299
- blocks: L2Block[];
499
+ blocks: L2BlockNew[];
500
+ };
501
+ export type L2CheckpointEvent = {
502
+ type: 'l2BlocksCheckpointed';
503
+ checkpoint: PublishedCheckpoint;
300
504
  };
301
- export type InvalidBlockDetectedEvent = {
302
- type: 'invalidBlockDetected';
303
- validationResult: ValidateBlockNegativeResult;
505
+ export type InvalidCheckpointDetectedEvent = {
506
+ type: 'invalidCheckpointDetected';
507
+ validationResult: ValidateCheckpointNegativeResult;
304
508
  };
305
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc291cmNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBRVgsZ0JBQWdCLEVBQ2hCLEtBQUssV0FBVyxFQUNoQixLQUFLLFVBQVUsRUFDaEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEYsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFD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
509
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc291cmNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBRVgsZ0JBQWdCLEVBRWhCLEtBQUssV0FBVyxFQUNoQixLQUFLLFVBQVUsRUFDaEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEYsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdDLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFD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
@@ -1 +1 @@
1
- {"version":3,"file":"l2_block_source.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"l2_block_source.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_source.ts"],"names":[],"mappings":"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"}