@aztec/end-to-end 0.0.1-commit.c80b6263 → 0.0.1-commit.c949de6bc

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 (168) hide show
  1. package/dest/bench/client_flows/client_flows_benchmark.d.ts +2 -2
  2. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  3. package/dest/bench/client_flows/client_flows_benchmark.js +3 -3
  4. package/dest/bench/client_flows/config.d.ts +2 -2
  5. package/dest/bench/client_flows/config.d.ts.map +1 -1
  6. package/dest/bench/client_flows/config.js +18 -0
  7. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +4 -2
  8. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  9. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +10 -0
  10. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +2 -2
  11. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  12. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +3 -2
  13. package/dest/e2e_deploy_contract/deploy_test.d.ts +2 -2
  14. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  15. package/dest/e2e_epochs/epochs_test.d.ts +9 -7
  16. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  17. package/dest/e2e_epochs/epochs_test.js +58 -33
  18. package/dest/e2e_fees/fees_test.d.ts +2 -2
  19. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  20. package/dest/e2e_fees/fees_test.js +6 -6
  21. package/dest/e2e_l1_publisher/write_json.d.ts +3 -2
  22. package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
  23. package/dest/e2e_l1_publisher/write_json.js +1 -7
  24. package/dest/e2e_p2p/p2p_network.d.ts +2 -2
  25. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  26. package/dest/e2e_p2p/p2p_network.js +16 -2
  27. package/dest/e2e_p2p/reqresp/utils.d.ts +22 -0
  28. package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -0
  29. package/dest/e2e_p2p/reqresp/utils.js +177 -0
  30. package/dest/e2e_p2p/shared.d.ts +2 -2
  31. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  32. package/dest/e2e_p2p/shared.js +5 -1
  33. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts +2 -0
  34. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts.map +1 -0
  35. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.js +184 -0
  36. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts +18 -0
  37. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts.map +1 -0
  38. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.js +120 -0
  39. package/dest/e2e_token_contract/token_contract_test.d.ts +4 -2
  40. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  41. package/dest/e2e_token_contract/token_contract_test.js +10 -0
  42. package/dest/fixtures/authwit_proxy.d.ts +15 -0
  43. package/dest/fixtures/authwit_proxy.d.ts.map +1 -0
  44. package/dest/fixtures/authwit_proxy.js +30 -0
  45. package/dest/fixtures/e2e_prover_test.d.ts +4 -4
  46. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  47. package/dest/fixtures/e2e_prover_test.js +27 -34
  48. package/dest/fixtures/elu_monitor.d.ts +21 -0
  49. package/dest/fixtures/elu_monitor.d.ts.map +1 -0
  50. package/dest/fixtures/elu_monitor.js +102 -0
  51. package/dest/fixtures/fixtures.d.ts +5 -1
  52. package/dest/fixtures/fixtures.d.ts.map +1 -1
  53. package/dest/fixtures/fixtures.js +6 -0
  54. package/dest/fixtures/ha_setup.d.ts +71 -0
  55. package/dest/fixtures/ha_setup.d.ts.map +1 -0
  56. package/dest/fixtures/ha_setup.js +116 -0
  57. package/dest/fixtures/index.d.ts +2 -1
  58. package/dest/fixtures/index.d.ts.map +1 -1
  59. package/dest/fixtures/index.js +1 -0
  60. package/dest/fixtures/setup.d.ts +38 -22
  61. package/dest/fixtures/setup.d.ts.map +1 -1
  62. package/dest/fixtures/setup.js +59 -149
  63. package/dest/fixtures/setup_p2p_test.d.ts +15 -7
  64. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  65. package/dest/fixtures/setup_p2p_test.js +18 -12
  66. package/dest/fixtures/token_utils.d.ts +2 -2
  67. package/dest/fixtures/token_utils.d.ts.map +1 -1
  68. package/dest/fixtures/token_utils.js +3 -2
  69. package/dest/shared/index.d.ts +2 -1
  70. package/dest/shared/index.d.ts.map +1 -1
  71. package/dest/shared/index.js +1 -0
  72. package/dest/shared/jest_setup.js +10 -1
  73. package/dest/shared/mock_state_view.d.ts +86 -0
  74. package/dest/shared/mock_state_view.d.ts.map +1 -0
  75. package/dest/shared/mock_state_view.js +186 -0
  76. package/dest/shared/submit-transactions.d.ts +2 -2
  77. package/dest/shared/submit-transactions.d.ts.map +1 -1
  78. package/dest/shared/uniswap_l1_l2.d.ts +1 -1
  79. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  80. package/dest/shared/uniswap_l1_l2.js +8 -6
  81. package/dest/simulators/token_simulator.d.ts +1 -1
  82. package/dest/simulators/token_simulator.d.ts.map +1 -1
  83. package/dest/simulators/token_simulator.js +2 -23
  84. package/dest/spartan/setup_test_wallets.d.ts +9 -2
  85. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  86. package/dest/spartan/setup_test_wallets.js +31 -1
  87. package/dest/spartan/utils/bot.d.ts +3 -2
  88. package/dest/spartan/utils/bot.d.ts.map +1 -1
  89. package/dest/spartan/utils/bot.js +2 -1
  90. package/dest/spartan/utils/config.d.ts +7 -1
  91. package/dest/spartan/utils/config.d.ts.map +1 -1
  92. package/dest/spartan/utils/config.js +3 -1
  93. package/dest/spartan/utils/index.d.ts +5 -4
  94. package/dest/spartan/utils/index.d.ts.map +1 -1
  95. package/dest/spartan/utils/index.js +4 -2
  96. package/dest/spartan/utils/k8s.d.ts +31 -1
  97. package/dest/spartan/utils/k8s.d.ts.map +1 -1
  98. package/dest/spartan/utils/k8s.js +124 -0
  99. package/dest/spartan/utils/nodes.d.ts +14 -5
  100. package/dest/spartan/utils/nodes.d.ts.map +1 -1
  101. package/dest/spartan/utils/nodes.js +204 -33
  102. package/dest/spartan/utils/scripts.d.ts +18 -4
  103. package/dest/spartan/utils/scripts.d.ts.map +1 -1
  104. package/dest/spartan/utils/scripts.js +19 -4
  105. package/dest/test-wallet/test_wallet.d.ts +83 -0
  106. package/dest/test-wallet/test_wallet.d.ts.map +1 -0
  107. package/dest/test-wallet/test_wallet.js +214 -0
  108. package/dest/test-wallet/utils.d.ts +41 -0
  109. package/dest/test-wallet/utils.d.ts.map +1 -0
  110. package/dest/test-wallet/utils.js +71 -0
  111. package/dest/test-wallet/wallet_worker_script.d.ts +2 -0
  112. package/dest/test-wallet/wallet_worker_script.d.ts.map +1 -0
  113. package/dest/test-wallet/wallet_worker_script.js +48 -0
  114. package/dest/test-wallet/worker_wallet.d.ts +52 -0
  115. package/dest/test-wallet/worker_wallet.d.ts.map +1 -0
  116. package/dest/test-wallet/worker_wallet.js +151 -0
  117. package/dest/test-wallet/worker_wallet_schema.d.ts +274 -0
  118. package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -0
  119. package/dest/test-wallet/worker_wallet_schema.js +10 -0
  120. package/package.json +43 -39
  121. package/src/bench/client_flows/client_flows_benchmark.ts +8 -12
  122. package/src/bench/client_flows/config.ts +9 -1
  123. package/src/bench/utils.ts +1 -1
  124. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +11 -2
  125. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +7 -8
  126. package/src/e2e_deploy_contract/deploy_test.ts +3 -3
  127. package/src/e2e_epochs/epochs_test.ts +73 -63
  128. package/src/e2e_fees/bridging_race.notest.ts +1 -1
  129. package/src/e2e_fees/fees_test.ts +12 -27
  130. package/src/e2e_l1_publisher/write_json.ts +1 -6
  131. package/src/e2e_nested_contract/nested_contract_test.ts +1 -1
  132. package/src/e2e_p2p/inactivity_slash_test.ts +4 -4
  133. package/src/e2e_p2p/p2p_network.ts +29 -7
  134. package/src/e2e_p2p/reqresp/utils.ts +235 -0
  135. package/src/e2e_p2p/shared.ts +3 -1
  136. package/src/e2e_storage_proof/fixtures/storage_proof.json +915 -0
  137. package/src/e2e_storage_proof/fixtures/storage_proof_fetcher.ts +190 -0
  138. package/src/e2e_storage_proof/fixtures/storage_proof_fixture.ts +173 -0
  139. package/src/e2e_token_contract/token_contract_test.ts +11 -2
  140. package/src/fixtures/authwit_proxy.ts +50 -0
  141. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  142. package/src/fixtures/e2e_prover_test.ts +28 -38
  143. package/src/fixtures/elu_monitor.ts +126 -0
  144. package/src/fixtures/fixtures.ts +10 -0
  145. package/src/fixtures/ha_setup.ts +186 -0
  146. package/src/fixtures/index.ts +1 -0
  147. package/src/fixtures/setup.ts +90 -212
  148. package/src/fixtures/setup_p2p_test.ts +25 -24
  149. package/src/fixtures/token_utils.ts +2 -1
  150. package/src/guides/up_quick_start.sh +3 -3
  151. package/src/shared/index.ts +1 -0
  152. package/src/shared/jest_setup.ts +16 -1
  153. package/src/shared/mock_state_view.ts +188 -0
  154. package/src/shared/submit-transactions.ts +6 -2
  155. package/src/shared/uniswap_l1_l2.ts +9 -11
  156. package/src/simulators/token_simulator.ts +1 -29
  157. package/src/spartan/setup_test_wallets.ts +58 -4
  158. package/src/spartan/utils/bot.ts +4 -1
  159. package/src/spartan/utils/config.ts +2 -0
  160. package/src/spartan/utils/index.ts +7 -1
  161. package/src/spartan/utils/k8s.ts +160 -0
  162. package/src/spartan/utils/nodes.ts +251 -31
  163. package/src/spartan/utils/scripts.ts +43 -7
  164. package/src/test-wallet/test_wallet.ts +306 -0
  165. package/src/test-wallet/utils.ts +112 -0
  166. package/src/test-wallet/wallet_worker_script.ts +60 -0
  167. package/src/test-wallet/worker_wallet.ts +213 -0
  168. package/src/test-wallet/worker_wallet_schema.ts +13 -0
@@ -0,0 +1,86 @@
1
+ import { EthAddress } from '@aztec/aztec.js/addresses';
2
+ import type { EthCheatCodes } from '@aztec/aztec/testing';
3
+ import type { ExtendedViemWalletClient } from '@aztec/ethereum/types';
4
+ /**
5
+ * Mock StateView contract for testing the Uniswap price oracle.
6
+ *
7
+ * Wraps a compiled Solidity contract that mimics the Uniswap V4 StateView's getSlot0 function.
8
+ * The mock allows setting return values dynamically for testing different price scenarios.
9
+ *
10
+ * Solidity source:
11
+ * ```solidity
12
+ * // SPDX-License-Identifier: Apache-2.0
13
+ * pragma solidity >=0.8.27;
14
+ *
15
+ * contract MockStateView {
16
+ * uint160 public sqrtPriceX96;
17
+ * int24 public tick;
18
+ * uint24 public protocolFee;
19
+ * uint24 public lpFee;
20
+ *
21
+ * function setReturnValues(
22
+ * uint160 _sqrtPriceX96,
23
+ * int24 _tick,
24
+ * uint24 _protocolFee,
25
+ * uint24 _lpFee
26
+ * ) external {
27
+ * sqrtPriceX96 = _sqrtPriceX96;
28
+ * tick = _tick;
29
+ * protocolFee = _protocolFee;
30
+ * lpFee = _lpFee;
31
+ * }
32
+ *
33
+ * function getSlot0(bytes32 poolId) external view returns (uint160, int24, uint24, uint24) {
34
+ * return (sqrtPriceX96, tick, protocolFee, lpFee);
35
+ * }
36
+ * }
37
+ * ```
38
+ */
39
+ export declare class MockStateView {
40
+ private readonly address;
41
+ private readonly walletClient;
42
+ private readonly log;
43
+ private static readonly BYTECODE;
44
+ private static readonly ABI;
45
+ private constructor();
46
+ /**
47
+ * Deploys the mock StateView contract at the specified address using etch.
48
+ * @param ethCheatCodes - Cheat codes for etching bytecode
49
+ * @param walletClient - Wallet client for sending transactions
50
+ * @param address - Address to deploy the mock at (typically the real StateView address)
51
+ */
52
+ static deploy(ethCheatCodes: EthCheatCodes, walletClient: ExtendedViemWalletClient, address: EthAddress): Promise<MockStateView>;
53
+ /**
54
+ * Sets the price using the ethPerFeeAssetE12 format (same as rollup contract).
55
+ * Computes the corresponding sqrtPriceX96 internally.
56
+ *
57
+ * Math (from fee_asset_price_oracle.ts):
58
+ * ethPerFeeAssetE12 = 1e12 * 2^192 / sqrtPriceX96^2
59
+ *
60
+ * Inverted:
61
+ * sqrtPriceX96^2 = 1e12 * 2^192 / ethPerFeeAssetE12
62
+ * sqrtPriceX96 = sqrt(1e12 * 2^192 / ethPerFeeAssetE12)
63
+ *
64
+ * @param ethPerFeeAssetE12 - The price in ETH per fee asset, scaled by 1e12
65
+ */
66
+ setEthPerFeeAsset(ethPerFeeAssetE12: bigint): Promise<import("viem").TransactionReceipt>;
67
+ /**
68
+ * Sets the sqrtPriceX96 value directly (Uniswap's price encoding).
69
+ * @param sqrtPriceX96 - The sqrtPriceX96 value
70
+ * @param tick - The tick value (default 10)
71
+ * @param protocolFee - The protocol fee (default 0)
72
+ * @param lpFee - The LP fee (default 500)
73
+ */
74
+ setSqrtPriceX96(sqrtPriceX96: bigint, tick?: number, protocolFee?: number, lpFee?: number): Promise<import("viem").TransactionReceipt>;
75
+ /**
76
+ * Converts ethPerFeeAssetE12 to sqrtPriceX96 (inverse of sqrtPriceX96ToEthPerFeeAssetE12).
77
+ *
78
+ * Math:
79
+ * sqrtPriceX96 = sqrt(1e12 * 2^192 / ethPerFeeAssetE12)
80
+ */
81
+ ethPerFeeAssetE12ToSqrtPriceX96(ethPerFeeAssetE12: bigint): bigint;
82
+ /** Integer square root using Newton's method */
83
+ bigintSqrt(n: bigint): bigint;
84
+ }
85
+ export declare function diffInBps(a: bigint, b: bigint): bigint;
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19zdGF0ZV92aWV3LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2hhcmVkL21vY2tfc3RhdGVfdmlldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdkQsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUl0RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDRztBQUNILHFCQUFhLGFBQWE7SUFxRHRCLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTztJQUN4QixPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVk7SUFDN0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHO0lBdER0QixPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ20rRTtJQUNuZ0YsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQStDaEI7SUFFWCxPQUFPLGVBSUg7SUFFSjs7Ozs7T0FLRztJQUNILE9BQWEsTUFBTSxDQUNqQixhQUFhLEVBQUUsYUFBYSxFQUM1QixZQUFZLEVBQUUsd0JBQXdCLEVBQ3RDLE9BQU8sRUFBRSxVQUFVLEdBQ2xCLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FHeEI7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDRyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLDhDQUdoRDtJQUVEOzs7Ozs7T0FNRztJQUNHLGVBQWUsQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLElBQUksR0FBRSxNQUFXLEVBQUUsV0FBVyxHQUFFLE1BQVUsRUFBRSxLQUFLLEdBQUUsTUFBWSw4Q0FVMUc7SUFFRDs7Ozs7T0FLRztJQUNILCtCQUErQixDQUFDLGlCQUFpQixFQUFFLE1BQU0sR0FBRyxNQUFNLENBT2pFO0lBRUQsZ0RBQWdEO0lBQ2hELFVBQVUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FjNUI7Q0FDRjtBQUVELHdCQUFnQixTQUFTLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FFdEQifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock_state_view.d.ts","sourceRoot":"","sources":["../../src/shared/mock_state_view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAItE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qBAAa,aAAa;IAqDtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,GAAG;IAtDtB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CACm+E;IACngF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CA+ChB;IAEX,OAAO,eAIH;IAEJ;;;;;OAKG;IACH,OAAa,MAAM,CACjB,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,wBAAwB,EACtC,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,aAAa,CAAC,CAGxB;IAED;;;;;;;;;;;;OAYG;IACG,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,8CAGhD;IAED;;;;;;OAMG;IACG,eAAe,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,GAAE,MAAW,EAAE,WAAW,GAAE,MAAU,EAAE,KAAK,GAAE,MAAY,8CAU1G;IAED;;;;;OAKG;IACH,+BAA+B,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAOjE;IAED,gDAAgD;IAChD,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAc5B;CACF;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAEtD"}
@@ -0,0 +1,186 @@
1
+ import { createLogger } from '@aztec/aztec.js/log';
2
+ import { getContract } from 'viem';
3
+ /**
4
+ * Mock StateView contract for testing the Uniswap price oracle.
5
+ *
6
+ * Wraps a compiled Solidity contract that mimics the Uniswap V4 StateView's getSlot0 function.
7
+ * The mock allows setting return values dynamically for testing different price scenarios.
8
+ *
9
+ * Solidity source:
10
+ * ```solidity
11
+ * // SPDX-License-Identifier: Apache-2.0
12
+ * pragma solidity >=0.8.27;
13
+ *
14
+ * contract MockStateView {
15
+ * uint160 public sqrtPriceX96;
16
+ * int24 public tick;
17
+ * uint24 public protocolFee;
18
+ * uint24 public lpFee;
19
+ *
20
+ * function setReturnValues(
21
+ * uint160 _sqrtPriceX96,
22
+ * int24 _tick,
23
+ * uint24 _protocolFee,
24
+ * uint24 _lpFee
25
+ * ) external {
26
+ * sqrtPriceX96 = _sqrtPriceX96;
27
+ * tick = _tick;
28
+ * protocolFee = _protocolFee;
29
+ * lpFee = _lpFee;
30
+ * }
31
+ *
32
+ * function getSlot0(bytes32 poolId) external view returns (uint160, int24, uint24, uint24) {
33
+ * return (sqrtPriceX96, tick, protocolFee, lpFee);
34
+ * }
35
+ * }
36
+ * ```
37
+ */ export class MockStateView {
38
+ address;
39
+ walletClient;
40
+ log;
41
+ static BYTECODE = '0x608060405234801561000f575f5ffd5b5060043610610060575f3560e01c80633eaf5d9f14610064578063704ce43e146100825780638db791d2146100a0578063b0e21e8a146100be578063b52e4bdd146100dc578063c815641c146100f8575b5f5ffd5b61006c61012b565b60405161007991906102ab565b60405180910390f35b61008a61013d565b60405161009791906102e1565b60405180910390f35b6100a8610151565b6040516100b59190610328565b60405180910390f35b6100c6610175565b6040516100d391906102e1565b60405180910390f35b6100f660048036038101906100f191906103c3565b610189565b005b610112600480360381019061010d919061045a565b61022b565b6040516101229493929190610485565b60405180910390f35b5f60149054906101000a900460020b81565b5f601a9054906101000a900462ffffff1681565b5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f60179054906101000a900462ffffff1681565b835f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550825f60146101000a81548162ffffff021916908360020b62ffffff160217905550815f60176101000a81548162ffffff021916908362ffffff160217905550805f601a6101000a81548162ffffff021916908362ffffff16021790555050505050565b5f5f5f5f5f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff165f60149054906101000a900460020b5f60179054906101000a900462ffffff165f601a9054906101000a900462ffffff1693509350935093509193509193565b5f8160020b9050919050565b6102a581610290565b82525050565b5f6020820190506102be5f83018461029c565b92915050565b5f62ffffff82169050919050565b6102db816102c4565b82525050565b5f6020820190506102f45f8301846102d2565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b610322816102fa565b82525050565b5f60208201905061033b5f830184610319565b92915050565b5f5ffd5b61034e816102fa565b8114610358575f5ffd5b50565b5f8135905061036981610345565b92915050565b61037881610290565b8114610382575f5ffd5b50565b5f813590506103938161036f565b92915050565b6103a2816102c4565b81146103ac575f5ffd5b50565b5f813590506103bd81610399565b92915050565b5f5f5f5f608085870312156103db576103da610341565b5b5f6103e88782880161035b565b94505060206103f987828801610385565b935050604061040a878288016103af565b925050606061041b878288016103af565b91505092959194509250565b5f819050919050565b61043981610427565b8114610443575f5ffd5b50565b5f8135905061045481610430565b92915050565b5f6020828403121561046f5761046e610341565b5b5f61047c84828501610446565b91505092915050565b5f6080820190506104985f830187610319565b6104a5602083018661029c565b6104b260408301856102d2565b6104bf60608301846102d2565b9594505050505056fea2646970667358221220f8b1bfff284535bc078368ed34bd5e78981644845f3c9c1f5a4b8448c976805464736f6c634300081f0033';
42
+ static ABI = [
43
+ {
44
+ type: 'function',
45
+ name: 'setReturnValues',
46
+ inputs: [
47
+ {
48
+ name: '_sqrtPriceX96',
49
+ type: 'uint160'
50
+ },
51
+ {
52
+ name: '_tick',
53
+ type: 'int24'
54
+ },
55
+ {
56
+ name: '_protocolFee',
57
+ type: 'uint24'
58
+ },
59
+ {
60
+ name: '_lpFee',
61
+ type: 'uint24'
62
+ }
63
+ ],
64
+ outputs: [],
65
+ stateMutability: 'nonpayable'
66
+ },
67
+ {
68
+ inputs: [
69
+ {
70
+ internalType: 'bytes32',
71
+ name: 'poolId',
72
+ type: 'bytes32'
73
+ }
74
+ ],
75
+ name: 'getSlot0',
76
+ outputs: [
77
+ {
78
+ internalType: 'uint160',
79
+ name: '',
80
+ type: 'uint160'
81
+ },
82
+ {
83
+ internalType: 'int24',
84
+ name: '',
85
+ type: 'int24'
86
+ },
87
+ {
88
+ internalType: 'uint24',
89
+ name: '',
90
+ type: 'uint24'
91
+ },
92
+ {
93
+ internalType: 'uint24',
94
+ name: '',
95
+ type: 'uint24'
96
+ }
97
+ ],
98
+ stateMutability: 'view',
99
+ type: 'function'
100
+ }
101
+ ];
102
+ constructor(address, walletClient, log = createLogger('mock-state-view')){
103
+ this.address = address;
104
+ this.walletClient = walletClient;
105
+ this.log = log;
106
+ }
107
+ /**
108
+ * Deploys the mock StateView contract at the specified address using etch.
109
+ * @param ethCheatCodes - Cheat codes for etching bytecode
110
+ * @param walletClient - Wallet client for sending transactions
111
+ * @param address - Address to deploy the mock at (typically the real StateView address)
112
+ */ static async deploy(ethCheatCodes, walletClient, address) {
113
+ await ethCheatCodes.etch(address, MockStateView.BYTECODE);
114
+ return new MockStateView(address, walletClient);
115
+ }
116
+ /**
117
+ * Sets the price using the ethPerFeeAssetE12 format (same as rollup contract).
118
+ * Computes the corresponding sqrtPriceX96 internally.
119
+ *
120
+ * Math (from fee_asset_price_oracle.ts):
121
+ * ethPerFeeAssetE12 = 1e12 * 2^192 / sqrtPriceX96^2
122
+ *
123
+ * Inverted:
124
+ * sqrtPriceX96^2 = 1e12 * 2^192 / ethPerFeeAssetE12
125
+ * sqrtPriceX96 = sqrt(1e12 * 2^192 / ethPerFeeAssetE12)
126
+ *
127
+ * @param ethPerFeeAssetE12 - The price in ETH per fee asset, scaled by 1e12
128
+ */ async setEthPerFeeAsset(ethPerFeeAssetE12) {
129
+ const sqrtPriceX96 = this.ethPerFeeAssetE12ToSqrtPriceX96(ethPerFeeAssetE12);
130
+ return await this.setSqrtPriceX96(sqrtPriceX96);
131
+ }
132
+ /**
133
+ * Sets the sqrtPriceX96 value directly (Uniswap's price encoding).
134
+ * @param sqrtPriceX96 - The sqrtPriceX96 value
135
+ * @param tick - The tick value (default 10)
136
+ * @param protocolFee - The protocol fee (default 0)
137
+ * @param lpFee - The LP fee (default 500)
138
+ */ async setSqrtPriceX96(sqrtPriceX96, tick = 10, protocolFee = 0, lpFee = 500) {
139
+ const contract = getContract({
140
+ address: this.address.toString(),
141
+ abi: MockStateView.ABI,
142
+ client: this.walletClient
143
+ });
144
+ const hash = await contract.write.setReturnValues([
145
+ sqrtPriceX96,
146
+ tick,
147
+ protocolFee,
148
+ lpFee
149
+ ]);
150
+ this.log.info(`Set sqrtPriceX96 to ${sqrtPriceX96}`);
151
+ return await this.walletClient.waitForTransactionReceipt({
152
+ hash
153
+ });
154
+ }
155
+ /**
156
+ * Converts ethPerFeeAssetE12 to sqrtPriceX96 (inverse of sqrtPriceX96ToEthPerFeeAssetE12).
157
+ *
158
+ * Math:
159
+ * sqrtPriceX96 = sqrt(1e12 * 2^192 / ethPerFeeAssetE12)
160
+ */ ethPerFeeAssetE12ToSqrtPriceX96(ethPerFeeAssetE12) {
161
+ if (ethPerFeeAssetE12 === 0n) {
162
+ throw new Error('Cannot convert zero ethPerFeeAssetE12');
163
+ }
164
+ const Q192 = 2n ** 192n;
165
+ const sqrtPriceSquared = 10n ** 12n * Q192 / ethPerFeeAssetE12;
166
+ return this.bigintSqrt(sqrtPriceSquared);
167
+ }
168
+ /** Integer square root using Newton's method */ bigintSqrt(n) {
169
+ if (n < 0n) {
170
+ throw new Error('Cannot compute sqrt of negative number');
171
+ }
172
+ if (n === 0n) {
173
+ return 0n;
174
+ }
175
+ let x = n;
176
+ let y = (x + 1n) / 2n;
177
+ while(y < x){
178
+ x = y;
179
+ y = (x + n / x) / 2n;
180
+ }
181
+ return x;
182
+ }
183
+ }
184
+ export function diffInBps(a, b) {
185
+ return (a - b) * 10000n / b;
186
+ }
@@ -1,6 +1,6 @@
1
1
  import { AztecAddress } from '@aztec/aztec.js/addresses';
2
2
  import type { Logger } from '@aztec/aztec.js/log';
3
3
  import { TxHash } from '@aztec/aztec.js/tx';
4
- import type { TestWallet } from '@aztec/test-wallet/server';
4
+ import type { TestWallet } from '../test-wallet/test_wallet.js';
5
5
  export declare const submitTxsTo: (wallet: TestWallet, submitter: AztecAddress, numTxs: number, logger: Logger) => Promise<TxHash[]>;
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LXRyYW5zYWN0aW9ucy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC9zdWJtaXQtdHJhbnNhY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUE0QixNQUFNLG9CQUFvQixDQUFDO0FBRXRFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzVELGVBQU8sTUFBTSxXQUFXLG9HQXFCdkIsQ0FBQyJ9
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LXRyYW5zYWN0aW9ucy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC9zdWJtaXQtdHJhbnNhY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUE0QixNQUFNLG9CQUFvQixDQUFDO0FBR3RFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR2hFLGVBQU8sTUFBTSxXQUFXLG9HQXdCdkIsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"submit-transactions.d.ts","sourceRoot":"","sources":["../../src/shared/submit-transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAA4B,MAAM,oBAAoB,CAAC;AAEtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,eAAO,MAAM,WAAW,oGAqBvB,CAAC"}
1
+ {"version":3,"file":"submit-transactions.d.ts","sourceRoot":"","sources":["../../src/shared/submit-transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAA4B,MAAM,oBAAoB,CAAC;AAGtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,eAAO,MAAM,WAAW,oGAwBvB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { type EndToEndContext } from '../fixtures/utils.js';
2
2
  export declare const uniswapL1L2TestSuite: (setup: () => Promise<EndToEndContext>, cleanup: () => Promise<void>, expectedForkBlockNumber?: number) => void;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pc3dhcF9sMV9sMi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC91bmlzd2FwX2wxX2wyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCQSxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQW1DLE1BQU0sc0JBQXNCLENBQUM7QUFZN0YsZUFBTyxNQUFNLG9CQUFvQixpSEFrK0JoQyxDQUFDIn0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pc3dhcF9sMV9sMi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC91bmlzd2FwX2wxX2wyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCQSxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQW1DLE1BQU0sc0JBQXNCLENBQUM7QUFhN0YsZUFBTyxNQUFNLG9CQUFvQixpSEFnK0JoQyxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"uniswap_l1_l2.d.ts","sourceRoot":"","sources":["../../src/shared/uniswap_l1_l2.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,KAAK,eAAe,EAAmC,MAAM,sBAAsB,CAAC;AAY7F,eAAO,MAAM,oBAAoB,iHAk+BhC,CAAC"}
1
+ {"version":3,"file":"uniswap_l1_l2.d.ts","sourceRoot":"","sources":["../../src/shared/uniswap_l1_l2.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,eAAe,EAAmC,MAAM,sBAAsB,CAAC;AAa7F,eAAO,MAAM,oBAAoB,iHAg+BhC,CAAC"}
@@ -6,7 +6,7 @@ import { Fr } from '@aztec/aztec.js/fields';
6
6
  import { RollupContract } from '@aztec/ethereum/contracts';
7
7
  import { deployL1Contract } from '@aztec/ethereum/deploy-l1-contract';
8
8
  import { extractEvent } from '@aztec/ethereum/utils';
9
- import { CheckpointNumber, EpochNumber } from '@aztec/foundation/branded-types';
9
+ import { EpochNumber } from '@aztec/foundation/branded-types';
10
10
  import { sha256ToField } from '@aztec/foundation/crypto/sha256';
11
11
  import { InboxAbi, UniswapPortalAbi, UniswapPortalBytecode } from '@aztec/l1-artifacts';
12
12
  import { UniswapContract } from '@aztec/noir-contracts.js/Uniswap';
@@ -52,7 +52,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
52
52
  const t = await setup();
53
53
  ({ aztecNode, logger, deployL1ContractsValues, cheatCodes, wallet, accounts: [ownerAddress, sponsorAddress] } = t);
54
54
  l1Client = deployL1ContractsValues.l1Client;
55
- t.watcher?.setIsMarkingAsProven(false);
55
+ t.watcher.setIsMarkingAsProven(false);
56
56
  if (Number(await l1Client.getBlockNumber()) < expectedForkBlockNumber) {
57
57
  throw new Error('This test must be run on a fork of mainnet with the expected fork block');
58
58
  }
@@ -166,8 +166,8 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
166
166
  // ensure that uniswap contract didn't eat the funds.
167
167
  await wethCrossChainHarness.expectPublicBalanceOnL2(uniswapL2Contract.address, 0n);
168
168
  // Since the outbox is only consumable when the epoch is proven, we need to advance to the next epoch.
169
- const checkpointNumber = CheckpointNumber.fromBlockNumber(l2UniswapInteractionReceipt.blockNumber);
170
- const epoch = await rollup.getEpochNumberForCheckpoint(checkpointNumber);
169
+ const block = await aztecNode.getBlock(l2UniswapInteractionReceipt.blockNumber);
170
+ const epoch = await rollup.getEpochNumberForCheckpoint(block.checkpointNumber);
171
171
  await cheatCodes.rollup.advanceToEpoch(EpochNumber(epoch + 1));
172
172
  await waitForProven(aztecNode, l2UniswapInteractionReceipt, {
173
173
  provenTimeout: 300
@@ -574,7 +574,8 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
574
574
  rollupVersion: new Fr(version),
575
575
  chainId: new Fr(l1Client.chain.id)
576
576
  });
577
- const epoch = await rollup.getEpochNumberForCheckpoint(CheckpointNumber.fromBlockNumber(withdrawReceipt.blockNumber));
577
+ const block = await aztecNode.getBlock(withdrawReceipt.blockNumber);
578
+ const epoch = await rollup.getEpochNumberForCheckpoint(block.checkpointNumber);
578
579
  const swapResult = await computeL2ToL1MembershipWitness(aztecNode, epoch, swapPrivateLeaf);
579
580
  const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, epoch, withdrawLeaf);
580
581
  const swapPrivateL2MessageIndex = swapResult.leafIndex;
@@ -664,7 +665,8 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
664
665
  rollupVersion: new Fr(version),
665
666
  chainId: new Fr(l1Client.chain.id)
666
667
  });
667
- const epoch = await rollup.getEpochNumberForCheckpoint(CheckpointNumber.fromBlockNumber(withdrawReceipt.blockNumber));
668
+ const block = await aztecNode.getBlock(withdrawReceipt.blockNumber);
669
+ const epoch = await rollup.getEpochNumberForCheckpoint(block.checkpointNumber);
668
670
  const swapResult = await computeL2ToL1MembershipWitness(aztecNode, epoch, swapPublicLeaf);
669
671
  const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, epoch, withdrawLeaf);
670
672
  const swapPublicL2MessageIndex = swapResult.leafIndex;
@@ -29,4 +29,4 @@ export declare class TokenSimulator {
29
29
  checkPrivate(): Promise<void>;
30
30
  check(): Promise<void>;
31
31
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5fc2ltdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2ltdWxhdG9ycy90b2tlbl9zaW11bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJcEUscUJBQWEsY0FBYztJQVF2QixTQUFTLENBQUMsS0FBSyxFQUFFLGFBQWE7SUFDOUIsU0FBUyxDQUFDLGFBQWEsRUFBRSxNQUFNO0lBQy9CLFNBQVMsQ0FBQyxjQUFjLEVBQUUsWUFBWTtJQUN0QyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU07SUFDeEIsU0FBUyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUU7SUFYcEMsT0FBTyxDQUFDLGVBQWUsQ0FBa0M7SUFDekQsT0FBTyxDQUFDLGFBQWEsQ0FBa0M7SUFDaEQsV0FBVyxFQUFFLE1BQU0sQ0FBTTtJQUVoQyxPQUFPLENBQUMsY0FBYyxDQUFrQztJQUV4RCxZQUNZLEtBQUssRUFBRSxhQUFhLEVBQ3BCLGFBQWEsRUFBRSxNQUFNLEVBQ3JCLGNBQWMsRUFBRSxZQUFZLEVBQzVCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsUUFBUSxFQUFFLFlBQVksRUFBRSxFQUNoQztJQUVHLFVBQVUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxRQUV0QztJQUVNLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFFN0Q7SUFFTSxXQUFXLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUdsRDtJQUVNLFVBQVUsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBSWpEO0lBRU0sY0FBYyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxRQU96RTtJQUVNLGVBQWUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFPMUU7SUFFTSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFNNUU7SUFFTSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFNM0U7SUFFTSxXQUFXLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxRQU1wRDtJQUVNLFVBQVUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBTW5EO0lBRU0sZUFBZSxDQUFDLE9BQU8sRUFBRSxZQUFZLFVBRTNDO0lBRU0sZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFlBQVksVUFFNUM7SUFFSyxXQUFXLGtCQWtCaEI7SUFFSyxZQUFZLGtCQW9DakI7SUFFWSxLQUFLLGtCQUdqQjtDQUNGIn0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5fc2ltdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2ltdWxhdG9ycy90b2tlbl9zaW11bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJcEUscUJBQWEsY0FBYztJQVF2QixTQUFTLENBQUMsS0FBSyxFQUFFLGFBQWE7SUFDOUIsU0FBUyxDQUFDLGFBQWEsRUFBRSxNQUFNO0lBQy9CLFNBQVMsQ0FBQyxjQUFjLEVBQUUsWUFBWTtJQUN0QyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU07SUFDeEIsU0FBUyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUU7SUFYcEMsT0FBTyxDQUFDLGVBQWUsQ0FBa0M7SUFDekQsT0FBTyxDQUFDLGFBQWEsQ0FBa0M7SUFDaEQsV0FBVyxFQUFFLE1BQU0sQ0FBTTtJQUVoQyxPQUFPLENBQUMsY0FBYyxDQUFrQztJQUV4RCxZQUNZLEtBQUssRUFBRSxhQUFhLEVBQ3BCLGFBQWEsRUFBRSxNQUFNLEVBQ3JCLGNBQWMsRUFBRSxZQUFZLEVBQzVCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsUUFBUSxFQUFFLFlBQVksRUFBRSxFQUNoQztJQUVHLFVBQVUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxRQUV0QztJQUVNLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFFN0Q7SUFFTSxXQUFXLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUdsRDtJQUVNLFVBQVUsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBSWpEO0lBRU0sY0FBYyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxRQU96RTtJQUVNLGVBQWUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFPMUU7SUFFTSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFNNUU7SUFFTSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFNM0U7SUFFTSxXQUFXLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxRQU1wRDtJQUVNLFVBQVUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBTW5EO0lBRU0sZUFBZSxDQUFDLE9BQU8sRUFBRSxZQUFZLFVBRTNDO0lBRU0sZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFlBQVksVUFFNUM7SUFFSyxXQUFXLGtCQWtCaEI7SUFFSyxZQUFZLGtCQVFqQjtJQUVZLEtBQUssa0JBR2pCO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"token_simulator.d.ts","sourceRoot":"","sources":["../../src/simulators/token_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAIpE,qBAAa,cAAc;IAQvB,SAAS,CAAC,KAAK,EAAE,aAAa;IAC9B,SAAS,CAAC,aAAa,EAAE,MAAM;IAC/B,SAAS,CAAC,cAAc,EAAE,YAAY;IACtC,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE;IAXpC,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,aAAa,CAAkC;IAChD,WAAW,EAAE,MAAM,CAAM;IAEhC,OAAO,CAAC,cAAc,CAAkC;IAExD,YACY,KAAK,EAAE,aAAa,EACpB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,YAAY,EAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EAAE,EAChC;IAEG,UAAU,CAAC,OAAO,EAAE,YAAY,QAEtC;IAEM,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAE7D;IAEM,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAGlD;IAEM,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAIjD;IAEM,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAOzE;IAEM,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAO1E;IAEM,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAM5E;IAEM,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAM3E;IAEM,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAMpD;IAEM,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAMnD;IAEM,eAAe,CAAC,OAAO,EAAE,YAAY,UAE3C;IAEM,gBAAgB,CAAC,OAAO,EAAE,YAAY,UAE5C;IAEK,WAAW,kBAkBhB;IAEK,YAAY,kBAoCjB;IAEY,KAAK,kBAGjB;CACF"}
1
+ {"version":3,"file":"token_simulator.d.ts","sourceRoot":"","sources":["../../src/simulators/token_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAIpE,qBAAa,cAAc;IAQvB,SAAS,CAAC,KAAK,EAAE,aAAa;IAC9B,SAAS,CAAC,aAAa,EAAE,MAAM;IAC/B,SAAS,CAAC,cAAc,EAAE,YAAY;IACtC,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE;IAXpC,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,aAAa,CAAkC;IAChD,WAAW,EAAE,MAAM,CAAM;IAEhC,OAAO,CAAC,cAAc,CAAkC;IAExD,YACY,KAAK,EAAE,aAAa,EACpB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,YAAY,EAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EAAE,EAChC;IAEG,UAAU,CAAC,OAAO,EAAE,YAAY,QAEtC;IAEM,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAE7D;IAEM,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAGlD;IAEM,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAIjD;IAEM,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAOzE;IAEM,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAO1E;IAEM,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAM5E;IAEM,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAM3E;IAEM,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAMpD;IAEM,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAMnD;IAEM,eAAe,CAAC,OAAO,EAAE,YAAY,UAE3C;IAEM,gBAAgB,CAAC,OAAO,EAAE,YAAY,UAE5C;IAEK,WAAW,kBAkBhB;IAEK,YAAY,kBAQjB;IAEY,KAAK,kBAGjB;CACF"}
@@ -98,32 +98,11 @@ export class TokenSimulator {
98
98
  }
99
99
  }
100
100
  async checkPrivate() {
101
- // Private calls
102
- const defaultLookups = [];
103
- const nonDefaultLookups = [];
104
101
  for (const address of this.accounts){
105
- if (this.lookupProvider.has(address.toString())) {
106
- nonDefaultLookups.push(address);
107
- } else {
108
- defaultLookups.push(address);
109
- }
110
- }
111
- const defaultCalls = defaultLookups.map((address)=>this.token.methods.balance_of_private(address));
112
- const results = (await Promise.all(chunk(defaultCalls, 4).map((batch)=>new BatchCall(this.defaultWallet, batch).simulate({
113
- from: this.defaultAddress
114
- })))).flat();
115
- for(let i = 0; i < defaultLookups.length; i++){
116
- expect(results[i]).toEqual(this.balanceOfPrivate(defaultLookups[i]));
117
- }
118
- // We are just running individual calls for the non-default lookups
119
- // @todo We should also batch these
120
- for (const address of nonDefaultLookups){
121
102
  const wallet = this.lookupProvider.get(address.toString());
122
103
  const asset = wallet ? this.token.withWallet(wallet) : this.token;
123
- const actualPrivateBalance = await asset.methods.balance_of_private({
124
- address
125
- }).simulate({
126
- from: this.defaultAddress
104
+ const actualPrivateBalance = await asset.methods.balance_of_private(address).simulate({
105
+ from: address
127
106
  });
128
107
  expect(actualPrivateBalance).toEqual(this.balanceOfPrivate(address));
129
108
  }
@@ -3,7 +3,8 @@ import { type FeePaymentMethod } from '@aztec/aztec.js/fee';
3
3
  import { type AztecNode } from '@aztec/aztec.js/node';
4
4
  import type { Logger } from '@aztec/foundation/log';
5
5
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
6
- import { TestWallet } from '@aztec/test-wallet/server';
6
+ import { TestWallet } from '../test-wallet/test_wallet.js';
7
+ import { WorkerWallet } from '../test-wallet/worker_wallet.js';
7
8
  export interface TestAccounts {
8
9
  aztecNode: AztecNode;
9
10
  wallet: TestWallet;
@@ -33,4 +34,10 @@ export type WalletWrapper = {
33
34
  cleanup: () => Promise<void>;
34
35
  };
35
36
  export declare function createWalletAndAztecNodeClient(nodeUrl: string, proverEnabled: boolean, logger: Logger): Promise<WalletWrapper>;
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfdGVzdF93YWxsZXRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BhcnRhbi9zZXR1cF90ZXN0X3dhbGxldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXpELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUE2QixNQUFNLHFCQUFxQixDQUFDO0FBRXZGLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBb0MsTUFBTSxzQkFBc0IsQ0FBQztBQUl4RixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFL0QsT0FBTyxFQUFFLFVBQVUsRUFBaUUsTUFBTSwyQkFBMkIsQ0FBQztBQU10SCxNQUFNLFdBQVcsWUFBWTtJQUMzQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDbkIsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3pCLGFBQWEsRUFBRSxhQUFhLENBQUM7SUFDN0IsaUJBQWlCLEVBQUUsWUFBWSxDQUFDO0lBQ2hDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO0lBQy9CLFlBQVksRUFBRSxZQUFZLENBQUM7Q0FDNUI7QUFFRCxNQUFNLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxDQUMxQyxZQUFZLEVBQ1osY0FBYyxHQUFHLGVBQWUsR0FBRyxXQUFXLEdBQUcsbUJBQW1CLENBQ3JFLENBQUM7QUFNRix3QkFBc0IsMkJBQTJCLENBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQ2YsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sR0FDYixPQUFPLENBQUMsWUFBWSxDQUFDLENBeUJ2QjtBQUVELHdCQUFzQixxQ0FBcUMsQ0FDekQsTUFBTSxFQUFFLFVBQVUsRUFDbEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxxQkFBcUIsU0FBSSxHQUN4QixPQUFPLENBQUMsWUFBWSxDQUFDLENBdUN2QjtBQW1ERCx3QkFBc0IsMkJBQTJCLENBQy9DLE1BQU0sRUFBRSxVQUFVLEVBQ2xCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE1BQU0sRUFBRSxNQUFNLEVBQ2QscUJBQXFCLFNBQUksR0FDeEIsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBa0JwQztBQUVELHdCQUFzQiw0QkFBNEIsQ0FDaEQsT0FBTyxFQUFFLE1BQU0sRUFDZixTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQ25CLG9CQUFvQixFQUFFLE1BQU0sRUFDNUIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxxQkFBcUIsU0FBSSxHQUN4QixPQUFPLENBQUMsWUFBWSxDQUFDLENBK0N2QjtBQWlGRCx3QkFBc0IsZ0JBQWdCLENBQUMsRUFDckMsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sY0FBYyxFQUNkLE1BQU0sRUFDTixnQkFBZ0IsRUFDakIsRUFBRTtJQUNELE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDbkIsWUFBWSxFQUFFLFlBQVksQ0FBQztJQUMzQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsY0FBYyxFQUFFLE1BQU0sQ0FBQztJQUN2QixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsZ0JBQWdCLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztDQUNyQyxpQkFxQkE7QUFFRCxNQUFNLE1BQU0sYUFBYSxHQUFHO0lBQzFCLE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDbkIsU0FBUyxFQUFFLFNBQVMsQ0FBQztJQUNyQixPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDOUIsQ0FBQztBQUVGLHdCQUFzQiw4QkFBOEIsQ0FDbEQsT0FBTyxFQUFFLE1BQU0sRUFDZixhQUFhLEVBQUUsT0FBTyxFQUN0QixNQUFNLEVBQUUsTUFBTSxHQUNiLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FxQnhCIn0=
37
+ export type WorkerWalletWrapper = {
38
+ wallet: WorkerWallet;
39
+ aztecNode: AztecNode;
40
+ cleanup: () => Promise<void>;
41
+ };
42
+ export declare function createWorkerWalletClient(nodeUrl: string, proverEnabled: boolean, logger: Logger): Promise<WorkerWalletWrapper>;
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfdGVzdF93YWxsZXRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BhcnRhbi9zZXR1cF90ZXN0X3dhbGxldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXpELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUE2QixNQUFNLHFCQUFxQixDQUFDO0FBRXZGLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBb0MsTUFBTSxzQkFBc0IsQ0FBQztBQUl4RixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFPL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUUvRCxNQUFNLFdBQVcsWUFBWTtJQUMzQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDbkIsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3pCLGFBQWEsRUFBRSxhQUFhLENBQUM7SUFDN0IsaUJBQWlCLEVBQUUsWUFBWSxDQUFDO0lBQ2hDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO0lBQy9CLFlBQVksRUFBRSxZQUFZLENBQUM7Q0FDNUI7QUFFRCxNQUFNLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxDQUMxQyxZQUFZLEVBQ1osY0FBYyxHQUFHLGVBQWUsR0FBRyxXQUFXLEdBQUcsbUJBQW1CLENBQ3JFLENBQUM7QUFNRix3QkFBc0IsMkJBQTJCLENBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQ2YsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sR0FDYixPQUFPLENBQUMsWUFBWSxDQUFDLENBeUJ2QjtBQUVELHdCQUFzQixxQ0FBcUMsQ0FDekQsTUFBTSxFQUFFLFVBQVUsRUFDbEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxxQkFBcUIsU0FBSSxHQUN4QixPQUFPLENBQUMsWUFBWSxDQUFDLENBK0N2QjtBQXVERCx3QkFBc0IsMkJBQTJCLENBQy9DLE1BQU0sRUFBRSxVQUFVLEVBQ2xCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE1BQU0sRUFBRSxNQUFNLEVBQ2QscUJBQXFCLFNBQUksR0FDeEIsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBa0JwQztBQUVELHdCQUFzQiw0QkFBNEIsQ0FDaEQsT0FBTyxFQUFFLE1BQU0sRUFDZixTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQ25CLG9CQUFvQixFQUFFLE1BQU0sRUFDNUIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxxQkFBcUIsU0FBSSxHQUN4QixPQUFPLENBQUMsWUFBWSxDQUFDLENBK0N2QjtBQWlGRCx3QkFBc0IsZ0JBQWdCLENBQUMsRUFDckMsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sY0FBYyxFQUNkLE1BQU0sRUFDTixnQkFBZ0IsRUFDakIsRUFBRTtJQUNELE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDbkIsWUFBWSxFQUFFLFlBQVksQ0FBQztJQUMzQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsY0FBYyxFQUFFLE1BQU0sQ0FBQztJQUN2QixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsZ0JBQWdCLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztDQUNyQyxpQkFxQkE7QUFFRCxNQUFNLE1BQU0sYUFBYSxHQUFHO0lBQzFCLE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDbkIsU0FBUyxFQUFFLFNBQVMsQ0FBQztJQUNyQixPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDOUIsQ0FBQztBQUVGLHdCQUFzQiw4QkFBOEIsQ0FDbEQsT0FBTyxFQUFFLE1BQU0sRUFDZixhQUFhLEVBQUUsT0FBTyxFQUN0QixNQUFNLEVBQUUsTUFBTSxHQUNiLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FxQnhCO0FBRUQsTUFBTSxNQUFNLG1CQUFtQixHQUFHO0lBQ2hDLE1BQU0sRUFBRSxZQUFZLENBQUM7SUFDckIsU0FBUyxFQUFFLFNBQVMsQ0FBQztJQUNyQixPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDOUIsQ0FBQztBQUVGLHdCQUFzQix3QkFBd0IsQ0FDNUMsT0FBTyxFQUFFLE1BQU0sRUFDZixhQUFhLEVBQUUsT0FBTyxFQUN0QixNQUFNLEVBQUUsTUFBTSxHQUNiLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQTJCOUIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"setup_test_wallets.d.ts","sourceRoot":"","sources":["../../src/spartan/setup_test_wallets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAIzD,OAAO,EAAE,KAAK,gBAAgB,EAA6B,MAAM,qBAAqB,CAAC;AAEvF,OAAO,EAAE,KAAK,SAAS,EAAoC,MAAM,sBAAsB,CAAC;AAIxF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAiE,MAAM,2BAA2B,CAAC;AAMtH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,YAAY,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,YAAY,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,YAAY,EACZ,cAAc,GAAG,eAAe,GAAG,WAAW,GAAG,mBAAmB,CACrE,CAAC;AAMF,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAyBvB;AAED,wBAAsB,qCAAqC,CACzD,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CAuCvB;AAmDD,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,yBAAyB,CAAC,CAkBpC;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,EACnB,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CA+CvB;AAiFD,wBAAsB,gBAAgB,CAAC,EACrC,MAAM,EACN,YAAY,EACZ,MAAM,EACN,cAAc,EACd,MAAM,EACN,gBAAgB,EACjB,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,iBAqBA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAqBxB"}
1
+ {"version":3,"file":"setup_test_wallets.d.ts","sourceRoot":"","sources":["../../src/spartan/setup_test_wallets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAIzD,OAAO,EAAE,KAAK,gBAAgB,EAA6B,MAAM,qBAAqB,CAAC;AAEvF,OAAO,EAAE,KAAK,SAAS,EAAoC,MAAM,sBAAsB,CAAC;AAIxF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAO/D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,YAAY,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,YAAY,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,YAAY,EACZ,cAAc,GAAG,eAAe,GAAG,WAAW,GAAG,mBAAmB,CACrE,CAAC;AAMF,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAyBvB;AAED,wBAAsB,qCAAqC,CACzD,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CA+CvB;AAuDD,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,yBAAyB,CAAC,CAkBpC;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,EACnB,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CA+CvB;AAiFD,wBAAsB,gBAAgB,CAAC,EACrC,MAAM,EACN,YAAY,EACZ,MAAM,EACN,cAAc,EACd,MAAM,EACN,gBAAgB,EACjB,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,iBAqBA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAqBxB;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,CAAC,CA2B9B"}
@@ -10,10 +10,13 @@ import { createEthereumChain } from '@aztec/ethereum/chain';
10
10
  import { createExtendedL1Client } from '@aztec/ethereum/client';
11
11
  import { retryUntil } from '@aztec/foundation/retry';
12
12
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
13
- import { TestWallet, proveInteraction, registerInitialLocalNetworkAccountsInWallet } from '@aztec/test-wallet/server';
13
+ import { registerInitialLocalNetworkAccountsInWallet } from '@aztec/wallets/testing';
14
14
  import { getACVMConfig } from '../fixtures/get_acvm_config.js';
15
15
  import { getBBConfig } from '../fixtures/get_bb_config.js';
16
16
  import { getSponsoredFPCAddress, registerSponsoredFPC } from '../fixtures/utils.js';
17
+ import { TestWallet } from '../test-wallet/test_wallet.js';
18
+ import { proveInteraction } from '../test-wallet/utils.js';
19
+ import { WorkerWallet } from '../test-wallet/worker_wallet.js';
17
20
  const TOKEN_NAME = 'USDC';
18
21
  const TOKEN_SYMBOL = 'USD';
19
22
  const TOKEN_DECIMALS = 18n;
@@ -268,3 +271,30 @@ export async function createWalletAndAztecNodeClient(nodeUrl, proverEnabled, log
268
271
  }
269
272
  };
270
273
  }
274
+ export async function createWorkerWalletClient(nodeUrl, proverEnabled, logger) {
275
+ const aztecNode = createAztecNodeClient(nodeUrl);
276
+ const [bbConfig, acvmConfig] = await Promise.all([
277
+ getBBConfig(logger),
278
+ getACVMConfig(logger)
279
+ ]);
280
+ // Strip cleanup functions — they can't be structured-cloned for worker transfer
281
+ const { cleanup: bbCleanup, ...bbPaths } = bbConfig ?? {};
282
+ const { cleanup: acvmCleanup, ...acvmPaths } = acvmConfig ?? {};
283
+ const pxeConfig = {
284
+ dataDirectory: undefined,
285
+ dataStoreMapSizeKb: 1024 * 1024,
286
+ ...bbPaths,
287
+ ...acvmPaths,
288
+ proverEnabled
289
+ };
290
+ const wallet = await WorkerWallet.create(nodeUrl, pxeConfig);
291
+ return {
292
+ wallet,
293
+ aztecNode,
294
+ async cleanup () {
295
+ await wallet.stop();
296
+ await bbCleanup?.();
297
+ await acvmCleanup?.();
298
+ }
299
+ };
300
+ }
@@ -4,13 +4,14 @@ export declare function restartBot(namespace: string, log: Logger): Promise<void
4
4
  * Installs or upgrades the transfer bot Helm release for the given namespace.
5
5
  * Intended for test setup to enable L2 traffic generation only when needed.
6
6
  */
7
- export declare function installTransferBot({ namespace, spartanDir, logger: log, replicas, txIntervalSeconds, followChain, mnemonic, mnemonicStartIndex, botPrivateKey, nodeUrl, timeout, reuseValues, aztecSlotDuration }: {
7
+ export declare function installTransferBot({ namespace, spartanDir, logger: log, replicas, txIntervalSeconds, followChain, pxeSyncChainTip, mnemonic, mnemonicStartIndex, botPrivateKey, nodeUrl, timeout, reuseValues, aztecSlotDuration }: {
8
8
  namespace: string;
9
9
  spartanDir: string;
10
10
  logger: Logger;
11
11
  replicas?: number;
12
12
  txIntervalSeconds?: number;
13
13
  followChain?: string;
14
+ pxeSyncChainTip?: string;
14
15
  mnemonic?: string;
15
16
  mnemonicStartIndex?: number | string;
16
17
  botPrivateKey?: string;
@@ -24,4 +25,4 @@ export declare function installTransferBot({ namespace, spartanDir, logger: log,
24
25
  * Intended for test teardown to clean up bot resources.
25
26
  */
26
27
  export declare function uninstallTransferBot(namespace: string, log: Logger): Promise<void>;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BhcnRhbi91dGlscy9ib3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFXcEQsd0JBQXNCLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGlCQWE5RDtBQUVEOzs7R0FHRztBQUNILHdCQUFzQixrQkFBa0IsQ0FBQyxFQUN2QyxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFBRSxHQUFHLEVBQ1gsUUFBWSxFQUNaLGlCQUFzQixFQUN0QixXQUF1QixFQUN2QixRQUEyRyxFQUMzRyxrQkFBa0IsRUFDbEIsYUFBc0UsRUFDdEUsT0FBTyxFQUNQLE9BQWUsRUFDZixXQUFrQixFQUNsQixpQkFBaUUsRUFDbEUsRUFBRTtJQUNELFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGlCQUFpQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQzNCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNyQixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEIsa0JBQWtCLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3JDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN2QixPQUFPLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDakIsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLFdBQVcsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN0QixpQkFBaUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUM1QixpQkFnSEE7QUFFRDs7O0dBR0c7QUFDSCx3QkFBc0Isb0JBQW9CLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxpQkFReEUifQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BhcnRhbi91dGlscy9ib3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFXcEQsd0JBQXNCLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGlCQWE5RDtBQUVEOzs7R0FHRztBQUNILHdCQUFzQixrQkFBa0IsQ0FBQyxFQUN2QyxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFBRSxHQUFHLEVBQ1gsUUFBWSxFQUNaLGlCQUFzQixFQUN0QixXQUE0QixFQUM1QixlQUE0QixFQUM1QixRQUEyRyxFQUMzRyxrQkFBa0IsRUFDbEIsYUFBc0UsRUFDdEUsT0FBTyxFQUNQLE9BQWUsRUFDZixXQUFrQixFQUNsQixpQkFBaUUsRUFDbEUsRUFBRTtJQUNELFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGlCQUFpQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQzNCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNyQixlQUFlLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDekIsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGtCQUFrQixDQUFDLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUNyQyxhQUFhLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDdkIsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNqQixXQUFXLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDdEIsaUJBQWlCLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDNUIsaUJBaUhBO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQXNCLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0saUJBUXhFIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../../src/spartan/utils/bot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAWpD,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAa9D;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,SAAS,EACT,UAAU,EACV,MAAM,EAAE,GAAG,EACX,QAAY,EACZ,iBAAsB,EACtB,WAAuB,EACvB,QAA2G,EAC3G,kBAAkB,EAClB,aAAsE,EACtE,OAAO,EACP,OAAe,EACf,WAAkB,EAClB,iBAAiE,EAClE,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,iBAgHA;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAQxE"}
1
+ {"version":3,"file":"bot.d.ts","sourceRoot":"","sources":["../../../src/spartan/utils/bot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAWpD,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAa9D;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,SAAS,EACT,UAAU,EACV,MAAM,EAAE,GAAG,EACX,QAAY,EACZ,iBAAsB,EACtB,WAA4B,EAC5B,eAA4B,EAC5B,QAA2G,EAC3G,kBAAkB,EAClB,aAAsE,EACtE,OAAO,EACP,OAAe,EACf,WAAkB,EAClB,iBAAiE,EAClE,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,iBAiHA;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBAQxE"}
@@ -25,7 +25,7 @@ export async function restartBot(namespace, log) {
25
25
  /**
26
26
  * Installs or upgrades the transfer bot Helm release for the given namespace.
27
27
  * Intended for test setup to enable L2 traffic generation only when needed.
28
- */ export async function installTransferBot({ namespace, spartanDir, logger: log, replicas = 1, txIntervalSeconds = 10, followChain = 'PENDING', mnemonic = process.env.LABS_INFRA_MNEMONIC ?? 'test test test test test test test test test test test junk', mnemonicStartIndex, botPrivateKey = process.env.BOT_TRANSFERS_L2_PRIVATE_KEY ?? '0xcafe01', nodeUrl, timeout = '15m', reuseValues = true, aztecSlotDuration = Number(process.env.AZTEC_SLOT_DURATION ?? 12) }) {
28
+ */ export async function installTransferBot({ namespace, spartanDir, logger: log, replicas = 1, txIntervalSeconds = 10, followChain = 'CHECKPOINTED', pxeSyncChainTip = 'proposed', mnemonic = process.env.LABS_INFRA_MNEMONIC ?? 'test test test test test test test test test test test junk', mnemonicStartIndex, botPrivateKey = process.env.BOT_TRANSFERS_L2_PRIVATE_KEY ?? '0xcafe01', nodeUrl, timeout = '15m', reuseValues = true, aztecSlotDuration = Number(process.env.AZTEC_SLOT_DURATION ?? 12) }) {
29
29
  const instanceName = `${namespace}-bot-transfers`;
30
30
  const helmChartDir = getChartDir(spartanDir, 'aztec-bot');
31
31
  const resolvedNodeUrl = nodeUrl ?? `http://${namespace}-rpc-aztec-node.${namespace}.svc.cluster.local:8080`;
@@ -34,6 +34,7 @@ export async function restartBot(namespace, log) {
34
34
  'bot.replicaCount': replicas,
35
35
  'bot.txIntervalSeconds': txIntervalSeconds,
36
36
  'bot.followChain': followChain,
37
+ 'bot.pxeSyncChainTip': pxeSyncChainTip,
37
38
  'bot.botPrivateKey': botPrivateKey,
38
39
  'bot.nodeUrl': resolvedNodeUrl,
39
40
  'bot.mnemonic': mnemonic,
@@ -9,6 +9,8 @@ declare const testConfigSchema: z.ZodObject<{
9
9
  AZTEC_EPOCH_DURATION: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
10
10
  AZTEC_PROOF_SUBMISSION_WINDOW: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
11
11
  AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
12
+ FUNDING_PRIVATE_KEY: z.ZodOptional<z.ZodString>;
13
+ AZTEC_ADMIN_API_KEY: z.ZodOptional<z.ZodString>;
12
14
  }, "strip", z.ZodTypeAny, {
13
15
  NAMESPACE: string;
14
16
  REAL_VERIFIER: boolean;
@@ -19,6 +21,8 @@ declare const testConfigSchema: z.ZodObject<{
19
21
  AZTEC_EPOCH_DURATION: number;
20
22
  AZTEC_PROOF_SUBMISSION_WINDOW: number;
21
23
  AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: number;
24
+ FUNDING_PRIVATE_KEY?: string | undefined;
25
+ AZTEC_ADMIN_API_KEY?: string | undefined;
22
26
  }, {
23
27
  NAMESPACE?: string | undefined;
24
28
  REAL_VERIFIER?: string | number | boolean | undefined;
@@ -29,8 +33,10 @@ declare const testConfigSchema: z.ZodObject<{
29
33
  AZTEC_EPOCH_DURATION?: number | undefined;
30
34
  AZTEC_PROOF_SUBMISSION_WINDOW?: number | undefined;
31
35
  AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET?: number | undefined;
36
+ FUNDING_PRIVATE_KEY?: string | undefined;
37
+ AZTEC_ADMIN_API_KEY?: string | undefined;
32
38
  }>;
33
39
  export type TestConfig = z.infer<typeof testConfigSchema>;
34
40
  export declare function setupEnvironment(env: unknown): TestConfig;
35
41
  export {};
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BhcnRhbi91dGlscy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUl4QixRQUFBLE1BQU0sZ0JBQWdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFVcEIsQ0FBQztBQUVILE1BQU0sTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLGdCQUFnQixDQUFDLENBQUM7QUFFMUQsd0JBQWdCLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxPQUFPLEdBQUcsVUFBVSxDQUl6RCJ9
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BhcnRhbi91dGlscy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUl4QixRQUFBLE1BQU0sZ0JBQWdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFZcEIsQ0FBQztBQUVILE1BQU0sTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLGdCQUFnQixDQUFDLENBQUM7QUFFMUQsd0JBQWdCLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxPQUFPLEdBQUcsVUFBVSxDQUl6RCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/spartan/utils/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUpB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAIzD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/spartan/utils/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYpB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,CAIzD"}
@@ -11,7 +11,9 @@ const testConfigSchema = z.object({
11
11
  AZTEC_SLOT_DURATION: z.coerce.number().optional().default(24),
12
12
  AZTEC_EPOCH_DURATION: z.coerce.number().optional().default(32),
13
13
  AZTEC_PROOF_SUBMISSION_WINDOW: z.coerce.number().optional().default(5),
14
- AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: z.coerce.number().optional().default(2)
14
+ AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: z.coerce.number().optional().default(2),
15
+ FUNDING_PRIVATE_KEY: z.string().optional(),
16
+ AZTEC_ADMIN_API_KEY: z.string().optional()
15
17
  });
16
18
  export function setupEnvironment(env) {
17
19
  const config = testConfigSchema.parse(env);