Repository navigation
Conversation
|
@coderabbitai full review |
✅ Action performedFull review finished. |
|
@rain-marvin review |
✅ Action performedReview finished.
|
|
🔎 Reviewing |
There was a problem hiding this comment.
This PR moves the dashboard's recovery commands (the CLI recovery guide and the transfer and trade dialogs) from the offline stox CLI over SSH to the operations client, st0x-liquidity-client --env <production|staging>. It picks --env from the dashboard host, shows fail-usdc-transfer only in the states where the running bot can accept it, and adds a check procedure for each bridge direction. Simulation builds keep the mock CLI.
Every command string matches crates/liquidity-client/src/cli.rs: verbs, argument order, flags and value spellings. The fail gating matches fail_pre_burn_usdc_transfer in src/api.rs. All earlier threads are resolved, and the fixes from the last round are in place at this head. Nothing here blocks the merge. What is left is a few text gaps in the operator procedures: the Alpaca to Base fail check still trusts a nonce comparison that the Base to Alpaca check already says is not proof, the complete-mint row no longer says that the bridge needs a follow-up step, and there is no test that the shown commands still parse with the client.
claude-opus-5-5 · high · 20 min
|
@coderabbitai approve |
✅ Action performedComments resolved and changes approved. |
|
@JuaniRios 🔔 Follow-up: a day after my review @JuaniRios, #1688 is still open and hasn't moved since CodeRabbit approved it a day ago. Marvin and CodeRabbit have both approved head It's waiting on a human approval from one of @agryaznov, @ueco-jb, @rouzwelt or @findolor. It also sits on top of #1687, which is approved but not merged yet, so the next step is to get someone to review it and then land #1687 first. The open question in the description (whether the SPA should stay on claude-opus-5-5 · high · 6 h 44 min |
agryaznov
left a comment
There was a problem hiding this comment.
LGTM, the deferred minors are tracked in the threads.
Merge activity
|

Part of RAI-3096.
The SPA's recovery commands move from
stoxover SSH to the operations client,st0x-liquidity-client --env <production|staging>. Item 6a of the RAI-2998 stack, part 2 of 6. Ported from #1654 and #1662, without their DTO changes.Live effect: the commands the SPA shows in the CLI recovery guide and the transfer and trade dialogs · Risk: low (text an operator copies; no money path in code) · Ships: on the next bot release
Why
The board copies these commands (#1689, #1692), and
transfer-board.test.tskeeps the copies equal to the SPA. #1654 put the client form in both. The plan said to drop the SPA side, but then the test cannot guard the board againsttransfer.ts, and the board would show commands the SPA does not. So the SPA side comes along, as its own PR.Decisions
--envcomes from the SPA's host: production on the production host, staging on the staging host, and a<production|staging>placeholder anywhere else (an IAP tunnel to localhost), so a guess never targets production.fail-usdc-transfershows only where the running bot can accept it, with the check for that bridge's direction (fix: per-direction USDC fail checks on the liquidity board #1662). Alpaca to Base gets it atwithdrawingandbridging; Base to Alpaca atwithdrawingonly, plus a pointer to the offlinestoxpath once the vault withdrawal confirmed.docs/cli-ops.mdrunbook from docs: check WithdrawV2 too before failing a Base to Alpaca USDC transfer [RAI-3125] #1704 step for step: noOperatorWithdrawon the inventory and noWithdrawV2on the orderbook from the cash vault, then the attempt timeout and no pending tx (nonce checked on more than one RPC provider), then resume if anything landed or you are not sure. If nothing landed, stop the bot and close the nonce with a 0-value self-transfer, check the logs again, and only then fail.direct-db-live-rpcandlive-rpc-onlygo away: every production command isrequires-botnow.Proof
crates/liquidity-client/src/cli.rsand the fail rules againstfail_pre_burn_usdc_transferinsrc/api.rs. All match.Open question
This one changes the SPA, which the 6a brief said to leave alone. If we'd rather keep the SPA on
stoxuntil Stage 6, drop this PR and #1692's drift test switches to literal expected tables (J6). wdyt?Merge conditions
Same as the stack below. This one ships with the bot release, like the rest of the stack. #1689 and #1692 need it below them, so their drift test can pass.