@aztec/ethereum 0.0.1-fake-c83136db25 → 0.0.2-commit.217f559981

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 (226) hide show
  1. package/dest/account.d.ts +1 -1
  2. package/dest/chain.d.ts +1 -1
  3. package/dest/client.d.ts +1 -1
  4. package/dest/client.js +6 -2
  5. package/dest/config.d.ts +22 -68
  6. package/dest/config.d.ts.map +1 -1
  7. package/dest/config.js +61 -348
  8. package/dest/constants.d.ts +1 -1
  9. package/dest/contracts/empire_base.d.ts +9 -5
  10. package/dest/contracts/empire_base.d.ts.map +1 -1
  11. package/dest/contracts/empire_base.js +1 -1
  12. package/dest/contracts/empire_slashing_proposer.d.ts +8 -4
  13. package/dest/contracts/empire_slashing_proposer.d.ts.map +1 -1
  14. package/dest/contracts/empire_slashing_proposer.js +39 -17
  15. package/dest/contracts/errors.d.ts +1 -1
  16. package/dest/contracts/errors.d.ts.map +1 -1
  17. package/dest/contracts/fee_asset_handler.d.ts +6 -5
  18. package/dest/contracts/fee_asset_handler.d.ts.map +1 -1
  19. package/dest/contracts/fee_asset_handler.js +11 -9
  20. package/dest/contracts/fee_asset_price_oracle.d.ts +101 -0
  21. package/dest/contracts/fee_asset_price_oracle.d.ts.map +1 -0
  22. package/dest/contracts/fee_asset_price_oracle.js +651 -0
  23. package/dest/contracts/fee_juice.d.ts +1 -1
  24. package/dest/contracts/fee_juice.d.ts.map +1 -1
  25. package/dest/contracts/governance.d.ts +18 -16
  26. package/dest/contracts/governance.d.ts.map +1 -1
  27. package/dest/contracts/governance.js +14 -4
  28. package/dest/contracts/governance_proposer.d.ts +8 -4
  29. package/dest/contracts/governance_proposer.d.ts.map +1 -1
  30. package/dest/contracts/governance_proposer.js +412 -11
  31. package/dest/contracts/gse.d.ts +1 -1
  32. package/dest/contracts/gse.d.ts.map +1 -1
  33. package/dest/contracts/inbox.d.ts +24 -3
  34. package/dest/contracts/inbox.d.ts.map +1 -1
  35. package/dest/contracts/inbox.js +36 -1
  36. package/dest/contracts/index.d.ts +4 -1
  37. package/dest/contracts/index.d.ts.map +1 -1
  38. package/dest/contracts/index.js +3 -0
  39. package/dest/contracts/log.d.ts +13 -0
  40. package/dest/contracts/log.d.ts.map +1 -0
  41. package/dest/contracts/log.js +1 -0
  42. package/dest/contracts/multicall.d.ts +2 -2
  43. package/dest/contracts/multicall.d.ts.map +1 -1
  44. package/dest/contracts/multicall.js +2 -1
  45. package/dest/contracts/outbox.d.ts +41 -0
  46. package/dest/contracts/outbox.d.ts.map +1 -0
  47. package/dest/contracts/outbox.js +86 -0
  48. package/dest/contracts/registry.d.ts +1 -1
  49. package/dest/contracts/registry.d.ts.map +1 -1
  50. package/dest/contracts/rollup.d.ts +195 -123
  51. package/dest/contracts/rollup.d.ts.map +1 -1
  52. package/dest/contracts/rollup.js +755 -187
  53. package/dest/contracts/slasher_contract.d.ts +1 -1
  54. package/dest/contracts/slasher_contract.d.ts.map +1 -1
  55. package/dest/contracts/tally_slashing_proposer.d.ts +9 -7
  56. package/dest/contracts/tally_slashing_proposer.d.ts.map +1 -1
  57. package/dest/contracts/tally_slashing_proposer.js +11 -4
  58. package/dest/contracts/utils.d.ts +1 -1
  59. package/dest/deploy_aztec_l1_contracts.d.ts +259 -0
  60. package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -0
  61. package/dest/deploy_aztec_l1_contracts.js +413 -0
  62. package/dest/deploy_l1_contract.d.ts +68 -0
  63. package/dest/deploy_l1_contract.d.ts.map +1 -0
  64. package/dest/deploy_l1_contract.js +312 -0
  65. package/dest/eth-signer/eth-signer.d.ts +1 -1
  66. package/dest/eth-signer/index.d.ts +1 -1
  67. package/dest/forwarder_proxy.d.ts +32 -0
  68. package/dest/forwarder_proxy.d.ts.map +1 -0
  69. package/dest/forwarder_proxy.js +93 -0
  70. package/dest/generated/l1-contracts-defaults.d.ts +30 -0
  71. package/dest/generated/l1-contracts-defaults.d.ts.map +1 -0
  72. package/dest/generated/l1-contracts-defaults.js +30 -0
  73. package/dest/l1_artifacts.d.ts +11884 -1956
  74. package/dest/l1_artifacts.d.ts.map +1 -1
  75. package/dest/l1_contract_addresses.d.ts +3 -3
  76. package/dest/l1_contract_addresses.d.ts.map +1 -1
  77. package/dest/l1_contract_addresses.js +3 -3
  78. package/dest/l1_reader.d.ts +3 -1
  79. package/dest/l1_reader.d.ts.map +1 -1
  80. package/dest/l1_reader.js +6 -0
  81. package/dest/l1_tx_utils/config.d.ts +11 -5
  82. package/dest/l1_tx_utils/config.d.ts.map +1 -1
  83. package/dest/l1_tx_utils/config.js +45 -9
  84. package/dest/l1_tx_utils/constants.d.ts +8 -2
  85. package/dest/l1_tx_utils/constants.d.ts.map +1 -1
  86. package/dest/l1_tx_utils/constants.js +27 -2
  87. package/dest/l1_tx_utils/factory.d.ts +18 -10
  88. package/dest/l1_tx_utils/factory.d.ts.map +1 -1
  89. package/dest/l1_tx_utils/factory.js +17 -7
  90. package/dest/l1_tx_utils/fee-strategies/index.d.ts +10 -0
  91. package/dest/l1_tx_utils/fee-strategies/index.d.ts.map +1 -0
  92. package/dest/l1_tx_utils/fee-strategies/index.js +12 -0
  93. package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts +8 -0
  94. package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts.map +1 -0
  95. package/dest/l1_tx_utils/fee-strategies/p75_competitive.js +129 -0
  96. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts +23 -0
  97. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts.map +1 -0
  98. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.js +191 -0
  99. package/dest/l1_tx_utils/fee-strategies/types.d.ts +51 -0
  100. package/dest/l1_tx_utils/fee-strategies/types.d.ts.map +1 -0
  101. package/dest/l1_tx_utils/fee-strategies/types.js +3 -0
  102. package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts +41 -0
  103. package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts.map +1 -0
  104. package/dest/l1_tx_utils/forwarder_l1_tx_utils.js +42 -0
  105. package/dest/l1_tx_utils/index-blobs.d.ts +3 -0
  106. package/dest/l1_tx_utils/index-blobs.d.ts.map +1 -0
  107. package/dest/l1_tx_utils/index-blobs.js +2 -0
  108. package/dest/l1_tx_utils/index.d.ts +4 -1
  109. package/dest/l1_tx_utils/index.d.ts.map +1 -1
  110. package/dest/l1_tx_utils/index.js +3 -0
  111. package/dest/l1_tx_utils/interfaces.d.ts +2 -2
  112. package/dest/l1_tx_utils/interfaces.d.ts.map +1 -1
  113. package/dest/l1_tx_utils/l1_fee_analyzer.d.ts +233 -0
  114. package/dest/l1_tx_utils/l1_fee_analyzer.d.ts.map +1 -0
  115. package/dest/l1_tx_utils/l1_fee_analyzer.js +506 -0
  116. package/dest/l1_tx_utils/l1_tx_utils.d.ts +15 -6
  117. package/dest/l1_tx_utils/l1_tx_utils.d.ts.map +1 -1
  118. package/dest/l1_tx_utils/l1_tx_utils.js +64 -17
  119. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +19 -17
  120. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -1
  121. package/dest/l1_tx_utils/readonly_l1_tx_utils.js +69 -40
  122. package/dest/l1_tx_utils/signer.d.ts +1 -1
  123. package/dest/l1_tx_utils/tx_delayer.d.ts +56 -0
  124. package/dest/l1_tx_utils/tx_delayer.d.ts.map +1 -0
  125. package/dest/{test → l1_tx_utils}/tx_delayer.js +65 -36
  126. package/dest/l1_tx_utils/types.d.ts +1 -1
  127. package/dest/l1_tx_utils/types.d.ts.map +1 -1
  128. package/dest/l1_tx_utils/utils.d.ts +1 -1
  129. package/dest/l1_types.d.ts +1 -1
  130. package/dest/publisher_manager.d.ts +3 -2
  131. package/dest/publisher_manager.d.ts.map +1 -1
  132. package/dest/publisher_manager.js +2 -2
  133. package/dest/queries.d.ts +2 -2
  134. package/dest/queries.d.ts.map +1 -1
  135. package/dest/queries.js +16 -6
  136. package/dest/test/chain_monitor.d.ts +27 -24
  137. package/dest/test/chain_monitor.d.ts.map +1 -1
  138. package/dest/test/chain_monitor.js +33 -36
  139. package/dest/test/eth_cheat_codes.d.ts +11 -3
  140. package/dest/test/eth_cheat_codes.d.ts.map +1 -1
  141. package/dest/test/eth_cheat_codes.js +11 -3
  142. package/dest/test/eth_cheat_codes_with_state.d.ts +1 -1
  143. package/dest/test/eth_cheat_codes_with_state.d.ts.map +1 -1
  144. package/dest/test/index.d.ts +1 -3
  145. package/dest/test/index.d.ts.map +1 -1
  146. package/dest/test/index.js +0 -2
  147. package/dest/test/rollup_cheat_codes.d.ts +17 -13
  148. package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
  149. package/dest/test/rollup_cheat_codes.js +62 -38
  150. package/dest/test/start_anvil.d.ts +4 -1
  151. package/dest/test/start_anvil.d.ts.map +1 -1
  152. package/dest/test/start_anvil.js +3 -2
  153. package/dest/test/upgrade_utils.d.ts +1 -1
  154. package/dest/test/upgrade_utils.js +2 -2
  155. package/dest/types.d.ts +57 -2
  156. package/dest/types.d.ts.map +1 -1
  157. package/dest/utils.d.ts +16 -3
  158. package/dest/utils.d.ts.map +1 -1
  159. package/dest/utils.js +64 -0
  160. package/dest/zkPassportVerifierAddress.d.ts +1 -1
  161. package/package.json +34 -14
  162. package/src/client.ts +2 -2
  163. package/src/config.ts +74 -424
  164. package/src/contracts/README.md +157 -0
  165. package/src/contracts/empire_base.ts +8 -5
  166. package/src/contracts/empire_slashing_proposer.ts +38 -32
  167. package/src/contracts/fee_asset_handler.ts +10 -7
  168. package/src/contracts/fee_asset_price_oracle.ts +280 -0
  169. package/src/contracts/governance.ts +13 -4
  170. package/src/contracts/governance_proposer.ts +26 -6
  171. package/src/contracts/inbox.ts +55 -3
  172. package/src/contracts/index.ts +3 -0
  173. package/src/contracts/log.ts +13 -0
  174. package/src/contracts/multicall.ts +5 -2
  175. package/src/contracts/outbox.ts +98 -0
  176. package/src/contracts/rollup.ts +432 -167
  177. package/src/contracts/tally_slashing_proposer.ts +15 -8
  178. package/src/deploy_aztec_l1_contracts.ts +650 -0
  179. package/src/deploy_l1_contract.ts +362 -0
  180. package/src/forwarder_proxy.ts +108 -0
  181. package/src/generated/l1-contracts-defaults.ts +32 -0
  182. package/src/l1_contract_addresses.ts +22 -20
  183. package/src/l1_reader.ts +8 -0
  184. package/src/l1_tx_utils/config.ts +54 -13
  185. package/src/l1_tx_utils/constants.ts +13 -2
  186. package/src/l1_tx_utils/factory.ts +31 -31
  187. package/src/l1_tx_utils/fee-strategies/index.ts +22 -0
  188. package/src/l1_tx_utils/fee-strategies/p75_competitive.ts +163 -0
  189. package/src/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.ts +245 -0
  190. package/src/l1_tx_utils/fee-strategies/types.ts +56 -0
  191. package/src/l1_tx_utils/forwarder_l1_tx_utils.ts +108 -0
  192. package/src/l1_tx_utils/index-blobs.ts +2 -0
  193. package/src/l1_tx_utils/index.ts +3 -0
  194. package/src/l1_tx_utils/interfaces.ts +1 -1
  195. package/src/l1_tx_utils/l1_fee_analyzer.ts +803 -0
  196. package/src/l1_tx_utils/l1_tx_utils.ts +76 -21
  197. package/src/l1_tx_utils/readonly_l1_tx_utils.ts +92 -45
  198. package/src/{test → l1_tx_utils}/tx_delayer.ts +82 -52
  199. package/src/publisher_manager.ts +4 -2
  200. package/src/queries.ts +17 -6
  201. package/src/test/chain_monitor.ts +51 -49
  202. package/src/test/eth_cheat_codes.ts +9 -3
  203. package/src/test/index.ts +0 -2
  204. package/src/test/rollup_cheat_codes.ts +63 -43
  205. package/src/test/start_anvil.ts +5 -1
  206. package/src/test/upgrade_utils.ts +2 -2
  207. package/src/types.ts +62 -0
  208. package/src/utils.ts +83 -1
  209. package/dest/deploy_l1_contracts.d.ts +0 -226
  210. package/dest/deploy_l1_contracts.d.ts.map +0 -1
  211. package/dest/deploy_l1_contracts.js +0 -1460
  212. package/dest/index.d.ts +0 -18
  213. package/dest/index.d.ts.map +0 -1
  214. package/dest/index.js +0 -17
  215. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts +0 -26
  216. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts.map +0 -1
  217. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.js +0 -26
  218. package/dest/test/delayed_tx_utils.d.ts +0 -13
  219. package/dest/test/delayed_tx_utils.d.ts.map +0 -1
  220. package/dest/test/delayed_tx_utils.js +0 -28
  221. package/dest/test/tx_delayer.d.ts +0 -36
  222. package/dest/test/tx_delayer.d.ts.map +0 -1
  223. package/src/deploy_l1_contracts.ts +0 -1838
  224. package/src/index.ts +0 -17
  225. package/src/l1_tx_utils/l1_tx_utils_with_blobs.ts +0 -77
  226. package/src/test/delayed_tx_utils.ts +0 -52
package/dest/config.js CHANGED
@@ -1,231 +1,71 @@
1
- import { bigintConfigHelper, booleanConfigHelper, enumConfigHelper, getConfigFromMappings, numberConfigHelper, optionalNumberConfigHelper } from '@aztec/foundation/config';
1
+ import { bigintConfigHelper, booleanConfigHelper, enumConfigHelper, getConfigFromMappings, getDefaultConfig, numberConfigHelper, omitConfigMappings, optionalNumberConfigHelper } from '@aztec/foundation/config';
2
2
  import { EthAddress } from '@aztec/foundation/eth-address';
3
- import { l1TxUtilsConfigMappings } from './l1_tx_utils/index.js';
4
- export const DefaultL1ContractsConfig = {
5
- ethereumSlotDuration: 12,
6
- aztecSlotDuration: 36,
7
- aztecEpochDuration: 32,
8
- aztecTargetCommitteeSize: 48,
9
- lagInEpochs: 2,
10
- aztecProofSubmissionEpochs: 1,
11
- activationThreshold: 100n * 10n ** 18n,
12
- ejectionThreshold: 50n * 10n ** 18n,
13
- localEjectionThreshold: 98n * 10n ** 18n,
14
- slashAmountSmall: 10n * 10n ** 18n,
15
- slashAmountMedium: 20n * 10n ** 18n,
16
- slashAmountLarge: 50n * 10n ** 18n,
17
- slashingRoundSizeInEpochs: 4,
18
- slashingLifetimeInRounds: 5,
19
- slashingExecutionDelayInRounds: 0,
20
- slashingVetoer: EthAddress.ZERO,
21
- governanceProposerRoundSize: 300,
22
- manaTarget: BigInt(1e10),
23
- provingCostPerMana: BigInt(100),
24
- exitDelaySeconds: 2 * 24 * 60 * 60,
25
- slasherFlavor: 'tally',
26
- slashingOffsetInRounds: 2,
27
- slashingDisableDuration: 5 * 24 * 60 * 60
28
- };
29
- const LocalGovernanceConfiguration = {
30
- proposeConfig: {
31
- lockDelay: 60n * 60n * 24n * 30n,
32
- lockAmount: 1n * 10n ** 24n
33
- },
34
- votingDelay: 60n,
35
- votingDuration: 60n * 60n,
36
- executionDelay: 60n,
37
- gracePeriod: 60n * 60n * 24n * 7n,
38
- quorum: 1n * 10n ** 17n,
39
- requiredYeaMargin: 4n * 10n ** 16n,
40
- minimumVotes: 400n * 10n ** 18n
41
- };
42
- const StagingPublicGovernanceConfiguration = {
43
- proposeConfig: {
44
- lockDelay: 60n * 60n * 24n * 30n,
45
- lockAmount: DefaultL1ContractsConfig.activationThreshold * 100n
46
- },
47
- votingDelay: 60n,
48
- votingDuration: 60n * 60n,
49
- executionDelay: 60n,
50
- gracePeriod: 60n * 60n * 24n * 7n,
51
- quorum: 3n * 10n ** 17n,
52
- requiredYeaMargin: 4n * 10n ** 16n,
53
- minimumVotes: DefaultL1ContractsConfig.ejectionThreshold * 200n
54
- };
55
- const TestnetGovernanceConfiguration = {
56
- proposeConfig: {
57
- lockDelay: 10n * 365n * 24n * 60n * 60n,
58
- lockAmount: 1250n * 200_000n * 10n ** 18n
59
- },
60
- votingDelay: 12n * 60n * 60n,
61
- votingDuration: 1n * 24n * 60n * 60n,
62
- executionDelay: 12n * 60n * 60n,
63
- gracePeriod: 1n * 24n * 60n * 60n,
64
- quorum: 2n * 10n ** 17n,
65
- requiredYeaMargin: 1n * 10n ** 17n,
66
- minimumVotes: 1250n * 200_000n * 10n ** 18n
67
- };
68
- const StagingIgnitionGovernanceConfiguration = {
69
- proposeConfig: {
70
- lockDelay: 10n * 365n * 24n * 60n * 60n,
71
- lockAmount: 1250n * 200_000n * 10n ** 18n
72
- },
73
- votingDelay: 7n * 24n * 60n * 60n,
74
- votingDuration: 7n * 24n * 60n * 60n,
75
- executionDelay: 30n * 24n * 60n * 60n,
76
- gracePeriod: 7n * 24n * 60n * 60n,
77
- quorum: 2n * 10n ** 17n,
78
- requiredYeaMargin: 1n * 10n ** 17n,
79
- minimumVotes: 1250n * 200_000n * 10n ** 18n
80
- };
81
- export const getGovernanceConfiguration = (networkName)=>{
82
- switch(networkName){
83
- case 'local':
84
- return LocalGovernanceConfiguration;
85
- case 'next-net':
86
- return LocalGovernanceConfiguration;
87
- case 'devnet':
88
- return LocalGovernanceConfiguration;
89
- case 'staging-public':
90
- return StagingPublicGovernanceConfiguration;
91
- case 'testnet':
92
- return TestnetGovernanceConfiguration;
93
- case 'staging-ignition':
94
- return StagingIgnitionGovernanceConfiguration;
95
- default:
96
- throw new Error(`Unrecognized network name: ${networkName}`);
97
- }
98
- };
99
- // Making a default config here as we are only using it thought the deployment
100
- // and do not expect to be using different setups, so having environment variables
101
- // for it seems overkill
102
- const DefaultRewardConfig = {
103
- sequencerBps: 8000,
104
- rewardDistributor: EthAddress.ZERO.toString(),
105
- booster: EthAddress.ZERO.toString(),
106
- blockReward: 500n * 10n ** 18n
107
- };
108
- export const getRewardConfig = (networkName)=>{
109
- switch(networkName){
110
- case 'local':
111
- case 'devnet':
112
- case 'next-net':
113
- case 'staging-public':
114
- case 'testnet':
115
- case 'staging-ignition':
116
- return DefaultRewardConfig;
117
- default:
118
- throw new Error(`Unrecognized network name: ${networkName}`);
119
- }
120
- };
121
- export const getRewardBoostConfig = ()=>{
122
- // The reward configuration is specified with a precision of 1e5, and we use the same across
123
- // all networks.
124
- return {
125
- increment: 125000,
126
- maxScore: 15000000,
127
- a: 1000,
128
- k: 1000000,
129
- minimum: 100000
130
- };
131
- };
132
- // Similar to the above, no need for environment variables for this.
133
- const LocalEntryQueueConfig = {
134
- bootstrapValidatorSetSize: 0n,
135
- bootstrapFlushSize: 0n,
136
- normalFlushSizeMin: 48n,
137
- normalFlushSizeQuotient: 2n,
138
- maxQueueFlushSize: 48n
139
- };
140
- const StagingPublicEntryQueueConfig = {
141
- bootstrapValidatorSetSize: 48n,
142
- bootstrapFlushSize: 48n,
143
- normalFlushSizeMin: 1n,
144
- normalFlushSizeQuotient: 2475n,
145
- maxQueueFlushSize: 32n
146
- };
147
- const TestnetEntryQueueConfig = {
148
- bootstrapValidatorSetSize: 750n,
149
- bootstrapFlushSize: 32n,
150
- normalFlushSizeMin: 32n,
151
- normalFlushSizeQuotient: 2475n,
152
- maxQueueFlushSize: 32n
153
- };
154
- const StagingIgnitionEntryQueueConfig = {
155
- bootstrapValidatorSetSize: 48n,
156
- bootstrapFlushSize: 48n,
157
- normalFlushSizeMin: 1n,
158
- normalFlushSizeQuotient: 2048n,
159
- maxQueueFlushSize: 24n
160
- };
161
- export const getEntryQueueConfig = (networkName)=>{
162
- switch(networkName){
163
- case 'local':
164
- return LocalEntryQueueConfig;
165
- case 'next-net':
166
- return LocalEntryQueueConfig;
167
- case 'devnet':
168
- return LocalEntryQueueConfig;
169
- case 'staging-public':
170
- return StagingPublicEntryQueueConfig;
171
- case 'testnet':
172
- return TestnetEntryQueueConfig;
173
- case 'staging-ignition':
174
- return StagingIgnitionEntryQueueConfig;
175
- default:
176
- throw new Error(`Unrecognized network name: ${networkName}`);
177
- }
178
- };
179
- export const l1ContractsConfigMappings = {
3
+ import { l1ContractsDefaultEnv } from './generated/l1-contracts-defaults.js';
4
+ import { l1TxUtilsConfigMappings } from './l1_tx_utils/config.js';
5
+ /**
6
+ * Config mappings for L1ContractsConfig.
7
+ * Default values come from generated l1-contracts-defaults.json (source: defaults.yml).
8
+ * Real deployments use forge scripts which require explicit env vars (vm.envUint).
9
+ */ export const l1ContractsConfigMappings = {
180
10
  ethereumSlotDuration: {
181
11
  env: 'ETHEREUM_SLOT_DURATION',
182
12
  description: 'How many seconds an L1 slot lasts.',
183
- ...numberConfigHelper(DefaultL1ContractsConfig.ethereumSlotDuration)
13
+ ...numberConfigHelper(l1ContractsDefaultEnv.ETHEREUM_SLOT_DURATION)
184
14
  },
185
15
  aztecSlotDuration: {
186
16
  env: 'AZTEC_SLOT_DURATION',
187
17
  description: 'How many seconds an L2 slots lasts (must be multiple of ethereum slot duration).',
188
- ...numberConfigHelper(DefaultL1ContractsConfig.aztecSlotDuration)
18
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_SLOT_DURATION)
189
19
  },
190
20
  aztecEpochDuration: {
191
21
  env: 'AZTEC_EPOCH_DURATION',
192
- description: `How many L2 slots an epoch lasts (maximum AZTEC_MAX_EPOCH_DURATION).`,
193
- ...numberConfigHelper(DefaultL1ContractsConfig.aztecEpochDuration)
22
+ description: `How many L2 slots an epoch lasts (maximum MAX_CHECKPOINTS_PER_EPOCH).`,
23
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_EPOCH_DURATION)
194
24
  },
195
25
  aztecTargetCommitteeSize: {
196
26
  env: 'AZTEC_TARGET_COMMITTEE_SIZE',
197
27
  description: 'The target validator committee size.',
198
- ...numberConfigHelper(DefaultL1ContractsConfig.aztecTargetCommitteeSize)
28
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_TARGET_COMMITTEE_SIZE)
199
29
  },
200
- lagInEpochs: {
201
- env: 'AZTEC_LAG_IN_EPOCHS',
30
+ lagInEpochsForValidatorSet: {
31
+ env: 'AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET',
202
32
  description: 'The number of epochs to lag behind the current epoch for validator selection.',
203
- ...numberConfigHelper(DefaultL1ContractsConfig.lagInEpochs)
33
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET)
34
+ },
35
+ lagInEpochsForRandao: {
36
+ env: 'AZTEC_LAG_IN_EPOCHS_FOR_RANDAO',
37
+ description: 'The number of epochs to lag behind the current epoch for randao selection.',
38
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_LAG_IN_EPOCHS_FOR_RANDAO)
39
+ },
40
+ inboxLag: {
41
+ env: 'AZTEC_INBOX_LAG',
42
+ description: 'The number of checkpoints to lag in the inbox (prevents sequencer DOS attacks).',
43
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_INBOX_LAG)
204
44
  },
205
45
  aztecProofSubmissionEpochs: {
206
46
  env: 'AZTEC_PROOF_SUBMISSION_EPOCHS',
207
47
  description: 'The number of epochs after an epoch ends that proofs are still accepted.',
208
- ...numberConfigHelper(DefaultL1ContractsConfig.aztecProofSubmissionEpochs)
48
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_PROOF_SUBMISSION_EPOCHS)
209
49
  },
210
50
  activationThreshold: {
211
51
  env: 'AZTEC_ACTIVATION_THRESHOLD',
212
52
  description: 'The deposit amount for a validator',
213
- ...bigintConfigHelper(DefaultL1ContractsConfig.activationThreshold)
53
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_ACTIVATION_THRESHOLD))
214
54
  },
215
55
  ejectionThreshold: {
216
56
  env: 'AZTEC_EJECTION_THRESHOLD',
217
57
  description: 'The minimum stake for a validator.',
218
- ...bigintConfigHelper(DefaultL1ContractsConfig.ejectionThreshold)
58
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_EJECTION_THRESHOLD))
219
59
  },
220
60
  localEjectionThreshold: {
221
61
  env: 'AZTEC_LOCAL_EJECTION_THRESHOLD',
222
62
  description: 'The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup',
223
- ...bigintConfigHelper(DefaultL1ContractsConfig.localEjectionThreshold)
63
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_LOCAL_EJECTION_THRESHOLD))
224
64
  },
225
65
  slashingOffsetInRounds: {
226
66
  env: 'AZTEC_SLASHING_OFFSET_IN_ROUNDS',
227
67
  description: 'How many slashing rounds back we slash (ie when slashing in round N, we slash for offenses committed during epochs of round N-offset)',
228
- ...numberConfigHelper(DefaultL1ContractsConfig.slashingOffsetInRounds)
68
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_SLASHING_OFFSET_IN_ROUNDS)
229
69
  },
230
70
  slasherFlavor: {
231
71
  env: 'AZTEC_SLASHER_FLAVOR',
@@ -234,22 +74,22 @@ export const l1ContractsConfigMappings = {
234
74
  'empire',
235
75
  'tally',
236
76
  'none'
237
- ], DefaultL1ContractsConfig.slasherFlavor)
77
+ ], l1ContractsDefaultEnv.AZTEC_SLASHER_FLAVOR)
238
78
  },
239
79
  slashAmountSmall: {
240
80
  env: 'AZTEC_SLASH_AMOUNT_SMALL',
241
81
  description: 'Small slashing amount for light offenses',
242
- ...bigintConfigHelper(DefaultL1ContractsConfig.slashAmountSmall)
82
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_SLASH_AMOUNT_SMALL))
243
83
  },
244
84
  slashAmountMedium: {
245
85
  env: 'AZTEC_SLASH_AMOUNT_MEDIUM',
246
86
  description: 'Medium slashing amount for moderate offenses',
247
- ...bigintConfigHelper(DefaultL1ContractsConfig.slashAmountMedium)
87
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_SLASH_AMOUNT_MEDIUM))
248
88
  },
249
89
  slashAmountLarge: {
250
90
  env: 'AZTEC_SLASH_AMOUNT_LARGE',
251
91
  description: 'Large slashing amount for severe offenses',
252
- ...bigintConfigHelper(DefaultL1ContractsConfig.slashAmountLarge)
92
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_SLASH_AMOUNT_LARGE))
253
93
  },
254
94
  slashingQuorum: {
255
95
  env: 'AZTEC_SLASHING_QUORUM',
@@ -259,28 +99,28 @@ export const l1ContractsConfigMappings = {
259
99
  slashingRoundSizeInEpochs: {
260
100
  env: 'AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS',
261
101
  description: 'The slashing round size',
262
- ...numberConfigHelper(DefaultL1ContractsConfig.slashingRoundSizeInEpochs)
102
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS)
263
103
  },
264
104
  slashingLifetimeInRounds: {
265
105
  env: 'AZTEC_SLASHING_LIFETIME_IN_ROUNDS',
266
106
  description: 'The slashing lifetime in rounds',
267
- ...numberConfigHelper(DefaultL1ContractsConfig.slashingLifetimeInRounds)
107
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_SLASHING_LIFETIME_IN_ROUNDS)
268
108
  },
269
109
  slashingExecutionDelayInRounds: {
270
110
  env: 'AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS',
271
111
  description: 'The slashing execution delay in rounds',
272
- ...numberConfigHelper(DefaultL1ContractsConfig.slashingExecutionDelayInRounds)
112
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS)
273
113
  },
274
114
  slashingVetoer: {
275
115
  env: 'AZTEC_SLASHING_VETOER',
276
116
  description: 'The slashing vetoer',
277
117
  parseEnv: (val)=>EthAddress.fromString(val),
278
- defaultValue: DefaultL1ContractsConfig.slashingVetoer
118
+ defaultValue: EthAddress.fromString(l1ContractsDefaultEnv.AZTEC_SLASHING_VETOER)
279
119
  },
280
120
  slashingDisableDuration: {
281
121
  env: 'AZTEC_SLASHING_DISABLE_DURATION',
282
122
  description: 'How long slashing can be disabled for in seconds when vetoer disables it',
283
- ...numberConfigHelper(DefaultL1ContractsConfig.slashingDisableDuration)
123
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_SLASHING_DISABLE_DURATION)
284
124
  },
285
125
  governanceProposerQuorum: {
286
126
  env: 'AZTEC_GOVERNANCE_PROPOSER_QUORUM',
@@ -290,25 +130,41 @@ export const l1ContractsConfigMappings = {
290
130
  governanceProposerRoundSize: {
291
131
  env: 'AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE',
292
132
  description: 'The governance proposing round size',
293
- ...numberConfigHelper(DefaultL1ContractsConfig.governanceProposerRoundSize)
133
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE)
134
+ },
135
+ governanceVotingDuration: {
136
+ env: 'AZTEC_GOVERNANCE_VOTING_DURATION',
137
+ description: 'Governance voting duration in seconds (only for local/devnet/next-net)',
138
+ ...numberConfigHelper(3600)
294
139
  },
295
140
  manaTarget: {
296
141
  env: 'AZTEC_MANA_TARGET',
297
142
  description: 'The mana target for the rollup',
298
- ...bigintConfigHelper(DefaultL1ContractsConfig.manaTarget)
143
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_MANA_TARGET))
299
144
  },
300
145
  provingCostPerMana: {
301
146
  env: 'AZTEC_PROVING_COST_PER_MANA',
302
147
  description: 'The proving cost per mana',
303
- ...bigintConfigHelper(DefaultL1ContractsConfig.provingCostPerMana)
148
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_PROVING_COST_PER_MANA))
149
+ },
150
+ initialEthPerFeeAsset: {
151
+ env: 'AZTEC_INITIAL_ETH_PER_FEE_ASSET',
152
+ description: 'The initial ETH per fee asset price (with 1e12 precision)',
153
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_INITIAL_ETH_PER_FEE_ASSET))
304
154
  },
305
155
  exitDelaySeconds: {
306
156
  env: 'AZTEC_EXIT_DELAY_SECONDS',
307
157
  description: 'The delay before a validator can exit the set',
308
- ...numberConfigHelper(DefaultL1ContractsConfig.exitDelaySeconds)
158
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_EXIT_DELAY_SECONDS)
309
159
  },
310
- ...l1TxUtilsConfigMappings
160
+ ...omitConfigMappings(l1TxUtilsConfigMappings, [
161
+ 'ethereumSlotDuration'
162
+ ])
311
163
  };
164
+ /**
165
+ * Default L1 contracts configuration derived from l1ContractsConfigMappings.
166
+ * Source of truth: spartan/environments/defaults.yml -> defaults.l1-contracts
167
+ */ export const DefaultL1ContractsConfig = getDefaultConfig(l1ContractsConfigMappings);
312
168
  export const genesisStateConfigMappings = {
313
169
  testAccounts: {
314
170
  env: 'TEST_ACCOUNTS',
@@ -327,146 +183,3 @@ export function getL1ContractsConfigEnvVars() {
327
183
  export function getGenesisStateConfigEnvVars() {
328
184
  return getConfigFromMappings(genesisStateConfigMappings);
329
185
  }
330
- /**
331
- * Validates the L1 contracts configuration to ensure all requirements enforced by L1 contracts
332
- * during construction are satisfied before deployment.
333
- * Accumulates all validation errors and throws an exception listing them all if any are found.
334
- */ export function validateConfig(config) {
335
- const errors = [];
336
- // RollupCore constructor validation: normalFlushSizeMin > 0
337
- // From: require(_config.stakingQueueConfig.normalFlushSizeMin > 0, Errors.Staking__InvalidStakingQueueConfig());
338
- const entryQueueConfig = getEntryQueueConfig('testnet'); // Get config to check normalFlushSizeMin
339
- if (entryQueueConfig.normalFlushSizeMin <= 0n) {
340
- errors.push('normalFlushSizeMin must be greater than 0');
341
- }
342
- // TimeLib initialization validation: aztecSlotDuration should be a multiple of ethereumSlotDuration
343
- // While not explicitly required in constructor, this is a common validation for time-based systems
344
- if (config.aztecSlotDuration % config.ethereumSlotDuration !== 0) {
345
- errors.push(`aztecSlotDuration (${config.aztecSlotDuration}) must be a multiple of ethereumSlotDuration (${config.ethereumSlotDuration})`);
346
- }
347
- // EmpireBase constructor validations for governance/slashing proposers
348
- // From: require(QUORUM_SIZE > ROUND_SIZE / 2, Errors.EmpireBase__InvalidQuorumAndRoundSize(QUORUM_SIZE, ROUND_SIZE));
349
- const { governanceProposerQuorum, governanceProposerRoundSize } = config;
350
- if (governanceProposerQuorum !== undefined && governanceProposerQuorum <= Math.floor(governanceProposerRoundSize / 2)) {
351
- errors.push(`governanceProposerQuorum (${governanceProposerQuorum}) must be greater than half of governanceProposerRoundSize (${Math.floor(governanceProposerRoundSize / 2)})`);
352
- }
353
- // From: require(QUORUM_SIZE <= ROUND_SIZE, Errors.EmpireBase__QuorumCannotBeLargerThanRoundSize(QUORUM_SIZE, ROUND_SIZE));
354
- if (governanceProposerQuorum !== undefined && governanceProposerQuorum > governanceProposerRoundSize) {
355
- errors.push(`governanceProposerQuorum (${governanceProposerQuorum}) cannot be larger than governanceProposerRoundSize (${governanceProposerRoundSize})`);
356
- }
357
- // Slashing quorum validations (similar to governance quorum)
358
- const slashingRoundSize = config.slashingRoundSizeInEpochs * config.aztecEpochDuration;
359
- const { slashingQuorum } = config;
360
- if (slashingQuorum !== undefined && slashingQuorum <= Math.floor(slashingRoundSize / 2)) {
361
- errors.push(`slashingQuorum (${slashingQuorum}) must be greater than half of slashingRoundSizeInEpochs (${Math.floor(slashingRoundSize / 2)})`);
362
- }
363
- if (slashingQuorum !== undefined && slashingQuorum > slashingRoundSize) {
364
- errors.push(`slashingQuorum (${slashingQuorum}) cannot be larger than slashingRoundSizeInEpochs (${slashingRoundSize})`);
365
- }
366
- // EmpireBase and TallySlashingProposer lifetime and execution delay validation
367
- // From: require(LIFETIME_IN_ROUNDS > EXECUTION_DELAY_IN_ROUNDS);
368
- if (config.slashingLifetimeInRounds <= config.slashingExecutionDelayInRounds) {
369
- errors.push(`slashingLifetimeInRounds (${config.slashingLifetimeInRounds}) must be greater than slashingExecutionDelayInRounds (${config.slashingExecutionDelayInRounds})`);
370
- }
371
- // Staking asset validation: activationThreshold > ejectionThreshold
372
- if (config.activationThreshold < config.ejectionThreshold) {
373
- errors.push(`activationThreshold (${config.activationThreshold}) must be greater than ejectionThreshold (${config.ejectionThreshold})`);
374
- }
375
- // TallySlashingProposer constructor validations
376
- if (config.slasherFlavor === 'tally') {
377
- validateTallySlasherConfig(config, errors);
378
- }
379
- // Epoch and slot duration validations
380
- if (config.aztecSlotDuration <= 0) {
381
- errors.push('aztecSlotDuration must be greater than 0');
382
- }
383
- if (config.ethereumSlotDuration <= 0) {
384
- errors.push('ethereumSlotDuration must be greater than 0');
385
- }
386
- if (config.aztecEpochDuration <= 0) {
387
- errors.push('aztecEpochDuration must be greater than 0');
388
- }
389
- // Committee size validation
390
- if (config.aztecTargetCommitteeSize < 0) {
391
- errors.push('aztecTargetCommitteeSize cannot be negative');
392
- }
393
- // Proof submission epochs validation
394
- if (config.aztecProofSubmissionEpochs < 0) {
395
- errors.push('aztecProofSubmissionEpochs cannot be negative');
396
- }
397
- // Exit delay validation
398
- if (config.exitDelaySeconds < 0) {
399
- errors.push('exitDelaySeconds cannot be negative');
400
- }
401
- // Mana validation
402
- if (config.manaTarget < 0n) {
403
- errors.push('manaTarget cannot be negative');
404
- }
405
- if (config.provingCostPerMana < 0n) {
406
- errors.push('provingCostPerMana cannot be negative');
407
- }
408
- // If any errors were found, throw an exception with all of them
409
- if (errors.length > 0) {
410
- throw new Error(`L1 contracts configuration validation failed with ${errors.length} error(s):\n${errors.map((error, index)=>`${index + 1}. ${error}`).join('\n')}`);
411
- }
412
- }
413
- function validateTallySlasherConfig(config, errors) {
414
- if (config.slasherFlavor !== 'tally') {
415
- return;
416
- }
417
- // From: require(SLASH_OFFSET_IN_ROUNDS > 0, Errors.TallySlashingProposer__SlashOffsetMustBeGreaterThanZero(...));
418
- if (config.slashingOffsetInRounds <= 0) {
419
- errors.push(`slashingOffsetInRounds (${config.slashingOffsetInRounds}) must be greater than 0`);
420
- }
421
- // From: require(ROUND_SIZE_IN_EPOCHS * _epochDuration == ROUND_SIZE, Errors.TallySlashingProposer__RoundSizeMustBeMultipleOfEpochDuration(...));
422
- const roundSizeInSlots = config.slashingRoundSizeInEpochs * config.aztecEpochDuration;
423
- // From: require(QUORUM > 0, Errors.TallySlashingProposer__QuorumMustBeGreaterThanZero());
424
- const { slashingQuorum } = config;
425
- if (slashingQuorum !== undefined && slashingQuorum <= 0) {
426
- errors.push(`slashingQuorum (${slashingQuorum}) must be greater than 0`);
427
- }
428
- // From: require(ROUND_SIZE > 1, Errors.TallySlashingProposer__InvalidQuorumAndRoundSize(QUORUM, ROUND_SIZE));
429
- if (roundSizeInSlots <= 1) {
430
- errors.push(`slashing round size in slots (${roundSizeInSlots}) must be greater than 1`);
431
- }
432
- // From: require(_slashAmounts[0] <= _slashAmounts[1], Errors.TallySlashingProposer__InvalidSlashAmounts(_slashAmounts));
433
- if (config.slashAmountSmall > config.slashAmountMedium) {
434
- errors.push(`slashAmountSmall (${config.slashAmountSmall}) must be less than or equal to slashAmountMedium (${config.slashAmountMedium})`);
435
- }
436
- // From: require(_slashAmounts[1] <= _slashAmounts[2], Errors.TallySlashingProposer__InvalidSlashAmounts(_slashAmounts));
437
- if (config.slashAmountMedium > config.slashAmountLarge) {
438
- errors.push(`slashAmountMedium (${config.slashAmountMedium}) must be less than or equal to slashAmountLarge (${config.slashAmountLarge})`);
439
- }
440
- // From: require(LIFETIME_IN_ROUNDS < ROUNDABOUT_SIZE, Errors.TallySlashingProposer__LifetimeMustBeLessThanRoundabout(...));
441
- const ROUNDABOUT_SIZE = 128; // Constant from TallySlashingProposer
442
- if (config.slashingLifetimeInRounds >= ROUNDABOUT_SIZE) {
443
- errors.push(`slashingLifetimeInRounds (${config.slashingLifetimeInRounds}) must be less than ${ROUNDABOUT_SIZE}`);
444
- }
445
- // From: require(ROUND_SIZE_IN_EPOCHS > 0, Errors.TallySlashingProposer__RoundSizeInEpochsMustBeGreaterThanZero(...));
446
- if (config.slashingRoundSizeInEpochs <= 0) {
447
- errors.push(`slashingRoundSizeInEpochs (${config.slashingRoundSizeInEpochs}) must be greater than 0`);
448
- }
449
- // From: require(ROUND_SIZE < MAX_ROUND_SIZE, Errors.TallySlashingProposer__RoundSizeTooLarge(ROUND_SIZE, MAX_ROUND_SIZE));
450
- const MAX_ROUND_SIZE = 1024; // Constant from TallySlashingProposer
451
- if (roundSizeInSlots >= MAX_ROUND_SIZE) {
452
- errors.push(`slashing round size in slots (${roundSizeInSlots}) must be less than ${MAX_ROUND_SIZE}`);
453
- }
454
- // From: require(COMMITTEE_SIZE > 0, Errors.TallySlashingProposer__CommitteeSizeMustBeGreaterThanZero(COMMITTEE_SIZE));
455
- if (config.aztecTargetCommitteeSize <= 0) {
456
- errors.push(`aztecTargetCommitteeSize (${config.aztecTargetCommitteeSize}) must be greater than 0`);
457
- }
458
- // From: require(voteSize <= 128, Errors.TallySlashingProposer__VoteSizeTooBig(voteSize, 128));
459
- // voteSize = COMMITTEE_SIZE * ROUND_SIZE_IN_EPOCHS / 4
460
- const voteSize = config.aztecTargetCommitteeSize * config.slashingRoundSizeInEpochs / 4;
461
- if (voteSize > 128) {
462
- errors.push(`vote size (${voteSize}) must be <= 128 (committee size * round size in epochs / 4)`);
463
- }
464
- // From: require(COMMITTEE_SIZE * ROUND_SIZE_IN_EPOCHS % 4 == 0, Errors.TallySlashingProposer__InvalidCommitteeAndRoundSize(...));
465
- if (config.aztecTargetCommitteeSize * config.slashingRoundSizeInEpochs % 4 !== 0) {
466
- errors.push(`aztecTargetCommitteeSize * slashingRoundSizeInEpochs (${config.aztecTargetCommitteeSize * config.slashingRoundSizeInEpochs}) must be divisible by 4`);
467
- }
468
- // Slashing offset validation: should be positive to allow proper slashing timing
469
- if (config.slashingOffsetInRounds < 0) {
470
- errors.push('slashingOffsetInRounds cannot be negative');
471
- }
472
- }
@@ -1,4 +1,4 @@
1
1
  import type { Hex } from 'viem';
2
2
  export declare const NULL_KEY: Hex;
3
3
  export declare const AZTEC_TEST_CHAIN_ID = 677692;
4
- //# sourceMappingURL=constants.d.ts.map
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoQyxlQUFPLE1BQU0sUUFBUSxFQUFFLEdBQStFLENBQUM7QUFDdkcsZUFBTyxNQUFNLG1CQUFtQixTQUFTLENBQUMifQ==
@@ -1,3 +1,4 @@
1
+ import type { SlotNumber } from '@aztec/foundation/branded-types';
1
2
  import type { EthAddress } from '@aztec/foundation/eth-address';
2
3
  import { Signature } from '@aztec/foundation/eth-signature';
3
4
  import { type Hex, type TypedDataDefinition } from 'viem';
@@ -5,13 +6,16 @@ import type { L1TxRequest } from '../l1_tx_utils/index.js';
5
6
  export interface IEmpireBase {
6
7
  get address(): EthAddress;
7
8
  getRoundInfo(rollupAddress: Hex, round: bigint): Promise<{
8
- lastSignalSlot: bigint;
9
+ lastSignalSlot: SlotNumber;
9
10
  payloadWithMostSignals: Hex;
11
+ quorumReached: boolean;
10
12
  executed: boolean;
11
13
  }>;
12
- computeRound(slot: bigint): Promise<bigint>;
14
+ computeRound(slot: SlotNumber): Promise<bigint>;
13
15
  createSignalRequest(payload: Hex): L1TxRequest;
14
- createSignalRequestWithSignature(payload: Hex, round: bigint, chainId: number, signerAddress: Hex, signer: (msg: TypedDataDefinition) => Promise<Hex>): Promise<L1TxRequest>;
16
+ createSignalRequestWithSignature(payload: Hex, slot: SlotNumber, chainId: number, signerAddress: Hex, signer: (msg: TypedDataDefinition) => Promise<Hex>): Promise<L1TxRequest>;
17
+ /** Checks if a payload was ever submitted to governance via submitRoundWinner. */
18
+ hasPayloadBeenProposed(payload: Hex, fromBlock: bigint): Promise<boolean>;
15
19
  }
16
20
  export declare function encodeSignal(payload: Hex): Hex;
17
21
  export declare function encodeSignalWithSignature(payload: Hex, signature: Signature): `0x${string}`;
@@ -24,5 +28,5 @@ export declare function encodeSignalWithSignature(payload: Hex, signature: Signa
24
28
  * @param account - The account to sign with (optional if hoisted on wallet client)
25
29
  * @returns The EIP-712 signature
26
30
  */
27
- export declare function signSignalWithSig(signer: (msg: TypedDataDefinition) => Promise<Hex>, payload: Hex, slot: bigint, instance: Hex, verifyingContract: Hex, chainId: number): Promise<Signature>;
28
- //# sourceMappingURL=empire_base.d.ts.map
31
+ export declare function signSignalWithSig(signer: (msg: TypedDataDefinition) => Promise<Hex>, payload: Hex, slot: SlotNumber, instance: Hex, verifyingContract: Hex, chainId: number): Promise<Signature>;
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlX2Jhc2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvZW1waXJlX2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRzVELE9BQU8sRUFBRSxLQUFLLEdBQUcsRUFBRSxLQUFLLG1CQUFtQixFQUFzQixNQUFNLE1BQU0sQ0FBQztBQUU5RSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRCxNQUFNLFdBQVcsV0FBVztJQUMxQixJQUFJLE9BQU8sSUFBSSxVQUFVLENBQUM7SUFDMUIsWUFBWSxDQUNWLGFBQWEsRUFBRSxHQUFHLEVBQ2xCLEtBQUssRUFBRSxNQUFNLEdBQ1osT0FBTyxDQUFDO1FBQUUsY0FBYyxFQUFFLFVBQVUsQ0FBQztRQUFDLHNCQUFzQixFQUFFLEdBQUcsQ0FBQztRQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7UUFBQyxRQUFRLEVBQUUsT0FBTyxDQUFBO0tBQUUsQ0FBQyxDQUFDO0lBQ25ILFlBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRCxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLFdBQVcsQ0FBQztJQUMvQyxnQ0FBZ0MsQ0FDOUIsT0FBTyxFQUFFLEdBQUcsRUFDWixJQUFJLEVBQUUsVUFBVSxFQUNoQixPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxHQUFHLEVBQ2xCLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsS0FBSyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQ2pELE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN4QixrRkFBa0Y7SUFDbEYsc0JBQXNCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztDQUMzRTtBQUVELHdCQUFnQixZQUFZLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBTTlDO0FBRUQsd0JBQWdCLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsaUJBTTNFO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCx3QkFBc0IsaUJBQWlCLENBQ3JDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsS0FBSyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQ1osSUFBSSxFQUFFLFVBQVUsRUFDaEIsUUFBUSxFQUFFLEdBQUcsRUFDYixpQkFBaUIsRUFBRSxHQUFHLEVBQ3RCLE9BQU8sRUFBRSxNQUFNLEdBQ2QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQThCcEIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"empire_base.d.ts","sourceRoot":"","sources":["../../src/contracts/empire_base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,mBAAmB,EAAsB,MAAM,MAAM,CAAC;AAE9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,WAAW,WAAW;IAC1B,IAAI,OAAO,IAAI,UAAU,CAAC;IAC1B,YAAY,CACV,aAAa,EAAE,GAAG,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,sBAAsB,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACvF,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,mBAAmB,CAAC,OAAO,EAAE,GAAG,GAAG,WAAW,CAAC;IAC/C,gCAAgC,CAC9B,OAAO,EAAE,GAAG,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,EAClB,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,GACjD,OAAO,CAAC,WAAW,CAAC,CAAC;CACzB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAM9C;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,iBAM3E;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,EAClD,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,GAAG,EACb,iBAAiB,EAAE,GAAG,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,CA8BpB"}
1
+ {"version":3,"file":"empire_base.d.ts","sourceRoot":"","sources":["../../src/contracts/empire_base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,mBAAmB,EAAsB,MAAM,MAAM,CAAC;AAE9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,WAAW,WAAW;IAC1B,IAAI,OAAO,IAAI,UAAU,CAAC;IAC1B,YAAY,CACV,aAAa,EAAE,GAAG,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,cAAc,EAAE,UAAU,CAAC;QAAC,sBAAsB,EAAE,GAAG,CAAC;QAAC,aAAa,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACnH,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,mBAAmB,CAAC,OAAO,EAAE,GAAG,GAAG,WAAW,CAAC;IAC/C,gCAAgC,CAC9B,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,EAClB,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,GACjD,OAAO,CAAC,WAAW,CAAC,CAAC;IACxB,kFAAkF;IAClF,sBAAsB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAM9C;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,iBAM3E;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,EAClD,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,GAAG,EACb,iBAAiB,EAAE,GAAG,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,CA8BpB"}
@@ -71,7 +71,7 @@ export function encodeSignalWithSignature(payload, signature) {
71
71
  };
72
72
  const message = {
73
73
  payload,
74
- slot,
74
+ slot: BigInt(slot),
75
75
  instance
76
76
  };
77
77
  const typedData = {
@@ -1,3 +1,4 @@
1
+ import { SlotNumber } from '@aztec/foundation/branded-types';
1
2
  import { EthAddress } from '@aztec/foundation/eth-address';
2
3
  import EventEmitter from 'events';
3
4
  import { type Hex, type Log, type TypedDataDefinition } from 'viem';
@@ -19,16 +20,19 @@ export declare class EmpireSlashingProposerContract extends EventEmitter impleme
19
20
  getLifetimeInRounds(): Promise<bigint>;
20
21
  getExecutionDelayInRounds(): Promise<bigint>;
21
22
  getCurrentRound(): Promise<bigint>;
22
- computeRound(slot: bigint): Promise<bigint>;
23
+ computeRound(slot: SlotNumber): Promise<bigint>;
23
24
  getInstance(): Promise<`0x${string}`>;
24
25
  getRoundInfo(rollupAddress: Hex, round: bigint): Promise<{
25
- lastSignalSlot: bigint;
26
+ lastSignalSlot: SlotNumber;
26
27
  payloadWithMostSignals: Hex;
28
+ quorumReached: boolean;
27
29
  executed: boolean;
28
30
  }>;
29
31
  getPayloadSignals(rollupAddress: Hex, round: bigint, payload: Hex): Promise<bigint>;
30
32
  createSignalRequest(payload: Hex): L1TxRequest;
31
- createSignalRequestWithSignature(payload: Hex, slot: bigint, chainId: number, signerAddress: Hex, signer: (msg: TypedDataDefinition) => Promise<Hex>): Promise<L1TxRequest>;
33
+ createSignalRequestWithSignature(payload: Hex, slot: SlotNumber, chainId: number, signerAddress: Hex, signer: (msg: TypedDataDefinition) => Promise<Hex>): Promise<L1TxRequest>;
34
+ /** Checks if a payload was ever submitted to governance via submitRoundWinner. */
35
+ hasPayloadBeenProposed(payload: Hex, fromBlock: bigint): Promise<boolean>;
32
36
  listenToSubmittablePayloads(callback: (args: {
33
37
  payload: `0x${string}`;
34
38
  round: bigint;
@@ -62,4 +66,4 @@ export declare class EmpireSlashingProposerContract extends EventEmitter impleme
62
66
  waitForRound(round: bigint, pollingIntervalSeconds?: number): Promise<boolean>;
63
67
  executeRound(txUtils: L1TxUtils, round: bigint | number): ReturnType<typeof txUtils.sendAndMonitorTransaction>;
64
68
  }
65
- //# sourceMappingURL=empire_slashing_proposer.d.ts.map
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlX3NsYXNoaW5nX3Byb3Bvc2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL2VtcGlyZV9zbGFzaGluZ19wcm9wb3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSzNELE9BQU8sWUFBWSxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBRUwsS0FBSyxHQUFHLEVBQ1IsS0FBSyxHQUFHLEVBQ1IsS0FBSyxtQkFBbUIsRUFHekIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBOEQsTUFBTSxrQkFBa0IsQ0FBQztBQUVoSCxxQkFBYSw0QkFBNkIsU0FBUSxLQUFLO0lBQ3JELFlBQVksS0FBSyxFQUFFLE1BQU0sRUFFeEI7Q0FDRjtBQUVELHFCQUFhLDhCQUErQixTQUFRLFlBQWEsWUFBVyxXQUFXO2FBT25FLE1BQU0sRUFBRSxVQUFVO0lBTnBDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUErRDtJQUN0RixPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBc0U7SUFFL0YsU0FBZ0IsSUFBSSxXQUFxQjtJQUV6QyxZQUNrQixNQUFNLEVBQUUsVUFBVSxFQUNsQyxPQUFPLEVBQUUsR0FBRyxHQUFHLFVBQVUsRUFRMUI7SUFFRCxJQUFXLE9BQU8sZUFFakI7SUFFTSxhQUFhLG9CQUVuQjtJQUVNLFlBQVksb0JBRWxCO0lBRU0sbUJBQW1CLG9CQUV6QjtJQUVNLHlCQUF5QixvQkFFL0I7SUFFTSxlQUFlLG9CQUVyQjtJQUVNLFlBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFckQ7SUFFTSxXQUFXLDJCQUVqQjtJQUVZLFlBQVksQ0FDdkIsYUFBYSxFQUFFLEdBQUcsRUFDbEIsS0FBSyxFQUFFLE1BQU0sR0FDWixPQUFPLENBQUM7UUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDO1FBQUMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDO1FBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQztRQUFDLFFBQVEsRUFBRSxPQUFPLENBQUE7S0FBRSxDQUFDLENBWWpIO0lBRU0saUJBQWlCLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUV6RjtJQUVNLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsV0FBVyxDQU1wRDtJQUVZLGdDQUFnQyxDQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUNaLElBQUksRUFBRSxVQUFVLEVBQ2hCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsYUFBYSxFQUFFLEdBQUcsRUFDbEIsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLG1CQUFtQixLQUFLLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FDakQsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQWN0QjtJQUVELGtGQUFrRjtJQUNyRSxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUdyRjtJQUVNLDJCQUEyQixDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRTtRQUFFLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEtBQUssT0FBTywrQ0FleEc7SUFFTSx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUU7UUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO1FBQUMsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUE7S0FBRSxLQUFLLE9BQU8sK0NBY3JHO0lBRU0sb0JBQW9CLENBQ3pCLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRTtRQUFFLEtBQUssRUFBRSxNQUFNLENBQUM7UUFBQyxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztRQUFDLFFBQVEsRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFBO0tBQUUsS0FBSyxPQUFPLCtDQWVoRztJQUVELDZFQUE2RTtJQUN0RSx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLFdBQVcsQ0FVMUQ7SUFFRCxxRUFBcUU7SUFDOUQsK0JBQStCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTs7Ozs7O2tCQUVqRDtJQUVEOzs7Ozs7T0FNRztJQUNJLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixHQUFFLE1BQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBYXZGO0lBRVksWUFBWSxDQUN2QixPQUFPLEVBQUUsU0FBUyxFQUNsQixLQUFLLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FDckIsVUFBVSxDQUFDLE9BQU8sT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBbUN0RDtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"empire_slashing_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/empire_slashing_proposer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAK3D,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAGL,KAAK,GAAG,EACR,KAAK,GAAG,EACR,KAAK,mBAAmB,EAGzB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,KAAK,WAAW,EAA8D,MAAM,kBAAkB,CAAC;AAEhH,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,KAAK,EAAE,MAAM;CAG1B;AAED,qBAAa,8BAA+B,SAAQ,YAAa,YAAW,WAAW;aAOnE,MAAM,EAAE,UAAU;IANpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+D;IACtF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsE;IAE/F,SAAgB,IAAI,EAAG,QAAQ,CAAU;gBAGvB,MAAM,EAAE,UAAU,EAClC,OAAO,EAAE,GAAG,GAAG,UAAU;IAU3B,IAAW,OAAO,eAEjB;IAEM,aAAa;IAIb,YAAY;IAIZ,mBAAmB;IAInB,yBAAyB;IAIzB,eAAe;IAIf,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3C,WAAW;IAIL,YAAY,CACvB,aAAa,EAAE,GAAG,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,sBAAsB,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAI/E,iBAAiB,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAInF,mBAAmB,CAAC,OAAO,EAAE,GAAG,GAAG,WAAW;IAOxC,gCAAgC,CAC3C,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,EAClB,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,GACjD,OAAO,CAAC,WAAW,CAAC;IAehB,2BAA2B,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO;IAiBlG,wBAAwB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO;IAgB/F,oBAAoB,CACzB,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO;IAiBjG,6EAA6E;IACtE,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW;IAW3D,qEAAqE;IAC9D,+BAA+B,CAAC,IAAI,EAAE,GAAG,EAAE;;;;;;;IAIlD;;;;;;OAMG;IACI,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,sBAAsB,GAAE,MAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAe3E,YAAY,CACvB,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,UAAU,CAAC,OAAO,OAAO,CAAC,yBAAyB,CAAC;CAiDxD"}
1
+ {"version":3,"file":"empire_slashing_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/empire_slashing_proposer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAK3D,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAEL,KAAK,GAAG,EACR,KAAK,GAAG,EACR,KAAK,mBAAmB,EAGzB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,KAAK,WAAW,EAA8D,MAAM,kBAAkB,CAAC;AAEhH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,YAAY,KAAK,EAAE,MAAM,EAExB;CACF;AAED,qBAAa,8BAA+B,SAAQ,YAAa,YAAW,WAAW;aAOnE,MAAM,EAAE,UAAU;IANpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+D;IACtF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsE;IAE/F,SAAgB,IAAI,WAAqB;IAEzC,YACkB,MAAM,EAAE,UAAU,EAClC,OAAO,EAAE,GAAG,GAAG,UAAU,EAQ1B;IAED,IAAW,OAAO,eAEjB;IAEM,aAAa,oBAEnB;IAEM,YAAY,oBAElB;IAEM,mBAAmB,oBAEzB;IAEM,yBAAyB,oBAE/B;IAEM,eAAe,oBAErB;IAEM,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAErD;IAEM,WAAW,2BAEjB;IAEY,YAAY,CACvB,aAAa,EAAE,GAAG,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,cAAc,EAAE,UAAU,CAAC;QAAC,sBAAsB,EAAE,GAAG,CAAC;QAAC,aAAa,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAYjH;IAEM,iBAAiB,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAEzF;IAEM,mBAAmB,CAAC,OAAO,EAAE,GAAG,GAAG,WAAW,CAMpD;IAEY,gCAAgC,CAC3C,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,EAClB,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,GACjD,OAAO,CAAC,WAAW,CAAC,CActB;IAED,kFAAkF;IACrE,sBAAsB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGrF;IAEM,2BAA2B,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,+CAexG;IAEM,wBAAwB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO,+CAcrG;IAEM,oBAAoB,CACzB,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO,+CAehG;IAED,6EAA6E;IACtE,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAU1D;IAED,qEAAqE;IAC9D,+BAA+B,CAAC,IAAI,EAAE,GAAG,EAAE;;;;;;kBAEjD;IAED;;;;;;OAMG;IACI,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,sBAAsB,GAAE,MAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAavF;IAEY,YAAY,CACvB,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,UAAU,CAAC,OAAO,OAAO,CAAC,yBAAyB,CAAC,CAmCtD;CACF"}