@aztec/ethereum 4.0.0-nightly.20250907 → 4.0.0-nightly.20260108

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 +2 -2
  4. package/dest/client.d.ts.map +1 -1
  5. package/dest/client.js +6 -2
  6. package/dest/config.d.ts +18 -46
  7. package/dest/config.d.ts.map +1 -1
  8. package/dest/config.js +40 -285
  9. package/dest/constants.d.ts +1 -1
  10. package/dest/contracts/empire_base.d.ts +8 -6
  11. package/dest/contracts/empire_base.d.ts.map +1 -1
  12. package/dest/contracts/empire_base.js +1 -1
  13. package/dest/contracts/empire_slashing_proposer.d.ts +8 -6
  14. package/dest/contracts/empire_slashing_proposer.d.ts.map +1 -1
  15. package/dest/contracts/empire_slashing_proposer.js +18 -3
  16. package/dest/contracts/errors.d.ts +1 -1
  17. package/dest/contracts/errors.d.ts.map +1 -1
  18. package/dest/contracts/fee_asset_handler.d.ts +4 -4
  19. package/dest/contracts/fee_asset_handler.d.ts.map +1 -1
  20. package/dest/contracts/fee_juice.d.ts +1 -1
  21. package/dest/contracts/fee_juice.d.ts.map +1 -1
  22. package/dest/contracts/governance.d.ts +16 -16
  23. package/dest/contracts/governance.d.ts.map +1 -1
  24. package/dest/contracts/governance.js +7 -3
  25. package/dest/contracts/governance_proposer.d.ts +7 -6
  26. package/dest/contracts/governance_proposer.d.ts.map +1 -1
  27. package/dest/contracts/governance_proposer.js +400 -12
  28. package/dest/contracts/gse.d.ts +1 -1
  29. package/dest/contracts/gse.d.ts.map +1 -1
  30. package/dest/contracts/inbox.d.ts +7 -3
  31. package/dest/contracts/inbox.d.ts.map +1 -1
  32. package/dest/contracts/inbox.js +4 -0
  33. package/dest/contracts/index.d.ts +1 -1
  34. package/dest/contracts/multicall.d.ts +5 -7
  35. package/dest/contracts/multicall.d.ts.map +1 -1
  36. package/dest/contracts/multicall.js +6 -4
  37. package/dest/contracts/registry.d.ts +1 -1
  38. package/dest/contracts/registry.d.ts.map +1 -1
  39. package/dest/contracts/rollup.d.ts +169 -118
  40. package/dest/contracts/rollup.d.ts.map +1 -1
  41. package/dest/contracts/rollup.js +714 -243
  42. package/dest/contracts/slasher_contract.d.ts +11 -1
  43. package/dest/contracts/slasher_contract.d.ts.map +1 -1
  44. package/dest/contracts/slasher_contract.js +18 -0
  45. package/dest/contracts/tally_slashing_proposer.d.ts +15 -7
  46. package/dest/contracts/tally_slashing_proposer.d.ts.map +1 -1
  47. package/dest/contracts/tally_slashing_proposer.js +15 -5
  48. package/dest/contracts/utils.d.ts +1 -1
  49. package/dest/deploy_aztec_l1_contracts.d.ts +247 -0
  50. package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -0
  51. package/dest/deploy_aztec_l1_contracts.js +336 -0
  52. package/dest/deploy_l1_contract.d.ts +68 -0
  53. package/dest/deploy_l1_contract.d.ts.map +1 -0
  54. package/dest/deploy_l1_contract.js +312 -0
  55. package/dest/eth-signer/eth-signer.d.ts +1 -1
  56. package/dest/eth-signer/index.d.ts +1 -1
  57. package/dest/forwarder_proxy.d.ts +32 -0
  58. package/dest/forwarder_proxy.d.ts.map +1 -0
  59. package/dest/forwarder_proxy.js +93 -0
  60. package/dest/l1_artifacts.d.ts +17733 -6280
  61. package/dest/l1_artifacts.d.ts.map +1 -1
  62. package/dest/l1_artifacts.js +10 -5
  63. package/dest/l1_contract_addresses.d.ts +8 -4
  64. package/dest/l1_contract_addresses.d.ts.map +1 -1
  65. package/dest/l1_contract_addresses.js +5 -4
  66. package/dest/l1_reader.d.ts +4 -2
  67. package/dest/l1_reader.d.ts.map +1 -1
  68. package/dest/l1_reader.js +7 -1
  69. package/dest/l1_tx_utils/config.d.ts +59 -0
  70. package/dest/l1_tx_utils/config.d.ts.map +1 -0
  71. package/dest/l1_tx_utils/config.js +96 -0
  72. package/dest/l1_tx_utils/constants.d.ts +12 -0
  73. package/dest/l1_tx_utils/constants.d.ts.map +1 -0
  74. package/dest/l1_tx_utils/constants.js +39 -0
  75. package/dest/l1_tx_utils/factory.d.ts +24 -0
  76. package/dest/l1_tx_utils/factory.d.ts.map +1 -0
  77. package/dest/l1_tx_utils/factory.js +12 -0
  78. package/dest/l1_tx_utils/fee-strategies/index.d.ts +10 -0
  79. package/dest/l1_tx_utils/fee-strategies/index.d.ts.map +1 -0
  80. package/dest/l1_tx_utils/fee-strategies/index.js +12 -0
  81. package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts +8 -0
  82. package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts.map +1 -0
  83. package/dest/l1_tx_utils/fee-strategies/p75_competitive.js +129 -0
  84. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts +23 -0
  85. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts.map +1 -0
  86. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.js +191 -0
  87. package/dest/l1_tx_utils/fee-strategies/types.d.ts +51 -0
  88. package/dest/l1_tx_utils/fee-strategies/types.d.ts.map +1 -0
  89. package/dest/l1_tx_utils/fee-strategies/types.js +3 -0
  90. package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts +41 -0
  91. package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts.map +1 -0
  92. package/dest/l1_tx_utils/forwarder_l1_tx_utils.js +48 -0
  93. package/dest/l1_tx_utils/index-blobs.d.ts +3 -0
  94. package/dest/l1_tx_utils/index-blobs.d.ts.map +1 -0
  95. package/dest/l1_tx_utils/index-blobs.js +2 -0
  96. package/dest/l1_tx_utils/index.d.ts +12 -0
  97. package/dest/l1_tx_utils/index.d.ts.map +1 -0
  98. package/dest/l1_tx_utils/index.js +12 -0
  99. package/dest/l1_tx_utils/interfaces.d.ts +76 -0
  100. package/dest/l1_tx_utils/interfaces.d.ts.map +1 -0
  101. package/dest/l1_tx_utils/interfaces.js +4 -0
  102. package/dest/l1_tx_utils/l1_fee_analyzer.d.ts +233 -0
  103. package/dest/l1_tx_utils/l1_fee_analyzer.d.ts.map +1 -0
  104. package/dest/l1_tx_utils/l1_fee_analyzer.js +506 -0
  105. package/dest/l1_tx_utils/l1_tx_utils.d.ts +94 -0
  106. package/dest/l1_tx_utils/l1_tx_utils.d.ts.map +1 -0
  107. package/dest/l1_tx_utils/l1_tx_utils.js +623 -0
  108. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts +26 -0
  109. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts.map +1 -0
  110. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.js +26 -0
  111. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +83 -0
  112. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -0
  113. package/dest/l1_tx_utils/readonly_l1_tx_utils.js +323 -0
  114. package/dest/l1_tx_utils/signer.d.ts +4 -0
  115. package/dest/l1_tx_utils/signer.d.ts.map +1 -0
  116. package/dest/l1_tx_utils/signer.js +16 -0
  117. package/dest/l1_tx_utils/types.d.ts +67 -0
  118. package/dest/l1_tx_utils/types.d.ts.map +1 -0
  119. package/dest/l1_tx_utils/types.js +26 -0
  120. package/dest/l1_tx_utils/utils.d.ts +4 -0
  121. package/dest/l1_tx_utils/utils.d.ts.map +1 -0
  122. package/dest/l1_tx_utils/utils.js +14 -0
  123. package/dest/l1_types.d.ts +1 -1
  124. package/dest/publisher_manager.d.ts +8 -3
  125. package/dest/publisher_manager.d.ts.map +1 -1
  126. package/dest/publisher_manager.js +36 -8
  127. package/dest/queries.d.ts +1 -1
  128. package/dest/queries.d.ts.map +1 -1
  129. package/dest/queries.js +20 -14
  130. package/dest/test/chain_monitor.d.ts +29 -22
  131. package/dest/test/chain_monitor.d.ts.map +1 -1
  132. package/dest/test/chain_monitor.js +81 -38
  133. package/dest/test/delayed_tx_utils.d.ts +3 -3
  134. package/dest/test/delayed_tx_utils.d.ts.map +1 -1
  135. package/dest/test/delayed_tx_utils.js +2 -2
  136. package/dest/test/eth_cheat_codes.d.ts +36 -14
  137. package/dest/test/eth_cheat_codes.d.ts.map +1 -1
  138. package/dest/test/eth_cheat_codes.js +126 -31
  139. package/dest/test/eth_cheat_codes_with_state.d.ts +1 -1
  140. package/dest/test/eth_cheat_codes_with_state.d.ts.map +1 -1
  141. package/dest/test/index.d.ts +1 -1
  142. package/dest/test/rollup_cheat_codes.d.ts +23 -20
  143. package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
  144. package/dest/test/rollup_cheat_codes.js +82 -43
  145. package/dest/test/start_anvil.d.ts +4 -1
  146. package/dest/test/start_anvil.d.ts.map +1 -1
  147. package/dest/test/start_anvil.js +2 -1
  148. package/dest/test/tx_delayer.d.ts +1 -1
  149. package/dest/test/tx_delayer.d.ts.map +1 -1
  150. package/dest/test/tx_delayer.js +4 -3
  151. package/dest/test/upgrade_utils.d.ts +1 -1
  152. package/dest/test/upgrade_utils.d.ts.map +1 -1
  153. package/dest/test/upgrade_utils.js +3 -2
  154. package/dest/types.d.ts +57 -2
  155. package/dest/types.d.ts.map +1 -1
  156. package/dest/utils.d.ts +15 -3
  157. package/dest/utils.d.ts.map +1 -1
  158. package/dest/utils.js +28 -161
  159. package/dest/zkPassportVerifierAddress.d.ts +1 -1
  160. package/dest/zkPassportVerifierAddress.js +1 -1
  161. package/package.json +33 -14
  162. package/src/client.ts +3 -3
  163. package/src/config.ts +49 -358
  164. package/src/contracts/empire_base.ts +7 -6
  165. package/src/contracts/empire_slashing_proposer.ts +23 -8
  166. package/src/contracts/fee_asset_handler.ts +1 -1
  167. package/src/contracts/governance.ts +3 -3
  168. package/src/contracts/governance_proposer.ts +19 -9
  169. package/src/contracts/inbox.ts +7 -2
  170. package/src/contracts/multicall.ts +12 -10
  171. package/src/contracts/rollup.ts +374 -236
  172. package/src/contracts/slasher_contract.ts +22 -0
  173. package/src/contracts/tally_slashing_proposer.ts +21 -9
  174. package/src/deploy_aztec_l1_contracts.ts +557 -0
  175. package/src/deploy_l1_contract.ts +362 -0
  176. package/src/forwarder_proxy.ts +108 -0
  177. package/src/l1_artifacts.ts +14 -6
  178. package/src/l1_contract_addresses.ts +24 -20
  179. package/src/l1_reader.ts +10 -2
  180. package/src/l1_tx_utils/README.md +177 -0
  181. package/src/l1_tx_utils/config.ts +161 -0
  182. package/src/l1_tx_utils/constants.ts +29 -0
  183. package/src/l1_tx_utils/factory.ts +64 -0
  184. package/src/l1_tx_utils/fee-strategies/index.ts +22 -0
  185. package/src/l1_tx_utils/fee-strategies/p75_competitive.ts +163 -0
  186. package/src/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.ts +245 -0
  187. package/src/l1_tx_utils/fee-strategies/types.ts +56 -0
  188. package/src/l1_tx_utils/forwarder_l1_tx_utils.ts +119 -0
  189. package/src/l1_tx_utils/index-blobs.ts +2 -0
  190. package/src/l1_tx_utils/index.ts +14 -0
  191. package/src/l1_tx_utils/interfaces.ts +86 -0
  192. package/src/l1_tx_utils/l1_fee_analyzer.ts +803 -0
  193. package/src/l1_tx_utils/l1_tx_utils.ts +738 -0
  194. package/src/l1_tx_utils/l1_tx_utils_with_blobs.ts +77 -0
  195. package/src/l1_tx_utils/readonly_l1_tx_utils.ts +419 -0
  196. package/src/l1_tx_utils/signer.ts +28 -0
  197. package/src/l1_tx_utils/types.ts +85 -0
  198. package/src/l1_tx_utils/utils.ts +16 -0
  199. package/src/publisher_manager.ts +51 -9
  200. package/src/queries.ts +24 -10
  201. package/src/test/chain_monitor.ts +102 -44
  202. package/src/test/delayed_tx_utils.ts +2 -2
  203. package/src/test/eth_cheat_codes.ts +150 -31
  204. package/src/test/rollup_cheat_codes.ts +95 -53
  205. package/src/test/start_anvil.ts +4 -0
  206. package/src/test/tx_delayer.ts +5 -3
  207. package/src/test/upgrade_utils.ts +3 -2
  208. package/src/types.ts +62 -0
  209. package/src/utils.ts +41 -184
  210. package/src/zkPassportVerifierAddress.ts +1 -1
  211. package/dest/deploy_l1_contracts.d.ts +0 -211
  212. package/dest/deploy_l1_contracts.d.ts.map +0 -1
  213. package/dest/deploy_l1_contracts.js +0 -1267
  214. package/dest/index.d.ts +0 -18
  215. package/dest/index.d.ts.map +0 -1
  216. package/dest/index.js +0 -17
  217. package/dest/l1_tx_utils.d.ts +0 -250
  218. package/dest/l1_tx_utils.d.ts.map +0 -1
  219. package/dest/l1_tx_utils.js +0 -826
  220. package/dest/l1_tx_utils_with_blobs.d.ts +0 -19
  221. package/dest/l1_tx_utils_with_blobs.d.ts.map +0 -1
  222. package/dest/l1_tx_utils_with_blobs.js +0 -85
  223. package/src/deploy_l1_contracts.ts +0 -1596
  224. package/src/index.ts +0 -17
  225. package/src/l1_tx_utils.ts +0 -1105
  226. package/src/l1_tx_utils_with_blobs.ts +0 -144
package/dest/account.d.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  export declare function getAddressFromPrivateKey(privateKey: `0x${string}`): `0x${string}`;
2
- //# sourceMappingURL=account.d.ts.map
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2FjY291bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsd0JBQWdCLHdCQUF3QixDQUFDLFVBQVUsRUFBRSxLQUFLLE1BQU0sRUFBRSxHQUFHLEtBQUssTUFBTSxFQUFFLENBRWpGIn0=
package/dest/chain.d.ts CHANGED
@@ -22,4 +22,4 @@ export declare function createEthereumChain(rpcUrls: string[], _chainId: number
22
22
  * Helper function to determine if a chain id is an instance of Anvil
23
23
  */
24
24
  export declare function isAnvilTestChain(_chainId: number | string): boolean;
25
- //# sourceMappingURL=chain.d.ts.map
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW4uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGFpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLbEM7O0dBRUc7QUFDSCxNQUFNLFdBQVcsYUFBYTtJQUM1Qjs7T0FFRztJQUNILFNBQVMsRUFBRSxLQUFLLENBQUM7SUFFakI7O09BRUc7SUFDSCxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7Q0FDbkI7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FBRyxhQUFhLENBK0IvRjtBQUVEOztHQUVHO0FBQ0gsd0JBQWdCLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxNQUFNLEdBQUcsTUFBTSxHQUFHLE9BQU8sQ0FTbkUifQ==
package/dest/client.d.ts CHANGED
@@ -2,7 +2,7 @@ import type { Logger } from '@aztec/foundation/log';
2
2
  import { type Chain, type HDAccount, type LocalAccount, type PrivateKeyAccount } from 'viem';
3
3
  import type { ExtendedViemWalletClient, ViemPublicClient } from './types.js';
4
4
  type Config = {
5
- /** The RPC Url of the ethereum host. */
5
+ /** List of URLs of Ethereum RPC nodes that services will connect to (comma separated). */
6
6
  l1RpcUrls: string[];
7
7
  /** The chain ID of the ethereum host. */
8
8
  l1ChainId: number;
@@ -15,4 +15,4 @@ export declare function getPublicClient(config: Config): ViemPublicClient;
15
15
  /** Returns a viem public client after waiting for the L1 RPC node to become available. */
16
16
  export declare function waitForPublicClient(config: Config, logger?: Logger): Promise<ViemPublicClient>;
17
17
  export declare function createExtendedL1Client(rpcUrls: string[], mnemonicOrPrivateKeyOrHdAccount: string | HDAccount | PrivateKeyAccount | LocalAccount, chain?: Chain, pollingIntervalMS?: number, addressIndex?: number): ExtendedViemWalletClient;
18
- //# sourceMappingURL=client.d.ts.map
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR3BELE9BQU8sRUFDTCxLQUFLLEtBQUssRUFDVixLQUFLLFNBQVMsRUFDZCxLQUFLLFlBQVksRUFDakIsS0FBSyxpQkFBaUIsRUFNdkIsTUFBTSxNQUFNLENBQUM7QUFLZCxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU3RSxLQUFLLE1BQU0sR0FBRztJQUNaLDBGQUEwRjtJQUMxRixTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDcEIseUNBQXlDO0lBQ3pDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsMkNBQTJDO0lBQzNDLHFCQUFxQixDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ2hDLENBQUM7QUFFRixZQUFZLEVBQUUsTUFBTSxJQUFJLG9CQUFvQixFQUFFLENBQUM7QUFJL0Msd0RBQXdEO0FBQ3hELHdCQUFnQixlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxnQkFBZ0IsQ0FPaEU7QUFFRCwwRkFBMEY7QUFDMUYsd0JBQXNCLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUlwRztBQXlCRCx3QkFBZ0Isc0JBQXNCLENBQ3BDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFDakIsK0JBQStCLEVBQUUsTUFBTSxHQUFHLFNBQVMsR0FBRyxpQkFBaUIsR0FBRyxZQUFZLEVBQ3RGLEtBQUssR0FBRSxLQUFlLEVBQ3RCLGlCQUFpQixDQUFDLEVBQUUsTUFBTSxFQUMxQixZQUFZLENBQUMsRUFBRSxNQUFNLEdBQ3BCLHdCQUF3QixDQWdCMUIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EACL,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAMvB,MAAM,MAAM,CAAC;AAKd,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE7E,KAAK,MAAM,GAAG;IACZ,wCAAwC;IACxC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,YAAY,EAAE,MAAM,IAAI,oBAAoB,EAAE,CAAC;AAI/C,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAOhE;AAED,0FAA0F;AAC1F,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAIpG;AAyBD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EAAE,EACjB,+BAA+B,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,GAAG,YAAY,EACtF,KAAK,GAAE,KAAe,EACtB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,YAAY,CAAC,EAAE,MAAM,GACpB,wBAAwB,CAgB1B"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EACL,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAMvB,MAAM,MAAM,CAAC;AAKd,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE7E,KAAK,MAAM,GAAG;IACZ,0FAA0F;IAC1F,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,YAAY,EAAE,MAAM,IAAI,oBAAoB,EAAE,CAAC;AAI/C,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAOhE;AAED,0FAA0F;AAC1F,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAIpG;AAyBD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EAAE,EACjB,+BAA+B,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,GAAG,YAAY,EACtF,KAAK,GAAE,KAAe,EACtB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,YAAY,CAAC,EAAE,MAAM,GACpB,wBAAwB,CAgB1B"}
package/dest/client.js CHANGED
@@ -8,7 +8,9 @@ import { createEthereumChain } from './chain.js';
8
8
  const chain = createEthereumChain(config.l1RpcUrls, config.l1ChainId);
9
9
  return createPublicClient({
10
10
  chain: chain.chainInfo,
11
- transport: fallback(config.l1RpcUrls.map((url)=>http(url))),
11
+ transport: fallback(config.l1RpcUrls.map((url)=>http(url, {
12
+ batch: false
13
+ }))),
12
14
  pollingInterval: config.viemPollingIntervalMS
13
15
  });
14
16
  }
@@ -38,7 +40,9 @@ export function createExtendedL1Client(rpcUrls, mnemonicOrPrivateKeyOrHdAccount,
38
40
  const extendedClient = createWalletClient({
39
41
  account: hdAccount,
40
42
  chain,
41
- transport: fallback(rpcUrls.map((url)=>http(url))),
43
+ transport: fallback(rpcUrls.map((url)=>http(url, {
44
+ batch: false
45
+ }))),
42
46
  pollingInterval: pollingIntervalMS
43
47
  }).extend(publicActions);
44
48
  return extendedClient;
package/dest/config.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { type ConfigMappingsType, type NetworkNames } from '@aztec/foundation/config';
1
+ import { type ConfigMappingsType } from '@aztec/foundation/config';
2
2
  import { EthAddress } from '@aztec/foundation/eth-address';
3
- import { type L1TxUtilsConfig } from './l1_tx_utils.js';
3
+ import { type L1TxUtilsConfig } from './l1_tx_utils/config.js';
4
4
  export type GenesisStateConfig = {
5
5
  /** Whether to populate the genesis state with initial fee juice for the test accounts */
6
6
  testAccounts: boolean;
@@ -16,12 +16,20 @@ export type L1ContractsConfig = {
16
16
  aztecEpochDuration: number;
17
17
  /** The target validator committee size. */
18
18
  aztecTargetCommitteeSize: number;
19
+ /** The number of epochs to lag behind the current epoch for validator selection. */
20
+ lagInEpochsForValidatorSet: number;
21
+ /** The number of epochs to lag behind the current epoch for randao selection. */
22
+ lagInEpochsForRandao: number;
23
+ /** The number of checkpoints to lag in the inbox (prevents sequencer DOS attacks). */
24
+ inboxLag: number;
19
25
  /** The number of epochs after an epoch ends that proofs are still accepted. */
20
26
  aztecProofSubmissionEpochs: number;
21
27
  /** The deposit amount for a validator */
22
28
  activationThreshold: bigint;
23
29
  /** The minimum stake for a validator. */
24
30
  ejectionThreshold: bigint;
31
+ /** The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup */
32
+ localEjectionThreshold: bigint;
25
33
  /** The slashing quorum, i.e. how many slots must signal for the same payload in a round for it to be submittable to the Slasher (defaults to slashRoundSize / 2 + 1) */
26
34
  slashingQuorum?: number;
27
35
  /** The slashing round size, i.e. how many epochs are in a slashing round */
@@ -34,6 +42,8 @@ export type L1ContractsConfig = {
34
42
  slashingVetoer: EthAddress;
35
43
  /** How many slashing rounds back we slash (ie when slashing in round N, we slash for offenses committed during epochs of round N-offset) */
36
44
  slashingOffsetInRounds: number;
45
+ /** How long slashing can be disabled for in seconds when vetoer disables it */
46
+ slashingDisableDuration: number;
37
47
  /** Type of slasher proposer */
38
48
  slasherFlavor: 'empire' | 'tally' | 'none';
39
49
  /** Minimum amount that can be slashed in tally slashing */
@@ -58,9 +68,13 @@ export declare const DefaultL1ContractsConfig: {
58
68
  aztecSlotDuration: number;
59
69
  aztecEpochDuration: number;
60
70
  aztecTargetCommitteeSize: number;
71
+ lagInEpochsForValidatorSet: number;
72
+ lagInEpochsForRandao: number;
73
+ inboxLag: number;
61
74
  aztecProofSubmissionEpochs: number;
62
75
  activationThreshold: bigint;
63
76
  ejectionThreshold: bigint;
77
+ localEjectionThreshold: bigint;
64
78
  slashAmountSmall: bigint;
65
79
  slashAmountMedium: bigint;
66
80
  slashAmountLarge: bigint;
@@ -74,52 +88,10 @@ export declare const DefaultL1ContractsConfig: {
74
88
  exitDelaySeconds: number;
75
89
  slasherFlavor: "tally";
76
90
  slashingOffsetInRounds: number;
77
- };
78
- export declare const getGovernanceConfiguration: (networkName: NetworkNames) => {
79
- proposeConfig: {
80
- lockDelay: bigint;
81
- lockAmount: bigint;
82
- };
83
- votingDelay: bigint;
84
- votingDuration: bigint;
85
- executionDelay: bigint;
86
- gracePeriod: bigint;
87
- quorum: bigint;
88
- requiredYeaMargin: bigint;
89
- minimumVotes: bigint;
90
- };
91
- export declare const getGSEConfiguration: (networkName: NetworkNames) => {
92
- activationThreshold: bigint;
93
- ejectionThreshold: bigint;
94
- };
95
- export declare const getRewardConfig: (networkName: NetworkNames) => {
96
- sequencerBps: number;
97
- rewardDistributor: `0x${string}`;
98
- booster: `0x${string}`;
99
- blockReward: bigint;
100
- };
101
- export declare const getRewardBoostConfig: (networkName: NetworkNames) => {
102
- increment: number;
103
- maxScore: number;
104
- a: number;
105
- k: number;
106
- minimum: number;
107
- };
108
- export declare const getEntryQueueConfig: (networkName: NetworkNames) => {
109
- bootstrapValidatorSetSize: bigint;
110
- bootstrapFlushSize: bigint;
111
- normalFlushSizeMin: bigint;
112
- normalFlushSizeQuotient: bigint;
113
- maxQueueFlushSize: bigint;
91
+ slashingDisableDuration: number;
114
92
  };
115
93
  export declare const l1ContractsConfigMappings: ConfigMappingsType<L1ContractsConfig>;
116
94
  export declare const genesisStateConfigMappings: ConfigMappingsType<GenesisStateConfig>;
117
95
  export declare function getL1ContractsConfigEnvVars(): L1ContractsConfig;
118
96
  export declare function getGenesisStateConfigEnvVars(): GenesisStateConfig;
119
- /**
120
- * Validates the L1 contracts configuration to ensure all requirements enforced by L1 contracts
121
- * during construction are satisfied before deployment.
122
- * Accumulates all validation errors and throws an exception listing them all if any are found.
123
- */
124
- export declare function validateConfig(config: Omit<L1ContractsConfig, keyof L1TxUtilsConfig>): void;
125
- //# sourceMappingURL=config.d.ts.map
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQVF4QixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQTJCLE1BQU0seUJBQXlCLENBQUM7QUFFeEYsTUFBTSxNQUFNLGtCQUFrQixHQUFHO0lBQy9CLHlGQUF5RjtJQUN6RixZQUFZLEVBQUUsT0FBTyxDQUFDO0lBQ3RCLHlGQUF5RjtJQUN6RixZQUFZLEVBQUUsT0FBTyxDQUFDO0NBQ3ZCLENBQUM7QUFFRixNQUFNLE1BQU0saUJBQWlCLEdBQUc7SUFDOUIseUNBQXlDO0lBQ3pDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQztJQUM3Qix1RkFBdUY7SUFDdkYsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0lBQzFCLHdDQUF3QztJQUN4QyxrQkFBa0IsRUFBRSxNQUFNLENBQUM7SUFDM0IsMkNBQTJDO0lBQzNDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQztJQUNqQyxvRkFBb0Y7SUFDcEYsMEJBQTBCLEVBQUUsTUFBTSxDQUFDO0lBQ25DLGlGQUFpRjtJQUNqRixvQkFBb0IsRUFBRSxNQUFNLENBQUM7SUFDN0Isc0ZBQXNGO0lBQ3RGLFFBQVEsRUFBRSxNQUFNLENBQUM7SUFDakIsK0VBQStFO0lBQy9FLDBCQUEwQixFQUFFLE1BQU0sQ0FBQztJQUNuQyx5Q0FBeUM7SUFDekMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO0lBQzVCLHlDQUF5QztJQUN6QyxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsbUhBQW1IO0lBQ25ILHNCQUFzQixFQUFFLE1BQU0sQ0FBQztJQUMvQix3S0FBd0s7SUFDeEssY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3hCLDRFQUE0RTtJQUM1RSx5QkFBeUIsRUFBRSxNQUFNLENBQUM7SUFDbEMsZ0dBQWdHO0lBQ2hHLHdCQUF3QixFQUFFLE1BQU0sQ0FBQztJQUNqQyx5R0FBeUc7SUFDekcsOEJBQThCLEVBQUUsTUFBTSxDQUFDO0lBQ3ZDLHlFQUF5RTtJQUN6RSxjQUFjLEVBQUUsVUFBVSxDQUFDO0lBQzNCLDRJQUE0STtJQUM1SSxzQkFBc0IsRUFBRSxNQUFNLENBQUM7SUFDL0IsK0VBQStFO0lBQy9FLHVCQUF1QixFQUFFLE1BQU0sQ0FBQztJQUNoQywrQkFBK0I7SUFDL0IsYUFBYSxFQUFFLFFBQVEsR0FBRyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQzNDLDJEQUEyRDtJQUMzRCxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7SUFDekIsK0NBQStDO0lBQy9DLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUMxQixxRUFBcUU7SUFDckUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLGdFQUFnRTtJQUNoRSx3QkFBd0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNsQyxzQ0FBc0M7SUFDdEMsMkJBQTJCLEVBQUUsTUFBTSxDQUFDO0lBQ3BDLHFDQUFxQztJQUNyQyxVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLGdDQUFnQztJQUNoQyxrQkFBa0IsRUFBRSxNQUFNLENBQUM7SUFDM0IsZ0RBQWdEO0lBQ2hELGdCQUFnQixFQUFFLE1BQU0sQ0FBQztDQUMxQixHQUFHLGVBQWUsQ0FBQztBQUVwQixlQUFPLE1BQU0sd0JBQXdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTBCUixDQUFDO0FBRTlCLGVBQU8sTUFBTSx5QkFBeUIsRUFBRSxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0E0STNFLENBQUM7QUFFRixlQUFPLE1BQU0sMEJBQTBCLEVBQUUsa0JBQWtCLENBQUMsa0JBQWtCLENBVzdFLENBQUM7QUFFRix3QkFBZ0IsMkJBQTJCLElBQUksaUJBQWlCLENBRS9EO0FBRUQsd0JBQWdCLDRCQUE0QixJQUFJLGtCQUFrQixDQUVqRSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAOlB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,kBAAkB,CAAC;AAEjF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;IACtB,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yCAAyC;IACzC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uFAAuF;IACvF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,wBAAwB,EAAE,MAAM,CAAC;IACjC,+EAA+E;IAC/E,0BAA0B,EAAE,MAAM,CAAC;IACnC,yCAAyC;IACzC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wKAAwK;IACxK,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,yBAAyB,EAAE,MAAM,CAAC;IAClC,gGAAgG;IAChG,wBAAwB,EAAE,MAAM,CAAC;IACjC,yGAAyG;IACzG,8BAA8B,EAAE,MAAM,CAAC;IACvC,yEAAyE;IACzE,cAAc,EAAE,UAAU,CAAC;IAC3B,4IAA4I;IAC5I,sBAAsB,EAAE,MAAM,CAAC;IAC/B,+BAA+B;IAC/B,aAAa,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC3C,2DAA2D;IAC3D,gBAAgB,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,gBAAgB,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,sCAAsC;IACtC,2BAA2B,EAAE,MAAM,CAAC;IACpC,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GAAG,eAAe,CAAC;AAEpB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;CAqBR,CAAC;AA8B9B,eAAO,MAAM,0BAA0B,GAAI,aAAa,YAAY;;;;;;;;;;;;CAUnE,CAAC;AAYF,eAAO,MAAM,mBAAmB,GAAI,aAAa,YAAY;;;CAU5D,CAAC;AAmBF,eAAO,MAAM,eAAe,GAAI,aAAa,YAAY;;;;;CAUxD,CAAC;AAkBF,eAAO,MAAM,oBAAoB,GAAI,aAAa,YAAY;;;;;;CAU7D,CAAC;AAmBF,eAAO,MAAM,mBAAmB,GAAI,aAAa,YAAY;;;;;;CAU5D,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CAkH3E,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,kBAAkB,CAW7E,CAAC;AAEF,wBAAgB,2BAA2B,IAAI,iBAAiB,CAE/D;AAED,wBAAgB,4BAA4B,IAAI,kBAAkB,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,eAAe,CAAC,GAAG,IAAI,CAmH3F"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAQxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,yBAAyB,CAAC;AAExF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;IACtB,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yCAAyC;IACzC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uFAAuF;IACvF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,wBAAwB,EAAE,MAAM,CAAC;IACjC,oFAAoF;IACpF,0BAA0B,EAAE,MAAM,CAAC;IACnC,iFAAiF;IACjF,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sFAAsF;IACtF,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,0BAA0B,EAAE,MAAM,CAAC;IACnC,yCAAyC;IACzC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mHAAmH;IACnH,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wKAAwK;IACxK,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,yBAAyB,EAAE,MAAM,CAAC;IAClC,gGAAgG;IAChG,wBAAwB,EAAE,MAAM,CAAC;IACjC,yGAAyG;IACzG,8BAA8B,EAAE,MAAM,CAAC;IACvC,yEAAyE;IACzE,cAAc,EAAE,UAAU,CAAC;IAC3B,4IAA4I;IAC5I,sBAAsB,EAAE,MAAM,CAAC;IAC/B,+EAA+E;IAC/E,uBAAuB,EAAE,MAAM,CAAC;IAChC,+BAA+B;IAC/B,aAAa,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC3C,2DAA2D;IAC3D,gBAAgB,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,gBAAgB,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,sCAAsC;IACtC,2BAA2B,EAAE,MAAM,CAAC;IACpC,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GAAG,eAAe,CAAC;AAEpB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BR,CAAC;AAE9B,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CA4I3E,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,kBAAkB,CAW7E,CAAC;AAEF,wBAAgB,2BAA2B,IAAI,iBAAiB,CAE/D;AAED,wBAAgB,4BAA4B,IAAI,kBAAkB,CAEjE"}
package/dest/config.js CHANGED
@@ -1,160 +1,33 @@
1
- import { bigintConfigHelper, booleanConfigHelper, enumConfigHelper, getConfigFromMappings, numberConfigHelper, optionalNumberConfigHelper } from '@aztec/foundation/config';
1
+ import { // type NetworkNames,
2
+ bigintConfigHelper, booleanConfigHelper, enumConfigHelper, getConfigFromMappings, numberConfigHelper, optionalNumberConfigHelper } from '@aztec/foundation/config';
2
3
  import { EthAddress } from '@aztec/foundation/eth-address';
3
- import { l1TxUtilsConfigMappings } from './l1_tx_utils.js';
4
+ import { l1TxUtilsConfigMappings } from './l1_tx_utils/config.js';
4
5
  export const DefaultL1ContractsConfig = {
5
6
  ethereumSlotDuration: 12,
6
7
  aztecSlotDuration: 36,
7
8
  aztecEpochDuration: 32,
8
9
  aztecTargetCommitteeSize: 48,
10
+ lagInEpochsForValidatorSet: 2,
11
+ lagInEpochsForRandao: 2,
12
+ inboxLag: 1,
9
13
  aztecProofSubmissionEpochs: 1,
10
- activationThreshold: BigInt(100e18),
11
- ejectionThreshold: BigInt(50e18),
12
- slashAmountSmall: BigInt(10e18),
13
- slashAmountMedium: BigInt(20e18),
14
- slashAmountLarge: BigInt(50e18),
14
+ activationThreshold: 100n * 10n ** 18n,
15
+ ejectionThreshold: 50n * 10n ** 18n,
16
+ localEjectionThreshold: 98n * 10n ** 18n,
17
+ slashAmountSmall: 10n * 10n ** 18n,
18
+ slashAmountMedium: 20n * 10n ** 18n,
19
+ slashAmountLarge: 50n * 10n ** 18n,
15
20
  slashingRoundSizeInEpochs: 4,
16
21
  slashingLifetimeInRounds: 5,
17
22
  slashingExecutionDelayInRounds: 0,
18
23
  slashingVetoer: EthAddress.ZERO,
19
24
  governanceProposerRoundSize: 300,
20
- manaTarget: BigInt(1e10),
25
+ manaTarget: BigInt(100e6),
21
26
  provingCostPerMana: BigInt(100),
22
27
  exitDelaySeconds: 2 * 24 * 60 * 60,
23
28
  slasherFlavor: 'tally',
24
- slashingOffsetInRounds: 2
25
- };
26
- const LocalGovernanceConfiguration = {
27
- proposeConfig: {
28
- lockDelay: 60n * 60n * 24n * 30n,
29
- lockAmount: 1n * 10n ** 24n
30
- },
31
- votingDelay: 60n,
32
- votingDuration: 60n * 60n,
33
- executionDelay: 60n,
34
- gracePeriod: 60n * 60n * 24n * 7n,
35
- quorum: 1n * 10n ** 17n,
36
- requiredYeaMargin: 4n * 10n ** 16n,
37
- minimumVotes: 400n * 10n ** 18n
38
- };
39
- const TestnetGovernanceConfiguration = {
40
- proposeConfig: {
41
- lockDelay: 60n * 60n * 24n,
42
- lockAmount: DefaultL1ContractsConfig.activationThreshold * 100n
43
- },
44
- votingDelay: 60n,
45
- votingDuration: 60n * 60n,
46
- executionDelay: 60n * 60n * 24n,
47
- gracePeriod: 60n * 60n * 24n * 7n,
48
- quorum: 3n * 10n ** 17n,
49
- requiredYeaMargin: 4n * 10n ** 16n,
50
- minimumVotes: DefaultL1ContractsConfig.ejectionThreshold * 200n
51
- };
52
- export const getGovernanceConfiguration = (networkName)=>{
53
- switch(networkName){
54
- case 'alpha-testnet':
55
- case 'testnet':
56
- return TestnetGovernanceConfiguration;
57
- case 'local':
58
- return LocalGovernanceConfiguration;
59
- default:
60
- throw new Error('Unrecognized network name: ' + networkName);
61
- }
62
- };
63
- const TestnetGSEConfiguration = {
64
- activationThreshold: BigInt(100e18),
65
- ejectionThreshold: BigInt(50e18)
66
- };
67
- const LocalGSEConfiguration = {
68
- activationThreshold: BigInt(100e18),
69
- ejectionThreshold: BigInt(50e18)
70
- };
71
- export const getGSEConfiguration = (networkName)=>{
72
- switch(networkName){
73
- case 'alpha-testnet':
74
- case 'testnet':
75
- return TestnetGSEConfiguration;
76
- case 'local':
77
- return LocalGSEConfiguration;
78
- default:
79
- throw new Error('Unrecognized network name: ' + networkName);
80
- }
81
- };
82
- // Making a default config here as we are only using it thought the deployment
83
- // and do not expect to be using different setups, so having environment variables
84
- // for it seems overkill
85
- const LocalRewardConfig = {
86
- sequencerBps: 5000,
87
- rewardDistributor: EthAddress.ZERO.toString(),
88
- booster: EthAddress.ZERO.toString(),
89
- blockReward: BigInt(50e18)
90
- };
91
- const TestnetRewardConfig = {
92
- sequencerBps: 5000,
93
- rewardDistributor: EthAddress.ZERO.toString(),
94
- booster: EthAddress.ZERO.toString(),
95
- blockReward: BigInt(50e18)
96
- };
97
- export const getRewardConfig = (networkName)=>{
98
- switch(networkName){
99
- case 'alpha-testnet':
100
- case 'testnet':
101
- return TestnetRewardConfig;
102
- case 'local':
103
- return LocalRewardConfig;
104
- default:
105
- throw new Error('Unrecognized network name: ' + networkName);
106
- }
107
- };
108
- const LocalRewardBoostConfig = {
109
- increment: 200000,
110
- maxScore: 5000000,
111
- a: 5000,
112
- k: 1000000,
113
- minimum: 100000
114
- };
115
- const TestnetRewardBoostConfig = {
116
- increment: 125000,
117
- maxScore: 15000000,
118
- a: 1000,
119
- k: 1000000,
120
- minimum: 100000
121
- };
122
- export const getRewardBoostConfig = (networkName)=>{
123
- switch(networkName){
124
- case 'alpha-testnet':
125
- case 'testnet':
126
- return TestnetRewardBoostConfig;
127
- case 'local':
128
- return LocalRewardBoostConfig;
129
- default:
130
- throw new Error('Unrecognized network name: ' + networkName);
131
- }
132
- };
133
- // Similar to the above, no need for environment variables for this.
134
- const LocalEntryQueueConfig = {
135
- bootstrapValidatorSetSize: 0n,
136
- bootstrapFlushSize: 0n,
137
- normalFlushSizeMin: 48n,
138
- normalFlushSizeQuotient: 2n,
139
- maxQueueFlushSize: 48n
140
- };
141
- const TestnetEntryQueueConfig = {
142
- bootstrapValidatorSetSize: 750n,
143
- bootstrapFlushSize: 75n,
144
- normalFlushSizeMin: 1n,
145
- normalFlushSizeQuotient: 2475n,
146
- maxQueueFlushSize: 32n
147
- };
148
- export const getEntryQueueConfig = (networkName)=>{
149
- switch(networkName){
150
- case 'alpha-testnet':
151
- case 'testnet':
152
- return TestnetEntryQueueConfig;
153
- case 'local':
154
- return LocalEntryQueueConfig;
155
- default:
156
- throw new Error('Unrecognized network name: ' + networkName);
157
- }
29
+ slashingOffsetInRounds: 2,
30
+ slashingDisableDuration: 5 * 24 * 60 * 60
158
31
  };
159
32
  export const l1ContractsConfigMappings = {
160
33
  ethereumSlotDuration: {
@@ -177,6 +50,21 @@ export const l1ContractsConfigMappings = {
177
50
  description: 'The target validator committee size.',
178
51
  ...numberConfigHelper(DefaultL1ContractsConfig.aztecTargetCommitteeSize)
179
52
  },
53
+ lagInEpochsForValidatorSet: {
54
+ env: 'AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET',
55
+ description: 'The number of epochs to lag behind the current epoch for validator selection.',
56
+ ...numberConfigHelper(DefaultL1ContractsConfig.lagInEpochsForValidatorSet)
57
+ },
58
+ lagInEpochsForRandao: {
59
+ env: 'AZTEC_LAG_IN_EPOCHS_FOR_RANDAO',
60
+ description: 'The number of epochs to lag behind the current epoch for randao selection.',
61
+ ...numberConfigHelper(DefaultL1ContractsConfig.lagInEpochsForRandao)
62
+ },
63
+ inboxLag: {
64
+ env: 'AZTEC_INBOX_LAG',
65
+ description: 'The number of checkpoints to lag in the inbox (prevents sequencer DOS attacks).',
66
+ ...numberConfigHelper(DefaultL1ContractsConfig.inboxLag)
67
+ },
180
68
  aztecProofSubmissionEpochs: {
181
69
  env: 'AZTEC_PROOF_SUBMISSION_EPOCHS',
182
70
  description: 'The number of epochs after an epoch ends that proofs are still accepted.',
@@ -192,6 +80,11 @@ export const l1ContractsConfigMappings = {
192
80
  description: 'The minimum stake for a validator.',
193
81
  ...bigintConfigHelper(DefaultL1ContractsConfig.ejectionThreshold)
194
82
  },
83
+ localEjectionThreshold: {
84
+ env: 'AZTEC_LOCAL_EJECTION_THRESHOLD',
85
+ description: 'The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup',
86
+ ...bigintConfigHelper(DefaultL1ContractsConfig.localEjectionThreshold)
87
+ },
195
88
  slashingOffsetInRounds: {
196
89
  env: 'AZTEC_SLASHING_OFFSET_IN_ROUNDS',
197
90
  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)',
@@ -247,6 +140,11 @@ export const l1ContractsConfigMappings = {
247
140
  parseEnv: (val)=>EthAddress.fromString(val),
248
141
  defaultValue: DefaultL1ContractsConfig.slashingVetoer
249
142
  },
143
+ slashingDisableDuration: {
144
+ env: 'AZTEC_SLASHING_DISABLE_DURATION',
145
+ description: 'How long slashing can be disabled for in seconds when vetoer disables it',
146
+ ...numberConfigHelper(DefaultL1ContractsConfig.slashingDisableDuration)
147
+ },
250
148
  governanceProposerQuorum: {
251
149
  env: 'AZTEC_GOVERNANCE_PROPOSER_QUORUM',
252
150
  description: 'The governance proposing quorum',
@@ -292,146 +190,3 @@ export function getL1ContractsConfigEnvVars() {
292
190
  export function getGenesisStateConfigEnvVars() {
293
191
  return getConfigFromMappings(genesisStateConfigMappings);
294
192
  }
295
- /**
296
- * Validates the L1 contracts configuration to ensure all requirements enforced by L1 contracts
297
- * during construction are satisfied before deployment.
298
- * Accumulates all validation errors and throws an exception listing them all if any are found.
299
- */ export function validateConfig(config) {
300
- const errors = [];
301
- // RollupCore constructor validation: normalFlushSizeMin > 0
302
- // From: require(_config.stakingQueueConfig.normalFlushSizeMin > 0, Errors.Staking__InvalidStakingQueueConfig());
303
- const entryQueueConfig = getEntryQueueConfig('testnet'); // Get config to check normalFlushSizeMin
304
- if (entryQueueConfig.normalFlushSizeMin <= 0n) {
305
- errors.push('normalFlushSizeMin must be greater than 0');
306
- }
307
- // TimeLib initialization validation: aztecSlotDuration should be a multiple of ethereumSlotDuration
308
- // While not explicitly required in constructor, this is a common validation for time-based systems
309
- if (config.aztecSlotDuration % config.ethereumSlotDuration !== 0) {
310
- errors.push(`aztecSlotDuration (${config.aztecSlotDuration}) must be a multiple of ethereumSlotDuration (${config.ethereumSlotDuration})`);
311
- }
312
- // EmpireBase constructor validations for governance/slashing proposers
313
- // From: require(QUORUM_SIZE > ROUND_SIZE / 2, Errors.GovernanceProposer__InvalidQuorumAndRoundSize(QUORUM_SIZE, ROUND_SIZE));
314
- const { governanceProposerQuorum, governanceProposerRoundSize } = config;
315
- if (governanceProposerQuorum !== undefined && governanceProposerQuorum <= Math.floor(governanceProposerRoundSize / 2)) {
316
- errors.push(`governanceProposerQuorum (${governanceProposerQuorum}) must be greater than half of governanceProposerRoundSize (${Math.floor(governanceProposerRoundSize / 2)})`);
317
- }
318
- // From: require(QUORUM_SIZE <= ROUND_SIZE, Errors.GovernanceProposer__QuorumCannotBeLargerThanRoundSize(QUORUM_SIZE, ROUND_SIZE));
319
- if (governanceProposerQuorum !== undefined && governanceProposerQuorum > governanceProposerRoundSize) {
320
- errors.push(`governanceProposerQuorum (${governanceProposerQuorum}) cannot be larger than governanceProposerRoundSize (${governanceProposerRoundSize})`);
321
- }
322
- // Slashing quorum validations (similar to governance quorum)
323
- const slashingRoundSize = config.slashingRoundSizeInEpochs * config.aztecEpochDuration;
324
- const { slashingQuorum } = config;
325
- if (slashingQuorum !== undefined && slashingQuorum <= Math.floor(slashingRoundSize / 2)) {
326
- errors.push(`slashingQuorum (${slashingQuorum}) must be greater than half of slashingRoundSizeInEpochs (${Math.floor(slashingRoundSize / 2)})`);
327
- }
328
- if (slashingQuorum !== undefined && slashingQuorum > slashingRoundSize) {
329
- errors.push(`slashingQuorum (${slashingQuorum}) cannot be larger than slashingRoundSizeInEpochs (${slashingRoundSize})`);
330
- }
331
- // EmpireBase and TallySlashingProposer lifetime and execution delay validation
332
- // From: require(LIFETIME_IN_ROUNDS > EXECUTION_DELAY_IN_ROUNDS);
333
- if (config.slashingLifetimeInRounds <= config.slashingExecutionDelayInRounds) {
334
- errors.push(`slashingLifetimeInRounds (${config.slashingLifetimeInRounds}) must be greater than slashingExecutionDelayInRounds (${config.slashingExecutionDelayInRounds})`);
335
- }
336
- // Staking asset validation: activationThreshold > ejectionThreshold
337
- if (config.activationThreshold < config.ejectionThreshold) {
338
- errors.push(`activationThreshold (${config.activationThreshold}) must be greater than ejectionThreshold (${config.ejectionThreshold})`);
339
- }
340
- // TallySlashingProposer constructor validations
341
- if (config.slasherFlavor === 'tally') {
342
- validateTallySlasherConfig(config, errors);
343
- }
344
- // Epoch and slot duration validations
345
- if (config.aztecSlotDuration <= 0) {
346
- errors.push('aztecSlotDuration must be greater than 0');
347
- }
348
- if (config.ethereumSlotDuration <= 0) {
349
- errors.push('ethereumSlotDuration must be greater than 0');
350
- }
351
- if (config.aztecEpochDuration <= 0) {
352
- errors.push('aztecEpochDuration must be greater than 0');
353
- }
354
- // Committee size validation
355
- if (config.aztecTargetCommitteeSize < 0) {
356
- errors.push('aztecTargetCommitteeSize cannot be negative');
357
- }
358
- // Proof submission epochs validation
359
- if (config.aztecProofSubmissionEpochs < 0) {
360
- errors.push('aztecProofSubmissionEpochs cannot be negative');
361
- }
362
- // Exit delay validation
363
- if (config.exitDelaySeconds < 0) {
364
- errors.push('exitDelaySeconds cannot be negative');
365
- }
366
- // Mana validation
367
- if (config.manaTarget < 0n) {
368
- errors.push('manaTarget cannot be negative');
369
- }
370
- if (config.provingCostPerMana < 0n) {
371
- errors.push('provingCostPerMana cannot be negative');
372
- }
373
- // If any errors were found, throw an exception with all of them
374
- if (errors.length > 0) {
375
- throw new Error(`L1 contracts configuration validation failed with ${errors.length} error(s):\n${errors.map((error, index)=>`${index + 1}. ${error}`).join('\n')}`);
376
- }
377
- }
378
- function validateTallySlasherConfig(config, errors) {
379
- if (config.slasherFlavor !== 'tally') {
380
- return;
381
- }
382
- // From: require(SLASH_OFFSET_IN_ROUNDS > 0, Errors.TallySlashingProposer__SlashOffsetMustBeGreaterThanZero(...));
383
- if (config.slashingOffsetInRounds <= 0) {
384
- errors.push(`slashingOffsetInRounds (${config.slashingOffsetInRounds}) must be greater than 0`);
385
- }
386
- // From: require(ROUND_SIZE_IN_EPOCHS * _epochDuration == ROUND_SIZE, Errors.TallySlashingProposer__RoundSizeMustBeMultipleOfEpochDuration(...));
387
- const roundSizeInSlots = config.slashingRoundSizeInEpochs * config.aztecEpochDuration;
388
- // From: require(QUORUM > 0, Errors.TallySlashingProposer__QuorumMustBeGreaterThanZero());
389
- const { slashingQuorum } = config;
390
- if (slashingQuorum !== undefined && slashingQuorum <= 0) {
391
- errors.push(`slashingQuorum (${slashingQuorum}) must be greater than 0`);
392
- }
393
- // From: require(ROUND_SIZE > 1, Errors.TallySlashingProposer__InvalidQuorumAndRoundSize(QUORUM, ROUND_SIZE));
394
- if (roundSizeInSlots <= 1) {
395
- errors.push(`slashing round size in slots (${roundSizeInSlots}) must be greater than 1`);
396
- }
397
- // From: require(_slashAmounts[0] <= _slashAmounts[1], Errors.TallySlashingProposer__InvalidSlashAmounts(_slashAmounts));
398
- if (config.slashAmountSmall > config.slashAmountMedium) {
399
- errors.push(`slashAmountSmall (${config.slashAmountSmall}) must be less than or equal to slashAmountMedium (${config.slashAmountMedium})`);
400
- }
401
- // From: require(_slashAmounts[1] <= _slashAmounts[2], Errors.TallySlashingProposer__InvalidSlashAmounts(_slashAmounts));
402
- if (config.slashAmountMedium > config.slashAmountLarge) {
403
- errors.push(`slashAmountMedium (${config.slashAmountMedium}) must be less than or equal to slashAmountLarge (${config.slashAmountLarge})`);
404
- }
405
- // From: require(LIFETIME_IN_ROUNDS < ROUNDABOUT_SIZE, Errors.TallySlashingProposer__LifetimeMustBeLessThanRoundabout(...));
406
- const ROUNDABOUT_SIZE = 128; // Constant from TallySlashingProposer
407
- if (config.slashingLifetimeInRounds >= ROUNDABOUT_SIZE) {
408
- errors.push(`slashingLifetimeInRounds (${config.slashingLifetimeInRounds}) must be less than ${ROUNDABOUT_SIZE}`);
409
- }
410
- // From: require(ROUND_SIZE_IN_EPOCHS > 0, Errors.TallySlashingProposer__RoundSizeInEpochsMustBeGreaterThanZero(...));
411
- if (config.slashingRoundSizeInEpochs <= 0) {
412
- errors.push(`slashingRoundSizeInEpochs (${config.slashingRoundSizeInEpochs}) must be greater than 0`);
413
- }
414
- // From: require(ROUND_SIZE < MAX_ROUND_SIZE, Errors.TallySlashingProposer__RoundSizeTooLarge(ROUND_SIZE, MAX_ROUND_SIZE));
415
- const MAX_ROUND_SIZE = 1024; // Constant from TallySlashingProposer
416
- if (roundSizeInSlots >= MAX_ROUND_SIZE) {
417
- errors.push(`slashing round size in slots (${roundSizeInSlots}) must be less than ${MAX_ROUND_SIZE}`);
418
- }
419
- // From: require(COMMITTEE_SIZE > 0, Errors.TallySlashingProposer__CommitteeSizeMustBeGreaterThanZero(COMMITTEE_SIZE));
420
- if (config.aztecTargetCommitteeSize <= 0) {
421
- errors.push(`aztecTargetCommitteeSize (${config.aztecTargetCommitteeSize}) must be greater than 0`);
422
- }
423
- // From: require(voteSize <= 128, Errors.TallySlashingProposer__VoteSizeTooBig(voteSize, 128));
424
- // voteSize = COMMITTEE_SIZE * ROUND_SIZE_IN_EPOCHS / 4
425
- const voteSize = config.aztecTargetCommitteeSize * config.slashingRoundSizeInEpochs / 4;
426
- if (voteSize > 128) {
427
- errors.push(`vote size (${voteSize}) must be <= 128 (committee size * round size in epochs / 4)`);
428
- }
429
- // From: require(COMMITTEE_SIZE * ROUND_SIZE_IN_EPOCHS % 4 == 0, Errors.TallySlashingProposer__InvalidCommitteeAndRoundSize(...));
430
- if (config.aztecTargetCommitteeSize * config.slashingRoundSizeInEpochs % 4 !== 0) {
431
- errors.push(`aztecTargetCommitteeSize * slashingRoundSizeInEpochs (${config.aztecTargetCommitteeSize * config.slashingRoundSizeInEpochs}) must be divisible by 4`);
432
- }
433
- // Slashing offset validation: should be positive to allow proper slashing timing
434
- if (config.slashingOffsetInRounds < 0) {
435
- errors.push('slashingOffsetInRounds cannot be negative');
436
- }
437
- }
@@ -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,17 +1,19 @@
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';
4
- import type { L1TxRequest } from '../l1_tx_utils.js';
5
+ 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>;
15
17
  }
16
18
  export declare function encodeSignal(payload: Hex): Hex;
17
19
  export declare function encodeSignalWithSignature(payload: Hex, signature: Signature): `0x${string}`;
@@ -24,5 +26,5 @@ export declare function encodeSignalWithSignature(payload: Hex, signature: Signa
24
26
  * @param account - The account to sign with (optional if hoisted on wallet client)
25
27
  * @returns The EIP-712 signature
26
28
  */
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
29
+ export declare function signSignalWithSig(signer: (msg: TypedDataDefinition) => Promise<Hex>, payload: Hex, slot: SlotNumber, instance: Hex, verifyingContract: Hex, chainId: number): Promise<Signature>;
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlX2Jhc2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvZW1waXJlX2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRzVELE9BQU8sRUFBRSxLQUFLLEdBQUcsRUFBRSxLQUFLLG1CQUFtQixFQUFzQixNQUFNLE1BQU0sQ0FBQztBQUU5RSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRCxNQUFNLFdBQVcsV0FBVztJQUMxQixJQUFJLE9BQU8sSUFBSSxVQUFVLENBQUM7SUFDMUIsWUFBWSxDQUNWLGFBQWEsRUFBRSxHQUFHLEVBQ2xCLEtBQUssRUFBRSxNQUFNLEdBQ1osT0FBTyxDQUFDO1FBQUUsY0FBYyxFQUFFLFVBQVUsQ0FBQztRQUFDLHNCQUFzQixFQUFFLEdBQUcsQ0FBQztRQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7UUFBQyxRQUFRLEVBQUUsT0FBTyxDQUFBO0tBQUUsQ0FBQyxDQUFDO0lBQ25ILFlBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRCxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLFdBQVcsQ0FBQztJQUMvQyxnQ0FBZ0MsQ0FDOUIsT0FBTyxFQUFFLEdBQUcsRUFDWixJQUFJLEVBQUUsVUFBVSxFQUNoQixPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxHQUFHLEVBQ2xCLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsS0FBSyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQ2pELE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztDQUN6QjtBQUVELHdCQUFnQixZQUFZLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBTTlDO0FBRUQsd0JBQWdCLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsaUJBTTNFO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCx3QkFBc0IsaUJBQWlCLENBQ3JDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsS0FBSyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQ1osSUFBSSxFQUFFLFVBQVUsRUFDaEIsUUFBUSxFQUFFLEdBQUcsRUFDYixpQkFBaUIsRUFBRSxHQUFHLEVBQ3RCLE9BQU8sRUFBRSxNQUFNLEdBQ2QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQThCcEIifQ==
@@ -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,mBAAmB,CAAC;AAErD,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;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,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 = {