@aztec/aztec.js 0.73.0 → 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2

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 (250) hide show
  1. package/README.md +1 -1
  2. package/dest/account/contract.js +5 -3
  3. package/dest/account/index.js +8 -2
  4. package/dest/account/interface.js +4 -3
  5. package/dest/account/wallet.js +3 -2
  6. package/dest/account_manager/deploy_account_method.js +22 -25
  7. package/dest/account_manager/deploy_account_sent_tx.js +16 -17
  8. package/dest/account_manager/index.js +67 -78
  9. package/dest/api/abi.js +0 -1
  10. package/dest/api/account.js +0 -1
  11. package/dest/api/addresses.js +0 -1
  12. package/dest/api/cheat_codes.js +25 -0
  13. package/dest/api/deployment.js +0 -1
  14. package/dest/api/entrypoint.js +0 -1
  15. package/dest/api/eth_address.js +0 -1
  16. package/dest/api/ethereum/anvil_test_watcher.js +113 -0
  17. package/dest/api/ethereum/chain_monitor.js +69 -0
  18. package/dest/api/ethereum/cheat_codes.js +142 -0
  19. package/dest/api/ethereum/index.js +6 -0
  20. package/dest/api/ethereum/l1_contracts.js +13 -0
  21. package/dest/api/ethereum/portal_manager.js +284 -0
  22. package/dest/api/fee.js +0 -1
  23. package/dest/api/fields.js +0 -1
  24. package/dest/api/interfaces/pxe.js +1 -2
  25. package/dest/api/log.js +1 -0
  26. package/dest/api/log_id.js +0 -1
  27. package/dest/api/tx_hash.js +0 -1
  28. package/dest/api/wallet.js +1 -2
  29. package/dest/contract/base_contract_interaction.js +75 -52
  30. package/dest/contract/batch_call.js +57 -39
  31. package/dest/contract/checker.js +29 -20
  32. package/dest/contract/contract.js +22 -27
  33. package/dest/contract/contract_base.js +21 -30
  34. package/dest/contract/contract_function_interaction.js +48 -48
  35. package/dest/contract/deploy_method.js +99 -84
  36. package/dest/contract/deploy_proven_tx.js +8 -11
  37. package/dest/contract/deploy_sent_tx.js +19 -22
  38. package/dest/contract/get_gas_limits.js +2 -4
  39. package/dest/contract/index.js +4 -6
  40. package/dest/contract/proven_tx.js +7 -10
  41. package/dest/contract/sent_tx.js +32 -34
  42. package/dest/contract/unsafe_contract.js +2 -10
  43. package/dest/deployment/broadcast_function.js +28 -26
  44. package/dest/deployment/contract_deployer.js +15 -14
  45. package/dest/deployment/deploy_instance.js +1 -3
  46. package/dest/deployment/index.js +0 -1
  47. package/dest/deployment/protocol_contracts.js +2 -5
  48. package/dest/deployment/register_class.js +8 -8
  49. package/dest/entrypoint/default_entrypoint.js +8 -5
  50. package/dest/entrypoint/default_multi_call_entrypoint.js +66 -23
  51. package/dest/entrypoint/entrypoint.js +0 -1
  52. package/dest/entrypoint/payload.js +73 -82
  53. package/dest/fee/fee_juice_payment_method.js +3 -4
  54. package/dest/fee/fee_juice_payment_method_with_claim.js +11 -14
  55. package/dest/fee/fee_payment_method.js +3 -2
  56. package/dest/fee/no_fee_payment_method.js +2 -4
  57. package/dest/fee/private_fee_payment_method.js +36 -34
  58. package/dest/fee/public_fee_payment_method.js +34 -31
  59. package/dest/index.js +8 -9
  60. package/dest/rpc_clients/index.js +0 -1
  61. package/dest/rpc_clients/node/index.js +30 -16
  62. package/dest/rpc_clients/pxe_client.js +5 -3
  63. package/dest/utils/abi_types.js +1 -2
  64. package/dest/utils/authwit.js +15 -15
  65. package/dest/utils/aztec_cheatcodes.js +62 -0
  66. package/dest/utils/field_compressed_string.js +2 -4
  67. package/dest/utils/index.js +5 -12
  68. package/dest/utils/node.js +4 -5
  69. package/dest/utils/pub_key.js +1 -3
  70. package/dest/utils/pxe.js +3 -5
  71. package/dest/wallet/account_wallet.js +118 -81
  72. package/dest/wallet/account_wallet_with_private_key.js +9 -15
  73. package/dest/wallet/base_wallet.js +7 -5
  74. package/dest/wallet/index.js +2 -4
  75. package/dest/wallet/signerless_wallet.js +4 -6
  76. package/package.json +14 -17
  77. package/src/api/account.ts +7 -1
  78. package/src/api/cheat_codes.ts +35 -0
  79. package/src/{utils → api/ethereum}/anvil_test_watcher.ts +2 -1
  80. package/src/{utils → api/ethereum}/cheat_codes.ts +6 -109
  81. package/src/api/ethereum/index.ts +15 -0
  82. package/src/{utils → api/ethereum}/l1_contracts.ts +1 -1
  83. package/src/{utils → api/ethereum}/portal_manager.ts +4 -9
  84. package/src/api/interfaces/pxe.ts +1 -1
  85. package/src/api/log.ts +1 -0
  86. package/src/api/wallet.ts +1 -1
  87. package/src/contract/contract_function_interaction.ts +1 -1
  88. package/src/contract/index.ts +2 -2
  89. package/src/entrypoint/default_multi_call_entrypoint.ts +2 -1
  90. package/src/entrypoint/entrypoint.ts +1 -1
  91. package/src/fee/fee_juice_payment_method_with_claim.ts +1 -1
  92. package/src/index.ts +7 -35
  93. package/src/utils/aztec_cheatcodes.ts +75 -0
  94. package/src/utils/index.ts +19 -11
  95. package/src/utils/node.ts +2 -0
  96. package/src/wallet/index.ts +1 -1
  97. package/dest/account/contract.d.ts +0 -33
  98. package/dest/account/contract.d.ts.map +0 -1
  99. package/dest/account/index.d.ts +0 -15
  100. package/dest/account/index.d.ts.map +0 -1
  101. package/dest/account/interface.d.ts +0 -30
  102. package/dest/account/interface.d.ts.map +0 -1
  103. package/dest/account/wallet.d.ts +0 -10
  104. package/dest/account/wallet.d.ts.map +0 -1
  105. package/dest/account_manager/deploy_account_method.d.ts +0 -15
  106. package/dest/account_manager/deploy_account_method.d.ts.map +0 -1
  107. package/dest/account_manager/deploy_account_sent_tx.d.ts +0 -29
  108. package/dest/account_manager/deploy_account_sent_tx.d.ts.map +0 -1
  109. package/dest/account_manager/index.d.ts +0 -99
  110. package/dest/account_manager/index.d.ts.map +0 -1
  111. package/dest/api/abi.d.ts +0 -4
  112. package/dest/api/abi.d.ts.map +0 -1
  113. package/dest/api/account.d.ts +0 -4
  114. package/dest/api/account.d.ts.map +0 -1
  115. package/dest/api/addresses.d.ts +0 -3
  116. package/dest/api/addresses.d.ts.map +0 -1
  117. package/dest/api/deployment.d.ts +0 -4
  118. package/dest/api/deployment.d.ts.map +0 -1
  119. package/dest/api/entrypoint.d.ts +0 -2
  120. package/dest/api/entrypoint.d.ts.map +0 -1
  121. package/dest/api/eth_address.d.ts +0 -2
  122. package/dest/api/eth_address.d.ts.map +0 -1
  123. package/dest/api/ethereum.d.ts +0 -3
  124. package/dest/api/ethereum.d.ts.map +0 -1
  125. package/dest/api/ethereum.js +0 -3
  126. package/dest/api/fee.d.ts +0 -7
  127. package/dest/api/fee.d.ts.map +0 -1
  128. package/dest/api/fields.d.ts +0 -2
  129. package/dest/api/fields.d.ts.map +0 -1
  130. package/dest/api/interfaces/pxe.d.ts +0 -2
  131. package/dest/api/interfaces/pxe.d.ts.map +0 -1
  132. package/dest/api/log_id.d.ts +0 -2
  133. package/dest/api/log_id.d.ts.map +0 -1
  134. package/dest/api/tx_hash.d.ts +0 -2
  135. package/dest/api/tx_hash.d.ts.map +0 -1
  136. package/dest/api/wallet.d.ts +0 -2
  137. package/dest/api/wallet.d.ts.map +0 -1
  138. package/dest/barretenberg-threads.wasm.gz +0 -0
  139. package/dest/barretenberg.wasm.gz +0 -0
  140. package/dest/contract/base_contract_interaction.d.ts +0 -82
  141. package/dest/contract/base_contract_interaction.d.ts.map +0 -1
  142. package/dest/contract/batch_call.d.ts +0 -27
  143. package/dest/contract/batch_call.d.ts.map +0 -1
  144. package/dest/contract/checker.d.ts +0 -11
  145. package/dest/contract/checker.d.ts.map +0 -1
  146. package/dest/contract/contract.d.ts +0 -41
  147. package/dest/contract/contract.d.ts.map +0 -1
  148. package/dest/contract/contract_base.d.ts +0 -61
  149. package/dest/contract/contract_base.d.ts.map +0 -1
  150. package/dest/contract/contract_function_interaction.d.ts +0 -67
  151. package/dest/contract/contract_function_interaction.d.ts.map +0 -1
  152. package/dest/contract/deploy_method.d.ts +0 -110
  153. package/dest/contract/deploy_method.d.ts.map +0 -1
  154. package/dest/contract/deploy_proven_tx.d.ts +0 -19
  155. package/dest/contract/deploy_proven_tx.d.ts.map +0 -1
  156. package/dest/contract/deploy_sent_tx.d.ts +0 -43
  157. package/dest/contract/deploy_sent_tx.d.ts.map +0 -1
  158. package/dest/contract/get_gas_limits.d.ts +0 -18
  159. package/dest/contract/get_gas_limits.d.ts.map +0 -1
  160. package/dest/contract/index.d.ts +0 -45
  161. package/dest/contract/index.d.ts.map +0 -1
  162. package/dest/contract/proven_tx.d.ts +0 -16
  163. package/dest/contract/proven_tx.d.ts.map +0 -1
  164. package/dest/contract/sent_tx.d.ts +0 -60
  165. package/dest/contract/sent_tx.d.ts.map +0 -1
  166. package/dest/contract/unsafe_contract.d.ts +0 -15
  167. package/dest/contract/unsafe_contract.d.ts.map +0 -1
  168. package/dest/deployment/broadcast_function.d.ts +0 -24
  169. package/dest/deployment/broadcast_function.d.ts.map +0 -1
  170. package/dest/deployment/contract_deployer.d.ts +0 -27
  171. package/dest/deployment/contract_deployer.d.ts.map +0 -1
  172. package/dest/deployment/deploy_instance.d.ts +0 -10
  173. package/dest/deployment/deploy_instance.d.ts.map +0 -1
  174. package/dest/deployment/index.d.ts +0 -2
  175. package/dest/deployment/index.d.ts.map +0 -1
  176. package/dest/deployment/protocol_contracts.d.ts +0 -7
  177. package/dest/deployment/protocol_contracts.d.ts.map +0 -1
  178. package/dest/deployment/register_class.d.ts +0 -6
  179. package/dest/deployment/register_class.d.ts.map +0 -1
  180. package/dest/entrypoint/default_entrypoint.d.ts +0 -12
  181. package/dest/entrypoint/default_entrypoint.d.ts.map +0 -1
  182. package/dest/entrypoint/default_multi_call_entrypoint.d.ts +0 -15
  183. package/dest/entrypoint/default_multi_call_entrypoint.d.ts.map +0 -1
  184. package/dest/entrypoint/entrypoint.d.ts +0 -31
  185. package/dest/entrypoint/entrypoint.d.ts.map +0 -1
  186. package/dest/entrypoint/payload.d.ts +0 -125
  187. package/dest/entrypoint/payload.d.ts.map +0 -1
  188. package/dest/fee/fee_juice_payment_method.d.ts +0 -14
  189. package/dest/fee/fee_juice_payment_method.d.ts.map +0 -1
  190. package/dest/fee/fee_juice_payment_method_with_claim.d.ts +0 -17
  191. package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +0 -1
  192. package/dest/fee/fee_payment_method.d.ts +0 -22
  193. package/dest/fee/fee_payment_method.d.ts.map +0 -1
  194. package/dest/fee/no_fee_payment_method.d.ts +0 -13
  195. package/dest/fee/no_fee_payment_method.d.ts.map +0 -1
  196. package/dest/fee/private_fee_payment_method.d.ts +0 -51
  197. package/dest/fee/private_fee_payment_method.d.ts.map +0 -1
  198. package/dest/fee/public_fee_payment_method.d.ts +0 -41
  199. package/dest/fee/public_fee_payment_method.d.ts.map +0 -1
  200. package/dest/index.d.ts +0 -51
  201. package/dest/index.d.ts.map +0 -1
  202. package/dest/main.js +0 -2
  203. package/dest/main.js.LICENSE.txt +0 -25
  204. package/dest/rpc_clients/index.d.ts +0 -3
  205. package/dest/rpc_clients/index.d.ts.map +0 -1
  206. package/dest/rpc_clients/node/index.d.ts +0 -11
  207. package/dest/rpc_clients/node/index.d.ts.map +0 -1
  208. package/dest/rpc_clients/pxe_client.d.ts +0 -9
  209. package/dest/rpc_clients/pxe_client.d.ts.map +0 -1
  210. package/dest/utils/abi_types.d.ts +0 -26
  211. package/dest/utils/abi_types.d.ts.map +0 -1
  212. package/dest/utils/anvil_test_watcher.d.ts +0 -28
  213. package/dest/utils/anvil_test_watcher.d.ts.map +0 -1
  214. package/dest/utils/anvil_test_watcher.js +0 -108
  215. package/dest/utils/authwit.d.ts +0 -59
  216. package/dest/utils/authwit.d.ts.map +0 -1
  217. package/dest/utils/chain_monitor.d.ts +0 -21
  218. package/dest/utils/chain_monitor.d.ts.map +0 -1
  219. package/dest/utils/chain_monitor.js +0 -58
  220. package/dest/utils/cheat_codes.d.ts +0 -137
  221. package/dest/utils/cheat_codes.d.ts.map +0 -1
  222. package/dest/utils/cheat_codes.js +0 -225
  223. package/dest/utils/field_compressed_string.d.ts +0 -17
  224. package/dest/utils/field_compressed_string.d.ts.map +0 -1
  225. package/dest/utils/index.d.ts +0 -12
  226. package/dest/utils/index.d.ts.map +0 -1
  227. package/dest/utils/l1_contracts.d.ts +0 -3
  228. package/dest/utils/l1_contracts.d.ts.map +0 -1
  229. package/dest/utils/l1_contracts.js +0 -15
  230. package/dest/utils/node.d.ts +0 -4
  231. package/dest/utils/node.d.ts.map +0 -1
  232. package/dest/utils/portal_manager.d.ts +0 -130
  233. package/dest/utils/portal_manager.d.ts.map +0 -1
  234. package/dest/utils/portal_manager.js +0 -265
  235. package/dest/utils/pub_key.d.ts +0 -8
  236. package/dest/utils/pub_key.d.ts.map +0 -1
  237. package/dest/utils/pxe.d.ts +0 -4
  238. package/dest/utils/pxe.d.ts.map +0 -1
  239. package/dest/wallet/account_wallet.d.ts +0 -73
  240. package/dest/wallet/account_wallet.d.ts.map +0 -1
  241. package/dest/wallet/account_wallet_with_private_key.d.ts +0 -26
  242. package/dest/wallet/account_wallet_with_private_key.d.ts.map +0 -1
  243. package/dest/wallet/base_wallet.d.ts +0 -64
  244. package/dest/wallet/base_wallet.d.ts.map +0 -1
  245. package/dest/wallet/index.d.ts +0 -17
  246. package/dest/wallet/index.d.ts.map +0 -1
  247. package/dest/wallet/signerless_wallet.d.ts +0 -22
  248. package/dest/wallet/signerless_wallet.d.ts.map +0 -1
  249. package/src/api/ethereum.ts +0 -2
  250. /package/src/{utils → api/ethereum}/chain_monitor.ts +0 -0
@@ -1,25 +0,0 @@
1
- /*!
2
- * The buffer module from node.js, for the browser.
3
- *
4
- * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
5
- * @license MIT
6
- */
7
-
8
- /*!
9
- * The buffer module from node.js, for the browser.
10
- *
11
- * @author Feross Aboukhadijeh <https://feross.org>
12
- * @license MIT
13
- */
14
-
15
- /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
16
-
17
- /*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */
18
-
19
- /*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */
20
-
21
- /**
22
- * @license
23
- * Copyright 2019 Google LLC
24
- * SPDX-License-Identifier: Apache-2.0
25
- */
@@ -1,3 +0,0 @@
1
- export * from './pxe_client.js';
2
- export * from './node/index.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rpc_clients/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
@@ -1,11 +0,0 @@
1
- import { type PXE } from '@aztec/circuit-types';
2
- import { type Logger } from '@aztec/foundation/log';
3
- /**
4
- * Creates a PXE client with a given set of retries on non-server errors.
5
- * Checks that PXE matches the expected version, and warns if not.
6
- * @param rpcUrl - URL of the RPC server wrapping the PXE.
7
- * @param _logger - Debug logger to warn version incompatibilities.
8
- * @returns A PXE client.
9
- */
10
- export declare function createCompatibleClient(rpcUrl: string, logger: Logger): Promise<PXE>;
11
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,9 +0,0 @@
1
- import { type PXE } from '@aztec/circuit-types/interfaces';
2
- /**
3
- * Creates a JSON-RPC client to remotely talk to PXE.
4
- * @param url - The URL of the PXE.
5
- * @param fetch - The fetch implementation to use.
6
- * @returns A JSON-RPC client of PXE.
7
- */
8
- export declare function createPXEClient(url: string, fetch?: typeof import("@aztec/foundation/json-rpc/client").defaultFetch): PXE;
9
- //# sourceMappingURL=pxe_client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pxe_client.d.ts","sourceRoot":"","sources":["../../src/rpc_clients/pxe_client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAa,MAAM,iCAAiC,CAAC;AAGtE;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,kEAA8B,GAAG,GAAG,CAErF"}
@@ -1,26 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import { type AztecAddress, type EthAddress, type EventSelector, type Fr, type FunctionSelector } from '@aztec/circuits.js';
4
- /** Any type that can be converted into a field for a contract call. */
5
- export type FieldLike = Fr | Buffer | bigint | number | {
6
- toField: () => Fr;
7
- };
8
- /** Any type that can be converted into an EthAddress Aztec.nr struct. */
9
- export type EthAddressLike = {
10
- address: FieldLike;
11
- } | EthAddress;
12
- /** Any type that can be converted into an AztecAddress Aztec.nr struct. */
13
- export type AztecAddressLike = {
14
- address: FieldLike;
15
- } | AztecAddress;
16
- /** Any type that can be converted into a FunctionSelector Aztec.nr struct. */
17
- export type FunctionSelectorLike = FieldLike | FunctionSelector;
18
- /** Any type that can be converted into an EventSelector Aztec.nr struct. */
19
- export type EventSelectorLike = FieldLike | EventSelector;
20
- /** Any type that can be converted into a U128. */
21
- export type U128Like = bigint | number;
22
- /** Any type that can be converted into a struct with a single `inner` field. */
23
- export type WrappedFieldLike = {
24
- inner: FieldLike;
25
- } | FieldLike;
26
- //# sourceMappingURL=abi_types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"abi_types.d.ts","sourceRoot":"","sources":["../../src/utils/abi_types.ts"],"names":[],"mappings":";;AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,EAAE,EACP,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAE5B,uEAAuE;AACvE,MAAM,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG;IAA2B,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEvG,yEAAyE;AACzE,MAAM,MAAM,cAAc,GAAG;IAAyB,OAAO,EAAE,SAAS,CAAA;CAAE,GAAG,UAAU,CAAC;AAExF,2EAA2E;AAC3E,MAAM,MAAM,gBAAgB,GAAG;IAAyB,OAAO,EAAE,SAAS,CAAA;CAAE,GAAG,YAAY,CAAC;AAE5F,8EAA8E;AAC9E,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAEhE,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,aAAa,CAAC;AAE1D,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC,gFAAgF;AAChF,MAAM,MAAM,gBAAgB,GAAG;IAAuB,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,SAAS,CAAC"}
@@ -1,28 +0,0 @@
1
- import { type EthCheatCodes } from '@aztec/aztec.js';
2
- import { type EthAddress } from '@aztec/circuits.js';
3
- import { type TestDateProvider } from '@aztec/foundation/timer';
4
- import { type HttpTransport, type PublicClient } from 'viem';
5
- import type * as chains from 'viem/chains';
6
- /**
7
- * Represents a watcher for a rollup contract.
8
- *
9
- * It started on a network like anvil where time traveling is allowed, and auto-mine is turned on
10
- * it will periodically check if the current slot have already been filled, e.g., there was an L2
11
- * block within the slot. And if so, it will time travel into the next slot.
12
- */
13
- export declare class AnvilTestWatcher {
14
- private cheatcodes;
15
- private dateProvider?;
16
- private isSandbox;
17
- private rollup;
18
- private filledRunningPromise?;
19
- private mineIfOutdatedPromise?;
20
- private logger;
21
- constructor(cheatcodes: EthCheatCodes, rollupAddress: EthAddress, publicClient: PublicClient<HttpTransport, chains.Chain>, dateProvider?: TestDateProvider | undefined);
22
- setIsSandbox(isSandbox: boolean): void;
23
- start(): Promise<void>;
24
- stop(): Promise<void>;
25
- mineIfOutdated(): Promise<void>;
26
- warpTimeIfNeeded(): Promise<void>;
27
- }
28
- //# sourceMappingURL=anvil_test_watcher.d.ts.map
@@ -1 +0,0 @@
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;AAErD,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,108 +0,0 @@
1
- import { createLogger } from '@aztec/aztec.js';
2
- import { RunningPromise } from '@aztec/foundation/running-promise';
3
- import { RollupAbi } from '@aztec/l1-artifacts';
4
- import { getAddress, getContract } from 'viem';
5
- /**
6
- * Represents a watcher for a rollup contract.
7
- *
8
- * It started on a network like anvil where time traveling is allowed, and auto-mine is turned on
9
- * it will periodically check if the current slot have already been filled, e.g., there was an L2
10
- * block within the slot. And if so, it will time travel into the next slot.
11
- */
12
- export class AnvilTestWatcher {
13
- constructor(cheatcodes, rollupAddress, publicClient, dateProvider) {
14
- this.cheatcodes = cheatcodes;
15
- this.dateProvider = dateProvider;
16
- this.isSandbox = false;
17
- this.logger = createLogger(`aztecjs:utils:watcher`);
18
- this.rollup = getContract({
19
- address: getAddress(rollupAddress.toString()),
20
- abi: RollupAbi,
21
- client: publicClient,
22
- });
23
- this.logger.debug(`Watcher created for rollup at ${rollupAddress}`);
24
- }
25
- setIsSandbox(isSandbox) {
26
- this.isSandbox = isSandbox;
27
- }
28
- async start() {
29
- if (this.filledRunningPromise) {
30
- throw new Error('Watcher already watching for filled slot');
31
- }
32
- // If auto mining is not supported (e.g., we are on a real network), then we
33
- // will simple do nothing. But if on an anvil or the like, this make sure that
34
- // the sandbox and tests don't break because time is frozen and we never get to
35
- // the next slot.
36
- const isAutoMining = await this.cheatcodes.isAutoMining();
37
- if (isAutoMining) {
38
- this.filledRunningPromise = new RunningPromise(() => this.warpTimeIfNeeded(), this.logger, 1000);
39
- this.filledRunningPromise.start();
40
- this.mineIfOutdatedPromise = new RunningPromise(() => this.mineIfOutdated(), this.logger, 1000);
41
- this.mineIfOutdatedPromise.start();
42
- this.logger.info(`Watcher started for rollup at ${this.rollup.address}`);
43
- }
44
- else {
45
- this.logger.info(`Watcher not started because not auto mining`);
46
- }
47
- }
48
- async stop() {
49
- await this.filledRunningPromise?.stop();
50
- await this.mineIfOutdatedPromise?.stop();
51
- }
52
- async mineIfOutdated() {
53
- // this doesn't apply to the sandbox, because we don't have a date provider in the sandbox
54
- if (!this.dateProvider) {
55
- return;
56
- }
57
- const l1Time = (await this.cheatcodes.timestamp()) * 1000;
58
- const wallTime = this.dateProvider.now();
59
- // If the wall time is more than 24 seconds away from L1 time,
60
- // mine a block and sync the clocks
61
- if (Math.abs(wallTime - l1Time) > 24 * 1000) {
62
- this.logger.warn(`Wall time is more than 24 seconds away from L1 time, mining a block and syncing clocks`);
63
- await this.cheatcodes.evmMine();
64
- const newL1Time = await this.cheatcodes.timestamp();
65
- this.logger.info(`New L1 time: ${newL1Time}`);
66
- this.dateProvider.setTime(newL1Time * 1000);
67
- }
68
- }
69
- async warpTimeIfNeeded() {
70
- try {
71
- const currentSlot = await this.rollup.read.getCurrentSlot();
72
- const pendingBlockNumber = BigInt(await this.rollup.read.getPendingBlockNumber());
73
- const blockLog = await this.rollup.read.getBlock([pendingBlockNumber]);
74
- const nextSlotTimestamp = Number(await this.rollup.read.getTimestampForSlot([currentSlot + 1n]));
75
- if (currentSlot === blockLog.slotNumber) {
76
- // We should jump to the next slot
77
- try {
78
- await this.cheatcodes.warp(nextSlotTimestamp);
79
- this.dateProvider?.setTime(nextSlotTimestamp * 1000);
80
- }
81
- catch (e) {
82
- this.logger.error(`Failed to warp to timestamp ${nextSlotTimestamp}: ${e}`);
83
- }
84
- this.logger.info(`Slot ${currentSlot} was filled, jumped to next slot`);
85
- return;
86
- }
87
- // If we are not in sandbox, we don't need to warp time
88
- if (!this.isSandbox) {
89
- return;
90
- }
91
- const currentTimestamp = this.dateProvider?.now() ?? Date.now();
92
- if (currentTimestamp > nextSlotTimestamp * 1000) {
93
- try {
94
- await this.cheatcodes.warp(nextSlotTimestamp);
95
- this.dateProvider?.setTime(nextSlotTimestamp * 1000);
96
- }
97
- catch (e) {
98
- this.logger.error(`Failed to warp to timestamp ${nextSlotTimestamp}: ${e}`);
99
- }
100
- this.logger.info(`Slot ${currentSlot} was missed, jumped to next slot`);
101
- }
102
- }
103
- catch (err) {
104
- this.logger.error('mineIfSlotFilled failed');
105
- }
106
- }
107
- }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW52aWxfdGVzdF93YXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2FudmlsX3Rlc3Rfd2F0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1DLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsT0FBTyxFQUFxRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR2xIOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFVM0IsWUFDVSxVQUF5QixFQUNqQyxhQUF5QixFQUN6QixZQUF1RCxFQUMvQyxZQUErQjtRQUgvQixlQUFVLEdBQVYsVUFBVSxDQUFlO1FBR3pCLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQWJqQyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBTzNCLFdBQU0sR0FBVyxZQUFZLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQVE3RCxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQztZQUN4QixPQUFPLEVBQUUsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUM3QyxHQUFHLEVBQUUsU0FBUztZQUNkLE1BQU0sRUFBRSxZQUFZO1NBQ3JCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGlDQUFpQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxZQUFZLENBQUMsU0FBa0I7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLDBD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
@@ -1,59 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- import { type FunctionCall } from '@aztec/circuit-types';
4
- import { type AztecAddress, Fr } from '@aztec/circuits.js';
5
- import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
6
- /** Metadata for the intent */
7
- export type IntentMetadata = {
8
- /** The chain id to approve */
9
- chainId: Fr;
10
- /** The version to approve */
11
- version: Fr;
12
- };
13
- /** Intent with an inner hash */
14
- export type IntentInnerHash = {
15
- /** The consumer */
16
- consumer: AztecAddress;
17
- /** The action to approve */
18
- innerHash: Buffer | Fr;
19
- };
20
- /** Intent with an action */
21
- export type IntentAction = {
22
- /** The caller to approve */
23
- caller: AztecAddress;
24
- /** The action to approve */
25
- action: ContractFunctionInteraction | FunctionCall;
26
- };
27
- /**
28
- * Compute an authentication witness message hash from an intent and metadata
29
- *
30
- * If using the `IntentInnerHash`, the consumer is the address that can "consume" the authwit, for token approvals it is the token contract itself.
31
- * The `innerHash` itself will be the message that a contract is allowed to execute.
32
- * At the point of "approval checking", the validating contract (account for private and registry for public) will be computing the message hash
33
- * (`H(consumer, chainid, version, inner_hash)`) where the all but the `inner_hash` is injected from the context (consumer = msg_sender),
34
- * and use it for the authentication check.
35
- * Therefore, any allowed `innerHash` will therefore also have information around where it can be spent (version, chainId) and who can spend it (consumer).
36
- *
37
- * If using the `IntentAction`, the caller is the address that is making the call, for a token approval from Alice to Bob, this would be Bob.
38
- * The action is then used along with the `caller` to compute the `innerHash` and the consumer.
39
- *
40
- *
41
- * @param intent - The intent to approve (consumer and innerHash or caller and action)
42
- * The consumer is the address that can "consume" the authwit, for token approvals it is the token contract itself.
43
- * The caller is the address that is making the call, for a token approval from Alice to Bob, this would be Bob.
44
- * The caller becomes part of the `inner_hash` and is dealt with entirely in application logic.
45
- * @param metadata - The metadata for the intent (chainId, version)
46
- * @returns The message hash for the action
47
- */
48
- export declare const computeAuthWitMessageHash: (intent: IntentInnerHash | IntentAction, metadata: IntentMetadata) => Promise<Fr>;
49
- export declare const computeInnerAuthWitHashFromAction: (caller: AztecAddress, action: FunctionCall) => Promise<Fr>;
50
- /**
51
- * Compute the inner hash for an authentication witness.
52
- * This is the "intent" of the message, before siloed with the consumer.
53
- * It is used as part of the `computeAuthWitMessageHash` but can also be used
54
- * in case the message is not a "call" to a function, but arbitrary data.
55
- * @param args - The arguments to hash
56
- * @returns The inner hash for the witness
57
- */
58
- export declare const computeInnerAuthWitHash: (args: Fr[]) => Promise<Fr>;
59
- //# sourceMappingURL=authwit.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"authwit.d.ts","sourceRoot":"","sources":["../../src/utils/authwit.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,KAAK,YAAY,EAAE,EAAE,EAAkB,MAAM,oBAAoB,CAAC;AAG3E,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAE3F,8BAA8B;AAC9B,MAAM,MAAM,cAAc,GAAG;IAC3B,8BAA8B;IAC9B,OAAO,EAAE,EAAE,CAAC;IACZ,8BAA8B;IAC9B,OAAO,EAAE,EAAE,CAAC;CACb,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,eAAe,GAAG;IAC5B,qBAAqB;IACrB,QAAQ,EAAE,YAAY,CAAC;IACvB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,GAAG,EAAE,CAAC;CACxB,CAAC;AAEF,4BAA4B;AAC5B,MAAM,MAAM,YAAY,GAAG;IACzB,6BAA6B;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,4BAA4B;IAC5B,MAAM,EAAE,2BAA2B,GAAG,YAAY,CAAC;CACpD,CAAC;AAGF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,yBAAyB,WAAkB,eAAe,GAAG,YAAY,YAAY,cAAc,gBAgB/G,CAAC;AAGF,eAAO,MAAM,iCAAiC,WAAkB,YAAY,UAAU,YAAY,gBAK9F,CAAC;AAEL;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,SAAU,EAAE,EAAE,gBAEjD,CAAC"}
@@ -1,21 +0,0 @@
1
- import { type RollupContract } from '@aztec/ethereum/contracts';
2
- /** Utility class that polls the chain on quick intervals and logs new L1 blocks, L2 blocks, and L2 proofs. */
3
- export declare class ChainMonitor {
4
- private readonly rollup;
5
- private logger;
6
- private readonly intervalMs;
7
- private readonly l1Client;
8
- private handle;
9
- /** Current L1 block number */
10
- l1BlockNumber: number;
11
- /** Current L2 block number */
12
- l2BlockNumber: number;
13
- /** Current L2 proven block number */
14
- l2ProvenBlockNumber: number;
15
- constructor(rollup: RollupContract, logger?: import("@aztec/foundation/log").Logger, intervalMs?: number);
16
- start(): void;
17
- stop(): void;
18
- private safeRun;
19
- run(): Promise<void>;
20
- }
21
- //# sourceMappingURL=chain_monitor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chain_monitor.d.ts","sourceRoot":"","sources":["../../src/utils/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"}
@@ -1,58 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5fbW9uaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jaGFpbl9tb25pdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUlyRCw4R0FBOEc7QUFDOUcsTUFBTSxPQUFPLFlBQVk7SUFXdkIsWUFDbUIsTUFBc0IsRUFDL0IsU0FBUyxZQUFZLENBQUMsNkJBQTZCLENBQUMsRUFDM0MsYUFBYSxHQUFHO1FBRmhCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQy9CLFdBQU0sR0FBTixNQUFNLENBQThDO1FBQzNDLGVBQVUsR0FBVixVQUFVLENBQU07UUFFakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU8sQ0FBQyxDQUFDO1lBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRU8sT0FBTztRQUNiLEtBQUssSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBRztRQUNQLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksSUFBSSxDQUFDLGFBQWEsS0FBSyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzVDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQztRQUV0QyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLG1CQUFtQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDbEgsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNsQyxNQUFNLGVBQWUsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXhGLElBQUksR0FBRyxHQUFHLFlBQVksZ0JBQWdCLGFBQWEsZUFBZSxFQUFFLENBQUM7UUFFckUsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDcEUsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLGdCQUFnQixFQUFFLENBQUM7WUFDNUMsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQy9FLEdBQUcsSUFBSSxzQkFBc0IsZ0JBQWdCLGNBQWMsV0FBVyxFQUFFLENBQUM7WUFDekUsSUFBSSxDQUFDLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQztRQUN4QyxDQUFDO1FBRUQsTUFBTSxzQkFBc0IsR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztRQUNoRixJQUFJLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxzQkFBc0IsRUFBRSxDQUFDO1lBQ3hELE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQztZQUNyRixHQUFHLElBQUksOEJBQThCLHNCQUFzQixjQUFjLFdBQVcsRUFBRSxDQUFDO1lBQ3ZGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxzQkFBc0IsQ0FBQztRQUNwRCxDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3BCLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxZQUFZLEVBQUUsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRTtZQUMvQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjtTQUM5QyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YifQ==
@@ -1,137 +0,0 @@
1
- import { type EpochProofClaim, type Note, type PXE } from '@aztec/circuit-types';
2
- import { type AztecAddress, Fr } from '@aztec/circuits.js';
3
- import { EthCheatCodes } from '@aztec/ethereum/eth-cheatcodes';
4
- import { type L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
5
- import { RollupAbi } from '@aztec/l1-artifacts';
6
- import { type GetContractReturnType, type Hex, type WalletClient } from 'viem';
7
- /**
8
- * A class that provides utility functions for interacting with the chain.
9
- */
10
- export declare class CheatCodes {
11
- /** Cheat codes for L1.*/
12
- eth: EthCheatCodes;
13
- /** Cheat codes for Aztec L2. */
14
- aztec: AztecCheatCodes;
15
- /** Cheat codes for the Aztec Rollup contract on L1. */
16
- rollup: RollupCheatCodes;
17
- constructor(
18
- /** Cheat codes for L1.*/
19
- eth: EthCheatCodes,
20
- /** Cheat codes for Aztec L2. */
21
- aztec: AztecCheatCodes,
22
- /** Cheat codes for the Aztec Rollup contract on L1. */
23
- rollup: RollupCheatCodes);
24
- static create(rpcUrl: string, pxe: PXE): Promise<CheatCodes>;
25
- static createRollup(rpcUrl: string, addresses: Pick<L1ContractAddresses, 'rollupAddress'>): RollupCheatCodes;
26
- }
27
- /** Cheat codes for the L1 rollup contract. */
28
- export declare class RollupCheatCodes {
29
- private ethCheatCodes;
30
- private client;
31
- private rollup;
32
- private logger;
33
- constructor(ethCheatCodes: EthCheatCodes, addresses: Pick<L1ContractAddresses, 'rollupAddress'>);
34
- /** Returns the current slot */
35
- getSlot(): Promise<bigint>;
36
- /** Returns the current epoch */
37
- getEpoch(): Promise<bigint>;
38
- /**
39
- * Returns the pending and proven chain tips
40
- * @returns The pending and proven chain tips
41
- */
42
- getTips(): Promise<{
43
- /** The pending chain tip */ pending: bigint;
44
- /** The proven chain tip */ proven: bigint;
45
- }>;
46
- /** Fetches the epoch and slot duration config from the rollup contract */
47
- getConfig(): Promise<{
48
- /** Epoch duration */ epochDuration: bigint;
49
- /** Slot duration */ slotDuration: bigint;
50
- }>;
51
- /** Warps time in L1 until the next epoch */
52
- advanceToNextEpoch(): Promise<void>;
53
- /** Warps time in L1 until the beginning of the next slot. */
54
- advanceToNextSlot(): Promise<bigint[]>;
55
- /**
56
- * Warps time in L1 equivalent to however many slots.
57
- * @param howMany - The number of slots to advance.
58
- */
59
- advanceSlots(howMany: number): Promise<void>;
60
- /** Returns the current proof claim (if any) */
61
- getProofClaim(): Promise<EpochProofClaim | undefined>;
62
- /**
63
- * Marks the specified block (or latest if none) as proven
64
- * @param maybeBlockNumber - The block number to mark as proven (defaults to latest pending)
65
- */
66
- markAsProven(maybeBlockNumber?: number | bigint): Promise<void>;
67
- /**
68
- * Executes an action impersonated as the owner of the Rollup contract.
69
- * @param action - The action to execute
70
- */
71
- asOwner(action: (owner: Hex, rollup: GetContractReturnType<typeof RollupAbi, WalletClient>) => Promise<void>): Promise<void>;
72
- /** Directly calls the L1 gas fee oracle. */
73
- updateL1GasFeeOracle(): Promise<void>;
74
- }
75
- /**
76
- * A class that provides utility functions for interacting with the aztec chain.
77
- */
78
- export declare class AztecCheatCodes {
79
- /**
80
- * The PXE Service to use for interacting with the chain
81
- */
82
- pxe: PXE;
83
- /**
84
- * The eth cheat codes.
85
- */
86
- eth: EthCheatCodes;
87
- /**
88
- * The logger to use for the aztec cheatcodes
89
- */
90
- logger: import("@aztec/foundation/log").Logger;
91
- constructor(
92
- /**
93
- * The PXE Service to use for interacting with the chain
94
- */
95
- pxe: PXE,
96
- /**
97
- * The eth cheat codes.
98
- */
99
- eth: EthCheatCodes,
100
- /**
101
- * The logger to use for the aztec cheatcodes
102
- */
103
- logger?: import("@aztec/foundation/log").Logger);
104
- /**
105
- * Computes the slot value for a given map and key.
106
- * @param mapSlot - The slot of the map (specified in Aztec.nr contract)
107
- * @param key - The key to lookup in the map
108
- * @returns The storage slot of the value in the map
109
- */
110
- computeSlotInMap(mapSlot: Fr | bigint, key: Fr | bigint | AztecAddress): Promise<Fr>;
111
- /**
112
- * Get the current blocknumber
113
- * @returns The current block number
114
- */
115
- blockNumber(): Promise<number>;
116
- /**
117
- * Get the current timestamp
118
- * @returns The current timestamp
119
- */
120
- timestamp(): Promise<number>;
121
- /**
122
- * Loads the value stored at the given slot in the public storage of the given contract.
123
- * @param who - The address of the contract
124
- * @param slot - The storage slot to lookup
125
- * @returns The value stored at the given slot
126
- */
127
- loadPublic(who: AztecAddress, slot: Fr | bigint): Promise<Fr>;
128
- /**
129
- * Loads the value stored at the given slot in the private storage of the given contract.
130
- * @param contract - The address of the contract
131
- * @param owner - The owner for whom the notes are encrypted
132
- * @param slot - The storage slot to lookup
133
- * @returns The notes stored at the given slot
134
- */
135
- loadPrivate(owner: AztecAddress, contract: AztecAddress, slot: Fr | bigint): Promise<Note[]>;
136
- }
137
- //# sourceMappingURL=cheat_codes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cheat_codes.d.ts","sourceRoot":"","sources":["../../src/utils/cheat_codes.ts"],"names":[],"mappings":"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"}