@aztec/stdlib 0.87.7 → 1.0.0-nightly.20250605

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 (224) hide show
  1. package/dest/abi/abi.d.ts +3 -0
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +38 -0
  4. package/dest/avm/avm.d.ts +1318 -33
  5. package/dest/avm/avm.d.ts.map +1 -1
  6. package/dest/avm/avm.js +37 -14
  7. package/dest/avm/avm_accumulated_data.d.ts +77 -0
  8. package/dest/avm/avm_accumulated_data.d.ts.map +1 -1
  9. package/dest/avm/avm_accumulated_data.js +67 -0
  10. package/dest/avm/avm_circuit_public_inputs.d.ts +103 -10
  11. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  12. package/dest/avm/avm_circuit_public_inputs.js +25 -10
  13. package/dest/avm/avm_proving_request.d.ts +648 -0
  14. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  15. package/dest/avm/gas.d.ts +7 -0
  16. package/dest/avm/gas.d.ts.map +1 -0
  17. package/dest/avm/gas.js +13 -0
  18. package/dest/avm/index.d.ts +1 -0
  19. package/dest/avm/index.d.ts.map +1 -1
  20. package/dest/avm/index.js +1 -0
  21. package/dest/block/body.d.ts +1 -1
  22. package/dest/block/body.d.ts.map +1 -1
  23. package/dest/block/body.js +2 -2
  24. package/dest/block/index.d.ts +1 -0
  25. package/dest/block/index.d.ts.map +1 -1
  26. package/dest/block/index.js +1 -0
  27. package/dest/block/l2_block.d.ts +3 -2
  28. package/dest/block/l2_block.d.ts.map +1 -1
  29. package/dest/block/l2_block.js +10 -5
  30. package/dest/block/l2_block_source.d.ts +9 -4
  31. package/dest/block/l2_block_source.d.ts.map +1 -1
  32. package/dest/block/l2_block_source.js +1 -0
  33. package/dest/block/proposal/committee_attestation.d.ts +34 -0
  34. package/dest/block/proposal/committee_attestation.d.ts.map +1 -0
  35. package/dest/block/proposal/committee_attestation.js +59 -0
  36. package/dest/block/proposal/index.d.ts +2 -0
  37. package/dest/block/proposal/index.d.ts.map +1 -0
  38. package/dest/block/proposal/index.js +1 -0
  39. package/dest/block/published_l2_block.d.ts +99 -69
  40. package/dest/block/published_l2_block.d.ts.map +1 -1
  41. package/dest/block/published_l2_block.js +38 -12
  42. package/dest/block/test/l2_tips_store_test_suite.js +1 -1
  43. package/dest/fees/transaction_fee.d.ts +5 -0
  44. package/dest/fees/transaction_fee.d.ts.map +1 -1
  45. package/dest/fees/transaction_fee.js +10 -3
  46. package/dest/interfaces/archiver.js +2 -2
  47. package/dest/interfaces/aztec-node.d.ts +3 -8
  48. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  49. package/dest/interfaces/aztec-node.js +3 -6
  50. package/dest/interfaces/block-builder.d.ts +41 -2
  51. package/dest/interfaces/block-builder.d.ts.map +1 -1
  52. package/dest/interfaces/block-builder.js +1 -1
  53. package/dest/interfaces/epoch-prover.d.ts +2 -2
  54. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  55. package/dest/interfaces/merkle_tree_operations.d.ts +14 -0
  56. package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
  57. package/dest/interfaces/p2p.d.ts +6 -3
  58. package/dest/interfaces/p2p.d.ts.map +1 -1
  59. package/dest/interfaces/p2p.js +1 -2
  60. package/dest/interfaces/proving-job.d.ts +652 -4
  61. package/dest/interfaces/proving-job.d.ts.map +1 -1
  62. package/dest/interfaces/proving-job.js +2 -2
  63. package/dest/interfaces/server_circuit_prover.d.ts +3 -2
  64. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  65. package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +1 -1
  66. package/dest/kernel/hints/key_validation_hint.d.ts +2 -6
  67. package/dest/kernel/hints/key_validation_hint.d.ts.map +1 -1
  68. package/dest/kernel/hints/key_validation_hint.js +5 -7
  69. package/dest/kernel/hints/private_kernel_reset_hints.d.ts +7 -7
  70. package/dest/kernel/hints/private_kernel_reset_hints.d.ts.map +1 -1
  71. package/dest/kernel/hints/private_kernel_reset_hints.js +8 -4
  72. package/dest/kernel/hints/read_request_hints.d.ts +8 -8
  73. package/dest/kernel/hints/read_request_hints.d.ts.map +1 -1
  74. package/dest/kernel/index.d.ts +1 -0
  75. package/dest/kernel/index.d.ts.map +1 -1
  76. package/dest/kernel/index.js +1 -0
  77. package/dest/kernel/padded_side_effects.d.ts +26 -0
  78. package/dest/kernel/padded_side_effects.d.ts.map +1 -0
  79. package/dest/kernel/padded_side_effects.js +51 -0
  80. package/dest/kernel/private_kernel_data.d.ts +6 -25
  81. package/dest/kernel/private_kernel_data.d.ts.map +1 -1
  82. package/dest/kernel/private_kernel_data.js +8 -19
  83. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts +7 -4
  84. package/dest/kernel/private_kernel_reset_circuit_private_inputs.d.ts.map +1 -1
  85. package/dest/kernel/private_kernel_reset_circuit_private_inputs.js +10 -6
  86. package/dest/kernel/private_kernel_reset_dimensions.d.ts +10 -10
  87. package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
  88. package/dest/kernel/private_kernel_reset_dimensions.js +29 -29
  89. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +10 -1
  90. package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
  91. package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +8 -3
  92. package/dest/kernel/private_to_avm_accumulated_data.d.ts +1 -0
  93. package/dest/kernel/private_to_avm_accumulated_data.d.ts.map +1 -1
  94. package/dest/kernel/private_to_avm_accumulated_data.js +4 -0
  95. package/dest/kernel/public_call_request.d.ts +54 -0
  96. package/dest/kernel/public_call_request.d.ts.map +1 -1
  97. package/dest/kernel/public_call_request.js +58 -0
  98. package/dest/logs/contract_class_log.d.ts +0 -4
  99. package/dest/logs/contract_class_log.d.ts.map +1 -1
  100. package/dest/logs/contract_class_log.js +0 -33
  101. package/dest/logs/log_with_tx_data.d.ts +13 -3
  102. package/dest/logs/log_with_tx_data.d.ts.map +1 -1
  103. package/dest/logs/log_with_tx_data.js +26 -14
  104. package/dest/logs/private_log.d.ts +1 -0
  105. package/dest/logs/private_log.d.ts.map +1 -1
  106. package/dest/logs/private_log.js +3 -0
  107. package/dest/logs/public_log.d.ts +1 -0
  108. package/dest/logs/public_log.d.ts.map +1 -1
  109. package/dest/logs/public_log.js +3 -0
  110. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  111. package/dest/logs/tx_scoped_l2_log.js +1 -0
  112. package/dest/messaging/index.d.ts +1 -0
  113. package/dest/messaging/index.d.ts.map +1 -1
  114. package/dest/messaging/index.js +1 -0
  115. package/dest/messaging/l2_to_l1_membership.d.ts +11 -0
  116. package/dest/messaging/l2_to_l1_membership.d.ts.map +1 -0
  117. package/dest/messaging/l2_to_l1_membership.js +70 -0
  118. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  119. package/dest/rollup/avm_proof_data.d.ts +7 -5
  120. package/dest/rollup/avm_proof_data.d.ts.map +1 -1
  121. package/dest/rollup/avm_proof_data.js +12 -4
  122. package/dest/rollup/base_rollup_hints.d.ts +4 -4
  123. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  124. package/dest/rollup/base_rollup_hints.js +8 -8
  125. package/dest/rollup/previous_rollup_block_data.d.ts +6 -15
  126. package/dest/rollup/previous_rollup_block_data.d.ts.map +1 -1
  127. package/dest/rollup/previous_rollup_block_data.js +8 -13
  128. package/dest/rollup/previous_rollup_data.d.ts +6 -15
  129. package/dest/rollup/previous_rollup_data.d.ts.map +1 -1
  130. package/dest/rollup/previous_rollup_data.js +8 -13
  131. package/dest/rollup/private_tube_data.d.ts +3 -3
  132. package/dest/rollup/private_tube_data.d.ts.map +1 -1
  133. package/dest/rollup/private_tube_data.js +3 -3
  134. package/dest/rollup/public_tube_data.d.ts +3 -3
  135. package/dest/rollup/public_tube_data.d.ts.map +1 -1
  136. package/dest/rollup/public_tube_data.js +3 -3
  137. package/dest/rollup/root_rollup.d.ts +9 -10
  138. package/dest/rollup/root_rollup.d.ts.map +1 -1
  139. package/dest/rollup/root_rollup.js +9 -20
  140. package/dest/tests/factories.d.ts +2 -1
  141. package/dest/tests/factories.d.ts.map +1 -1
  142. package/dest/tests/factories.js +53 -28
  143. package/dest/tests/mocks.d.ts.map +1 -1
  144. package/dest/tests/mocks.js +4 -3
  145. package/dest/tx/processed_tx.d.ts.map +1 -1
  146. package/dest/tx/processed_tx.js +2 -5
  147. package/dest/tx/tx.d.ts +10 -25
  148. package/dest/tx/tx.d.ts.map +1 -1
  149. package/dest/tx/tx.js +25 -50
  150. package/dest/tx/tx_effect.d.ts +1 -1
  151. package/dest/tx/tx_effect.d.ts.map +1 -1
  152. package/dest/tx/tx_effect.js +2 -2
  153. package/dest/tx/tx_hash.d.ts +1 -0
  154. package/dest/tx/tx_hash.d.ts.map +1 -1
  155. package/dest/tx/tx_hash.js +3 -0
  156. package/dest/validators/types.d.ts +4 -0
  157. package/dest/validators/types.d.ts.map +1 -1
  158. package/dest/vks/index.d.ts +1 -1
  159. package/dest/vks/index.d.ts.map +1 -1
  160. package/dest/vks/index.js +1 -1
  161. package/dest/vks/{vk_witness_data.d.ts → vk_data.d.ts} +8 -8
  162. package/dest/vks/vk_data.d.ts.map +1 -0
  163. package/dest/vks/{vk_witness_data.js → vk_data.js} +10 -10
  164. package/package.json +7 -7
  165. package/src/abi/abi.ts +37 -0
  166. package/src/avm/avm.ts +37 -4
  167. package/src/avm/avm_accumulated_data.ts +93 -0
  168. package/src/avm/avm_circuit_public_inputs.ts +33 -3
  169. package/src/avm/gas.ts +26 -0
  170. package/src/avm/index.ts +1 -0
  171. package/src/block/body.ts +7 -2
  172. package/src/block/index.ts +1 -0
  173. package/src/block/l2_block.ts +8 -3
  174. package/src/block/l2_block_source.ts +9 -3
  175. package/src/block/proposal/committee_attestation.ts +70 -0
  176. package/src/block/proposal/index.ts +1 -0
  177. package/src/block/published_l2_block.ts +38 -24
  178. package/src/block/test/l2_tips_store_test_suite.ts +1 -1
  179. package/src/fees/transaction_fee.ts +12 -3
  180. package/src/interfaces/archiver.ts +2 -2
  181. package/src/interfaces/aztec-node.ts +8 -16
  182. package/src/interfaces/block-builder.ts +49 -2
  183. package/src/interfaces/epoch-prover.ts +2 -2
  184. package/src/interfaces/merkle_tree_operations.ts +20 -0
  185. package/src/interfaces/p2p.ts +9 -4
  186. package/src/interfaces/proving-job.ts +3 -3
  187. package/src/interfaces/server_circuit_prover.ts +3 -2
  188. package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +3 -3
  189. package/src/kernel/hints/key_validation_hint.ts +4 -6
  190. package/src/kernel/hints/private_kernel_reset_hints.ts +34 -43
  191. package/src/kernel/hints/read_request_hints.ts +27 -15
  192. package/src/kernel/index.ts +1 -0
  193. package/src/kernel/padded_side_effects.ts +73 -0
  194. package/src/kernel/private_kernel_data.ts +7 -29
  195. package/src/kernel/private_kernel_reset_circuit_private_inputs.ts +16 -13
  196. package/src/kernel/private_kernel_reset_dimensions.ts +27 -27
  197. package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +10 -2
  198. package/src/kernel/private_to_avm_accumulated_data.ts +9 -0
  199. package/src/kernel/public_call_request.ts +66 -0
  200. package/src/logs/contract_class_log.ts +0 -36
  201. package/src/logs/log_with_tx_data.ts +26 -12
  202. package/src/logs/private_log.ts +4 -0
  203. package/src/logs/public_log.ts +4 -0
  204. package/src/logs/tx_scoped_l2_log.ts +1 -0
  205. package/src/messaging/index.ts +1 -0
  206. package/src/messaging/l2_to_l1_membership.ts +113 -0
  207. package/src/p2p/consensus_payload.ts +3 -1
  208. package/src/rollup/avm_proof_data.ts +14 -7
  209. package/src/rollup/base_rollup_hints.ts +4 -4
  210. package/src/rollup/previous_rollup_block_data.ts +6 -12
  211. package/src/rollup/previous_rollup_data.ts +6 -12
  212. package/src/rollup/private_tube_data.ts +4 -4
  213. package/src/rollup/public_tube_data.ts +4 -4
  214. package/src/rollup/root_rollup.ts +6 -19
  215. package/src/tests/factories.ts +82 -43
  216. package/src/tests/mocks.ts +6 -3
  217. package/src/tx/processed_tx.ts +4 -5
  218. package/src/tx/tx.ts +28 -54
  219. package/src/tx/tx_effect.ts +23 -5
  220. package/src/tx/tx_hash.ts +4 -0
  221. package/src/validators/types.ts +2 -0
  222. package/src/vks/index.ts +1 -1
  223. package/src/vks/{vk_witness_data.ts → vk_data.ts} +6 -6
  224. package/dest/vks/vk_witness_data.d.ts.map +0 -1
@@ -37,6 +37,9 @@ export class PublicLog {
37
37
  getEmittedFields() {
38
38
  return this.fields.slice(0, this.emittedLength);
39
39
  }
40
+ getEmittedFieldsWithoutTag() {
41
+ return this.fields.slice(1, this.emittedLength);
42
+ }
40
43
  toBlobFields() {
41
44
  return [
42
45
  new Fr(this.emittedLength),
@@ -1 +1 @@
1
- {"version":3,"file":"tx_scoped_l2_log.d.ts","sourceRoot":"","sources":["../../src/logs/tx_scoped_l2_log.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,aAAa;IAKf,MAAM,EAAE,MAAM;IAKd,mBAAmB,EAAE,MAAM;IAK3B,YAAY,EAAE,MAAM;IAIpB,WAAW,EAAE,MAAM;IAInB,GAAG,EAAE,UAAU,GAAG,SAAS;gBAlB3B,MAAM,EAAE,MAAM,EAKd,mBAAmB,EAAE,MAAM,EAK3B,YAAY,EAAE,MAAM,EAIpB,WAAW,EAAE,MAAM,EAInB,GAAG,EAAE,UAAU,GAAG,SAAS;IAGpC,IAAI,YAAY,YAEf;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAahB;IAED,QAAQ;IAYR,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM;WAYnB,MAAM,CAAC,YAAY,UAAsB;IAKtD,MAAM,CAAC,KAAK,EAAE,aAAa;CAW5B"}
1
+ {"version":3,"file":"tx_scoped_l2_log.d.ts","sourceRoot":"","sources":["../../src/logs/tx_scoped_l2_log.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,qBAAa,aAAa;IAKf,MAAM,EAAE,MAAM;IAKd,mBAAmB,EAAE,MAAM;IAK3B,YAAY,EAAE,MAAM;IAIpB,WAAW,EAAE,MAAM;IAInB,GAAG,EAAE,UAAU,GAAG,SAAS;gBAlB3B,MAAM,EAAE,MAAM,EAKd,mBAAmB,EAAE,MAAM,EAK3B,YAAY,EAAE,MAAM,EAIpB,WAAW,EAAE,MAAM,EAInB,GAAG,EAAE,UAAU,GAAG,SAAS;IAGpC,IAAI,YAAY,YAEf;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAahB;IAED,QAAQ;IAYR,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM;WAYnB,MAAM,CAAC,YAAY,UAAsB;IAKtD,MAAM,CAAC,KAAK,EAAE,aAAa;CAW5B"}
@@ -3,6 +3,7 @@ import { z } from 'zod';
3
3
  import { TxHash } from '../tx/tx_hash.js';
4
4
  import { PrivateLog } from './private_log.js';
5
5
  import { PublicLog } from './public_log.js';
6
+ // TODO(#14460): Split to private and public versions instead of having this weird mix.
6
7
  export class TxScopedL2Log {
7
8
  txHash;
8
9
  dataStartIndexForTx;
@@ -4,4 +4,5 @@ export * from './l1_to_l2_message_source.js';
4
4
  export * from './l1_actor.js';
5
5
  export * from './l2_actor.js';
6
6
  export * from './l2_to_l1_message.js';
7
+ export * from './l2_to_l1_membership.js';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messaging/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/messaging/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC"}
@@ -4,3 +4,4 @@ export * from './l1_to_l2_message_source.js';
4
4
  export * from './l1_actor.js';
5
5
  export * from './l2_actor.js';
6
6
  export * from './l2_to_l1_message.js';
7
+ export * from './l2_to_l1_membership.js';
@@ -0,0 +1,11 @@
1
+ import { Fr } from '@aztec/foundation/fields';
2
+ import { SiblingPath } from '@aztec/foundation/trees';
3
+ export interface MessageRetrieval {
4
+ getL2ToL1Messages(l2BlockNumber: number): Promise<Fr[][] | undefined>;
5
+ }
6
+ export type L2ToL1MembershipWitness = {
7
+ l2MessageIndex: bigint;
8
+ siblingPath: SiblingPath<number>;
9
+ };
10
+ export declare function computeL2ToL1MembershipWitness(messageRetriever: MessageRetrieval, l2BlockNumber: number, message: Fr): Promise<L2ToL1MembershipWitness | undefined>;
11
+ //# sourceMappingURL=l2_to_l1_membership.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"l2_to_l1_membership.d.ts","sourceRoot":"","sources":["../../src/messaging/l2_to_l1_membership.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAwB,WAAW,EAAkC,MAAM,yBAAyB,CAAC;AAE5G,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,CAAC;CACvE;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,wBAAsB,8BAA8B,CAClD,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,EAAE,GACV,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC,CA+F9C"}
@@ -0,0 +1,70 @@
1
+ import { SHA256Trunc } from '@aztec/foundation/crypto';
2
+ import { Fr } from '@aztec/foundation/fields';
3
+ import { MerkleTreeCalculator, SiblingPath, UnbalancedMerkleTreeCalculator } from '@aztec/foundation/trees';
4
+ export async function computeL2ToL1MembershipWitness(messageRetriever, l2BlockNumber, message) {
5
+ const messagesPerTx = await messageRetriever.getL2ToL1Messages(l2BlockNumber);
6
+ if (!messagesPerTx) {
7
+ return undefined;
8
+ }
9
+ // Find index of message in subtree and index of tx in a block
10
+ let messageIndexInTx = -1, txIndex = -1;
11
+ {
12
+ txIndex = messagesPerTx.findIndex((messages)=>{
13
+ const idx = messages.findIndex((msg)=>msg.equals(message));
14
+ messageIndexInTx = Math.max(messageIndexInTx, idx);
15
+ return idx !== -1;
16
+ });
17
+ }
18
+ if (txIndex === -1) {
19
+ throw new Error('The L2ToL1Message you are trying to prove inclusion of does not exist');
20
+ }
21
+ const hasher = new SHA256Trunc();
22
+ // Get the message path in subtree and message subtree height
23
+ let messagePathInSubtree;
24
+ let messageSubtreeHeight;
25
+ {
26
+ const txMessages = messagesPerTx[txIndex];
27
+ messageSubtreeHeight = txMessages.length <= 1 ? 1 : Math.ceil(Math.log2(txMessages.length));
28
+ const calculator = await MerkleTreeCalculator.create(messageSubtreeHeight, Buffer.alloc(32, 0), (lhs, rhs)=>Promise.resolve(hasher.hash(lhs, rhs)));
29
+ const tree = await calculator.computeTree(txMessages.map((msg)=>msg.toBuffer()));
30
+ const tempPath = tree.getSiblingPath(messageIndexInTx);
31
+ messagePathInSubtree = new SiblingPath(tempPath.length, tempPath);
32
+ }
33
+ // If the number of txs is 1 we are dealing with a special case where the tx subtree itself is the whole block's
34
+ // l2 to l1 message tree.
35
+ const numTransactions = messagesPerTx.length;
36
+ if (numTransactions === 1) {
37
+ return {
38
+ l2MessageIndex: BigInt(messageIndexInTx),
39
+ siblingPath: messagePathInSubtree
40
+ };
41
+ }
42
+ // Calculate roots for all tx subtrees
43
+ const txSubtreeRoots = await Promise.all(messagesPerTx.map(async (messages, _)=>{
44
+ // For a tx with no messages, we have to set an out hash of 0 to match what the circuit does.
45
+ if (messages.length === 0) {
46
+ return Fr.ZERO;
47
+ }
48
+ const txTreeHeight = messages.length <= 1 ? 1 : Math.ceil(Math.log2(messages.length));
49
+ const calculator = await MerkleTreeCalculator.create(txTreeHeight, Buffer.alloc(32, 0), (lhs, rhs)=>Promise.resolve(hasher.hash(lhs, rhs)));
50
+ const root = await calculator.computeTreeRoot(messages.map((msg)=>msg.toBuffer()));
51
+ return Fr.fromBuffer(root);
52
+ }));
53
+ // Construct the top tree and compute the combined path
54
+ let combinedPath;
55
+ {
56
+ const topTreeHeight = Math.ceil(Math.log2(txSubtreeRoots.length));
57
+ // The root of this tree is the out_hash calculated in Noir => we truncate to match Noir's SHA
58
+ const topTree = UnbalancedMerkleTreeCalculator.create(topTreeHeight, (lhs, rhs)=>Promise.resolve(hasher.hash(lhs, rhs)));
59
+ await topTree.appendLeaves(txSubtreeRoots.map((f)=>f.toBuffer()));
60
+ const txPathInTopTree = await topTree.getSiblingPath(txSubtreeRoots[txIndex].toBigInt());
61
+ // Append subtree path to top tree path
62
+ combinedPath = messagePathInSubtree.toBufferArray().concat(txPathInTopTree.toBufferArray());
63
+ }
64
+ // Append binary index of subtree path to binary index of top tree path
65
+ const combinedIndex = parseInt(txIndex.toString(2).concat(messageIndexInTx.toString(2).padStart(messageSubtreeHeight, '0')), 2);
66
+ return {
67
+ l2MessageIndex: BigInt(combinedIndex),
68
+ siblingPath: new SiblingPath(combinedPath.length, combinedPath)
69
+ };
70
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"consensus_payload.d.ts","sourceRoot":"","sources":["../../src/p2p/consensus_payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,qBAAa,gBAAiB,YAAW,QAAQ;IAI7C,6DAA6D;aAC7C,MAAM,EAAE,mBAAmB;IAC3C,gDAAgD;aAChC,OAAO,EAAE,EAAE;IAC3B,mDAAmD;aACnC,cAAc,EAAE,cAAc;IAC9C,gDAAgD;aAChC,QAAQ,EAAE,MAAM,EAAE;IAVpC,OAAO,CAAC,IAAI,CAAqB;;IAG/B,6DAA6D;IAC7C,MAAM,EAAE,mBAAmB;IAC3C,gDAAgD;IAChC,OAAO,EAAE,EAAE;IAC3B,mDAAmD;IACnC,cAAc,EAAE,cAAc;IAC9C,gDAAgD;IAChC,QAAQ,EAAE,MAAM,EAAE;IAGpC,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAShB;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IAInD,gBAAgB,CAAC,eAAe,EAAE,wBAAwB,GAAG,MAAM;IAcnE,QAAQ,IAAI,MAAM;IAYlB,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB;IAU/D,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;IAIvE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB;IASlD,MAAM,CAAC,KAAK,IAAI,gBAAgB;IAIhC;;;OAGG;IACH,OAAO,IAAI,MAAM;IASjB,QAAQ;CAGT"}
1
+ {"version":3,"file":"consensus_payload.d.ts","sourceRoot":"","sources":["../../src/p2p/consensus_payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,qBAAa,gBAAiB,YAAW,QAAQ;IAI7C,6DAA6D;aAC7C,MAAM,EAAE,mBAAmB;IAC3C,gDAAgD;aAChC,OAAO,EAAE,EAAE;IAC3B,mDAAmD;aACnC,cAAc,EAAE,cAAc;IAC9C,gDAAgD;aAChC,QAAQ,EAAE,MAAM,EAAE;IAVpC,OAAO,CAAC,IAAI,CAAqB;;IAG/B,6DAA6D;IAC7C,MAAM,EAAE,mBAAmB;IAC3C,gDAAgD;IAChC,OAAO,EAAE,EAAE;IAC3B,mDAAmD;IACnC,cAAc,EAAE,cAAc;IAC9C,gDAAgD;IAChC,QAAQ,EAAE,MAAM,EAAE;IAGpC,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAShB;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IAInD,gBAAgB,CAAC,eAAe,EAAE,wBAAwB,GAAG,MAAM;IAcnE,QAAQ,IAAI,MAAM;IAYlB,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,gBAAgB;IAU/D,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;IAIvE,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB;IASlD,MAAM,CAAC,KAAK,IAAI,gBAAgB;IAIhC;;;OAGG;IACH,OAAO,IAAI,MAAM;IASjB,QAAQ;CAKT"}
@@ -1,15 +1,17 @@
1
- import { AVM_PROOF_LENGTH_IN_FIELDS } from '@aztec/constants';
1
+ import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED } from '@aztec/constants';
2
+ import { Fr } from '@aztec/foundation/fields';
2
3
  import { BufferReader } from '@aztec/foundation/serialize';
3
4
  import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
4
5
  import { RecursiveProof } from '../proofs/recursive_proof.js';
5
- import { VkWitnessData } from '../vks/vk_witness_data.js';
6
+ import { VkData } from '../vks/vk_data.js';
6
7
  export declare class AvmProofData {
7
8
  publicInputs: AvmCircuitPublicInputs;
8
- proof: RecursiveProof<typeof AVM_PROOF_LENGTH_IN_FIELDS>;
9
- vkData: VkWitnessData;
10
- constructor(publicInputs: AvmCircuitPublicInputs, proof: RecursiveProof<typeof AVM_PROOF_LENGTH_IN_FIELDS>, vkData: VkWitnessData);
9
+ proof: RecursiveProof<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>;
10
+ vkData: VkData;
11
+ constructor(publicInputs: AvmCircuitPublicInputs, proof: RecursiveProof<typeof AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED>, vkData: VkData);
11
12
  static fromBuffer(buffer: Buffer | BufferReader): AvmProofData;
12
13
  toBuffer(): Buffer<ArrayBufferLike>;
13
14
  static empty(): AvmProofData;
14
15
  }
16
+ export declare function enhanceProofWithPiValidationFlag(proof: Fr[], skipPublicInputsValidation: boolean): Fr[];
15
17
  //# sourceMappingURL=avm_proof_data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"avm_proof_data.d.ts","sourceRoot":"","sources":["../../src/rollup/avm_proof_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAA2B,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,qBAAa,YAAY;IAEd,YAAY,EAAE,sBAAsB;IACpC,KAAK,EAAE,cAAc,CAAC,OAAO,0BAA0B,CAAC;IACxD,MAAM,EAAE,aAAa;gBAFrB,YAAY,EAAE,sBAAsB,EACpC,KAAK,EAAE,cAAc,CAAC,OAAO,0BAA0B,CAAC,EACxD,MAAM,EAAE,aAAa;IAG9B,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAS/C,QAAQ;IAIR,MAAM,CAAC,KAAK;CAOb"}
1
+ {"version":3,"file":"avm_proof_data.d.ts","sourceRoot":"","sources":["../../src/rollup/avm_proof_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,cAAc,EAA2B,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,qBAAa,YAAY;IAEd,YAAY,EAAE,sBAAsB;IACpC,KAAK,EAAE,cAAc,CAAC,OAAO,oCAAoC,CAAC;IAClE,MAAM,EAAE,MAAM;gBAFd,YAAY,EAAE,sBAAsB,EACpC,KAAK,EAAE,cAAc,CAAC,OAAO,oCAAoC,CAAC,EAClE,MAAM,EAAE,MAAM;IAGvB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAS/C,QAAQ;IAIR,MAAM,CAAC,KAAK;CAOb;AAGD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,0BAA0B,EAAE,OAAO,GAAG,EAAE,EAAE,CAGvG"}
@@ -1,8 +1,9 @@
1
- import { AVM_PROOF_LENGTH_IN_FIELDS } from '@aztec/constants';
1
+ import { AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED } from '@aztec/constants';
2
+ import { Fr } from '@aztec/foundation/fields';
2
3
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
4
  import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
4
5
  import { RecursiveProof, makeEmptyRecursiveProof } from '../proofs/recursive_proof.js';
5
- import { VkWitnessData } from '../vks/vk_witness_data.js';
6
+ import { VkData } from '../vks/vk_data.js';
6
7
  export class AvmProofData {
7
8
  publicInputs;
8
9
  proof;
@@ -14,12 +15,19 @@ export class AvmProofData {
14
15
  }
15
16
  static fromBuffer(buffer) {
16
17
  const reader = BufferReader.asReader(buffer);
17
- return new AvmProofData(reader.readObject(AvmCircuitPublicInputs), RecursiveProof.fromBuffer(reader), reader.readObject(VkWitnessData));
18
+ return new AvmProofData(reader.readObject(AvmCircuitPublicInputs), RecursiveProof.fromBuffer(reader), reader.readObject(VkData));
18
19
  }
19
20
  toBuffer() {
20
21
  return serializeToBuffer(this.publicInputs, this.proof, this.vkData);
21
22
  }
22
23
  static empty() {
23
- return new AvmProofData(AvmCircuitPublicInputs.empty(), makeEmptyRecursiveProof(AVM_PROOF_LENGTH_IN_FIELDS), VkWitnessData.empty());
24
+ return new AvmProofData(AvmCircuitPublicInputs.empty(), makeEmptyRecursiveProof(AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED), VkData.empty());
24
25
  }
25
26
  }
27
+ // TODO(#14234)[Unconditional PIs validation]: remove this function.
28
+ export function enhanceProofWithPiValidationFlag(proof, skipPublicInputsValidation) {
29
+ const skipPublicInputsField = skipPublicInputsValidation ? new Fr(1) : new Fr(0);
30
+ return [
31
+ skipPublicInputsField
32
+ ].concat(proof).slice(0, AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED);
33
+ }
@@ -33,7 +33,7 @@ export declare class PrivateBaseRollupHints {
33
33
  /**
34
34
  * Preimages to the kernel's contractClassLogsHashes.
35
35
  */
36
- contractClassLogsPreimages: Tuple<ContractClassLogFields, typeof MAX_CONTRACT_CLASS_LOGS_PER_TX>;
36
+ contractClassLogsFields: Tuple<ContractClassLogFields, typeof MAX_CONTRACT_CLASS_LOGS_PER_TX>;
37
37
  /**
38
38
  * Data which is not modified by the base rollup circuit.
39
39
  */
@@ -62,7 +62,7 @@ export declare class PrivateBaseRollupHints {
62
62
  /**
63
63
  * Preimages to the kernel's contractClassLogsHashes.
64
64
  */
65
- contractClassLogsPreimages: Tuple<ContractClassLogFields, typeof MAX_CONTRACT_CLASS_LOGS_PER_TX>,
65
+ contractClassLogsFields: Tuple<ContractClassLogFields, typeof MAX_CONTRACT_CLASS_LOGS_PER_TX>,
66
66
  /**
67
67
  * Data which is not modified by the base rollup circuit.
68
68
  */
@@ -95,7 +95,7 @@ export declare class PublicBaseRollupHints {
95
95
  /**
96
96
  * Preimages to the kernel's contractClassLogsHashes.
97
97
  */
98
- contractClassLogsPreimages: Tuple<ContractClassLogFields, typeof MAX_CONTRACT_CLASS_LOGS_PER_TX>;
98
+ contractClassLogsFields: Tuple<ContractClassLogFields, typeof MAX_CONTRACT_CLASS_LOGS_PER_TX>;
99
99
  /**
100
100
  * Data which is not modified by the base rollup circuit.
101
101
  */
@@ -112,7 +112,7 @@ export declare class PublicBaseRollupHints {
112
112
  /**
113
113
  * Preimages to the kernel's contractClassLogsHashes.
114
114
  */
115
- contractClassLogsPreimages: Tuple<ContractClassLogFields, typeof MAX_CONTRACT_CLASS_LOGS_PER_TX>,
115
+ contractClassLogsFields: Tuple<ContractClassLogFields, typeof MAX_CONTRACT_CLASS_LOGS_PER_TX>,
116
116
  /**
117
117
  * Data which is not modified by the base rollup circuit.
118
118
  */
@@ -1 +1 @@
1
- {"version":3,"file":"base_rollup_hints.d.ts","sourceRoot":"","sources":["../../src/rollup/base_rollup_hints.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base_rollup_hints.d.ts","sourceRoot":"","sources":["../../src/rollup/base_rollup_hints.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export class PrivateBaseRollupHints {
15
15
  stateDiffHints;
16
16
  feePayerFeeJuiceBalanceReadHint;
17
17
  archiveRootMembershipWitness;
18
- contractClassLogsPreimages;
18
+ contractClassLogsFields;
19
19
  constants;
20
20
  constructor(/**
21
21
  * Partial state reference at the start of the rollup.
@@ -29,7 +29,7 @@ export class PrivateBaseRollupHints {
29
29
  * Membership witnesses of blocks referred by each of the 2 kernels.
30
30
  */ archiveRootMembershipWitness, /**
31
31
  * Preimages to the kernel's contractClassLogsHashes.
32
- */ contractClassLogsPreimages, /**
32
+ */ contractClassLogsFields, /**
33
33
  * Data which is not modified by the base rollup circuit.
34
34
  */ constants){
35
35
  this.start = start;
@@ -37,7 +37,7 @@ export class PrivateBaseRollupHints {
37
37
  this.stateDiffHints = stateDiffHints;
38
38
  this.feePayerFeeJuiceBalanceReadHint = feePayerFeeJuiceBalanceReadHint;
39
39
  this.archiveRootMembershipWitness = archiveRootMembershipWitness;
40
- this.contractClassLogsPreimages = contractClassLogsPreimages;
40
+ this.contractClassLogsFields = contractClassLogsFields;
41
41
  this.constants = constants;
42
42
  }
43
43
  static from(fields) {
@@ -50,7 +50,7 @@ export class PrivateBaseRollupHints {
50
50
  fields.stateDiffHints,
51
51
  fields.feePayerFeeJuiceBalanceReadHint,
52
52
  fields.archiveRootMembershipWitness,
53
- fields.contractClassLogsPreimages,
53
+ fields.contractClassLogsFields,
54
54
  fields.constants
55
55
  ];
56
56
  }
@@ -80,7 +80,7 @@ export class PrivateBaseRollupHints {
80
80
  export class PublicBaseRollupHints {
81
81
  startSpongeBlob;
82
82
  archiveRootMembershipWitness;
83
- contractClassLogsPreimages;
83
+ contractClassLogsFields;
84
84
  constants;
85
85
  constructor(/**
86
86
  * Sponge state to absorb blob inputs at the start of the rollup.
@@ -88,12 +88,12 @@ export class PublicBaseRollupHints {
88
88
  * Membership witnesses of blocks referred by each of the 2 kernels.
89
89
  */ archiveRootMembershipWitness, /**
90
90
  * Preimages to the kernel's contractClassLogsHashes.
91
- */ contractClassLogsPreimages, /**
91
+ */ contractClassLogsFields, /**
92
92
  * Data which is not modified by the base rollup circuit.
93
93
  */ constants){
94
94
  this.startSpongeBlob = startSpongeBlob;
95
95
  this.archiveRootMembershipWitness = archiveRootMembershipWitness;
96
- this.contractClassLogsPreimages = contractClassLogsPreimages;
96
+ this.contractClassLogsFields = contractClassLogsFields;
97
97
  this.constants = constants;
98
98
  }
99
99
  static from(fields) {
@@ -103,7 +103,7 @@ export class PublicBaseRollupHints {
103
103
  return [
104
104
  fields.startSpongeBlob,
105
105
  fields.archiveRootMembershipWitness,
106
- fields.contractClassLogsPreimages,
106
+ fields.contractClassLogsFields,
107
107
  fields.constants
108
108
  ];
109
109
  }
@@ -1,8 +1,7 @@
1
- import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, VK_TREE_HEIGHT } from '@aztec/constants';
1
+ import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
2
2
  import { BufferReader } from '@aztec/foundation/serialize';
3
- import { MembershipWitness } from '@aztec/foundation/trees';
4
3
  import { RecursiveProof } from '../proofs/recursive_proof.js';
5
- import { VerificationKeyAsFields } from '../vks/verification_key.js';
4
+ import { VkData } from '../vks/index.js';
6
5
  import { BlockRootOrBlockMergePublicInputs } from './block_root_or_block_merge_public_inputs.js';
7
6
  /**
8
7
  * Represents the data of a previous block merge or block root rollup circuit.
@@ -17,13 +16,9 @@ export declare class PreviousRollupBlockData {
17
16
  */
18
17
  proof: RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>;
19
18
  /**
20
- * The verification key of the block merge or block root rollup circuit.
19
+ * The verification key and the witness of the vk in the vk tree.
21
20
  */
22
- vk: VerificationKeyAsFields;
23
- /**
24
- * Sibling path of the rollup circuit's vk in a big tree of rollup circuit vks.
25
- */
26
- vkWitness: MembershipWitness<typeof VK_TREE_HEIGHT>;
21
+ vkData: VkData;
27
22
  constructor(
28
23
  /**
29
24
  * Public inputs to the block merge or block root rollup circuit.
@@ -34,13 +29,9 @@ export declare class PreviousRollupBlockData {
34
29
  */
35
30
  proof: RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>,
36
31
  /**
37
- * The verification key of the block merge or block root rollup circuit.
38
- */
39
- vk: VerificationKeyAsFields,
40
- /**
41
- * Sibling path of the rollup circuit's vk in a big tree of rollup circuit vks.
32
+ * The verification key and the witness of the vk in the vk tree.
42
33
  */
43
- vkWitness: MembershipWitness<typeof VK_TREE_HEIGHT>);
34
+ vkData: VkData);
44
35
  /**
45
36
  * Serializes previous rollup data to a buffer.
46
37
  * @returns The buffer of the serialized previous rollup data.
@@ -1 +1 @@
1
- {"version":3,"file":"previous_rollup_block_data.d.ts","sourceRoot":"","sources":["../../src/rollup/previous_rollup_block_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yCAAyC,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,iCAAiC,EAAE,MAAM,8CAA8C,CAAC;AAEjG;;GAEG;AACH,qBAAa,uBAAuB;IAEhC;;OAEG;IACI,iCAAiC,EAAE,iCAAiC;IAC3E;;OAEG;IACI,KAAK,EAAE,cAAc,CAAC,OAAO,yCAAyC,CAAC;IAC9E;;OAEG;IACI,EAAE,EAAE,uBAAuB;IAClC;;OAEG;IACI,SAAS,EAAE,iBAAiB,CAAC,OAAO,cAAc,CAAC;;IAf1D;;OAEG;IACI,iCAAiC,EAAE,iCAAiC;IAC3E;;OAEG;IACI,KAAK,EAAE,cAAc,CAAC,OAAO,yCAAyC,CAAC;IAC9E;;OAEG;IACI,EAAE,EAAE,uBAAuB;IAClC;;OAEG;IACI,SAAS,EAAE,iBAAiB,CAAC,OAAO,cAAc,CAAC;IAG5D;;;OAGG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;;OAIG;WACW,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,uBAAuB;CASjF"}
1
+ {"version":3,"file":"previous_rollup_block_data.d.ts","sourceRoot":"","sources":["../../src/rollup/previous_rollup_block_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yCAAyC,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,iCAAiC,EAAE,MAAM,8CAA8C,CAAC;AAEjG;;GAEG;AACH,qBAAa,uBAAuB;IAEhC;;OAEG;IACI,iCAAiC,EAAE,iCAAiC;IAC3E;;OAEG;IACI,KAAK,EAAE,cAAc,CAAC,OAAO,yCAAyC,CAAC;IAC9E;;OAEG;IACI,MAAM,EAAE,MAAM;;IAXrB;;OAEG;IACI,iCAAiC,EAAE,iCAAiC;IAC3E;;OAEG;IACI,KAAK,EAAE,cAAc,CAAC,OAAO,yCAAyC,CAAC;IAC9E;;OAEG;IACI,MAAM,EAAE,MAAM;IAGvB;;;OAGG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;;OAIG;WACW,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,uBAAuB;CAQjF"}
@@ -1,35 +1,30 @@
1
- import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, VK_TREE_HEIGHT } from '@aztec/constants';
1
+ import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
2
2
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
- import { MembershipWitness } from '@aztec/foundation/trees';
4
3
  import { RecursiveProof } from '../proofs/recursive_proof.js';
5
- import { VerificationKeyAsFields } from '../vks/verification_key.js';
4
+ import { VkData } from '../vks/index.js';
6
5
  import { BlockRootOrBlockMergePublicInputs } from './block_root_or_block_merge_public_inputs.js';
7
6
  /**
8
7
  * Represents the data of a previous block merge or block root rollup circuit.
9
8
  */ export class PreviousRollupBlockData {
10
9
  blockRootOrBlockMergePublicInputs;
11
10
  proof;
12
- vk;
13
- vkWitness;
11
+ vkData;
14
12
  constructor(/**
15
13
  * Public inputs to the block merge or block root rollup circuit.
16
14
  */ blockRootOrBlockMergePublicInputs, /**
17
15
  * The proof of the block merge or block root rollup circuit.
18
16
  */ proof, /**
19
- * The verification key of the block merge or block root rollup circuit.
20
- */ vk, /**
21
- * Sibling path of the rollup circuit's vk in a big tree of rollup circuit vks.
22
- */ vkWitness){
17
+ * The verification key and the witness of the vk in the vk tree.
18
+ */ vkData){
23
19
  this.blockRootOrBlockMergePublicInputs = blockRootOrBlockMergePublicInputs;
24
20
  this.proof = proof;
25
- this.vk = vk;
26
- this.vkWitness = vkWitness;
21
+ this.vkData = vkData;
27
22
  }
28
23
  /**
29
24
  * Serializes previous rollup data to a buffer.
30
25
  * @returns The buffer of the serialized previous rollup data.
31
26
  */ toBuffer() {
32
- return serializeToBuffer(this.blockRootOrBlockMergePublicInputs, this.proof, this.vk, this.vkWitness);
27
+ return serializeToBuffer(this.blockRootOrBlockMergePublicInputs, this.proof, this.vkData);
33
28
  }
34
29
  /**
35
30
  * Deserializes previous rollup data from a buffer.
@@ -37,6 +32,6 @@ import { BlockRootOrBlockMergePublicInputs } from './block_root_or_block_merge_p
37
32
  * @returns A new PreviousRollupData instance.
38
33
  */ static fromBuffer(buffer) {
39
34
  const reader = BufferReader.asReader(buffer);
40
- return new PreviousRollupBlockData(reader.readObject(BlockRootOrBlockMergePublicInputs), RecursiveProof.fromBuffer(reader, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), reader.readObject(VerificationKeyAsFields), MembershipWitness.fromBuffer(reader, VK_TREE_HEIGHT));
35
+ return new PreviousRollupBlockData(reader.readObject(BlockRootOrBlockMergePublicInputs), RecursiveProof.fromBuffer(reader, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), reader.readObject(VkData));
41
36
  }
42
37
  }
@@ -1,8 +1,7 @@
1
- import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, VK_TREE_HEIGHT } from '@aztec/constants';
1
+ import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
2
2
  import { BufferReader } from '@aztec/foundation/serialize';
3
- import { MembershipWitness } from '@aztec/foundation/trees';
4
3
  import { RecursiveProof } from '../proofs/recursive_proof.js';
5
- import { VerificationKeyAsFields } from '../vks/verification_key.js';
4
+ import { VkData } from '../vks/index.js';
6
5
  import { BaseOrMergeRollupPublicInputs } from './base_or_merge_rollup_public_inputs.js';
7
6
  /**
8
7
  * Represents the data of a previous merge or base rollup circuit.
@@ -17,13 +16,9 @@ export declare class PreviousRollupData {
17
16
  */
18
17
  proof: RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>;
19
18
  /**
20
- * The verification key of the base or merge rollup circuit.
19
+ * The verification key and the witness of the vk in the vk tree.
21
20
  */
22
- vk: VerificationKeyAsFields;
23
- /**
24
- * Sibling path of the rollup circuit's vk in a big tree of rollup circuit vks.
25
- */
26
- vkWitness: MembershipWitness<typeof VK_TREE_HEIGHT>;
21
+ vkData: VkData;
27
22
  constructor(
28
23
  /**
29
24
  * Public inputs to the base or merge rollup circuit.
@@ -34,13 +29,9 @@ export declare class PreviousRollupData {
34
29
  */
35
30
  proof: RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>,
36
31
  /**
37
- * The verification key of the base or merge rollup circuit.
38
- */
39
- vk: VerificationKeyAsFields,
40
- /**
41
- * Sibling path of the rollup circuit's vk in a big tree of rollup circuit vks.
32
+ * The verification key and the witness of the vk in the vk tree.
42
33
  */
43
- vkWitness: MembershipWitness<typeof VK_TREE_HEIGHT>);
34
+ vkData: VkData);
44
35
  /**
45
36
  * Serializes previous rollup data to a buffer.
46
37
  * @returns The buffer of the serialized previous rollup data.
@@ -1 +1 @@
1
- {"version":3,"file":"previous_rollup_data.d.ts","sourceRoot":"","sources":["../../src/rollup/previous_rollup_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yCAAyC,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAExF;;GAEG;AACH,qBAAa,kBAAkB;IAE3B;;OAEG;IACI,6BAA6B,EAAE,6BAA6B;IACnE;;OAEG;IACI,KAAK,EAAE,cAAc,CAAC,OAAO,yCAAyC,CAAC;IAC9E;;OAEG;IACI,EAAE,EAAE,uBAAuB;IAClC;;OAEG;IACI,SAAS,EAAE,iBAAiB,CAAC,OAAO,cAAc,CAAC;;IAf1D;;OAEG;IACI,6BAA6B,EAAE,6BAA6B;IACnE;;OAEG;IACI,KAAK,EAAE,cAAc,CAAC,OAAO,yCAAyC,CAAC;IAC9E;;OAEG;IACI,EAAE,EAAE,uBAAuB;IAClC;;OAEG;IACI,SAAS,EAAE,iBAAiB,CAAC,OAAO,cAAc,CAAC;IAG5D;;;OAGG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;;OAIG;WACW,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,kBAAkB;CAS5E"}
1
+ {"version":3,"file":"previous_rollup_data.d.ts","sourceRoot":"","sources":["../../src/rollup/previous_rollup_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yCAAyC,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAExF;;GAEG;AACH,qBAAa,kBAAkB;IAE3B;;OAEG;IACI,6BAA6B,EAAE,6BAA6B;IACnE;;OAEG;IACI,KAAK,EAAE,cAAc,CAAC,OAAO,yCAAyC,CAAC;IAC9E;;OAEG;IACI,MAAM,EAAE,MAAM;;IAXrB;;OAEG;IACI,6BAA6B,EAAE,6BAA6B;IACnE;;OAEG;IACI,KAAK,EAAE,cAAc,CAAC,OAAO,yCAAyC,CAAC;IAC9E;;OAEG;IACI,MAAM,EAAE,MAAM;IAGvB;;;OAGG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;;OAIG;WACW,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,kBAAkB;CAQ5E"}
@@ -1,35 +1,30 @@
1
- import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, VK_TREE_HEIGHT } from '@aztec/constants';
1
+ import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
2
2
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
- import { MembershipWitness } from '@aztec/foundation/trees';
4
3
  import { RecursiveProof } from '../proofs/recursive_proof.js';
5
- import { VerificationKeyAsFields } from '../vks/verification_key.js';
4
+ import { VkData } from '../vks/index.js';
6
5
  import { BaseOrMergeRollupPublicInputs } from './base_or_merge_rollup_public_inputs.js';
7
6
  /**
8
7
  * Represents the data of a previous merge or base rollup circuit.
9
8
  */ export class PreviousRollupData {
10
9
  baseOrMergeRollupPublicInputs;
11
10
  proof;
12
- vk;
13
- vkWitness;
11
+ vkData;
14
12
  constructor(/**
15
13
  * Public inputs to the base or merge rollup circuit.
16
14
  */ baseOrMergeRollupPublicInputs, /**
17
15
  * The proof of the base or merge rollup circuit.
18
16
  */ proof, /**
19
- * The verification key of the base or merge rollup circuit.
20
- */ vk, /**
21
- * Sibling path of the rollup circuit's vk in a big tree of rollup circuit vks.
22
- */ vkWitness){
17
+ * The verification key and the witness of the vk in the vk tree.
18
+ */ vkData){
23
19
  this.baseOrMergeRollupPublicInputs = baseOrMergeRollupPublicInputs;
24
20
  this.proof = proof;
25
- this.vk = vk;
26
- this.vkWitness = vkWitness;
21
+ this.vkData = vkData;
27
22
  }
28
23
  /**
29
24
  * Serializes previous rollup data to a buffer.
30
25
  * @returns The buffer of the serialized previous rollup data.
31
26
  */ toBuffer() {
32
- return serializeToBuffer(this.baseOrMergeRollupPublicInputs, this.proof, this.vk, this.vkWitness);
27
+ return serializeToBuffer(this.baseOrMergeRollupPublicInputs, this.proof, this.vkData);
33
28
  }
34
29
  /**
35
30
  * Deserializes previous rollup data from a buffer.
@@ -37,6 +32,6 @@ import { BaseOrMergeRollupPublicInputs } from './base_or_merge_rollup_public_inp
37
32
  * @returns A new PreviousRollupData instance.
38
33
  */ static fromBuffer(buffer) {
39
34
  const reader = BufferReader.asReader(buffer);
40
- return new PreviousRollupData(reader.readObject(BaseOrMergeRollupPublicInputs), RecursiveProof.fromBuffer(reader, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), reader.readObject(VerificationKeyAsFields), MembershipWitness.fromBuffer(reader, VK_TREE_HEIGHT));
35
+ return new PreviousRollupData(reader.readObject(BaseOrMergeRollupPublicInputs), RecursiveProof.fromBuffer(reader, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), reader.readObject(VkData));
41
36
  }
42
37
  }
@@ -2,12 +2,12 @@ import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
2
2
  import { BufferReader } from '@aztec/foundation/serialize';
3
3
  import { PrivateToRollupKernelCircuitPublicInputs } from '../kernel/private_to_rollup_kernel_circuit_public_inputs.js';
4
4
  import { RecursiveProof } from '../proofs/recursive_proof.js';
5
- import { VkWitnessData } from '../vks/vk_witness_data.js';
5
+ import { VkData } from '../vks/index.js';
6
6
  export declare class PrivateTubeData {
7
7
  publicInputs: PrivateToRollupKernelCircuitPublicInputs;
8
8
  proof: RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>;
9
- vkData: VkWitnessData;
10
- constructor(publicInputs: PrivateToRollupKernelCircuitPublicInputs, proof: RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>, vkData: VkWitnessData);
9
+ vkData: VkData;
10
+ constructor(publicInputs: PrivateToRollupKernelCircuitPublicInputs, proof: RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>, vkData: VkData);
11
11
  static empty(): PrivateTubeData;
12
12
  static fromBuffer(buffer: Buffer | BufferReader): PrivateTubeData;
13
13
  toBuffer(): Buffer<ArrayBufferLike>;
@@ -1 +1 @@
1
- {"version":3,"file":"private_tube_data.d.ts","sourceRoot":"","sources":["../../src/rollup/private_tube_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yCAAyC,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,wCAAwC,EAAE,MAAM,6DAA6D,CAAC;AACvH,OAAO,EAAE,cAAc,EAA2B,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,qBAAa,eAAe;IAEjB,YAAY,EAAE,wCAAwC;IACtD,KAAK,EAAE,cAAc,CAAC,OAAO,yCAAyC,CAAC;IACvE,MAAM,EAAE,aAAa;gBAFrB,YAAY,EAAE,wCAAwC,EACtD,KAAK,EAAE,cAAc,CAAC,OAAO,yCAAyC,CAAC,EACvE,MAAM,EAAE,aAAa;IAG9B,MAAM,CAAC,KAAK;IAQZ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAS/C,QAAQ;CAGT"}
1
+ {"version":3,"file":"private_tube_data.d.ts","sourceRoot":"","sources":["../../src/rollup/private_tube_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yCAAyC,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,wCAAwC,EAAE,MAAM,6DAA6D,CAAC;AACvH,OAAO,EAAE,cAAc,EAA2B,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,qBAAa,eAAe;IAEjB,YAAY,EAAE,wCAAwC;IACtD,KAAK,EAAE,cAAc,CAAC,OAAO,yCAAyC,CAAC;IACvE,MAAM,EAAE,MAAM;gBAFd,YAAY,EAAE,wCAAwC,EACtD,KAAK,EAAE,cAAc,CAAC,OAAO,yCAAyC,CAAC,EACvE,MAAM,EAAE,MAAM;IAGvB,MAAM,CAAC,KAAK;IAQZ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAS/C,QAAQ;CAGT"}
@@ -2,7 +2,7 @@ import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
2
2
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
3
3
  import { PrivateToRollupKernelCircuitPublicInputs } from '../kernel/private_to_rollup_kernel_circuit_public_inputs.js';
4
4
  import { RecursiveProof, makeEmptyRecursiveProof } from '../proofs/recursive_proof.js';
5
- import { VkWitnessData } from '../vks/vk_witness_data.js';
5
+ import { VkData } from '../vks/index.js';
6
6
  export class PrivateTubeData {
7
7
  publicInputs;
8
8
  proof;
@@ -13,11 +13,11 @@ export class PrivateTubeData {
13
13
  this.vkData = vkData;
14
14
  }
15
15
  static empty() {
16
- return new PrivateTubeData(PrivateToRollupKernelCircuitPublicInputs.empty(), makeEmptyRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VkWitnessData.empty());
16
+ return new PrivateTubeData(PrivateToRollupKernelCircuitPublicInputs.empty(), makeEmptyRecursiveProof(NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), VkData.empty());
17
17
  }
18
18
  static fromBuffer(buffer) {
19
19
  const reader = BufferReader.asReader(buffer);
20
- return new PrivateTubeData(reader.readObject(PrivateToRollupKernelCircuitPublicInputs), RecursiveProof.fromBuffer(reader, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), reader.readObject(VkWitnessData));
20
+ return new PrivateTubeData(reader.readObject(PrivateToRollupKernelCircuitPublicInputs), RecursiveProof.fromBuffer(reader, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH), reader.readObject(VkData));
21
21
  }
22
22
  toBuffer() {
23
23
  return serializeToBuffer(this.publicInputs, this.proof, this.vkData);
@@ -2,12 +2,12 @@ import { NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH } from '@aztec/constants';
2
2
  import { BufferReader } from '@aztec/foundation/serialize';
3
3
  import { PrivateToPublicKernelCircuitPublicInputs } from '../kernel/private_to_public_kernel_circuit_public_inputs.js';
4
4
  import { RecursiveProof } from '../proofs/recursive_proof.js';
5
- import { VkWitnessData } from '../vks/vk_witness_data.js';
5
+ import { VkData } from '../vks/index.js';
6
6
  export declare class PublicTubeData {
7
7
  publicInputs: PrivateToPublicKernelCircuitPublicInputs;
8
8
  proof: RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>;
9
- vkData: VkWitnessData;
10
- constructor(publicInputs: PrivateToPublicKernelCircuitPublicInputs, proof: RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>, vkData: VkWitnessData);
9
+ vkData: VkData;
10
+ constructor(publicInputs: PrivateToPublicKernelCircuitPublicInputs, proof: RecursiveProof<typeof NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH>, vkData: VkData);
11
11
  static empty(): PublicTubeData;
12
12
  static fromBuffer(buffer: Buffer | BufferReader): PublicTubeData;
13
13
  toBuffer(): Buffer<ArrayBufferLike>;
@@ -1 +1 @@
1
- {"version":3,"file":"public_tube_data.d.ts","sourceRoot":"","sources":["../../src/rollup/public_tube_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yCAAyC,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,wCAAwC,EAAE,MAAM,6DAA6D,CAAC;AACvH,OAAO,EAAE,cAAc,EAA2B,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,qBAAa,cAAc;IAEhB,YAAY,EAAE,wCAAwC;IACtD,KAAK,EAAE,cAAc,CAAC,OAAO,yCAAyC,CAAC;IACvE,MAAM,EAAE,aAAa;gBAFrB,YAAY,EAAE,wCAAwC,EACtD,KAAK,EAAE,cAAc,CAAC,OAAO,yCAAyC,CAAC,EACvE,MAAM,EAAE,aAAa;IAG9B,MAAM,CAAC,KAAK;IAQZ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAS/C,QAAQ;CAGT"}
1
+ {"version":3,"file":"public_tube_data.d.ts","sourceRoot":"","sources":["../../src/rollup/public_tube_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yCAAyC,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,wCAAwC,EAAE,MAAM,6DAA6D,CAAC;AACvH,OAAO,EAAE,cAAc,EAA2B,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,qBAAa,cAAc;IAEhB,YAAY,EAAE,wCAAwC;IACtD,KAAK,EAAE,cAAc,CAAC,OAAO,yCAAyC,CAAC;IACvE,MAAM,EAAE,MAAM;gBAFd,YAAY,EAAE,wCAAwC,EACtD,KAAK,EAAE,cAAc,CAAC,OAAO,yCAAyC,CAAC,EACvE,MAAM,EAAE,MAAM;IAGvB,MAAM,CAAC,KAAK;IAQZ,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAS/C,QAAQ;CAGT"}