@aztec/stdlib 1.0.0-nightly.20250607 → 1.0.0-nightly.20250610

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 (130) hide show
  1. package/dest/block/l2_block.js +1 -1
  2. package/dest/hash/hash.d.ts +8 -2
  3. package/dest/hash/hash.d.ts.map +1 -1
  4. package/dest/hash/hash.js +8 -16
  5. package/dest/interfaces/epoch-prover.d.ts +3 -1
  6. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  7. package/dest/interfaces/proving-job.d.ts +1 -1
  8. package/dest/interfaces/proving-job.d.ts.map +1 -1
  9. package/dest/interfaces/service.d.ts +1 -1
  10. package/dest/interfaces/service.d.ts.map +1 -1
  11. package/dest/kernel/index.d.ts +0 -1
  12. package/dest/kernel/index.d.ts.map +1 -1
  13. package/dest/kernel/index.js +0 -1
  14. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  15. package/dest/p2p/consensus_payload.js +9 -3
  16. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts +3 -3
  17. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +1 -1
  18. package/dest/rollup/base_or_merge_rollup_public_inputs.js +3 -3
  19. package/dest/rollup/base_rollup_hints.d.ts +15 -14
  20. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  21. package/dest/rollup/base_rollup_hints.js +13 -12
  22. package/dest/rollup/block_constant_data.d.ts +37 -0
  23. package/dest/rollup/block_constant_data.d.ts.map +1 -0
  24. package/dest/rollup/{constant_rollup_data.js → block_constant_data.js} +10 -13
  25. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +12 -27
  26. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +1 -1
  27. package/dest/rollup/block_root_or_block_merge_public_inputs.js +8 -15
  28. package/dest/rollup/block_root_rollup.d.ts +24 -9
  29. package/dest/rollup/block_root_rollup.d.ts.map +1 -1
  30. package/dest/rollup/block_root_rollup.js +15 -7
  31. package/dest/rollup/empty_block_root_rollup_inputs.d.ts +4 -4
  32. package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +1 -1
  33. package/dest/rollup/empty_block_root_rollup_inputs.js +2 -2
  34. package/dest/rollup/epoch_constant_data.d.ts +39 -0
  35. package/dest/rollup/epoch_constant_data.d.ts.map +1 -0
  36. package/dest/rollup/epoch_constant_data.js +40 -0
  37. package/dest/rollup/index.d.ts +2 -1
  38. package/dest/rollup/index.d.ts.map +1 -1
  39. package/dest/rollup/index.js +2 -1
  40. package/dest/rollup/root_rollup.d.ts +7 -11
  41. package/dest/rollup/root_rollup.d.ts.map +1 -1
  42. package/dest/rollup/root_rollup.js +7 -10
  43. package/dest/snapshots/types.d.ts +4 -4
  44. package/dest/tests/factories.d.ts +1 -10
  45. package/dest/tests/factories.d.ts.map +1 -1
  46. package/dest/tests/factories.js +23 -36
  47. package/dest/tests/mocks.d.ts.map +1 -1
  48. package/dest/tests/mocks.js +3 -3
  49. package/dest/trees/append_only_tree_snapshot.d.ts +6 -2
  50. package/dest/trees/append_only_tree_snapshot.d.ts.map +1 -1
  51. package/dest/trees/append_only_tree_snapshot.js +17 -2
  52. package/dest/tx/block_header.js +3 -3
  53. package/dest/tx/content_commitment.d.ts +3 -0
  54. package/dest/tx/content_commitment.d.ts.map +1 -1
  55. package/dest/tx/content_commitment.js +12 -1
  56. package/dest/tx/global_variables.js +1 -1
  57. package/dest/tx/index.d.ts +1 -0
  58. package/dest/tx/index.d.ts.map +1 -1
  59. package/dest/tx/index.js +1 -0
  60. package/dest/tx/offchain_message.d.ts +15 -0
  61. package/dest/tx/offchain_message.d.ts.map +1 -0
  62. package/dest/tx/offchain_message.js +4 -0
  63. package/dest/tx/partial_state_reference.d.ts +8 -0
  64. package/dest/tx/partial_state_reference.d.ts.map +1 -1
  65. package/dest/tx/partial_state_reference.js +19 -2
  66. package/dest/tx/private_execution_result.d.ts +18 -0
  67. package/dest/tx/private_execution_result.d.ts.map +1 -1
  68. package/dest/tx/private_execution_result.js +32 -2
  69. package/dest/tx/processed_tx.d.ts +2 -3
  70. package/dest/tx/processed_tx.d.ts.map +1 -1
  71. package/dest/tx/processed_tx.js +18 -8
  72. package/dest/tx/proposed_block_header.d.ts +3 -0
  73. package/dest/tx/proposed_block_header.d.ts.map +1 -1
  74. package/dest/tx/proposed_block_header.js +19 -1
  75. package/dest/tx/proven_tx.d.ts +2 -0
  76. package/dest/tx/proven_tx.d.ts.map +1 -1
  77. package/dest/tx/proven_tx.js +4 -1
  78. package/dest/tx/public_simulation_output.d.ts +3 -3
  79. package/dest/tx/public_simulation_output.d.ts.map +1 -1
  80. package/dest/tx/public_simulation_output.js +7 -7
  81. package/dest/tx/state_reference.d.ts +4 -0
  82. package/dest/tx/state_reference.d.ts.map +1 -1
  83. package/dest/tx/state_reference.js +20 -3
  84. package/dest/tx/tree_snapshots.js +3 -3
  85. package/dest/tx/tx.d.ts +1 -1
  86. package/dest/tx/tx.js +1 -1
  87. package/dest/tx/tx_hash.d.ts +1 -0
  88. package/dest/tx/tx_hash.d.ts.map +1 -1
  89. package/dest/tx/tx_hash.js +1 -0
  90. package/package.json +7 -7
  91. package/src/block/l2_block.ts +1 -1
  92. package/src/hash/hash.ts +16 -19
  93. package/src/interfaces/epoch-prover.ts +8 -2
  94. package/src/interfaces/service.ts +1 -1
  95. package/src/kernel/index.ts +0 -1
  96. package/src/p2p/consensus_payload.ts +13 -3
  97. package/src/rollup/base_or_merge_rollup_public_inputs.ts +4 -4
  98. package/src/rollup/base_rollup_hints.ts +12 -11
  99. package/src/rollup/block_constant_data.ts +63 -0
  100. package/src/rollup/block_root_or_block_merge_public_inputs.ts +10 -21
  101. package/src/rollup/block_root_rollup.ts +17 -5
  102. package/src/rollup/empty_block_root_rollup_inputs.ts +3 -3
  103. package/src/rollup/epoch_constant_data.ts +44 -0
  104. package/src/rollup/index.ts +2 -1
  105. package/src/rollup/root_rollup.ts +10 -12
  106. package/src/tests/factories.ts +36 -58
  107. package/src/tests/mocks.ts +3 -2
  108. package/src/trees/append_only_tree_snapshot.ts +18 -2
  109. package/src/tx/block_header.ts +3 -3
  110. package/src/tx/content_commitment.ts +19 -1
  111. package/src/tx/global_variables.ts +1 -1
  112. package/src/tx/index.ts +1 -0
  113. package/src/tx/offchain_message.ts +16 -0
  114. package/src/tx/partial_state_reference.ts +29 -4
  115. package/src/tx/private_execution_result.ts +30 -0
  116. package/src/tx/processed_tx.ts +26 -13
  117. package/src/tx/proposed_block_header.ts +31 -1
  118. package/src/tx/proven_tx.ts +10 -1
  119. package/src/tx/public_simulation_output.ts +5 -5
  120. package/src/tx/state_reference.ts +22 -3
  121. package/src/tx/tree_snapshots.ts +9 -9
  122. package/src/tx/tx.ts +1 -1
  123. package/src/tx/tx_hash.ts +1 -0
  124. package/dest/kernel/combined_constant_data.d.ts +0 -71
  125. package/dest/kernel/combined_constant_data.d.ts.map +0 -1
  126. package/dest/kernel/combined_constant_data.js +0 -73
  127. package/dest/rollup/constant_rollup_data.d.ts +0 -45
  128. package/dest/rollup/constant_rollup_data.d.ts.map +0 -1
  129. package/src/kernel/combined_constant_data.ts +0 -128
  130. package/src/rollup/constant_rollup_data.ts +0 -54
@@ -6,10 +6,15 @@ import { BufferReader, type Tuple } from '@aztec/foundation/serialize';
6
6
  import type { FieldsOf } from '@aztec/foundation/types';
7
7
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
8
8
  import { GlobalVariables } from '../tx/global_variables.js';
9
+ import { EpochConstantData } from './epoch_constant_data.js';
9
10
  /**
10
11
  * Output of the block root and block merge rollup circuits.
11
12
  */
12
13
  export declare class BlockRootOrBlockMergePublicInputs {
14
+ /**
15
+ * Constants for the entire epoch.
16
+ */
17
+ constants: EpochConstantData;
13
18
  /**
14
19
  * Archive tree immediately before this block range.
15
20
  */
@@ -40,22 +45,14 @@ export declare class BlockRootOrBlockMergePublicInputs {
40
45
  */
41
46
  fees: Tuple<FeeRecipient, typeof AZTEC_MAX_EPOCH_DURATION>;
42
47
  /**
43
- * Root of the verification key tree.
44
- */
45
- vkTreeRoot: Fr;
46
- /**
47
- * Root of the protocol contract tree.
48
+ * Public inputs required to verify a batch of blobs.
48
49
  */
49
- protocolContractTreeRoot: Fr;
50
- /**
51
- * TODO(#7346): Temporarily added prover_id while we verify block-root proofs on L1
52
- */
53
- proverId: Fr;
50
+ blobPublicInputs: BlockBlobPublicInputs;
51
+ constructor(
54
52
  /**
55
- * Public inputs required to verify a blob (challenge point z, evaluation y = p(z), and the commitment to p() for each blob)
53
+ * Constants for the entire epoch.
56
54
  */
57
- blobPublicInputs: Tuple<BlockBlobPublicInputs, typeof AZTEC_MAX_EPOCH_DURATION>;
58
- constructor(
55
+ constants: EpochConstantData,
59
56
  /**
60
57
  * Archive tree immediately before this block range.
61
58
  */
@@ -86,21 +83,9 @@ export declare class BlockRootOrBlockMergePublicInputs {
86
83
  */
87
84
  fees: Tuple<FeeRecipient, typeof AZTEC_MAX_EPOCH_DURATION>,
88
85
  /**
89
- * Root of the verification key tree.
90
- */
91
- vkTreeRoot: Fr,
92
- /**
93
- * Root of the protocol contract tree.
94
- */
95
- protocolContractTreeRoot: Fr,
96
- /**
97
- * TODO(#7346): Temporarily added prover_id while we verify block-root proofs on L1
98
- */
99
- proverId: Fr,
100
- /**
101
- * Public inputs required to verify a blob (challenge point z, evaluation y = p(z), and the commitment to p() for each blob)
86
+ * Public inputs required to verify a batch of blobs.
102
87
  */
103
- blobPublicInputs: Tuple<BlockBlobPublicInputs, typeof AZTEC_MAX_EPOCH_DURATION>);
88
+ blobPublicInputs: BlockBlobPublicInputs);
104
89
  /**
105
90
  * Deserializes from a buffer or reader.
106
91
  * @param buffer - Buffer or reader to read from.
@@ -1 +1 @@
1
- {"version":3,"file":"block_root_or_block_merge_public_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/block_root_or_block_merge_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAwC,MAAM,6BAA6B,CAAC;AAE7G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D;;GAEG;AACH,qBAAa,iCAAiC;IAE1C;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,kBAAkB,EAAE,eAAe;IAC1C;;;OAGG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,yBAAyB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC;IAC5E;;OAEG;IACI,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,wBAAwB,CAAC;IACjE;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,wBAAwB,EAAE,EAAE;IACnC;;OAEG;IACI,QAAQ,EAAE,EAAE;IACnB;;OAEG;IACI,gBAAgB,EAAE,KAAK,CAAC,qBAAqB,EAAE,OAAO,wBAAwB,CAAC;;IA5CtF;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,kBAAkB,EAAE,eAAe;IAC1C;;;OAGG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,yBAAyB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC;IAC5E;;OAEG;IACI,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,wBAAwB,CAAC;IACjE;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,wBAAwB,EAAE,EAAE;IACnC;;OAEG;IACI,QAAQ,EAAE,EAAE;IACnB;;OAEG;IACI,gBAAgB,EAAE,KAAK,CAAC,qBAAqB,EAAE,OAAO,wBAAwB,CAAC;IAGxF;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,iCAAiC;IAiBnF;;;OAGG;IACH,QAAQ;IAgBR;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,8DAA8D;IAC9D,MAAM;IAIN,6CAA6C;IAC7C,MAAM,KAAK,MAAM,0EAEhB;CACF;AAED,qBAAa,YAAY;IAEd,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,EAAE;gBADT,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,EAAE;IAGlB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,YAAY;IAK9D,QAAQ;IAIR,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC;IAI/C,QAAQ;IAIR,OAAO;IAIP,cAAc;;;;;;;IAOd,MAAM,CAAC,MAAM;CAGd"}
1
+ {"version":3,"file":"block_root_or_block_merge_public_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/block_root_or_block_merge_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAwC,MAAM,6BAA6B,CAAC;AAE7G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,qBAAa,iCAAiC;IAE1C;;OAEG;IACI,SAAS,EAAE,iBAAiB;IACnC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,kBAAkB,EAAE,eAAe;IAC1C;;;OAGG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,yBAAyB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC;IAC5E;;OAEG;IACI,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,wBAAwB,CAAC;IACjE;;OAEG;IACI,gBAAgB,EAAE,qBAAqB;;IApC9C;;OAEG;IACI,SAAS,EAAE,iBAAiB;IACnC;;OAEG;IACI,eAAe,EAAE,sBAAsB;IAC9C;;OAEG;IACI,UAAU,EAAE,sBAAsB;IACzC;;OAEG;IACI,oBAAoB,EAAE,eAAe;IAC5C;;OAEG;IACI,kBAAkB,EAAE,eAAe;IAC1C;;;OAGG;IACI,OAAO,EAAE,EAAE;IAClB;;OAEG;IACI,yBAAyB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC;IAC5E;;OAEG;IACI,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,wBAAwB,CAAC;IACjE;;OAEG;IACI,gBAAgB,EAAE,qBAAqB;IAGhD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,iCAAiC;IAenF;;;OAGG;IACH,QAAQ;IAcR;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,8DAA8D;IAC9D,MAAM;IAIN,6CAA6C;IAC7C,MAAM,KAAK,MAAM,0EAEhB;CACF;AAED,qBAAa,YAAY;IAEd,SAAS,EAAE,UAAU;IACrB,KAAK,EAAE,EAAE;gBADT,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,EAAE;IAGlB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,YAAY;IAK9D,QAAQ;IAIR,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC;IAI/C,QAAQ;IAIR,OAAO;IAIP,cAAc;;;;;;;IAOd,MAAM,CAAC,MAAM;CAGd"}
@@ -7,9 +7,11 @@ import { BufferReader, serializeToBuffer, serializeToFields } from '@aztec/found
7
7
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
8
8
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
9
9
  import { GlobalVariables } from '../tx/global_variables.js';
10
+ import { EpochConstantData } from './epoch_constant_data.js';
10
11
  /**
11
12
  * Output of the block root and block merge rollup circuits.
12
13
  */ export class BlockRootOrBlockMergePublicInputs {
14
+ constants;
13
15
  previousArchive;
14
16
  newArchive;
15
17
  startGlobalVariables;
@@ -17,11 +19,10 @@ import { GlobalVariables } from '../tx/global_variables.js';
17
19
  outHash;
18
20
  proposedBlockHeaderHashes;
19
21
  fees;
20
- vkTreeRoot;
21
- protocolContractTreeRoot;
22
- proverId;
23
22
  blobPublicInputs;
24
23
  constructor(/**
24
+ * Constants for the entire epoch.
25
+ */ constants, /**
25
26
  * Archive tree immediately before this block range.
26
27
  */ previousArchive, /**
27
28
  * Archive tree after adding this block range.
@@ -37,14 +38,9 @@ import { GlobalVariables } from '../tx/global_variables.js';
37
38
  */ proposedBlockHeaderHashes, /**
38
39
  * The summed `transaction_fee`s and recipients of the constituent blocks.
39
40
  */ fees, /**
40
- * Root of the verification key tree.
41
- */ vkTreeRoot, /**
42
- * Root of the protocol contract tree.
43
- */ protocolContractTreeRoot, /**
44
- * TODO(#7346): Temporarily added prover_id while we verify block-root proofs on L1
45
- */ proverId, /**
46
- * Public inputs required to verify a blob (challenge point z, evaluation y = p(z), and the commitment to p() for each blob)
41
+ * Public inputs required to verify a batch of blobs.
47
42
  */ blobPublicInputs){
43
+ this.constants = constants;
48
44
  this.previousArchive = previousArchive;
49
45
  this.newArchive = newArchive;
50
46
  this.startGlobalVariables = startGlobalVariables;
@@ -52,9 +48,6 @@ import { GlobalVariables } from '../tx/global_variables.js';
52
48
  this.outHash = outHash;
53
49
  this.proposedBlockHeaderHashes = proposedBlockHeaderHashes;
54
50
  this.fees = fees;
55
- this.vkTreeRoot = vkTreeRoot;
56
- this.protocolContractTreeRoot = protocolContractTreeRoot;
57
- this.proverId = proverId;
58
51
  this.blobPublicInputs = blobPublicInputs;
59
52
  }
60
53
  /**
@@ -63,13 +56,13 @@ import { GlobalVariables } from '../tx/global_variables.js';
63
56
  * @returns The deserialized public inputs.
64
57
  */ static fromBuffer(buffer) {
65
58
  const reader = BufferReader.asReader(buffer);
66
- return new BlockRootOrBlockMergePublicInputs(reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(GlobalVariables), reader.readObject(GlobalVariables), Fr.fromBuffer(reader), reader.readArray(AZTEC_MAX_EPOCH_DURATION, Fr), reader.readArray(AZTEC_MAX_EPOCH_DURATION, FeeRecipient), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readArray(AZTEC_MAX_EPOCH_DURATION, BlockBlobPublicInputs));
59
+ return new BlockRootOrBlockMergePublicInputs(reader.readObject(EpochConstantData), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(AppendOnlyTreeSnapshot), reader.readObject(GlobalVariables), reader.readObject(GlobalVariables), Fr.fromBuffer(reader), reader.readArray(AZTEC_MAX_EPOCH_DURATION, Fr), reader.readArray(AZTEC_MAX_EPOCH_DURATION, FeeRecipient), reader.readObject(BlockBlobPublicInputs));
67
60
  }
68
61
  /**
69
62
  * Serialize this as a buffer.
70
63
  * @returns The buffer.
71
64
  */ toBuffer() {
72
- return serializeToBuffer(this.previousArchive, this.newArchive, this.startGlobalVariables, this.endGlobalVariables, this.outHash, this.proposedBlockHeaderHashes, this.fees, this.vkTreeRoot, this.protocolContractTreeRoot, this.proverId, this.blobPublicInputs);
65
+ return serializeToBuffer(this.constants, this.previousArchive, this.newArchive, this.startGlobalVariables, this.endGlobalVariables, this.outHash, this.proposedBlockHeaderHashes, this.fees, this.blobPublicInputs);
73
66
  }
74
67
  /**
75
68
  * Serialize this as a hex string.
@@ -1,5 +1,6 @@
1
+ import { BlobAccumulatorPublicInputs, FinalBlobBatchingChallenges } from '@aztec/blob-lib';
1
2
  import { ARCHIVE_HEIGHT, BLOBS_PER_BLOCK, L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, NESTED_RECURSIVE_PROOF_LENGTH } from '@aztec/constants';
2
- import { Fr } from '@aztec/foundation/fields';
3
+ import { BLS12Point, Fr } from '@aztec/foundation/fields';
3
4
  import { BufferReader, type Tuple } from '@aztec/foundation/serialize';
4
5
  import type { FieldsOf } from '@aztec/foundation/types';
5
6
  import { RootParityInput } from '../parity/root_parity_input.js';
@@ -27,7 +28,15 @@ export declare class BlockRootRollupData {
27
28
  */
28
29
  previousBlockHeader: BlockHeader;
29
30
  /**
30
- * TODO(#7346): Temporarily added prover_id while we verify block-root proofs on L1
31
+ * The current blob accumulation state across the epoch.
32
+ */
33
+ startBlobAccumulator: BlobAccumulatorPublicInputs;
34
+ /**
35
+ * Finalized challenges z and gamma for performing blob batching. Shared value across the epoch.
36
+ */
37
+ finalBlobChallenges: FinalBlobBatchingChallenges;
38
+ /**
39
+ * Identifier of the prover.
31
40
  */
32
41
  proverId: Fr;
33
42
  constructor(
@@ -52,7 +61,15 @@ export declare class BlockRootRollupData {
52
61
  */
53
62
  previousBlockHeader: BlockHeader,
54
63
  /**
55
- * TODO(#7346): Temporarily added prover_id while we verify block-root proofs on L1
64
+ * The current blob accumulation state across the epoch.
65
+ */
66
+ startBlobAccumulator: BlobAccumulatorPublicInputs,
67
+ /**
68
+ * Finalized challenges z and gamma for performing blob batching. Shared value across the epoch.
69
+ */
70
+ finalBlobChallenges: FinalBlobBatchingChallenges,
71
+ /**
72
+ * Identifier of the prover.
56
73
  */
57
74
  proverId: Fr);
58
75
  /**
@@ -76,7 +93,7 @@ export declare class BlockRootRollupData {
76
93
  * @param fields - Fields to create the instance from.
77
94
  * @returns An array of fields.
78
95
  */
79
- static getFields(fields: FieldsOf<BlockRootRollupData>): readonly [RootParityInput<456>, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], BlockHeader, Fr];
96
+ static getFields(fields: FieldsOf<BlockRootRollupData>): readonly [RootParityInput<456>, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], BlockHeader, BlobAccumulatorPublicInputs, FinalBlobBatchingChallenges, Fr];
80
97
  /**
81
98
  * Deserializes the inputs from a buffer.
82
99
  * @param buffer - A buffer to deserialize from.
@@ -103,9 +120,8 @@ export declare class BlockRootRollupBlobData {
103
120
  blobFields: Fr[];
104
121
  /**
105
122
  * KZG commitments representing the blob (precomputed in ts, injected to use inside circuit).
106
- * TODO(Miranda): Rename to kzg_commitment to match BlobPublicInputs?
107
123
  */
108
- blobCommitments: Tuple<Tuple<Fr, 2>, typeof BLOBS_PER_BLOCK>;
124
+ blobCommitments: Tuple<BLS12Point, typeof BLOBS_PER_BLOCK>;
109
125
  /**
110
126
  * The hash of eth blob hashes for this block
111
127
  * See yarn-project/foundation/src/blob/index.ts or body.ts for calculation
@@ -120,9 +136,8 @@ export declare class BlockRootRollupBlobData {
120
136
  blobFields: Fr[],
121
137
  /**
122
138
  * KZG commitments representing the blob (precomputed in ts, injected to use inside circuit).
123
- * TODO(Miranda): Rename to kzg_commitment to match BlobPublicInputs?
124
139
  */
125
- blobCommitments: Tuple<Tuple<Fr, 2>, typeof BLOBS_PER_BLOCK>,
140
+ blobCommitments: Tuple<BLS12Point, typeof BLOBS_PER_BLOCK>,
126
141
  /**
127
142
  * The hash of eth blob hashes for this block
128
143
  * See yarn-project/foundation/src/blob/index.ts or body.ts for calculation
@@ -149,7 +164,7 @@ export declare class BlockRootRollupBlobData {
149
164
  * @param fields - Fields to create the instance from.
150
165
  * @returns An array of fields.
151
166
  */
152
- static getFields(fields: FieldsOf<BlockRootRollupBlobData>): readonly [Fr[], [[Fr, Fr], [Fr, Fr], [Fr, Fr]], Fr];
167
+ static getFields(fields: FieldsOf<BlockRootRollupBlobData>): readonly [Fr[], [BLS12Point, BLS12Point, BLS12Point], Fr];
153
168
  /**
154
169
  * Deserializes the inputs from a buffer.
155
170
  * @param buffer - A buffer to deserialize from.
@@ -1 +1 @@
1
- {"version":3,"file":"block_root_rollup.d.ts","sourceRoot":"","sources":["../../src/rollup/block_root_rollup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block_root_rollup.d.ts","sourceRoot":"","sources":["../../src/rollup/block_root_rollup.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
+ import { BlobAccumulatorPublicInputs, FinalBlobBatchingChallenges } from '@aztec/blob-lib';
1
2
  import { ARCHIVE_HEIGHT, BLOBS_PER_BLOCK, FIELDS_PER_BLOB, L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, NESTED_RECURSIVE_PROOF_LENGTH } from '@aztec/constants';
2
- import { Fr } from '@aztec/foundation/fields';
3
+ import { BLS12Point, Fr } from '@aztec/foundation/fields';
3
4
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
4
5
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
5
6
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
@@ -12,6 +13,8 @@ export class BlockRootRollupData {
12
13
  previousArchiveSiblingPath;
13
14
  newArchiveSiblingPath;
14
15
  previousBlockHeader;
16
+ startBlobAccumulator;
17
+ finalBlobChallenges;
15
18
  proverId;
16
19
  constructor(/**
17
20
  * The original and converted roots of the L1 to L2 messages subtrees.
@@ -24,13 +27,19 @@ export class BlockRootRollupData {
24
27
  */ newArchiveSiblingPath, /**
25
28
  * The header of the previous block.
26
29
  */ previousBlockHeader, /**
27
- * TODO(#7346): Temporarily added prover_id while we verify block-root proofs on L1
30
+ * The current blob accumulation state across the epoch.
31
+ */ startBlobAccumulator, /**
32
+ * Finalized challenges z and gamma for performing blob batching. Shared value across the epoch.
33
+ */ finalBlobChallenges, /**
34
+ * Identifier of the prover.
28
35
  */ proverId){
29
36
  this.l1ToL2Roots = l1ToL2Roots;
30
37
  this.l1ToL2MessageSubtreeSiblingPath = l1ToL2MessageSubtreeSiblingPath;
31
38
  this.previousArchiveSiblingPath = previousArchiveSiblingPath;
32
39
  this.newArchiveSiblingPath = newArchiveSiblingPath;
33
40
  this.previousBlockHeader = previousBlockHeader;
41
+ this.startBlobAccumulator = startBlobAccumulator;
42
+ this.finalBlobChallenges = finalBlobChallenges;
34
43
  this.proverId = proverId;
35
44
  }
36
45
  /**
@@ -63,6 +72,8 @@ export class BlockRootRollupData {
63
72
  fields.previousArchiveSiblingPath,
64
73
  fields.newArchiveSiblingPath,
65
74
  fields.previousBlockHeader,
75
+ fields.startBlobAccumulator,
76
+ fields.finalBlobChallenges,
66
77
  fields.proverId
67
78
  ];
68
79
  }
@@ -72,7 +83,7 @@ export class BlockRootRollupData {
72
83
  * @returns A new RootRollupInputs instance.
73
84
  */ static fromBuffer(buffer) {
74
85
  const reader = BufferReader.asReader(buffer);
75
- return new BlockRootRollupData(RootParityInput.fromBuffer(reader, NESTED_RECURSIVE_PROOF_LENGTH), reader.readArray(L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, Fr), reader.readArray(ARCHIVE_HEIGHT, Fr), reader.readArray(ARCHIVE_HEIGHT, Fr), BlockHeader.fromBuffer(reader), Fr.fromBuffer(reader));
86
+ return new BlockRootRollupData(RootParityInput.fromBuffer(reader, NESTED_RECURSIVE_PROOF_LENGTH), reader.readArray(L1_TO_L2_MSG_SUBTREE_SIBLING_PATH_LENGTH, Fr), reader.readArray(ARCHIVE_HEIGHT, Fr), reader.readArray(ARCHIVE_HEIGHT, Fr), BlockHeader.fromBuffer(reader), reader.readObject(BlobAccumulatorPublicInputs), reader.readObject(FinalBlobBatchingChallenges), Fr.fromBuffer(reader));
76
87
  }
77
88
  /**
78
89
  * Deserializes the inputs from a hex string.
@@ -98,7 +109,6 @@ export class BlockRootRollupBlobData {
98
109
  * Tuple<Fr, FIELDS_PER_BLOB * BLOBS_PER_BLOCK>
99
110
  */ blobFields, /**
100
111
  * KZG commitments representing the blob (precomputed in ts, injected to use inside circuit).
101
- * TODO(Miranda): Rename to kzg_commitment to match BlobPublicInputs?
102
112
  */ blobCommitments, /**
103
113
  * The hash of eth blob hashes for this block
104
114
  * See yarn-project/foundation/src/blob/index.ts or body.ts for calculation
@@ -147,9 +157,7 @@ export class BlockRootRollupBlobData {
147
157
  // reader.readArray(FIELDS_PER_BLOB, Fr),
148
158
  Array.from({
149
159
  length: FIELDS_PER_BLOB * BLOBS_PER_BLOCK
150
- }, ()=>Fr.fromBuffer(reader)), reader.readArray(BLOBS_PER_BLOCK, {
151
- fromBuffer: ()=>reader.readArray(2, Fr)
152
- }), Fr.fromBuffer(reader));
160
+ }, ()=>Fr.fromBuffer(reader)), reader.readArray(BLOBS_PER_BLOCK, BLS12Point), Fr.fromBuffer(reader));
153
161
  }
154
162
  /**
155
163
  * Deserializes the inputs from a hex string.
@@ -1,15 +1,15 @@
1
1
  import { BufferReader } from '@aztec/foundation/serialize';
2
2
  import type { FieldsOf } from '@aztec/foundation/types';
3
+ import { BlockConstantData } from './block_constant_data.js';
3
4
  import { BlockRootRollupData } from './block_root_rollup.js';
4
- import { ConstantRollupData } from './constant_rollup_data.js';
5
5
  /**
6
6
  * Represents inputs of the empty block root rollup circuit.
7
7
  */
8
8
  export declare class EmptyBlockRootRollupInputs {
9
9
  readonly data: BlockRootRollupData;
10
- readonly constants: ConstantRollupData;
10
+ readonly constants: BlockConstantData;
11
11
  readonly isPadding: boolean;
12
- constructor(data: BlockRootRollupData, constants: ConstantRollupData, isPadding: boolean);
12
+ constructor(data: BlockRootRollupData, constants: BlockConstantData, isPadding: boolean);
13
13
  /**
14
14
  * Serializes the inputs to a buffer.
15
15
  * @returns - The inputs serialized to a buffer.
@@ -31,7 +31,7 @@ export declare class EmptyBlockRootRollupInputs {
31
31
  * @param fields - Fields to create the instance from.
32
32
  * @returns An array of fields.
33
33
  */
34
- static getFields(fields: FieldsOf<EmptyBlockRootRollupInputs>): readonly [BlockRootRollupData, ConstantRollupData, boolean];
34
+ static getFields(fields: FieldsOf<EmptyBlockRootRollupInputs>): readonly [BlockRootRollupData, BlockConstantData, boolean];
35
35
  /**
36
36
  * Deserializes the inputs from a buffer.
37
37
  * @param buffer - A buffer to deserialize from.
@@ -1 +1 @@
1
- {"version":3,"file":"empty_block_root_rollup_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/empty_block_root_rollup_inputs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;GAEG;AACH,qBAAa,0BAA0B;aAEnB,IAAI,EAAE,mBAAmB;aACzB,SAAS,EAAE,kBAAkB;aAC7B,SAAS,EAAE,OAAO;gBAFlB,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,kBAAkB,EAC7B,SAAS,EAAE,OAAO;IAGpC;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAAG,0BAA0B;IAIrF;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,0BAA0B,CAAC;IAI7D;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,0BAA0B;IAS5E;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,8DAA8D;IAC9D,MAAM;IAIN,gDAAgD;IAChD,MAAM,KAAK,MAAM,mEAEhB;CACF"}
1
+ {"version":3,"file":"empty_block_root_rollup_inputs.d.ts","sourceRoot":"","sources":["../../src/rollup/empty_block_root_rollup_inputs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D;;GAEG;AACH,qBAAa,0BAA0B;aAEnB,IAAI,EAAE,mBAAmB;aACzB,SAAS,EAAE,iBAAiB;aAC5B,SAAS,EAAE,OAAO;gBAFlB,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,OAAO;IAGpC;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,0BAA0B,CAAC,GAAG,0BAA0B;IAIrF;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,0BAA0B,CAAC;IAI7D;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,0BAA0B;IAS5E;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,8DAA8D;IAC9D,MAAM;IAIN,gDAAgD;IAChD,MAAM,KAAK,MAAM,mEAEhB;CACF"}
@@ -1,8 +1,8 @@
1
1
  import { bufferSchemaFor } from '@aztec/foundation/schemas';
2
2
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
3
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
4
+ import { BlockConstantData } from './block_constant_data.js';
4
5
  import { BlockRootRollupData } from './block_root_rollup.js';
5
- import { ConstantRollupData } from './constant_rollup_data.js';
6
6
  /**
7
7
  * Represents inputs of the empty block root rollup circuit.
8
8
  */ export class EmptyBlockRootRollupInputs {
@@ -50,7 +50,7 @@ import { ConstantRollupData } from './constant_rollup_data.js';
50
50
  * @returns A new RootRollupInputs instance.
51
51
  */ static fromBuffer(buffer) {
52
52
  const reader = BufferReader.asReader(buffer);
53
- return new EmptyBlockRootRollupInputs(reader.readObject(BlockRootRollupData), reader.readObject(ConstantRollupData), reader.readBoolean());
53
+ return new EmptyBlockRootRollupInputs(reader.readObject(BlockRootRollupData), reader.readObject(BlockConstantData), reader.readBoolean());
54
54
  }
55
55
  /**
56
56
  * Deserializes the inputs from a hex string.
@@ -0,0 +1,39 @@
1
+ import { Fr } from '@aztec/foundation/fields';
2
+ import { BufferReader } from '@aztec/foundation/serialize';
3
+ import type { FieldsOf } from '@aztec/foundation/types';
4
+ /**
5
+ * Constants that are the same for the entire epoch.
6
+ */
7
+ export declare class EpochConstantData {
8
+ /**
9
+ * Root of the verification key tree.
10
+ */
11
+ vkTreeRoot: Fr;
12
+ /**
13
+ * Root of the protocol contract tree.
14
+ */
15
+ protocolContractTreeRoot: Fr;
16
+ /**
17
+ * Identifier of the prover of the epoch.
18
+ */
19
+ proverId: Fr;
20
+ constructor(
21
+ /**
22
+ * Root of the verification key tree.
23
+ */
24
+ vkTreeRoot: Fr,
25
+ /**
26
+ * Root of the protocol contract tree.
27
+ */
28
+ protocolContractTreeRoot: Fr,
29
+ /**
30
+ * Identifier of the prover of the epoch.
31
+ */
32
+ proverId: Fr);
33
+ static from(fields: FieldsOf<EpochConstantData>): EpochConstantData;
34
+ static fromBuffer(buffer: Buffer | BufferReader): EpochConstantData;
35
+ static getFields(fields: FieldsOf<EpochConstantData>): readonly [Fr, Fr, Fr];
36
+ static empty(): EpochConstantData;
37
+ toBuffer(): Buffer<ArrayBufferLike>;
38
+ }
39
+ //# sourceMappingURL=epoch_constant_data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"epoch_constant_data.d.ts","sourceRoot":"","sources":["../../src/rollup/epoch_constant_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD;;GAEG;AACH,qBAAa,iBAAiB;IAE1B;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,wBAAwB,EAAE,EAAE;IACnC;;OAEG;IACI,QAAQ,EAAE,EAAE;;IAXnB;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,wBAAwB,EAAE,EAAE;IACnC;;OAEG;IACI,QAAQ,EAAE,EAAE;IAGrB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,iBAAiB;IAInE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,iBAAiB;IAKnE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC;IAIpD,MAAM,CAAC,KAAK;IAIZ,QAAQ;CAGT"}
@@ -0,0 +1,40 @@
1
+ import { Fr } from '@aztec/foundation/fields';
2
+ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
+ /**
4
+ * Constants that are the same for the entire epoch.
5
+ */ export class EpochConstantData {
6
+ vkTreeRoot;
7
+ protocolContractTreeRoot;
8
+ proverId;
9
+ constructor(/**
10
+ * Root of the verification key tree.
11
+ */ vkTreeRoot, /**
12
+ * Root of the protocol contract tree.
13
+ */ protocolContractTreeRoot, /**
14
+ * Identifier of the prover of the epoch.
15
+ */ proverId){
16
+ this.vkTreeRoot = vkTreeRoot;
17
+ this.protocolContractTreeRoot = protocolContractTreeRoot;
18
+ this.proverId = proverId;
19
+ }
20
+ static from(fields) {
21
+ return new EpochConstantData(...EpochConstantData.getFields(fields));
22
+ }
23
+ static fromBuffer(buffer) {
24
+ const reader = BufferReader.asReader(buffer);
25
+ return new EpochConstantData(Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader));
26
+ }
27
+ static getFields(fields) {
28
+ return [
29
+ fields.vkTreeRoot,
30
+ fields.protocolContractTreeRoot,
31
+ fields.proverId
32
+ ];
33
+ }
34
+ static empty() {
35
+ return new EpochConstantData(Fr.ZERO, Fr.ZERO, Fr.ZERO);
36
+ }
37
+ toBuffer() {
38
+ return serializeToBuffer(...EpochConstantData.getFields(this));
39
+ }
40
+ }
@@ -1,10 +1,11 @@
1
1
  export * from './avm_proof_data.js';
2
2
  export * from './base_or_merge_rollup_public_inputs.js';
3
3
  export * from './base_rollup_hints.js';
4
+ export * from './block_constant_data.js';
4
5
  export * from './block_merge_rollup.js';
5
6
  export * from './block_root_or_block_merge_public_inputs.js';
6
- export * from './constant_rollup_data.js';
7
7
  export * from './empty_block_root_rollup_inputs.js';
8
+ export * from './epoch_constant_data.js';
8
9
  export * from './block_root_rollup.js';
9
10
  export * from './merge_rollup.js';
10
11
  export * from './previous_rollup_block_data.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rollup/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,yCAAyC,CAAC;AACxD,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8CAA8C,CAAC;AAC7D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rollup/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,yCAAyC,CAAC;AACxD,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8CAA8C,CAAC;AAC7D,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC"}
@@ -1,10 +1,11 @@
1
1
  export * from './avm_proof_data.js';
2
2
  export * from './base_or_merge_rollup_public_inputs.js';
3
3
  export * from './base_rollup_hints.js';
4
+ export * from './block_constant_data.js';
4
5
  export * from './block_merge_rollup.js';
5
6
  export * from './block_root_or_block_merge_public_inputs.js';
6
- export * from './constant_rollup_data.js';
7
7
  export * from './empty_block_root_rollup_inputs.js';
8
+ export * from './epoch_constant_data.js';
8
9
  export * from './block_root_rollup.js';
9
10
  export * from './merge_rollup.js';
10
11
  export * from './previous_rollup_block_data.js';
@@ -1,4 +1,4 @@
1
- import { BlockBlobPublicInputs } from '@aztec/blob-lib';
1
+ import { FinalBlobAccumulatorPublicInputs } from '@aztec/blob-lib';
2
2
  import { AZTEC_MAX_EPOCH_DURATION } from '@aztec/constants';
3
3
  import { Fr } from '@aztec/foundation/fields';
4
4
  import { BufferReader, type Tuple } from '@aztec/foundation/serialize';
@@ -15,17 +15,13 @@ export declare class RootRollupInputs {
15
15
  * from 2 block merge circuits.
16
16
  */
17
17
  previousRollupData: [PreviousRollupBlockData, PreviousRollupBlockData];
18
- /** Identifier of the prover for this root rollup. */
19
- proverId: Fr;
20
18
  constructor(
21
19
  /**
22
20
  * The previous rollup data.
23
21
  * Note: Root rollup circuit is the latest circuit the chain of circuits and the previous rollup data is the data
24
22
  * from 2 block merge circuits.
25
23
  */
26
- previousRollupData: [PreviousRollupBlockData, PreviousRollupBlockData],
27
- /** Identifier of the prover for this root rollup. */
28
- proverId: Fr);
24
+ previousRollupData: [PreviousRollupBlockData, PreviousRollupBlockData]);
29
25
  /**
30
26
  * Serializes the inputs to a buffer.
31
27
  * @returns - The inputs serialized to a buffer.
@@ -47,7 +43,7 @@ export declare class RootRollupInputs {
47
43
  * @param fields - Fields to create the instance from.
48
44
  * @returns An array of fields.
49
45
  */
50
- static getFields(fields: FieldsOf<RootRollupInputs>): readonly [[PreviousRollupBlockData, PreviousRollupBlockData], Fr];
46
+ static getFields(fields: FieldsOf<RootRollupInputs>): readonly [[PreviousRollupBlockData, PreviousRollupBlockData]];
51
47
  /**
52
48
  * Deserializes the inputs from a buffer.
53
49
  * @param buffer - A buffer to deserialize from.
@@ -82,13 +78,13 @@ export declare class RootRollupPublicInputs {
82
78
  vkTreeRoot: Fr;
83
79
  protocolContractTreeRoot: Fr;
84
80
  proverId: Fr;
85
- blobPublicInputs: Tuple<BlockBlobPublicInputs, typeof AZTEC_MAX_EPOCH_DURATION>;
81
+ blobPublicInputs: FinalBlobAccumulatorPublicInputs;
86
82
  constructor(
87
83
  /** Root of the archive tree before this rollup is processed */
88
84
  previousArchiveRoot: Fr,
89
85
  /** Root of the archive tree after this rollup is processed */
90
- endArchiveRoot: Fr, proposedBlockHeaderHashes: Tuple<Fr, typeof AZTEC_MAX_EPOCH_DURATION>, fees: Tuple<FeeRecipient, typeof AZTEC_MAX_EPOCH_DURATION>, chainId: Fr, version: Fr, vkTreeRoot: Fr, protocolContractTreeRoot: Fr, proverId: Fr, blobPublicInputs: Tuple<BlockBlobPublicInputs, typeof AZTEC_MAX_EPOCH_DURATION>);
91
- static getFields(fields: FieldsOf<RootRollupPublicInputs>): readonly [Fr, Fr, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient], Fr, Fr, Fr, Fr, Fr, [BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs, BlockBlobPublicInputs]];
86
+ endArchiveRoot: Fr, proposedBlockHeaderHashes: Tuple<Fr, typeof AZTEC_MAX_EPOCH_DURATION>, fees: Tuple<FeeRecipient, typeof AZTEC_MAX_EPOCH_DURATION>, chainId: Fr, version: Fr, vkTreeRoot: Fr, protocolContractTreeRoot: Fr, proverId: Fr, blobPublicInputs: FinalBlobAccumulatorPublicInputs);
87
+ static getFields(fields: FieldsOf<RootRollupPublicInputs>): readonly [Fr, Fr, [Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], [FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient, FeeRecipient], Fr, Fr, Fr, Fr, Fr, FinalBlobAccumulatorPublicInputs];
92
88
  toBuffer(): Buffer<ArrayBufferLike>;
93
89
  toFields(): Fr[];
94
90
  static from(fields: FieldsOf<RootRollupPublicInputs>): RootRollupPublicInputs;
@@ -104,7 +100,7 @@ export declare class RootRollupPublicInputs {
104
100
  toJSON(): Buffer<ArrayBufferLike>;
105
101
  /** Creates an instance from a string. */
106
102
  static get schema(): import("zod").ZodType<RootRollupPublicInputs, any, string>;
107
- /** Creates a random instance. */
103
+ /** Creates a random instance. Used for testing only - will not prove/verify. */
108
104
  static random(): RootRollupPublicInputs;
109
105
  }
110
106
  //# sourceMappingURL=root_rollup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"root_rollup.d.ts","sourceRoot":"","sources":["../../src/rollup/root_rollup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"root_rollup.d.ts","sourceRoot":"","sources":["../../src/rollup/root_rollup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,KAAK,KAAK,EAAwC,MAAM,6BAA6B,CAAC;AAE7G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E;;GAEG;AACH,qBAAa,gBAAgB;IAEzB;;;;OAIG;IACI,kBAAkB,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;;IAL7E;;;;OAIG;IACI,kBAAkB,EAAE,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;IAG/E;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;IAIjE;;;;OAIG;IACH,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IAInD;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB;IAQlE;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,uDAAuD;IACvD,MAAM;IAIN,yCAAyC;IACzC,MAAM,KAAK,MAAM,yDAEhB;CACF;AAED;;;;GAIG;AACH,qBAAa,sBAAsB;IAE/B,+DAA+D;IACxD,mBAAmB,EAAE,EAAE;IAC9B,8DAA8D;IACvD,cAAc,EAAE,EAAE;IAClB,yBAAyB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC;IACrE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,wBAAwB,CAAC;IAC1D,OAAO,EAAE,EAAE;IACX,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,EAAE;IACd,wBAAwB,EAAE,EAAE;IAC5B,QAAQ,EAAE,EAAE;IACZ,gBAAgB,EAAE,gCAAgC;;IAXzD,+DAA+D;IACxD,mBAAmB,EAAE,EAAE;IAC9B,8DAA8D;IACvD,cAAc,EAAE,EAAE,EAClB,yBAAyB,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,wBAAwB,CAAC,EACrE,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,wBAAwB,CAAC,EAC1D,OAAO,EAAE,EAAE,EACX,OAAO,EAAE,EAAE,EACX,UAAU,EAAE,EAAE,EACd,wBAAwB,EAAE,EAAE,EAC5B,QAAQ,EAAE,EAAE,EACZ,gBAAgB,EAAE,gCAAgC;IAG3D,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC;IAezD,QAAQ;IAIR,QAAQ,IAAI,EAAE,EAAE;IAIhB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAAG,sBAAsB;IAI7E;;;;OAIG;WACW,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,sBAAsB;IAgB/E,QAAQ;IAIR,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,uDAAuD;IACvD,MAAM;IAIN,yCAAyC;IACzC,MAAM,KAAK,MAAM,+DAEhB;IAED,gFAAgF;IAChF,MAAM,CAAC,MAAM;CAcd"}
@@ -1,4 +1,4 @@
1
- import { BlockBlobPublicInputs } from '@aztec/blob-lib';
1
+ import { FinalBlobAccumulatorPublicInputs } from '@aztec/blob-lib';
2
2
  import { AZTEC_MAX_EPOCH_DURATION } from '@aztec/constants';
3
3
  import { makeTuple } from '@aztec/foundation/array';
4
4
  import { Fr } from '@aztec/foundation/fields';
@@ -11,14 +11,12 @@ import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
11
11
  * Represents inputs of the root rollup circuit.
12
12
  */ export class RootRollupInputs {
13
13
  previousRollupData;
14
- proverId;
15
14
  constructor(/**
16
15
  * The previous rollup data.
17
16
  * Note: Root rollup circuit is the latest circuit the chain of circuits and the previous rollup data is the data
18
17
  * from 2 block merge circuits.
19
- */ previousRollupData, /** Identifier of the prover for this root rollup. */ proverId){
18
+ */ previousRollupData){
20
19
  this.previousRollupData = previousRollupData;
21
- this.proverId = proverId;
22
20
  }
23
21
  /**
24
22
  * Serializes the inputs to a buffer.
@@ -45,8 +43,7 @@ import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
45
43
  * @returns An array of fields.
46
44
  */ static getFields(fields) {
47
45
  return [
48
- fields.previousRollupData,
49
- fields.proverId
46
+ fields.previousRollupData
50
47
  ];
51
48
  }
52
49
  /**
@@ -58,7 +55,7 @@ import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
58
55
  return new RootRollupInputs([
59
56
  reader.readObject(PreviousRollupBlockData),
60
57
  reader.readObject(PreviousRollupBlockData)
61
- ], Fr.fromBuffer(reader));
58
+ ]);
62
59
  }
63
60
  /**
64
61
  * Deserializes the inputs from a hex string.
@@ -130,7 +127,7 @@ import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
130
127
  * @returns The deserialized `RootRollupPublicInputs` object.
131
128
  */ static fromBuffer(buffer) {
132
129
  const reader = BufferReader.asReader(buffer);
133
- return new RootRollupPublicInputs(Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readArray(AZTEC_MAX_EPOCH_DURATION, Fr), reader.readArray(AZTEC_MAX_EPOCH_DURATION, FeeRecipient), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readArray(AZTEC_MAX_EPOCH_DURATION, BlockBlobPublicInputs));
130
+ return new RootRollupPublicInputs(Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readArray(AZTEC_MAX_EPOCH_DURATION, Fr), reader.readArray(AZTEC_MAX_EPOCH_DURATION, FeeRecipient), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), Fr.fromBuffer(reader), reader.readObject(FinalBlobAccumulatorPublicInputs));
134
131
  }
135
132
  toString() {
136
133
  return bufferToHex(this.toBuffer());
@@ -144,7 +141,7 @@ import { PreviousRollupBlockData } from './previous_rollup_block_data.js';
144
141
  /** Creates an instance from a string. */ static get schema() {
145
142
  return bufferSchemaFor(RootRollupPublicInputs);
146
143
  }
147
- /** Creates a random instance. */ static random() {
148
- return new RootRollupPublicInputs(Fr.random(), Fr.random(), makeTuple(AZTEC_MAX_EPOCH_DURATION, Fr.random), makeTuple(AZTEC_MAX_EPOCH_DURATION, FeeRecipient.random), Fr.random(), Fr.random(), Fr.random(), Fr.random(), Fr.random(), makeTuple(AZTEC_MAX_EPOCH_DURATION, BlockBlobPublicInputs.empty));
144
+ /** Creates a random instance. Used for testing only - will not prove/verify. */ static random() {
145
+ return new RootRollupPublicInputs(Fr.random(), Fr.random(), makeTuple(AZTEC_MAX_EPOCH_DURATION, Fr.random), makeTuple(AZTEC_MAX_EPOCH_DURATION, FeeRecipient.random), Fr.random(), Fr.random(), Fr.random(), Fr.random(), Fr.random(), FinalBlobAccumulatorPublicInputs.random());
149
146
  }
150
147
  }