@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
@@ -2,6 +2,11 @@ export * from './allowed_element.js';
2
2
  export * from './api_limit.js';
3
3
  export * from './archiver.js';
4
4
  export * from './aztec-node.js';
5
+ export * from './block_response.js';
6
+ export * from './chain_tips.js';
7
+ export * from './checkpoint_parameter.js';
8
+ export * from './checkpoint_response.js';
9
+ export * from './l1_publish_info.js';
5
10
  export * from './block-builder.js';
6
11
  export * from './configs.js';
7
12
  export * from './epoch-prover.js';
@@ -23,4 +28,4 @@ export * from './slasher.js';
23
28
  export * from './tx_provider.js';
24
29
  export * from './validator.js';
25
30
  export * from './world_state.js';
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGtCQUFrQixDQUFDIn0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy9zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/interfaces/server.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/interfaces/server.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC"}
@@ -2,6 +2,11 @@ export * from './allowed_element.js';
2
2
  export * from './api_limit.js';
3
3
  export * from './archiver.js';
4
4
  export * from './aztec-node.js';
5
+ export * from './block_response.js';
6
+ export * from './chain_tips.js';
7
+ export * from './checkpoint_parameter.js';
8
+ export * from './checkpoint_response.js';
9
+ export * from './l1_publish_info.js';
5
10
  export * from './block-builder.js';
6
11
  export * from './configs.js';
7
12
  export * from './epoch-prover.js';
@@ -10,11 +10,14 @@ import type { BlockHeader, Tx } from '@aztec/stdlib/tx';
10
10
  import type { PeerId } from '@libp2p/interface';
11
11
  import { z } from 'zod';
12
12
  import type { CommitteeAttestationsAndSigners } from '../block/index.js';
13
+ import type { ChainConfig } from '../config/chain-config.js';
13
14
  import { type LocalSignerConfig, type ValidatorHASignerConfig } from '../ha-signing/index.js';
14
15
  /**
15
16
  * Validator client configuration
16
17
  */
17
18
  export type ValidatorClientConfig = ValidatorHASignerConfig & LocalSignerConfig & {
19
+ /** The L1 chain id used for EIP-712 proposal-path signing. */
20
+ l1ChainId: ChainConfig['l1ChainId'];
18
21
  /** The private keys of the validators participating in attestation duties */
19
22
  validatorPrivateKeys?: SecretValue<`0x${string}`[]>;
20
23
  /** The addresses of the validators to use with remote signers */
@@ -44,7 +47,7 @@ export type ValidatorClientConfig = ValidatorHASignerConfig & LocalSignerConfig
44
47
  /** Maximum transactions per checkpoint for validation. Proposals exceeding this limit are rejected. */
45
48
  validateMaxTxsPerCheckpoint?: number;
46
49
  };
47
- export type ValidatorClientFullConfig = ValidatorClientConfig & Pick<SequencerConfig, 'txPublicSetupAllowListExtend' | 'broadcastInvalidBlockProposal'> & Pick<SlasherConfig, 'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty' | 'slashDuplicateAttestationPenalty'> & {
50
+ export type ValidatorClientFullConfig = ValidatorClientConfig & Pick<SequencerConfig, 'txPublicSetupAllowListExtend' | 'broadcastInvalidBlockProposal' | 'maxBlocksPerCheckpoint'> & Pick<SlasherConfig, 'slashBroadcastedInvalidBlockPenalty' | 'slashDuplicateProposalPenalty' | 'slashDuplicateAttestationPenalty'> & {
48
51
  /**
49
52
  * Whether transactions are disabled for this node
50
53
  * @remarks This should match the property in P2PConfig. It's not picked from there to avoid circular dependencies.
@@ -53,7 +56,7 @@ export type ValidatorClientFullConfig = ValidatorClientConfig & Pick<SequencerCo
53
56
  };
54
57
  export declare const ValidatorClientConfigSchema: z.ZodObject<{
55
58
  haSigningEnabled: z.ZodBoolean;
56
- databaseUrl: z.ZodOptional<z.ZodString>;
59
+ databaseUrl: z.ZodOptional<z.ZodType<SecretValue<string>, any, any>>;
57
60
  poolMaxCount: z.ZodOptional<z.ZodNumber>;
58
61
  poolMinCount: z.ZodOptional<z.ZodNumber>;
59
62
  poolIdleTimeoutMs: z.ZodOptional<z.ZodNumber>;
@@ -75,6 +78,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
75
78
  dataStoreMapSizeKb: z.ZodNumber;
76
79
  signingProtectionMapSizeKb: z.ZodOptional<z.ZodNumber>;
77
80
  } & {
81
+ l1ChainId: z.ZodNumber;
78
82
  validatorAddresses: z.ZodOptional<z.ZodArray<z.ZodType<EthAddress, any, string>, "many">>;
79
83
  disableValidator: z.ZodBoolean;
80
84
  disabledValidators: z.ZodArray<z.ZodType<EthAddress, any, string>, "many">;
@@ -98,7 +102,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
98
102
  maxStuckDutiesAgeMs?: number | undefined;
99
103
  cleanupOldDutiesAfterHours?: number | undefined;
100
104
  haSigningEnabled: boolean;
101
- databaseUrl?: string | undefined;
105
+ databaseUrl?: SecretValue<string> | undefined;
102
106
  poolMaxCount?: number | undefined;
103
107
  poolMinCount?: number | undefined;
104
108
  poolIdleTimeoutMs?: number | undefined;
@@ -106,6 +110,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
106
110
  dataDirectory?: string | undefined;
107
111
  dataStoreMapSizeKb: number;
108
112
  signingProtectionMapSizeKb?: number | undefined;
113
+ l1ChainId: number;
109
114
  validatorAddresses?: EthAddress[] | undefined;
110
115
  disableValidator: boolean;
111
116
  disabledValidators: EthAddress[];
@@ -129,7 +134,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
129
134
  maxStuckDutiesAgeMs?: number | undefined;
130
135
  cleanupOldDutiesAfterHours?: number | undefined;
131
136
  haSigningEnabled: boolean;
132
- databaseUrl?: string | undefined;
137
+ databaseUrl?: any;
133
138
  poolMaxCount?: number | undefined;
134
139
  poolMinCount?: number | undefined;
135
140
  poolIdleTimeoutMs?: number | undefined;
@@ -137,6 +142,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
137
142
  dataDirectory?: string | undefined;
138
143
  dataStoreMapSizeKb: number;
139
144
  signingProtectionMapSizeKb?: number | undefined;
145
+ l1ChainId: number;
140
146
  validatorAddresses?: string[] | undefined;
141
147
  disableValidator: boolean;
142
148
  disabledValidators: string[];
@@ -153,7 +159,7 @@ export declare const ValidatorClientConfigSchema: z.ZodObject<{
153
159
  }>;
154
160
  export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
155
161
  haSigningEnabled: z.ZodBoolean;
156
- databaseUrl: z.ZodOptional<z.ZodString>;
162
+ databaseUrl: z.ZodOptional<z.ZodType<SecretValue<string>, any, any>>;
157
163
  poolMaxCount: z.ZodOptional<z.ZodNumber>;
158
164
  poolMinCount: z.ZodOptional<z.ZodNumber>;
159
165
  poolIdleTimeoutMs: z.ZodOptional<z.ZodNumber>;
@@ -175,6 +181,7 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
175
181
  dataStoreMapSizeKb: z.ZodNumber;
176
182
  signingProtectionMapSizeKb: z.ZodOptional<z.ZodNumber>;
177
183
  } & {
184
+ l1ChainId: z.ZodNumber;
178
185
  validatorAddresses: z.ZodOptional<z.ZodArray<z.ZodType<EthAddress, any, string>, "many">>;
179
186
  disableValidator: z.ZodBoolean;
180
187
  disabledValidators: z.ZodArray<z.ZodType<EthAddress, any, string>, "many">;
@@ -227,6 +234,7 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
227
234
  calldataLength?: number | undefined;
228
235
  }>]>, "many">>;
229
236
  broadcastInvalidBlockProposal: z.ZodOptional<z.ZodBoolean>;
237
+ maxBlocksPerCheckpoint: z.ZodOptional<z.ZodNumber>;
230
238
  slashBroadcastedInvalidBlockPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
231
239
  slashDuplicateProposalPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
232
240
  slashDuplicateAttestationPenalty: z.ZodPipeline<z.ZodUnion<[z.ZodBigInt, z.ZodNumber, z.ZodString]>, z.ZodBigInt>;
@@ -241,7 +249,7 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
241
249
  maxStuckDutiesAgeMs?: number | undefined;
242
250
  cleanupOldDutiesAfterHours?: number | undefined;
243
251
  haSigningEnabled: boolean;
244
- databaseUrl?: string | undefined;
252
+ databaseUrl?: SecretValue<string> | undefined;
245
253
  poolMaxCount?: number | undefined;
246
254
  poolMinCount?: number | undefined;
247
255
  poolIdleTimeoutMs?: number | undefined;
@@ -249,6 +257,7 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
249
257
  dataDirectory?: string | undefined;
250
258
  dataStoreMapSizeKb: number;
251
259
  signingProtectionMapSizeKb?: number | undefined;
260
+ l1ChainId: number;
252
261
  validatorAddresses?: EthAddress[] | undefined;
253
262
  disableValidator: boolean;
254
263
  disabledValidators: EthAddress[];
@@ -276,6 +285,7 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
276
285
  calldataLength?: number | undefined;
277
286
  })[] | undefined;
278
287
  broadcastInvalidBlockProposal?: boolean | undefined;
288
+ maxBlocksPerCheckpoint?: number | undefined;
279
289
  slashBroadcastedInvalidBlockPenalty: bigint;
280
290
  slashDuplicateProposalPenalty: bigint;
281
291
  slashDuplicateAttestationPenalty: bigint;
@@ -290,7 +300,7 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
290
300
  maxStuckDutiesAgeMs?: number | undefined;
291
301
  cleanupOldDutiesAfterHours?: number | undefined;
292
302
  haSigningEnabled: boolean;
293
- databaseUrl?: string | undefined;
303
+ databaseUrl?: any;
294
304
  poolMaxCount?: number | undefined;
295
305
  poolMinCount?: number | undefined;
296
306
  poolIdleTimeoutMs?: number | undefined;
@@ -298,6 +308,7 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
298
308
  dataDirectory?: string | undefined;
299
309
  dataStoreMapSizeKb: number;
300
310
  signingProtectionMapSizeKb?: number | undefined;
311
+ l1ChainId: number;
301
312
  validatorAddresses?: string[] | undefined;
302
313
  disableValidator: boolean;
303
314
  disabledValidators: string[];
@@ -325,6 +336,7 @@ export declare const ValidatorClientFullConfigSchema: z.ZodObject<{
325
336
  calldataLength?: number | undefined;
326
337
  })[] | undefined;
327
338
  broadcastInvalidBlockProposal?: boolean | undefined;
339
+ maxBlocksPerCheckpoint?: number | undefined;
328
340
  slashBroadcastedInvalidBlockPenalty: string | number | bigint;
329
341
  slashDuplicateProposalPenalty: string | number | bigint;
330
342
  slashDuplicateAttestationPenalty: string | number | bigint;
@@ -354,4 +366,4 @@ export interface Validator {
354
366
  collectAttestations(proposal: CheckpointProposal, required: number, deadline: Date, checkpointNumber: CheckpointNumber): Promise<CheckpointAttestation[]>;
355
367
  signAttestationsAndSigners(attestationsAndSigners: CommitteeAttestationsAndSigners, proposer: EthAddress, slot: SlotNumber, checkpointNumber: CheckpointNumber): Promise<Signature>;
356
368
  }
357
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEYsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWpFLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RixPQUFPLEtBQUssRUFDVixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQzFCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxLQUFLLGlCQUFpQixFQUV0QixLQUFLLHVCQUF1QixFQUU3QixNQUFNLHdCQUF3QixDQUFDO0FBR2hDOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHFCQUFxQixHQUFHLHVCQUF1QixHQUN6RCxpQkFB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
369
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJmYWNlcy92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEYsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWpFLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RixPQUFPLEtBQUssRUFDVixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIseUJBQXlCLEVBQzFCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUV4QixPQUFPLEtBQUssRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFDTCxLQUFLLGlCQUFpQixFQUV0QixLQUFLLHVCQUF1QixFQUU3QixNQUFNLHdCQUF3QixDQUFDO0FBR2hDOztH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
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/interfaces/validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/interfaces/validator.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { z } from 'zod';
3
3
  import { LocalSignerConfigSchema, ValidatorHASignerConfigSchema } from '../ha-signing/index.js';
4
4
  import { AllowedElementSchema } from './allowed_element.js';
5
5
  export const ValidatorClientConfigSchema = zodFor()(ValidatorHASignerConfigSchema.merge(LocalSignerConfigSchema).extend({
6
+ l1ChainId: z.number().int().nonnegative(),
6
7
  validatorAddresses: z.array(schemas.EthAddress).optional(),
7
8
  disableValidator: z.boolean(),
8
9
  disabledValidators: z.array(schemas.EthAddress),
@@ -20,6 +21,7 @@ export const ValidatorClientConfigSchema = zodFor()(ValidatorHASignerConfigSchem
20
21
  export const ValidatorClientFullConfigSchema = zodFor()(ValidatorClientConfigSchema.extend({
21
22
  txPublicSetupAllowListExtend: z.array(AllowedElementSchema).optional(),
22
23
  broadcastInvalidBlockProposal: z.boolean().optional(),
24
+ maxBlocksPerCheckpoint: z.number().positive().optional(),
23
25
  slashBroadcastedInvalidBlockPenalty: schemas.BigInt,
24
26
  slashDuplicateProposalPenalty: schemas.BigInt,
25
27
  slashDuplicateAttestationPenalty: schemas.BigInt,
@@ -1,9 +1,10 @@
1
1
  import { BlockNumber, type CheckpointNumber, IndexWithinCheckpoint, SlotNumber } from '@aztec/foundation/branded-types';
2
- import { type BaseBuffer32, Buffer32 } from '@aztec/foundation/buffer';
2
+ import type { BaseBuffer32 } from '@aztec/foundation/buffer';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import type { EthAddress } from '@aztec/foundation/eth-address';
5
5
  import { Signature } from '@aztec/foundation/eth-signature';
6
6
  import { BufferReader } from '@aztec/foundation/serialize';
7
+ import type { TypedDataDefinition } from 'viem';
7
8
  import type { L2Block } from '../block/l2_block.js';
8
9
  import type { L2BlockInfo } from '../block/l2_block_info.js';
9
10
  import { type SigningContext } from '../ha-signing/index.js';
@@ -11,7 +12,7 @@ import { BlockHeader } from '../tx/block_header.js';
11
12
  import { TxHash } from '../tx/index.js';
12
13
  import type { Tx } from '../tx/tx.js';
13
14
  import { Gossipable } from './gossipable.js';
14
- import { SignatureDomainSeparator } from './signature_utils.js';
15
+ import { type CoordinationSignatureContext, type CoordinationSignatureType, type Signable } from './signature_utils.js';
15
16
  import { SignedTxs } from './signed_txs.js';
16
17
  import { TopicType } from './topic_type.js';
17
18
  export type { BlockProposalHash } from '@aztec/foundation/branded-types';
@@ -32,7 +33,7 @@ export type BlockProposalOptions = {
32
33
  * to be included in a block within a checkpoint. This is used for non-last blocks in a slot.
33
34
  * The last block is sent as part of a CheckpointProposal.
34
35
  */
35
- export declare class BlockProposal extends Gossipable {
36
+ export declare class BlockProposal extends Gossipable implements Signable {
36
37
  /** The per-block header containing block state and global variables */
37
38
  readonly blockHeader: BlockHeader;
38
39
  /** Index of this block within the checkpoint (0-indexed) */
@@ -45,10 +46,13 @@ export declare class BlockProposal extends Gossipable {
45
46
  readonly txHashes: TxHash[];
46
47
  /** The proposer's signature over the block data */
47
48
  readonly signature: Signature;
49
+ /** The signing domain (chainId + rollupAddress) the signature is bound to */
50
+ readonly signatureContext: CoordinationSignatureContext;
48
51
  /** The signed transactions in the block (optional, for DA guarantees) */
49
52
  readonly signedTxs?: SignedTxs | undefined;
50
53
  static p2pTopic: TopicType;
51
- private sender;
54
+ readonly primaryType: CoordinationSignatureType;
55
+ private cachedSender;
52
56
  constructor(
53
57
  /** The per-block header containing block state and global variables */
54
58
  blockHeader: BlockHeader,
@@ -62,6 +66,8 @@ export declare class BlockProposal extends Gossipable {
62
66
  txHashes: TxHash[],
63
67
  /** The proposer's signature over the block data */
64
68
  signature: Signature,
69
+ /** The signing domain (chainId + rollupAddress) the signature is bound to */
70
+ signatureContext: CoordinationSignatureContext,
65
71
  /** The signed transactions in the block (optional, for DA guarantees) */
66
72
  signedTxs?: SignedTxs | undefined);
67
73
  generateP2PMessageIdentifier(): Promise<BaseBuffer32>;
@@ -75,12 +81,14 @@ export declare class BlockProposal extends Gossipable {
75
81
  * Get the payload to sign for this block proposal.
76
82
  * The signature is over: blockHeader + indexWithinCheckpoint + inHash + archiveRoot + txHashes
77
83
  */
78
- getPayloadToSign(domainSeparator: SignatureDomainSeparator): Buffer;
79
- static createProposalFromSigner(blockHeader: BlockHeader, checkpointNumber: CheckpointNumber, indexWithinCheckpoint: IndexWithinCheckpoint, inHash: Fr, archiveRoot: Fr, txHashes: TxHash[], txs: Tx[] | undefined, payloadSigner: (payload: Buffer32, context: SigningContext) => Promise<Signature>): Promise<BlockProposal>;
84
+ getPayloadToSign(): Buffer;
85
+ static createProposalFromSigner(blockHeader: BlockHeader, checkpointNumber: CheckpointNumber, indexWithinCheckpoint: IndexWithinCheckpoint, inHash: Fr, archiveRoot: Fr, txHashes: TxHash[], txs: Tx[] | undefined, signatureContext: CoordinationSignatureContext, proposalSigner: (typedData: TypedDataDefinition, context: SigningContext) => Promise<Signature>, txsSigner?: (typedData: TypedDataDefinition, context: SigningContext) => Promise<Signature>): Promise<BlockProposal>;
80
86
  /**
81
87
  * Lazily evaluate the sender of the proposal; result is cached.
82
- * If there's signedTxs, also verifies the signedTxs sender matches the block proposal sender.
83
- * @returns The sender address, or undefined if signature recovery fails or senders don't match
88
+ * If there's signedTxs, also verifies that its signing domain matches this proposal's and
89
+ * that the signedTxs sender matches the block proposal sender. This prevents a proposer
90
+ * from wrapping a foreign-chain SignedTxs bundle inside a local-chain proposal.
91
+ * @returns The sender address, or undefined if signature recovery fails or inner/outer mismatch
84
92
  */
85
93
  getSender(): EthAddress | undefined;
86
94
  getPayload(): Buffer<ArrayBufferLike>;
@@ -118,6 +126,8 @@ export declare class BlockProposal extends Gossipable {
118
126
  archiveRoot: `0x${string}`;
119
127
  signature: `0x${string}`;
120
128
  txHashes: `0x${string}`[];
129
+ chainId: number;
130
+ rollupAddress: `0x${string}`;
121
131
  };
122
132
  /**
123
133
  * Check if this proposal matches the given block.
@@ -132,4 +142,4 @@ export declare class BlockProposal extends Gossipable {
132
142
  */
133
143
  withoutSignedTxs(): BlockProposal;
134
144
  }
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfcHJvcG9zYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYmxvY2tfcHJvcG9zYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFFWCxLQUFLLGdCQUFnQixFQUNyQixxQkFBcUIsRUFDckIsVUFBVSxFQUNYLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3ZFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RCxPQUFPLEVBQVksS0FBSyxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUNMLHdCQUF3QixFQUd6QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFNUMsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFekUsTUFBTSxNQUFNLG9CQUFvQixHQUFHO0lBQ2pDOzs7T0FHRztJQUNILGNBQWMsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN6Qjs7O09BR0c7SUFDSCw2QkFBNkIsQ0FBQyxFQUFFLE9BQU8sQ0FBQztDQUN6QyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILHFCQUFhLGFBQWMsU0FBUSxVQUFVO0lBTXpDLHVFQUF1RTthQUN2RCxXQUFXLEVBQUUsV0FBVztJQUV4Qyw0REFBNEQ7YUFDNUMscUJBQXFCLEVBQUUscUJBQXFCO0lBRTVELCtGQUErRjthQUMvRSxNQUFNLEVBQUUsRUFBRTtJQUUxQiwrQ0FBK0M7YUFDL0IsV0FBVyxFQUFFLEVBQUU7SUFFL0IsZ0RBQWdEO2FBQ2hDLFFBQVEsRUFBRSxNQUFNLEVBQUU7SUFFbEMsbURBQW1EO2FBQ25DLFNBQVMsRUFBRSxTQUFTO0lBRXBDLHlFQUF5RTthQUN6RCxTQUFTLENBQUM7SUF4QjVCLE9BQWdCLFFBQVEsWUFBNEI7SUFFcEQsT0FBTyxDQUFDLE1BQU0sQ0FBeUI7SUFFdkM7SUFDRSx1RUFBdUU7SUFDdkQsV0FBVyxFQUFFLFdBQVc7SUFFeEMsNERBQTREO0lBQzVDLHFCQUFxQixFQUFFLHFCQUFxQjtJQUU1RCwrRkFBK0Y7SUFDL0UsTUFBTSxFQUFFLEVBQUU7SUFFMUIsK0NBQStDO0lBQy9CLFdBQVcsRUFBRSxFQUFFO0lBRS9CLGdEQUFnRDtJQUNoQyxRQUFRLEVBQUUsTUFBTSxFQUFFO0lBRWxDLG1EQUFtRDtJQUNuQyxTQUFTLEVBQUUsU0FBUztJQUVwQyx5RUFBeUU7SUFDekQsU0FBUyxDQUFDLHVCQUFXLEVBR3RDO0lBRVEsNEJBQTRCLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUU3RDtJQUVELElBQUksT0FBTyxJQUFJLEVBQUUsQ0FFaEI7SUFFRCxJQUFJLFVBQVUsSUFBSSxVQUFVLENBRTNCO0lBRUQsSUFBSSxXQUFXLElBQUksV0FBVyxDQUU3QjtJQUVELGdEQUFnRDtJQUNoRCxJQUFJLEdBQUcsSUFBSSxFQUFFLEVBQUUsR0FBRyxTQUFTLENBRTFCO0lBRUQsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLENBUTlDO0lBRUQ7OztPQUdHO0lBQ0gsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLHdCQUF3QixHQUFHLE1BQU0sQ0FVbEU7SUFFRCxPQUFhLHdCQUF3QixDQUNuQyxXQUFXLEVBQUUsV0FBVyxFQUN4QixnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMscUJBQXFCLEVBQUUscUJBQXFCLEVBQzVDLE1BQU0sRUFBRSxFQUFFLEVBQ1YsV0FBVyxFQUFFLEVBQUUsRUFDZixRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQ2xCLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxTQUFTLEVBQ3JCLGFBQWEsRUFBRSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLGNBQWMsS0FBSyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQ2hGLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FnQ3hCO0lBRUQ7Ozs7T0FJRztJQUNILFNBQVMsSUFBSSxVQUFVLEdBQUcsU0FBUyxDQWtCbEM7SUFFRCxVQUFVLDRCQUVUO0lBRUQsUUFBUSxJQUFJLE1BQU0sQ0FpQmpCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxhQUFhLENBK0IzRDtJQUVELE9BQU8sSUFBSSxNQUFNLENBWWhCO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxhQUFhLENBRTVCO0lBRUQsTUFBTSxDQUFDLE1BQU0sSUFBSSxhQUFhLENBUzdCO0lBRUQsU0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TUFTUjtJQUVEOzs7OztPQUtHO0lBQ0gsWUFBWSxDQUFDLEtBQUssRUFBRSxPQUFPLEdBQUcsT0FBTyxDQUVwQztJQUVEOzs7T0FHRztJQUNILGdCQUFnQixJQUFJLGFBQWEsQ0FTaEM7Q0FDRiJ9
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfcHJvcG9zYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYmxvY2tfcHJvcG9zYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFdBQVcsRUFFWCxLQUFLLGdCQUFnQixFQUNyQixxQkFBcUIsRUFDckIsVUFBVSxFQUNYLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBWSxLQUFLLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsS0FBSyw0QkFBNEIsRUFDakMsS0FBSyx5QkFBeUIsRUFFOUIsS0FBSyxRQUFRLEVBTWQsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVB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
@@ -1 +1 @@
1
- {"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { BlockProposalHash, IndexWithinCheckpoint } from '@aztec/foundation/branded-types';
2
2
  import { keccak256 } from '@aztec/foundation/crypto/keccak';
3
- import { tryRecoverAddress } from '@aztec/foundation/crypto/secp256k1-signer';
4
3
  import { Fr } from '@aztec/foundation/curves/bn254';
5
4
  import { Signature } from '@aztec/foundation/eth-signature';
6
5
  import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
@@ -9,7 +8,7 @@ import { DutyType } from '../ha-signing/index.js';
9
8
  import { BlockHeader } from '../tx/block_header.js';
10
9
  import { TxHash } from '../tx/index.js';
11
10
  import { Gossipable } from './gossipable.js';
12
- import { SignatureDomainSeparator, getHashedSignaturePayload, getHashedSignaturePayloadEthSignedMessage } from './signature_utils.js';
11
+ import { EMPTY_COORDINATION_SIGNATURE_CONTEXT, coordinationSignatureContextEquals, getCoordinationSignatureTypedData, readCoordinationSignatureContext, recoverCoordinationSigner, serializeCoordinationSignatureContext } from './signature_utils.js';
13
12
  import { SignedTxs } from './signed_txs.js';
14
13
  import { TopicType } from './topic_type.js';
15
14
  /**
@@ -23,11 +22,13 @@ import { TopicType } from './topic_type.js';
23
22
  archiveRoot;
24
23
  txHashes;
25
24
  signature;
25
+ signatureContext;
26
26
  signedTxs;
27
27
  static p2pTopic = TopicType.block_proposal;
28
- sender;
29
- constructor(/** The per-block header containing block state and global variables */ blockHeader, /** Index of this block within the checkpoint (0-indexed) */ indexWithinCheckpoint, /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */ inHash, /** Archive root after this block is applied */ archiveRoot, /** The sequence of transactions in the block */ txHashes, /** The proposer's signature over the block data */ signature, /** The signed transactions in the block (optional, for DA guarantees) */ signedTxs){
30
- super(), this.blockHeader = blockHeader, this.indexWithinCheckpoint = indexWithinCheckpoint, this.inHash = inHash, this.archiveRoot = archiveRoot, this.txHashes = txHashes, this.signature = signature, this.signedTxs = signedTxs;
28
+ primaryType;
29
+ cachedSender;
30
+ constructor(/** The per-block header containing block state and global variables */ blockHeader, /** Index of this block within the checkpoint (0-indexed) */ indexWithinCheckpoint, /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */ inHash, /** Archive root after this block is applied */ archiveRoot, /** The sequence of transactions in the block */ txHashes, /** The proposer's signature over the block data */ signature, /** The signing domain (chainId + rollupAddress) the signature is bound to */ signatureContext, /** The signed transactions in the block (optional, for DA guarantees) */ signedTxs){
31
+ super(), this.blockHeader = blockHeader, this.indexWithinCheckpoint = indexWithinCheckpoint, this.inHash = inHash, this.archiveRoot = archiveRoot, this.txHashes = txHashes, this.signature = signature, this.signatureContext = signatureContext, this.signedTxs = signedTxs, this.primaryType = 'BlockProposal', this.cachedSender = undefined;
31
32
  }
32
33
  generateP2PMessageIdentifier() {
33
34
  return Promise.resolve(BlockProposalHash.fromBuffer(keccak256(this.signature.toBuffer())));
@@ -56,9 +57,8 @@ import { TopicType } from './topic_type.js';
56
57
  /**
57
58
  * Get the payload to sign for this block proposal.
58
59
  * The signature is over: blockHeader + indexWithinCheckpoint + inHash + archiveRoot + txHashes
59
- */ getPayloadToSign(domainSeparator) {
60
+ */ getPayloadToSign() {
60
61
  return serializeToBuffer([
61
- domainSeparator,
62
62
  this.blockHeader,
63
63
  this.indexWithinCheckpoint,
64
64
  this.inHash,
@@ -67,9 +67,9 @@ import { TopicType } from './topic_type.js';
67
67
  this.txHashes
68
68
  ]);
69
69
  }
70
- static async createProposalFromSigner(blockHeader, checkpointNumber, indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, payloadSigner) {
70
+ static async createProposalFromSigner(blockHeader, checkpointNumber, indexWithinCheckpoint, inHash, archiveRoot, txHashes, txs, signatureContext, proposalSigner, txsSigner) {
71
71
  // Create a temporary proposal to get the payload to sign
72
- const tempProposal = new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, Signature.empty());
72
+ const tempProposal = new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, Signature.empty(), signatureContext);
73
73
  // Create the block signing context
74
74
  const blockContext = {
75
75
  slot: blockHeader.globalVariables.slotNumber,
@@ -78,41 +78,47 @@ import { TopicType } from './topic_type.js';
78
78
  blockIndexWithinCheckpoint: indexWithinCheckpoint,
79
79
  dutyType: DutyType.BLOCK_PROPOSAL
80
80
  };
81
- const hashed = getHashedSignaturePayload(tempProposal, SignatureDomainSeparator.blockProposal);
82
- const sig = await payloadSigner(hashed, blockContext);
81
+ const typedData = getCoordinationSignatureTypedData(tempProposal);
82
+ const sig = await proposalSigner(typedData, blockContext);
83
83
  // If txs are provided, sign them as well
84
84
  let signedTxs;
85
85
  if (txs) {
86
86
  const txsSigningContext = {
87
87
  dutyType: DutyType.TXS
88
88
  };
89
- const txsSigner = (payload)=>payloadSigner(payload, txsSigningContext);
90
- signedTxs = await SignedTxs.createFromSigner(txs, txsSigner);
89
+ if (!txsSigner) {
90
+ throw new Error('signed_txs requires a typed-data signer');
91
+ }
92
+ signedTxs = await SignedTxs.createFromSigner(txs, signatureContext, (typedData)=>txsSigner(typedData, txsSigningContext));
91
93
  }
92
- return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, sig, signedTxs);
94
+ return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, sig, signatureContext, signedTxs);
93
95
  }
94
96
  /**
95
97
  * Lazily evaluate the sender of the proposal; result is cached.
96
- * If there's signedTxs, also verifies the signedTxs sender matches the block proposal sender.
97
- * @returns The sender address, or undefined if signature recovery fails or senders don't match
98
+ * If there's signedTxs, also verifies that its signing domain matches this proposal's and
99
+ * that the signedTxs sender matches the block proposal sender. This prevents a proposer
100
+ * from wrapping a foreign-chain SignedTxs bundle inside a local-chain proposal.
101
+ * @returns The sender address, or undefined if signature recovery fails or inner/outer mismatch
98
102
  */ getSender() {
99
- if (!this.sender) {
100
- const hashed = getHashedSignaturePayloadEthSignedMessage(this, SignatureDomainSeparator.blockProposal);
101
- const blockSender = tryRecoverAddress(hashed, this.signature);
102
- // If there's signedTxs, verify the sender matches
103
+ if (this.cachedSender === undefined) {
104
+ const blockSender = recoverCoordinationSigner(this, this.signature);
103
105
  if (blockSender && this.signedTxs) {
106
+ if (!coordinationSignatureContextEquals(this.signedTxs.signatureContext, this.signatureContext)) {
107
+ this.cachedSender = null;
108
+ return undefined;
109
+ }
104
110
  const txsSender = this.signedTxs.getSender();
105
111
  if (!txsSender || !txsSender.equals(blockSender)) {
106
- return undefined; // Sender mismatch - fail
112
+ this.cachedSender = null;
113
+ return undefined;
107
114
  }
108
115
  }
109
- // Cache the sender for later use
110
- this.sender = blockSender;
116
+ this.cachedSender = blockSender ?? null;
111
117
  }
112
- return this.sender;
118
+ return this.cachedSender ?? undefined;
113
119
  }
114
120
  getPayload() {
115
- return this.getPayloadToSign(SignatureDomainSeparator.blockProposal);
121
+ return this.getPayloadToSign();
116
122
  }
117
123
  toBuffer() {
118
124
  const buffer = [
@@ -121,6 +127,7 @@ import { TopicType } from './topic_type.js';
121
127
  this.inHash,
122
128
  this.archiveRoot,
123
129
  this.signature,
130
+ serializeCoordinationSignatureContext(this.signatureContext),
124
131
  this.txHashes.length,
125
132
  this.txHashes
126
133
  ];
@@ -139,6 +146,7 @@ import { TopicType } from './topic_type.js';
139
146
  const inHash = reader.readObject(Fr);
140
147
  const archiveRoot = reader.readObject(Fr);
141
148
  const signature = reader.readObject(Signature);
149
+ const signatureContext = readCoordinationSignatureContext(reader);
142
150
  const txHashCount = reader.readNumber();
143
151
  if (txHashCount > MAX_TXS_PER_BLOCK) {
144
152
  throw new Error(`txHashes count ${txHashCount} exceeds maximum ${MAX_TXS_PER_BLOCK}`);
@@ -148,22 +156,22 @@ import { TopicType } from './topic_type.js';
148
156
  const hasSignedTxs = reader.readNumber();
149
157
  if (hasSignedTxs) {
150
158
  const signedTxs = SignedTxs.fromBuffer(reader);
151
- return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, signature, signedTxs);
159
+ return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, signature, signatureContext, signedTxs);
152
160
  }
153
161
  }
154
- return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, signature);
162
+ return new BlockProposal(blockHeader, indexWithinCheckpoint, inHash, archiveRoot, txHashes, signature, signatureContext);
155
163
  }
156
164
  getSize() {
157
- return this.blockHeader.getSize() + 4 /* indexWithinCheckpoint */ + this.inHash.size + this.archiveRoot.size + this.signature.getSize() + 4 /* txHashes.length */ + this.txHashes.length * TxHash.SIZE + 4 /* hasSignedTxs flag */ + (this.signedTxs ? this.signedTxs.getSize() : 0);
165
+ return this.blockHeader.getSize() + 4 /* indexWithinCheckpoint */ + this.inHash.size + this.archiveRoot.size + this.signature.getSize() + 4 /* chainId */ + 20 /* rollupAddress */ + 4 /* txHashes.length */ + this.txHashes.length * TxHash.SIZE + 4 /* hasSignedTxs flag */ + (this.signedTxs ? this.signedTxs.getSize() : 0);
158
166
  }
159
167
  static empty() {
160
- return new BlockProposal(BlockHeader.empty(), IndexWithinCheckpoint(0), Fr.ZERO, Fr.ZERO, [], Signature.empty());
168
+ return new BlockProposal(BlockHeader.empty(), IndexWithinCheckpoint(0), Fr.ZERO, Fr.ZERO, [], Signature.empty(), EMPTY_COORDINATION_SIGNATURE_CONTEXT);
161
169
  }
162
170
  static random() {
163
171
  return new BlockProposal(BlockHeader.random(), IndexWithinCheckpoint(Math.floor(Math.random() * 5)), Fr.random(), Fr.random(), [
164
172
  TxHash.random(),
165
173
  TxHash.random()
166
- ], Signature.random());
174
+ ], Signature.random(), EMPTY_COORDINATION_SIGNATURE_CONTEXT);
167
175
  }
168
176
  toInspect() {
169
177
  return {
@@ -172,7 +180,9 @@ import { TopicType } from './topic_type.js';
172
180
  inHash: this.inHash.toString(),
173
181
  archiveRoot: this.archiveRoot.toString(),
174
182
  signature: this.signature.toString(),
175
- txHashes: this.txHashes.map((h)=>h.toString())
183
+ txHashes: this.txHashes.map((h)=>h.toString()),
184
+ chainId: this.signatureContext.chainId,
185
+ rollupAddress: this.signatureContext.rollupAddress.toString()
176
186
  };
177
187
  }
178
188
  /**
@@ -187,6 +197,6 @@ import { TopicType } from './topic_type.js';
187
197
  * Returns a copy of this proposal without signedTxs.
188
198
  * Used when storing proposals in attestation pool to avoid storing full tx data.
189
199
  */ withoutSignedTxs() {
190
- return new BlockProposal(this.blockHeader, this.indexWithinCheckpoint, this.inHash, this.archiveRoot, this.txHashes, this.signature);
200
+ return new BlockProposal(this.blockHeader, this.indexWithinCheckpoint, this.inHash, this.archiveRoot, this.txHashes, this.signature, this.signatureContext);
191
201
  }
192
202
  }
@@ -7,6 +7,7 @@ import { BufferReader } from '@aztec/foundation/serialize';
7
7
  import type { ZodFor } from '../schemas/index.js';
8
8
  import { ConsensusPayload } from './consensus_payload.js';
9
9
  import { Gossipable } from './gossipable.js';
10
+ import { type CoordinationSignatureContext } from './signature_utils.js';
10
11
  import { TopicType } from './topic_type.js';
11
12
  export type { CheckpointAttestationHash } from '@aztec/foundation/branded-types';
12
13
  /**
@@ -23,8 +24,8 @@ export declare class CheckpointAttestation extends Gossipable {
23
24
  /** The signature from the checkpoint proposer */
24
25
  readonly proposerSignature: Signature;
25
26
  static p2pTopic: TopicType;
26
- private sender;
27
- private proposer;
27
+ private cachedSender;
28
+ private cachedProposer;
28
29
  constructor(
29
30
  /** The payload of the message, and what the signature is over */
30
31
  payload: ConsensusPayload,
@@ -36,6 +37,7 @@ export declare class CheckpointAttestation extends Gossipable {
36
37
  generateP2PMessageIdentifier(): Promise<BaseBuffer32>;
37
38
  get archive(): Fr;
38
39
  get slotNumber(): SlotNumber;
40
+ get signatureContext(): CoordinationSignatureContext;
39
41
  /**
40
42
  * Lazily evaluate and cache the signer of the attestation
41
43
  * @returns The signer of the attestation, or undefined if signature recovery fails
@@ -72,9 +74,11 @@ export declare class CheckpointAttestation extends Gossipable {
72
74
  };
73
75
  archive: `0x${string}`;
74
76
  feeAssetPriceModifier: string;
77
+ chainId: number;
78
+ rollupAddress: `0x${string}`;
75
79
  };
76
80
  signature: `0x${string}`;
77
81
  proposerSignature: `0x${string}`;
78
82
  };
79
83
  }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9hdHRlc3RhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X2F0dGVzdGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNkIsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEYsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHN0QsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFJOUUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxZQUFZLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRjs7Ozs7R0FLRztBQUNILHFCQUFhLHFCQUFzQixTQUFRLFVBQVU7SUFPakQsaUVBQWlFO2FBQ2pELE9BQU8sRUFBRSxnQkFBZ0I7SUFFekMsK0NBQStDO2FBQy9CLFNBQVMsRUFBRSxTQUFTO0lBRXBDLGlEQUFpRDthQUNqQyxpQkFBaUIsRUFBRSxTQUFTO0lBYjlDLE9BQWdCLFFBQVEsWUFBb0M7SUFFNUQsT0FBTyxDQUFDLE1BQU0sQ0FBeUI7SUFDdkMsT0FBTyxDQUFDLFFBQVEsQ0FBeUI7SUFFekM7SUFDRSxpRUFBaUU7SUFDakQsT0FBTyxFQUFFLGdCQUFnQjtJQUV6QywrQ0FBK0M7SUFDL0IsU0FBUyxFQUFFLFNBQVM7SUFFcEMsaURBQWlEO0lBQ2pDLGlCQUFpQixFQUFFLFNBQVMsRUFHN0M7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQVFqRDtJQUVRLDRCQUE0QixJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FFN0Q7SUFFRCxJQUFJLE9BQU8sSUFBSSxFQUFFLENBRWhCO0lBRUQsSUFBSSxVQUFVLElBQUksVUFBVSxDQUUzQjtJQUVEOzs7T0FHRztJQUNILFNBQVMsSUFBSSxVQUFVLEdBQUcsU0FBUyxDQVlsQztJQUVEOzs7T0FHRztJQUNILFdBQVcsSUFBSSxVQUFVLEdBQUcsU0FBUyxDQWdCcEM7SUFFRCxVQUFVLElBQUksTUFBTSxDQUVuQjtJQUVELFFBQVEsSUFBSSxNQUFNLENBRWpCO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxxQkFBcUIsQ0FPbkU7SUFFRCxNQUFNLENBQUMsS0FBSyxJQUFJLHFCQUFxQixDQUVwQztJQUVELE1BQU0sQ0FBQyxNQUFNLElBQUkscUJBQXFCLENBRXJDO0lBRUQsT0FBTyxJQUFJLE1BQU0sQ0FFaEI7SUFFRCxTQUFTOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQU1SO0NBQ0YifQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9hdHRlc3RhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3AycC9jaGVja3BvaW50X2F0dGVzdGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNkIsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEYsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0QsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFJOUUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxLQUFLLDRCQUE0QixFQUE2QixNQUFNLHNCQUFzQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxZQUFZLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRjs7Ozs7R0FLRztBQUNILHFCQUFhLHFCQUFzQixTQUFRLFVBQVU7SUFPakQsaUVBQWlFO2FBQ2pELE9BQU8sRUFBRSxnQkFBZ0I7SUFFekMsK0NBQStDO2FBQy9CLFNBQVMsRUFBRSxTQUFTO0lBRXBDLGlEQUFpRDthQUNqQyxpQkFBaUIsRUFBRSxTQUFTO0lBYjlDLE9BQWdCLFFBQVEsWUFBb0M7SUFFNUQsT0FBTyxDQUFDLFlBQVksQ0FBNEM7SUFDaEUsT0FBTyxDQUFDLGNBQWMsQ0FBNEM7SUFFbEU7SUFDRSxpRUFBaUU7SUFDakQsT0FBTyxFQUFFLGdCQUFnQjtJQUV6QywrQ0FBK0M7SUFDL0IsU0FBUyxFQUFFLFNBQVM7SUFFcEMsaURBQWlEO0lBQ2pDLGlCQUFpQixFQUFFLFNBQVMsRUFHN0M7SUFFRCxNQUFNLEtBQUssTUFBTSxJQUFJLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQVFqRDtJQUVRLDRCQUE0QixJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FFN0Q7SUFFRCxJQUFJLE9BQU8sSUFBSSxFQUFFLENBRWhCO0lBRUQsSUFBSSxVQUFVLElBQUksVUFBVSxDQUUzQjtJQUVELElBQUksZ0JBQWdCLElBQUksNEJBQTRCLENBRW5EO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBS2xDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxJQUFJLFVBQVUsR0FBRyxTQUFTLENBZXBDO0lBRUQsVUFBVSxJQUFJLE1BQU0sQ0FFbkI7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcscUJBQXFCLENBT25FO0lBRUQsTUFBTSxDQUFDLEtBQUssSUFBSSxxQkFBcUIsQ0FFcEM7SUFFRCxNQUFNLENBQUMsTUFBTSxJQUFJLHFCQUFxQixDQUVyQztJQUVELE9BQU8sSUFBSSxNQUFNLENBRWhCO0lBRUQsU0FBUzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQU1SO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint_attestation.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,YAAY,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IAOjD,iEAAiE;aACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;aAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;aACjC,iBAAiB,EAAE,SAAS;IAb9C,OAAgB,QAAQ,YAAoC;IAE5D,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,QAAQ,CAAyB;IAEzC;IACE,iEAAiE;IACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;IAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;IACjC,iBAAiB,EAAE,SAAS,EAG7C;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAQjD;IAEQ,4BAA4B,IAAI,OAAO,CAAC,YAAY,CAAC,CAE7D;IAED,IAAI,OAAO,IAAI,EAAE,CAEhB;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS,CAYlC;IAED;;;OAGG;IACH,WAAW,IAAI,UAAU,GAAG,SAAS,CAgBpC;IAED,UAAU,IAAI,MAAM,CAEnB;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,qBAAqB,CAOnE;IAED,MAAM,CAAC,KAAK,IAAI,qBAAqB,CAEpC;IAED,MAAM,CAAC,MAAM,IAAI,qBAAqB,CAErC;IAED,OAAO,IAAI,MAAM,CAEhB;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;;MAMR;CACF"}
1
+ {"version":3,"file":"checkpoint_attestation.d.ts","sourceRoot":"","sources":["../../src/p2p/checkpoint_attestation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAI9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,4BAA4B,EAA6B,MAAM,sBAAsB,CAAC;AACpG,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,YAAY,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAEjF;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,UAAU;IAOjD,iEAAiE;aACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;aAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;aACjC,iBAAiB,EAAE,SAAS;IAb9C,OAAgB,QAAQ,YAAoC;IAE5D,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,cAAc,CAA4C;IAElE;IACE,iEAAiE;IACjD,OAAO,EAAE,gBAAgB;IAEzC,+CAA+C;IAC/B,SAAS,EAAE,SAAS;IAEpC,iDAAiD;IACjC,iBAAiB,EAAE,SAAS,EAG7C;IAED,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,qBAAqB,CAAC,CAQjD;IAEQ,4BAA4B,IAAI,OAAO,CAAC,YAAY,CAAC,CAE7D;IAED,IAAI,OAAO,IAAI,EAAE,CAEhB;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,IAAI,gBAAgB,IAAI,4BAA4B,CAEnD;IAED;;;OAGG;IACH,SAAS,IAAI,UAAU,GAAG,SAAS,CAKlC;IAED;;;OAGG;IACH,WAAW,IAAI,UAAU,GAAG,SAAS,CAepC;IAED,UAAU,IAAI,MAAM,CAEnB;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,qBAAqB,CAOnE;IAED,MAAM,CAAC,KAAK,IAAI,qBAAqB,CAEpC;IAED,MAAM,CAAC,MAAM,IAAI,qBAAqB,CAErC;IAED,OAAO,IAAI,MAAM,CAEhB;IAED,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;MAMR;CACF"}