@aztec/stdlib 3.0.0-nightly.20250916 → 3.0.0-nightly.20250918

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 (202) hide show
  1. package/dest/avm/avm.d.ts +78 -1
  2. package/dest/avm/avm.d.ts.map +1 -1
  3. package/dest/avm/avm.js +20 -2
  4. package/dest/avm/avm_circuit_public_inputs.d.ts +6 -1
  5. package/dest/avm/avm_circuit_public_inputs.d.ts.map +1 -1
  6. package/dest/avm/avm_circuit_public_inputs.js +11 -6
  7. package/dest/avm/avm_proving_request.d.ts +41 -0
  8. package/dest/avm/avm_proving_request.d.ts.map +1 -1
  9. package/dest/block/body.d.ts +4 -1
  10. package/dest/block/body.d.ts.map +1 -1
  11. package/dest/block/body.js +16 -5
  12. package/dest/block/index.d.ts +1 -0
  13. package/dest/block/index.d.ts.map +1 -1
  14. package/dest/block/index.js +1 -0
  15. package/dest/block/l2_block.d.ts +8 -5
  16. package/dest/block/l2_block.d.ts.map +1 -1
  17. package/dest/block/l2_block.js +14 -7
  18. package/dest/block/l2_block_code_to_purge.d.ts +3 -14
  19. package/dest/block/l2_block_code_to_purge.d.ts.map +1 -1
  20. package/dest/block/l2_block_code_to_purge.js +23 -13
  21. package/dest/block/l2_block_header.d.ts +100 -0
  22. package/dest/block/l2_block_header.d.ts.map +1 -0
  23. package/dest/block/l2_block_header.js +146 -0
  24. package/dest/block/l2_block_stream/l2_tips_memory_store.js +1 -1
  25. package/dest/block/published_l2_block.d.ts +2 -2
  26. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  27. package/dest/block/test/l2_tips_store_test_suite.js +1 -3
  28. package/dest/interfaces/aztec-node.d.ts +5 -2
  29. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  30. package/dest/interfaces/aztec-node.js +1 -0
  31. package/dest/interfaces/block-builder.d.ts +1 -2
  32. package/dest/interfaces/block-builder.d.ts.map +1 -1
  33. package/dest/interfaces/epoch-prover.d.ts +25 -8
  34. package/dest/interfaces/epoch-prover.d.ts.map +1 -1
  35. package/dest/interfaces/proving-job.d.ts +204 -61
  36. package/dest/interfaces/proving-job.d.ts.map +1 -1
  37. package/dest/interfaces/proving-job.js +101 -39
  38. package/dest/interfaces/pxe.d.ts +8 -1
  39. package/dest/interfaces/pxe.d.ts.map +1 -1
  40. package/dest/interfaces/pxe.js +1 -0
  41. package/dest/interfaces/server_circuit_prover.d.ts +19 -16
  42. package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
  43. package/dest/interfaces/validator.d.ts +3 -2
  44. package/dest/interfaces/validator.d.ts.map +1 -1
  45. package/dest/kernel/private_circuit_public_inputs.d.ts +4 -4
  46. package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
  47. package/dest/kernel/private_circuit_public_inputs.js +7 -7
  48. package/dest/kernel/private_context_inputs.d.ts +2 -2
  49. package/dest/kernel/private_context_inputs.d.ts.map +1 -1
  50. package/dest/kernel/private_context_inputs.js +4 -4
  51. package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +1 -1
  52. package/dest/messaging/inbox_leaf.d.ts +2 -0
  53. package/dest/messaging/inbox_leaf.d.ts.map +1 -1
  54. package/dest/messaging/inbox_leaf.js +3 -0
  55. package/dest/p2p/consensus_payload.d.ts +7 -6
  56. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  57. package/dest/p2p/consensus_payload.js +7 -6
  58. package/dest/parity/root_parity_input.d.ts +1 -1
  59. package/dest/proofs/proof_data.d.ts +1 -1
  60. package/dest/proofs/proof_data.d.ts.map +1 -1
  61. package/dest/proofs/proof_data.js +2 -2
  62. package/dest/proofs/proving_request_type.d.ts +13 -8
  63. package/dest/proofs/proving_request_type.d.ts.map +1 -1
  64. package/dest/proofs/proving_request_type.js +13 -8
  65. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts +1 -1
  66. package/dest/rollup/base_or_merge_rollup_public_inputs.d.ts.map +1 -1
  67. package/dest/rollup/base_or_merge_rollup_public_inputs.js +1 -1
  68. package/dest/rollup/base_rollup_hints.d.ts +12 -3
  69. package/dest/rollup/base_rollup_hints.d.ts.map +1 -1
  70. package/dest/rollup/base_rollup_hints.js +11 -5
  71. package/dest/rollup/block_constant_data.d.ts +20 -6
  72. package/dest/rollup/block_constant_data.d.ts.map +1 -1
  73. package/dest/rollup/block_constant_data.js +15 -7
  74. package/dest/rollup/block_merge_rollup.d.ts +10 -9
  75. package/dest/rollup/block_merge_rollup.d.ts.map +1 -1
  76. package/dest/rollup/block_merge_rollup.js +14 -13
  77. package/dest/rollup/block_rollup_public_inputs.d.ts +124 -0
  78. package/dest/rollup/block_rollup_public_inputs.d.ts.map +1 -0
  79. package/dest/rollup/block_rollup_public_inputs.js +85 -0
  80. package/dest/rollup/block_root_rollup.d.ts +148 -184
  81. package/dest/rollup/block_root_rollup.d.ts.map +1 -1
  82. package/dest/rollup/block_root_rollup.js +211 -260
  83. package/dest/rollup/checkpoint_constant_data.d.ts +54 -0
  84. package/dest/rollup/checkpoint_constant_data.d.ts.map +1 -0
  85. package/dest/rollup/checkpoint_constant_data.js +55 -0
  86. package/dest/{tx/proposed_block_header.d.ts → rollup/checkpoint_header.d.ts} +11 -12
  87. package/dest/rollup/checkpoint_header.d.ts.map +1 -0
  88. package/dest/{tx/proposed_block_header.js → rollup/checkpoint_header.js} +9 -9
  89. package/dest/rollup/checkpoint_merge_rollup.d.ts +30 -0
  90. package/dest/rollup/checkpoint_merge_rollup.d.ts.map +1 -0
  91. package/dest/rollup/checkpoint_merge_rollup.js +37 -0
  92. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts +105 -0
  93. package/dest/rollup/checkpoint_rollup_public_inputs.d.ts.map +1 -0
  94. package/dest/rollup/checkpoint_rollup_public_inputs.js +105 -0
  95. package/dest/rollup/checkpoint_root_rollup.d.ts +117 -0
  96. package/dest/rollup/checkpoint_root_rollup.d.ts.map +1 -0
  97. package/dest/rollup/checkpoint_root_rollup.js +178 -0
  98. package/dest/rollup/epoch_constant_data.d.ts +19 -2
  99. package/dest/rollup/epoch_constant_data.d.ts.map +1 -1
  100. package/dest/rollup/epoch_constant_data.js +20 -7
  101. package/dest/rollup/index.d.ts +8 -5
  102. package/dest/rollup/index.d.ts.map +1 -1
  103. package/dest/rollup/index.js +8 -5
  104. package/dest/rollup/rollup_proof_data.d.ts +10 -0
  105. package/dest/rollup/rollup_proof_data.d.ts.map +1 -0
  106. package/dest/rollup/rollup_proof_data.js +1 -0
  107. package/dest/rollup/root_rollup.d.ts +26 -23
  108. package/dest/rollup/root_rollup.d.ts.map +1 -1
  109. package/dest/rollup/root_rollup.js +28 -39
  110. package/dest/stats/stats.d.ts +1 -1
  111. package/dest/stats/stats.d.ts.map +1 -1
  112. package/dest/tests/factories.d.ts +17 -41
  113. package/dest/tests/factories.d.ts.map +1 -1
  114. package/dest/tests/factories.js +76 -80
  115. package/dest/tests/mocks.d.ts +3 -2
  116. package/dest/tests/mocks.d.ts.map +1 -1
  117. package/dest/tests/mocks.js +3 -3
  118. package/dest/tx/block_header.d.ts +12 -13
  119. package/dest/tx/block_header.d.ts.map +1 -1
  120. package/dest/tx/block_header.js +16 -21
  121. package/dest/tx/global_variables.d.ts.map +1 -1
  122. package/dest/tx/global_variables.js +0 -1
  123. package/dest/tx/index.d.ts +0 -1
  124. package/dest/tx/index.d.ts.map +1 -1
  125. package/dest/tx/index.js +0 -1
  126. package/dest/tx/private_execution_result.d.ts +2 -2
  127. package/dest/tx/private_execution_result.d.ts.map +1 -1
  128. package/dest/tx/private_execution_result.js +3 -3
  129. package/dest/tx/tx_constant_data.d.ts +4 -4
  130. package/dest/tx/tx_constant_data.d.ts.map +1 -1
  131. package/dest/tx/tx_constant_data.js +6 -6
  132. package/dest/tx/tx_effect.d.ts +0 -3
  133. package/dest/tx/tx_effect.d.ts.map +1 -1
  134. package/dest/tx/tx_effect.js +2 -7
  135. package/dest/zkpassport/index.d.ts +3 -3
  136. package/dest/zkpassport/index.d.ts.map +1 -1
  137. package/dest/zkpassport/index.js +7 -7
  138. package/package.json +8 -8
  139. package/src/avm/avm.ts +22 -0
  140. package/src/avm/avm_circuit_public_inputs.ts +10 -0
  141. package/src/block/body.ts +23 -6
  142. package/src/block/index.ts +1 -0
  143. package/src/block/l2_block.ts +18 -8
  144. package/src/block/l2_block_code_to_purge.ts +30 -31
  145. package/src/block/l2_block_header.ts +232 -0
  146. package/src/block/l2_block_stream/l2_tips_memory_store.ts +1 -1
  147. package/src/block/test/l2_tips_store_test_suite.ts +1 -2
  148. package/src/interfaces/aztec-node.ts +8 -2
  149. package/src/interfaces/block-builder.ts +1 -6
  150. package/src/interfaces/epoch-prover.ts +34 -10
  151. package/src/interfaces/proving-job.ts +166 -51
  152. package/src/interfaces/pxe.ts +10 -1
  153. package/src/interfaces/server_circuit_prover.ts +65 -29
  154. package/src/interfaces/validator.ts +3 -2
  155. package/src/kernel/private_circuit_public_inputs.ts +5 -5
  156. package/src/kernel/private_context_inputs.ts +2 -2
  157. package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +1 -1
  158. package/src/messaging/inbox_leaf.ts +5 -0
  159. package/src/p2p/consensus_payload.ts +8 -7
  160. package/src/proofs/proof_data.ts +1 -6
  161. package/src/proofs/proving_request_type.ts +8 -3
  162. package/src/rollup/base_or_merge_rollup_public_inputs.ts +1 -1
  163. package/src/rollup/base_rollup_hints.ts +9 -1
  164. package/src/rollup/block_constant_data.ts +13 -3
  165. package/src/rollup/block_merge_rollup.ts +13 -11
  166. package/src/rollup/block_rollup_public_inputs.ts +123 -0
  167. package/src/rollup/block_root_rollup.ts +209 -264
  168. package/src/rollup/checkpoint_constant_data.ts +84 -0
  169. package/src/{tx/proposed_block_header.ts → rollup/checkpoint_header.ts} +16 -17
  170. package/src/rollup/checkpoint_merge_rollup.ts +50 -0
  171. package/src/rollup/{block_root_or_block_merge_public_inputs.ts → checkpoint_rollup_public_inputs.ts} +26 -52
  172. package/src/rollup/checkpoint_root_rollup.ts +216 -0
  173. package/src/rollup/epoch_constant_data.ts +32 -8
  174. package/src/rollup/index.ts +8 -5
  175. package/src/rollup/rollup_proof_data.ts +12 -0
  176. package/src/rollup/root_rollup.ts +30 -41
  177. package/src/stats/stats.ts +8 -3
  178. package/src/tests/factories.ts +139 -135
  179. package/src/tests/mocks.ts +6 -13
  180. package/src/tx/block_header.ts +17 -32
  181. package/src/tx/global_variables.ts +0 -1
  182. package/src/tx/index.ts +0 -1
  183. package/src/tx/private_execution_result.ts +3 -3
  184. package/src/tx/tx_constant_data.ts +4 -4
  185. package/src/tx/tx_effect.ts +2 -7
  186. package/src/zkpassport/index.ts +6 -6
  187. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts +0 -134
  188. package/dest/rollup/block_root_or_block_merge_public_inputs.d.ts.map +0 -1
  189. package/dest/rollup/block_root_or_block_merge_public_inputs.js +0 -125
  190. package/dest/rollup/empty_block_root_rollup_inputs.d.ts +0 -51
  191. package/dest/rollup/empty_block_root_rollup_inputs.d.ts.map +0 -1
  192. package/dest/rollup/empty_block_root_rollup_inputs.js +0 -65
  193. package/dest/rollup/padding_block_root_rollup_inputs.d.ts +0 -20
  194. package/dest/rollup/padding_block_root_rollup_inputs.d.ts.map +0 -1
  195. package/dest/rollup/padding_block_root_rollup_inputs.js +0 -39
  196. package/dest/rollup/previous_rollup_block_data.d.ts +0 -47
  197. package/dest/rollup/previous_rollup_block_data.d.ts.map +0 -1
  198. package/dest/rollup/previous_rollup_block_data.js +0 -37
  199. package/dest/tx/proposed_block_header.d.ts.map +0 -1
  200. package/src/rollup/empty_block_root_rollup_inputs.ts +0 -80
  201. package/src/rollup/padding_block_root_rollup_inputs.ts +0 -47
  202. package/src/rollup/previous_rollup_block_data.ts +0 -48
@@ -412,6 +412,19 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
412
412
  feePayer?: any;
413
413
  teardownEnqueuedCall?: any;
414
414
  }>;
415
+ protocolContractDerivedAddresses: z.ZodArray<z.ZodEffects<z.ZodObject<{
416
+ canonicalAddress: import("@aztec/foundation/schemas").ZodFor<import("../aztec-address/index.js").AztecAddress>;
417
+ derivedAddress: import("@aztec/foundation/schemas").ZodFor<import("../aztec-address/index.js").AztecAddress>;
418
+ }, "strip", z.ZodTypeAny, {
419
+ canonicalAddress: import("../aztec-address/index.js").AztecAddress;
420
+ derivedAddress: import("../aztec-address/index.js").AztecAddress;
421
+ }, {
422
+ canonicalAddress?: any;
423
+ derivedAddress?: any;
424
+ }>, import("./avm.js").AvmProtocolContractAddressHint, {
425
+ canonicalAddress?: any;
426
+ derivedAddress?: any;
427
+ }>, "many">;
415
428
  contractInstances: z.ZodArray<z.ZodEffects<z.ZodObject<{
416
429
  address: import("@aztec/foundation/schemas").ZodFor<import("../aztec-address/index.js").AztecAddress>;
417
430
  salt: z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>;
@@ -2094,6 +2107,7 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
2094
2107
  }, "strip", z.ZodTypeAny, {
2095
2108
  globalVariables: import("../tx/global_variables.js").GlobalVariables;
2096
2109
  tx: import("./avm.js").AvmTxHint;
2110
+ protocolContractDerivedAddresses: import("./avm.js").AvmProtocolContractAddressHint[];
2097
2111
  contractInstances: import("./avm.js").AvmContractInstanceHint[];
2098
2112
  contractClasses: import("./avm.js").AvmContractClassHint[];
2099
2113
  bytecodeCommitments: import("./avm.js").AvmBytecodeCommitmentHint[];
@@ -2224,6 +2238,10 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
2224
2238
  feePayer?: any;
2225
2239
  teardownEnqueuedCall?: any;
2226
2240
  };
2241
+ protocolContractDerivedAddresses: {
2242
+ canonicalAddress?: any;
2243
+ derivedAddress?: any;
2244
+ }[];
2227
2245
  contractInstances: {
2228
2246
  salt: string;
2229
2247
  publicKeys: {
@@ -2577,6 +2595,10 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
2577
2595
  feePayer?: any;
2578
2596
  teardownEnqueuedCall?: any;
2579
2597
  };
2598
+ protocolContractDerivedAddresses: {
2599
+ canonicalAddress?: any;
2600
+ derivedAddress?: any;
2601
+ }[];
2580
2602
  contractInstances: {
2581
2603
  salt: string;
2582
2604
  publicKeys: {
@@ -2918,6 +2940,7 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
2918
2940
  coinbase?: any;
2919
2941
  feeRecipient?: any;
2920
2942
  }>;
2943
+ protocolContractTreeRoot: z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>;
2921
2944
  startTreeSnapshots: z.ZodEffects<z.ZodObject<{
2922
2945
  l1ToL2MessageTree: z.ZodEffects<z.ZodObject<{
2923
2946
  root: z.ZodType<import("@aztec/foundation/schemas").Fr, any, string>;
@@ -3584,6 +3607,7 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
3584
3607
  }, "strip", z.ZodTypeAny, {
3585
3608
  globalVariables: import("../tx/global_variables.js").GlobalVariables;
3586
3609
  gasSettings: import("../gas/gas_settings.js").GasSettings;
3610
+ protocolContractTreeRoot: import("@aztec/foundation/schemas").Fr;
3587
3611
  publicTeardownCallRequest: import("../kernel/public_call_request.js").PublicCallRequest;
3588
3612
  transactionFee: import("@aztec/foundation/schemas").Fr;
3589
3613
  feePayer: import("../aztec-address/index.js").AztecAddress;
@@ -3634,6 +3658,7 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
3634
3658
  feePerL2Gas: string | number | bigint;
3635
3659
  };
3636
3660
  };
3661
+ protocolContractTreeRoot: string;
3637
3662
  publicTeardownCallRequest: {
3638
3663
  isStaticCall: boolean;
3639
3664
  calldataHash: string;
@@ -3795,6 +3820,7 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
3795
3820
  feePerL2Gas: string | number | bigint;
3796
3821
  };
3797
3822
  };
3823
+ protocolContractTreeRoot: string;
3798
3824
  publicTeardownCallRequest: {
3799
3825
  isStaticCall: boolean;
3800
3826
  calldataHash: string;
@@ -3961,6 +3987,7 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
3961
3987
  feePerL2Gas: string | number | bigint;
3962
3988
  };
3963
3989
  };
3990
+ protocolContractTreeRoot: string;
3964
3991
  publicTeardownCallRequest: {
3965
3992
  isStaticCall: boolean;
3966
3993
  calldataHash: string;
@@ -4160,6 +4187,10 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
4160
4187
  feePayer?: any;
4161
4188
  teardownEnqueuedCall?: any;
4162
4189
  };
4190
+ protocolContractDerivedAddresses: {
4191
+ canonicalAddress?: any;
4192
+ derivedAddress?: any;
4193
+ }[];
4163
4194
  contractInstances: {
4164
4195
  salt: string;
4165
4196
  publicKeys: {
@@ -4478,6 +4509,7 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
4478
4509
  feePerL2Gas: string | number | bigint;
4479
4510
  };
4480
4511
  };
4512
+ protocolContractTreeRoot: string;
4481
4513
  publicTeardownCallRequest: {
4482
4514
  isStaticCall: boolean;
4483
4515
  calldataHash: string;
@@ -4677,6 +4709,10 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
4677
4709
  feePayer?: any;
4678
4710
  teardownEnqueuedCall?: any;
4679
4711
  };
4712
+ protocolContractDerivedAddresses: {
4713
+ canonicalAddress?: any;
4714
+ derivedAddress?: any;
4715
+ }[];
4680
4716
  contractInstances: {
4681
4717
  salt: string;
4682
4718
  publicKeys: {
@@ -5001,6 +5037,7 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
5001
5037
  feePerL2Gas: string | number | bigint;
5002
5038
  };
5003
5039
  };
5040
+ protocolContractTreeRoot: string;
5004
5041
  publicTeardownCallRequest: {
5005
5042
  isStaticCall: boolean;
5006
5043
  calldataHash: string;
@@ -5200,6 +5237,10 @@ export declare const AvmProvingRequestSchema: z.ZodObject<{
5200
5237
  feePayer?: any;
5201
5238
  teardownEnqueuedCall?: any;
5202
5239
  };
5240
+ protocolContractDerivedAddresses: {
5241
+ canonicalAddress?: any;
5242
+ derivedAddress?: any;
5243
+ }[];
5203
5244
  contractInstances: {
5204
5245
  salt: string;
5205
5246
  publicKeys: {
@@ -1 +1 @@
1
- {"version":3,"file":"avm_proving_request.d.ts","sourceRoot":"","sources":["../../src/avm/avm_proving_request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGlC,CAAC"}
1
+ {"version":3,"file":"avm_proving_request.d.ts","sourceRoot":"","sources":["../../src/avm/avm_proving_request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGlC,CAAC"}
@@ -1,8 +1,11 @@
1
- import type { Fr } from '@aztec/foundation/fields';
1
+ import { createBlockEndMarker } from '@aztec/blob-lib/encoding';
2
+ import { Fr } from '@aztec/foundation/fields';
2
3
  import { BufferReader } from '@aztec/foundation/serialize';
3
4
  import { inspect } from 'util';
4
5
  import type { ZodFor } from '../schemas/index.js';
5
6
  import { TxEffect } from '../tx/tx_effect.js';
7
+ export { createBlockEndMarker };
8
+ export declare function getBlockBlobFields(txEffects: TxEffect[]): Fr[];
6
9
  export declare class Body {
7
10
  txEffects: TxEffect[];
8
11
  constructor(txEffects: TxEffect[]);
@@ -1 +1 @@
1
- {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../src/block/body.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,YAAY,EAAkC,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,qBAAa,IAAI;IACI,SAAS,EAAE,QAAQ,EAAE;gBAArB,SAAS,EAAE,QAAQ,EAAE;IAQxC,MAAM,CAAC,KAAK,EAAE,IAAI;IAMlB,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAMhC;IAED;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY;IAM5C;;OAEG;IACH,YAAY;IAgBZ;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE;IASlC,CAAC,OAAO,CAAC,MAAM,CAAC;WAMH,MAAM,CACjB,WAAW,SAAI,EACf,mBAAmB,SAAI,EACvB,oBAAoB,SAAI,EACxB,UAAU,GAAE,MAAM,GAAG,SAAqB;IAS5C,MAAM,CAAC,KAAK;CAGb"}
1
+ {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../src/block/body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAiD,MAAM,0BAA0B,CAAC;AAG/G,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAkC,MAAM,6BAA6B,CAAC;AAE3F,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,QAAQ,EAAE,QAIvD;AAED,qBAAa,IAAI;IACI,SAAS,EAAE,QAAQ,EAAE;gBAArB,SAAS,EAAE,QAAQ,EAAE;IAQxC,MAAM,CAAC,KAAK,EAAE,IAAI;IAMlB,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,CAMhC;IAED;;;OAGG;IACH,QAAQ;IAIR;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY;IAM5C;;OAEG;IACH,YAAY;IAcZ;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE;IAmBlC,CAAC,OAAO,CAAC,MAAM,CAAC;WAMH,MAAM,CACjB,WAAW,SAAI,EACf,mBAAmB,SAAI,EACvB,oBAAoB,SAAI,EACxB,UAAU,GAAE,MAAM,GAAG,SAAqB;IAS5C,MAAM,CAAC,KAAK;CAGb"}
@@ -1,9 +1,16 @@
1
+ import { createBlockEndMarker, getNumTxsFromBlockEndMarker, isBlockEndMarker } from '@aztec/blob-lib/encoding';
1
2
  import { BLOBS_PER_BLOCK, FIELDS_PER_BLOB } from '@aztec/constants';
2
3
  import { timesParallel } from '@aztec/foundation/collection';
3
4
  import { BufferReader, FieldReader, serializeToBuffer } from '@aztec/foundation/serialize';
4
5
  import { inspect } from 'util';
5
6
  import { z } from 'zod';
6
7
  import { TxEffect } from '../tx/tx_effect.js';
8
+ export { createBlockEndMarker };
9
+ export function getBlockBlobFields(txEffects) {
10
+ const blobFields = txEffects.flatMap((txEffect)=>txEffect.toBlobFields());
11
+ blobFields.push(createBlockEndMarker(txEffects.length));
12
+ return blobFields;
13
+ }
7
14
  export class Body {
8
15
  txEffects;
9
16
  constructor(txEffects){
@@ -38,10 +45,7 @@ export class Body {
38
45
  /**
39
46
  * Returns a flat packed array of fields of all tx effects - used for blobs.
40
47
  */ toBlobFields() {
41
- let flattened = [];
42
- this.txEffects.forEach((effect)=>{
43
- flattened = flattened.concat(effect.toBlobFields());
44
- });
48
+ const flattened = getBlockBlobFields(this.txEffects);
45
49
  if (flattened.length > BLOBS_PER_BLOCK * FIELDS_PER_BLOB) {
46
50
  throw new Error(`Attempted to overfill block's blobs with ${flattened.length} elements. The maximum is ${BLOBS_PER_BLOCK * FIELDS_PER_BLOB}`);
47
51
  }
@@ -51,10 +55,17 @@ export class Body {
51
55
  * Decodes a block from blob fields.
52
56
  */ static fromBlobFields(fields) {
53
57
  const txEffects = [];
54
- const reader = new FieldReader(fields);
58
+ const reader = new FieldReader(fields.slice(0, -1));
55
59
  while(!reader.isFinished()){
56
60
  txEffects.push(TxEffect.fromBlobFields(reader));
57
61
  }
62
+ if (!isBlockEndMarker(fields[fields.length - 1])) {
63
+ throw new Error('Block end marker not found');
64
+ }
65
+ const numTxs = getNumTxsFromBlockEndMarker(fields[fields.length - 1]);
66
+ if (numTxs !== txEffects.length) {
67
+ throw new Error(`Expected ${numTxs} txs, but got ${txEffects.length}`);
68
+ }
58
69
  return new this(txEffects);
59
70
  }
60
71
  [inspect.custom]() {
@@ -1,4 +1,5 @@
1
1
  export * from './l2_block.js';
2
+ export * from './l2_block_header.js';
2
3
  export * from './l2_block_stream/index.js';
3
4
  export * from './in_block.js';
4
5
  export * from './body.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/block/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/block/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './l2_block.js';
2
+ export * from './l2_block_header.js';
2
3
  export * from './l2_block_stream/index.js';
3
4
  export * from './in_block.js';
4
5
  export * from './body.js';
@@ -2,8 +2,9 @@ import { Fr } from '@aztec/foundation/fields';
2
2
  import { BufferReader } from '@aztec/foundation/serialize';
3
3
  import { z } from 'zod';
4
4
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
5
- import { BlockHeader } from '../tx/block_header.js';
5
+ import type { BlockHeader } from '../tx/block_header.js';
6
6
  import { Body } from './body.js';
7
+ import { L2BlockHeader } from './l2_block_header.js';
7
8
  import type { L2BlockInfo } from './l2_block_info.js';
8
9
  /**
9
10
  * The data that makes up the rollup proof, with encoder decoder functions.
@@ -12,7 +13,7 @@ export declare class L2Block {
12
13
  /** Snapshot of archive tree after the block is applied. */
13
14
  archive: AppendOnlyTreeSnapshot;
14
15
  /** L2 block header. */
15
- header: BlockHeader;
16
+ header: L2BlockHeader;
16
17
  /** L2 block body. */
17
18
  body: Body;
18
19
  private blockHash;
@@ -20,7 +21,7 @@ export declare class L2Block {
20
21
  /** Snapshot of archive tree after the block is applied. */
21
22
  archive: AppendOnlyTreeSnapshot,
22
23
  /** L2 block header. */
23
- header: BlockHeader,
24
+ header: L2BlockHeader,
24
25
  /** L2 block body. */
25
26
  body: Body, blockHash?: Fr | undefined);
26
27
  static get schema(): z.ZodEffects<z.ZodObject<{
@@ -37,11 +38,11 @@ export declare class L2Block {
37
38
  root: string;
38
39
  nextAvailableLeafIndex: string | number | bigint;
39
40
  }>;
40
- header: import("@aztec/foundation/schemas").ZodFor<BlockHeader>;
41
+ header: import("@aztec/foundation/schemas").ZodFor<L2BlockHeader>;
41
42
  body: import("@aztec/foundation/schemas").ZodFor<Body>;
42
43
  }, "strip", z.ZodTypeAny, {
43
44
  archive: AppendOnlyTreeSnapshot;
44
- header: BlockHeader;
45
+ header: L2BlockHeader;
45
46
  body: Body;
46
47
  }, {
47
48
  archive: {
@@ -102,6 +103,8 @@ export declare class L2Block {
102
103
  * @returns The block's hash.
103
104
  */
104
105
  hash(): Promise<Fr>;
106
+ getCheckpointHeader(): import("../rollup/checkpoint_header.js").CheckpointHeader;
107
+ getBlockHeader(): BlockHeader;
105
108
  /**
106
109
  * Returns stats used for logging.
107
110
  * @returns Stats on tx count, number, and log size and count.
@@ -1 +1 @@
1
- {"version":3,"file":"l2_block.d.ts","sourceRoot":"","sources":["../../src/block/l2_block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,qBAAa,OAAO;IAEhB,2DAA2D;IACpD,OAAO,EAAE,sBAAsB;IACtC,uBAAuB;IAChB,MAAM,EAAE,WAAW;IAC1B,qBAAqB;IACd,IAAI,EAAE,IAAI;IACjB,OAAO,CAAC,SAAS;;IANjB,2DAA2D;IACpD,OAAO,EAAE,sBAAsB;IACtC,uBAAuB;IAChB,MAAM,EAAE,WAAW;IAC1B,qBAAqB;IACd,IAAI,EAAE,IAAI,EACT,SAAS,GAAE,EAAE,GAAG,SAAqB;IAG/C,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQhB;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY;IAS5C;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;;;;;OAQG;WACU,MAAM,CACjB,UAAU,EAAE,MAAM,EAClB,WAAW,SAAI,EACf,mBAAmB,SAAI,EACvB,oBAAoB,SAAI,EACxB,MAAM,GAAE,EAAE,GAAG,SAAqB,EAClC,UAAU,GAAE,MAAM,GAAG,SAAqB,EAC1C,UAAU,GAAE,MAAM,GAAG,SAAqB,GACzC,OAAO,CAAC,OAAO,CAAC;IAUnB;;;OAGG;IACH,MAAM,CAAC,KAAK,IAAI,OAAO;IAIvB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;IAOhC;;;OAGG;IACH,QAAQ;;;;;;;;;IAuBR,WAAW,IAAI,WAAW;IAY1B,MAAM,CAAC,KAAK,EAAE,OAAO;CAGtB"}
1
+ {"version":3,"file":"l2_block.d.ts","sourceRoot":"","sources":["../../src/block/l2_block.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;GAEG;AACH,qBAAa,OAAO;IAEhB,2DAA2D;IACpD,OAAO,EAAE,sBAAsB;IACtC,uBAAuB;IAChB,MAAM,EAAE,aAAa;IAC5B,qBAAqB;IACd,IAAI,EAAE,IAAI;IACjB,OAAO,CAAC,SAAS;;IANjB,2DAA2D;IACpD,OAAO,EAAE,sBAAsB;IACtC,uBAAuB;IAChB,MAAM,EAAE,aAAa;IAC5B,qBAAqB;IACd,IAAI,EAAE,IAAI,EACT,SAAS,GAAE,EAAE,GAAG,SAAqB;IAG/C,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAQhB;IAED;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY;IAS5C;;;OAGG;IACH,QAAQ;IAIR;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIvC;;;OAGG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;;;;;OAQG;WACU,MAAM,CACjB,UAAU,EAAE,MAAM,EAClB,WAAW,SAAI,EACf,mBAAmB,SAAI,EACvB,oBAAoB,SAAI,EACxB,MAAM,GAAE,EAAE,GAAG,SAAqB,EAClC,UAAU,GAAE,MAAM,GAAG,SAAqB,EAC1C,UAAU,GAAE,MAAM,GAAG,SAAqB,GACzC,OAAO,CAAC,OAAO,CAAC;IAUnB;;;OAGG;IACH,MAAM,CAAC,KAAK,IAAI,OAAO;IAIvB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;IAOzB,mBAAmB;IAKnB,cAAc,IAAI,WAAW;IAIpC;;;OAGG;IACH,QAAQ;;;;;;;;;IAuBR,WAAW,IAAI,WAAW;IAY1B,MAAM,CAAC,KAAK,EAAE,OAAO;CAGtB"}
@@ -2,9 +2,9 @@ import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
2
2
  import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
3
3
  import { z } from 'zod';
4
4
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
5
- import { BlockHeader } from '../tx/block_header.js';
6
5
  import { Body } from './body.js';
7
- import { makeAppendOnlyTreeSnapshot, makeHeader } from './l2_block_code_to_purge.js';
6
+ import { makeAppendOnlyTreeSnapshot, makeL2BlockHeader } from './l2_block_code_to_purge.js';
7
+ import { L2BlockHeader } from './l2_block_header.js';
8
8
  /**
9
9
  * The data that makes up the rollup proof, with encoder decoder functions.
10
10
  */ export class L2Block {
@@ -21,7 +21,7 @@ import { makeAppendOnlyTreeSnapshot, makeHeader } from './l2_block_code_to_purge
21
21
  static get schema() {
22
22
  return z.object({
23
23
  archive: AppendOnlyTreeSnapshot.schema,
24
- header: BlockHeader.schema,
24
+ header: L2BlockHeader.schema,
25
25
  body: Body.schema
26
26
  }).transform(({ archive, header, body })=>new L2Block(archive, header, body));
27
27
  }
@@ -30,7 +30,7 @@ import { makeAppendOnlyTreeSnapshot, makeHeader } from './l2_block_code_to_purge
30
30
  * @returns A deserialized L2 block.
31
31
  */ static fromBuffer(buf) {
32
32
  const reader = BufferReader.asReader(buf);
33
- const header = reader.readObject(BlockHeader);
33
+ const header = reader.readObject(L2BlockHeader);
34
34
  const archive = reader.readObject(AppendOnlyTreeSnapshot);
35
35
  const body = reader.readObject(Body);
36
36
  return new L2Block(archive, header, body);
@@ -64,13 +64,13 @@ import { makeAppendOnlyTreeSnapshot, makeHeader } from './l2_block_code_to_purge
64
64
  * @returns The L2 block.
65
65
  */ static async random(l2BlockNum, txsPerBlock = 4, numPublicCallsPerTx = 3, numPublicLogsPerCall = 1, inHash = undefined, slotNumber = undefined, maxEffects = undefined) {
66
66
  const body = await Body.random(txsPerBlock, numPublicCallsPerTx, numPublicLogsPerCall, maxEffects);
67
- return new L2Block(makeAppendOnlyTreeSnapshot(l2BlockNum + 1), makeHeader(0, l2BlockNum, slotNumber ?? l2BlockNum, inHash), body);
67
+ return new L2Block(makeAppendOnlyTreeSnapshot(l2BlockNum + 1), makeL2BlockHeader(0, l2BlockNum, slotNumber ?? l2BlockNum, {}, inHash), body);
68
68
  }
69
69
  /**
70
70
  * Creates an L2 block containing empty data.
71
71
  * @returns The L2 block.
72
72
  */ static empty() {
73
- return new L2Block(AppendOnlyTreeSnapshot.empty(), BlockHeader.empty(), Body.empty());
73
+ return new L2Block(AppendOnlyTreeSnapshot.empty(), L2BlockHeader.empty(), Body.empty());
74
74
  }
75
75
  get number() {
76
76
  return this.header.getBlockNumber();
@@ -86,10 +86,17 @@ import { makeAppendOnlyTreeSnapshot, makeHeader } from './l2_block_code_to_purge
86
86
  * @returns The block's hash.
87
87
  */ async hash() {
88
88
  if (this.blockHash === undefined) {
89
- this.blockHash = await this.header.hash();
89
+ this.blockHash = await this.getBlockHeader().hash();
90
90
  }
91
91
  return this.blockHash;
92
92
  }
93
+ getCheckpointHeader() {
94
+ return this.header.toCheckpointHeader();
95
+ }
96
+ // Temporary helper to get the actual block header.
97
+ getBlockHeader() {
98
+ return this.header.toBlockHeader();
99
+ }
93
100
  /**
94
101
  * Returns stats used for logging.
95
102
  * @returns Stats on tx count, number, and log size and count.
@@ -1,23 +1,12 @@
1
1
  import { Fr } from '@aztec/foundation/fields';
2
+ import type { FieldsOf } from '@aztec/foundation/types';
2
3
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
3
- import { BlockHeader } from '../tx/block_header.js';
4
- import { GlobalVariables } from '../tx/global_variables.js';
5
- /**
6
- * Makes header.
7
- */
8
- export declare function makeHeader(seed?: number, blockNumber?: number, slotNumber?: number, inHash?: Fr): BlockHeader;
4
+ import { L2BlockHeader } from './l2_block_header.js';
5
+ export declare function makeL2BlockHeader(seed?: number, blockNumber?: number, slotNumber?: number, overrides?: Partial<FieldsOf<L2BlockHeader>>, inHash?: Fr): L2BlockHeader;
9
6
  /**
10
7
  * Makes arbitrary append only tree snapshot.
11
8
  * @param seed - The seed to use for generating the append only tree snapshot.
12
9
  * @returns An append only tree snapshot.
13
10
  */
14
11
  export declare function makeAppendOnlyTreeSnapshot(seed?: number): AppendOnlyTreeSnapshot;
15
- /**
16
- * Makes global variables.
17
- * @param seed - The seed to use for generating the global variables.
18
- * @param blockNumber - The block number to use for generating the global variables.
19
- * If blockNumber is undefined, it will be set to seed + 2.
20
- * @returns Global variables.
21
- */
22
- export declare function makeGlobalVariables(seed?: number, blockNumber?: number | undefined, slotNumber?: number | undefined): GlobalVariables;
23
12
  //# sourceMappingURL=l2_block_code_to_purge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"l2_block_code_to_purge.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_code_to_purge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAI9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAI5D;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,SAAI,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,WAAW,CASxG;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,SAAI,GAAG,sBAAsB,CAE3E;AA+BD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,SAAI,EACR,WAAW,GAAE,MAAM,GAAG,SAAqB,EAC3C,UAAU,GAAE,MAAM,GAAG,SAAqB,GACzC,eAAe,CAWjB"}
1
+ {"version":3,"file":"l2_block_code_to_purge.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_code_to_purge.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAIxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAK/E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,wBAAgB,iBAAiB,CAC/B,IAAI,SAAI,EACR,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,GAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAM,EAChD,MAAM,CAAC,EAAE,EAAE,iBAcZ;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,SAAI,GAAG,sBAAsB,CAE3E"}
@@ -1,17 +1,23 @@
1
+ import { compact } from '@aztec/foundation/collection';
1
2
  import { EthAddress } from '@aztec/foundation/eth-address';
2
3
  import { Fr } from '@aztec/foundation/fields';
3
4
  import { AztecAddress } from '../aztec-address/index.js';
4
5
  import { GasFees } from '../gas/gas_fees.js';
5
6
  import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
6
- import { BlockHeader } from '../tx/block_header.js';
7
7
  import { ContentCommitment } from '../tx/content_commitment.js';
8
8
  import { GlobalVariables } from '../tx/global_variables.js';
9
9
  import { PartialStateReference } from '../tx/partial_state_reference.js';
10
10
  import { StateReference } from '../tx/state_reference.js';
11
- /**
12
- * Makes header.
13
- */ export function makeHeader(seed = 0, blockNumber, slotNumber, inHash) {
14
- return new BlockHeader(makeAppendOnlyTreeSnapshot(seed + 0x100), makeContentCommitment(seed + 0x200, inHash), makeStateReference(seed + 0x600), makeGlobalVariables(seed += 0x700, blockNumber, slotNumber ?? blockNumber), new Fr(seed + 0x800), new Fr(seed + 0x900));
11
+ import { L2BlockHeader } from './l2_block_header.js';
12
+ export function makeL2BlockHeader(seed = 0, blockNumber, slotNumber, overrides = {}, inHash) {
13
+ return new L2BlockHeader(makeAppendOnlyTreeSnapshot(seed + 0x100), overrides?.contentCommitment ?? makeContentCommitment(seed + 0x200, inHash), overrides?.state ?? makeStateReference(seed + 0x600), makeGlobalVariables(seed += 0x700, {
14
+ ...blockNumber ? {
15
+ blockNumber
16
+ } : {},
17
+ ...slotNumber ? {
18
+ slotNumber: new Fr(slotNumber)
19
+ } : {}
20
+ }), new Fr(seed + 0x800), new Fr(seed + 0x900), new Fr(seed + 0xa00));
15
21
  }
16
22
  /**
17
23
  * Makes arbitrary append only tree snapshot.
@@ -39,12 +45,16 @@ import { StateReference } from '../tx/state_reference.js';
39
45
  */ function makePartialStateReference(seed = 0) {
40
46
  return new PartialStateReference(makeAppendOnlyTreeSnapshot(seed), makeAppendOnlyTreeSnapshot(seed + 1), makeAppendOnlyTreeSnapshot(seed + 2));
41
47
  }
42
- /**
43
- * Makes global variables.
44
- * @param seed - The seed to use for generating the global variables.
45
- * @param blockNumber - The block number to use for generating the global variables.
46
- * If blockNumber is undefined, it will be set to seed + 2.
47
- * @returns Global variables.
48
- */ export function makeGlobalVariables(seed = 1, blockNumber = undefined, slotNumber = undefined) {
49
- return new GlobalVariables(new Fr(seed), new Fr(seed + 1), blockNumber ?? seed + 2, new Fr(slotNumber ?? seed + 3), BigInt(seed + 4), EthAddress.fromField(new Fr(seed + 5)), AztecAddress.fromField(new Fr(seed + 6)), new GasFees(seed + 7, seed + 8));
48
+ function makeGlobalVariables(seed = 1, overrides = {}) {
49
+ return GlobalVariables.from({
50
+ chainId: new Fr(seed),
51
+ version: new Fr(seed + 1),
52
+ blockNumber: seed + 2,
53
+ slotNumber: new Fr(seed + 3),
54
+ timestamp: BigInt(seed + 4),
55
+ coinbase: EthAddress.fromField(new Fr(seed + 5)),
56
+ feeRecipient: AztecAddress.fromField(new Fr(seed + 6)),
57
+ gasFees: new GasFees(seed + 7, seed + 8),
58
+ ...compact(overrides)
59
+ });
50
60
  }
@@ -0,0 +1,100 @@
1
+ import { Fr } from '@aztec/foundation/fields';
2
+ import { type ZodFor } from '@aztec/foundation/schemas';
3
+ import { BufferReader, FieldReader } from '@aztec/foundation/serialize';
4
+ import type { FieldsOf } from '@aztec/foundation/types';
5
+ import { inspect } from 'util';
6
+ import { CheckpointHeader } from '../rollup/checkpoint_header.js';
7
+ import { AppendOnlyTreeSnapshot } from '../trees/append_only_tree_snapshot.js';
8
+ import { BlockHeader, ContentCommitment, GlobalVariables, StateReference } from '../tx/index.js';
9
+ /**
10
+ * TO BE DELETED
11
+ *
12
+ * A header of an L2 block combining the block header and the checkpoint header.
13
+ * This is a temporary workaround to avoid changing too many things before building in chunks is properly implemented.
14
+ * This works for now because we only have one block per checkpoint.
15
+ *
16
+ * @deprecated Use BlockHeader or CheckpointHeader instead.
17
+ */
18
+ export declare class L2BlockHeader {
19
+ /** Snapshot of archive before the block is applied. */
20
+ lastArchive: AppendOnlyTreeSnapshot;
21
+ /** Hash of the body of an L2 block. */
22
+ contentCommitment: ContentCommitment;
23
+ /** State reference. */
24
+ state: StateReference;
25
+ /** Global variables of an L2 block. */
26
+ globalVariables: GlobalVariables;
27
+ /** Total fees in the block, computed by the root rollup circuit */
28
+ totalFees: Fr;
29
+ /** Total mana used in the block, computed by the root rollup circuit */
30
+ totalManaUsed: Fr;
31
+ /** Hash of the sponge blob of the block. */
32
+ spongeBlobHash: Fr;
33
+ constructor(
34
+ /** Snapshot of archive before the block is applied. */
35
+ lastArchive: AppendOnlyTreeSnapshot,
36
+ /** Hash of the body of an L2 block. */
37
+ contentCommitment: ContentCommitment,
38
+ /** State reference. */
39
+ state: StateReference,
40
+ /** Global variables of an L2 block. */
41
+ globalVariables: GlobalVariables,
42
+ /** Total fees in the block, computed by the root rollup circuit */
43
+ totalFees: Fr,
44
+ /** Total mana used in the block, computed by the root rollup circuit */
45
+ totalManaUsed: Fr,
46
+ /** Hash of the sponge blob of the block. */
47
+ spongeBlobHash: Fr);
48
+ static get schema(): ZodFor<L2BlockHeader>;
49
+ static getFields(fields: FieldsOf<L2BlockHeader>): readonly [AppendOnlyTreeSnapshot, ContentCommitment, StateReference, GlobalVariables, Fr, Fr, Fr];
50
+ static from(fields: FieldsOf<L2BlockHeader>): L2BlockHeader;
51
+ getSlot(): bigint;
52
+ getBlockNumber(): number;
53
+ getSize(): number;
54
+ toBuffer(): Buffer<ArrayBufferLike>;
55
+ toFields(): Fr[];
56
+ clone(): L2BlockHeader;
57
+ static fromBuffer(buffer: Buffer | BufferReader): L2BlockHeader;
58
+ static fromFields(fields: Fr[] | FieldReader): L2BlockHeader;
59
+ static empty(fields?: Partial<FieldsOf<L2BlockHeader>>): L2BlockHeader;
60
+ isEmpty(): boolean;
61
+ /**
62
+ * Serializes this instance into a string.
63
+ * @returns Encoded string.
64
+ */
65
+ toString(): `0x${string}`;
66
+ static fromString(str: string): L2BlockHeader;
67
+ toCheckpointHeader(): CheckpointHeader;
68
+ toBlockHeader(): BlockHeader;
69
+ toInspect(): {
70
+ lastArchive: `0x${string}`;
71
+ contentCommitment: {
72
+ blobsHash: `0x${string}`;
73
+ inHash: `0x${string}`;
74
+ outHash: `0x${string}`;
75
+ };
76
+ state: {
77
+ l1ToL2MessageTree: `0x${string}`;
78
+ noteHashTree: `0x${string}`;
79
+ nullifierTree: `0x${string}`;
80
+ publicDataTree: `0x${string}`;
81
+ };
82
+ globalVariables: {
83
+ chainId: number;
84
+ version: number;
85
+ blockNumber: number;
86
+ slotNumber: number;
87
+ timestamp: bigint;
88
+ coinbase: `0x${string}`;
89
+ feeRecipient: `0x${string}`;
90
+ feePerDaGas: number;
91
+ feePerL2Gas: number;
92
+ };
93
+ totalFees: bigint;
94
+ totalManaUsed: bigint;
95
+ spongeBlobHash: `0x${string}`;
96
+ };
97
+ [inspect.custom](): string;
98
+ equals(other: this): boolean;
99
+ }
100
+ //# sourceMappingURL=l2_block_header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"l2_block_header.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAwC,MAAM,6BAA6B,CAAC;AAE9G,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEjG;;;;;;;;GAQG;AACH,qBAAa,aAAa;IAEtB,uDAAuD;IAChD,WAAW,EAAE,sBAAsB;IAC1C,uCAAuC;IAChC,iBAAiB,EAAE,iBAAiB;IAC3C,uBAAuB;IAChB,KAAK,EAAE,cAAc;IAC5B,uCAAuC;IAChC,eAAe,EAAE,eAAe;IACvC,mEAAmE;IAC5D,SAAS,EAAE,EAAE;IACpB,wEAAwE;IACjE,aAAa,EAAE,EAAE;IACxB,4CAA4C;IACrC,cAAc,EAAE,EAAE;;IAbzB,uDAAuD;IAChD,WAAW,EAAE,sBAAsB;IAC1C,uCAAuC;IAChC,iBAAiB,EAAE,iBAAiB;IAC3C,uBAAuB;IAChB,KAAK,EAAE,cAAc;IAC5B,uCAAuC;IAChC,eAAe,EAAE,eAAe;IACvC,mEAAmE;IAC5D,SAAS,EAAE,EAAE;IACpB,wEAAwE;IACjE,aAAa,EAAE,EAAE;IACxB,4CAA4C;IACrC,cAAc,EAAE,EAAE;IAG3B,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,aAAa,CAAC,CAYzC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC;IAYhD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC;IAI3C,OAAO;IAIP,cAAc;IAId,OAAO;IAYP,QAAQ;IAIR,QAAQ,IAAI,EAAE,EAAE;IAIhB,KAAK;IAIL,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAc/C,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW;IAc5C,MAAM,CAAC,KAAK,CAAC,MAAM,GAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAM;IAa1D,OAAO,IAAI,OAAO;IAYlB;;;OAGG;IACI,QAAQ;IAIf,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM;IAI7B,kBAAkB;IAalB,aAAa;IAWb,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAYT,CAAC,OAAO,CAAC,MAAM,CAAC;IAiBT,MAAM,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO;CAWpC"}