@aztec/end-to-end 0.0.1-commit.2ed92850 → 0.0.1-commit.3100065

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 (350) hide show
  1. package/README.md +229 -14
  2. package/dest/automine/automine_test_context.d.ts +85 -0
  3. package/dest/automine/automine_test_context.d.ts.map +1 -0
  4. package/dest/automine/automine_test_context.js +98 -0
  5. package/dest/automine/contracts/fixtures/storage_proof_fetcher.d.ts +2 -0
  6. package/dest/automine/contracts/fixtures/storage_proof_fetcher.d.ts.map +1 -0
  7. package/dest/automine/contracts/fixtures/storage_proof_fetcher.js +184 -0
  8. package/dest/automine/contracts/fixtures/storage_proof_fixture.d.ts +18 -0
  9. package/dest/automine/contracts/fixtures/storage_proof_fixture.d.ts.map +1 -0
  10. package/dest/automine/contracts/fixtures/storage_proof_fixture.js +120 -0
  11. package/dest/automine/delivery/interactive_handshake_responder.d.ts +48 -0
  12. package/dest/automine/delivery/interactive_handshake_responder.d.ts.map +1 -0
  13. package/dest/automine/delivery/interactive_handshake_responder.js +76 -0
  14. package/dest/automine/delivery/onchain_delivery_harness.d.ts +19 -0
  15. package/dest/automine/delivery/onchain_delivery_harness.d.ts.map +1 -0
  16. package/dest/automine/delivery/onchain_delivery_harness.js +141 -0
  17. package/dest/automine/token/blacklist_token_contract_test.d.ts +49 -0
  18. package/dest/automine/token/blacklist_token_contract_test.d.ts.map +1 -0
  19. package/dest/{e2e_blacklist_token_contract → automine/token}/blacklist_token_contract_test.js +45 -48
  20. package/dest/automine/token/token_contract_test.d.ts +40 -0
  21. package/dest/automine/token/token_contract_test.d.ts.map +1 -0
  22. package/dest/{e2e_token_contract → automine/token}/token_contract_test.js +43 -48
  23. package/dest/automine/token/token_test_helpers.d.ts +73 -0
  24. package/dest/automine/token/token_test_helpers.d.ts.map +1 -0
  25. package/dest/automine/token/token_test_helpers.js +97 -0
  26. package/dest/bench/client_flows/benchmark.d.ts +15 -1
  27. package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
  28. package/dest/bench/client_flows/benchmark.js +19 -0
  29. package/dest/bench/client_flows/client_flows_benchmark.d.ts +6 -6
  30. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  31. package/dest/bench/client_flows/client_flows_benchmark.js +65 -56
  32. package/dest/bench/client_flows/config.d.ts +2 -2
  33. package/dest/bench/client_flows/config.d.ts.map +1 -1
  34. package/dest/bench/client_flows/config.js +18 -0
  35. package/dest/bench/utils.d.ts +3 -3
  36. package/dest/bench/utils.d.ts.map +1 -1
  37. package/dest/bench/utils.js +102 -8
  38. package/dest/composed/ha/ha_full_setup.d.ts +77 -0
  39. package/dest/composed/ha/ha_full_setup.d.ts.map +1 -0
  40. package/dest/composed/ha/ha_full_setup.js +383 -0
  41. package/dest/composed/web3signer/multi_validator_keystore_utils.d.ts +12 -0
  42. package/dest/composed/web3signer/multi_validator_keystore_utils.d.ts.map +1 -0
  43. package/dest/fixtures/authwit_proxy.d.ts +15 -0
  44. package/dest/fixtures/authwit_proxy.d.ts.map +1 -0
  45. package/dest/fixtures/authwit_proxy.js +34 -0
  46. package/dest/fixtures/e2e_prover_test.d.ts +18 -14
  47. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  48. package/dest/fixtures/e2e_prover_test.js +84 -75
  49. package/dest/fixtures/elu_monitor.d.ts +21 -0
  50. package/dest/fixtures/elu_monitor.d.ts.map +1 -0
  51. package/dest/fixtures/elu_monitor.js +102 -0
  52. package/dest/fixtures/fixtures.d.ts +82 -1
  53. package/dest/fixtures/fixtures.d.ts.map +1 -1
  54. package/dest/fixtures/fixtures.js +84 -0
  55. package/dest/fixtures/get_bb_config.d.ts +1 -1
  56. package/dest/fixtures/get_bb_config.d.ts.map +1 -1
  57. package/dest/fixtures/get_bb_config.js +5 -5
  58. package/dest/fixtures/ha_setup.d.ts +71 -0
  59. package/dest/fixtures/ha_setup.d.ts.map +1 -0
  60. package/dest/fixtures/ha_setup.js +119 -0
  61. package/dest/fixtures/index.d.ts +3 -1
  62. package/dest/fixtures/index.d.ts.map +1 -1
  63. package/dest/fixtures/index.js +2 -0
  64. package/dest/fixtures/schnorr_hardcoded_account_contract.d.ts +25 -0
  65. package/dest/fixtures/schnorr_hardcoded_account_contract.d.ts.map +1 -0
  66. package/dest/fixtures/schnorr_hardcoded_account_contract.js +37 -0
  67. package/dest/fixtures/setup.d.ts +120 -61
  68. package/dest/fixtures/setup.d.ts.map +1 -1
  69. package/dest/fixtures/setup.js +337 -327
  70. package/dest/fixtures/setup_p2p_test.d.ts +22 -11
  71. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  72. package/dest/fixtures/setup_p2p_test.js +46 -35
  73. package/dest/fixtures/standard_contracts_genesis.d.ts +16 -0
  74. package/dest/fixtures/standard_contracts_genesis.d.ts.map +1 -0
  75. package/dest/fixtures/standard_contracts_genesis.js +25 -0
  76. package/dest/fixtures/timing.d.ts +42 -0
  77. package/dest/fixtures/timing.d.ts.map +1 -0
  78. package/dest/fixtures/timing.js +72 -0
  79. package/dest/fixtures/token_utils.d.ts +22 -4
  80. package/dest/fixtures/token_utils.d.ts.map +1 -1
  81. package/dest/fixtures/token_utils.js +26 -8
  82. package/dest/fixtures/utils.d.ts +2 -2
  83. package/dest/fixtures/utils.d.ts.map +1 -1
  84. package/dest/fixtures/utils.js +1 -1
  85. package/dest/fixtures/wait_helpers.d.ts +135 -0
  86. package/dest/fixtures/wait_helpers.d.ts.map +1 -0
  87. package/dest/fixtures/wait_helpers.js +154 -0
  88. package/dest/forward-compatibility/wallet_rpc_client.d.ts +7 -0
  89. package/dest/forward-compatibility/wallet_rpc_client.d.ts.map +1 -0
  90. package/dest/forward-compatibility/wallet_rpc_client.js +15 -0
  91. package/dest/forward-compatibility/wallet_service.d.ts +3 -0
  92. package/dest/forward-compatibility/wallet_service.d.ts.map +1 -0
  93. package/dest/forward-compatibility/wallet_service.js +109 -0
  94. package/dest/install_legacy_contracts.d.cts +10 -0
  95. package/dest/install_legacy_contracts.d.cts.map +1 -0
  96. package/dest/legacy-jest-resolver.d.cts +3 -0
  97. package/dest/legacy-jest-resolver.d.cts.map +1 -0
  98. package/dest/multi-node/block-production/setup.d.ts +97 -0
  99. package/dest/multi-node/block-production/setup.d.ts.map +1 -0
  100. package/dest/multi-node/block-production/setup.js +158 -0
  101. package/dest/multi-node/governance/setup.d.ts +67 -0
  102. package/dest/multi-node/governance/setup.d.ts.map +1 -0
  103. package/dest/multi-node/governance/setup.js +126 -0
  104. package/dest/multi-node/multi_node_test_context.d.ts +212 -0
  105. package/dest/multi-node/multi_node_test_context.d.ts.map +1 -0
  106. package/dest/multi-node/multi_node_test_context.js +347 -0
  107. package/dest/multi-node/slashing/inactivity_setup.d.ts +27 -0
  108. package/dest/multi-node/slashing/inactivity_setup.d.ts.map +1 -0
  109. package/dest/multi-node/slashing/inactivity_setup.js +111 -0
  110. package/dest/multi-node/slashing/setup.d.ts +167 -0
  111. package/dest/multi-node/slashing/setup.d.ts.map +1 -0
  112. package/dest/multi-node/slashing/setup.js +275 -0
  113. package/dest/{e2e_p2p → p2p}/p2p_network.d.ts +22 -12
  114. package/dest/p2p/p2p_network.d.ts.map +1 -0
  115. package/dest/{e2e_p2p → p2p}/p2p_network.js +98 -37
  116. package/dest/p2p/reqresp/utils.d.ts +19 -0
  117. package/dest/p2p/reqresp/utils.d.ts.map +1 -0
  118. package/dest/p2p/reqresp/utils.js +193 -0
  119. package/dest/p2p/shared.d.ts +72 -0
  120. package/dest/p2p/shared.d.ts.map +1 -0
  121. package/dest/p2p/shared.js +212 -0
  122. package/dest/shared/cross_chain_test_harness.d.ts +6 -4
  123. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  124. package/dest/shared/cross_chain_test_harness.js +44 -32
  125. package/dest/shared/gas_portal_test_harness.d.ts +8 -5
  126. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  127. package/dest/shared/gas_portal_test_harness.js +26 -14
  128. package/dest/shared/index.d.ts +2 -1
  129. package/dest/shared/index.d.ts.map +1 -1
  130. package/dest/shared/index.js +1 -0
  131. package/dest/shared/jest_setup.js +41 -1
  132. package/dest/shared/mock_state_view.d.ts +86 -0
  133. package/dest/shared/mock_state_view.d.ts.map +1 -0
  134. package/dest/shared/mock_state_view.js +186 -0
  135. package/dest/shared/submit-transactions.d.ts +2 -2
  136. package/dest/shared/submit-transactions.d.ts.map +1 -1
  137. package/dest/shared/submit-transactions.js +12 -5
  138. package/dest/shared/timing_env.d.js +5 -0
  139. package/dest/shared/timing_env.js +365 -0
  140. package/dest/shared/uniswap_l1_l2.d.ts +1 -1
  141. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  142. package/dest/shared/uniswap_l1_l2.js +56 -44
  143. package/dest/shared/wait_for_l1_to_l2_message.d.ts +13 -0
  144. package/dest/shared/wait_for_l1_to_l2_message.d.ts.map +1 -0
  145. package/dest/shared/wait_for_l1_to_l2_message.js +10 -0
  146. package/dest/simulators/lending_simulator.d.ts +10 -3
  147. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  148. package/dest/simulators/lending_simulator.js +27 -15
  149. package/dest/simulators/token_simulator.d.ts +1 -1
  150. package/dest/simulators/token_simulator.d.ts.map +1 -1
  151. package/dest/simulators/token_simulator.js +3 -24
  152. package/dest/single-node/cross-chain/cross_chain_messaging_test.d.ts +75 -0
  153. package/dest/single-node/cross-chain/cross_chain_messaging_test.d.ts.map +1 -0
  154. package/dest/single-node/cross-chain/cross_chain_messaging_test.js +209 -0
  155. package/dest/single-node/cross-chain/message_test_helpers.d.ts +38 -0
  156. package/dest/single-node/cross-chain/message_test_helpers.d.ts.map +1 -0
  157. package/dest/single-node/cross-chain/message_test_helpers.js +70 -0
  158. package/dest/{e2e_fees → single-node/fees}/bridging_race.notest.d.ts +1 -1
  159. package/dest/single-node/fees/bridging_race.notest.d.ts.map +1 -0
  160. package/dest/{e2e_fees → single-node/fees}/bridging_race.notest.js +17 -4
  161. package/dest/single-node/fees/fees_test.d.ts +95 -0
  162. package/dest/single-node/fees/fees_test.d.ts.map +1 -0
  163. package/dest/single-node/fees/fees_test.js +347 -0
  164. package/dest/single-node/l1-reorgs/setup.d.ts +42 -0
  165. package/dest/single-node/l1-reorgs/setup.d.ts.map +1 -0
  166. package/dest/single-node/l1-reorgs/setup.js +57 -0
  167. package/dest/single-node/partial-proofs/setup.d.ts +5 -0
  168. package/dest/single-node/partial-proofs/setup.d.ts.map +1 -0
  169. package/dest/single-node/partial-proofs/setup.js +5 -0
  170. package/dest/single-node/proving/setup.d.ts +5 -0
  171. package/dest/single-node/proving/setup.d.ts.map +1 -0
  172. package/dest/single-node/proving/setup.js +5 -0
  173. package/dest/single-node/recovery/setup.d.ts +5 -0
  174. package/dest/single-node/recovery/setup.d.ts.map +1 -0
  175. package/dest/single-node/recovery/setup.js +5 -0
  176. package/dest/single-node/setup.d.ts +49 -0
  177. package/dest/single-node/setup.d.ts.map +1 -0
  178. package/dest/single-node/setup.js +56 -0
  179. package/dest/single-node/single_node_test_context.d.ts +373 -0
  180. package/dest/single-node/single_node_test_context.d.ts.map +1 -0
  181. package/dest/single-node/single_node_test_context.js +845 -0
  182. package/dest/spartan/setup_test_wallets.d.ts +12 -3
  183. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  184. package/dest/spartan/setup_test_wallets.js +124 -47
  185. package/dest/spartan/tx_metrics.d.ts +61 -4
  186. package/dest/spartan/tx_metrics.d.ts.map +1 -1
  187. package/dest/spartan/tx_metrics.js +256 -21
  188. package/dest/spartan/utils/bot.d.ts +3 -2
  189. package/dest/spartan/utils/bot.d.ts.map +1 -1
  190. package/dest/spartan/utils/bot.js +2 -1
  191. package/dest/spartan/utils/config.d.ts +11 -28
  192. package/dest/spartan/utils/config.d.ts.map +1 -1
  193. package/dest/spartan/utils/config.js +4 -1
  194. package/dest/spartan/utils/index.d.ts +6 -4
  195. package/dest/spartan/utils/index.d.ts.map +1 -1
  196. package/dest/spartan/utils/index.js +6 -2
  197. package/dest/spartan/utils/k8s.d.ts +31 -1
  198. package/dest/spartan/utils/k8s.d.ts.map +1 -1
  199. package/dest/spartan/utils/k8s.js +124 -0
  200. package/dest/spartan/utils/nodes.d.ts +14 -5
  201. package/dest/spartan/utils/nodes.d.ts.map +1 -1
  202. package/dest/spartan/utils/nodes.js +204 -33
  203. package/dest/spartan/utils/pod_logs.d.ts +25 -0
  204. package/dest/spartan/utils/pod_logs.d.ts.map +1 -0
  205. package/dest/spartan/utils/pod_logs.js +74 -0
  206. package/dest/spartan/utils/scripts.d.ts +18 -4
  207. package/dest/spartan/utils/scripts.d.ts.map +1 -1
  208. package/dest/spartan/utils/scripts.js +19 -4
  209. package/dest/test-wallet/test_wallet.d.ts +105 -0
  210. package/dest/test-wallet/test_wallet.d.ts.map +1 -0
  211. package/dest/test-wallet/test_wallet.js +320 -0
  212. package/dest/test-wallet/utils.d.ts +76 -0
  213. package/dest/test-wallet/utils.d.ts.map +1 -0
  214. package/dest/test-wallet/utils.js +126 -0
  215. package/dest/test-wallet/wallet_worker_script.d.ts +2 -0
  216. package/dest/test-wallet/wallet_worker_script.d.ts.map +1 -0
  217. package/dest/test-wallet/wallet_worker_script.js +56 -0
  218. package/dest/test-wallet/worker_wallet.d.ts +53 -0
  219. package/dest/test-wallet/worker_wallet.d.ts.map +1 -0
  220. package/dest/test-wallet/worker_wallet.js +155 -0
  221. package/dest/test-wallet/worker_wallet_schema.d.ts +4 -0
  222. package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -0
  223. package/dest/test-wallet/worker_wallet_schema.js +23 -0
  224. package/package.json +53 -46
  225. package/src/automine/README.md +60 -0
  226. package/src/automine/automine_test_context.ts +153 -0
  227. package/src/automine/contracts/fixtures/storage_proof.json +915 -0
  228. package/src/automine/contracts/fixtures/storage_proof_fetcher.ts +190 -0
  229. package/src/automine/contracts/fixtures/storage_proof_fixture.ts +173 -0
  230. package/src/automine/delivery/interactive_handshake_responder.ts +125 -0
  231. package/src/automine/delivery/onchain_delivery_harness.ts +213 -0
  232. package/src/{e2e_blacklist_token_contract → automine/token}/blacklist_token_contract_test.ts +51 -61
  233. package/src/{e2e_token_contract → automine/token}/token_contract_test.ts +50 -56
  234. package/src/automine/token/token_test_helpers.ts +138 -0
  235. package/src/bench/client_flows/benchmark.ts +21 -0
  236. package/src/bench/client_flows/client_flows_benchmark.ts +106 -72
  237. package/src/bench/client_flows/config.ts +9 -1
  238. package/src/bench/utils.ts +117 -8
  239. package/src/composed/ha/ha_full_setup.ts +466 -0
  240. package/src/fixtures/authwit_proxy.ts +54 -0
  241. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  242. package/src/fixtures/e2e_prover_test.ts +102 -96
  243. package/src/fixtures/elu_monitor.ts +126 -0
  244. package/src/fixtures/fixtures.ts +108 -0
  245. package/src/fixtures/get_bb_config.ts +7 -6
  246. package/src/fixtures/ha_setup.ts +192 -0
  247. package/src/fixtures/index.ts +2 -0
  248. package/src/fixtures/schnorr_hardcoded_account_contract.ts +49 -0
  249. package/src/fixtures/setup.ts +438 -445
  250. package/src/fixtures/setup_p2p_test.ts +54 -54
  251. package/src/fixtures/standard_contracts_genesis.ts +28 -0
  252. package/src/fixtures/timing.ts +97 -0
  253. package/src/fixtures/token_utils.ts +42 -7
  254. package/src/fixtures/utils.ts +2 -3
  255. package/src/fixtures/wait_helpers.ts +333 -0
  256. package/src/forward-compatibility/wallet_rpc_client.ts +14 -0
  257. package/src/forward-compatibility/wallet_service.ts +106 -0
  258. package/src/guides/up_quick_start.sh +7 -4
  259. package/src/infra/README.md +12 -0
  260. package/src/install_legacy_contracts.cjs +75 -0
  261. package/src/legacy-jest-resolver.cjs +112 -0
  262. package/src/multi-node/README.md +96 -0
  263. package/src/multi-node/block-production/setup.ts +272 -0
  264. package/src/multi-node/governance/setup.ts +172 -0
  265. package/src/multi-node/multi_node_test_context.ts +447 -0
  266. package/src/multi-node/slashing/inactivity_setup.ts +139 -0
  267. package/src/multi-node/slashing/setup.ts +433 -0
  268. package/src/p2p/README.md +78 -0
  269. package/src/{e2e_p2p → p2p}/p2p_network.ts +124 -53
  270. package/src/p2p/reqresp/utils.ts +263 -0
  271. package/src/p2p/shared.ts +329 -0
  272. package/src/shared/cross_chain_test_harness.ts +44 -21
  273. package/src/shared/gas_portal_test_harness.ts +33 -15
  274. package/src/shared/index.ts +1 -0
  275. package/src/shared/jest_setup.ts +51 -1
  276. package/src/shared/mock_state_view.ts +188 -0
  277. package/src/shared/submit-transactions.ts +15 -6
  278. package/src/shared/timing_env.d.mts +39 -0
  279. package/src/shared/timing_env.mjs +363 -0
  280. package/src/shared/uniswap_l1_l2.ts +98 -56
  281. package/src/shared/wait_for_l1_to_l2_message.ts +23 -0
  282. package/src/simulators/lending_simulator.ts +33 -15
  283. package/src/simulators/token_simulator.ts +6 -30
  284. package/src/single-node/README.md +66 -0
  285. package/src/single-node/cross-chain/cross_chain_messaging_test.ts +302 -0
  286. package/src/single-node/cross-chain/message_test_helpers.ts +125 -0
  287. package/src/{e2e_fees → single-node/fees}/bridging_race.notest.ts +19 -5
  288. package/src/single-node/fees/fees_test.ts +437 -0
  289. package/src/single-node/l1-reorgs/setup.ts +93 -0
  290. package/src/single-node/partial-proofs/setup.ts +8 -0
  291. package/src/single-node/proving/setup.ts +15 -0
  292. package/src/single-node/recovery/setup.ts +8 -0
  293. package/src/single-node/setup.ts +63 -0
  294. package/src/single-node/single_node_test_context.ts +1054 -0
  295. package/src/spartan/setup_test_wallets.ts +168 -42
  296. package/src/spartan/tx_metrics.ts +234 -24
  297. package/src/spartan/utils/bot.ts +4 -1
  298. package/src/spartan/utils/config.ts +3 -0
  299. package/src/spartan/utils/index.ts +10 -1
  300. package/src/spartan/utils/k8s.ts +160 -0
  301. package/src/spartan/utils/nodes.ts +251 -31
  302. package/src/spartan/utils/pod_logs.ts +99 -0
  303. package/src/spartan/utils/scripts.ts +43 -7
  304. package/src/test-wallet/test_wallet.ts +426 -0
  305. package/src/test-wallet/utils.ts +205 -0
  306. package/src/test-wallet/wallet_worker_script.ts +66 -0
  307. package/src/test-wallet/worker_wallet.ts +214 -0
  308. package/src/test-wallet/worker_wallet_schema.ts +14 -0
  309. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +0 -53
  310. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +0 -1
  311. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +0 -47
  312. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +0 -1
  313. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +0 -128
  314. package/dest/e2e_deploy_contract/deploy_test.d.ts +0 -37
  315. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +0 -1
  316. package/dest/e2e_deploy_contract/deploy_test.js +0 -50
  317. package/dest/e2e_epochs/epochs_test.d.ts +0 -94
  318. package/dest/e2e_epochs/epochs_test.d.ts.map +0 -1
  319. package/dest/e2e_epochs/epochs_test.js +0 -342
  320. package/dest/e2e_fees/bridging_race.notest.d.ts.map +0 -1
  321. package/dest/e2e_fees/fees_test.d.ts +0 -88
  322. package/dest/e2e_fees/fees_test.d.ts.map +0 -1
  323. package/dest/e2e_fees/fees_test.js +0 -248
  324. package/dest/e2e_l1_publisher/write_json.d.ts +0 -10
  325. package/dest/e2e_l1_publisher/write_json.d.ts.map +0 -1
  326. package/dest/e2e_l1_publisher/write_json.js +0 -62
  327. package/dest/e2e_multi_validator/utils.d.ts +0 -12
  328. package/dest/e2e_multi_validator/utils.d.ts.map +0 -1
  329. package/dest/e2e_nested_contract/nested_contract_test.d.ts +0 -26
  330. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +0 -1
  331. package/dest/e2e_nested_contract/nested_contract_test.js +0 -56
  332. package/dest/e2e_p2p/inactivity_slash_test.d.ts +0 -31
  333. package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +0 -1
  334. package/dest/e2e_p2p/inactivity_slash_test.js +0 -136
  335. package/dest/e2e_p2p/p2p_network.d.ts.map +0 -1
  336. package/dest/e2e_p2p/shared.d.ts +0 -46
  337. package/dest/e2e_p2p/shared.d.ts.map +0 -1
  338. package/dest/e2e_p2p/shared.js +0 -177
  339. package/dest/e2e_token_contract/token_contract_test.d.ts +0 -42
  340. package/dest/e2e_token_contract/token_contract_test.d.ts.map +0 -1
  341. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +0 -194
  342. package/src/e2e_deploy_contract/deploy_test.ts +0 -85
  343. package/src/e2e_epochs/epochs_test.ts +0 -456
  344. package/src/e2e_fees/fees_test.ts +0 -339
  345. package/src/e2e_l1_publisher/write_json.ts +0 -82
  346. package/src/e2e_nested_contract/nested_contract_test.ts +0 -73
  347. package/src/e2e_p2p/inactivity_slash_test.ts +0 -179
  348. package/src/e2e_p2p/shared.ts +0 -280
  349. /package/dest/{e2e_multi_validator/utils.js → composed/web3signer/multi_validator_keystore_utils.js} +0 -0
  350. /package/src/{e2e_multi_validator/utils.ts → composed/web3signer/multi_validator_keystore_utils.ts} +0 -0
@@ -0,0 +1,126 @@
1
+ import { NO_WAIT, toSendOptions } from '@aztec/aztec.js/contracts';
2
+ import { waitForTx } from '@aztec/aztec.js/node';
3
+ import { timesAsync } from '@aztec/foundation/collection';
4
+ import { sleep } from '@aztec/foundation/sleep';
5
+ import { SimulationError } from '@aztec/stdlib/errors';
6
+ import { Tx } from '@aztec/stdlib/tx';
7
+ import { inspect } from 'util';
8
+ import { testSpan, withTestSpanOwner } from '../fixtures/timing.js';
9
+ export class ProvenTx extends Tx {
10
+ node;
11
+ offchainEffects;
12
+ stats;
13
+ constructor(node, tx, offchainEffects, stats){
14
+ super(tx.getTxHash(), tx.data, tx.chonkProof, tx.contractClassLogFields, tx.publicFunctionCalldata), this.node = node, this.offchainEffects = offchainEffects, this.stats = stats;
15
+ }
16
+ send(options) {
17
+ return testSpan('tx:send', ()=>this.sendInner(options));
18
+ }
19
+ async sendInner(options) {
20
+ const txHash = this.getTxHash();
21
+ await this.node.sendTx(this).catch((err)=>{
22
+ throw this.contextualizeError(err, inspect(this));
23
+ });
24
+ if (options?.wait === NO_WAIT) {
25
+ return txHash;
26
+ }
27
+ const waitOpts = typeof options?.wait === 'object' ? options.wait : undefined;
28
+ return await waitForTx(this.node, txHash, waitOpts);
29
+ }
30
+ contextualizeError(err, ...context) {
31
+ let contextStr = '';
32
+ if (context.length > 0) {
33
+ contextStr = `\nContext:\n${context.join('\n')}`;
34
+ }
35
+ if (err instanceof SimulationError) {
36
+ err.setAztecContext(contextStr);
37
+ }
38
+ return err;
39
+ }
40
+ }
41
+ export function proveInteraction(wallet, interaction, options) {
42
+ return testSpan('tx:prove', async ()=>{
43
+ const execPayload = await interaction.request(options);
44
+ return wallet.proveTx(execPayload, toSendOptions(options));
45
+ });
46
+ }
47
+ /**
48
+ * Pre-proves `count` interactions built by `makeCall(i)` against `wallet`, all with the same
49
+ * `options`. Returns the proven txs so the caller can send them individually (e.g. with sleeps
50
+ * between sends, or anchored to intermediate tips). For the common "send the whole batch at once"
51
+ * case use {@link proveAndSendTxs}.
52
+ */ export function proveTxs(wallet, count, makeCall, options) {
53
+ return timesAsync(count, (i)=>proveInteraction(wallet, makeCall(i), options));
54
+ }
55
+ /**
56
+ * Pre-proves `count` interactions built by `makeCall(i)` and sends each one with `NO_WAIT`, all at
57
+ * once. Returns the tx hashes in batch order. Pairs with `waitForTxs` for the "send N, wait for N"
58
+ * arc. Use {@link proveTxs} instead when the sends need bespoke sequencing.
59
+ */ export async function proveAndSendTxs(wallet, count, makeCall, options) {
60
+ const txs = await proveTxs(wallet, count, makeCall, options);
61
+ return Promise.all(txs.map((tx)=>tx.send({
62
+ wait: NO_WAIT
63
+ })));
64
+ }
65
+ /**
66
+ * Starts a background loop that keeps `node`'s mempool topped up: whenever the pending-tx count drops
67
+ * below `opts.minPending`, it proves and sends one interaction built by `makeCall()` (NO_WAIT). Errors
68
+ * are swallowed and retried. Returns an {@link AsyncDisposable}; disposing stops the loop and awaits it.
69
+ */ export function startMempoolFeeder(wallet, node, makeCall, opts) {
70
+ const minPending = opts.minPending ?? 3;
71
+ const intervalMs = opts.intervalMs ?? 1000;
72
+ let stopped = false;
73
+ // Pin the feeder's prove/send spans to a fixed non-test owner. It runs interleaved with arbitrary
74
+ // tests, so without this its tx:prove/tx:send spans would smear onto whichever test was current
75
+ // when each round fired; the pinned owner matches no test/suite record, excluding them cleanly.
76
+ const loop = withTestSpanOwner('other:mempool-feeder', async ()=>{
77
+ while(!stopped){
78
+ try {
79
+ const pendingCount = await node.getPendingTxCount();
80
+ if (pendingCount < minPending) {
81
+ await proveAndSendTxs(wallet, 1, makeCall, {
82
+ from: opts.from
83
+ });
84
+ opts.logger?.verbose(`Topped up mempool (was ${pendingCount})`);
85
+ }
86
+ } catch (err) {
87
+ opts.logger?.verbose(`Mempool top-up error (will retry): ${err}`);
88
+ }
89
+ await sleep(intervalMs);
90
+ }
91
+ });
92
+ return {
93
+ async [Symbol.asyncDispose] () {
94
+ stopped = true;
95
+ await loop;
96
+ }
97
+ };
98
+ }
99
+ /**
100
+ * Mutable wrapper around an AztecNode that forwards all calls to the current target.
101
+ * Allows swapping the underlying node at runtime via updateTargetNode, which is useful
102
+ * for tests that need to redirect a wallet from one node to another without recreating it.
103
+ */ // eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging
104
+ export class AztecNodeProxy {
105
+ target;
106
+ constructor(target){
107
+ this.target = target;
108
+ return new Proxy(this, {
109
+ get: (obj, prop, receiver)=>{
110
+ // Own properties and methods (updateTargetNode, target) are served directly.
111
+ if (Reflect.has(obj, prop)) {
112
+ return Reflect.get(obj, prop, receiver);
113
+ }
114
+ // Everything else is forwarded to the current target node.
115
+ const val = obj.target[prop];
116
+ return typeof val === 'function' ? val.bind(obj.target) : val;
117
+ }
118
+ });
119
+ }
120
+ /**
121
+ * Updates the underlying node that this reference points to.
122
+ * @param node - The new node to forward calls to.
123
+ */ updateTargetNode(node) {
124
+ this.target = node;
125
+ }
126
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0X3dvcmtlcl9zY3JpcHQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0LXdhbGxldC93YWxsZXRfd29ya2VyX3NjcmlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet_worker_script.d.ts","sourceRoot":"","sources":["../../src/test-wallet/wallet_worker_script.ts"],"names":[],"mappings":""}
@@ -0,0 +1,56 @@
1
+ import { DefaultWaitOpts } from '@aztec/aztec.js/contracts';
2
+ import { createAztecNodeClient } from '@aztec/aztec.js/node';
3
+ import { BackendType, BarretenbergSync } from '@aztec/bb.js';
4
+ import { jsonStringify } from '@aztec/foundation/json-rpc';
5
+ import { createLogger } from '@aztec/foundation/log';
6
+ import { getSchemaParameters, parseWithOptionals, schemaHasMethod } from '@aztec/foundation/schemas';
7
+ import { NodeListener, TransportServer } from '@aztec/foundation/transport';
8
+ import { Tx } from '@aztec/stdlib/tx';
9
+ import { workerData } from 'worker_threads';
10
+ import { TestWallet } from './test_wallet.js';
11
+ import { WorkerWalletSchema } from './worker_wallet_schema.js';
12
+ const logger = createLogger('e2e:test-wallet:worker');
13
+ try {
14
+ const { nodeUrl, pxeConfig } = workerData;
15
+ logger.info('Initializing worker wallet', {
16
+ nodeUrl
17
+ });
18
+ const node = createAztecNodeClient(nodeUrl);
19
+ // Worker sync bb use is limited to crypto and proof serialization helpers.
20
+ await BarretenbergSync.initSingleton({
21
+ backend: BackendType.Wasm
22
+ });
23
+ const wallet = await TestWallet.create(node, pxeConfig);
24
+ // Worker wallets are only used by spartan tests against remote JSON-RPC nodes: keep the 1s poll cadence.
25
+ wallet.setDefaultWaitInterval(DefaultWaitOpts.interval);
26
+ logger.info('Worker wallet initialized');
27
+ const customMethods = {
28
+ proveTx: async (exec, opts)=>{
29
+ const provenTx = await wallet.proveTx(exec, opts);
30
+ return new Tx(provenTx.getTxHash(), provenTx.data, provenTx.chonkProof, provenTx.contractClassLogFields, provenTx.publicFunctionCalldata);
31
+ },
32
+ registerAccount: async (secret, salt, signingKey)=>{
33
+ const manager = await wallet.createSchnorrAccount(secret, salt, signingKey);
34
+ return manager.address;
35
+ }
36
+ };
37
+ const schema = WorkerWalletSchema;
38
+ const listener = new NodeListener();
39
+ const server = new TransportServer(listener, async (msg)=>{
40
+ if (!schemaHasMethod(schema, msg.fn)) {
41
+ throw new Error(`Unknown method: ${msg.fn}`);
42
+ }
43
+ const jsonParams = JSON.parse(msg.args);
44
+ const args = await parseWithOptionals(jsonParams, getSchemaParameters(schema[msg.fn]));
45
+ // we have to erase the fn type in order to be able to spread ...args
46
+ const handler = msg.fn in customMethods ? customMethods[msg.fn] : undefined;
47
+ const result = handler ? await handler(...args) : await wallet[msg.fn](...args);
48
+ return jsonStringify(result);
49
+ });
50
+ server.start();
51
+ } catch (err) {
52
+ logger.error('Worker wallet initialization failed', {
53
+ error: err instanceof Error ? err.stack : String(err)
54
+ });
55
+ process.exit(1);
56
+ }
@@ -0,0 +1,53 @@
1
+ import type { CallIntent, IntentInnerHash } from '@aztec/aztec.js/authorization';
2
+ import type { InteractionWaitOptions, SendReturn } from '@aztec/aztec.js/contracts';
3
+ import type { Aliased, AppCapabilities, BatchResults, BatchedMethod, ContractClassMetadata, ContractMetadata, ExecuteUtilityOptions, PrivateEvent, PrivateEventFilter, ProfileOptions, SendOptions, SimulateOptions, TxSimulationResultWithAppOffset, Wallet, WalletCapabilities } from '@aztec/aztec.js/wallet';
4
+ import type { ChainInfo } from '@aztec/entrypoints/interfaces';
5
+ import type { Fq, Fr } from '@aztec/foundation/curves/bn254';
6
+ import type { PXEConfig } from '@aztec/pxe/config';
7
+ import type { ContractArtifact, EventMetadataDefinition, FunctionCall } from '@aztec/stdlib/abi';
8
+ import type { AuthWitness } from '@aztec/stdlib/auth-witness';
9
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
10
+ import type { ContractInstancePreimage } from '@aztec/stdlib/contract';
11
+ import type { ExecutionPayload, TxProfileResult, UtilityExecutionResult } from '@aztec/stdlib/tx';
12
+ import { Tx } from '@aztec/stdlib/tx';
13
+ /**
14
+ * Wallet implementation that offloads all work to a worker thread.
15
+ * Implements the Wallet interface by proxying calls over a transport layer
16
+ * using JSON serialization with Zod schema parsing on both ends.
17
+ */
18
+ export declare class WorkerWallet implements Wallet {
19
+ private worker;
20
+ private client;
21
+ private constructor();
22
+ /**
23
+ * Creates a WorkerWallet by spawning a worker thread that creates a TestWallet internally.
24
+ * @param nodeUrl - URL of the Aztec node to connect to.
25
+ * @param pxeConfig - Optional PXE configuration overrides.
26
+ * @returns A WorkerWallet ready to use.
27
+ */
28
+ static create(nodeUrl: string, pxeConfig?: Partial<PXEConfig>): Promise<WorkerWallet>;
29
+ private callRaw;
30
+ private call;
31
+ getChainInfo(): Promise<ChainInfo>;
32
+ getContractMetadata(address: AztecAddress): Promise<ContractMetadata>;
33
+ getContractClassMetadata(id: Fr): Promise<ContractClassMetadata>;
34
+ getPrivateEvents<T>(eventMetadata: EventMetadataDefinition, eventFilter: PrivateEventFilter): Promise<PrivateEvent<T>[]>;
35
+ registerSender(address: AztecAddress, alias?: string): Promise<AztecAddress>;
36
+ getAddressBook(): Promise<Aliased<AztecAddress>[]>;
37
+ getAccounts(): Promise<Aliased<AztecAddress>[]>;
38
+ registerContract(instance: ContractInstancePreimage, artifact?: ContractArtifact, secretKey?: Fr): Promise<void>;
39
+ registerContractClass(artifact: ContractArtifact): Promise<void>;
40
+ simulateTx(exec: ExecutionPayload, opts: SimulateOptions): Promise<TxSimulationResultWithAppOffset>;
41
+ executeUtility(call: FunctionCall, opts: ExecuteUtilityOptions): Promise<UtilityExecutionResult>;
42
+ profileTx(exec: ExecutionPayload, opts: ProfileOptions): Promise<TxProfileResult>;
43
+ sendTx<W extends InteractionWaitOptions = undefined>(exec: ExecutionPayload, opts: SendOptions<W>): Promise<SendReturn<W>>;
44
+ proveTx(exec: ExecutionPayload, opts: Omit<SendOptions, 'wait'>): Promise<Tx>;
45
+ /** Registers an account inside the worker's TestWallet, populating its accounts map. */
46
+ registerAccount(secret: Fr, salt: Fr, signingKey: Fq): Promise<AztecAddress>;
47
+ createAuthWit(from: AztecAddress, messageHashOrIntent: IntentInnerHash | CallIntent): Promise<AuthWitness>;
48
+ requestCapabilities(manifest: AppCapabilities): Promise<WalletCapabilities>;
49
+ batch<const T extends readonly BatchedMethod[]>(methods: T): Promise<BatchResults<T>>;
50
+ /** Shuts down the worker thread and closes the transport. */
51
+ stop(): Promise<void>;
52
+ }
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyX3dhbGxldC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3Qtd2FsbGV0L3dvcmtlcl93YWxsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3BGLE9BQU8sS0FBSyxFQUNWLE9BQU8sRUFDUCxlQUFlLEVBQ2YsWUFBWSxFQUNaLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxXQUFXLEVBQ1gsZUFBZSxFQUNmLCtCQUErQixFQUMvQixNQUFNLEVBQ04sa0JBQWtCLEVBQ25CLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBTzdELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pHLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkUsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker_wallet.d.ts","sourceRoot":"","sources":["../../src/test-wallet/worker_wallet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,155 @@
1
+ import { jsonStringify } from '@aztec/foundation/json-rpc';
2
+ import { createLogger } from '@aztec/foundation/log';
3
+ import { promiseWithResolvers } from '@aztec/foundation/promise';
4
+ import { getSchemaReturnType } from '@aztec/foundation/schemas';
5
+ import { sleep } from '@aztec/foundation/sleep';
6
+ import { NodeConnector, TransportClient } from '@aztec/foundation/transport';
7
+ import { Worker } from 'worker_threads';
8
+ import { WorkerWalletSchema } from './worker_wallet_schema.js';
9
+ const log = createLogger('e2e:test-wallet:worker-wallet');
10
+ const WORKER_READY_TIMEOUT_MS = 120_000;
11
+ /**
12
+ * Wallet implementation that offloads all work to a worker thread.
13
+ * Implements the Wallet interface by proxying calls over a transport layer
14
+ * using JSON serialization with Zod schema parsing on both ends.
15
+ */ export class WorkerWallet {
16
+ worker;
17
+ client;
18
+ constructor(worker, client){
19
+ this.worker = worker;
20
+ this.client = client;
21
+ }
22
+ /**
23
+ * Creates a WorkerWallet by spawning a worker thread that creates a TestWallet internally.
24
+ * @param nodeUrl - URL of the Aztec node to connect to.
25
+ * @param pxeConfig - Optional PXE configuration overrides.
26
+ * @returns A WorkerWallet ready to use.
27
+ */ static async create(nodeUrl, pxeConfig) {
28
+ // replace stc/ with dest/ so the wallet works in Jest tests
29
+ const workerUrl = new URL('./wallet_worker_script.js', import.meta.url);
30
+ workerUrl.pathname = workerUrl.pathname.replace('/src/', '/dest/');
31
+ // remove JEST_WORKER_ID so the worker uses pino-pretty transport instead of Jest's raw output.
32
+ const { JEST_WORKER_ID: _, ...parentEnv } = process.env;
33
+ const worker = new Worker(workerUrl, {
34
+ workerData: {
35
+ nodeUrl,
36
+ pxeConfig
37
+ },
38
+ env: {
39
+ ...parentEnv,
40
+ ...process.stderr.isTTY || process.env.FORCE_COLOR ? {
41
+ FORCE_COLOR: '1'
42
+ } : {},
43
+ LOG_LEVEL: process.env.WORKER_LOG_LEVEL ?? 'info'
44
+ }
45
+ });
46
+ const connector = new NodeConnector(worker);
47
+ const client = new TransportClient(connector);
48
+ await client.open();
49
+ const wallet = new WorkerWallet(worker, client);
50
+ const { promise: workerDied, reject: rejectWorkerDied } = promiseWithResolvers();
51
+ // reject if the worker exits or errors before the warmup completes.
52
+ const onError = (err)=>{
53
+ worker.off('exit', onExit);
54
+ rejectWorkerDied(new Error(`Worker wallet thread error: ${err.message}`));
55
+ };
56
+ const onExit = (code)=>{
57
+ worker.off('error', onError);
58
+ rejectWorkerDied(new Error(`Worker wallet thread exited with code ${code} before becoming ready`));
59
+ };
60
+ worker.once('error', onError);
61
+ worker.once('exit', onExit);
62
+ const timeout = sleep(WORKER_READY_TIMEOUT_MS).then(()=>{
63
+ throw new Error(`Worker wallet creation timed out after ${WORKER_READY_TIMEOUT_MS / 1000}s`);
64
+ });
65
+ try {
66
+ // wait for worker wallet to start
67
+ await Promise.race([
68
+ wallet.getChainInfo(),
69
+ workerDied,
70
+ timeout
71
+ ]);
72
+ } catch (err) {
73
+ log.error('Worker wallet creation failed, cleaning up', {
74
+ error: String(err)
75
+ });
76
+ client.close();
77
+ await worker.terminate();
78
+ throw err;
79
+ } finally{
80
+ worker.off('error', onError);
81
+ worker.off('exit', onExit);
82
+ }
83
+ return wallet;
84
+ }
85
+ async callRaw(fn, ...args) {
86
+ const argsJson = jsonStringify(args);
87
+ return await this.client.request({
88
+ fn,
89
+ args: argsJson
90
+ });
91
+ }
92
+ async call(fn, ...args) {
93
+ const resultJson = await this.callRaw(fn, ...args);
94
+ const methodSchema = WorkerWalletSchema[fn];
95
+ return getSchemaReturnType(methodSchema).parseAsync(JSON.parse(resultJson));
96
+ }
97
+ getChainInfo() {
98
+ return this.call('getChainInfo');
99
+ }
100
+ getContractMetadata(address) {
101
+ return this.call('getContractMetadata', address);
102
+ }
103
+ getContractClassMetadata(id) {
104
+ return this.call('getContractClassMetadata', id);
105
+ }
106
+ getPrivateEvents(eventMetadata, eventFilter) {
107
+ return this.call('getPrivateEvents', eventMetadata, eventFilter);
108
+ }
109
+ registerSender(address, alias) {
110
+ return this.call('registerSender', address, alias);
111
+ }
112
+ getAddressBook() {
113
+ return this.call('getAddressBook');
114
+ }
115
+ getAccounts() {
116
+ return this.call('getAccounts');
117
+ }
118
+ registerContract(instance, artifact, secretKey) {
119
+ return this.call('registerContract', instance, artifact, secretKey);
120
+ }
121
+ registerContractClass(artifact) {
122
+ return this.call('registerContractClass', artifact);
123
+ }
124
+ simulateTx(exec, opts) {
125
+ return this.call('simulateTx', exec, opts);
126
+ }
127
+ executeUtility(call, opts) {
128
+ return this.call('executeUtility', call, opts);
129
+ }
130
+ profileTx(exec, opts) {
131
+ return this.call('profileTx', exec, opts);
132
+ }
133
+ sendTx(exec, opts) {
134
+ return this.call('sendTx', exec, opts);
135
+ }
136
+ proveTx(exec, opts) {
137
+ return this.call('proveTx', exec, opts);
138
+ }
139
+ /** Registers an account inside the worker's TestWallet, populating its accounts map. */ registerAccount(secret, salt, signingKey) {
140
+ return this.call('registerAccount', secret, salt, signingKey);
141
+ }
142
+ createAuthWit(from, messageHashOrIntent) {
143
+ return this.call('createAuthWit', from, messageHashOrIntent);
144
+ }
145
+ requestCapabilities(manifest) {
146
+ return this.call('requestCapabilities', manifest);
147
+ }
148
+ batch(methods) {
149
+ return this.call('batch', methods);
150
+ }
151
+ /** Shuts down the worker thread and closes the transport. */ async stop() {
152
+ this.client.close();
153
+ await this.worker.terminate();
154
+ }
155
+ }
@@ -0,0 +1,4 @@
1
+ import type { ApiSchema } from '@aztec/foundation/schemas';
2
+ /** Schema for the WorkerWallet API — extends WalletSchema with proveTx and registerAccount. */
3
+ export declare const WorkerWalletSchema: ApiSchema;
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyX3dhbGxldF9zY2hlbWEuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0LXdhbGxldC93b3JrZXJfd2FsbGV0X3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQU8zRCxpR0FBK0Y7QUFDL0YsZUFBTyxNQUFNLGtCQUFrQixFQUFFLFNBSWhDLENBQUMifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker_wallet_schema.d.ts","sourceRoot":"","sources":["../../src/test-wallet/worker_wallet_schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAO3D,iGAA+F;AAC/F,eAAO,MAAM,kBAAkB,EAAE,SAIhC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { ExecutionPayloadSchema, SendOptionsSchema, WalletSchema } from '@aztec/aztec.js/wallet';
2
+ import { schemas } from '@aztec/foundation/schemas';
3
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
+ import { Tx } from '@aztec/stdlib/tx';
5
+ import { z } from 'zod';
6
+ /** Schema for the WorkerWallet API — extends WalletSchema with proveTx and registerAccount. */ export const WorkerWalletSchema = {
7
+ ...WalletSchema,
8
+ proveTx: z.function({
9
+ input: z.tuple([
10
+ ExecutionPayloadSchema,
11
+ SendOptionsSchema
12
+ ]),
13
+ output: Tx.schema
14
+ }),
15
+ registerAccount: z.function({
16
+ input: z.tuple([
17
+ schemas.Fr,
18
+ schemas.Fr,
19
+ schemas.Fq
20
+ ]),
21
+ output: AztecAddress.schema
22
+ })
23
+ };
package/package.json CHANGED
@@ -1,8 +1,11 @@
1
1
  {
2
2
  "name": "@aztec/end-to-end",
3
- "version": "0.0.1-commit.2ed92850",
3
+ "version": "0.0.1-commit.3100065",
4
4
  "type": "module",
5
- "exports": "./dest/index.js",
5
+ "exports": {
6
+ ".": "./dest/index.js",
7
+ "./*": "./dest/*"
8
+ },
6
9
  "inherits": [
7
10
  "../package.common.json",
8
11
  "./package.local.json"
@@ -12,57 +15,59 @@
12
15
  "build:dev": "../scripts/tsc.sh --watch",
13
16
  "clean": "rm -rf ./dest .tsbuildinfo",
14
17
  "test:with-alerts": "./scripts/test-with-alerts.sh",
15
- "test:e2e": "LOG_LEVEL=${LOG_LEVEL:-verbose} NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=300000 --forceExit",
18
+ "test:e2e": "LOG_LEVEL=${LOG_LEVEL:-verbose} NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=300000",
16
19
  "test:e2e-docker": "./scripts/run_test.sh simple",
17
20
  "test:e2e-no-docker": "echo 'The command test:e2e-no-docker is now the same as test:e2e. You can now run this dropping the no-docker suffix.'; yarn test:e2e",
18
- "test:profile": "LOG_LEVEL=${LOG_LEVEL:-verbose} NODE_NO_WARNINGS=1 0x --output-dir \"flame_graph/{pid}.0x\" -- node --experimental-vm-modules ../node_modules/jest/bin/jest.js --runInBand --testTimeout=300000 --forceExit",
21
+ "test:profile": "LOG_LEVEL=${LOG_LEVEL:-verbose} NODE_NO_WARNINGS=1 0x --output-dir \"flame_graph/{pid}.0x\" -- node --experimental-vm-modules ../node_modules/jest/bin/jest.js --runInBand --testTimeout=300000",
19
22
  "serve:flames": "python3 -m http.server --directory \"flame_graph\" 8000",
20
- "test:debug": "LOG_LEVEL=${LOG_LEVEL:-verbose} NODE_NO_WARNINGS=1 node --inspect --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=300000 --forceExit",
23
+ "test:debug": "LOG_LEVEL=${LOG_LEVEL:-verbose} NODE_NO_WARNINGS=1 node --inspect --experimental-vm-modules ../node_modules/.bin/jest --testTimeout=300000",
21
24
  "test:integration": "concurrently -k -s first -c reset,dim -n test,anvil \"yarn test:integration:run\" \"anvil\"",
22
25
  "test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --no-cache --runInBand --config jest.integration.config.json",
23
26
  "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests src/fixtures",
24
27
  "test:compose": "./scripts/run_test.sh compose",
28
+ "test:ha": "./scripts/run_test.sh ha",
25
29
  "formatting": "run -T prettier --check ./src && run -T eslint ./src"
26
30
  },
27
31
  "dependencies": {
28
- "@aztec/accounts": "0.0.1-commit.2ed92850",
29
- "@aztec/archiver": "0.0.1-commit.2ed92850",
30
- "@aztec/aztec": "0.0.1-commit.2ed92850",
31
- "@aztec/aztec-node": "0.0.1-commit.2ed92850",
32
- "@aztec/aztec.js": "0.0.1-commit.2ed92850",
33
- "@aztec/bb-prover": "0.0.1-commit.2ed92850",
34
- "@aztec/bb.js": "0.0.1-commit.2ed92850",
35
- "@aztec/blob-client": "0.0.1-commit.2ed92850",
36
- "@aztec/blob-lib": "0.0.1-commit.2ed92850",
37
- "@aztec/bot": "0.0.1-commit.2ed92850",
38
- "@aztec/cli": "0.0.1-commit.2ed92850",
39
- "@aztec/constants": "0.0.1-commit.2ed92850",
40
- "@aztec/entrypoints": "0.0.1-commit.2ed92850",
41
- "@aztec/epoch-cache": "0.0.1-commit.2ed92850",
42
- "@aztec/ethereum": "0.0.1-commit.2ed92850",
43
- "@aztec/foundation": "0.0.1-commit.2ed92850",
44
- "@aztec/kv-store": "0.0.1-commit.2ed92850",
45
- "@aztec/l1-artifacts": "0.0.1-commit.2ed92850",
46
- "@aztec/merkle-tree": "0.0.1-commit.2ed92850",
47
- "@aztec/node-keystore": "0.0.1-commit.2ed92850",
48
- "@aztec/noir-contracts.js": "0.0.1-commit.2ed92850",
49
- "@aztec/noir-noirc_abi": "0.0.1-commit.2ed92850",
50
- "@aztec/noir-protocol-circuits-types": "0.0.1-commit.2ed92850",
51
- "@aztec/noir-test-contracts.js": "0.0.1-commit.2ed92850",
52
- "@aztec/p2p": "0.0.1-commit.2ed92850",
53
- "@aztec/protocol-contracts": "0.0.1-commit.2ed92850",
54
- "@aztec/prover-client": "0.0.1-commit.2ed92850",
55
- "@aztec/prover-node": "0.0.1-commit.2ed92850",
56
- "@aztec/pxe": "0.0.1-commit.2ed92850",
57
- "@aztec/sequencer-client": "0.0.1-commit.2ed92850",
58
- "@aztec/simulator": "0.0.1-commit.2ed92850",
59
- "@aztec/slasher": "0.0.1-commit.2ed92850",
60
- "@aztec/stdlib": "0.0.1-commit.2ed92850",
61
- "@aztec/telemetry-client": "0.0.1-commit.2ed92850",
62
- "@aztec/test-wallet": "0.0.1-commit.2ed92850",
63
- "@aztec/validator-client": "0.0.1-commit.2ed92850",
64
- "@aztec/validator-ha-signer": "0.0.1-commit.2ed92850",
65
- "@aztec/world-state": "0.0.1-commit.2ed92850",
32
+ "@aztec/accounts": "0.0.1-commit.3100065",
33
+ "@aztec/archiver": "0.0.1-commit.3100065",
34
+ "@aztec/aztec": "0.0.1-commit.3100065",
35
+ "@aztec/aztec-node": "0.0.1-commit.3100065",
36
+ "@aztec/aztec.js": "0.0.1-commit.3100065",
37
+ "@aztec/bb-prover": "0.0.1-commit.3100065",
38
+ "@aztec/bb.js": "0.0.1-commit.3100065",
39
+ "@aztec/blob-client": "0.0.1-commit.3100065",
40
+ "@aztec/blob-lib": "0.0.1-commit.3100065",
41
+ "@aztec/bot": "0.0.1-commit.3100065",
42
+ "@aztec/cli": "0.0.1-commit.3100065",
43
+ "@aztec/constants": "0.0.1-commit.3100065",
44
+ "@aztec/entrypoints": "0.0.1-commit.3100065",
45
+ "@aztec/epoch-cache": "0.0.1-commit.3100065",
46
+ "@aztec/ethereum": "0.0.1-commit.3100065",
47
+ "@aztec/foundation": "0.0.1-commit.3100065",
48
+ "@aztec/kv-store": "0.0.1-commit.3100065",
49
+ "@aztec/l1-artifacts": "0.0.1-commit.3100065",
50
+ "@aztec/node-keystore": "0.0.1-commit.3100065",
51
+ "@aztec/noir-contracts.js": "0.0.1-commit.3100065",
52
+ "@aztec/noir-noirc_abi": "0.0.1-commit.3100065",
53
+ "@aztec/noir-protocol-circuits-types": "0.0.1-commit.3100065",
54
+ "@aztec/noir-test-contracts.js": "0.0.1-commit.3100065",
55
+ "@aztec/p2p": "0.0.1-commit.3100065",
56
+ "@aztec/protocol-contracts": "0.0.1-commit.3100065",
57
+ "@aztec/prover-client": "0.0.1-commit.3100065",
58
+ "@aztec/prover-node": "0.0.1-commit.3100065",
59
+ "@aztec/pxe": "0.0.1-commit.3100065",
60
+ "@aztec/sequencer-client": "0.0.1-commit.3100065",
61
+ "@aztec/simulator": "0.0.1-commit.3100065",
62
+ "@aztec/slasher": "0.0.1-commit.3100065",
63
+ "@aztec/standard-contracts": "0.0.1-commit.3100065",
64
+ "@aztec/stdlib": "0.0.1-commit.3100065",
65
+ "@aztec/telemetry-client": "0.0.1-commit.3100065",
66
+ "@aztec/validator-client": "0.0.1-commit.3100065",
67
+ "@aztec/validator-ha-signer": "0.0.1-commit.3100065",
68
+ "@aztec/wallet-sdk": "0.0.1-commit.3100065",
69
+ "@aztec/wallets": "0.0.1-commit.3100065",
70
+ "@aztec/world-state": "0.0.1-commit.3100065",
66
71
  "@iarna/toml": "^2.2.5",
67
72
  "@jest/globals": "^30.0.0",
68
73
  "@noble/curves": "=1.0.0",
@@ -74,7 +79,6 @@
74
79
  "@types/koa-static": "^4.0.2",
75
80
  "@types/lodash.every": "^4.6.7",
76
81
  "@types/node": "^22.15.17",
77
- "@viem/anvil": "^0.0.9",
78
82
  "buffer": "^6.0.3",
79
83
  "crypto-browserify": "^3.12.1",
80
84
  "fs-extra": "^11.2.0",
@@ -90,6 +94,7 @@
90
94
  "lodash.every": "^4.6.0",
91
95
  "lodash.omit": "^4.5.0",
92
96
  "msgpackr": "^1.11.2",
97
+ "pg": "^8.17.1",
93
98
  "process": "^0.11.10",
94
99
  "snappy": "^7.2.2",
95
100
  "stream-browserify": "^3.0.0",
@@ -100,7 +105,7 @@
100
105
  "typescript": "^5.3.3",
101
106
  "util": "^0.12.5",
102
107
  "viem": "npm:@aztec/viem@2.38.2",
103
- "zod": "^3.23.8"
108
+ "zod": "^4"
104
109
  },
105
110
  "devDependencies": {
106
111
  "0x": "^5.7.0",
@@ -108,6 +113,7 @@
108
113
  "@types/jest": "^30.0.0",
109
114
  "@types/js-yaml": "^4.0.9",
110
115
  "@types/lodash.chunk": "^4.2.9",
116
+ "@types/pg": "^8",
111
117
  "@typescript/native-preview": "7.0.0-dev.20260113.1",
112
118
  "concurrently": "^7.6.0",
113
119
  "jest": "^30.0.0",
@@ -157,12 +163,13 @@
157
163
  "moduleNameMapper": {
158
164
  "^(\\.{1,2}/.*)\\.[cm]?js$": "$1"
159
165
  },
166
+ "resolver": "<rootDir>/legacy-jest-resolver.cjs",
160
167
  "testRegex": "./src/.*\\.test\\.(js|mjs|ts)$",
161
168
  "rootDir": "./src",
162
169
  "testTimeout": 120000,
163
170
  "setupFiles": [
164
171
  "../../foundation/src/jest/setup.mjs"
165
172
  ],
166
- "testEnvironment": "../../foundation/src/jest/env.mjs"
173
+ "testEnvironment": "./shared/timing_env.mjs"
167
174
  }
168
175
  }