@aztec/end-to-end 0.0.1-commit.18ccd8f0 → 0.0.1-commit.1bb068fb5

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 (136) 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 +1 -1
  16. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  17. package/dest/e2e_epochs/epochs_test.js +9 -3
  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 +5 -5
  21. package/dest/e2e_p2p/p2p_network.d.ts +2 -2
  22. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  23. package/dest/e2e_p2p/reqresp/utils.d.ts +22 -0
  24. package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -0
  25. package/dest/e2e_p2p/reqresp/utils.js +153 -0
  26. package/dest/e2e_p2p/shared.d.ts +2 -2
  27. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  28. package/dest/e2e_p2p/shared.js +5 -1
  29. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts +2 -0
  30. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts.map +1 -0
  31. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.js +184 -0
  32. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts +18 -0
  33. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts.map +1 -0
  34. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.js +120 -0
  35. package/dest/e2e_token_contract/token_contract_test.d.ts +4 -2
  36. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  37. package/dest/e2e_token_contract/token_contract_test.js +10 -0
  38. package/dest/fixtures/authwit_proxy.d.ts +15 -0
  39. package/dest/fixtures/authwit_proxy.d.ts.map +1 -0
  40. package/dest/fixtures/authwit_proxy.js +30 -0
  41. package/dest/fixtures/e2e_prover_test.d.ts +2 -2
  42. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  43. package/dest/fixtures/ha_setup.d.ts +71 -0
  44. package/dest/fixtures/ha_setup.d.ts.map +1 -0
  45. package/dest/fixtures/ha_setup.js +116 -0
  46. package/dest/fixtures/index.d.ts +2 -1
  47. package/dest/fixtures/index.d.ts.map +1 -1
  48. package/dest/fixtures/index.js +1 -0
  49. package/dest/fixtures/setup.d.ts +15 -15
  50. package/dest/fixtures/setup.d.ts.map +1 -1
  51. package/dest/fixtures/setup.js +20 -79
  52. package/dest/fixtures/setup_p2p_test.d.ts +10 -5
  53. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  54. package/dest/fixtures/setup_p2p_test.js +6 -3
  55. package/dest/shared/index.d.ts +2 -1
  56. package/dest/shared/index.d.ts.map +1 -1
  57. package/dest/shared/index.js +1 -0
  58. package/dest/shared/mock_state_view.d.ts +86 -0
  59. package/dest/shared/mock_state_view.d.ts.map +1 -0
  60. package/dest/shared/mock_state_view.js +186 -0
  61. package/dest/shared/submit-transactions.d.ts +2 -2
  62. package/dest/shared/submit-transactions.d.ts.map +1 -1
  63. package/dest/shared/uniswap_l1_l2.d.ts +1 -1
  64. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  65. package/dest/shared/uniswap_l1_l2.js +8 -6
  66. package/dest/simulators/token_simulator.d.ts +1 -1
  67. package/dest/simulators/token_simulator.d.ts.map +1 -1
  68. package/dest/simulators/token_simulator.js +2 -23
  69. package/dest/spartan/setup_test_wallets.d.ts +2 -2
  70. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  71. package/dest/spartan/setup_test_wallets.js +3 -1
  72. package/dest/spartan/utils/bot.d.ts +1 -1
  73. package/dest/spartan/utils/bot.d.ts.map +1 -1
  74. package/dest/spartan/utils/bot.js +1 -1
  75. package/dest/spartan/utils/config.d.ts +4 -1
  76. package/dest/spartan/utils/config.d.ts.map +1 -1
  77. package/dest/spartan/utils/config.js +2 -1
  78. package/dest/spartan/utils/index.d.ts +4 -4
  79. package/dest/spartan/utils/index.d.ts.map +1 -1
  80. package/dest/spartan/utils/index.js +2 -2
  81. package/dest/spartan/utils/k8s.d.ts +29 -1
  82. package/dest/spartan/utils/k8s.d.ts.map +1 -1
  83. package/dest/spartan/utils/k8s.js +118 -0
  84. package/dest/spartan/utils/nodes.d.ts +11 -1
  85. package/dest/spartan/utils/nodes.d.ts.map +1 -1
  86. package/dest/spartan/utils/nodes.js +198 -27
  87. package/dest/spartan/utils/scripts.d.ts +18 -4
  88. package/dest/spartan/utils/scripts.d.ts.map +1 -1
  89. package/dest/spartan/utils/scripts.js +19 -4
  90. package/dest/test-wallet/test_wallet.d.ts +83 -0
  91. package/dest/test-wallet/test_wallet.d.ts.map +1 -0
  92. package/dest/test-wallet/test_wallet.js +214 -0
  93. package/dest/test-wallet/utils.d.ts +41 -0
  94. package/dest/test-wallet/utils.d.ts.map +1 -0
  95. package/dest/test-wallet/utils.js +71 -0
  96. package/package.json +43 -39
  97. package/src/bench/client_flows/client_flows_benchmark.ts +8 -12
  98. package/src/bench/client_flows/config.ts +9 -1
  99. package/src/bench/utils.ts +1 -1
  100. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +11 -2
  101. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +7 -8
  102. package/src/e2e_deploy_contract/deploy_test.ts +3 -3
  103. package/src/e2e_epochs/epochs_test.ts +13 -3
  104. package/src/e2e_fees/bridging_race.notest.ts +1 -1
  105. package/src/e2e_fees/fees_test.ts +11 -26
  106. package/src/e2e_nested_contract/nested_contract_test.ts +1 -1
  107. package/src/e2e_p2p/inactivity_slash_test.ts +4 -4
  108. package/src/e2e_p2p/p2p_network.ts +5 -5
  109. package/src/e2e_p2p/reqresp/utils.ts +207 -0
  110. package/src/e2e_p2p/shared.ts +3 -1
  111. package/src/e2e_storage_proof/fixtures/storage_proof.json +915 -0
  112. package/src/e2e_storage_proof/fixtures/storage_proof_fetcher.ts +190 -0
  113. package/src/e2e_storage_proof/fixtures/storage_proof_fixture.ts +173 -0
  114. package/src/e2e_token_contract/token_contract_test.ts +11 -2
  115. package/src/fixtures/authwit_proxy.ts +50 -0
  116. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  117. package/src/fixtures/e2e_prover_test.ts +4 -4
  118. package/src/fixtures/ha_setup.ts +186 -0
  119. package/src/fixtures/index.ts +1 -0
  120. package/src/fixtures/setup.ts +31 -109
  121. package/src/fixtures/setup_p2p_test.ts +16 -7
  122. package/src/guides/up_quick_start.sh +3 -3
  123. package/src/shared/index.ts +1 -0
  124. package/src/shared/mock_state_view.ts +188 -0
  125. package/src/shared/submit-transactions.ts +2 -1
  126. package/src/shared/uniswap_l1_l2.ts +9 -11
  127. package/src/simulators/token_simulator.ts +1 -29
  128. package/src/spartan/setup_test_wallets.ts +3 -1
  129. package/src/spartan/utils/bot.ts +1 -1
  130. package/src/spartan/utils/config.ts +1 -0
  131. package/src/spartan/utils/index.ts +3 -1
  132. package/src/spartan/utils/k8s.ts +152 -0
  133. package/src/spartan/utils/nodes.ts +239 -24
  134. package/src/spartan/utils/scripts.ts +43 -7
  135. package/src/test-wallet/test_wallet.ts +306 -0
  136. package/src/test-wallet/utils.ts +112 -0
@@ -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,7 @@ 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
7
  export interface TestAccounts {
8
8
  aztecNode: AztecNode;
9
9
  wallet: TestWallet;
@@ -33,4 +33,4 @@ export type WalletWrapper = {
33
33
  cleanup: () => Promise<void>;
34
34
  };
35
35
  export declare function createWalletAndAztecNodeClient(nodeUrl: string, proverEnabled: boolean, logger: Logger): Promise<WalletWrapper>;
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfdGVzdF93YWxsZXRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BhcnRhbi9zZXR1cF90ZXN0X3dhbGxldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXpELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUE2QixNQUFNLHFCQUFxQixDQUFDO0FBRXZGLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBb0MsTUFBTSxzQkFBc0IsQ0FBQztBQUl4RixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFL0QsT0FBTyxFQUFFLFVBQVUsRUFBaUUsTUFBTSwyQkFBMkIsQ0FBQztBQU10SCxNQUFNLFdBQVcsWUFBWTtJQUMzQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDbkIsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3pCLGFBQWEsRUFBRSxhQUFhLENBQUM7SUFDN0IsaUJBQWlCLEVBQUUsWUFBWSxDQUFDO0lBQ2hDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO0lBQy9CLFlBQVksRUFBRSxZQUFZLENBQUM7Q0FDNUI7QUFFRCxNQUFNLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxDQUMxQyxZQUFZLEVBQ1osY0FBYyxHQUFHLGVBQWUsR0FBRyxXQUFXLEdBQUcsbUJBQW1CLENBQ3JFLENBQUM7QUFNRix3QkFBc0IsMkJBQTJCLENBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQ2YsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sR0FDYixPQUFPLENBQUMsWUFBWSxDQUFDLENBeUJ2QjtBQUVELHdCQUFzQixxQ0FBcUMsQ0FDekQsTUFBTSxFQUFFLFVBQVUsRUFDbEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxxQkFBcUIsU0FBSSxHQUN4QixPQUFPLENBQUMsWUFBWSxDQUFDLENBdUN2QjtBQW1ERCx3QkFBc0IsMkJBQTJCLENBQy9DLE1BQU0sRUFBRSxVQUFVLEVBQ2xCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE1BQU0sRUFBRSxNQUFNLEVBQ2QscUJBQXFCLFNBQUksR0FDeEIsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBa0JwQztBQUVELHdCQUFzQiw0QkFBNEIsQ0FDaEQsT0FBTyxFQUFFLE1BQU0sRUFDZixTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQ25CLG9CQUFvQixFQUFFLE1BQU0sRUFDNUIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxxQkFBcUIsU0FBSSxHQUN4QixPQUFPLENBQUMsWUFBWSxDQUFDLENBK0N2QjtBQWlGRCx3QkFBc0IsZ0JBQWdCLENBQUMsRUFDckMsTUFBTSxFQUNOLFlBQVksRUFDWixNQUFNLEVBQ04sY0FBYyxFQUNkLE1BQU0sRUFDTixnQkFBZ0IsRUFDakIsRUFBRTtJQUNELE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDbkIsWUFBWSxFQUFFLFlBQVksQ0FBQztJQUMzQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsY0FBYyxFQUFFLE1BQU0sQ0FBQztJQUN2QixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsZ0JBQWdCLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztDQUNyQyxpQkFxQkE7QUFFRCxNQUFNLE1BQU0sYUFBYSxHQUFHO0lBQzFCLE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDbkIsU0FBUyxFQUFFLFNBQVMsQ0FBQztJQUNyQixPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7Q0FDOUIsQ0FBQztBQUVGLHdCQUFzQiw4QkFBOEIsQ0FDbEQsT0FBTyxFQUFFLE1BQU0sRUFDZixhQUFhLEVBQUUsT0FBTyxFQUN0QixNQUFNLEVBQUUsTUFBTSxHQUNiLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FxQnhCIn0=
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfdGVzdF93YWxsZXRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BhcnRhbi9zZXR1cF90ZXN0X3dhbGxldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXpELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUE2QixNQUFNLHFCQUFxQixDQUFDO0FBRXZGLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBb0MsTUFBTSxzQkFBc0IsQ0FBQztBQUl4RixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFPL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzNELE1BQU0sV0FBVyxZQUFZO0lBQzNCLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDckIsTUFBTSxFQUFFLFVBQVUsQ0FBQztJQUNuQixRQUFRLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDekIsYUFBYSxFQUFFLGFBQWEsQ0FBQztJQUM3QixpQkFBaUIsRUFBRSxZQUFZLENBQUM7SUFDaEMsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixnQkFBZ0IsRUFBRSxZQUFZLENBQUM7SUFDL0IsWUFBWSxFQUFFLFlBQVksQ0FBQztDQUM1QjtBQUVELE1BQU0sTUFBTSx5QkFBeUIsR0FBRyxJQUFJLENBQzFDLFlBQVksRUFDWixjQUFjLEdBQUcsZUFBZSxHQUFHLFdBQVcsR0FBRyxtQkFBbUIsQ0FDckUsQ0FBQztBQU1GLHdCQUFzQiwyQkFBMkIsQ0FDL0MsT0FBTyxFQUFFLE1BQU0sRUFDZixVQUFVLEVBQUUsTUFBTSxFQUNsQixNQUFNLEVBQUUsTUFBTSxHQUNiLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0F5QnZCO0FBRUQsd0JBQXNCLHFDQUFxQyxDQUN6RCxNQUFNLEVBQUUsVUFBVSxFQUNsQixTQUFTLEVBQUUsU0FBUyxFQUNwQixVQUFVLEVBQUUsTUFBTSxFQUNsQixNQUFNLEVBQUUsTUFBTSxFQUNkLHFCQUFxQixTQUFJLEdBQ3hCLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0F1Q3ZCO0FBbURELHdCQUFzQiwyQkFBMkIsQ0FDL0MsTUFBTSxFQUFFLFVBQVUsRUFDbEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxxQkFBcUIsU0FBSSxHQUN4QixPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FrQnBDO0FBRUQsd0JBQXNCLDRCQUE0QixDQUNoRCxPQUFPLEVBQUUsTUFBTSxFQUNmLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixVQUFVLEVBQUUsTUFBTSxFQUNsQixNQUFNLEVBQUUsTUFBTSxFQUNkLHFCQUFxQixTQUFJLEdBQ3hCLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0ErQ3ZCO0FBaUZELHdCQUFzQixnQkFBZ0IsQ0FBQyxFQUNyQyxNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixjQUFjLEVBQ2QsTUFBTSxFQUNOLGdCQUFnQixFQUNqQixFQUFFO0lBQ0QsTUFBTSxFQUFFLFVBQVUsQ0FBQztJQUNuQixZQUFZLEVBQUUsWUFBWSxDQUFDO0lBQzNCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixnQkFBZ0IsQ0FBQyxFQUFFLGdCQUFnQixDQUFDO0NBQ3JDLGlCQXFCQTtBQUVELE1BQU0sTUFBTSxhQUFhLEdBQUc7SUFDMUIsTUFBTSxFQUFFLFVBQVUsQ0FBQztJQUNuQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUM5QixDQUFDO0FBRUYsd0JBQXNCLDhCQUE4QixDQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxPQUFPLEVBQ3RCLE1BQU0sRUFBRSxNQUFNLEdBQ2IsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQXFCeEIifQ==
@@ -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;AAG3D,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"}
@@ -10,10 +10,12 @@ 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';
17
19
  const TOKEN_NAME = 'USDC';
18
20
  const TOKEN_SYMBOL = 'USD';
19
21
  const TOKEN_DECIMALS = 18n;
@@ -24,4 +24,4 @@ export declare function installTransferBot({ namespace, spartanDir, logger: log,
24
24
  * Intended for test teardown to clean up bot resources.
25
25
  */
26
26
  export declare function uninstallTransferBot(namespace: string, log: Logger): Promise<void>;
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BhcnRhbi91dGlscy9ib3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFXcEQsd0JBQXNCLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGlCQWE5RDtBQUVEOzs7R0FHRztBQUNILHdCQUFzQixrQkFBa0IsQ0FBQyxFQUN2QyxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFBRSxHQUFHLEVBQ1gsUUFBWSxFQUNaLGlCQUFzQixFQUN0QixXQUF1QixFQUN2QixRQUEyRyxFQUMzRyxrQkFBa0IsRUFDbEIsYUFBc0UsRUFDdEUsT0FBTyxFQUNQLE9BQWUsRUFDZixXQUFrQixFQUNsQixpQkFBaUUsRUFDbEUsRUFBRTtJQUNELFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGlCQUFpQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQzNCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNyQixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEIsa0JBQWtCLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3JDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN2QixPQUFPLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDakIsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLFdBQVcsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN0QixpQkFBaUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUM1QixpQkFnSEE7QUFFRDs7O0dBR0c7QUFDSCx3QkFBc0Isb0JBQW9CLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxpQkFReEUifQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BhcnRhbi91dGlscy9ib3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFXcEQsd0JBQXNCLFVBQVUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLGlCQWE5RDtBQUVEOzs7R0FHRztBQUNILHdCQUFzQixrQkFBa0IsQ0FBQyxFQUN2QyxTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFBRSxHQUFHLEVBQ1gsUUFBWSxFQUNaLGlCQUFzQixFQUN0QixXQUE0QixFQUM1QixRQUEyRyxFQUMzRyxrQkFBa0IsRUFDbEIsYUFBc0UsRUFDdEUsT0FBTyxFQUNQLE9BQWUsRUFDZixXQUFrQixFQUNsQixpQkFBaUUsRUFDbEUsRUFBRTtJQUNELFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsUUFBUSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLGlCQUFpQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQzNCLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNyQixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEIsa0JBQWtCLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3JDLGFBQWEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN2QixPQUFPLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDakIsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLFdBQVcsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN0QixpQkFBaUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUM1QixpQkFnSEE7QUFFRDs7O0dBR0c7QUFDSCx3QkFBc0Isb0JBQW9CLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxpQkFReEUifQ==
@@ -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,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"}
@@ -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', 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`;
@@ -9,6 +9,7 @@ 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>;
12
13
  }, "strip", z.ZodTypeAny, {
13
14
  NAMESPACE: string;
14
15
  REAL_VERIFIER: boolean;
@@ -19,6 +20,7 @@ declare const testConfigSchema: z.ZodObject<{
19
20
  AZTEC_EPOCH_DURATION: number;
20
21
  AZTEC_PROOF_SUBMISSION_WINDOW: number;
21
22
  AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: number;
23
+ FUNDING_PRIVATE_KEY?: string | undefined;
22
24
  }, {
23
25
  NAMESPACE?: string | undefined;
24
26
  REAL_VERIFIER?: string | number | boolean | undefined;
@@ -29,8 +31,9 @@ declare const testConfigSchema: z.ZodObject<{
29
31
  AZTEC_EPOCH_DURATION?: number | undefined;
30
32
  AZTEC_PROOF_SUBMISSION_WINDOW?: number | undefined;
31
33
  AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET?: number | undefined;
34
+ FUNDING_PRIVATE_KEY?: string | undefined;
32
35
  }>;
33
36
  export type TestConfig = z.infer<typeof testConfigSchema>;
34
37
  export declare function setupEnvironment(env: unknown): TestConfig;
35
38
  export {};
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BhcnRhbi91dGlscy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUl4QixRQUFBLE1BQU0sZ0JBQWdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFVcEIsQ0FBQztBQUVILE1BQU0sTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLGdCQUFnQixDQUFDLENBQUM7QUFFMUQsd0JBQWdCLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxPQUFPLEdBQUcsVUFBVSxDQUl6RCJ9
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BhcnRhbi91dGlscy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUl4QixRQUFBLE1BQU0sZ0JBQWdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFXcEIsQ0FBQztBQUVILE1BQU0sTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLGdCQUFnQixDQUFDLENBQUM7QUFFMUQsd0JBQWdCLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxPQUFPLEdBQUcsVUFBVSxDQUl6RCJ9
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWpB,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,8 @@ 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()
15
16
  });
16
17
  export function setupEnvironment(env) {
17
18
  const config = testConfigSchema.parse(env);
@@ -1,9 +1,9 @@
1
1
  export { type TestConfig, setupEnvironment } from './config.js';
2
- export { getGitProjectRoot, getAztecBin, runAztecBin, runProjectScript } from './scripts.js';
3
- export { startPortForward, getExternalIP, startPortForwardForPrometeheus, startPortForwardForRPC, startPortForwardForEthereum, deleteResourceByName, deleteResourceByLabel, waitForResourceByLabel, waitForResourceByName, waitForResourcesByName, getChartDir, type ServiceEndpoint, getServiceEndpoint, getRPCEndpoint, getEthereumEndpoint, } from './k8s.js';
2
+ export { type ScriptResult, getGitProjectRoot, getAztecBin, runAztecBin, runProjectScript } from './scripts.js';
3
+ export { startPortForward, getExternalIP, startPortForwardForPrometeheus, startPortForwardForRPC, startPortForwardForEthereum, deleteResourceByName, deleteResourceByLabel, waitForResourceByLabel, waitForResourceByName, waitForResourcesByName, getChartDir, type ServiceEndpoint, getServiceEndpoint, getRPCEndpoint, getEthereumEndpoint, createResilientPrometheusConnection, } from './k8s.js';
4
4
  export { uninstallChaosMesh, installChaosMeshChart, applyProverFailure, applyValidatorFailure, applyProverKill, applyProverBrokerKill, applyBootNodeFailure, applyValidatorKill, applyNetworkShaping, } from './chaos.js';
5
5
  export { restartBot, installTransferBot, uninstallTransferBot } from './bot.js';
6
- export { awaitCheckpointNumber, getSequencers, updateSequencersConfig, getSequencersConfig, withSequencersAdmin, setValidatorTxDrop, restartValidators, enableValidatorDynamicBootNode, rollAztecPods, } from './nodes.js';
6
+ export { awaitCheckpointNumber, waitForProvenToAdvance, getSequencers, updateSequencersConfig, getSequencersConfig, withSequencersAdmin, setValidatorTxDrop, restartValidators, enableValidatorDynamicBootNode, rollAztecPods, } from './nodes.js';
7
7
  export { getPublicViemClient, getL1DeploymentAddresses, getNodeClient } from './clients.js';
8
8
  export { ChainHealth, type ChainHealthSnapshot } from './health.js';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zcGFydGFuL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdoRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUc3RixPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYiw4QkFBOEIsRUFDOUIsc0JBQXNCLEVBQ3RCLDJCQUEyQixFQUMzQixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLFdBQVcsRUFDWCxLQUFLLGVBQWUsRUFDcEIsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxtQkFBbUIsR0FDcEIsTUFBTSxVQUFVLENBQUM7QUFHbEIsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIsbUJBQW1CLEdBQ3BCLE1BQU0sWUFBWSxDQUFDO0FBR3BCLE9BQU8sRUFBRSxVQUFVLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHaEYsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixhQUFhLEVBQ2Isc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQiw4QkFBOEIsRUFDOUIsYUFBYSxHQUNkLE1BQU0sWUFBWSxDQUFDO0FBR3BCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHNUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxLQUFLLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDIn0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zcGFydGFuL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdoRSxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUdoSCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGFBQWEsRUFDYiw4QkFBOEIsRUFDOUIsc0JBQXNCLEVBQ3RCLDJCQUEyQixFQUMzQixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLFdBQVcsRUFDWCxLQUFLLGVBQWUsRUFDcEIsa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsbUNBQW1DLEdBQ3BDLE1BQU0sVUFBVSxDQUFDO0FBR2xCLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIsZUFBZSxFQUNmLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsa0JBQWtCLEVBQ2xCLG1CQUFtQixHQUNwQixNQUFNLFlBQVksQ0FBQztBQUdwQixPQUFPLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR2hGLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsc0JBQXNCLEVBQ3RCLGFBQWEsRUFDYixzQkFBc0IsRUFDdEIsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLDhCQUE4QixFQUM5QixhQUFhLEdBQ2QsTUFBTSxZQUFZLENBQUM7QUFHcEIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHdCQUF3QixFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUc1RixPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/spartan/utils/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAG7F,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,8BAA8B,EAC9B,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,EACX,KAAK,eAAe,EACpB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGhF,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,8BAA8B,EAC9B,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG5F,OAAO,EAAE,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/spartan/utils/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGhE,OAAO,EAAE,KAAK,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhH,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,8BAA8B,EAC9B,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,WAAW,EACX,KAAK,eAAe,EACpB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,mCAAmC,GACpC,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGhF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,8BAA8B,EAC9B,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG5F,OAAO,EAAE,WAAW,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC"}
@@ -5,13 +5,13 @@ export { setupEnvironment } from './config.js';
5
5
  // Scripts
6
6
  export { getGitProjectRoot, getAztecBin, runAztecBin, runProjectScript } from './scripts.js';
7
7
  // K8s operations
8
- export { startPortForward, getExternalIP, startPortForwardForPrometeheus, startPortForwardForRPC, startPortForwardForEthereum, deleteResourceByName, deleteResourceByLabel, waitForResourceByLabel, waitForResourceByName, waitForResourcesByName, getChartDir, getServiceEndpoint, getRPCEndpoint, getEthereumEndpoint } from './k8s.js';
8
+ export { startPortForward, getExternalIP, startPortForwardForPrometeheus, startPortForwardForRPC, startPortForwardForEthereum, deleteResourceByName, deleteResourceByLabel, waitForResourceByLabel, waitForResourceByName, waitForResourcesByName, getChartDir, getServiceEndpoint, getRPCEndpoint, getEthereumEndpoint, createResilientPrometheusConnection } from './k8s.js';
9
9
  // Chaos Mesh
10
10
  export { uninstallChaosMesh, installChaosMeshChart, applyProverFailure, applyValidatorFailure, applyProverKill, applyProverBrokerKill, applyBootNodeFailure, applyValidatorKill, applyNetworkShaping } from './chaos.js';
11
11
  // Bot management
12
12
  export { restartBot, installTransferBot, uninstallTransferBot } from './bot.js';
13
13
  // Node operations (sequencers, validators, pods)
14
- export { awaitCheckpointNumber, getSequencers, updateSequencersConfig, getSequencersConfig, withSequencersAdmin, setValidatorTxDrop, restartValidators, enableValidatorDynamicBootNode, rollAztecPods } from './nodes.js';
14
+ export { awaitCheckpointNumber, waitForProvenToAdvance, getSequencers, updateSequencersConfig, getSequencersConfig, withSequencersAdmin, setValidatorTxDrop, restartValidators, enableValidatorDynamicBootNode, rollAztecPods } from './nodes.js';
15
15
  // Client utilities
16
16
  export { getPublicViemClient, getL1DeploymentAddresses, getNodeClient } from './clients.js';
17
17
  // Health checks
@@ -1,4 +1,6 @@
1
+ import type { Logger } from '@aztec/foundation/log';
1
2
  import { type ChildProcess } from 'child_process';
3
+ import { GrafanaClient } from '../../quality_of_service/grafana_client.js';
2
4
  /**
3
5
  * Represents an endpoint to reach a K8s service.
4
6
  * May be a LoadBalancer external IP or a port-forward.
@@ -94,5 +96,31 @@ export declare function waitForResourcesByName({ resource, names, namespace, con
94
96
  condition?: string;
95
97
  timeout?: string;
96
98
  }): Promise<void>;
99
+ /**
100
+ * Waits for all StatefulSets matching a label to have all their replicas ready.
101
+ *
102
+ * @param namespace - Kubernetes namespace
103
+ * @param label - Label selector for StatefulSets (e.g., "app.kubernetes.io/component=sequencer-node")
104
+ * @param timeoutSeconds - Maximum time to wait in seconds
105
+ * @param pollIntervalSeconds - How often to check status
106
+ */
107
+ export declare function waitForStatefulSetsReady({ namespace, label, timeoutSeconds, pollIntervalSeconds }: {
108
+ namespace: string;
109
+ label: string;
110
+ timeoutSeconds?: number;
111
+ pollIntervalSeconds?: number;
112
+ }): Promise<void>;
113
+ /**
114
+ * Creates a Prometheus connection that can re-establish port-forward on failure.
115
+ * Returns functions to connect and run alert checks that automatically reconnect if needed.
116
+ *
117
+ * @param namespace - K8s namespace to fall back to if metrics namespace doesn't have Prometheus
118
+ * @param endpoints - Array to track created endpoints for cleanup
119
+ * @param log - Logger instance
120
+ */
121
+ export declare function createResilientPrometheusConnection(namespace: string, endpoints: ServiceEndpoint[], log: Logger): {
122
+ connect: () => Promise<GrafanaClient>;
123
+ runAlertCheck: (alerts: Parameters<GrafanaClient['runAlertCheck']>[0]) => Promise<void>;
124
+ };
97
125
  export declare function getChartDir(spartanDir: string, chartName: string): string;
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BhcnRhbi91dGlscy9rOHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBUS9EOzs7R0FHRztBQUNILE1BQU0sV0FBVyxlQUFlO0lBQzlCLEdBQUcsRUFBRSxNQUFNLENBQUM7SUFDWixPQUFPLENBQUMsRUFBRSxZQUFZLENBQUM7Q0FDeEI7QUFFRCx3QkFBc0IsZ0JBQWdCLENBQUMsRUFDckMsUUFBUSxFQUNSLFNBQVMsRUFDVCxhQUFhLEVBQ2IsUUFBUSxFQUNULEVBQUU7SUFDRCxRQUFRLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUV0QixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDbkIsR0FBRyxPQUFPLENBQUM7SUFDVixPQUFPLEVBQUUsWUFBWSxDQUFDO0lBQ3RCLElBQUksRUFBRSxNQUFNLENBQUM7Q0FDZCxDQUFDLENBdUVEO0FBRUQsd0JBQWdCLGFBQWEsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQStCckY7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixrQkFBa0IsQ0FBQyxJQUFJLEVBQUU7SUFDN0MsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixXQUFXLEVBQUUsTUFBTSxDQUFDO0lBQ3BCLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDNUIsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBc0MzQjtBQUVEOzs7Ozs7R0FNRztBQUNILHdCQUFzQixjQUFjLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sR0FB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
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiazhzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BhcnRhbi91dGlscy9rOHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJcEQsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBSS9ELE9BQU8sRUFBdUIsYUFBYSxFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFNaEc7OztHQUdHO0FBQ0gsTUFBTSxXQUFXLGVBQWU7SUFDOUIsR0FBRyxFQUFFLE1BQU0sQ0FBQztJQUNaLE9BQU8sQ0FBQyxFQUFFLFlBQVksQ0FBQztDQUN4QjtBQUVELHdCQUFzQixnQkFBZ0IsQ0FBQyxFQUNyQyxRQUFRLEVBQ1IsU0FBUyxFQUNULGFBQWEsRUFDYixRQUFRLEVBQ1QsRUFBRTtJQUNELFFBQVEsRUFBRSxNQUFNLENBQUM7SUFDakIsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixhQUFhLEVBQUUsTUFBTSxDQUFDO0lBRXRCLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUNuQixHQUFHLE9BQU8sQ0FBQztJQUNWLE9BQU8sRUFBRSxZQUFZLENBQUM7SUFDdEIsSUFBSSxFQUFFLE1BQU0sQ0FBQztDQUNkLENBQUMsQ0F1RUQ7QUFFRCx3QkFBZ0IsYUFBYSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBK0JyRjtBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQXNCLGtCQUFrQixDQUFDLElBQUksRUFBRTtJQUM3QyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQ2xCLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUN0QixnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQztDQUM1QixHQUFHLE9BQU8sQ0FBQyxlQUFlLENB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
@@ -1 +1 @@
1
- {"version":3,"file":"k8s.d.ts","sourceRoot":"","sources":["../../../src/spartan/utils/k8s.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"k8s.d.ts","sourceRoot":"","sources":["../../../src/spartan/utils/k8s.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { retryUntil } from '@aztec/foundation/retry';
4
4
  import { exec, spawn } from 'child_process';
5
5
  import path from 'path';
6
6
  import { promisify } from 'util';
7
+ import { AlertTriggeredError, GrafanaClient } from '../../quality_of_service/grafana_client.js';
7
8
  const execAsync = promisify(exec);
8
9
  const logger = createLogger('e2e:k8s-utils');
9
10
  export async function startPortForward({ resource, namespace, containerPort, hostPort }) {
@@ -252,6 +253,123 @@ export async function waitForResourcesByName({ resource, names, namespace, condi
252
253
  }
253
254
  }));
254
255
  }
256
+ /**
257
+ * Waits for all StatefulSets matching a label to have all their replicas ready.
258
+ *
259
+ * @param namespace - Kubernetes namespace
260
+ * @param label - Label selector for StatefulSets (e.g., "app.kubernetes.io/component=sequencer-node")
261
+ * @param timeoutSeconds - Maximum time to wait in seconds
262
+ * @param pollIntervalSeconds - How often to check status
263
+ */ export async function waitForStatefulSetsReady({ namespace, label, timeoutSeconds = 600, pollIntervalSeconds = 5 }) {
264
+ logger.info(`Waiting for StatefulSets with label ${label} to have all replicas ready (timeout: ${timeoutSeconds}s)`);
265
+ await retryUntil(async ()=>{
266
+ // Get all StatefulSets matching the label
267
+ const getCmd = `kubectl get statefulset -l ${label} -n ${namespace} -o json`;
268
+ const { stdout } = await execAsync(getCmd);
269
+ const result = JSON.parse(stdout);
270
+ if (!result.items || result.items.length === 0) {
271
+ logger.verbose(`No StatefulSets found with label ${label}`);
272
+ return false;
273
+ }
274
+ // Check each StatefulSet
275
+ for (const sts of result.items){
276
+ const name = sts.metadata.name;
277
+ const desired = sts.spec.replicas ?? 0;
278
+ const ready = sts.status.readyReplicas ?? 0;
279
+ const updated = sts.status.updatedReplicas ?? 0;
280
+ if (ready < desired || updated < desired) {
281
+ logger.verbose(`StatefulSet ${name}: ${ready}/${desired} ready, ${updated}/${desired} updated`);
282
+ return false;
283
+ }
284
+ }
285
+ logger.info(`All StatefulSets with label ${label} are ready`);
286
+ return true;
287
+ }, `StatefulSets with label ${label} to be ready`, timeoutSeconds, pollIntervalSeconds);
288
+ }
289
+ /**
290
+ * Creates a Prometheus connection that can re-establish port-forward on failure.
291
+ * Returns functions to connect and run alert checks that automatically reconnect if needed.
292
+ *
293
+ * @param namespace - K8s namespace to fall back to if metrics namespace doesn't have Prometheus
294
+ * @param endpoints - Array to track created endpoints for cleanup
295
+ * @param log - Logger instance
296
+ */ export function createResilientPrometheusConnection(namespace, endpoints, log) {
297
+ let alertChecker;
298
+ let currentEndpoint;
299
+ const connect = async ()=>{
300
+ // Kill existing connection if any
301
+ if (currentEndpoint?.process) {
302
+ currentEndpoint.process.kill();
303
+ }
304
+ // Try metrics namespace first, then network namespace
305
+ let promPort = 0;
306
+ let promUrl = '';
307
+ let promProc;
308
+ try {
309
+ const metricsResult = await startPortForward({
310
+ resource: `svc/metrics-prometheus-server`,
311
+ namespace: 'metrics',
312
+ containerPort: 80
313
+ });
314
+ promProc = metricsResult.process;
315
+ promPort = metricsResult.port;
316
+ promUrl = `http://127.0.0.1:${promPort}/api/v1`;
317
+ } catch {
318
+ // Metrics namespace might not have Prometheus, try network namespace
319
+ log.verbose('Metrics namespace Prometheus not available, trying network namespace');
320
+ }
321
+ if (promPort === 0) {
322
+ const nsResult = await startPortForward({
323
+ resource: `svc/prometheus-server`,
324
+ namespace,
325
+ containerPort: 80
326
+ });
327
+ promProc = nsResult.process;
328
+ promPort = nsResult.port;
329
+ promUrl = `http://127.0.0.1:${promPort}/api/v1`;
330
+ }
331
+ if (!promProc || promPort === 0) {
332
+ throw new Error('Unable to port-forward to Prometheus');
333
+ }
334
+ currentEndpoint = {
335
+ url: promUrl,
336
+ process: promProc
337
+ };
338
+ endpoints.push(currentEndpoint);
339
+ alertChecker = new GrafanaClient(log, {
340
+ grafanaEndpoint: promUrl,
341
+ grafanaCredentials: ''
342
+ });
343
+ log.info(`Established Prometheus connection at ${promUrl}`);
344
+ return alertChecker;
345
+ };
346
+ const runAlertCheck = async (alerts)=>{
347
+ if (!alertChecker) {
348
+ alertChecker = await connect();
349
+ }
350
+ try {
351
+ await alertChecker.runAlertCheck(alerts);
352
+ } catch (err) {
353
+ // If it's an AlertTriggeredError (expected behavior)
354
+ if (err instanceof AlertTriggeredError) {
355
+ throw err;
356
+ }
357
+ // Check if it's a connection error (port-forward died)
358
+ const errorStr = String(err);
359
+ if (errorStr.includes('fetch failed') || errorStr.includes('ECONNREFUSED') || errorStr.includes('ECONNRESET')) {
360
+ log.warn(`Prometheus connection lost, re-establishing port-forward...`);
361
+ alertChecker = await connect();
362
+ await alertChecker.runAlertCheck(alerts);
363
+ } else {
364
+ throw err;
365
+ }
366
+ }
367
+ };
368
+ return {
369
+ connect,
370
+ runAlertCheck
371
+ };
372
+ }
255
373
  export function getChartDir(spartanDir, chartName) {
256
374
  return path.join(spartanDir.trim(), chartName);
257
375
  }
@@ -4,10 +4,20 @@ import type { Logger } from '@aztec/foundation/log';
4
4
  import { type AztecNodeAdmin, type AztecNodeAdminConfig } from '@aztec/stdlib/interfaces/client';
5
5
  import type { TestConfig } from './config.js';
6
6
  export declare function awaitCheckpointNumber(rollupCheatCodes: RollupCheatCodes, checkpointNumber: CheckpointNumber, timeoutSeconds: number, log: Logger): Promise<void>;
7
+ /**
8
+ * Waits until the proven block number increases.
9
+ *
10
+ * @param rpcUrl - URL of an Aztec RPC node to query
11
+ * @param log - Logger instance
12
+ * @param timeoutSeconds - Maximum time to wait
13
+ * @param pollIntervalSeconds - How often to check
14
+ */
15
+ export declare function waitForProvenToAdvance(rpcUrl: string, log: Logger, timeoutSeconds?: number, pollIntervalSeconds?: number): Promise<void>;
7
16
  export declare function getSequencers(namespace: string): Promise<string[]>;
8
17
  export declare function updateSequencersConfig(env: TestConfig, config: Partial<AztecNodeAdminConfig>): Promise<AztecNodeAdminConfig[]>;
9
18
  export declare function getSequencersConfig(env: TestConfig): Promise<AztecNodeAdminConfig[]>;
10
19
  export declare function withSequencersAdmin<T>(env: TestConfig, fn: (node: AztecNodeAdmin) => Promise<T>): Promise<T[]>;
20
+ export declare function initHADb(namespace: string): Promise<void>;
11
21
  /**
12
22
  * Enables or disables probabilistic transaction dropping on validators and waits for rollout.
13
23
  * Wired to env vars P2P_DROP_TX and P2P_DROP_TX_CHANCE via Helm values.
@@ -28,4 +38,4 @@ export declare function enableValidatorDynamicBootNode(instanceName: string, nam
28
38
  * Defaults to false, which preserves the existing storage.
29
39
  */
30
40
  export declare function rollAztecPods(namespace: string, clearState?: boolean): Promise<void>;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zcGFydGFuL3V0aWxzL25vZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdwRCxPQUFPLEVBQ0wsS0FBSyxjQUFjLEVBQ25CLEtBQUssb0JBQW9CLEVBRTFCLE1BQU0saUNBQWlDLENBQUM7QUFLekMsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBUTlDLHdCQUFzQixxQkFBcUIsQ0FDekMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxjQUFjLEVBQUUsTUFBTSxFQUN0QixHQUFHLEVBQUUsTUFBTSxpQkFlWjtBQUVELHdCQUFzQixhQUFhLENBQUMsU0FBUyxFQUFFLE1BQU0scUJBNEJwRDtBQUVELHdCQUFnQixzQkFBc0IsQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsb0JBQW9CLENBQUMsbUNBSzVGO0FBRUQsd0JBQWdCLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxVQUFVLG1DQUVsRDtBQUVELHdCQUFzQixtQkFBbUIsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsY0FBYyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0EwQ3BIO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQXNCLGtCQUFrQixDQUFDLEVBQ3ZDLFNBQVMsRUFDVCxPQUFPLEVBQ1AsV0FBVyxFQUNYLE1BQU0sRUFBRSxHQUFHLEVBQ1osRUFBRTtJQUNELFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsT0FBTyxFQUFFLE9BQU8sQ0FBQztJQUNqQixXQUFXLEVBQUUsTUFBTSxDQUFDO0lBQ3BCLE1BQU0sRUFBRSxNQUFNLENBQUM7Q0FDaEIsaUJBZ0NBO0FBRUQsd0JBQXNCLGlCQUFpQixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0saUJBK0JyRTtBQUVELHdCQUFzQiw4QkFBOEIsQ0FDbEQsWUFBWSxFQUFFLE1BQU0sRUFDcEIsU0FBUyxFQUFFLE1BQU0sRUFDakIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsR0FBRyxFQUFFLE1BQU0saUJBZ0JaO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsd0JBQXNCLGFBQWEsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsR0FBRSxPQUFlLGlCQW1GakYifQ==
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zcGFydGFuL3V0aWxzL25vZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdwRCxPQUFPLEVBQ0wsS0FBSyxjQUFjLEVBQ25CLEtBQUssb0JBQW9CLEVBRTFCLE1BQU0saUNBQWlDLENBQUM7QUFLekMsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBZTlDLHdCQUFzQixxQkFBcUIsQ0FDekMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxjQUFjLEVBQUUsTUFBTSxFQUN0QixHQUFHLEVBQUUsTUFBTSxpQkFlWjtBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0Isc0JBQXNCLENBQzFDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsR0FBRyxFQUFFLE1BQU0sRUFDWCxjQUFjLEdBQUUsTUFBWSxFQUM1QixtQkFBbUIsR0FBRSxNQUFXLEdBQy9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0EwQ2Y7QUFFRCx3QkFBc0IsYUFBYSxDQUFDLFNBQVMsRUFBRSxNQUFNLHFCQTRCcEQ7QUFFRCx3QkFBZ0Isc0JBQXNCLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixDQUFDLG1DQUs1RjtBQUVELHdCQUFnQixtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsVUFBVSxtQ0FFbEQ7QUFFRCx3QkFBc0IsbUJBQW1CLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLGNBQWMsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBNENwSDtBQWtDRCx3QkFBc0IsUUFBUSxDQUFDLFNBQVMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQTBCL0Q7QUFFRDs7O0dBR0c7QUFDSCx3QkFBc0Isa0JBQWtCLENBQUMsRUFDdkMsU0FBUyxFQUNULE9BQU8sRUFDUCxXQUFXLEVBQ1gsTUFBTSxFQUFFLEdBQUcsRUFDWixFQUFFO0lBQ0QsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixPQUFPLEVBQUUsT0FBTyxDQUFDO0lBQ2pCLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUNoQixpQkFnQ0E7QUFFRCx3QkFBc0IsaUJBQWlCLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxpQkErQnJFO0FBRUQsd0JBQXNCLDhCQUE4QixDQUNsRCxZQUFZLEVBQUUsTUFBTSxFQUNwQixTQUFTLEVBQUUsTUFBTSxFQUNqQixVQUFVLEVBQUUsTUFBTSxFQUNsQixHQUFHLEVBQUUsTUFBTSxpQkFnQlo7QUFFRDs7Ozs7O0dBTUc7QUFDSCx3QkFBc0IsYUFBYSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxHQUFFLE9BQWUsaUJBMktqRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../src/spartan/utils/nodes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAE1B,MAAM,iCAAiC,CAAC;AAKzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQ9C,wBAAsB,qBAAqB,CACzC,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,iBAeZ;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,qBA4BpD;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,mCAK5F;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,mCAElD;AAED,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CA0CpH;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,SAAS,EACT,OAAO,EACP,WAAW,EACX,MAAM,EAAE,GAAG,EACZ,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB,iBAgCA;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBA+BrE;AAED,wBAAsB,8BAA8B,CAClD,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,iBAgBZ;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe,iBAmFjF"}
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../src/spartan/utils/nodes.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAE1B,MAAM,iCAAiC,CAAC;AAKzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAe9C,wBAAsB,qBAAqB,CACzC,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,iBAeZ;AAED;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,cAAc,GAAE,MAAY,EAC5B,mBAAmB,GAAE,MAAW,GAC/B,OAAO,CAAC,IAAI,CAAC,CA0Cf;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,qBA4BpD;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,mCAK5F;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,mCAElD;AAED,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CA4CpH;AAkCD,wBAAsB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B/D;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,SAAS,EACT,OAAO,EACP,WAAW,EACX,MAAM,EAAE,GAAG,EACZ,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB,iBAgCA;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,iBA+BrE;AAED,wBAAsB,8BAA8B,CAClD,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,iBAgBZ;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe,iBA2KjF"}