@aztec/aztec.js 0.65.2 → 0.67.0

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 (65) hide show
  1. package/dest/contract/base_contract_interaction.d.ts.map +1 -1
  2. package/dest/contract/base_contract_interaction.js +3 -3
  3. package/dest/contract/deploy_method.d.ts.map +1 -1
  4. package/dest/contract/deploy_method.js +5 -2
  5. package/dest/contract/deploy_sent_tx.d.ts.map +1 -1
  6. package/dest/contract/deploy_sent_tx.js +3 -3
  7. package/dest/contract/proven_tx.d.ts.map +1 -1
  8. package/dest/contract/proven_tx.js +3 -3
  9. package/dest/contract/sent_tx.d.ts +0 -5
  10. package/dest/contract/sent_tx.d.ts.map +1 -1
  11. package/dest/contract/sent_tx.js +2 -12
  12. package/dest/deployment/register_class.d.ts +1 -1
  13. package/dest/deployment/register_class.d.ts.map +1 -1
  14. package/dest/deployment/register_class.js +8 -3
  15. package/dest/index.d.ts +5 -5
  16. package/dest/index.d.ts.map +1 -1
  17. package/dest/index.js +5 -5
  18. package/dest/main.js +1 -1
  19. package/dest/rpc_clients/node/index.d.ts +2 -2
  20. package/dest/rpc_clients/node/index.d.ts.map +1 -1
  21. package/dest/rpc_clients/node/index.js +1 -1
  22. package/dest/utils/anvil_test_watcher.d.ts.map +1 -1
  23. package/dest/utils/anvil_test_watcher.js +5 -5
  24. package/dest/utils/cheat_codes.d.ts +2 -125
  25. package/dest/utils/cheat_codes.d.ts.map +1 -1
  26. package/dest/utils/cheat_codes.js +12 -236
  27. package/dest/utils/index.d.ts +1 -0
  28. package/dest/utils/index.d.ts.map +1 -1
  29. package/dest/utils/index.js +2 -1
  30. package/dest/utils/node.d.ts +4 -0
  31. package/dest/utils/node.d.ts.map +1 -0
  32. package/dest/utils/node.js +16 -0
  33. package/dest/utils/portal_manager.d.ts +8 -8
  34. package/dest/utils/portal_manager.d.ts.map +1 -1
  35. package/dest/utils/portal_manager.js +1 -1
  36. package/dest/utils/pxe.d.ts +2 -2
  37. package/dest/utils/pxe.d.ts.map +1 -1
  38. package/dest/utils/pxe.js +1 -1
  39. package/dest/wallet/account_wallet.d.ts +1 -0
  40. package/dest/wallet/account_wallet.d.ts.map +1 -1
  41. package/dest/wallet/account_wallet.js +4 -1
  42. package/dest/wallet/base_wallet.d.ts +2 -4
  43. package/dest/wallet/base_wallet.d.ts.map +1 -1
  44. package/dest/wallet/base_wallet.js +2 -14
  45. package/dest/wallet/signerless_wallet.d.ts +1 -0
  46. package/dest/wallet/signerless_wallet.d.ts.map +1 -1
  47. package/dest/wallet/signerless_wallet.js +4 -1
  48. package/package.json +12 -8
  49. package/src/contract/base_contract_interaction.ts +2 -2
  50. package/src/contract/deploy_method.ts +5 -1
  51. package/src/contract/deploy_sent_tx.ts +2 -2
  52. package/src/contract/proven_tx.ts +0 -4
  53. package/src/contract/sent_tx.ts +1 -16
  54. package/src/deployment/register_class.ts +8 -1
  55. package/src/index.ts +7 -10
  56. package/src/rpc_clients/node/index.ts +2 -2
  57. package/src/utils/anvil_test_watcher.ts +4 -4
  58. package/src/utils/cheat_codes.ts +17 -254
  59. package/src/utils/index.ts +1 -0
  60. package/src/utils/node.ts +17 -0
  61. package/src/utils/portal_manager.ts +7 -7
  62. package/src/utils/pxe.ts +2 -2
  63. package/src/wallet/account_wallet.ts +4 -0
  64. package/src/wallet/base_wallet.ts +3 -15
  65. package/src/wallet/signerless_wallet.ts +4 -0
@@ -1,5 +1,5 @@
1
1
  import { type PXE } from '@aztec/circuit-types';
2
- import { type DebugLogger } from '@aztec/foundation/log';
2
+ import { type Logger } from '@aztec/foundation/log';
3
3
  /**
4
4
  * Creates a PXE client with a given set of retries on non-server errors.
5
5
  * Checks that PXE matches the expected version, and warns if not.
@@ -7,5 +7,5 @@ import { type DebugLogger } from '@aztec/foundation/log';
7
7
  * @param _logger - Debug logger to warn version incompatibilities.
8
8
  * @returns A PXE client.
9
9
  */
10
- export declare function createCompatibleClient(rpcUrl: string, logger: DebugLogger): Promise<PXE>;
10
+ export declare function createCompatibleClient(rpcUrl: string, logger: Logger): Promise<PXE>;
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rpc_clients/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AA4CzD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAcxF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rpc_clients/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AA4CpD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAcnF"}
@@ -54,4 +54,4 @@ export function createCompatibleClient(rpcUrl, logger) {
54
54
  const pxe = createPXEClient(rpcUrl, fetch);
55
55
  return Promise.resolve(pxe);
56
56
  }
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnBjX2NsaWVudHMvbm9kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFM0UsT0FBTyxFQUFFLEtBQUssRUFBbUIsTUFBTSxPQUFPLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQ7Ozs7Ozs7R0FPRztBQUNILEtBQUssVUFBVSxVQUFVLENBQUMsSUFBWSxFQUFFLFNBQWlCLEVBQUUsSUFBUyxFQUFFLGVBQXdCO0lBQzVGLE1BQU0sT0FBTyxHQUFHLElBQUksS0FBSyxDQUFDO1FBQ3hCLE9BQU8sRUFBRSxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRTtRQUMvQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEQsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNyRCxDQUFDLENBQUM7SUFDSCxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNqSCxNQUFNLElBQUksR0FBRyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtRQUN4RSxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDeEIsQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLDRCQUE0QixJQUFJLGdCQUFnQixTQUFTLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDcEcsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQ3JELElBQUksSUFBSSxFQUFFLENBQUM7UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLFlBQVksR0FBRywrQkFBK0IsSUFBSSxhQUFhLFNBQVMsV0FBVyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25JLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUM1QyxNQUFNLElBQUksWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsTUFBYyxFQUFFLE1BQW1CO0lBQ3hFLCtEQUErRDtJQUMvRCxNQUFNLEtBQUssR0FBRyxLQUFLLEVBQUUsSUFBWSxFQUFFLFNBQWlCLEVBQUUsSUFBUyxFQUFFLGVBQXdCLEVBQUUsRUFBRTtRQUMzRixPQUFPLE1BQU0sS0FBSyxDQUNoQixHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLEVBQ3hELHlCQUF5QixTQUFTLE9BQU8sSUFBSSxFQUFFLEVBQy9DLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDdEIsTUFBTSxFQUNOLEtBQUssQ0FDTixDQUFDO0lBQ0osQ0FBQyxDQUFDO0lBQ0YsTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUUzQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDOUIsQ0FBQyJ9
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnBjX2NsaWVudHMvbm9kZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFM0UsT0FBTyxFQUFFLEtBQUssRUFBbUIsTUFBTSxPQUFPLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQ7Ozs7Ozs7R0FPRztBQUNILEtBQUssVUFBVSxVQUFVLENBQUMsSUFBWSxFQUFFLFNBQWlCLEVBQUUsSUFBUyxFQUFFLGVBQXdCO0lBQzVGLE1BQU0sT0FBTyxHQUFHLElBQUksS0FBSyxDQUFDO1FBQ3hCLE9BQU8sRUFBRSxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRTtRQUMvQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEQsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNyRCxDQUFDLENBQUM7SUFDSCxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNqSCxNQUFNLElBQUksR0FBRyxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtRQUN4RSxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuQixPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDeEIsQ0FBQztRQUNELE1BQU0sWUFBWSxHQUFHLDRCQUE0QixJQUFJLGdCQUFnQixTQUFTLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDcEcsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQ3JELElBQUksSUFBSSxFQUFFLENBQUM7UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLFlBQVksR0FBRywrQkFBK0IsSUFBSSxhQUFhLFNBQVMsV0FBVyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25JLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUM1QyxNQUFNLElBQUksWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsTUFBYyxFQUFFLE1BQWM7SUFDbkUsK0RBQStEO0lBQy9ELE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxJQUFZLEVBQUUsU0FBaUIsRUFBRSxJQUFTLEVBQUUsZUFBd0IsRUFBRSxFQUFFO1FBQzNGLE9BQU8sTUFBTSxLQUFLLENBQ2hCLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsRUFDeEQseUJBQXlCLFNBQVMsT0FBTyxJQUFJLEVBQUUsRUFDL0MsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUN0QixNQUFNLEVBQ04sS0FBSyxDQUNOLENBQUM7SUFDSixDQUFDLENBQUM7SUFDRixNQUFNLEdBQUcsR0FBRyxlQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRTNDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUM5QixDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"anvil_test_watcher.d.ts","sourceRoot":"","sources":["../../src/utils/anvil_test_watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,aAAa,EAAqB,MAAM,iBAAiB,CAAC;AAC1F,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,OAAO,EAA8B,KAAK,aAAa,EAAE,KAAK,YAAY,EAA2B,MAAM,MAAM,CAAC;AAClH,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAC;AAE3C;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAQzB,OAAO,CAAC,UAAU;IAPpB,OAAO,CAAC,MAAM,CAAqF;IAEnG,OAAO,CAAC,oBAAoB,CAAC,CAAiB;IAE9C,OAAO,CAAC,MAAM,CAAyD;gBAG7D,UAAU,EAAE,aAAa,EACjC,aAAa,EAAE,UAAU,EACzB,YAAY,EAAE,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC;IAWnD,KAAK;IAoBL,IAAI;IAIJ,gBAAgB;CAqBvB"}
1
+ {"version":3,"file":"anvil_test_watcher.d.ts","sourceRoot":"","sources":["../../src/utils/anvil_test_watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAA6B,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIrD,OAAO,EAA8B,KAAK,aAAa,EAAE,KAAK,YAAY,EAA2B,MAAM,MAAM,CAAC;AAClH,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAC;AAE3C;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAQzB,OAAO,CAAC,UAAU;IAPpB,OAAO,CAAC,MAAM,CAAqF;IAEnG,OAAO,CAAC,oBAAoB,CAAC,CAAiB;IAE9C,OAAO,CAAC,MAAM,CAAiD;gBAGrD,UAAU,EAAE,aAAa,EACjC,aAAa,EAAE,UAAU,EACzB,YAAY,EAAE,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC;IAWnD,KAAK;IAoBL,IAAI;IAIJ,gBAAgB;CAqBvB"}
@@ -1,4 +1,4 @@
1
- import { createDebugLogger } from '@aztec/aztec.js';
1
+ import { createLogger } from '@aztec/aztec.js';
2
2
  import { RunningPromise } from '@aztec/foundation/running-promise';
3
3
  import { RollupAbi } from '@aztec/l1-artifacts';
4
4
  import { getAddress, getContract } from 'viem';
@@ -12,13 +12,13 @@ import { getAddress, getContract } from 'viem';
12
12
  export class AnvilTestWatcher {
13
13
  constructor(cheatcodes, rollupAddress, publicClient) {
14
14
  this.cheatcodes = cheatcodes;
15
- this.logger = createDebugLogger(`aztec:utils:watcher`);
15
+ this.logger = createLogger(`aztecjs:utils:watcher`);
16
16
  this.rollup = getContract({
17
17
  address: getAddress(rollupAddress.toString()),
18
18
  abi: RollupAbi,
19
19
  client: publicClient,
20
20
  });
21
- this.logger.info(`Watcher created for rollup at ${rollupAddress}`);
21
+ this.logger.debug(`Watcher created for rollup at ${rollupAddress}`);
22
22
  }
23
23
  async start() {
24
24
  if (this.filledRunningPromise) {
@@ -32,7 +32,7 @@ export class AnvilTestWatcher {
32
32
  if (isAutoMining) {
33
33
  this.filledRunningPromise = new RunningPromise(() => this.mineIfSlotFilled(), 1000);
34
34
  this.filledRunningPromise.start();
35
- this.logger.info(`Watcher started`);
35
+ this.logger.info(`Watcher started for rollup at ${this.rollup.address}`);
36
36
  }
37
37
  else {
38
38
  this.logger.info(`Watcher not started because not auto mining`);
@@ -63,4 +63,4 @@ export class AnvilTestWatcher {
63
63
  }
64
64
  }
65
65
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW52aWxfdGVzdF93YXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2FudmlsX3Rlc3Rfd2F0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdDLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxPQUFPLEVBQXFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHbEg7Ozs7OztHQU1HO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQU8zQixZQUNVLFVBQXlCLEVBQ2pDLGFBQXlCLEVBQ3pCLFlBQXVEO1FBRi9DLGVBQVUsR0FBVixVQUFVLENBQWU7UUFIM0IsV0FBTSxHQUFnQixpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBT3JFLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDO1lBQ3hCLE9BQU8sRUFBRSxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdDLEdBQUcsRUFBRSxTQUFTO1lBQ2QsTUFBTSxFQUFFLFlBQVk7U0FDckIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUNBQWlDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELDRFQUE0RTtRQUM1RSw4RUFBOEU7UUFDOUUsK0VBQStFO1FBQy9FLGlCQUFpQjtRQUNqQixNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFMUQsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQUk7UUFDUixNQUFNLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQjtRQUNwQixJQUFJLENBQUM7WUFDSCxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQzVELE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1lBQ2xGLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDO1lBRXZFLElBQUksV0FBVyxLQUFLLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDeEMsa0NBQWtDO2dCQUNsQyxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pGLElBQUksQ0FBQztvQkFDSCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUNoRCxDQUFDO2dCQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsK0JBQStCLFNBQVMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN0RSxDQUFDO2dCQUVELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsV0FBVyxrQ0FBa0MsQ0FBQyxDQUFDO1lBQzFFLENBQUM7UUFDSCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7Q0FDRiJ9
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW52aWxfdGVzdF93YXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2FudmlsX3Rlc3Rfd2F0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1DLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsT0FBTyxFQUFxRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xIOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFPM0IsWUFDVSxVQUF5QixFQUNqQyxhQUF5QixFQUN6QixZQUF1RDtRQUYvQyxlQUFVLEdBQVYsVUFBVSxDQUFlO1FBSDNCLFdBQU0sR0FBVyxZQUFZLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQU83RCxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztZQUN4QixPQUFPLEVBQUUsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM3QyxHQUFHLEVBQUUsU0FBUztZQUNkLE1BQU0sRUFBRSxZQUFZO1NBQ3JCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNULElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDOUIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFFRCw0RUFBNEU7UUFDNUUsOEVBQThFO1FBQzlFLCtFQUErRTtRQUMvRSxpQkFBaUI7UUFDakIsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTFELElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3BGLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQ0FBaUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzNFLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkNBQTZDLENBQUMsQ0FBQztRQUNsRSxDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsTUFBTSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0I7UUFDcEIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM1RCxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztZQUNsRixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztZQUV2RSxJQUFJLFdBQVcsS0FBSyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3hDLGtDQUFrQztnQkFDbEMsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNqRixJQUFJLENBQUM7b0JBQ0gsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDaEQsQ0FBQztnQkFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO29CQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLCtCQUErQixTQUFTLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdEUsQ0FBQztnQkFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLFdBQVcsa0NBQWtDLENBQUMsQ0FBQztZQUMxRSxDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
@@ -1,6 +1,6 @@
1
1
  import { type EpochProofClaim, type Note, type PXE } from '@aztec/circuit-types';
2
- import { type AztecAddress, EthAddress, Fr } from '@aztec/circuits.js';
3
- import { type L1ContractAddresses } from '@aztec/ethereum';
2
+ import { type AztecAddress, Fr } from '@aztec/circuits.js';
3
+ import { EthCheatCodes, type L1ContractAddresses } from '@aztec/ethereum';
4
4
  import { RollupAbi } from '@aztec/l1-artifacts';
5
5
  import { type GetContractReturnType, type Hex, type WalletClient } from 'viem';
6
6
  /**
@@ -23,129 +23,6 @@ export declare class CheatCodes {
23
23
  static create(rpcUrl: string, pxe: PXE): Promise<CheatCodes>;
24
24
  static createRollup(rpcUrl: string, addresses: Pick<L1ContractAddresses, 'rollupAddress'>): RollupCheatCodes;
25
25
  }
26
- /**
27
- * A class that provides utility functions for interacting with ethereum (L1).
28
- */
29
- export declare class EthCheatCodes {
30
- /**
31
- * The RPC URL to use for interacting with the chain
32
- */
33
- rpcUrl: string;
34
- /**
35
- * The logger to use for the eth cheatcodes
36
- */
37
- logger: import("@aztec/foundation/log").Logger;
38
- constructor(
39
- /**
40
- * The RPC URL to use for interacting with the chain
41
- */
42
- rpcUrl: string,
43
- /**
44
- * The logger to use for the eth cheatcodes
45
- */
46
- logger?: import("@aztec/foundation/log").Logger);
47
- rpcCall(method: string, params: any[]): Promise<any>;
48
- /**
49
- * Get the auto mine status of the underlying chain
50
- * @returns True if automine is on, false otherwise
51
- */
52
- isAutoMining(): Promise<boolean>;
53
- /**
54
- * Get the current blocknumber
55
- * @returns The current block number
56
- */
57
- blockNumber(): Promise<number>;
58
- /**
59
- * Get the current chainId
60
- * @returns The current chainId
61
- */
62
- chainId(): Promise<number>;
63
- /**
64
- * Get the current timestamp
65
- * @returns The current timestamp
66
- */
67
- timestamp(): Promise<number>;
68
- /**
69
- * Advance the chain by a number of blocks
70
- * @param numberOfBlocks - The number of blocks to mine
71
- * @returns The current chainId
72
- */
73
- mine(numberOfBlocks?: number): Promise<void>;
74
- /**
75
- * Set the balance of an account
76
- * @param account - The account to set the balance for
77
- * @param balance - The balance to set
78
- */
79
- setBalance(account: EthAddress, balance: bigint): Promise<void>;
80
- /**
81
- * Set the interval between blocks (block time)
82
- * @param interval - The interval to use between blocks
83
- */
84
- setBlockInterval(interval: number): Promise<void>;
85
- /**
86
- * Set the next block timestamp
87
- * @param timestamp - The timestamp to set the next block to
88
- */
89
- setNextBlockTimestamp(timestamp: number): Promise<void>;
90
- /**
91
- * Set the next block timestamp and mines the block
92
- * @param timestamp - The timestamp to set the next block to
93
- */
94
- warp(timestamp: number | bigint): Promise<void>;
95
- /**
96
- * Dumps the current chain state to a file.
97
- * @param fileName - The file name to dump state into
98
- */
99
- dumpChainState(fileName: string): Promise<void>;
100
- /**
101
- * Loads the chain state from a file.
102
- * @param fileName - The file name to load state from
103
- */
104
- loadChainState(fileName: string): Promise<void>;
105
- /**
106
- * Load the value at a storage slot of a contract address on eth
107
- * @param contract - The contract address
108
- * @param slot - The storage slot
109
- * @returns - The value at the storage slot
110
- */
111
- load(contract: EthAddress, slot: bigint): Promise<bigint>;
112
- /**
113
- * Set the value at a storage slot of a contract address on eth
114
- * @param contract - The contract address
115
- * @param slot - The storage slot
116
- * @param value - The value to set the storage slot to
117
- */
118
- store(contract: EthAddress, slot: bigint, value: bigint): Promise<void>;
119
- /**
120
- * Computes the slot value for a given map and key.
121
- * @param baseSlot - The base slot of the map (specified in Aztec.nr contract)
122
- * @param key - The key to lookup in the map
123
- * @returns The storage slot of the value in the map
124
- */
125
- keccak256(baseSlot: bigint, key: bigint): bigint;
126
- /**
127
- * Send transactions impersonating an externally owned account or contract.
128
- * @param who - The address to impersonate
129
- */
130
- startImpersonating(who: EthAddress | Hex): Promise<void>;
131
- /**
132
- * Stop impersonating an account that you are currently impersonating.
133
- * @param who - The address to stop impersonating
134
- */
135
- stopImpersonating(who: EthAddress | Hex): Promise<void>;
136
- /**
137
- * Set the bytecode for a contract
138
- * @param contract - The contract address
139
- * @param bytecode - The bytecode to set
140
- */
141
- etch(contract: EthAddress, bytecode: `0x${string}`): Promise<void>;
142
- /**
143
- * Get the bytecode for a contract
144
- * @param contract - The contract address
145
- * @returns The bytecode for the contract
146
- */
147
- getBytecode(contract: EthAddress): Promise<`0x${string}`>;
148
- }
149
26
  /** Cheat codes for the L1 rollup contract. */
150
27
  export declare class RollupCheatCodes {
151
28
  private ethCheatCodes;
@@ -1 +1 @@
1
- {"version":3,"file":"cheat_codes.d.ts","sourceRoot":"","sources":["../../src/utils/cheat_codes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cheat_codes.d.ts","sourceRoot":"","sources":["../../src/utils/cheat_codes.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
1
  import { EthAddress, Fr } from '@aztec/circuits.js';
2
2
  import { deriveStorageSlotInMap } from '@aztec/circuits.js/hash';
3
- import { toBigIntBE, toHex } from '@aztec/foundation/bigint-buffer';
4
- import { keccak256 } from '@aztec/foundation/crypto';
5
- import { createDebugLogger } from '@aztec/foundation/log';
3
+ import { EthCheatCodes } from '@aztec/ethereum';
4
+ import { createLogger } from '@aztec/foundation/log';
6
5
  import { RollupAbi } from '@aztec/l1-artifacts';
7
- import fs from 'fs';
8
6
  import { createWalletClient, getContract, http, publicActions, } from 'viem';
9
7
  import { foundry } from 'viem/chains';
10
8
  /**
@@ -33,236 +31,11 @@ export class CheatCodes {
33
31
  return new RollupCheatCodes(ethCheatCodes, addresses);
34
32
  }
35
33
  }
36
- /**
37
- * A class that provides utility functions for interacting with ethereum (L1).
38
- */
39
- export class EthCheatCodes {
40
- constructor(
41
- /**
42
- * The RPC URL to use for interacting with the chain
43
- */
44
- rpcUrl,
45
- /**
46
- * The logger to use for the eth cheatcodes
47
- */
48
- logger = createDebugLogger('aztec:cheat_codes:eth')) {
49
- this.rpcUrl = rpcUrl;
50
- this.logger = logger;
51
- }
52
- async rpcCall(method, params) {
53
- const paramsString = JSON.stringify(params);
54
- const content = {
55
- body: `{"jsonrpc":"2.0", "method": "${method}", "params": ${paramsString}, "id": 1}`,
56
- method: 'POST',
57
- headers: { 'Content-Type': 'application/json' },
58
- };
59
- return await (await fetch(this.rpcUrl, content)).json();
60
- }
61
- /**
62
- * Get the auto mine status of the underlying chain
63
- * @returns True if automine is on, false otherwise
64
- */
65
- async isAutoMining() {
66
- try {
67
- const res = await this.rpcCall('anvil_getAutomine', []);
68
- return res.result;
69
- }
70
- catch (err) {
71
- this.logger.error(`Calling "anvil_getAutomine" failed with:`, err);
72
- }
73
- return false;
74
- }
75
- /**
76
- * Get the current blocknumber
77
- * @returns The current block number
78
- */
79
- async blockNumber() {
80
- const res = await this.rpcCall('eth_blockNumber', []);
81
- return parseInt(res.result, 16);
82
- }
83
- /**
84
- * Get the current chainId
85
- * @returns The current chainId
86
- */
87
- async chainId() {
88
- const res = await this.rpcCall('eth_chainId', []);
89
- return parseInt(res.result, 16);
90
- }
91
- /**
92
- * Get the current timestamp
93
- * @returns The current timestamp
94
- */
95
- async timestamp() {
96
- const res = await this.rpcCall('eth_getBlockByNumber', ['latest', true]);
97
- return parseInt(res.result.timestamp, 16);
98
- }
99
- /**
100
- * Advance the chain by a number of blocks
101
- * @param numberOfBlocks - The number of blocks to mine
102
- * @returns The current chainId
103
- */
104
- async mine(numberOfBlocks = 1) {
105
- const res = await this.rpcCall('hardhat_mine', [numberOfBlocks]);
106
- if (res.error) {
107
- throw new Error(`Error mining: ${res.error.message}`);
108
- }
109
- this.logger.verbose(`Mined ${numberOfBlocks} L1 blocks`);
110
- }
111
- /**
112
- * Set the balance of an account
113
- * @param account - The account to set the balance for
114
- * @param balance - The balance to set
115
- */
116
- async setBalance(account, balance) {
117
- const res = await this.rpcCall('anvil_setBalance', [account.toString(), toHex(balance)]);
118
- if (res.error) {
119
- throw new Error(`Error setting balance for ${account}: ${res.error.message}`);
120
- }
121
- this.logger.verbose(`Set balance for ${account} to ${balance}`);
122
- }
123
- /**
124
- * Set the interval between blocks (block time)
125
- * @param interval - The interval to use between blocks
126
- */
127
- async setBlockInterval(interval) {
128
- const res = await this.rpcCall('anvil_setBlockTimestampInterval', [interval]);
129
- if (res.error) {
130
- throw new Error(`Error setting block interval: ${res.error.message}`);
131
- }
132
- this.logger.verbose(`Set L1 block interval to ${interval}`);
133
- }
134
- /**
135
- * Set the next block timestamp
136
- * @param timestamp - The timestamp to set the next block to
137
- */
138
- async setNextBlockTimestamp(timestamp) {
139
- const res = await this.rpcCall('evm_setNextBlockTimestamp', [timestamp]);
140
- if (res.error) {
141
- throw new Error(`Error setting next block timestamp: ${res.error.message}`);
142
- }
143
- this.logger.verbose(`Set L1 next block timestamp to ${timestamp}`);
144
- }
145
- /**
146
- * Set the next block timestamp and mines the block
147
- * @param timestamp - The timestamp to set the next block to
148
- */
149
- async warp(timestamp) {
150
- const res = await this.rpcCall('evm_setNextBlockTimestamp', [Number(timestamp)]);
151
- if (res.error) {
152
- throw new Error(`Error warping: ${res.error.message}`);
153
- }
154
- await this.mine();
155
- this.logger.verbose(`Warped L1 timestamp to ${timestamp}`);
156
- }
157
- /**
158
- * Dumps the current chain state to a file.
159
- * @param fileName - The file name to dump state into
160
- */
161
- async dumpChainState(fileName) {
162
- const res = await this.rpcCall('hardhat_dumpState', []);
163
- if (res.error) {
164
- throw new Error(`Error dumping state: ${res.error.message}`);
165
- }
166
- const jsonContent = JSON.stringify(res.result);
167
- fs.writeFileSync(`${fileName}.json`, jsonContent, 'utf8');
168
- this.logger.verbose(`Dumped state to ${fileName}`);
169
- }
170
- /**
171
- * Loads the chain state from a file.
172
- * @param fileName - The file name to load state from
173
- */
174
- async loadChainState(fileName) {
175
- const data = JSON.parse(fs.readFileSync(`${fileName}.json`, 'utf8'));
176
- const res = await this.rpcCall('hardhat_loadState', [data]);
177
- if (res.error) {
178
- throw new Error(`Error loading state: ${res.error.message}`);
179
- }
180
- this.logger.verbose(`Loaded state from ${fileName}`);
181
- }
182
- /**
183
- * Load the value at a storage slot of a contract address on eth
184
- * @param contract - The contract address
185
- * @param slot - The storage slot
186
- * @returns - The value at the storage slot
187
- */
188
- async load(contract, slot) {
189
- const res = await this.rpcCall('eth_getStorageAt', [contract.toString(), toHex(slot), 'latest']);
190
- return BigInt(res.result);
191
- }
192
- /**
193
- * Set the value at a storage slot of a contract address on eth
194
- * @param contract - The contract address
195
- * @param slot - The storage slot
196
- * @param value - The value to set the storage slot to
197
- */
198
- async store(contract, slot, value) {
199
- // for the rpc call, we need to change value to be a 32 byte hex string.
200
- const res = await this.rpcCall('hardhat_setStorageAt', [contract.toString(), toHex(slot), toHex(value, true)]);
201
- if (res.error) {
202
- throw new Error(`Error setting storage for contract ${contract} at ${slot}: ${res.error.message}`);
203
- }
204
- this.logger.verbose(`Set L1 storage for contract ${contract} at ${slot} to ${value}`);
205
- }
206
- /**
207
- * Computes the slot value for a given map and key.
208
- * @param baseSlot - The base slot of the map (specified in Aztec.nr contract)
209
- * @param key - The key to lookup in the map
210
- * @returns The storage slot of the value in the map
211
- */
212
- keccak256(baseSlot, key) {
213
- // abi encode (removing the 0x) - concat key and baseSlot (both padded to 32 bytes)
214
- const abiEncoded = toHex(key, true).substring(2) + toHex(baseSlot, true).substring(2);
215
- return toBigIntBE(keccak256(Buffer.from(abiEncoded, 'hex')));
216
- }
217
- /**
218
- * Send transactions impersonating an externally owned account or contract.
219
- * @param who - The address to impersonate
220
- */
221
- async startImpersonating(who) {
222
- const res = await this.rpcCall('hardhat_impersonateAccount', [who.toString()]);
223
- if (res.error) {
224
- throw new Error(`Error impersonating ${who}: ${res.error.message}`);
225
- }
226
- this.logger.verbose(`Impersonating ${who}`);
227
- }
228
- /**
229
- * Stop impersonating an account that you are currently impersonating.
230
- * @param who - The address to stop impersonating
231
- */
232
- async stopImpersonating(who) {
233
- const res = await this.rpcCall('hardhat_stopImpersonatingAccount', [who.toString()]);
234
- if (res.error) {
235
- throw new Error(`Error when stopping the impersonation of ${who}: ${res.error.message}`);
236
- }
237
- this.logger.verbose(`Stopped impersonating ${who}`);
238
- }
239
- /**
240
- * Set the bytecode for a contract
241
- * @param contract - The contract address
242
- * @param bytecode - The bytecode to set
243
- */
244
- async etch(contract, bytecode) {
245
- const res = await this.rpcCall('hardhat_setCode', [contract.toString(), bytecode]);
246
- if (res.error) {
247
- throw new Error(`Error setting bytecode for ${contract}: ${res.error.message}`);
248
- }
249
- this.logger.verbose(`Set bytecode for ${contract} to ${bytecode}`);
250
- }
251
- /**
252
- * Get the bytecode for a contract
253
- * @param contract - The contract address
254
- * @returns The bytecode for the contract
255
- */
256
- async getBytecode(contract) {
257
- const res = await this.rpcCall('eth_getCode', [contract.toString(), 'latest']);
258
- return res.result;
259
- }
260
- }
261
34
  /** Cheat codes for the L1 rollup contract. */
262
35
  export class RollupCheatCodes {
263
36
  constructor(ethCheatCodes, addresses) {
264
37
  this.ethCheatCodes = ethCheatCodes;
265
- this.logger = createDebugLogger('aztec:js:cheat_codes');
38
+ this.logger = createLogger('aztecjs:cheat_codes');
266
39
  this.client = createWalletClient({ chain: foundry, transport: http(ethCheatCodes.rpcUrl) }).extend(publicActions);
267
40
  this.rollup = getContract({
268
41
  abi: RollupAbi,
@@ -285,8 +58,11 @@ export class RollupCheatCodes {
285
58
  * @returns The pending and proven chain tips
286
59
  */
287
60
  async getTips() {
288
- const [pending, proven] = await this.rollup.read.tips();
289
- return { pending, proven };
61
+ const res = await this.rollup.read.getTips();
62
+ return {
63
+ pending: res.pendingBlockNumber,
64
+ proven: res.provenBlockNumber,
65
+ };
290
66
  }
291
67
  /** Fetches the epoch and slot duration config from the rollup contract */
292
68
  async getConfig() {
@@ -321,7 +97,7 @@ export class RollupCheatCodes {
321
97
  /** Returns the current proof claim (if any) */
322
98
  async getProofClaim() {
323
99
  // REFACTOR: This code is duplicated from l1-publisher
324
- const [epochToProve, basisPointFee, bondAmount, bondProviderHex, proposerClaimantHex] = await this.rollup.read.proofClaim();
100
+ const { epochToProve, basisPointFee, bondAmount, bondProvider: bondProviderHex, proposerClaimant: proposerClaimantHex, } = await this.rollup.read.getProofClaim();
325
101
  const bondProvider = EthAddress.fromString(bondProviderHex);
326
102
  const proposerClaimant = EthAddress.fromString(proposerClaimantHex);
327
103
  if (bondProvider.isZero() && proposerClaimant.isZero() && epochToProve === 0n) {
@@ -342,7 +118,7 @@ export class RollupCheatCodes {
342
118
  async markAsProven(maybeBlockNumber) {
343
119
  const blockNumber = maybeBlockNumber
344
120
  ? BigInt(maybeBlockNumber)
345
- : await this.rollup.read.tips().then(([pending]) => pending);
121
+ : await this.rollup.read.getTips().then(({ pendingBlockNumber }) => pendingBlockNumber);
346
122
  await this.asOwner(async (account) => {
347
123
  await this.rollup.write.setAssumeProvenThroughBlockNumber([blockNumber], { account, chain: this.client.chain });
348
124
  this.logger.verbose(`Marked ${blockNumber} as proven`);
@@ -375,7 +151,7 @@ export class AztecCheatCodes {
375
151
  /**
376
152
  * The logger to use for the aztec cheatcodes
377
153
  */
378
- logger = createDebugLogger('aztec:cheat_codes:aztec')) {
154
+ logger = createLogger('aztecjs:cheat_codes')) {
379
155
  this.pxe = pxe;
380
156
  this.eth = eth;
381
157
  this.logger = logger;
@@ -431,4 +207,4 @@ export class AztecCheatCodes {
431
207
  return extendedNotes.map(extendedNote => extendedNote.note);
432
208
  }
433
209
  }
434
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlYXRfY29kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY2hlYXRfY29kZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFxQixVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBS0wsa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxJQUFJLEVBQ0osYUFBYSxHQUNkLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV0Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBQ3JCO0lBQ0UseUJBQXlCO0lBQ2xCLEdBQWtCO0lBQ3pCLGdDQUFnQztJQUN6QixLQUFzQjtJQUM3Qix1REFBdUQ7SUFDaEQsTUFBd0I7UUFKeEIsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUVsQixVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQUV0QixXQUFNLEdBQU4sTUFBTSxDQUFrQjtJQUM5QixDQUFDO0lBRUosTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBYyxFQUFFLEdBQVE7UUFDMUMsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsTUFBTSxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsR0FBRyxFQUFFLGFB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
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlYXRfY29kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY2hlYXRfY29kZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFxQixVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBNEIsTUFBTSxpQkFBaUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWhELE9BQU8sRUFLTCxrQkFBa0IsRUFDbEIsV0FBVyxFQUNYLElBQUksRUFDSixhQUFhLEdBQ2QsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXRDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFDckI7SUFDRSx5QkFBeUI7SUFDbEIsR0FBa0I7SUFDekIsZ0NBQWdDO0lBQ3pCLEtBQXNCO0lBQzdCLHVEQUF1RDtJQUNoRCxNQUF3QjtRQUp4QixRQUFHLEdBQUgsR0FBRyxDQUFlO1FBRWxCLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBRXRCLFdBQU0sR0FBTixNQUFNLENBQWtCO0lBQzlCLENBQUM7SUFFSixNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFjLEVBQUUsR0FBUTtRQUMxQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRCxNQUFNLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxHQUFHLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDaEUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGdCQUFnQixDQUMzQyxhQUFhLEVBQ2IsTUFBTSxHQUFHLENBQUMsV0FBVyxF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
@@ -4,6 +4,7 @@ export * from './abi_types.js';
4
4
  export * from './cheat_codes.js';
5
5
  export * from './authwit.js';
6
6
  export * from './pxe.js';
7
+ export * from './node.js';
7
8
  export * from './anvil_test_watcher.js';
8
9
  export * from './field_compressed_string.js';
9
10
  export * from './portal_manager.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC"}
@@ -4,7 +4,8 @@ export * from './abi_types.js';
4
4
  export * from './cheat_codes.js';
5
5
  export * from './authwit.js';
6
6
  export * from './pxe.js';
7
+ export * from './node.js';
7
8
  export * from './anvil_test_watcher.js';
8
9
  export * from './field_compressed_string.js';
9
10
  export * from './portal_manager.js';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMscUJBQXFCLENBQUMifQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMscUJBQXFCLENBQUMifQ==
@@ -0,0 +1,4 @@
1
+ import { type AztecNode } from '@aztec/circuit-types';
2
+ import { type Logger } from '@aztec/foundation/log';
3
+ export declare const waitForNode: (node: AztecNode, logger?: Logger) => Promise<void>;
4
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/utils/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,eAAO,MAAM,WAAW,SAAgB,SAAS,WAAW,MAAM,kBAYjE,CAAC"}