@aztec/ethereum 0.66.0 → 0.67.1-devnet

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.
@@ -1,3 +1,4 @@
1
+ import { times } from '@aztec/foundation/collection';
1
2
  import { bigintConfigHelper, getDefaultConfig, numberConfigHelper, } from '@aztec/foundation/config';
2
3
  import { makeBackoff, retry } from '@aztec/foundation/retry';
3
4
  import { sleep } from '@aztec/foundation/sleep';
@@ -57,6 +58,11 @@ export const l1TxUtilsConfigMappings = {
57
58
  env: 'L1_TX_MONITOR_TX_TIMEOUT_MS',
58
59
  ...numberConfigHelper(300000), // 5 mins
59
60
  },
61
+ txPropagationMaxQueryAttempts: {
62
+ description: 'How many attempts will be done to get a tx after it was sent',
63
+ env: 'L1_TX_PROPAGATION_MAX_QUERY_ATTEMPTS',
64
+ ...numberConfigHelper(3),
65
+ },
60
66
  };
61
67
  export const defaultL1TxUtilsConfig = getDefaultConfig(l1TxUtilsConfigMappings);
62
68
  export class L1TxUtils {
@@ -75,7 +81,7 @@ export class L1TxUtils {
75
81
  * @param gasConfig - Optional gas configuration
76
82
  * @returns The transaction hash and parameters used
77
83
  */
78
- async sendTransaction(request, _gasConfig) {
84
+ async sendTransaction(request, _gasConfig, _blobInputs) {
79
85
  const gasConfig = { ...this.config, ..._gasConfig };
80
86
  const account = this.walletClient.account;
81
87
  let gasLimit;
@@ -86,13 +92,19 @@ export class L1TxUtils {
86
92
  gasLimit = await this.estimateGas(account, request);
87
93
  }
88
94
  const gasPrice = await this.getGasPrice(gasConfig);
95
+ const blobInputs = _blobInputs || {};
89
96
  const txHash = await this.walletClient.sendTransaction({
90
97
  ...request,
98
+ ...blobInputs,
91
99
  gas: gasLimit,
92
100
  maxFeePerGas: gasPrice.maxFeePerGas,
93
101
  maxPriorityFeePerGas: gasPrice.maxPriorityFeePerGas,
94
102
  });
95
- this.logger?.verbose(`Sent L1 transaction ${txHash} with gas limit ${gasLimit} and price ${formatGwei(gasPrice.maxFeePerGas)} gwei`);
103
+ this.logger?.verbose(`Sent L1 transaction ${txHash}`, {
104
+ gasLimit,
105
+ maxFeePerGas: formatGwei(gasPrice.maxFeePerGas),
106
+ maxPriorityFeePerGas: formatGwei(gasPrice.maxPriorityFeePerGas),
107
+ });
96
108
  return { txHash, gasLimit, gasPrice };
97
109
  }
98
110
  /**
@@ -102,11 +114,13 @@ export class L1TxUtils {
102
114
  * @param params - Parameters used in the initial transaction
103
115
  * @param gasConfig - Optional gas configuration
104
116
  */
105
- async monitorTransaction(request, initialTxHash, params, _gasConfig) {
117
+ async monitorTransaction(request, initialTxHash, params, _gasConfig, _blobInputs) {
106
118
  const gasConfig = { ...this.config, ..._gasConfig };
107
119
  const account = this.walletClient.account;
120
+ const blobInputs = _blobInputs || {};
121
+ const makeGetTransactionBackoff = () => makeBackoff(times(gasConfig.txPropagationMaxQueryAttempts ?? 3, i => i + 1));
108
122
  // Retry a few times, in case the tx is not yet propagated.
109
- const tx = await retry(() => this.publicClient.getTransaction({ hash: initialTxHash }), `Getting L1 transaction ${initialTxHash}`, makeBackoff([1, 2, 3]), this.logger, true);
123
+ const tx = await retry(() => this.publicClient.getTransaction({ hash: initialTxHash }), `Getting L1 transaction ${initialTxHash}`, makeGetTransactionBackoff(), this.logger, true);
110
124
  if (tx?.nonce === undefined || tx?.nonce === null) {
111
125
  throw new Error(`Failed to get L1 transaction ${initialTxHash} nonce`);
112
126
  }
@@ -125,9 +139,9 @@ export class L1TxUtils {
125
139
  try {
126
140
  const receipt = await this.publicClient.getTransactionReceipt({ hash });
127
141
  if (receipt) {
128
- this.logger?.debug(`L1 Transaction ${hash} confirmed`);
142
+ this.logger?.debug(`L1 transaction ${hash} mined`);
129
143
  if (receipt.status === 'reverted') {
130
- this.logger?.error(`L1 Transaction ${hash} reverted`);
144
+ this.logger?.error(`L1 transaction ${hash} reverted`);
131
145
  }
132
146
  return receipt;
133
147
  }
@@ -140,10 +154,10 @@ export class L1TxUtils {
140
154
  }
141
155
  }
142
156
  // Retry a few times, in case the tx is not yet propagated.
143
- const tx = await retry(() => this.publicClient.getTransaction({ hash: currentTxHash }), `Getting L1 transaction ${currentTxHash}`, makeBackoff([1, 2, 3]), this.logger, true);
157
+ const tx = await retry(() => this.publicClient.getTransaction({ hash: currentTxHash }), `Getting L1 transaction ${currentTxHash}`, makeGetTransactionBackoff(), this.logger, true);
144
158
  const timePassed = Date.now() - lastAttemptSent;
145
159
  if (tx && timePassed < gasConfig.stallTimeMs) {
146
- this.logger?.debug(`L1 Transaction ${currentTxHash} pending. Time passed: ${timePassed}ms`);
160
+ this.logger?.debug(`L1 transaction ${currentTxHash} pending. Time passed: ${timePassed}ms.`);
147
161
  // Check timeout before continuing
148
162
  if (gasConfig.txTimeoutMs) {
149
163
  txTimedOut = Date.now() - initialTxTime > gasConfig.txTimeoutMs;
@@ -159,10 +173,11 @@ export class L1TxUtils {
159
173
  const newGasPrice = await this.getGasPrice(gasConfig, attempts, tx.maxFeePerGas && tx.maxPriorityFeePerGas
160
174
  ? { maxFeePerGas: tx.maxFeePerGas, maxPriorityFeePerGas: tx.maxPriorityFeePerGas }
161
175
  : undefined);
162
- this.logger?.debug(`L1 Transaction ${currentTxHash} appears stuck. Attempting speed-up ${attempts}/${gasConfig.maxAttempts} ` +
176
+ this.logger?.debug(`L1 transaction ${currentTxHash} appears stuck. Attempting speed-up ${attempts}/${gasConfig.maxAttempts} ` +
163
177
  `with new priority fee ${formatGwei(newGasPrice.maxPriorityFeePerGas)} gwei`);
164
178
  currentTxHash = await this.walletClient.sendTransaction({
165
179
  ...request,
180
+ ...blobInputs,
166
181
  nonce,
167
182
  gas: params.gasLimit,
168
183
  maxFeePerGas: newGasPrice.maxFeePerGas,
@@ -185,7 +200,7 @@ export class L1TxUtils {
185
200
  txTimedOut = Date.now() - initialTxTime > gasConfig.txTimeoutMs;
186
201
  }
187
202
  }
188
- throw new Error(`L1 Transaction ${currentTxHash} timed out`);
203
+ throw new Error(`L1 transaction ${currentTxHash} timed out`);
189
204
  }
190
205
  /**
191
206
  * Sends a transaction and monitors it until completion
@@ -193,9 +208,9 @@ export class L1TxUtils {
193
208
  * @param gasConfig - Optional gas configuration
194
209
  * @returns The receipt of the successful transaction
195
210
  */
196
- async sendAndMonitorTransaction(request, gasConfig) {
197
- const { txHash, gasLimit } = await this.sendTransaction(request, gasConfig);
198
- return this.monitorTransaction(request, txHash, { gasLimit }, gasConfig);
211
+ async sendAndMonitorTransaction(request, gasConfig, blobInputs) {
212
+ const { txHash, gasLimit } = await this.sendTransaction(request, gasConfig, blobInputs);
213
+ return this.monitorTransaction(request, txHash, { gasLimit }, gasConfig, blobInputs);
199
214
  }
200
215
  /**
201
216
  * Gets the current gas price with bounds checking
@@ -235,19 +250,33 @@ export class L1TxUtils {
235
250
  maxFeePerGas = maxFeePerGas > maxGweiInWei ? maxGweiInWei : maxFeePerGas;
236
251
  // Ensure priority fee doesn't exceed max fee
237
252
  const maxPriorityFeePerGas = priorityFee > maxFeePerGas ? maxFeePerGas : priorityFee;
238
- this.logger?.debug(`Gas price calculation (attempt ${attempt}): baseFee=${formatGwei(baseFee)}, ` +
239
- `maxPriorityFee=${formatGwei(maxPriorityFeePerGas)}, maxFee=${formatGwei(maxFeePerGas)}`);
253
+ this.logger?.debug(`Computed gas price`, {
254
+ attempt,
255
+ baseFee: formatGwei(baseFee),
256
+ maxFeePerGas: formatGwei(maxFeePerGas),
257
+ maxPriorityFeePerGas: formatGwei(maxPriorityFeePerGas),
258
+ });
240
259
  return { maxFeePerGas, maxPriorityFeePerGas };
241
260
  }
242
261
  /**
243
262
  * Estimates gas and adds buffer
244
263
  */
245
- async estimateGas(account, request, _gasConfig) {
264
+ async estimateGas(account, request, _gasConfig, _blobInputs) {
246
265
  const gasConfig = { ...this.config, ..._gasConfig };
247
- const initialEstimate = await this.publicClient.estimateGas({ account, ...request });
266
+ let initialEstimate = 0n;
267
+ // Viem does not allow blobs to be sent via public client's estimate gas, so any estimation will fail.
268
+ // Strangely, the only way to get gas and send blobs is prepareTransactionRequest().
269
+ // See: https://github.com/wevm/viem/issues/2075
270
+ if (_blobInputs) {
271
+ initialEstimate = (await this.walletClient.prepareTransactionRequest({ account, ...request, ..._blobInputs }))
272
+ .gas;
273
+ }
274
+ else {
275
+ initialEstimate = await this.publicClient.estimateGas({ account, ...request });
276
+ }
248
277
  // Add buffer based on either fixed amount or percentage
249
278
  const withBuffer = initialEstimate + (initialEstimate * (gasConfig.gasLimitBufferPercentage ?? 0n)) / 100n;
250
279
  return withBuffer;
251
280
  }
252
281
  }
253
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfdHhfdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbDFfdHhfdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGtCQUFrQixFQUNsQixnQkFBZ0IsRUFDaEIsa0JBQWtCLEdBQ25CLE1BQU0sMEJBQTBCLENBQUM7QUFFbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEQsT0FBTyxFQVVMLFVBQVUsR0FDWCxNQUFNLE1BQU0sQ0FBQztBQUVkLDZCQUE2QjtBQUM3Qiw2QkFBNkI7QUFDN0Isd0NBQXdDO0FBRXhDLE1BQU0sU0FBUyxHQUFHLFdBQWMsQ0FBQztBQUVqQyx3RUFBd0U7QUFDeEUsNEhBQTRIO0FBQzVILE1BQU0sK0JBQStCLEdBQUcsR0FBRyxDQUFDO0FBRTVDLGtDQUFrQztBQUNsQyxNQUFNLGFBQWEsR0FBRyxLQUFNLENBQUM7QUF5QzdCLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUF3QztJQUMxRSx3QkFBd0IsRUFBRTtRQUN4QixXQUFXLEVBQUUsNkRBQTZEO1FBQzFFLEdBQUcsRUFBRSxnQ0FBZ0M7UUFDckMsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUM7S0FDM0I7SUFDRCxPQUFPLEVBQUU7UUFDUCxXQUFXLEVBQUUsMkJBQTJCO1FBQ3hDLEdBQUcsRUFBRSxrQkFBa0I7UUFDdkIsR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLENBQUM7S0FDMUI7SUFDRCxPQUFPLEVBQUU7UUFDUCxXQUFXLEVBQUUsMkJBQTJCO1FBQ3hDLEdBQUcsRUFBRSxrQkFBa0I7UUFDdkIsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7S0FDNUI7SUFDRCx5QkFBeUIsRUFBRTtRQUN6QixXQUFXLEVBQUUsZ0VBQWdFO1FBQzdFLEdBQUcsRUFBRSxpQ0FBaUM7UUFDdEMsR0FB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
282
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfdHhfdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbDFfdHhfdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JELE9BQU8sRUFFTCxrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLGtCQUFrQixHQUNuQixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhELE9BQU8sRUFVTCxVQUFVLEdBQ1gsTUFBTSxNQUFNLENBQUM7QUFFZCw2QkFBNkI7QUFDN0IsNkJBQTZCO0FBQzdCLHdDQUF3QztBQUV4QyxNQUFNLFNBQVMsR0FBRyxXQUFjLENBQUM7QUFFakMsd0VBQXdFO0FBQ3hFLDRIQUE0SDtBQUM1SCxNQUFNLCtCQUErQixHQUFHLEdBQUcsQ0FBQztBQUU1QyxrQ0FBa0M7QUFDbEMsTUFBTSxhQUFhLEdBQUcsS0FBTSxDQUFDO0FBOEM3QixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBd0M7SUFDMUUsd0JBQXdCLEVBQUU7UUFDeEIsV0FBVyxFQUFFLDZEQUE2RDtRQUMxRSxHQUFHLEVBQUUsZ0NBQWdDO1FBQ3JDLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDO0tBQzNCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsV0FBVyxFQUFFLDJCQUEyQjtRQUN4QyxHQUFHLEVBQUUsa0JBQWtCO1FBQ3ZCLEdBQUcsa0JBQWtCLENBQUMsRUFBRSxDQUFDO0tBQzFCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsV0FBVyxFQUFFLDJCQUEyQjtRQUN4QyxHQUFHLEVBQUUsa0JBQWtCO1FBQ3ZCLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDO0tBQzVCO0lBQ0QseUJBQXlCLEVBQUU7UUFDekIsV0FBVyxF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
@@ -0,0 +1,18 @@
1
+ import { EthCheatCodes } from '../eth_cheat_codes.js';
2
+ /**
3
+ * A class that provides utility functions for interacting with ethereum (L1) dumping/loading state to/from a file.
4
+ * It is separated to avoid importing fs in the main EthCheatCodes class, which might be used in the browser.
5
+ */
6
+ export declare class EthCheatCodesWithState extends EthCheatCodes {
7
+ /**
8
+ * Dumps the current chain state to a file.
9
+ * @param fileName - The file name to dump state into
10
+ */
11
+ dumpChainState(fileName: string): Promise<void>;
12
+ /**
13
+ * Loads the chain state from a file.
14
+ * @param fileName - The file name to load state from
15
+ */
16
+ loadChainState(fileName: string): Promise<void>;
17
+ }
18
+ //# sourceMappingURL=eth_cheat_codes_with_state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eth_cheat_codes_with_state.d.ts","sourceRoot":"","sources":["../../src/test/eth_cheat_codes_with_state.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,aAAa;IACvD;;;OAGG;IACU,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5D;;;OAGG;IACU,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAQ7D"}
@@ -0,0 +1,34 @@
1
+ import fs from 'fs';
2
+ import { EthCheatCodes } from '../eth_cheat_codes.js';
3
+ /**
4
+ * A class that provides utility functions for interacting with ethereum (L1) dumping/loading state to/from a file.
5
+ * It is separated to avoid importing fs in the main EthCheatCodes class, which might be used in the browser.
6
+ */
7
+ export class EthCheatCodesWithState extends EthCheatCodes {
8
+ /**
9
+ * Dumps the current chain state to a file.
10
+ * @param fileName - The file name to dump state into
11
+ */
12
+ async dumpChainState(fileName) {
13
+ const res = await this.rpcCall('hardhat_dumpState', []);
14
+ if (res.error) {
15
+ throw new Error(`Error dumping state: ${res.error.message}`);
16
+ }
17
+ const jsonContent = JSON.stringify(res.result);
18
+ fs.writeFileSync(`${fileName}.json`, jsonContent, 'utf8');
19
+ this.logger.verbose(`Dumped state to ${fileName}`);
20
+ }
21
+ /**
22
+ * Loads the chain state from a file.
23
+ * @param fileName - The file name to load state from
24
+ */
25
+ async loadChainState(fileName) {
26
+ const data = JSON.parse(fs.readFileSync(`${fileName}.json`, 'utf8'));
27
+ const res = await this.rpcCall('hardhat_loadState', [data]);
28
+ if (res.error) {
29
+ throw new Error(`Error loading state: ${res.error.message}`);
30
+ }
31
+ this.logger.verbose(`Loaded state from ${fileName}`);
32
+ }
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoX2NoZWF0X2NvZGVzX3dpdGhfc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9ldGhfY2hlYXRfY29kZXNfd2l0aF9zdGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFFcEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXREOzs7R0FHRztBQUNILE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxhQUFhO0lBQ3ZEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxjQUFjLENBQUMsUUFBZ0I7UUFDMUMsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsUUFBUSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLG1CQUFtQixRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsY0FBYyxDQUFDLFFBQWdCO1FBQzFDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxHQUFHLFFBQVEsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDckUsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM1RCxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMscUJBQXFCLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztDQUNGIn0=
@@ -1,3 +1,4 @@
1
1
  export * from './start_anvil.js';
2
2
  export * from './tx_delayer.js';
3
+ export * from './eth_cheat_codes_with_state.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export * from './start_anvil.js';
2
2
  export * from './tx_delayer.js';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUMifQ==
3
+ export * from './eth_cheat_codes_with_state.js';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxpQ0FBaUMsQ0FBQyJ9
@@ -1,7 +1,7 @@
1
- import { type DebugLogger } from '@aztec/foundation/log';
1
+ import { type Logger } from '@aztec/foundation/log';
2
2
  import { type Client, type Hex, type WalletClient } from 'viem';
3
- export declare function waitUntilBlock<T extends Client>(client: T, blockNumber: number | bigint, logger?: DebugLogger): Promise<boolean>;
4
- export declare function waitUntilL1Timestamp<T extends Client>(client: T, timestamp: number | bigint, logger?: DebugLogger): Promise<boolean>;
3
+ export declare function waitUntilBlock<T extends Client>(client: T, blockNumber: number | bigint, logger?: Logger): Promise<boolean>;
4
+ export declare function waitUntilL1Timestamp<T extends Client>(client: T, timestamp: number | bigint, logger?: Logger): Promise<boolean>;
5
5
  export interface Delayer {
6
6
  /** Returns the list of all txs (not just the delayed ones) sent through the attached client. */
7
7
  getTxs(): Hex[];
@@ -13,6 +13,7 @@ export interface Delayer {
13
13
  /**
14
14
  * Returns a new client (without modifying the one passed in) with an injected tx delayer.
15
15
  * The delayer can be used to hold off the next tx to be sent until a given block number.
16
+ * TODO(#10824): This doesn't play along well with blob txs for some reason.
16
17
  */
17
18
  export declare function withDelayer<T extends WalletClient>(client: T, opts: {
18
19
  ethereumSlotDuration: bigint | number;
@@ -1 +1 @@
1
- {"version":3,"file":"tx_delayer.d.ts","sourceRoot":"","sources":["../../src/test/tx_delayer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,uBAAuB,CAAC;AAI5E,OAAO,EACL,KAAK,MAAM,EACX,KAAK,GAAG,EAER,KAAK,YAAY,EAIlB,MAAM,MAAM,CAAC;AAEd,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,oBAgB7G;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,oBAuBjH;AAED,MAAM,WAAW,OAAO;IACtB,gGAAgG;IAChG,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,8EAA8E;IAC9E,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACxE,wEAAwE;IACxE,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;CAC3E;AAwBD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,YAAY,EAChD,MAAM,EAAE,CAAC,EACT,IAAI,EAAE;IAAE,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAC9C;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAsDjC"}
1
+ {"version":3,"file":"tx_delayer.d.ts","sourceRoot":"","sources":["../../src/test/tx_delayer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,OAAO,EACL,KAAK,MAAM,EACX,KAAK,GAAG,EAER,KAAK,YAAY,EAKlB,MAAM,MAAM,CAAC;AAEd,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,oBAgBxG;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,oBAuB5G;AAED,MAAM,WAAW,OAAO;IACtB,gGAAgG;IAChG,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,8EAA8E;IAC9E,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACxE,wEAAwE;IACxE,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;CAC3E;AAwBD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,YAAY,EAChD,MAAM,EAAE,CAAC,EACT,IAAI,EAAE;IAAE,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAC9C;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA+DjC"}
@@ -1,7 +1,8 @@
1
- import { createDebugLogger } from '@aztec/foundation/log';
1
+ import { omit } from '@aztec/foundation/collection';
2
+ import { createLogger } from '@aztec/foundation/log';
2
3
  import { retryUntil } from '@aztec/foundation/retry';
3
4
  import { inspect } from 'util';
4
- import { keccak256, publicActions, walletActions, } from 'viem';
5
+ import { keccak256, parseTransaction, publicActions, walletActions, } from 'viem';
5
6
  export function waitUntilBlock(client, blockNumber, logger) {
6
7
  const publicClient = 'getBlockNumber' in client && typeof client.getBlockNumber === 'function'
7
8
  ? client
@@ -48,9 +49,10 @@ class DelayerImpl {
48
49
  /**
49
50
  * Returns a new client (without modifying the one passed in) with an injected tx delayer.
50
51
  * The delayer can be used to hold off the next tx to be sent until a given block number.
52
+ * TODO(#10824): This doesn't play along well with blob txs for some reason.
51
53
  */
52
54
  export function withDelayer(client, opts) {
53
- const logger = createDebugLogger('aztec:ethereum:tx_delayer');
55
+ const logger = createLogger('ethereum:tx_delayer');
54
56
  const delayer = new DelayerImpl(opts);
55
57
  const extended = client
56
58
  // Tweak sendRawTransaction so it uses the delay defined in the delayer.
@@ -69,15 +71,24 @@ export function withDelayer(client, opts) {
69
71
  // Compute the tx hash manually so we emulate sendRawTransaction response
70
72
  const { serializedTransaction } = args[0];
71
73
  const txHash = keccak256(serializedTransaction);
72
- logger.info(`Delaying tx ${txHash} until ${inspect(waitUntil)}`);
74
+ logger.info(`Delaying tx ${txHash} until ${inspect(waitUntil)}`, {
75
+ argsLen: args.length,
76
+ ...omit(parseTransaction(serializedTransaction), 'data', 'sidecars'),
77
+ });
73
78
  // Do not await here so we can return the tx hash immediately as if it had been sent on the spot.
74
79
  // Instead, delay it so it lands on the desired block number or timestamp, assuming anvil will
75
80
  // mine it immediately.
76
81
  void wait
77
82
  .then(async () => {
78
- const txHash = await client.sendRawTransaction(...args);
79
- logger.info(`Sent previously delayed tx ${txHash} to land on ${inspect(waitUntil)}`);
80
- delayer.txs.push(txHash);
83
+ const clientTxHash = await client.sendRawTransaction(...args);
84
+ if (clientTxHash !== txHash) {
85
+ logger.error(`Tx hash returned by the client does not match computed one`, {
86
+ clientTxHash,
87
+ computedTxHash: txHash,
88
+ });
89
+ }
90
+ logger.info(`Sent previously delayed tx ${clientTxHash} to land on ${inspect(waitUntil)}`);
91
+ delayer.txs.push(clientTxHash);
81
92
  })
82
93
  .catch(err => logger.error(`Error sending tx after delay`, err));
83
94
  return Promise.resolve(txHash);
@@ -99,4 +110,4 @@ export function withDelayer(client, opts) {
99
110
  }));
100
111
  return { client: extended, delayer };
101
112
  }
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfZGVsYXllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L3R4X2RlbGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFLTCxTQUFTLEVBQ1QsYUFBYSxFQUNiLGFBQWEsR0FDZCxNQUFNLE1BQU0sQ0FBQztBQUVkLE1BQU0sVUFBVSxjQUFjLENBQW1CLE1BQVMsRUFBRSxXQUE0QixFQUFFLE1BQW9CO0lBQzVHLE1BQU0sWUFBWSxHQUNoQixnQkFBZ0IsSUFBSSxNQUFNLElBQUksT0FBTyxNQUFNLENBQUMsY0FBYyxLQUFLLFVBQVU7UUFDdkUsQ0FBQyxDQUFFLE1BQWtDO1FBQ3JDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRW5DLE9BQU8sVUFBVSxDQUNmLEtBQUssSUFBSSxFQUFFO1FBQ1QsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLFlBQVksQ0FBQyxjQUFjLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMvRSxNQUFNLEVBQUUsS0FBSyxDQUFDLG1CQUFtQixrQkFBa0IsbUJBQW1CLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDdEYsT0FBTyxrQkFBa0IsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkQsQ0FBQyxFQUNELHVCQUF1QixXQUFXLEVBQUUsRUFDcEMsRUFBRSxFQUNGLEdBQUcsQ0FDSixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBbUIsTUFBUyxFQUFFLFNBQTBCLEVBQUUsTUFBb0I7SUFDaEgsTUFBTSxZQUFZLEdBQ2hCLGdCQUFnQixJ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
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfZGVsYXllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L3R4X2RlbGF5ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BELE9BQU8sRUFBZSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBS0wsU0FBUyxFQUNULGdCQUFnQixFQUNoQixhQUFhLEVBQ2IsYUFBYSxHQUNkLE1BQU0sTUFBTSxDQUFDO0FBRWQsTUFBTSxVQUFVLGNBQWMsQ0FBbUIsTUFBUyxFQUFFLFdBQTRCLEVBQUUsTUFBZTtJQUN2RyxNQUFNLFlBQVksR0FDaEIsZ0JBQWdCLElBQUksTUFBTSxJQUFJLE9BQU8sTUFBTSxDQUFDLGNBQWMsS0FBSyxVQUFVO1FBQ3ZFLENBQUMsQ0FBRSxNQUFrQztRQUNyQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUVuQyxPQUFPLFVBQVUsQ0FDZixLQUFLLElBQUksRUFBRTtRQUNULE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxZQUFZLENBQUMsY0FBYyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0UsTUFBTSxFQUFFLEtBQUssQ0FBQyxtQkFBbUIsa0JBQWtCLG1CQUFtQixXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3RGLE9BQU8sa0JBQWtCLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25ELENBQUMsRUFDRCx1QkFBdUIsV0FBVyxFQUFFLEVBQ3BDLEVBQUUsRUFDRixHQUFHLENBQ0osQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQW1CLE1BQVMs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
package/dest/utils.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type Fr } from '@aztec/foundation/fields';
2
- import { type DebugLogger } from '@aztec/foundation/log';
2
+ import { type Logger } from '@aztec/foundation/log';
3
3
  import { type Abi, type ContractEventName, type DecodeEventLogReturnType, type Hex, type Log } from 'viem';
4
4
  export interface L2Claim {
5
5
  claimSecret: Fr;
@@ -7,5 +7,5 @@ export interface L2Claim {
7
7
  messageHash: Hex;
8
8
  messageLeafIndex: bigint;
9
9
  }
10
- export declare function extractEvent<const TAbi extends Abi | readonly unknown[], TEventName extends ContractEventName<TAbi>, TEventType = DecodeEventLogReturnType<TAbi, TEventName, Hex[], undefined, true>>(logs: Log[], address: Hex, abi: TAbi, eventName: TEventName, filter?: (log: TEventType) => boolean, logger?: DebugLogger): TEventType;
10
+ export declare function extractEvent<const TAbi extends Abi | readonly unknown[], TEventName extends ContractEventName<TAbi>, TEventType = DecodeEventLogReturnType<TAbi, TEventName, Hex[], undefined, true>>(logs: Log[], address: Hex, abi: TAbi, eventName: TEventName, filter?: (log: TEventType) => boolean, logger?: Logger): TEventType;
11
11
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EACL,KAAK,GAAG,EACR,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,GAAG,EACR,KAAK,GAAG,EAET,MAAM,MAAM,CAAC;AAEd,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,EAAE,CAAC;IAChB,WAAW,EAAE,EAAE,CAAC;IAChB,WAAW,EAAE,GAAG,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,YAAY,CAC1B,KAAK,CAAC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EAC3C,UAAU,SAAS,iBAAiB,CAAC,IAAI,CAAC,EAC1C,UAAU,GAAG,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAE/E,IAAI,EAAE,GAAG,EAAE,EACX,OAAO,EAAE,GAAG,EACZ,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,UAAU,EACrB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,EACrC,MAAM,CAAC,EAAE,WAAW,GACnB,UAAU,CAMZ"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EACL,KAAK,GAAG,EACR,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,GAAG,EACR,KAAK,GAAG,EAET,MAAM,MAAM,CAAC;AAEd,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,EAAE,CAAC;IAChB,WAAW,EAAE,EAAE,CAAC;IAChB,WAAW,EAAE,GAAG,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,YAAY,CAC1B,KAAK,CAAC,IAAI,SAAS,GAAG,GAAG,SAAS,OAAO,EAAE,EAC3C,UAAU,SAAS,iBAAiB,CAAC,IAAI,CAAC,EAC1C,UAAU,GAAG,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,EAE/E,IAAI,EAAE,GAAG,EAAE,EACX,OAAO,EAAE,GAAG,EACZ,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,UAAU,EACrB,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,EACrC,MAAM,CAAC,EAAE,MAAM,GACd,UAAU,CAMZ"}
package/dest/utils.js CHANGED
@@ -24,4 +24,4 @@ function tryExtractEvent(logs, address, abi, eventName, filter, logger) {
24
24
  }
25
25
  }
26
26
  }
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQU1MLGNBQWMsR0FDZixNQUFNLE1BQU0sQ0FBQztBQVNkLE1BQU0sVUFBVSxZQUFZLENBSzFCLElBQVcsRUFDWCxPQUFZLEVBQ1osR0FBUyxFQUNULFNBQXFCLEVBQ3JCLE1BQXFDLEVBQ3JDLE1BQW9CO0lBRXBCLE1BQU0sS0FBSyxHQUFHLGVBQWUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzdFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLFNBQVMsaUJBQWlCLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUt0QixJQUFXLEVBQ1gsT0FBWSxFQUNaLEdBQVMsRUFDVCxTQUFxQixFQUNyQixNQUFxQyxFQUNyQyxNQUFvQjtJQUVwQixLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUN4RCxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxZQUFZLEdBQUcsY0FBYyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDckQsSUFBSSxZQUFZLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUN6QyxNQUFNLGFBQWEsR0FBRyxZQUEwQixDQUFDO29CQUNqRCxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO3dCQUNyQyxPQUFPLGFBQWEsQ0FBQztvQkFDdkIsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQztZQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7Z0JBQ2IsTUFBTSxFQUFFLElBQUksQ0FBQywyQ0FBMkMsT0FBTyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDN0UsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyJ9
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQU1MLGNBQWMsR0FDZixNQUFNLE1BQU0sQ0FBQztBQVNkLE1BQU0sVUFBVSxZQUFZLENBSzFCLElBQVcsRUFDWCxPQUFZLEVBQ1osR0FBUyxFQUNULFNBQXFCLEVBQ3JCLE1BQXFDLEVBQ3JDLE1BQWU7SUFFZixNQUFNLEtBQUssR0FBRyxlQUFlLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUM3RSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxTQUFTLGlCQUFpQixPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FLdEIsSUFBVyxFQUNYLE9BQVksRUFDWixHQUFTLEVBQ1QsU0FBcUIsRUFDckIsTUFBcUMsRUFDckMsTUFBZTtJQUVmLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLE9BQU8sQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3hELElBQUksQ0FBQztnQkFDSCxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRCxJQUFJLFlBQVksQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQ3pDLE1BQU0sYUFBYSxHQUFHLFlBQTBCLENBQUM7b0JBQ2pELElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUM7d0JBQ3JDLE9BQU8sYUFBYSxDQUFDO29CQUN2QixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLDJDQUEyQyxPQUFPLEtBQUssR0FBRyxFQUFFLENBQUMsQ0FBQztZQUM3RSxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIn0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aztec/ethereum",
3
- "version": "0.66.0",
3
+ "version": "0.67.1-devnet",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/index.js",
@@ -28,8 +28,8 @@
28
28
  "../package.common.json"
29
29
  ],
30
30
  "dependencies": {
31
- "@aztec/foundation": "0.66.0",
32
- "@aztec/l1-artifacts": "0.66.0",
31
+ "@aztec/foundation": "0.67.1-devnet",
32
+ "@aztec/l1-artifacts": "0.67.1-devnet",
33
33
  "@viem/anvil": "^0.0.10",
34
34
  "dotenv": "^16.0.3",
35
35
  "get-port": "^7.1.0",
@@ -85,6 +85,10 @@
85
85
  "summaryThreshold": 9999
86
86
  }
87
87
  ]
88
+ ],
89
+ "testTimeout": 30000,
90
+ "setupFiles": [
91
+ "../../foundation/src/jest/setup.mjs"
88
92
  ]
89
93
  },
90
94
  "engines": {