@aztec/aztec.js 0.74.0 → 0.75.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 (80) hide show
  1. package/README.md +1 -1
  2. package/dest/api/cheat_codes.d.ts +26 -0
  3. package/dest/api/cheat_codes.d.ts.map +1 -0
  4. package/dest/api/cheat_codes.js +30 -0
  5. package/dest/{utils → api/ethereum}/anvil_test_watcher.d.ts +1 -1
  6. package/dest/api/ethereum/anvil_test_watcher.d.ts.map +1 -0
  7. package/dest/{utils → api/ethereum}/anvil_test_watcher.js +2 -2
  8. package/dest/api/ethereum/chain_monitor.d.ts.map +1 -0
  9. package/dest/api/ethereum/chain_monitor.js +58 -0
  10. package/dest/api/ethereum/cheat_codes.d.ts +55 -0
  11. package/dest/api/ethereum/cheat_codes.d.ts.map +1 -0
  12. package/dest/api/ethereum/cheat_codes.js +127 -0
  13. package/dest/api/ethereum/index.d.ts +7 -0
  14. package/dest/api/ethereum/index.d.ts.map +1 -0
  15. package/dest/api/ethereum/index.js +7 -0
  16. package/dest/api/ethereum/l1_contracts.d.ts.map +1 -0
  17. package/dest/api/ethereum/l1_contracts.js +15 -0
  18. package/dest/{utils → api/ethereum}/portal_manager.d.ts +3 -1
  19. package/dest/api/ethereum/portal_manager.d.ts.map +1 -0
  20. package/dest/{utils → api/ethereum}/portal_manager.js +3 -2
  21. package/dest/api/log.d.ts +2 -0
  22. package/dest/api/log.d.ts.map +1 -0
  23. package/dest/api/log.js +2 -0
  24. package/dest/contract/index.d.ts +2 -2
  25. package/dest/contract/index.js +2 -2
  26. package/dest/entrypoint/default_multi_call_entrypoint.d.ts +1 -1
  27. package/dest/entrypoint/default_multi_call_entrypoint.d.ts.map +1 -1
  28. package/dest/entrypoint/default_multi_call_entrypoint.js +2 -2
  29. package/dest/fee/fee_juice_payment_method_with_claim.d.ts +1 -1
  30. package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +1 -1
  31. package/dest/index.d.ts +5 -4
  32. package/dest/index.d.ts.map +1 -1
  33. package/dest/index.js +6 -5
  34. package/dest/utils/aztec_cheatcodes.d.ts +57 -0
  35. package/dest/utils/aztec_cheatcodes.d.ts.map +1 -0
  36. package/dest/utils/aztec_cheatcodes.js +71 -0
  37. package/dest/utils/index.d.ts +6 -11
  38. package/dest/utils/index.d.ts.map +1 -1
  39. package/dest/utils/index.js +6 -12
  40. package/dest/utils/node.d.ts +1 -0
  41. package/dest/utils/node.d.ts.map +1 -1
  42. package/dest/utils/node.js +2 -1
  43. package/dest/wallet/index.d.ts +1 -1
  44. package/dest/wallet/index.d.ts.map +1 -1
  45. package/package.json +11 -12
  46. package/src/api/cheat_codes.ts +35 -0
  47. package/src/{utils → api/ethereum}/anvil_test_watcher.ts +2 -1
  48. package/src/{utils → api/ethereum}/cheat_codes.ts +3 -106
  49. package/src/api/ethereum/index.ts +15 -0
  50. package/src/{utils → api/ethereum}/l1_contracts.ts +1 -1
  51. package/src/{utils → api/ethereum}/portal_manager.ts +4 -9
  52. package/src/api/log.ts +1 -0
  53. package/src/contract/index.ts +2 -2
  54. package/src/entrypoint/default_multi_call_entrypoint.ts +2 -1
  55. package/src/fee/fee_juice_payment_method_with_claim.ts +1 -1
  56. package/src/index.ts +4 -32
  57. package/src/utils/aztec_cheatcodes.ts +75 -0
  58. package/src/utils/index.ts +19 -11
  59. package/src/utils/node.ts +2 -0
  60. package/src/wallet/index.ts +1 -1
  61. package/dest/api/ethereum.d.ts +0 -3
  62. package/dest/api/ethereum.d.ts.map +0 -1
  63. package/dest/api/ethereum.js +0 -3
  64. package/dest/barretenberg-threads.wasm.gz +0 -0
  65. package/dest/barretenberg.wasm.gz +0 -0
  66. package/dest/main.js +0 -2
  67. package/dest/main.js.LICENSE.txt +0 -25
  68. package/dest/utils/anvil_test_watcher.d.ts.map +0 -1
  69. package/dest/utils/chain_monitor.d.ts.map +0 -1
  70. package/dest/utils/chain_monitor.js +0 -58
  71. package/dest/utils/cheat_codes.d.ts +0 -137
  72. package/dest/utils/cheat_codes.d.ts.map +0 -1
  73. package/dest/utils/cheat_codes.js +0 -225
  74. package/dest/utils/l1_contracts.d.ts.map +0 -1
  75. package/dest/utils/l1_contracts.js +0 -15
  76. package/dest/utils/portal_manager.d.ts.map +0 -1
  77. package/src/api/ethereum.ts +0 -2
  78. /package/dest/{utils → api/ethereum}/chain_monitor.d.ts +0 -0
  79. /package/dest/{utils → api/ethereum}/l1_contracts.d.ts +0 -0
  80. /package/src/{utils → api/ethereum}/chain_monitor.ts +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Aztec.js
2
2
 
3
- Aztec.js is a library that provides APIs for managing accounts and interacting with contracts on the Aztec network. It communicates with the [Private eXecution Environment (PXE)](https://docs.aztec.network/reference/aztecjs/pxe) through a `PXE` implementation, allowing developers to easily register new accounts, deploy contracts, view functions, and send transactions.
3
+ Aztec.js is a library that provides APIs for managing accounts and interacting with contracts on the Aztec network. It communicates with the [Private eXecution Environment (PXE)](https://docs.aztec.network/developers/reference/aztecjs/pxe) through a `PXE` implementation, allowing developers to easily register new accounts, deploy contracts, view functions, and send transactions.
4
4
 
5
5
  ## Installing
6
6
 
@@ -0,0 +1,26 @@
1
+ import { type PXE } from '@aztec/circuit-types';
2
+ import { EthCheatCodes } from '@aztec/ethereum/eth-cheatcodes';
3
+ import { type L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
4
+ import { RollupCheatCodes } from '../index.js';
5
+ import { AztecCheatCodes } from '../utils/aztec_cheatcodes.js';
6
+ /**
7
+ * A class that provides utility functions for interacting with the chain.
8
+ */
9
+ export declare class CheatCodes {
10
+ /** Cheat codes for L1.*/
11
+ eth: EthCheatCodes;
12
+ /** Cheat codes for Aztec L2. */
13
+ aztec: AztecCheatCodes;
14
+ /** Cheat codes for the Aztec Rollup contract on L1. */
15
+ rollup: RollupCheatCodes;
16
+ constructor(
17
+ /** Cheat codes for L1.*/
18
+ eth: EthCheatCodes,
19
+ /** Cheat codes for Aztec L2. */
20
+ aztec: AztecCheatCodes,
21
+ /** Cheat codes for the Aztec Rollup contract on L1. */
22
+ rollup: RollupCheatCodes);
23
+ static create(rpcUrl: string, pxe: PXE): Promise<CheatCodes>;
24
+ static createRollup(rpcUrl: string, addresses: Pick<L1ContractAddresses, 'rollupAddress'>): RollupCheatCodes;
25
+ }
26
+ //# sourceMappingURL=cheat_codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cheat_codes.d.ts","sourceRoot":"","sources":["../../src/api/cheat_codes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D;;GAEG;AACH,qBAAa,UAAU;IAEnB,yBAAyB;IAClB,GAAG,EAAE,aAAa;IACzB,gCAAgC;IACzB,KAAK,EAAE,eAAe;IAC7B,uDAAuD;IAChD,MAAM,EAAE,gBAAgB;;IAL/B,yBAAyB;IAClB,GAAG,EAAE,aAAa;IACzB,gCAAgC;IACzB,KAAK,EAAE,eAAe;IAC7B,uDAAuD;IAChD,MAAM,EAAE,gBAAgB;WAGpB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;IAUlE,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC,GAAG,gBAAgB;CAI7G"}
@@ -0,0 +1,30 @@
1
+ import { EthCheatCodes } from '@aztec/ethereum/eth-cheatcodes';
2
+ import { RollupCheatCodes } from '../index.js';
3
+ import { AztecCheatCodes } from '../utils/aztec_cheatcodes.js';
4
+ /**
5
+ * A class that provides utility functions for interacting with the chain.
6
+ */
7
+ export class CheatCodes {
8
+ constructor(
9
+ /** Cheat codes for L1.*/
10
+ eth,
11
+ /** Cheat codes for Aztec L2. */
12
+ aztec,
13
+ /** Cheat codes for the Aztec Rollup contract on L1. */
14
+ rollup) {
15
+ this.eth = eth;
16
+ this.aztec = aztec;
17
+ this.rollup = rollup;
18
+ }
19
+ static async create(rpcUrl, pxe) {
20
+ const ethCheatCodes = new EthCheatCodes(rpcUrl);
21
+ const aztecCheatCodes = new AztecCheatCodes(pxe);
22
+ const rollupCheatCodes = new RollupCheatCodes(ethCheatCodes, await pxe.getNodeInfo().then(n => n.l1ContractAddresses));
23
+ return new CheatCodes(ethCheatCodes, aztecCheatCodes, rollupCheatCodes);
24
+ }
25
+ static createRollup(rpcUrl, addresses) {
26
+ const ethCheatCodes = new EthCheatCodes(rpcUrl);
27
+ return new RollupCheatCodes(ethCheatCodes, addresses);
28
+ }
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlYXRfY29kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL2NoZWF0X2NvZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUcvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRS9EOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFDckI7SUFDRSx5QkFBeUI7SUFDbEIsR0FBa0I7SUFDekIsZ0NBQWdDO0lBQ3pCLEtBQXNCO0lBQzdCLHVEQUF1RDtJQUNoRCxNQUF3QjtRQUp4QixRQUFHLEdBQUgsR0FBRyxDQUFlO1FBRWxCLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBRXRCLFdBQU0sR0FBTixNQUFNLENBQWtCO0lBQzlCLENBQUM7SUFFSixNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFjLEVBQUUsR0FBUTtRQUMxQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRCxNQUFNLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRCxNQUFNLGdCQUFnQixHQUFHLElBQUksZ0JBQWdCLENBQzNDLGFBQWEsRUFDYixNQUFNLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FDekQsQ0FBQztRQUNGLE9BQU8sSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQWMsRUFBRSxTQUFxRDtRQUN2RixNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRCxPQUFPLElBQUksZ0JBQWdCLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7Q0FDRiJ9
@@ -1,5 +1,5 @@
1
- import { type EthCheatCodes } from '@aztec/aztec.js';
2
1
  import { type EthAddress } from '@aztec/circuits.js';
2
+ import { type EthCheatCodes } from '@aztec/ethereum/eth-cheatcodes';
3
3
  import { type TestDateProvider } from '@aztec/foundation/timer';
4
4
  import { type HttpTransport, type PublicClient } from 'viem';
5
5
  import type * as chains from 'viem/chains';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anvil_test_watcher.d.ts","sourceRoot":"","sources":["../../../src/api/ethereum/anvil_test_watcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAGpE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,OAAO,EAA8B,KAAK,aAAa,EAAE,KAAK,YAAY,EAA2B,MAAM,MAAM,CAAC;AAClH,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAC;AAE3C;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAWzB,OAAO,CAAC,UAAU;IAGlB,OAAO,CAAC,YAAY,CAAC;IAbvB,OAAO,CAAC,SAAS,CAAkB;IAEnC,OAAO,CAAC,MAAM,CAAqF;IAEnG,OAAO,CAAC,oBAAoB,CAAC,CAAiB;IAC9C,OAAO,CAAC,qBAAqB,CAAC,CAAiB;IAE/C,OAAO,CAAC,MAAM,CAAiD;gBAGrD,UAAU,EAAE,aAAa,EACjC,aAAa,EAAE,UAAU,EACzB,YAAY,EAAE,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,EAC/C,YAAY,CAAC,8BAAkB;IAWzC,YAAY,CAAC,SAAS,EAAE,OAAO;IAIzB,KAAK;IAsBL,IAAI;IAKJ,cAAc;IAoBd,gBAAgB;CAwCvB"}
@@ -1,4 +1,4 @@
1
- import { createLogger } from '@aztec/aztec.js';
1
+ import { createLogger } from '@aztec/foundation/log';
2
2
  import { RunningPromise } from '@aztec/foundation/running-promise';
3
3
  import { RollupAbi } from '@aztec/l1-artifacts';
4
4
  import { getAddress, getContract } from 'viem';
@@ -105,4 +105,4 @@ export class AnvilTestWatcher {
105
105
  }
106
106
  }
107
107
  }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW52aWxfdGVzdF93YXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2FudmlsX3Rlc3Rfd2F0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1DLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsT0FBTyxFQUFxRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xIOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFVM0IsWUFDVSxVQUF5QixFQUNqQyxhQUF5QixFQUN6QixZQUF1RCxFQUMvQyxZQUErQjtRQUgvQixlQUFVLEdBQVYsVUFBVSxDQUFlO1FBR3pCLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQWJqQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBTzNCLFdBQU0sR0FBVyxZQUFZLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQVE3RCxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztZQUN4QixPQUFPLEVBQUUsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM3QyxHQUFHLEVBQUUsU0FBUztZQUNkLE1BQU0sRUFBRSxZQUFZO1NBQ3JCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBa0I7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDBD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
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW52aWxfdGVzdF93YXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9ldGhlcmV1bS9hbnZpbF90ZXN0X3dhdGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFlLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsT0FBTyxFQUFxRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xIOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFVM0IsWUFDVSxVQUF5QixFQUNqQyxhQUF5QixFQUN6QixZQUF1RCxFQUMvQyxZQUErQjtRQUgvQixlQUFVLEdBQVYsVUFBVSxDQUFlO1FBR3pCLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQWJqQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBTzNCLFdBQU0sR0FBVyxZQUFZLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQVE3RCxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztZQUN4QixPQUFPLEVBQUUsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM3QyxHQUFHLEVBQUUsU0FBUztZQUNkLE1BQU0sRUFBRSxZQUFZO1NBQ3JCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBa0I7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksS0FB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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chain_monitor.d.ts","sourceRoot":"","sources":["../../../src/api/ethereum/chain_monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAKhE,8GAA8G;AAC9G,qBAAa,YAAY;IAYrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ,CAAC,UAAU;IAb7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,MAAM,CAA6B;IAE3C,8BAA8B;IACvB,aAAa,EAAG,MAAM,CAAC;IAC9B,8BAA8B;IACvB,aAAa,EAAG,MAAM,CAAC;IAC9B,qCAAqC;IAC9B,mBAAmB,EAAG,MAAM,CAAC;gBAGjB,MAAM,EAAE,cAAc,EAC/B,MAAM,yCAA8C,EAC3C,UAAU,SAAM;IAKnC,KAAK;IAOL,IAAI;IAOJ,OAAO,CAAC,OAAO;IAMT,GAAG;CAmCV"}
@@ -0,0 +1,58 @@
1
+ import { createLogger } from '@aztec/foundation/log';
2
+ /** Utility class that polls the chain on quick intervals and logs new L1 blocks, L2 blocks, and L2 proofs. */
3
+ export class ChainMonitor {
4
+ constructor(rollup, logger = createLogger('aztecjs:utils:chain_monitor'), intervalMs = 200) {
5
+ this.rollup = rollup;
6
+ this.logger = logger;
7
+ this.intervalMs = intervalMs;
8
+ this.l1Client = rollup.client;
9
+ }
10
+ start() {
11
+ if (this.handle) {
12
+ throw new Error('Chain monitor already started');
13
+ }
14
+ this.handle = setInterval(this.safeRun.bind(this), this.intervalMs);
15
+ }
16
+ stop() {
17
+ if (this.handle) {
18
+ clearInterval(this.handle);
19
+ this.handle = undefined;
20
+ }
21
+ }
22
+ safeRun() {
23
+ void this.run().catch(error => {
24
+ this.logger.error('Error in chain monitor loop', error);
25
+ });
26
+ }
27
+ async run() {
28
+ const newL1BlockNumber = Number(await this.l1Client.getBlockNumber({ cacheTime: 0 }));
29
+ if (this.l1BlockNumber === newL1BlockNumber) {
30
+ return;
31
+ }
32
+ this.l1BlockNumber = newL1BlockNumber;
33
+ const block = await this.l1Client.getBlock({ blockNumber: BigInt(newL1BlockNumber), includeTransactions: false });
34
+ const timestamp = block.timestamp;
35
+ const timestampString = new Date(Number(timestamp) * 1000).toTimeString().split(' ')[0];
36
+ let msg = `L1 block ${newL1BlockNumber} mined at ${timestampString}`;
37
+ const newL2BlockNumber = Number(await this.rollup.getBlockNumber());
38
+ if (this.l2BlockNumber !== newL2BlockNumber) {
39
+ const epochNumber = await this.rollup.getEpochNumber(BigInt(newL2BlockNumber));
40
+ msg += ` with new L2 block ${newL2BlockNumber} for epoch ${epochNumber}`;
41
+ this.l2BlockNumber = newL2BlockNumber;
42
+ }
43
+ const newL2ProvenBlockNumber = Number(await this.rollup.getProvenBlockNumber());
44
+ if (this.l2ProvenBlockNumber !== newL2ProvenBlockNumber) {
45
+ const epochNumber = await this.rollup.getEpochNumber(BigInt(newL2ProvenBlockNumber));
46
+ msg += ` with proof up to L2 block ${newL2ProvenBlockNumber} for epoch ${epochNumber}`;
47
+ this.l2ProvenBlockNumber = newL2ProvenBlockNumber;
48
+ }
49
+ this.logger.info(msg, {
50
+ l1Timestamp: timestamp,
51
+ l1BlockNumber: this.l1BlockNumber,
52
+ l2SlotNumber: await this.rollup.getSlotNumber(),
53
+ l2BlockNumber: this.l2BlockNumber,
54
+ l2ProvenBlockNumber: this.l2ProvenBlockNumber,
55
+ });
56
+ }
57
+ }
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5fbW9uaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvZXRoZXJldW0vY2hhaW5fbW9uaXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJckQsOEdBQThHO0FBQzlHLE1BQU0sT0FBTyxZQUFZO0lBV3ZCLFlBQ21CLE1BQXNCLEVBQy9CLFNBQVMsWUFBWSxDQUFDLDZCQUE2QixDQUFDLEVBQzNDLGFBQWEsR0FBRztRQUZoQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUMvQixXQUFNLEdBQU4sTUFBTSxDQUE4QztRQUMzQyxlQUFVLEdBQVYsVUFBVSxDQUFNO1FBRWpDLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNoQyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFPLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVPLE9BQU87UUFDYixLQUFLLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsNkJBQTZCLEVBQUUsS0FBSyxDQUFD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
@@ -0,0 +1,55 @@
1
+ import { type EpochProofClaim } from '@aztec/circuit-types';
2
+ import { EthCheatCodes } from '@aztec/ethereum/eth-cheatcodes';
3
+ import { type L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
4
+ import { RollupAbi } from '@aztec/l1-artifacts';
5
+ import { type GetContractReturnType, type Hex, type WalletClient } from 'viem';
6
+ export { EthCheatCodes };
7
+ /** Cheat codes for the L1 rollup contract. */
8
+ export declare class RollupCheatCodes {
9
+ private ethCheatCodes;
10
+ private client;
11
+ private rollup;
12
+ private logger;
13
+ constructor(ethCheatCodes: EthCheatCodes, addresses: Pick<L1ContractAddresses, 'rollupAddress'>);
14
+ /** Returns the current slot */
15
+ getSlot(): Promise<bigint>;
16
+ /** Returns the current epoch */
17
+ getEpoch(): Promise<bigint>;
18
+ /**
19
+ * Returns the pending and proven chain tips
20
+ * @returns The pending and proven chain tips
21
+ */
22
+ getTips(): Promise<{
23
+ /** The pending chain tip */ pending: bigint;
24
+ /** The proven chain tip */ proven: bigint;
25
+ }>;
26
+ /** Fetches the epoch and slot duration config from the rollup contract */
27
+ getConfig(): Promise<{
28
+ /** Epoch duration */ epochDuration: bigint;
29
+ /** Slot duration */ slotDuration: bigint;
30
+ }>;
31
+ /** Warps time in L1 until the next epoch */
32
+ advanceToNextEpoch(): Promise<void>;
33
+ /** Warps time in L1 until the beginning of the next slot. */
34
+ advanceToNextSlot(): Promise<bigint[]>;
35
+ /**
36
+ * Warps time in L1 equivalent to however many slots.
37
+ * @param howMany - The number of slots to advance.
38
+ */
39
+ advanceSlots(howMany: number): Promise<void>;
40
+ /** Returns the current proof claim (if any) */
41
+ getProofClaim(): Promise<EpochProofClaim | undefined>;
42
+ /**
43
+ * Marks the specified block (or latest if none) as proven
44
+ * @param maybeBlockNumber - The block number to mark as proven (defaults to latest pending)
45
+ */
46
+ markAsProven(maybeBlockNumber?: number | bigint): Promise<void>;
47
+ /**
48
+ * Executes an action impersonated as the owner of the Rollup contract.
49
+ * @param action - The action to execute
50
+ */
51
+ asOwner(action: (owner: Hex, rollup: GetContractReturnType<typeof RollupAbi, WalletClient>) => Promise<void>): Promise<void>;
52
+ /** Directly calls the L1 gas fee oracle. */
53
+ updateL1GasFeeOracle(): Promise<void>;
54
+ }
55
+ //# sourceMappingURL=cheat_codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cheat_codes.d.ts","sourceRoot":"","sources":["../../../src/api/ethereum/cheat_codes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,GAAG,EAER,KAAK,YAAY,EAKlB,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,8CAA8C;AAC9C,qBAAa,gBAAgB;IAMf,OAAO,CAAC,aAAa;IALjC,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,MAAM,CAAwD;IAEtE,OAAO,CAAC,MAAM,CAAuC;gBAEjC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC;IASvG,+BAA+B;IAClB,OAAO;IAKpB,gCAAgC;IACnB,QAAQ;IAKrB;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC;QAC9B,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC;QAC7C,2BAA2B,CAAC,MAAM,EAAE,MAAM,CAAC;KAC5C,CAAC;IAQF,0EAA0E;IAC7D,SAAS,IAAI,OAAO,CAAC;QAChC,qBAAqB,CAAC,aAAa,EAAE,MAAM,CAAC;QAC5C,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC;KAC3C,CAAC;IAQF,4CAA4C;IAC/B,kBAAkB;IAU/B,6DAA6D;IAChD,iBAAiB;IAQ9B;;;OAGG;IACU,YAAY,CAAC,OAAO,EAAE,MAAM;IASzC,+CAA+C;IAClC,aAAa,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IA0BlE;;;OAGG;IACU,YAAY,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;IAW5D;;;OAGG;IACU,OAAO,CAClB,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,qBAAqB,CAAC,OAAO,SAAS,EAAE,YAAY,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;IAQtG,4CAA4C;IAC/B,oBAAoB;CAMlC"}
@@ -0,0 +1,127 @@
1
+ import { EthAddress } from '@aztec/circuits.js';
2
+ import { EthCheatCodes } from '@aztec/ethereum/eth-cheatcodes';
3
+ import { createLogger } from '@aztec/foundation/log';
4
+ import { RollupAbi } from '@aztec/l1-artifacts';
5
+ import { createWalletClient, getContract, http, publicActions, } from 'viem';
6
+ import { foundry } from 'viem/chains';
7
+ export { EthCheatCodes };
8
+ /** Cheat codes for the L1 rollup contract. */
9
+ export class RollupCheatCodes {
10
+ constructor(ethCheatCodes, addresses) {
11
+ this.ethCheatCodes = ethCheatCodes;
12
+ this.logger = createLogger('aztecjs:cheat_codes');
13
+ this.client = createWalletClient({ chain: foundry, transport: http(ethCheatCodes.rpcUrl) }).extend(publicActions);
14
+ this.rollup = getContract({
15
+ abi: RollupAbi,
16
+ address: addresses.rollupAddress.toString(),
17
+ client: this.client,
18
+ });
19
+ }
20
+ /** Returns the current slot */
21
+ async getSlot() {
22
+ const ts = BigInt((await this.client.getBlock()).timestamp);
23
+ return await this.rollup.read.getSlotAt([ts]);
24
+ }
25
+ /** Returns the current epoch */
26
+ async getEpoch() {
27
+ const slotNumber = await this.getSlot();
28
+ return await this.rollup.read.getEpochAtSlot([slotNumber]);
29
+ }
30
+ /**
31
+ * Returns the pending and proven chain tips
32
+ * @returns The pending and proven chain tips
33
+ */
34
+ async getTips() {
35
+ const res = await this.rollup.read.getTips();
36
+ return {
37
+ pending: res.pendingBlockNumber,
38
+ proven: res.provenBlockNumber,
39
+ };
40
+ }
41
+ /** Fetches the epoch and slot duration config from the rollup contract */
42
+ async getConfig() {
43
+ const [epochDuration, slotDuration] = await Promise.all([
44
+ this.rollup.read.getEpochDuration(),
45
+ this.rollup.read.getSlotDuration(),
46
+ ]);
47
+ return { epochDuration, slotDuration };
48
+ }
49
+ /** Warps time in L1 until the next epoch */
50
+ async advanceToNextEpoch() {
51
+ const slot = await this.getSlot();
52
+ const { epochDuration, slotDuration } = await this.getConfig();
53
+ const slotsUntilNextEpoch = epochDuration - (slot % epochDuration) + 1n;
54
+ const timeToNextEpoch = slotsUntilNextEpoch * slotDuration;
55
+ const l1Timestamp = BigInt((await this.client.getBlock()).timestamp);
56
+ await this.ethCheatCodes.warp(Number(l1Timestamp + timeToNextEpoch), true);
57
+ this.logger.warn(`Advanced to next epoch`);
58
+ }
59
+ /** Warps time in L1 until the beginning of the next slot. */
60
+ async advanceToNextSlot() {
61
+ const currentSlot = await this.getSlot();
62
+ const timestamp = await this.rollup.read.getTimestampForSlot([currentSlot + 1n]);
63
+ await this.ethCheatCodes.warp(Number(timestamp));
64
+ this.logger.warn(`Advanced to slot ${currentSlot + 1n}`);
65
+ return [timestamp, currentSlot + 1n];
66
+ }
67
+ /**
68
+ * Warps time in L1 equivalent to however many slots.
69
+ * @param howMany - The number of slots to advance.
70
+ */
71
+ async advanceSlots(howMany) {
72
+ const l1Timestamp = (await this.client.getBlock()).timestamp;
73
+ const slotDuration = await this.rollup.read.getSlotDuration();
74
+ const timeToWarp = BigInt(howMany) * slotDuration;
75
+ await this.ethCheatCodes.warp(l1Timestamp + timeToWarp, true);
76
+ const [slot, epoch] = await Promise.all([this.getSlot(), this.getEpoch()]);
77
+ this.logger.warn(`Advanced ${howMany} slots up to slot ${slot} in epoch ${epoch}`);
78
+ }
79
+ /** Returns the current proof claim (if any) */
80
+ async getProofClaim() {
81
+ // REFACTOR: This code is duplicated from l1-publisher
82
+ const { epochToProve, basisPointFee, bondAmount, bondProvider: bondProviderHex, proposerClaimant: proposerClaimantHex, } = await this.rollup.read.getProofClaim();
83
+ const bondProvider = EthAddress.fromString(bondProviderHex);
84
+ const proposerClaimant = EthAddress.fromString(proposerClaimantHex);
85
+ if (bondProvider.isZero() && proposerClaimant.isZero() && epochToProve === 0n) {
86
+ return undefined;
87
+ }
88
+ return {
89
+ epochToProve,
90
+ basisPointFee,
91
+ bondAmount,
92
+ bondProvider,
93
+ proposerClaimant,
94
+ };
95
+ }
96
+ /**
97
+ * Marks the specified block (or latest if none) as proven
98
+ * @param maybeBlockNumber - The block number to mark as proven (defaults to latest pending)
99
+ */
100
+ async markAsProven(maybeBlockNumber) {
101
+ const blockNumber = maybeBlockNumber
102
+ ? BigInt(maybeBlockNumber)
103
+ : await this.rollup.read.getTips().then(({ pendingBlockNumber }) => pendingBlockNumber);
104
+ await this.asOwner(async (account) => {
105
+ await this.rollup.write.setAssumeProvenThroughBlockNumber([blockNumber], { account, chain: this.client.chain });
106
+ this.logger.warn(`Marked ${blockNumber} as proven`);
107
+ });
108
+ }
109
+ /**
110
+ * Executes an action impersonated as the owner of the Rollup contract.
111
+ * @param action - The action to execute
112
+ */
113
+ async asOwner(action) {
114
+ const owner = await this.rollup.read.owner();
115
+ await this.ethCheatCodes.startImpersonating(owner);
116
+ await action(owner, this.rollup);
117
+ await this.ethCheatCodes.stopImpersonating(owner);
118
+ }
119
+ /** Directly calls the L1 gas fee oracle. */
120
+ async updateL1GasFeeOracle() {
121
+ await this.asOwner(async (account, rollup) => {
122
+ await rollup.write.updateL1GasFeeOracle({ account, chain: this.client.chain });
123
+ this.logger.warn(`Updated L1 gas fee oracle`);
124
+ });
125
+ }
126
+ }
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlYXRfY29kZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2V0aGVyZXVtL2NoZWF0X2NvZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxPQUFPLEVBS0wsa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxJQUFJLEVBQ0osYUFBYSxHQUNkLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLENBQUM7QUFFekIsOENBQThDO0FBQzlDLE1BQU0sT0FBTyxnQkFBZ0I7SUFNM0IsWUFBb0IsYUFBNEIsRUFBRSxTQUFxRDtRQUFuRixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUZ4QyxXQUFNLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFHbkQsSUFBSSxDQUFDLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsSCxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztZQUN4QixHQUFHLEVBQUUsU0FBUztZQUNkLE9BQU8sRUFBRSxTQUFTLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRTtZQUMzQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELCtCQUErQjtJQUN4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
@@ -0,0 +1,7 @@
1
+ export { L1FeeJuicePortalManager, L1ToL2TokenPortalManager, L1TokenManager, L1TokenPortalManager, type L2AmountClaim, type L2AmountClaimWithRecipient, type L2Claim, generateClaimSecret, } from './portal_manager.js';
2
+ export { getL1ContractAddresses } from './l1_contracts.js';
3
+ export { RollupCheatCodes, EthCheatCodes } from './cheat_codes.js';
4
+ export { ChainMonitor } from './chain_monitor.js';
5
+ export { AnvilTestWatcher } from './anvil_test_watcher.js';
6
+ export { deployL1Contract, deployL1Contracts, DeployL1Contracts } from '@aztec/ethereum/deploy-l1-contracts';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/ethereum/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,0BAA0B,EAC/B,KAAK,OAAO,EACZ,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC"}
@@ -0,0 +1,7 @@
1
+ export { L1FeeJuicePortalManager, L1ToL2TokenPortalManager, L1TokenManager, L1TokenPortalManager, generateClaimSecret, } from './portal_manager.js';
2
+ export { getL1ContractAddresses } from './l1_contracts.js';
3
+ export { RollupCheatCodes, EthCheatCodes } from './cheat_codes.js';
4
+ export { ChainMonitor } from './chain_monitor.js';
5
+ export { AnvilTestWatcher } from './anvil_test_watcher.js';
6
+ export { deployL1Contract, deployL1Contracts } from '@aztec/ethereum/deploy-l1-contracts';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2V0aGVyZXVtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLGNBQWMsRUFDZCxvQkFBb0IsRUFJcEIsbUJBQW1CLEdBQ3BCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQXFCLE1BQU0scUNBQXFDLENBQUMifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"l1_contracts.d.ts","sourceRoot":"","sources":["../../../src/api/ethereum/l1_contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAKjF,eAAO,MAAM,sBAAsB,QAAe,MAAM,KAAG,QAAQ,mBAAmB,CAerF,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { retryUntil } from '@aztec/foundation/retry';
2
+ import { createPXEClient } from '../../rpc_clients/index.js';
3
+ export const getL1ContractAddresses = async (url) => {
4
+ const pxeClient = createPXEClient(url);
5
+ const response = await retryUntil(async () => {
6
+ try {
7
+ return (await pxeClient.getNodeInfo()).l1ContractAddresses;
8
+ }
9
+ catch (err) {
10
+ // do nothing
11
+ }
12
+ }, 'isNodeReady', 120, 1);
13
+ return response;
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfY29udHJhY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS9ldGhlcmV1bS9sMV9jb250cmFjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXJELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUU3RCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxLQUFLLEVBQUUsR0FBVyxFQUFnQyxFQUFFO0lBQ3hGLE1BQU0sU0FBUyxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxNQUFNLFFBQVEsR0FBRyxNQUFNLFVBQVUsQ0FDL0IsS0FBSyxJQUFJLEVBQUU7UUFDVCxJQUFJLENBQUM7WUFDSCxPQUFPLENBQUMsTUFBTSxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQztRQUM3RCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLGFBQWE7UUFDZixDQUFDO0lBQ0gsQ0FBQyxFQUNELGFBQWEsRUFDYixHQUFHLEVBQ0gsQ0FBQyxDQUNGLENBQUM7SUFDRixPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDLENBQUMifQ==
@@ -1,4 +1,6 @@
1
- import { type AztecAddress, EthAddress, Fr, type Logger, type PXE, type SiblingPath } from '@aztec/aztec.js';
1
+ import { type PXE, type SiblingPath } from '@aztec/circuit-types';
2
+ import { type AztecAddress, EthAddress, Fr } from '@aztec/circuits.js';
3
+ import { type Logger } from '@aztec/foundation/log';
2
4
  import { TokenPortalAbi } from '@aztec/l1-artifacts';
3
5
  import { type Account, type Chain, type GetContractReturnType, type Hex, type HttpTransport, type PublicClient, type WalletClient } from 'viem';
4
6
  /** L1 to L2 message info to claim it on L2. */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portal_manager.d.ts","sourceRoot":"","sources":["../../../src/api/ethereum/portal_manager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { EthAddress, Fr, computeSecretHash, } from '@aztec/aztec.js';
1
+ import { EthAddress, Fr } from '@aztec/circuits.js';
2
+ import { computeSecretHash } from '@aztec/circuits.js/hash';
2
3
  import { extractEvent } from '@aztec/ethereum/utils';
3
4
  import { sha256ToField } from '@aztec/foundation/crypto';
4
5
  import { FeeJuicePortalAbi, OutboxAbi, TestERC20Abi, TokenPortalAbi } from '@aztec/l1-artifacts';
@@ -262,4 +263,4 @@ export class L1TokenPortalManager extends L1ToL2TokenPortalManager {
262
263
  return leaf;
263
264
  }
264
265
  }
265
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsX21hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvcG9ydGFsX21hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFVBQVUsRUFDVixFQUFFLEVBSUYsaUJBQWlCLEdBQ2xCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRyxPQUFPLEVBUUwsV0FBVyxFQUNYLGtCQUFrQixHQUNuQixNQUFNLE1BQU0sQ0FBQztBQXNCZCw4Q0FBOEM7QUFDOUMsU0FBUyxtQkFBbUIsQ0FBQyxPQUF5QixFQUFFLElBQWE7SUFDbkUsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxLQUFLLE9BQU8sQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7QUFDdkUsQ0FBQztBQUVELDhDQUE4QztBQUM5QyxNQUFNLENBQUMsS0FBSyxVQUFVLG1CQUFtQixDQUFDLE1BQWU7SUFDdkQsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLE1BQU0sVUFBVSxHQUFHLE1BQU0saUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsTUFBTSxFQUFFLE9BQU8sQ0FBQywwQkFBMEIsTUFBTSxDQUFDLFFBQVEsRUFBRSxTQUFTLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0YsT0FBTyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztBQUM5QixDQUFDO0FBRUQsMENBQTBDO0FBQzFDLE1BQU0sT0FBTyxjQUFjO0lBR3pCO0lBQ0UscUNBQXFDO0lBQ3JCLE9BQW1CLEVBQzNCLFlBQWdELEVBQ2hELFlBQXlELEVBQ3pELE1BQWM7UUFITixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQzNCLGlCQUFZLEdBQVosWUFBWSxDQUFvQztRQUNoRCxpQkFBWSxHQUFaLFlBQVksQ0FBNkM7UUFDekQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUV0QixJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQztZQUMxQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDaEMsR0FBRyxFQUFFLFlBQVk7WUFDakIsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQzFCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsT0FBWTtRQUN6QyxPQUFPLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQWMsRUFBRSxPQUFZLEVBQUUsV0FBb0I7UUFDbEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxNQUFNLGVBQWUsbUJBQW1CLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5RixNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMseUJBQXlCLENBQUM7WUFDaEQsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3hELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBYyxFQUFFLE9BQVksRUFBRSxXQUFXLEdBQUcsRUFBRTtRQUNqRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLE1BQU0sZUFBZSxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQztZQUNoRCxJQUFJLEVBQUUsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDM0QsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBRUQsNERBQTREO0FBQzVELE1BQU0sT0FBTyx1QkFBdUI7SUFPbEMsWUFDRSxhQUF5QixFQUN6QixZQUF3QixFQUNQLFlBQWdELEVBQ2hELFlBQXlELEVBQ3pELE1BQWM7UUFGZCxpQkFBWSxHQUFaLFlBQVksQ0FBb0M7UUFDaEQsaUJBQVksR0FBWixZQUFZLENBQTZDO1FBQ3pELFdBQU0sR0FBTixNQUFNLENBQVE7UUFFL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBQyxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQztZQUMxQixPQUFPLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRTtZQUNqQyxHQUFHLEVBQUUsaUJBQWlCO1lBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWTtTQUMxQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsNkRBQTZEO0lBQ3RELGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxFQUFnQixFQUFFLE1BQWMsRUFBRSxJQUFJLEdBQUcsS0FBSztRQUM1RSxNQUFNLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxHQUFHLE1BQU0sbUJBQW1CLEVBQUUsQ0FBQztRQUNuRSxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUVELE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFFbEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbURBQW1ELENBQUMsQ0FBQztRQUN0RSxNQUFNLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFVLENBQUM7UUFFMUUsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUV4RCxNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMseUJBQXlCLENBQUM7WUFDbEUsSUFBSSxFQUFFLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDO1NBQzNELENBQUMsQ0FBQztRQUVILE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FDdEIsU0FBUyxDQUFDLElBQUksRUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQ2pCLHNCQUFzQixFQUN0QixHQUFHLENBQUMsRUFBRSxDQUNKLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFDbEQsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTTtZQUMxQixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQy9CLElBQUksQ0FBQyxNQUFNLENBQ1osQ0FBQztRQUVGLE9BQU87WUFDTCxXQUFXLEVBQUUsTUFBTTtZQUNuQixXQUFXO1lBQ1gsZUFBZTtZQUNmLFdBQVcsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDekIsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLO1NBQ2pDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQ3JCLEdBQVEsRUFDUixZQUFnRCxFQUNoRCxZQUF5RCxFQUN6RCxNQUFjO1FBRWQsTUFBTSxFQUNKLG1CQUFtQixFQUFFLEVBQUUsZUFBZSxFQUFFLHFCQUFxQixFQUFFLEdBQ2hFLEdBQUcsTUFBTSxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFNUIsSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFLElBQUkscUJBQXFCLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztZQUMvRCxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUVELE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxxQkFBcUIsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNqSCxDQUFDO0NBQ0Y7QUFFRCxxRkFBcUY7QUFDckYsTUFBTSxPQUFPLHdCQUF3QjtJQUluQyxZQUNFLGFBQXlCLEVBQ3pCLFlBQXdCLEVBQ2QsWUFBZ0QsRUFDaEQsWUFBeUQsRUFDekQsTUFBYztRQUZkLGlCQUFZLEdBQVosWUFBWSxDQUFvQztRQUNoRCxpQkFBWSxHQUFaLFlBQVksQ0FBNkM7UUFDekQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUV4QixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksY0FBYyxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxNQUFNLEdBQUcsV0FBVyxDQUFDO1lBQ3hCLE9BQU8sRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQ2pDLEdBQUcsRUFBRSxjQUFjO1lBQ25CLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWTtTQUMxQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsNkRBQTZEO0lBQ3RELGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxFQUFnQixFQUFFLE1BQWMsRUFBRSxJQUFJLEdBQUcsS0FBSztRQUM1RSxNQUFNLENBQUMsV0FBVyxFQUFFLGVBQWUsQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0RBQWdELENBQUMsQ0FBQztRQUNuRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQztZQUNsRSxFQUFFLENBQUMsUUFBUSxFQUFFO1lBQ2IsTUFBTTtZQUNOLGVBQWUsQ0FBQyxRQUFRLEVBQUU7U0FDM0IsQ0FBQyxDQUFDO1FBRUgsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDO1lBQ2xFLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztTQUNyRCxDQUFDLENBQUM7UUFFSCxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQ3RCLFNBQVMsQ0FBQyxJQUFJLEVBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUNmLHNCQUFzQixFQUN0QixHQUFHLENBQUMsRUFBRSxDQUNKLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxLQUFLLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFDbEQsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTTtZQUMxQixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQy9CLElBQUksQ0FBQyxNQUFNLENBQ1osQ0FBQztRQUVGLE9BQU87WUFDTCxXQUFXLEVBQUUsTUFBTTtZQUNuQixXQUFXO1lBQ1gsZUFBZTtZQUNmLFdBQVcsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDekIsZ0JBQWdCLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLO1NBQ2pDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxLQUFLLENBQUMsbUJBQW1CLENBQzlCLEVBQWdCLEVBQ2hCLE1BQWMsRUFDZCxJQUFJLEdBQUcsS0FBSztRQUVaLE1BQU0sQ0FBQyxXQUFXLEVBQUUsZUFBZSxDQUFDLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUU1RSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO1FBQ3BFLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFM0csTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLHlCQUF5QixDQUFDO1lBQ2xFLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztTQUNyRCxDQUFDLENBQUM7UUFFSCxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQ3RCLFNBQVMsQ0FBQyxJQUFJLEVBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQ25CLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUNmLHVCQUF1QixFQUN2QixHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLE1BQU0sSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLGlDQUFpQyxLQUFLLGVBQWUsQ0FBQyxRQUFRLEVBQUUsRUFDOUcsSUFBSSxDQUFDLE1BQU0sQ0FDWixDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2QseUJBQXlCLFdBQVcsQ0FBQyxRQUFRLEVBQUUsZ0NBQWdDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUM1RyxDQUFDO1FBRUYsT0FBTztZQUNMLFdBQVcsRUFBRSxNQUFNO1lBQ25CLFdBQVc7WUFDWCxlQUFlO1lBQ2YsU0FBUyxFQUFFLEVBQUU7WUFDYixXQUFXLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHO1lBQ3pCLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSztTQUNqQyxDQUFDO0lBQ0osQ0FBQztJQUVPLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBYyxFQUFFLElBQWE7UUFDckQsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFFLENBQUM7UUFDRCxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM1RSxPQUFPLG1CQUFtQixFQUFFLENBQUM7SUFDL0IsQ0FBQztDQUNGO0FBRUQseUdBQXlHO0FBQ3pHLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSx3QkFBd0I7SUFHaEUsWUFDRSxhQUF5QixFQUN6QixZQUF3QixFQUN4QixhQUF5QixFQUN6QixZQUFnRCxFQUNoRCxZQUF5RCxFQUN6RCxNQUFjO1FBRWQsS0FBSyxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztZQUN4QixPQUFPLEVBQUUsYUFBYSxDQUFDLFFBQVEsRUFBRTtZQUNqQyxHQUFHLEVBQUUsU0FBUztZQUNkLE1BQU0sRUFBRSxZQUFZO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksS0FBSyxDQUFDLGFBQWEsQ0FDeEIsTUFBYyxFQUNkLFNBQXFCLEVBQ3JCLFdBQW1CLEVBQ25CLFlBQW9CLEVBQ3BCLFdBQWdDO1FBRWhDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNkLDZDQUE2QyxXQUFXLFVBQVUsWUFBWSxnQkFBZ0IsTUFBTSxFQUFFLENBQ3ZHLENBQUM7UUFFRixNQUFNLGdCQUFnQixHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMscUNBQXFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUNuSCxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsV0FBVyxVQUFVLFlBQVksNEJBQTRCLENBQUMsQ0FBQztRQUM5RyxDQUFDO1FBRUQsc0RBQXNEO1FBQ3RELE1BQU0sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7WUFDdkUsU0FBUyxDQUFDLFFBQVEsRUFBRTtZQUNwQixNQUFNO1lBQ04sS0FBSztZQUNMLE1BQU0sQ0FBQyxXQUFXLENBQUM7WUFDbkIsWUFBWTtZQUNaLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFXLEVBQU8sRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1NBQ2xGLENBQUMsQ0FBQztRQUVILE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVwSCxNQUFNLGVBQWUsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHFDQUFxQyxDQUFDLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFDbEgsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLFdBQVcsVUFBVSxZQUFZLGdDQUFnQyxDQUFDLENBQUM7UUFDbEgsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxvQkFBb0IsQ0FDekIsTUFBYyxFQUNkLFNBQXFCLEVBQ3JCLFFBQXNCLEVBQ3RCLGFBQXlCLFVBQVUsQ0FBQyxJQUFJO1FBRXhDLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQztZQUM1QixNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1DQUFtQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztZQUN4RixTQUFTLENBQUMsVUFBVSxFQUFFO1lBQ3RCLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUN6QixVQUFVLENBQUMsVUFBVSxFQUFFO1NBQ3hCLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLGFBQWEsQ0FBQztZQUN6QixRQUFRLENBQUMsUUFBUSxFQUFFO1lBQ25CLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLGdCQUFnQjtZQUN0QyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzlFLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLFdBQVc7WUFDMUQsT0FBTyxDQUFDLFFBQVEsRUFBRTtTQUNuQixDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiJ9
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGFsX21hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2V0aGVyZXVtL3BvcnRhbF9tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBcUIsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFekQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakcsT0FBTyxFQVFMLFdBQVcsRUFDWCxrQkFBa0IsR0FDbkIsTUFBTSxNQUFNLENBQUM7QUFzQmQsOENBQThDO0FBQzlDLFNBQVMsbUJBQW1CLENBQUMsT0FBeUIsRUFBRSxJQUFhO0lBQ25FLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksS0FBSyxPQUFPLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ3ZFLENBQUM7QUFFRCw4Q0FBOEM7QUFDOUMsTUFBTSxDQUFDLEtBQUssVUFBVSxtQkFBbUIsQ0FBQyxNQUFlO0lBQ3ZELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMzQixNQUFNLFVBQVUsR0FBRyxNQUFNLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ25ELE1BQU0sRUFBRSxPQUFPLENBQUMsMEJBQTBCLE1BQU0sQ0FBQyxRQUFRLEVBQUUsU0FBUyxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdGLE9BQU8sQ0FBQyxNQUFNLEVBQUUsVUFB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
@@ -0,0 +1,2 @@
1
+ export { createLogger, type Logger } from '@aztec/foundation/log';
2
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/api/log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { createLogger } from '@aztec/foundation/log';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9sb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBZSxNQUFNLHVCQUF1QixDQUFDIn0=
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * The `contract` module provides utilities for deploying and interacting with contracts, based on a
3
3
  * `Wallet` instance and a compiled artifact. Refer to the {@link account} module for how to obtain a valid
4
- * `Wallet` instance, and to the {@link https://docs.aztec.network/developers/contracts/compiling | Compiling contracts}
4
+ * `Wallet` instance, and to the {@link https://docs.aztec.network/developers/guides/smart_contracts/how_to_compile_contract | Compiling contracts}
5
5
  * section of the documentation for how to generate an artifact out of your Noir source code.
6
6
  *
7
7
  * The {@link Contract} class is the main class in this module, and provides static methods for deploying
@@ -30,7 +30,7 @@
30
30
  * has synchronized its changes.
31
31
  *
32
32
  * @remarks If you are using typescript, consider using the
33
- * {@link https://docs.aztec.network/developers/contracts/compiling#typescript-interfaces | autogenerated type-safe interfaces}
33
+ * {@link https://docs.aztec.network/developers/guides/smart_contracts/how_to_compile_contract#typescript-interfaces | autogenerated type-safe interfaces}
34
34
  * for interacting with your contracts.
35
35
  *
36
36
  * @packageDocumentation
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * The `contract` module provides utilities for deploying and interacting with contracts, based on a
3
3
  * `Wallet` instance and a compiled artifact. Refer to the {@link account} module for how to obtain a valid
4
- * `Wallet` instance, and to the {@link https://docs.aztec.network/developers/contracts/compiling | Compiling contracts}
4
+ * `Wallet` instance, and to the {@link https://docs.aztec.network/developers/guides/smart_contracts/how_to_compile_contract | Compiling contracts}
5
5
  * section of the documentation for how to generate an artifact out of your Noir source code.
6
6
  *
7
7
  * The {@link Contract} class is the main class in this module, and provides static methods for deploying
@@ -30,7 +30,7 @@
30
30
  * has synchronized its changes.
31
31
  *
32
32
  * @remarks If you are using typescript, consider using the
33
- * {@link https://docs.aztec.network/developers/contracts/compiling#typescript-interfaces | autogenerated type-safe interfaces}
33
+ * {@link https://docs.aztec.network/developers/guides/smart_contracts/how_to_compile_contract#typescript-interfaces | autogenerated type-safe interfaces}
34
34
  * for interacting with your contracts.
35
35
  *
36
36
  * @packageDocumentation
@@ -1,6 +1,6 @@
1
- import { type EntrypointInterface, type ExecutionRequestInit } from '@aztec/aztec.js/entrypoint';
2
1
  import { TxExecutionRequest } from '@aztec/circuit-types';
3
2
  import { type AztecAddress } from '@aztec/circuits.js';
3
+ import { type EntrypointInterface, type ExecutionRequestInit } from './entrypoint.js';
4
4
  /**
5
5
  * Implementation for an entrypoint interface that can execute multiple function calls in a single transaction
6
6
  */
@@ -1 +1 @@
1
- {"version":3,"file":"default_multi_call_entrypoint.d.ts","sourceRoot":"","sources":["../../src/entrypoint/default_multi_call_entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAqB,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACpH,OAAO,EAAgB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,oBAAoB,CAAC;AAIlE;;GAEG;AACH,qBAAa,0BAA2B,YAAW,mBAAmB;IAElE,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;gBAFP,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAA0D;IAGvE,wBAAwB,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkB7F,OAAO,CAAC,gBAAgB;CAwDzB"}
1
+ {"version":3,"file":"default_multi_call_entrypoint.d.ts","sourceRoot":"","sources":["../../src/entrypoint/default_multi_call_entrypoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,KAAK,YAAY,EAAa,MAAM,oBAAoB,CAAC;AAIlE,OAAO,EAAE,KAAK,mBAAmB,EAAqB,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAEzG;;GAEG;AACH,qBAAa,0BAA2B,YAAW,mBAAmB;IAElE,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;gBAFP,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAA0D;IAGvE,wBAAwB,CAAC,UAAU,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkB7F,OAAO,CAAC,gBAAgB;CAwDzB"}