fix(cli-wallet): wait for checkpointed in serial sandbox flow tests#23911
Draft
AztecBot wants to merge 1 commit into
Draft
fix(cli-wallet): wait for checkpointed in serial sandbox flow tests#23911AztecBot wants to merge 1 commit into
AztecBot wants to merge 1 commit into
Conversation
The cli-wallet send/deploy/create-account/deploy-account commands default to
waiting for PROPOSED. In the serial single-block local-network sandbox a
proposed block can be orphaned and pruned before its checkpoint is published,
dropping a tx the caller already moved on from ("Tx dropped by P2P node"),
which flaked cli-wallet/test/flows/private_transfer.sh.
Make the default wait-for-status overridable via WALLET_TX_WAIT_FOR_STATUS and
set it to 'checkpointed' in the flow-test harness so each tx is durably
included before the next is sent. Mirrors the same fix already applied to the
local-network internal setup txs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Fixes the
cli-wallet/test/flows/private_transfer.shfailure onmerge-train/spartan-v5(CI: http://ci.aztec-labs.com/1780677846675396, failing flow log: http://ci.aztec-labs.com/08f16c9e3be0b78e).The
transfertx was dropped withTx dropped by P2P node~5s after being sent, before it was ever observed asproposed.Root cause
This is the exact serial-sandbox race that #23809 (split timing into consensus and proposer timetables) documented and fixed for the local-network internal setup txs, but the external cli-wallet flow tests still hit it.
The cli-wallet
send/deploy/create-account/deploy-accountcommands default to--wait-for-status proposed. In the serial single-block local-network sandbox, a proposed block can be orphaned and pruned before its checkpoint is published, dropping a tx the caller already moved on from. The PR author addressed this for the local-network's own setup txs by waiting forCHECKPOINTED(yarn-project/aztec/src/local-network/local-network.ts), but the flow scripts run the CLI externally and were not covered, so they remained flaky under the new timing.Fix
WALLET_TX_WAIT_FOR_STATUSenv var. Default behavior is unchanged for real users (stillproposed).WALLET_TX_WAIT_FOR_STATUS=checkpointedin the flow-test harness (test/flows/shared/setup.sh, sourced by every flow), so each tx is durably included before the next is sent.This mirrors the remedy already applied to the internal setup txs, and keeps the production CLI default untouched.
Verification
bash -n), env-default behavior, prettier line-width, and confirmed no flow parses theproposed/checkpointedstatus string (tx_management.shusesget-tx, which is unaffected)../bootstrap.sh cicould not be run in this container (no docker daemon available); the merge-train CI on this PR is the live verification.Follows the merge-trains workflow: targets
merge-train/spartan-v5directly.Created by claudebox · group:
slackbot