@aztec/ethereum 0.0.1-fake-ceab37513c → 0.0.6-commit.a2d1860fe9

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 (228) 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 +22 -68
  7. package/dest/config.d.ts.map +1 -1
  8. package/dest/config.js +61 -338
  9. package/dest/constants.d.ts +1 -1
  10. package/dest/contracts/empire_base.d.ts +9 -5
  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 -4
  14. package/dest/contracts/empire_slashing_proposer.d.ts.map +1 -1
  15. package/dest/contracts/empire_slashing_proposer.js +39 -17
  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 +6 -5
  19. package/dest/contracts/fee_asset_handler.d.ts.map +1 -1
  20. package/dest/contracts/fee_asset_handler.js +11 -9
  21. package/dest/contracts/fee_asset_price_oracle.d.ts +101 -0
  22. package/dest/contracts/fee_asset_price_oracle.d.ts.map +1 -0
  23. package/dest/contracts/fee_asset_price_oracle.js +651 -0
  24. package/dest/contracts/fee_juice.d.ts +1 -1
  25. package/dest/contracts/fee_juice.d.ts.map +1 -1
  26. package/dest/contracts/governance.d.ts +18 -16
  27. package/dest/contracts/governance.d.ts.map +1 -1
  28. package/dest/contracts/governance.js +14 -4
  29. package/dest/contracts/governance_proposer.d.ts +8 -4
  30. package/dest/contracts/governance_proposer.d.ts.map +1 -1
  31. package/dest/contracts/governance_proposer.js +412 -11
  32. package/dest/contracts/gse.d.ts +1 -1
  33. package/dest/contracts/gse.d.ts.map +1 -1
  34. package/dest/contracts/inbox.d.ts +24 -3
  35. package/dest/contracts/inbox.d.ts.map +1 -1
  36. package/dest/contracts/inbox.js +36 -1
  37. package/dest/contracts/index.d.ts +4 -1
  38. package/dest/contracts/index.d.ts.map +1 -1
  39. package/dest/contracts/index.js +3 -0
  40. package/dest/contracts/log.d.ts +13 -0
  41. package/dest/contracts/log.d.ts.map +1 -0
  42. package/dest/contracts/log.js +1 -0
  43. package/dest/contracts/multicall.d.ts +2 -2
  44. package/dest/contracts/multicall.d.ts.map +1 -1
  45. package/dest/contracts/multicall.js +2 -1
  46. package/dest/contracts/outbox.d.ts +41 -0
  47. package/dest/contracts/outbox.d.ts.map +1 -0
  48. package/dest/contracts/outbox.js +86 -0
  49. package/dest/contracts/registry.d.ts +1 -1
  50. package/dest/contracts/registry.d.ts.map +1 -1
  51. package/dest/contracts/rollup.d.ts +195 -123
  52. package/dest/contracts/rollup.d.ts.map +1 -1
  53. package/dest/contracts/rollup.js +755 -184
  54. package/dest/contracts/slasher_contract.d.ts +1 -1
  55. package/dest/contracts/slasher_contract.d.ts.map +1 -1
  56. package/dest/contracts/tally_slashing_proposer.d.ts +15 -7
  57. package/dest/contracts/tally_slashing_proposer.d.ts.map +1 -1
  58. package/dest/contracts/tally_slashing_proposer.js +22 -5
  59. package/dest/contracts/utils.d.ts +1 -1
  60. package/dest/deploy_aztec_l1_contracts.d.ts +259 -0
  61. package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -0
  62. package/dest/deploy_aztec_l1_contracts.js +413 -0
  63. package/dest/deploy_l1_contract.d.ts +68 -0
  64. package/dest/deploy_l1_contract.d.ts.map +1 -0
  65. package/dest/deploy_l1_contract.js +312 -0
  66. package/dest/eth-signer/eth-signer.d.ts +1 -1
  67. package/dest/eth-signer/index.d.ts +1 -1
  68. package/dest/forwarder_proxy.d.ts +32 -0
  69. package/dest/forwarder_proxy.d.ts.map +1 -0
  70. package/dest/forwarder_proxy.js +93 -0
  71. package/dest/generated/l1-contracts-defaults.d.ts +30 -0
  72. package/dest/generated/l1-contracts-defaults.d.ts.map +1 -0
  73. package/dest/generated/l1-contracts-defaults.js +30 -0
  74. package/dest/l1_artifacts.d.ts +11903 -1961
  75. package/dest/l1_artifacts.d.ts.map +1 -1
  76. package/dest/l1_contract_addresses.d.ts +3 -3
  77. package/dest/l1_contract_addresses.d.ts.map +1 -1
  78. package/dest/l1_contract_addresses.js +3 -3
  79. package/dest/l1_reader.d.ts +4 -2
  80. package/dest/l1_reader.d.ts.map +1 -1
  81. package/dest/l1_reader.js +7 -1
  82. package/dest/l1_tx_utils/config.d.ts +11 -5
  83. package/dest/l1_tx_utils/config.d.ts.map +1 -1
  84. package/dest/l1_tx_utils/config.js +45 -9
  85. package/dest/l1_tx_utils/constants.d.ts +8 -2
  86. package/dest/l1_tx_utils/constants.d.ts.map +1 -1
  87. package/dest/l1_tx_utils/constants.js +27 -2
  88. package/dest/l1_tx_utils/factory.d.ts +18 -10
  89. package/dest/l1_tx_utils/factory.d.ts.map +1 -1
  90. package/dest/l1_tx_utils/factory.js +17 -7
  91. package/dest/l1_tx_utils/fee-strategies/index.d.ts +10 -0
  92. package/dest/l1_tx_utils/fee-strategies/index.d.ts.map +1 -0
  93. package/dest/l1_tx_utils/fee-strategies/index.js +12 -0
  94. package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts +8 -0
  95. package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts.map +1 -0
  96. package/dest/l1_tx_utils/fee-strategies/p75_competitive.js +129 -0
  97. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts +23 -0
  98. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts.map +1 -0
  99. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.js +191 -0
  100. package/dest/l1_tx_utils/fee-strategies/types.d.ts +51 -0
  101. package/dest/l1_tx_utils/fee-strategies/types.d.ts.map +1 -0
  102. package/dest/l1_tx_utils/fee-strategies/types.js +3 -0
  103. package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts +41 -0
  104. package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts.map +1 -0
  105. package/dest/l1_tx_utils/forwarder_l1_tx_utils.js +42 -0
  106. package/dest/l1_tx_utils/index-blobs.d.ts +3 -0
  107. package/dest/l1_tx_utils/index-blobs.d.ts.map +1 -0
  108. package/dest/l1_tx_utils/index-blobs.js +2 -0
  109. package/dest/l1_tx_utils/index.d.ts +4 -1
  110. package/dest/l1_tx_utils/index.d.ts.map +1 -1
  111. package/dest/l1_tx_utils/index.js +3 -0
  112. package/dest/l1_tx_utils/interfaces.d.ts +2 -2
  113. package/dest/l1_tx_utils/interfaces.d.ts.map +1 -1
  114. package/dest/l1_tx_utils/l1_fee_analyzer.d.ts +233 -0
  115. package/dest/l1_tx_utils/l1_fee_analyzer.d.ts.map +1 -0
  116. package/dest/l1_tx_utils/l1_fee_analyzer.js +506 -0
  117. package/dest/l1_tx_utils/l1_tx_utils.d.ts +15 -6
  118. package/dest/l1_tx_utils/l1_tx_utils.d.ts.map +1 -1
  119. package/dest/l1_tx_utils/l1_tx_utils.js +64 -17
  120. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +19 -17
  121. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -1
  122. package/dest/l1_tx_utils/readonly_l1_tx_utils.js +69 -40
  123. package/dest/l1_tx_utils/signer.d.ts +1 -1
  124. package/dest/l1_tx_utils/tx_delayer.d.ts +56 -0
  125. package/dest/l1_tx_utils/tx_delayer.d.ts.map +1 -0
  126. package/dest/{test → l1_tx_utils}/tx_delayer.js +65 -36
  127. package/dest/l1_tx_utils/types.d.ts +1 -1
  128. package/dest/l1_tx_utils/types.d.ts.map +1 -1
  129. package/dest/l1_tx_utils/utils.d.ts +1 -1
  130. package/dest/l1_types.d.ts +1 -1
  131. package/dest/publisher_manager.d.ts +3 -2
  132. package/dest/publisher_manager.d.ts.map +1 -1
  133. package/dest/publisher_manager.js +2 -2
  134. package/dest/queries.d.ts +2 -2
  135. package/dest/queries.d.ts.map +1 -1
  136. package/dest/queries.js +16 -6
  137. package/dest/test/chain_monitor.d.ts +27 -24
  138. package/dest/test/chain_monitor.d.ts.map +1 -1
  139. package/dest/test/chain_monitor.js +33 -36
  140. package/dest/test/eth_cheat_codes.d.ts +26 -9
  141. package/dest/test/eth_cheat_codes.d.ts.map +1 -1
  142. package/dest/test/eth_cheat_codes.js +28 -12
  143. package/dest/test/eth_cheat_codes_with_state.d.ts +1 -1
  144. package/dest/test/eth_cheat_codes_with_state.d.ts.map +1 -1
  145. package/dest/test/index.d.ts +1 -3
  146. package/dest/test/index.d.ts.map +1 -1
  147. package/dest/test/index.js +0 -2
  148. package/dest/test/rollup_cheat_codes.d.ts +24 -20
  149. package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
  150. package/dest/test/rollup_cheat_codes.js +97 -41
  151. package/dest/test/start_anvil.d.ts +4 -1
  152. package/dest/test/start_anvil.d.ts.map +1 -1
  153. package/dest/test/start_anvil.js +3 -2
  154. package/dest/test/upgrade_utils.d.ts +1 -1
  155. package/dest/test/upgrade_utils.d.ts.map +1 -1
  156. package/dest/test/upgrade_utils.js +4 -3
  157. package/dest/types.d.ts +57 -2
  158. package/dest/types.d.ts.map +1 -1
  159. package/dest/utils.d.ts +16 -3
  160. package/dest/utils.d.ts.map +1 -1
  161. package/dest/utils.js +64 -0
  162. package/dest/zkPassportVerifierAddress.d.ts +1 -1
  163. package/package.json +34 -14
  164. package/src/client.ts +3 -3
  165. package/src/config.ts +74 -414
  166. package/src/contracts/README.md +157 -0
  167. package/src/contracts/empire_base.ts +8 -5
  168. package/src/contracts/empire_slashing_proposer.ts +38 -32
  169. package/src/contracts/fee_asset_handler.ts +10 -7
  170. package/src/contracts/fee_asset_price_oracle.ts +280 -0
  171. package/src/contracts/governance.ts +13 -4
  172. package/src/contracts/governance_proposer.ts +26 -6
  173. package/src/contracts/inbox.ts +55 -3
  174. package/src/contracts/index.ts +3 -0
  175. package/src/contracts/log.ts +13 -0
  176. package/src/contracts/multicall.ts +5 -2
  177. package/src/contracts/outbox.ts +98 -0
  178. package/src/contracts/rollup.ts +433 -167
  179. package/src/contracts/tally_slashing_proposer.ts +25 -9
  180. package/src/deploy_aztec_l1_contracts.ts +650 -0
  181. package/src/deploy_l1_contract.ts +362 -0
  182. package/src/forwarder_proxy.ts +108 -0
  183. package/src/generated/l1-contracts-defaults.ts +32 -0
  184. package/src/l1_contract_addresses.ts +22 -20
  185. package/src/l1_reader.ts +10 -2
  186. package/src/l1_tx_utils/config.ts +54 -13
  187. package/src/l1_tx_utils/constants.ts +13 -2
  188. package/src/l1_tx_utils/factory.ts +31 -31
  189. package/src/l1_tx_utils/fee-strategies/index.ts +22 -0
  190. package/src/l1_tx_utils/fee-strategies/p75_competitive.ts +163 -0
  191. package/src/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.ts +245 -0
  192. package/src/l1_tx_utils/fee-strategies/types.ts +56 -0
  193. package/src/l1_tx_utils/forwarder_l1_tx_utils.ts +108 -0
  194. package/src/l1_tx_utils/index-blobs.ts +2 -0
  195. package/src/l1_tx_utils/index.ts +3 -0
  196. package/src/l1_tx_utils/interfaces.ts +1 -1
  197. package/src/l1_tx_utils/l1_fee_analyzer.ts +803 -0
  198. package/src/l1_tx_utils/l1_tx_utils.ts +76 -21
  199. package/src/l1_tx_utils/readonly_l1_tx_utils.ts +92 -45
  200. package/src/{test → l1_tx_utils}/tx_delayer.ts +82 -52
  201. package/src/publisher_manager.ts +4 -2
  202. package/src/queries.ts +17 -6
  203. package/src/test/chain_monitor.ts +51 -49
  204. package/src/test/eth_cheat_codes.ts +34 -15
  205. package/src/test/index.ts +0 -2
  206. package/src/test/rollup_cheat_codes.ts +111 -54
  207. package/src/test/start_anvil.ts +5 -1
  208. package/src/test/upgrade_utils.ts +4 -3
  209. package/src/types.ts +62 -0
  210. package/src/utils.ts +83 -1
  211. package/dest/deploy_l1_contracts.d.ts +0 -226
  212. package/dest/deploy_l1_contracts.d.ts.map +0 -1
  213. package/dest/deploy_l1_contracts.js +0 -1459
  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/l1_tx_utils_with_blobs.d.ts +0 -26
  218. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts.map +0 -1
  219. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.js +0 -26
  220. package/dest/test/delayed_tx_utils.d.ts +0 -13
  221. package/dest/test/delayed_tx_utils.d.ts.map +0 -1
  222. package/dest/test/delayed_tx_utils.js +0 -28
  223. package/dest/test/tx_delayer.d.ts +0 -36
  224. package/dest/test/tx_delayer.d.ts.map +0 -1
  225. package/src/deploy_l1_contracts.ts +0 -1838
  226. package/src/index.ts +0 -17
  227. package/src/l1_tx_utils/l1_tx_utils_with_blobs.ts +0 -77
  228. package/src/test/delayed_tx_utils.ts +0 -52
@@ -1,8 +1,12 @@
1
- import { type L1TxRequest, type ViemClient, tryExtractEvent } from '@aztec/ethereum';
1
+ import type { L1TxRequest } from '@aztec/ethereum/l1-tx-utils';
2
+ import type { ViemClient } from '@aztec/ethereum/types';
3
+ import { mergeAbis, tryExtractEvent } from '@aztec/ethereum/utils';
4
+ import { SlotNumber } from '@aztec/foundation/branded-types';
2
5
  import { Buffer32 } from '@aztec/foundation/buffer';
3
6
  import { EthAddress } from '@aztec/foundation/eth-address';
4
7
  import { Signature } from '@aztec/foundation/eth-signature';
5
8
  import { hexToBuffer } from '@aztec/foundation/string';
9
+ import { SlasherAbi } from '@aztec/l1-artifacts/SlasherAbi';
6
10
  import { TallySlashingProposerAbi } from '@aztec/l1-artifacts/TallySlashingProposerAbi';
7
11
 
8
12
  import {
@@ -85,11 +89,20 @@ export class TallySlashingProposerContract {
85
89
  */
86
90
  public async getRound(round: bigint): Promise<{
87
91
  isExecuted: boolean;
88
- readyToExecute: boolean;
89
92
  voteCount: bigint;
90
93
  }> {
91
- const [isExecuted, readyToExecute, voteCount] = await this.contract.read.getRound([round]);
92
- return { isExecuted, readyToExecute, voteCount };
94
+ const [isExecuted, voteCount] = await this.contract.read.getRound([round]);
95
+ return { isExecuted, voteCount };
96
+ }
97
+
98
+ /**
99
+ * Check if a round is ready to execute at a given slot
100
+ * @param round - The round number to check
101
+ * @param slot - The slot number to check at
102
+ * @returns Whether the round is ready to execute
103
+ */
104
+ public async isRoundReadyToExecute(round: bigint, slot: SlotNumber): Promise<boolean> {
105
+ return await this.contract.read.isRoundReadyToExecute([round, BigInt(slot)]);
93
106
  }
94
107
 
95
108
  /** Returns the slash actions and payload address for a given round (zero if no slash actions) */
@@ -140,7 +153,7 @@ export class TallySlashingProposerContract {
140
153
  */
141
154
  public async buildVoteRequestFromSigner(
142
155
  votes: Hex,
143
- slot: bigint,
156
+ slot: SlotNumber,
144
157
  signer: (msg: TypedDataDefinition) => Promise<Hex>,
145
158
  ): Promise<L1TxRequest> {
146
159
  const typedData = this.buildVoteTypedData(votes, slot);
@@ -148,6 +161,7 @@ export class TallySlashingProposerContract {
148
161
 
149
162
  return {
150
163
  to: this.contract.address,
164
+ abi: TallySlashingProposerAbi,
151
165
  data: encodeFunctionData({
152
166
  abi: TallySlashingProposerAbi,
153
167
  functionName: 'vote',
@@ -157,7 +171,7 @@ export class TallySlashingProposerContract {
157
171
  }
158
172
 
159
173
  /** Returns the typed data definition to EIP712-sign for voting */
160
- public buildVoteTypedData(votes: Hex, slot: bigint): TypedDataDefinition {
174
+ public buildVoteTypedData(votes: Hex, slot: SlotNumber): TypedDataDefinition {
161
175
  const domain = {
162
176
  name: 'TallySlashingProposer',
163
177
  version: '1',
@@ -178,12 +192,12 @@ export class TallySlashingProposerContract {
178
192
  ],
179
193
  };
180
194
 
181
- return { domain, types, primaryType: 'Vote', message: { votes, slot } };
195
+ return { domain, types, primaryType: 'Vote', message: { votes, slot: BigInt(slot) } };
182
196
  }
183
197
 
184
198
  /** Gets the digest to sign for voting directly from the contract */
185
- public async getVoteDataDigest(votes: Hex, slot: bigint): Promise<Buffer32> {
186
- return Buffer32.fromString(await this.contract.read.getVoteSignatureDigest([votes, slot]));
199
+ public async getVoteDataDigest(votes: Hex, slot: SlotNumber): Promise<Buffer32> {
200
+ return Buffer32.fromString(await this.contract.read.getVoteSignatureDigest([votes, BigInt(slot)]));
187
201
  }
188
202
 
189
203
  /**
@@ -195,6 +209,7 @@ export class TallySlashingProposerContract {
195
209
  public buildVoteRequestWithSignature(votes: Hex, signature: { v: number; r: Hex; s: Hex }): L1TxRequest {
196
210
  return {
197
211
  to: this.contract.address,
212
+ abi: TallySlashingProposerAbi,
198
213
  data: encodeFunctionData({
199
214
  abi: TallySlashingProposerAbi,
200
215
  functionName: 'vote',
@@ -212,6 +227,7 @@ export class TallySlashingProposerContract {
212
227
  public buildExecuteRoundRequest(round: bigint, committees: EthAddress[][]): L1TxRequest {
213
228
  return {
214
229
  to: this.contract.address,
230
+ abi: mergeAbis([TallySlashingProposerAbi, SlasherAbi]),
215
231
  data: encodeFunctionData({
216
232
  abi: TallySlashingProposerAbi,
217
233
  functionName: 'executeRound',