@aztec/stdlib 0.0.1-commit.2b2662070 → 0.0.1-commit.2c0ee1788

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 (178) hide show
  1. package/dest/abi/encoder.d.ts +1 -1
  2. package/dest/abi/encoder.d.ts.map +1 -1
  3. package/dest/abi/encoder.js +32 -6
  4. package/dest/avm/avm.d.ts +300 -300
  5. package/dest/block/attestation_info.d.ts +3 -2
  6. package/dest/block/attestation_info.d.ts.map +1 -1
  7. package/dest/block/attestation_info.js +7 -5
  8. package/dest/block/block_data.d.ts +290 -1
  9. package/dest/block/block_data.d.ts.map +1 -1
  10. package/dest/block/block_data.js +14 -0
  11. package/dest/block/block_parameter.d.ts +30 -3
  12. package/dest/block/block_parameter.d.ts.map +1 -1
  13. package/dest/block/block_parameter.js +36 -2
  14. package/dest/block/l2_block_source.d.ts +39 -4
  15. package/dest/block/l2_block_source.d.ts.map +1 -1
  16. package/dest/block/proposal/attestations_and_signers.d.ts +13 -6
  17. package/dest/block/proposal/attestations_and_signers.d.ts.map +1 -1
  18. package/dest/block/proposal/attestations_and_signers.js +26 -18
  19. package/dest/checkpoint/checkpoint_data.d.ts +7 -1
  20. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  21. package/dest/checkpoint/checkpoint_data.js +2 -0
  22. package/dest/config/chain-config.d.ts +2 -2
  23. package/dest/config/chain-config.d.ts.map +1 -1
  24. package/dest/config/chain-config.js +2 -2
  25. package/dest/config/sequencer-config.d.ts +5 -3
  26. package/dest/config/sequencer-config.d.ts.map +1 -1
  27. package/dest/config/sequencer-config.js +13 -6
  28. package/dest/contract/contract_address.d.ts +1 -1
  29. package/dest/contract/contract_address.js +2 -2
  30. package/dest/contract/private_function.d.ts +1 -1
  31. package/dest/contract/private_function.d.ts.map +1 -1
  32. package/dest/contract/private_function.js +2 -4
  33. package/dest/gas/gas_fees.d.ts +5 -1
  34. package/dest/gas/gas_fees.d.ts.map +1 -1
  35. package/dest/ha-signing/config.d.ts +6 -6
  36. package/dest/ha-signing/config.d.ts.map +1 -1
  37. package/dest/ha-signing/config.js +4 -3
  38. package/dest/ha-signing/local_config.d.ts +1 -1
  39. package/dest/ha-signing/local_config.d.ts.map +1 -1
  40. package/dest/ha-signing/local_config.js +2 -2
  41. package/dest/hash/hash.d.ts +16 -1
  42. package/dest/hash/hash.d.ts.map +1 -1
  43. package/dest/hash/hash.js +32 -0
  44. package/dest/interfaces/archiver.d.ts +11 -1
  45. package/dest/interfaces/archiver.d.ts.map +1 -1
  46. package/dest/interfaces/archiver.js +10 -4
  47. package/dest/interfaces/aztec-node-admin.d.ts +19 -4
  48. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  49. package/dest/interfaces/aztec-node-admin.js +2 -1
  50. package/dest/interfaces/aztec-node.d.ts +45 -55
  51. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  52. package/dest/interfaces/aztec-node.js +18 -16
  53. package/dest/interfaces/block_response.d.ts +156 -0
  54. package/dest/interfaces/block_response.d.ts.map +1 -0
  55. package/dest/interfaces/block_response.js +24 -0
  56. package/dest/interfaces/chain_tips.d.ts +304 -0
  57. package/dest/interfaces/chain_tips.d.ts.map +1 -0
  58. package/dest/interfaces/chain_tips.js +11 -0
  59. package/dest/interfaces/checkpoint_parameter.d.ts +27 -0
  60. package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -0
  61. package/dest/interfaces/checkpoint_parameter.js +20 -0
  62. package/dest/interfaces/checkpoint_response.d.ts +312 -0
  63. package/dest/interfaces/checkpoint_response.d.ts.map +1 -0
  64. package/dest/interfaces/checkpoint_response.js +26 -0
  65. package/dest/interfaces/client.d.ts +6 -1
  66. package/dest/interfaces/client.d.ts.map +1 -1
  67. package/dest/interfaces/client.js +5 -0
  68. package/dest/interfaces/configs.d.ts +12 -2
  69. package/dest/interfaces/configs.d.ts.map +1 -1
  70. package/dest/interfaces/configs.js +3 -1
  71. package/dest/interfaces/l1_publish_info.d.ts +43 -0
  72. package/dest/interfaces/l1_publish_info.d.ts.map +1 -0
  73. package/dest/interfaces/l1_publish_info.js +26 -0
  74. package/dest/interfaces/proving-job.d.ts +166 -166
  75. package/dest/interfaces/server.d.ts +6 -1
  76. package/dest/interfaces/server.d.ts.map +1 -1
  77. package/dest/interfaces/server.js +5 -0
  78. package/dest/interfaces/validator.d.ts +20 -8
  79. package/dest/interfaces/validator.d.ts.map +1 -1
  80. package/dest/interfaces/validator.js +2 -0
  81. package/dest/p2p/block_proposal.d.ts +19 -9
  82. package/dest/p2p/block_proposal.d.ts.map +1 -1
  83. package/dest/p2p/block_proposal.js +42 -32
  84. package/dest/p2p/checkpoint_attestation.d.ts +7 -3
  85. package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
  86. package/dest/p2p/checkpoint_attestation.js +15 -17
  87. package/dest/p2p/checkpoint_proposal.d.ts +15 -7
  88. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  89. package/dest/p2p/checkpoint_proposal.js +31 -29
  90. package/dest/p2p/consensus_payload.d.ts +18 -7
  91. package/dest/p2p/consensus_payload.d.ts.map +1 -1
  92. package/dest/p2p/consensus_payload.js +31 -19
  93. package/dest/p2p/signature_utils.d.ts +28 -19
  94. package/dest/p2p/signature_utils.d.ts.map +1 -1
  95. package/dest/p2p/signature_utils.js +118 -21
  96. package/dest/p2p/signed_txs.d.ts +15 -13
  97. package/dest/p2p/signed_txs.d.ts.map +1 -1
  98. package/dest/p2p/signed_txs.js +26 -24
  99. package/dest/parity/parity_base_private_inputs.d.ts +7 -3
  100. package/dest/parity/parity_base_private_inputs.d.ts.map +1 -1
  101. package/dest/parity/parity_base_private_inputs.js +7 -5
  102. package/dest/parity/parity_public_inputs.d.ts +7 -3
  103. package/dest/parity/parity_public_inputs.d.ts.map +1 -1
  104. package/dest/parity/parity_public_inputs.js +6 -3
  105. package/dest/rollup/block_headers_hash.d.ts +1 -1
  106. package/dest/rollup/block_headers_hash.d.ts.map +1 -1
  107. package/dest/rollup/block_headers_hash.js +8 -2
  108. package/dest/tests/factories.d.ts +2 -7
  109. package/dest/tests/factories.d.ts.map +1 -1
  110. package/dest/tests/factories.js +8 -18
  111. package/dest/tests/mocks.d.ts +7 -1
  112. package/dest/tests/mocks.d.ts.map +1 -1
  113. package/dest/tests/mocks.js +28 -14
  114. package/dest/timetable/index.d.ts +1 -1
  115. package/dest/timetable/index.d.ts.map +1 -1
  116. package/dest/timetable/index.js +25 -11
  117. package/dest/trees/nullifier_leaf.d.ts +2 -1
  118. package/dest/trees/nullifier_leaf.d.ts.map +1 -1
  119. package/dest/trees/nullifier_leaf.js +3 -0
  120. package/dest/tx/profiling.js +4 -4
  121. package/dest/types/shared.d.ts +1 -10
  122. package/dest/types/shared.d.ts.map +1 -1
  123. package/dest/types/shared.js +0 -9
  124. package/dest/vks/verification_key.d.ts +2 -137
  125. package/dest/vks/verification_key.d.ts.map +1 -1
  126. package/dest/vks/verification_key.js +5 -126
  127. package/dest/world-state/world_state_revision.d.ts +8 -1
  128. package/dest/world-state/world_state_revision.d.ts.map +1 -1
  129. package/dest/world-state/world_state_revision.js +7 -1
  130. package/package.json +8 -8
  131. package/src/abi/encoder.ts +42 -6
  132. package/src/block/attestation_info.ts +11 -11
  133. package/src/block/block_data.ts +17 -0
  134. package/src/block/block_parameter.ts +35 -2
  135. package/src/block/l2_block_source.ts +43 -3
  136. package/src/block/proposal/attestations_and_signers.ts +32 -17
  137. package/src/checkpoint/checkpoint_data.ts +4 -0
  138. package/src/config/chain-config.ts +2 -3
  139. package/src/config/sequencer-config.ts +25 -7
  140. package/src/contract/contract_address.ts +2 -2
  141. package/src/contract/private_function.ts +3 -1
  142. package/src/gas/gas_fees.ts +5 -0
  143. package/src/ha-signing/config.ts +5 -2
  144. package/src/ha-signing/local_config.ts +2 -2
  145. package/src/hash/hash.ts +27 -0
  146. package/src/interfaces/archiver.ts +21 -3
  147. package/src/interfaces/aztec-node-admin.ts +3 -1
  148. package/src/interfaces/aztec-node.ts +105 -95
  149. package/src/interfaces/block_response.ts +79 -0
  150. package/src/interfaces/chain_tips.ts +24 -0
  151. package/src/interfaces/checkpoint_parameter.ts +22 -0
  152. package/src/interfaces/checkpoint_response.ts +84 -0
  153. package/src/interfaces/client.ts +5 -0
  154. package/src/interfaces/configs.ts +8 -1
  155. package/src/interfaces/l1_publish_info.ts +40 -0
  156. package/src/interfaces/server.ts +5 -0
  157. package/src/interfaces/validator.ts +7 -1
  158. package/src/p2p/block_proposal.ts +84 -28
  159. package/src/p2p/checkpoint_attestation.ts +15 -20
  160. package/src/p2p/checkpoint_proposal.ts +69 -37
  161. package/src/p2p/consensus_payload.ts +50 -28
  162. package/src/p2p/signature_utils.ts +110 -25
  163. package/src/p2p/signed_txs.ts +46 -28
  164. package/src/parity/parity_base_private_inputs.ts +10 -4
  165. package/src/parity/parity_public_inputs.ts +9 -2
  166. package/src/rollup/block_headers_hash.ts +11 -2
  167. package/src/tests/factories.ts +14 -20
  168. package/src/tests/mocks.ts +46 -26
  169. package/src/timetable/index.ts +26 -11
  170. package/src/trees/nullifier_leaf.ts +4 -0
  171. package/src/tx/profiling.ts +4 -4
  172. package/src/types/shared.ts +0 -10
  173. package/src/vks/verification_key.ts +5 -184
  174. package/src/world-state/world_state_revision.ts +9 -1
  175. package/dest/abi/mocked_keys.d.ts +0 -2
  176. package/dest/abi/mocked_keys.d.ts.map +0 -1
  177. package/dest/abi/mocked_keys.js +0 -1
  178. package/src/abi/mocked_keys.ts +0 -2
@@ -1,10 +1,12 @@
1
1
  import type { ViemCommitteeAttestations } from '@aztec/ethereum/contracts';
2
2
  import { z } from 'zod';
3
- import type { Signable, SignatureDomainSeparator } from '../../p2p/signature_utils.js';
3
+ import { type CoordinationSignatureContext, type CoordinationSignatureType, type Signable } from '../../p2p/signature_utils.js';
4
4
  import { CommitteeAttestation, EthAddress } from './committee_attestation.js';
5
5
  export declare class CommitteeAttestationsAndSigners implements Signable {
6
6
  attestations: CommitteeAttestation[];
7
- constructor(attestations: CommitteeAttestation[]);
7
+ readonly signatureContext: CoordinationSignatureContext;
8
+ readonly primaryType: CoordinationSignatureType;
9
+ constructor(attestations: CommitteeAttestation[], signatureContext: CoordinationSignatureContext);
8
10
  static get schema(): z.ZodEffects<z.ZodObject<{
9
11
  attestations: z.ZodArray<z.ZodEffects<z.ZodObject<{
10
12
  address: z.ZodType<EthAddress, any, string>;
@@ -19,21 +21,25 @@ export declare class CommitteeAttestationsAndSigners implements Signable {
19
21
  address: string;
20
22
  signature: string;
21
23
  }>, "many">;
24
+ signatureContext: import("@aztec/foundation/schemas").ZodFor<CoordinationSignatureContext>;
22
25
  }, "strip", z.ZodTypeAny, {
23
26
  attestations: CommitteeAttestation[];
27
+ signatureContext: CoordinationSignatureContext;
24
28
  }, {
25
29
  attestations: {
26
30
  address: string;
27
31
  signature: string;
28
32
  }[];
33
+ signatureContext?: any;
29
34
  }>, CommitteeAttestationsAndSigners, {
30
35
  attestations: {
31
36
  address: string;
32
37
  signature: string;
33
38
  }[];
39
+ signatureContext?: any;
34
40
  }>;
35
- getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
36
- static empty(): CommitteeAttestationsAndSigners;
41
+ getPayloadToSign(): Buffer;
42
+ static empty(signatureContext: CoordinationSignatureContext): CommitteeAttestationsAndSigners;
37
43
  toString(): void;
38
44
  getSigners(): EthAddress[];
39
45
  getSignedAttestations(): CommitteeAttestation[];
@@ -43,6 +49,7 @@ export declare class CommitteeAttestationsAndSigners implements Signable {
43
49
  * @param attestations - Array of committee attestations with addresses and signatures
44
50
  * @returns Packed attestations with bitmap and tightly packed signature/address data
45
51
  */
52
+ static packAttestations(attestations: CommitteeAttestation[]): ViemCommitteeAttestations;
46
53
  getPackedAttestations(): ViemCommitteeAttestations;
47
54
  }
48
55
  /**
@@ -53,7 +60,7 @@ export declare class CommitteeAttestationsAndSigners implements Signable {
53
60
  */
54
61
  export declare class MaliciousCommitteeAttestationsAndSigners extends CommitteeAttestationsAndSigners {
55
62
  private signers;
56
- constructor(attestations: CommitteeAttestation[], signers: EthAddress[]);
63
+ constructor(attestations: CommitteeAttestation[], signers: EthAddress[], signatureContext: CoordinationSignatureContext);
57
64
  getSigners(): EthAddress[];
58
65
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25zX2FuZF9zaWduZXJzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svcHJvcG9zYWwvYXR0ZXN0YXRpb25zX2FuZF9zaWduZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJM0UsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUUscUJBQWEsK0JBQWdDLFlBQVcsUUFBUTtJQUMzQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUU7SUFBdkQsWUFBbUIsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQUk7SUFFM0QsTUFBTSxLQUFLLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BTWhCO0lBRUQsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLHdCQUF3QixHQUFHLE1BQU0sQ0FXbEU7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLCtCQUErQixDQUU5QztJQUVELFFBQVEsU0FFUDtJQUVELFVBQVUsaUJBRVQ7SUFFRCxxQkFBcUIsMkJBRXBCO0lBRUQ7Ozs7O09BS0c7SUFDSCxxQkFBcUIsSUFBSSx5QkFBeUIsQ0FnRWpEO0NBQ0Y7QUFFRDs7Ozs7R0FLRztBQUNILHFCQUFhLHdDQUF5QyxTQUFRLCtCQUErQjtJQUd6RixPQUFPLENBQUMsT0FBTztJQUZqQixZQUNFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxFQUM1QixPQUFPLEVBQUUsVUFBVSxFQUFFLEVBRzlCO0lBRVEsVUFBVSxJQUFJLFVBQVUsRUFBRSxDQUVsQztDQUNGIn0=
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25zX2FuZF9zaWduZXJzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svcHJvcG9zYWwvYXR0ZXN0YXRpb25zX2FuZF9zaWduZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJM0UsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQ0wsS0FBSyw0QkFBNEIsRUFDakMsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSyxRQUFRLEVBRWQsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUUscUJBQWEsK0JBQWdDLFlBQVcsUUFBUTtJQUlyRCxZQUFZLEVBQUUsb0JBQW9CLEVBQUU7YUFDM0IsZ0JBQWdCLEVBQUUsNEJBQTRCO0lBSmhFLFFBQVEsQ0FBQyxXQUFXLEVBQUUseUJBQXlCLENBQTRCO0lBRTNFLFlBQ1MsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQzNCLGdCQUFnQixFQUFFLDRCQUE0QixFQUM1RDtJQUVKLE1BQU0sS0FBSyxNQUFNOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FPaEI7SUFFRCxnQkFBZ0IsSUFBSSxNQUFNLENBV3pCO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRSw0QkFBNEIsR0FBRywrQkFBK0IsQ0FFNUY7SUFFRCxRQUFRLFNBRVA7SUFFRCxVQUFVLGlCQUVUO0lBRUQscUJBQXFCLDJCQUVwQjtJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLHlCQUF5QixDQStEdkY7SUFFRCxxQkFBcUIsSUFBSSx5QkFBeUIsQ0FFakQ7Q0FDRjtBQUVEOzs7OztHQUtHO0FBQ0gscUJBQWEsd0NBQXlDLFNBQVEsK0JBQStCO0lBR3pGLE9BQU8sQ0FBQyxPQUFPO0lBRmpCLFlBQ0UsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEVBQzVCLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFDN0IsZ0JBQWdCLEVBQUUsNEJBQTRCLEVBRy9DO0lBRVEsVUFBVSxJQUFJLFVBQVUsRUFBRSxDQUVsQztDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"attestations_and_signers.d.ts","sourceRoot":"","sources":["../../../src/block/proposal/attestations_and_signers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAI3E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE9E,qBAAa,+BAAgC,YAAW,QAAQ;IAC3C,YAAY,EAAE,oBAAoB,EAAE;IAAvD,YAAmB,YAAY,EAAE,oBAAoB,EAAE,EAAI;IAE3D,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;OAMhB;IAED,gBAAgB,CAAC,eAAe,EAAE,wBAAwB,GAAG,MAAM,CAWlE;IAED,MAAM,CAAC,KAAK,IAAI,+BAA+B,CAE9C;IAED,QAAQ,SAEP;IAED,UAAU,iBAET;IAED,qBAAqB,2BAEpB;IAED;;;;;OAKG;IACH,qBAAqB,IAAI,yBAAyB,CAgEjD;CACF;AAED;;;;;GAKG;AACH,qBAAa,wCAAyC,SAAQ,+BAA+B;IAGzF,OAAO,CAAC,OAAO;IAFjB,YACE,YAAY,EAAE,oBAAoB,EAAE,EAC5B,OAAO,EAAE,UAAU,EAAE,EAG9B;IAEQ,UAAU,IAAI,UAAU,EAAE,CAElC;CACF"}
1
+ {"version":3,"file":"attestations_and_signers.d.ts","sourceRoot":"","sources":["../../../src/block/proposal/attestations_and_signers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAI3E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC9B,KAAK,QAAQ,EAEd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE9E,qBAAa,+BAAgC,YAAW,QAAQ;IAIrD,YAAY,EAAE,oBAAoB,EAAE;aAC3B,gBAAgB,EAAE,4BAA4B;IAJhE,QAAQ,CAAC,WAAW,EAAE,yBAAyB,CAA4B;IAE3E,YACS,YAAY,EAAE,oBAAoB,EAAE,EAC3B,gBAAgB,EAAE,4BAA4B,EAC5D;IAEJ,MAAM,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAOhB;IAED,gBAAgB,IAAI,MAAM,CAWzB;IAED,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,4BAA4B,GAAG,+BAA+B,CAE5F;IAED,QAAQ,SAEP;IAED,UAAU,iBAET;IAED,qBAAqB,2BAEpB;IAED;;;;;OAKG;IACH,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,oBAAoB,EAAE,GAAG,yBAAyB,CA+DvF;IAED,qBAAqB,IAAI,yBAAyB,CAEjD;CACF;AAED;;;;;GAKG;AACH,qBAAa,wCAAyC,SAAQ,+BAA+B;IAGzF,OAAO,CAAC,OAAO;IAFjB,YACE,YAAY,EAAE,oBAAoB,EAAE,EAC5B,OAAO,EAAE,UAAU,EAAE,EAC7B,gBAAgB,EAAE,4BAA4B,EAG/C;IAEQ,UAAU,IAAI,UAAU,EAAE,CAElC;CACF"}
@@ -1,22 +1,28 @@
1
1
  import { hexToBuffer } from '@aztec/foundation/string';
2
2
  import { encodeAbiParameters, parseAbiParameters } from 'viem';
3
3
  import { z } from 'zod';
4
+ import { coordinationSignatureContextSchema } from '../../p2p/signature_utils.js';
4
5
  import { CommitteeAttestation } from './committee_attestation.js';
5
6
  export class CommitteeAttestationsAndSigners {
6
7
  attestations;
7
- constructor(attestations){
8
+ signatureContext;
9
+ primaryType;
10
+ constructor(attestations, signatureContext){
8
11
  this.attestations = attestations;
12
+ this.signatureContext = signatureContext;
13
+ this.primaryType = 'AttestationsAndSigners';
9
14
  }
10
15
  static get schema() {
11
16
  return z.object({
12
- attestations: CommitteeAttestation.schema.array()
13
- }).transform((obj)=>new CommitteeAttestationsAndSigners(obj.attestations));
17
+ attestations: CommitteeAttestation.schema.array(),
18
+ signatureContext: coordinationSignatureContextSchema
19
+ }).transform((obj)=>new CommitteeAttestationsAndSigners(obj.attestations, obj.signatureContext));
14
20
  }
15
- getPayloadToSign(domainSeparator) {
16
- const abi = parseAbiParameters('uint8,(bytes,bytes),address[]');
21
+ getPayloadToSign() {
22
+ // Matches the L1 abi.encode(attestations, signers) in AttestationLib.sol#getAttestationsAndSignersDigest.
23
+ const abi = parseAbiParameters('(bytes,bytes),address[]');
17
24
  const packed = this.getPackedAttestations();
18
25
  const encodedData = encodeAbiParameters(abi, [
19
- domainSeparator,
20
26
  [
21
27
  packed.signatureIndices,
22
28
  packed.signaturesOrAddresses
@@ -25,8 +31,8 @@ export class CommitteeAttestationsAndSigners {
25
31
  ]);
26
32
  return hexToBuffer(encodedData);
27
33
  }
28
- static empty() {
29
- return new CommitteeAttestationsAndSigners([]);
34
+ static empty(signatureContext) {
35
+ return new CommitteeAttestationsAndSigners([], signatureContext);
30
36
  }
31
37
  toString() {
32
38
  throw new Error('Not implemented');
@@ -42,16 +48,16 @@ export class CommitteeAttestationsAndSigners {
42
48
  *
43
49
  * @param attestations - Array of committee attestations with addresses and signatures
44
50
  * @returns Packed attestations with bitmap and tightly packed signature/address data
45
- */ getPackedAttestations() {
46
- const length = this.attestations.length;
47
- const attestations = this.attestations.map((a)=>a.toViem());
51
+ */ static packAttestations(attestations) {
52
+ const length = attestations.length;
53
+ const viemAttestations = attestations.map((a)=>a.toViem());
48
54
  // Calculate bitmap size (1 bit per attestation, rounded up to nearest byte)
49
55
  const bitmapSize = Math.ceil(length / 8);
50
56
  const signatureIndices = new Uint8Array(bitmapSize);
51
57
  // Calculate total data size needed
52
58
  let totalDataSize = 0;
53
- for(let i = 0; i < length; i++){
54
- const signature = attestations[i].signature;
59
+ for (const attestation of viemAttestations){
60
+ const signature = attestation.signature;
55
61
  // Check if signature is empty (v = 0)
56
62
  const isEmpty = signature.v === 0;
57
63
  if (!isEmpty) {
@@ -63,8 +69,7 @@ export class CommitteeAttestationsAndSigners {
63
69
  const signaturesOrAddresses = new Uint8Array(totalDataSize);
64
70
  let dataIndex = 0;
65
71
  // Pack the data
66
- for(let i = 0; i < length; i++){
67
- const attestation = attestations[i];
72
+ for (const [i, attestation] of viemAttestations.entries()){
68
73
  const signature = attestation.signature;
69
74
  // Check if signature is empty
70
75
  const isEmpty = signature.v === 0;
@@ -72,7 +77,7 @@ export class CommitteeAttestationsAndSigners {
72
77
  // Set bit in bitmap (bit 7-0 in each byte, left to right)
73
78
  const byteIndex = Math.floor(i / 8);
74
79
  const bitIndex = 7 - i % 8;
75
- signatureIndices[byteIndex] |= 1 << bitIndex;
80
+ signatureIndices[byteIndex] = (signatureIndices[byteIndex] ?? 0) | 1 << bitIndex;
76
81
  // Pack signature: v + r + s
77
82
  signaturesOrAddresses[dataIndex] = signature.v;
78
83
  dataIndex++;
@@ -96,6 +101,9 @@ export class CommitteeAttestationsAndSigners {
96
101
  signaturesOrAddresses: `0x${Buffer.from(signaturesOrAddresses).toString('hex')}`
97
102
  };
98
103
  }
104
+ getPackedAttestations() {
105
+ return CommitteeAttestationsAndSigners.packAttestations(this.attestations);
106
+ }
99
107
  }
100
108
  /**
101
109
  * Malicious extension of CommitteeAttestationsAndSigners that keeps separate attestations and
@@ -104,8 +112,8 @@ export class CommitteeAttestationsAndSigners {
104
112
  * with an invalid set of attestation signatures.
105
113
  */ export class MaliciousCommitteeAttestationsAndSigners extends CommitteeAttestationsAndSigners {
106
114
  signers;
107
- constructor(attestations, signers){
108
- super(attestations), this.signers = signers;
115
+ constructor(attestations, signers, signatureContext){
116
+ super(attestations, signatureContext), this.signers = signers;
109
117
  }
110
118
  getSigners() {
111
119
  return this.signers;
@@ -21,6 +21,8 @@ export type L1EnrichedCheckpointData = {
21
21
  export type StorageEnrichedCheckpointData = {
22
22
  archive: AppendOnlyTreeSnapshot;
23
23
  checkpointOutHash: Fr;
24
+ /** Fee asset price modifier in basis points. Defaults to 0 (no change) when not explicitly set. */
25
+ feeAssetPriceModifier: bigint;
24
26
  };
25
27
  /** Data stored only with proposed checkpoint data */
26
28
  export type ProposedOnlyCheckpointData = {
@@ -101,6 +103,7 @@ export declare const CheckpointDataSchema: z.ZodEffects<z.ZodObject<{
101
103
  checkpointOutHash: z.ZodType<Fr, any, string>;
102
104
  startBlock: z.ZodEffects<z.ZodPipeline<z.ZodUnion<[z.ZodNumber, z.ZodBigInt, z.ZodString]>, z.ZodNumber>, BlockNumber, string | number | bigint>;
103
105
  blockCount: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodNumber>;
106
+ feeAssetPriceModifier: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
104
107
  attestations: z.ZodArray<z.ZodEffects<z.ZodObject<{
105
108
  address: z.ZodType<import("@aztec/foundation/eth-address").EthAddress, any, string>;
106
109
  signature: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, `0x${string}`, string>, `0x${string}`, string>, import("../block/proposal/committee_attestation.js").Signature, string>;
@@ -142,6 +145,7 @@ export declare const CheckpointDataSchema: z.ZodEffects<z.ZodObject<{
142
145
  _branding: "BlockNumber";
143
146
  };
144
147
  blockCount: number;
148
+ feeAssetPriceModifier: bigint;
145
149
  attestations: CommitteeAttestation[];
146
150
  l1: L1PublishedData;
147
151
  }, {
@@ -154,6 +158,7 @@ export declare const CheckpointDataSchema: z.ZodEffects<z.ZodObject<{
154
158
  checkpointOutHash: string;
155
159
  startBlock: string | number | bigint;
156
160
  blockCount: string | number | bigint;
161
+ feeAssetPriceModifier: string | number | bigint;
157
162
  attestations: {
158
163
  address: string;
159
164
  signature: string;
@@ -173,6 +178,7 @@ export declare const CheckpointDataSchema: z.ZodEffects<z.ZodObject<{
173
178
  checkpointOutHash: string;
174
179
  startBlock: string | number | bigint;
175
180
  blockCount: string | number | bigint;
181
+ feeAssetPriceModifier: string | number | bigint;
176
182
  attestations: {
177
183
  address: string;
178
184
  signature: string;
@@ -183,4 +189,4 @@ export declare const CheckpointDataSchema: z.ZodEffects<z.ZodObject<{
183
189
  blockHash: string;
184
190
  };
185
191
  }>;
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9kYXRhLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hlY2twb2ludC9jaGVja3BvaW50X2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFFWCxnQkFBZ0IsRUFFakIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsb0NBQW9DO0FBQ3BDLE1BQU0sTUFBTSxvQkFBb0IsR0FBRztJQUNqQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztJQUNuQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUM7SUFDekIsVUFBVSxFQUFFLFdBQVcsQ0FBQztJQUN4QixVQUFVLEVBQUUsTUFBTSxDQUFDO0NBQ3BCLENBQUM7QUFFRiw4REFBOEQ7QUFDOUQsTUFBTSxNQUFNLHdCQUF3QixHQUFHO0lBQ3JDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0lBQ3JDLEVBQUUsRUFBRSxlQUFlLENBQUM7Q0FDckIsQ0FBQztBQUVGLHVEQUF1RDtBQUN2RCxNQUFNLE1BQU0sNkJBQTZCLEdBQUc7SUFDMUMsT0FBTyxFQUFFLHNCQUFzQixDQUFDO0lBQ2hDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztDQUN2QixDQUFDO0FBRUYsc0RBQXNEO0FBQ3RELE1BQU0sTUFBTSwwQkFBMEIsR0FBRztJQUN2QyxhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLHFCQUFxQixFQUFFLE1BQU0sQ0FBQztDQUMvQixDQUFDO0FBRUYsK0RBQStEO0FBQy9ELE1BQU0sTUFBTSxjQUFjLEdBQUcsb0JBQW9CLEdBQUcsNkJBQTZCLEdBQUcsd0JBQXdCLENBQUM7QUFFN0c7NERBQzREO0FBQzVELE1BQU0sTUFBTSx1QkFBdUIsR0FBRyxvQkFBb0IsR0FBRywwQkFBMEIsQ0FBQztBQUV4Rjs4RkFDOEY7QUFDOUYsTUFBTSxNQUFNLHNCQUFzQixHQUFHLHVCQUF1QixHQUFHLDZCQUE2QixDQUFDO0FBRTdGLGVBQU8sTUFBTSw0QkFBNEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFTdkMsQ0FBQztBQUVILGVBQU8sTUFBTSxvQkFBb0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFzQjlCLENBQUMifQ==
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9kYXRhLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2hlY2twb2ludC9jaGVja3BvaW50X2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFFWCxnQkFBZ0IsRUFFakIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFNUQsb0NBQW9DO0FBQ3BDLE1BQU0sTUFBTSxvQkFBb0IsR0FBRztJQUNqQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQztJQUNuQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUM7SUFDekIsVUFBVSxFQUFFLFdBQVcsQ0FBQztJQUN4QixVQUFVLEVBQUUsTUFBTSxDQUFDO0NBQ3BCLENBQUM7QUFFRiw4REFBOEQ7QUFDOUQsTUFBTSxNQUFNLHdCQUF3QixHQUFHO0lBQ3JDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxDQUFDO0lBQ3JDLEVBQUUsRUFBRSxlQUFlLENBQUM7Q0FDckIsQ0FBQztBQUVGLHVEQUF1RDtBQUN2RCxNQUFNLE1BQU0sNkJBQTZCLEdBQUc7SUFDMUMsT0FBTyxFQUFFLHNCQUFzQixDQUFDO0lBQ2hDLGlCQUFpQixFQUFFLEVBQUUsQ0FBQztJQUN0QixtR0FBbUc7SUFDbkcscUJBQXFCLEVBQUUsTUFBTSxDQUFDO0NBQy9CLENBQUM7QUFFRixzREFBc0Q7QUFDdEQsTUFBTSxNQUFNLDBCQUEwQixHQUFHO0lBQ3ZDLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIscUJBQXFCLEVBQUUsTUFBTSxDQUFDO0NBQy9CLENBQUM7QUFFRiwrREFBK0Q7QUFDL0QsTUFBTSxNQUFNLGNBQWMsR0FBRyxvQkFBb0IsR0FBRyw2QkFBNkIsR0FBRyx3QkFBd0IsQ0FBQztBQUU3Rzs0REFDNEQ7QUFDNUQsTUFBTSxNQUFNLHVCQUF1QixHQUFHLG9CQUFvQixHQUFHLDBCQUEwQixDQUFDO0FBRXhGOzhGQUM4RjtBQUM5RixNQUFNLE1BQU0sc0JBQXNCLEdBQUcsdUJBQXVCLEdBQUcsNkJBQTZCLENBQUM7QUFFN0YsZUFBTyxNQUFNLDRCQUE0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQVN2QyxDQUFDO0FBRUgsZUFBTyxNQUFNLG9CQUFvQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF3QjlCLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint_data.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint_data.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,gBAAgB,EAEjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,oCAAoC;AACpC,MAAM,MAAM,oBAAoB,GAAG;IACjC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,WAAW,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,8DAA8D;AAC9D,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,EAAE,EAAE,eAAe,CAAC;CACrB,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,sBAAsB,CAAC;IAChC,iBAAiB,EAAE,EAAE,CAAC;CACvB,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,0BAA0B,GAAG;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,6BAA6B,GAAG,wBAAwB,CAAC;AAE7G;4DAC4D;AAC5D,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GAAG,0BAA0B,CAAC;AAExF;8FAC8F;AAC9F,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,GAAG,6BAA6B,CAAC;AAE7F,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASvC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsB9B,CAAC"}
1
+ {"version":3,"file":"checkpoint_data.d.ts","sourceRoot":"","sources":["../../src/checkpoint/checkpoint_data.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,gBAAgB,EAEjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,oCAAoC;AACpC,MAAM,MAAM,oBAAoB,GAAG;IACjC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,WAAW,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,8DAA8D;AAC9D,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,EAAE,EAAE,eAAe,CAAC;CACrB,CAAC;AAEF,uDAAuD;AACvD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,sBAAsB,CAAC;IAChC,iBAAiB,EAAE,EAAE,CAAC;IACtB,mGAAmG;IACnG,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,0BAA0B,GAAG;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,6BAA6B,GAAG,wBAAwB,CAAC;AAE7G;4DAC4D;AAC5D,MAAM,MAAM,uBAAuB,GAAG,oBAAoB,GAAG,0BAA0B,CAAC;AAExF;8FAC8F;AAC9F,MAAM,MAAM,sBAAsB,GAAG,uBAAuB,GAAG,6BAA6B,CAAC;AAE7F,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASvC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB9B,CAAC"}
@@ -22,6 +22,7 @@ export const CheckpointDataSchema = z.object({
22
22
  checkpointOutHash: schemas.Fr,
23
23
  startBlock: BlockNumberSchema,
24
24
  blockCount: schemas.Integer,
25
+ feeAssetPriceModifier: schemas.BigInt,
25
26
  attestations: z.array(CommitteeAttestation.schema),
26
27
  l1: L1PublishedData.schema
27
28
  }).transform((obj)=>({
@@ -31,6 +32,7 @@ export const CheckpointDataSchema = z.object({
31
32
  checkpointOutHash: obj.checkpointOutHash,
32
33
  startBlock: obj.startBlock,
33
34
  blockCount: obj.blockCount,
35
+ feeAssetPriceModifier: obj.feeAssetPriceModifier,
34
36
  attestations: obj.attestations,
35
37
  l1: obj.l1
36
38
  }));
@@ -1,4 +1,4 @@
1
- import type { ConfigMappingsType } from '@aztec/foundation/config';
1
+ import { type ConfigMappingsType } from '@aztec/foundation/config';
2
2
  import { EthAddress } from '@aztec/foundation/eth-address';
3
3
  export { type SequencerConfig, SequencerConfigSchema } from '../interfaces/configs.js';
4
4
  export { type AllowedElement } from '../interfaces/allowed_element.js';
@@ -16,4 +16,4 @@ export type ChainConfig = {
16
16
  rollupAddress: EthAddress;
17
17
  };
18
18
  };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW4tY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NoYWluLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RixPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV2RSxlQUFPLE1BQU0sZ0JBQWdCLEVBQUUsV0FJOUIsQ0FBQztBQUVGLGVBQU8sTUFBTSxtQkFBbUIsRUFBRSxrQkFBa0IsQ0FBQyxXQUFXLENBc0IvRCxDQUFDO0FBRUYsMkJBQTJCO0FBQzNCLE1BQU0sTUFBTSxXQUFXLEdBQUc7SUFDeEIseUNBQXlDO0lBQ3pDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsaUNBQWlDO0lBQ2pDLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIsdUNBQXVDO0lBQ3ZDLFdBQVcsRUFBRTtRQUNYLDRCQUE0QjtRQUM1QixhQUFhLEVBQUUsVUFBVSxDQUFDO0tBQzNCLENBQUM7Q0FDSCxDQUFDIn0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW4tY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NoYWluLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxrQkFBa0IsRUFBc0IsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkYsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFdkUsZUFBTyxNQUFNLGdCQUFnQixFQUFFLFdBSTlCLENBQUM7QUFFRixlQUFPLE1BQU0sbUJBQW1CLEVBQUUsa0JBQWtCLENBQUMsV0FBVyxDQXFCL0QsQ0FBQztBQUVGLDJCQUEyQjtBQUMzQixNQUFNLE1BQU0sV0FBVyxHQUFHO0lBQ3hCLHlDQUF5QztJQUN6QyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGlDQUFpQztJQUNqQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLHVDQUF1QztJQUN2QyxXQUFXLEVBQUU7UUFDWCw0QkFBNEI7UUFDNUIsYUFBYSxFQUFFLFVBQVUsQ0FBQztLQUMzQixDQUFDO0NBQ0gsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"chain-config.d.ts","sourceRoot":"","sources":["../../src/config/chain-config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,KAAK,eAAe,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,eAAO,MAAM,gBAAgB,EAAE,WAI9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,kBAAkB,CAAC,WAAW,CAsB/D,CAAC;AAEF,2BAA2B;AAC3B,MAAM,MAAM,WAAW,GAAG;IACxB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,WAAW,EAAE;QACX,4BAA4B;QAC5B,aAAa,EAAE,UAAU,CAAC;KAC3B,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"chain-config.d.ts","sourceRoot":"","sources":["../../src/config/chain-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAsB,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,KAAK,eAAe,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEvE,eAAO,MAAM,gBAAgB,EAAE,WAI9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,kBAAkB,CAAC,WAAW,CAqB/D,CAAC;AAEF,2BAA2B;AAC3B,MAAM,MAAM,WAAW,GAAG;IACxB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,WAAW,EAAE;QACX,4BAA4B;QAC5B,aAAa,EAAE,UAAU,CAAC;KAC3B,CAAC;CACH,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { l1ContractAddressesMapping } from '@aztec/ethereum/l1-contract-addresses';
2
+ import { numberConfigHelper } from '@aztec/foundation/config';
2
3
  import { EthAddress } from '@aztec/foundation/eth-address';
3
4
  export { SequencerConfigSchema } from '../interfaces/configs.js';
4
5
  export const emptyChainConfig = {
@@ -11,8 +12,7 @@ export const emptyChainConfig = {
11
12
  export const chainConfigMappings = {
12
13
  l1ChainId: {
13
14
  env: 'L1_CHAIN_ID',
14
- parseEnv: (val)=>+val,
15
- defaultValue: 31337,
15
+ ...numberConfigHelper(31337),
16
16
  description: 'The chain ID of the ethereum host.'
17
17
  },
18
18
  rollupVersion: {
@@ -1,12 +1,14 @@
1
- import type { ConfigMappingsType } from '@aztec/foundation/config';
1
+ import { type ConfigMappingsType } from '@aztec/foundation/config';
2
2
  import type { SequencerConfig } from '../interfaces/configs.js';
3
3
  /** Default maximum number of transactions per block. */
4
4
  export declare const DEFAULT_MAX_TXS_PER_BLOCK = 32;
5
+ /** Default maximum number of blocks the sequencer packs into a single checkpoint. */
6
+ export declare const DEFAULT_MAX_BLOCKS_PER_CHECKPOINT = 24;
5
7
  /**
6
8
  * Partial sequencer config mappings for fields that need to be shared across packages.
7
9
  * The full sequencer config mappings remain in sequencer-client, but shared fields
8
10
  * (like blockDurationMs needed by both p2p and sequencer-client) are defined here
9
11
  * to avoid duplication.
10
12
  */
11
- export declare const sharedSequencerConfigMappings: ConfigMappingsType<Pick<SequencerConfig, 'blockDurationMs' | 'expectedBlockProposalsPerSlot' | 'maxTxsPerBlock' | 'attestationPropagationTime'>>;
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLWNvbmZpZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9zZXF1ZW5jZXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbkUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHaEUsd0RBQXdEO0FBQ3hELGVBQU8sTUFBTSx5QkFBeUIsS0FBSyxDQUFDO0FBRTVDOzs7OztHQUtHO0FBQ0gsZUFBTyxNQUFNLDZCQUE2QixFQUFFLGtCQUFrQixDQUM1RCxJQUFJLENBQ0YsZUFBZSxFQUNmLGlCQUFpQixHQUFHLCtCQUErQixHQUFHLGdCQUFnQixHQUFHLDRCQUE0QixDQUN0RyxDQTRCRixDQUFDIn0=
13
+ export declare const sharedSequencerConfigMappings: ConfigMappingsType<Pick<SequencerConfig, 'blockDurationMs' | 'expectedBlockProposalsPerSlot' | 'maxTxsPerBlock' | 'attestationPropagationTime' | 'maxBlocksPerCheckpoint'>>;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLWNvbmZpZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9zZXF1ZW5jZXItY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUl4QixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR2hFLHdEQUF3RDtBQUN4RCxlQUFPLE1BQU0seUJBQXlCLEtBQUssQ0FBQztBQUU1QyxxRkFBcUY7QUFDckYsZUFBTyxNQUFNLGlDQUFpQyxLQUFLLENBQUM7QUFFcEQ7Ozs7O0dBS0c7QUFDSCxlQUFPLE1BQU0sNkJBQTZCLEVBQUUsa0JBQWtCLENBQzVELElBQUksQ0FDRixlQUFlLEVBQ2IsaUJBQWlCLEdBQ2pCLCtCQUErQixHQUMvQixnQkFBZ0IsR0FDaEIsNEJBQTRCLEdBQzVCLHdCQUF3QixDQUMzQixDQWtDRixDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"sequencer-config.d.ts","sourceRoot":"","sources":["../../src/config/sequencer-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,wDAAwD;AACxD,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAC5D,IAAI,CACF,eAAe,EACf,iBAAiB,GAAG,+BAA+B,GAAG,gBAAgB,GAAG,4BAA4B,CACtG,CA4BF,CAAC"}
1
+ {"version":3,"file":"sequencer-config.d.ts","sourceRoot":"","sources":["../../src/config/sequencer-config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,wDAAwD;AACxD,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,qFAAqF;AACrF,eAAO,MAAM,iCAAiC,KAAK,CAAC;AAEpD;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAC5D,IAAI,CACF,eAAe,EACb,iBAAiB,GACjB,+BAA+B,GAC/B,gBAAgB,GAChB,4BAA4B,GAC5B,wBAAwB,CAC3B,CAkCF,CAAC"}
@@ -1,5 +1,7 @@
1
+ import { floatConfigHelper, numberConfigHelper, optionalNumberConfigHelper } from '@aztec/foundation/config';
1
2
  import { DEFAULT_P2P_PROPAGATION_TIME } from '../timetable/index.js';
2
3
  /** Default maximum number of transactions per block. */ export const DEFAULT_MAX_TXS_PER_BLOCK = 32;
4
+ /** Default maximum number of blocks the sequencer packs into a single checkpoint. */ export const DEFAULT_MAX_BLOCKS_PER_CHECKPOINT = 24;
3
5
  /**
4
6
  * Partial sequencer config mappings for fields that need to be shared across packages.
5
7
  * The full sequencer config mappings remain in sequencer-client, but shared fields
@@ -9,23 +11,28 @@ import { DEFAULT_P2P_PROPAGATION_TIME } from '../timetable/index.js';
9
11
  blockDurationMs: {
10
12
  env: 'SEQ_BLOCK_DURATION_MS',
11
13
  description: 'Duration per block in milliseconds when building multiple blocks per slot. ' + 'If undefined (default), builds a single block per slot using the full slot duration.',
12
- parseEnv: (val)=>parseInt(val, 10)
14
+ ...optionalNumberConfigHelper()
13
15
  },
14
16
  expectedBlockProposalsPerSlot: {
15
17
  env: 'SEQ_EXPECTED_BLOCK_PROPOSALS_PER_SLOT',
16
18
  description: 'Expected number of block proposals per slot for P2P peer scoring. ' + '0 (default) disables block proposal scoring. Set to a positive value to enable.',
17
- parseEnv: (val)=>parseInt(val, 10),
18
- defaultValue: 0
19
+ ...numberConfigHelper(0)
19
20
  },
20
21
  maxTxsPerBlock: {
21
22
  env: 'SEQ_MAX_TX_PER_BLOCK',
22
23
  description: 'The maximum number of txs to include in a block.',
23
- parseEnv: (val)=>parseInt(val, 10)
24
+ ...optionalNumberConfigHelper()
24
25
  },
25
26
  attestationPropagationTime: {
26
27
  env: 'SEQ_ATTESTATION_PROPAGATION_TIME',
27
28
  description: 'How many seconds it takes for proposals and attestations to travel across the p2p layer (one-way).',
28
- parseEnv: (val)=>parseFloat(val),
29
- defaultValue: DEFAULT_P2P_PROPAGATION_TIME
29
+ defaultValue: DEFAULT_P2P_PROPAGATION_TIME,
30
+ ...floatConfigHelper(DEFAULT_P2P_PROPAGATION_TIME)
31
+ },
32
+ maxBlocksPerCheckpoint: {
33
+ env: 'MAX_BLOCKS_PER_CHECKPOINT',
34
+ description: 'Maximum number of blocks the sequencer packs into a single checkpoint, and the maximum indexWithinCheckpoint accepted on inbound block proposals.',
35
+ parseEnv: (val)=>parseInt(val, 10),
36
+ defaultValue: DEFAULT_MAX_BLOCKS_PER_CHECKPOINT
30
37
  }
31
38
  };
@@ -5,7 +5,7 @@ import type { ContractInstance } from './interfaces/contract_instance.js';
5
5
  /**
6
6
  * Returns the deployment address for a given contract instance.
7
7
  * ```
8
- * salted_initialization_hash = poseidon2(DOM_SEP__PARTIAL_ADDRESS, [salt, initialization_hash, deployer])
8
+ * salted_initialization_hash = poseidon2(DOM_SEP__SALTED_INITIALIZATION_HASH, [salt, initialization_hash, deployer])
9
9
  * partial_address = poseidon2(DOM_SEP__PARTIAL_ADDRESS, [contract_class_id, salted_initialization_hash])
10
10
  * address = ((poseidon2(DOM_SEP__CONTRACT_ADDRESS_V1, [public_keys_hash, partial_address]) * G) + ivpk_m).x <- the x-coordinate of the address point
11
11
  * ```
@@ -8,7 +8,7 @@ import { computeAddress } from '../keys/index.js';
8
8
  /**
9
9
  * Returns the deployment address for a given contract instance.
10
10
  * ```
11
- * salted_initialization_hash = poseidon2(DOM_SEP__PARTIAL_ADDRESS, [salt, initialization_hash, deployer])
11
+ * salted_initialization_hash = poseidon2(DOM_SEP__SALTED_INITIALIZATION_HASH, [salt, initialization_hash, deployer])
12
12
  * partial_address = poseidon2(DOM_SEP__PARTIAL_ADDRESS, [contract_class_id, salted_initialization_hash])
13
13
  * address = ((poseidon2(DOM_SEP__CONTRACT_ADDRESS_V1, [public_keys_hash, partial_address]) * G) + ivpk_m).x <- the x-coordinate of the address point
14
14
  * ```
@@ -35,7 +35,7 @@ import { computeAddress } from '../keys/index.js';
35
35
  instance.salt,
36
36
  instance.initializationHash,
37
37
  instance.deployer
38
- ], DomainSeparator.PARTIAL_ADDRESS);
38
+ ], DomainSeparator.SALTED_INITIALIZATION_HASH);
39
39
  }
40
40
  /**
41
41
  * Computes the initialization hash for an instance given its constructor function and arguments.
@@ -7,4 +7,4 @@ export declare function computePrivateFunctionsTree(fns: PrivateFunction[]): Pro
7
7
  export declare function computePrivateFunctionsRoot(fns: PrivateFunction[]): Promise<Fr>;
8
8
  /** Returns the leaf for a given private function. */
9
9
  export declare function computePrivateFunctionLeaf(fn: PrivateFunction): Promise<Buffer>;
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9mdW5jdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L3ByaXZhdGVfZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBd0IsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQU90RSw0RUFBNEU7QUFDNUUsd0JBQXNCLDJCQUEyQixDQUFDLEdBQUcsRUFBRSxlQUFlLEVBQUUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBSTdGO0FBRUQsbUZBQW1GO0FBQ25GLHdCQUFzQiwyQkFBMkIsQ0FBQyxHQUFHLEVBQUUsZUFBZSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUlyRjtBQU9ELHFEQUFxRDtBQUNyRCx3QkFBc0IsMEJBQTBCLENBQUMsRUFBRSxFQUFFLGVBQWUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXJGIn0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9mdW5jdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L3ByaXZhdGVfZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBd0IsTUFBTSx5QkFBeUIsQ0FBQztBQUdoRixPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQU90RSw0RUFBNEU7QUFDNUUsd0JBQXNCLDJCQUEyQixDQUFDLEdBQUcsRUFBRSxlQUFlLEVBQUUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBSTdGO0FBRUQsbUZBQW1GO0FBQ25GLHdCQUFzQiwyQkFBMkIsQ0FBQyxHQUFHLEVBQUUsZUFBZSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUlyRjtBQU9ELHFEQUFxRDtBQUNyRCx3QkFBc0IsMEJBQTBCLENBQUMsRUFBRSxFQUFFLGVBQWUsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXJGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"private_function.d.ts","sourceRoot":"","sources":["../../src/contract/private_function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,yBAAyB,CAAC;AAEhF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAOtE,4EAA4E;AAC5E,wBAAsB,2BAA2B,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAI7F;AAED,mFAAmF;AACnF,wBAAsB,2BAA2B,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAIrF;AAOD,qDAAqD;AACrD,wBAAsB,0BAA0B,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAErF"}
1
+ {"version":3,"file":"private_function.d.ts","sourceRoot":"","sources":["../../src/contract/private_function.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,UAAU,EAAwB,MAAM,yBAAyB,CAAC;AAGhF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAOtE,4EAA4E;AAC5E,wBAAsB,2BAA2B,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAI7F;AAED,mFAAmF;AACnF,wBAAsB,2BAA2B,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAIrF;AAOD,qDAAqD;AACrD,wBAAsB,0BAA0B,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAErF"}
@@ -2,6 +2,7 @@ import { DomainSeparator, FUNCTION_TREE_HEIGHT } from '@aztec/constants';
2
2
  import { poseidon2Hash, poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import { MerkleTreeCalculator } from '@aztec/foundation/trees';
5
+ import { computeMerkleHash } from '../hash/hash.js';
5
6
  // Memoize the merkle tree calculators to avoid re-computing the zero-hash for each level in each call
6
7
  let privateFunctionTreeCalculator;
7
8
  const PRIVATE_FUNCTION_SIZE = 2;
@@ -30,10 +31,7 @@ function computePrivateFunctionLeaves(fns) {
30
31
  async function getPrivateFunctionTreeCalculator() {
31
32
  if (!privateFunctionTreeCalculator) {
32
33
  const functionTreeZeroLeaf = (await poseidon2Hash(new Array(PRIVATE_FUNCTION_SIZE).fill(0))).toBuffer();
33
- privateFunctionTreeCalculator = await MerkleTreeCalculator.create(FUNCTION_TREE_HEIGHT, functionTreeZeroLeaf, async (left, right)=>(await poseidon2Hash([
34
- left,
35
- right
36
- ])).toBuffer());
34
+ privateFunctionTreeCalculator = await MerkleTreeCalculator.create(FUNCTION_TREE_HEIGHT, functionTreeZeroLeaf, async (left, right)=>(await computeMerkleHash(Fr.fromBuffer(left), Fr.fromBuffer(right))).toBuffer());
37
35
  }
38
36
  return privateFunctionTreeCalculator;
39
37
  }
@@ -49,4 +49,8 @@ export declare class GasFees {
49
49
  };
50
50
  [inspect.custom](): string;
51
51
  }
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzX2ZlZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYXMvZ2FzX2ZlZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFDTCxZQUFZLEVBQ1osV0FBVyxFQUlaLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQWE5QyxxQ0FBcUM7QUFDckMscUJBQWEsT0FBTztJQUNsQixTQUFnQixXQUFXLEVBQUUsT0FBTyxDQUFDO0lBQ3JDLFNBQWdCLFdBQVcsRUFBRSxPQUFPLENBQUM7SUFFckMsWUFBWSxXQUFXLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFHckU7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7O09BT2hCO0lBRUQsS0FBSyxJQUFJLE9BQU8sQ0FFZjtJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxXQUVwQjtJQUVELEdBQUcsQ0FBQyxTQUFTLEVBQUUsYUFBYSxVQU8zQjtJQUVELEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE1BQU0sV0FXMUI7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLFdBRXBDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FLeEM7SUFFRCxNQUFNLENBQUMsTUFBTSxZQUVaO0lBRUQsTUFBTSxDQUFDLEtBQUssWUFFWDtJQUVELE9BQU8sWUFFTjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsT0FBTyxDQUd4RDtJQUVELFFBQVEsNEJBRVA7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLFdBRzNDO0lBRUQsUUFBUSxTQUVQO0lBRUQsU0FBUzs7O01BS1I7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FFZjtDQUNGIn0=
52
+ /** Provides projected minimum gas fees for the next block. */
53
+ export interface BlockMinFeesProvider {
54
+ getCurrentMinFees(): Promise<GasFees>;
55
+ }
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FzX2ZlZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nYXMvZ2FzX2ZlZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFDTCxZQUFZLEVBQ1osV0FBVyxFQUlaLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXhCLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQWE5QyxxQ0FBcUM7QUFDckMscUJBQWEsT0FBTztJQUNsQixTQUFnQixXQUFXLEVBQUUsT0FBTyxDQUFDO0lBQ3JDLFNBQWdCLFdBQVcsRUFBRSxPQUFPLENBQUM7SUFFckMsWUFBWSxXQUFXLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFHckU7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7O09BT2hCO0lBRUQsS0FBSyxJQUFJLE9BQU8sQ0FFZjtJQUVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsT0FBTyxXQUVwQjtJQUVELEdBQUcsQ0FBQyxTQUFTLEVBQUUsYUFBYSxVQU8zQjtJQUVELEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE1BQU0sV0FXMUI7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLFdBRXBDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLE9BQU8sQ0FLeEM7SUFFRCxNQUFNLENBQUMsTUFBTSxZQUVaO0lBRUQsTUFBTSxDQUFDLEtBQUssWUFFWDtJQUVELE9BQU8sWUFFTjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsT0FBTyxDQUd4RDtJQUVELFFBQVEsNEJBRVA7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxXQUFXLFdBRzNDO0lBRUQsUUFBUSxTQUVQO0lBRUQsU0FBUzs7O01BS1I7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsV0FFZjtDQUNGO0FBRUQsOERBQThEO0FBQzlELE1BQU0sV0FBVyxvQkFBb0I7SUFDbkMsaUJBQWlCLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0NBQ3ZDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"gas_fees.d.ts","sourceRoot":"","sources":["../../src/gas/gas_fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,WAAW,EAIZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAa9C,qCAAqC;AACrC,qBAAa,OAAO;IAClB,SAAgB,WAAW,EAAE,OAAO,CAAC;IACrC,SAAgB,WAAW,EAAE,OAAO,CAAC;IAErC,YAAY,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAGrE;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;OAOhB;IAED,KAAK,IAAI,OAAO,CAEf;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,WAEpB;IAED,GAAG,CAAC,SAAS,EAAE,aAAa,UAO3B;IAED,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,WAW1B;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,WAEpC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAKxC;IAED,MAAM,CAAC,MAAM,YAEZ;IAED,MAAM,CAAC,KAAK,YAEX;IAED,OAAO,YAEN;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAGxD;IAED,QAAQ,4BAEP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,WAG3C;IAED,QAAQ,SAEP;IAED,SAAS;;;MAKR;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;CACF"}
1
+ {"version":3,"file":"gas_fees.d.ts","sourceRoot":"","sources":["../../src/gas/gas_fees.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,WAAW,EAIZ,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAa9C,qCAAqC;AACrC,qBAAa,OAAO;IAClB,SAAgB,WAAW,EAAE,OAAO,CAAC;IACrC,SAAgB,WAAW,EAAE,OAAO,CAAC;IAErC,YAAY,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAGrE;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;OAOhB;IAED,KAAK,IAAI,OAAO,CAEf;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,WAEpB;IAED,GAAG,CAAC,SAAS,EAAE,aAAa,UAO3B;IAED,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,WAW1B;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,WAEpC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAKxC;IAED,MAAM,CAAC,MAAM,YAEZ;IAED,MAAM,CAAC,KAAK,YAEX;IAED,OAAO,YAEN;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAGxD;IAED,QAAQ,4BAEP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,WAG3C;IAED,QAAQ,SAEP;IAED,SAAS;;;MAKR;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,WAEf;CACF;AAED,8DAA8D;AAC9D,MAAM,WAAW,oBAAoB;IACnC,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACvC"}
@@ -1,5 +1,5 @@
1
1
  import type { L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
2
- import { type ConfigMappingsType } from '@aztec/foundation/config';
2
+ import { type ConfigMappingsType, SecretValue } from '@aztec/foundation/config';
3
3
  import { EthAddress } from '@aztec/foundation/eth-address';
4
4
  import { z } from 'zod';
5
5
  /**
@@ -64,7 +64,7 @@ export interface ValidatorHASignerConfig extends BaseSignerConfig {
64
64
  * PostgreSQL connection string
65
65
  * Format: postgresql://user:password@host:port/database
66
66
  */
67
- databaseUrl?: string;
67
+ databaseUrl?: SecretValue<string>;
68
68
  /** Maximum number of clients in the pool (default: 10) */
69
69
  poolMaxCount?: number;
70
70
  /** Minimum number of clients in the pool (default: 0) */
@@ -97,7 +97,7 @@ export declare const ValidatorHASignerConfigSchema: z.ZodObject<{
97
97
  cleanupOldDutiesAfterHours: z.ZodOptional<z.ZodNumber>;
98
98
  } & {
99
99
  haSigningEnabled: z.ZodBoolean;
100
- databaseUrl: z.ZodOptional<z.ZodString>;
100
+ databaseUrl: z.ZodOptional<z.ZodType<SecretValue<string>, any, any>>;
101
101
  poolMaxCount: z.ZodOptional<z.ZodNumber>;
102
102
  poolMinCount: z.ZodOptional<z.ZodNumber>;
103
103
  poolIdleTimeoutMs: z.ZodOptional<z.ZodNumber>;
@@ -112,7 +112,7 @@ export declare const ValidatorHASignerConfigSchema: z.ZodObject<{
112
112
  maxStuckDutiesAgeMs?: number | undefined;
113
113
  cleanupOldDutiesAfterHours?: number | undefined;
114
114
  haSigningEnabled: boolean;
115
- databaseUrl?: string | undefined;
115
+ databaseUrl?: SecretValue<string> | undefined;
116
116
  poolMaxCount?: number | undefined;
117
117
  poolMinCount?: number | undefined;
118
118
  poolIdleTimeoutMs?: number | undefined;
@@ -127,10 +127,10 @@ export declare const ValidatorHASignerConfigSchema: z.ZodObject<{
127
127
  maxStuckDutiesAgeMs?: number | undefined;
128
128
  cleanupOldDutiesAfterHours?: number | undefined;
129
129
  haSigningEnabled: boolean;
130
- databaseUrl?: string | undefined;
130
+ databaseUrl?: any;
131
131
  poolMaxCount?: number | undefined;
132
132
  poolMinCount?: number | undefined;
133
133
  poolIdleTimeoutMs?: number | undefined;
134
134
  poolConnectionTimeoutMs?: number | undefined;
135
135
  }>;
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGEtc2lnbmluZy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFNeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHM0QsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4Qjs7R0FFRztBQUNILE1BQU0sV0FBVyxnQkFBZ0I7SUFDL0Isc0RBQXNEO0lBQ3RELFdBQVcsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDeEQsc0NBQXNDO0lBQ3RDLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixzRUFBc0U7SUFDdEUsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0lBQzFCLG9FQUFvRTtJQUNwRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7SUFDekIsa0dBQWtHO0lBQ2xHLG1CQUFtQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQzdCLGdGQUFnRjtJQUNoRiwwQkFBMEIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNyQztBQUVELGVBQU8sTUFBTSx3QkFBd0IsRUFBRSxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FtQ3pFLENBQUM7QUFFRixlQUFPLE1BQU0sc0JBQXNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBT0UsQ0FBQztBQUV0Qzs7OztHQUlHO0FBQ0gsTUFBTSxXQUFXLHVCQUF3QixTQUFRLGdCQUFnQjtJQUMvRCwwREFBMEQ7SUFDMUQsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDO0lBQzFCOzs7T0FHRztJQUNILFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNyQiwwREFBMEQ7SUFDMUQsWUFBWSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLHlEQUF5RDtJQUN6RCxZQUFZLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdEIsb0RBQW9EO0lBQ3BELGlCQUFpQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQzNCLGtFQUFrRTtJQUNsRSx1QkFBdUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNsQztBQUVELGVBQU8sTUFBTSwrQkFBK0IsRUFBRSxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FnQ3ZGLENBQUM7QUFFRixlQUFPLE1BQU0sOEJBQThCLEVBQUUsdUJBRTVDLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsd0JBQWdCLGdCQUFnQixJQUFJLHVCQUF1QixDQUUxRDtBQUVELGVBQU8sTUFBTSw2QkFBNkI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBT0UsQ0FBQyJ9
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGEtc2lnbmluZy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFDdkIsV0FBVyxFQU9aLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzNELE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEI7O0dBRUc7QUFDSCxNQUFNLFdBQVcsZ0JBQWdCO0lBQy9CLHNEQUFzRDtJQUN0RCxXQUFXLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3hELHNDQUFzQztJQUN0QyxNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2Ysc0VBQXNFO0lBQ3RFLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUMxQixvRUFBb0U7SUFDcEUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLGtHQUFrRztJQUNsRyxtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUM3QixnRkFBZ0Y7SUFDaEYsMEJBQTBCLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDckM7QUFFRCxlQUFPLE1BQU0sd0JBQXdCLEVBQUUsa0JBQWtCLENBQUMsZ0JBQWdCLENBbUN6RSxDQUFDO0FBRUYsZUFBTyxNQUFNLHNCQUFzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQU9FLENBQUM7QUFFdEM7Ozs7R0FJRztBQUNILE1BQU0sV0FBVyx1QkFBd0IsU0FBUSxnQkFBZ0I7SUFDL0QsMERBQTBEO0lBQzFELGdCQUFnQixFQUFFLE9BQU8sQ0FBQztJQUMxQjs7O09BR0c7SUFDSCxXQUFXLENBQUMsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsMERBQTBEO0lBQzFELFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN0Qix5REFBeUQ7SUFDekQsWUFBWSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLG9EQUFvRDtJQUNwRCxpQkFBaUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUMzQixrRUFBa0U7SUFDbEUsdUJBQXVCLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDbEM7QUFFRCxlQUFPLE1BQU0sK0JBQStCLEVBQUUsa0JBQWtCLENBQUMsdUJBQXVCLENBaUN2RixDQUFDO0FBRUYsZUFBTyxNQUFNLDhCQUE4QixFQUFFLHVCQUU1QyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILHdCQUFnQixnQkFBZ0IsSUFBSSx1QkFBdUIsQ0FFMUQ7QUFFRCxlQUFPLE1BQU0sNkJBQTZCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQU9FLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/ha-signing/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EACL,KAAK,kBAAkB,EAMxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;IACxD,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,gBAAgB,EAAE,MAAM,CAAC;IACzB,kGAAkG;IAClG,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gFAAgF;IAChF,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,eAAO,MAAM,wBAAwB,EAAE,kBAAkB,CAAC,gBAAgB,CAmCzE,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOE,CAAC;AAEtC;;;;GAIG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,0DAA0D;IAC1D,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kEAAkE;IAClE,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,eAAO,MAAM,+BAA+B,EAAE,kBAAkB,CAAC,uBAAuB,CAgCvF,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,uBAE5C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,uBAAuB,CAE1D;AAED,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOE,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/ha-signing/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EACL,KAAK,kBAAkB,EACvB,WAAW,EAOZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;IACxD,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,gBAAgB,EAAE,MAAM,CAAC;IACzB,kGAAkG;IAClG,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gFAAgF;IAChF,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,eAAO,MAAM,wBAAwB,EAAE,kBAAkB,CAAC,gBAAgB,CAmCzE,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOE,CAAC;AAEtC;;;;GAIG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAC/D,0DAA0D;IAC1D,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kEAAkE;IAClE,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,eAAO,MAAM,+BAA+B,EAAE,kBAAkB,CAAC,uBAAuB,CAiCvF,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,uBAE5C,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,uBAAuB,CAE1D;AAED,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { booleanConfigHelper, getConfigFromMappings, getDefaultConfig, numberConfigHelper, optionalNumberConfigHelper } from '@aztec/foundation/config';
1
+ import { SecretValue, booleanConfigHelper, getConfigFromMappings, getDefaultConfig, numberConfigHelper, optionalNumberConfigHelper, secretStringConfigHelper } from '@aztec/foundation/config';
2
2
  import { EthAddress } from '@aztec/foundation/eth-address';
3
3
  import { z } from 'zod';
4
4
  export const baseSignerConfigMappings = {
@@ -56,7 +56,8 @@ export const validatorHASignerConfigMappings = {
56
56
  },
57
57
  databaseUrl: {
58
58
  env: 'VALIDATOR_HA_DATABASE_URL',
59
- description: 'PostgreSQL connection string for validator HA signer (format: postgresql://user:password@host:port/database)'
59
+ description: 'PostgreSQL connection string for validator HA signer (format: postgresql://user:password@host:port/database)',
60
+ ...secretStringConfigHelper()
60
61
  },
61
62
  poolMaxCount: {
62
63
  env: 'VALIDATOR_HA_POOL_MAX',
@@ -89,7 +90,7 @@ export const defaultValidatorHASignerConfig = getDefaultConfig(validatorHASigner
89
90
  }
90
91
  export const ValidatorHASignerConfigSchema = BaseSignerConfigSchema.extend({
91
92
  haSigningEnabled: z.boolean(),
92
- databaseUrl: z.string().optional(),
93
+ databaseUrl: SecretValue.schema(z.string()).optional(),
93
94
  poolMaxCount: z.number().min(0).optional(),
94
95
  poolMinCount: z.number().min(0).optional(),
95
96
  poolIdleTimeoutMs: z.number().min(0).optional(),
@@ -60,4 +60,4 @@ export declare const LocalSignerConfigSchema: z.ZodObject<{
60
60
  * Returns the local signer configuration from environment variables.
61
61
  */
62
62
  export declare function getLocalSignerConfigEnvVars(): LocalSignerConfig;
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxfY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGEtc2lnbmluZy9sb2NhbF9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQXlCLE1BQU0sMEJBQTBCLENBQUM7QUFFMUYsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHdCQUF3QixDQUFDO0FBRWxGLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQW9ELE1BQU0sYUFBYSxDQUFDO0FBRXRHOzs7Ozs7R0FNRztBQUNILE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxnQkFBZ0IsR0FDOUMsZUFBZSxHQUFHO0lBQ2hCLGdIQUFnSDtJQUNoSCwwQkFBMEIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNyQyxDQUFDO0FBRUosZUFBTyxNQUFNLHlCQUF5QixFQUFFLGtCQUFrQixDQUFDLGlCQUFpQixDQVMzRSxDQUFDO0FBRUYsZUFBTyxNQUFNLHVCQUF1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFNbkMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsd0JBQWdCLDJCQUEyQixJQUFJLGlCQUFpQixDQUUvRCJ9
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxfY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGEtc2lnbmluZy9sb2NhbF9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQXFELE1BQU0sMEJBQTBCLENBQUM7QUFFdEgsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHdCQUF3QixDQUFDO0FBRWxGLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxFQUFFLEtBQUssZ0JBQWdCLEVBQW9ELE1BQU0sYUFBYSxDQUFDO0FBRXRHOzs7Ozs7R0FNRztBQUNILE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxnQkFBZ0IsR0FDOUMsZUFBZSxHQUFHO0lBQ2hCLGdIQUFnSDtJQUNoSCwwQkFBMEIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNyQyxDQUFDO0FBRUosZUFBTyxNQUFNLHlCQUF5QixFQUFFLGtCQUFrQixDQUFDLGlCQUFpQixDQVMzRSxDQUFDO0FBRUYsZUFBTyxNQUFNLHVCQUF1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFNbkMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsd0JBQWdCLDJCQUEyQixJQUFJLGlCQUFpQixDQUUvRCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"local_config.d.ts","sourceRoot":"","sources":["../../src/ha-signing/local_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAyB,MAAM,0BAA0B,CAAC;AAE1F,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAElF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,gBAAgB,EAAoD,MAAM,aAAa,CAAC;AAEtG;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAC9C,eAAe,GAAG;IAChB,gHAAgH;IAChH,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AAEJ,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CAS3E,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMnC,CAAC;AAEF;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,iBAAiB,CAE/D"}
1
+ {"version":3,"file":"local_config.d.ts","sourceRoot":"","sources":["../../src/ha-signing/local_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAqD,MAAM,0BAA0B,CAAC;AAEtH,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAElF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,KAAK,gBAAgB,EAAoD,MAAM,aAAa,CAAC;AAEtG;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAC9C,eAAe,GAAG;IAChB,gHAAgH;IAChH,0BAA0B,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AAEJ,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CAS3E,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMnC,CAAC;AAEF;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,iBAAiB,CAE/D"}
@@ -1,4 +1,4 @@
1
- import { getConfigFromMappings } from '@aztec/foundation/config';
1
+ import { getConfigFromMappings, optionalNumberConfigHelper } from '@aztec/foundation/config';
2
2
  import { zodFor } from '@aztec/foundation/schemas';
3
3
  import { dataConfigMappings } from '@aztec/stdlib/kv-store';
4
4
  import { z } from 'zod';
@@ -9,7 +9,7 @@ export const localSignerConfigMappings = {
9
9
  signingProtectionMapSizeKb: {
10
10
  env: 'SIGNING_PROTECTION_MAP_SIZE_KB',
11
11
  description: 'Maximum size of the local signing-protection LMDB store in KB. Overwrites the general dataStoreMapSizeKb.',
12
- parseEnv: (val)=>+val
12
+ ...optionalNumberConfigHelper()
13
13
  }
14
14
  };
15
15
  export const LocalSignerConfigSchema = zodFor()(BaseSignerConfigSchema.extend({