You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
An action Arcade rejects after RECEIVED jams the wallet: actions funded from its change stay pending and its change input leaves the balance (fix in ts-stack#1080) #167
On mainnet on 2026-10-14, this app (1.7.0, @bsv/wallet-toolbox-mobile 2.14.4, Arcade broadcaster) jammed. It showed 6,654 sats against about 11,657 on chain.
245294a2fe4cbd3ec02f55de9f797c546bdb4f04a3ff1158ce7543affe37d1ec spent a head output that dcd5b308b8064cb3ab3cf315a40b4122dd487161e580fb9dd30b70ad6ccdc63b had already spent (mined at 971076), plus dcd5b308:1, the wallet's change. Arcade answered RECEIVED (202), and the wallet stored it as unproven and offered its change as funding. Arcade then answered REJECTED 466, "UTXO_SPENT ... 212d64c0...:0 utxo already spent by tx dcd5b308...".
9e58fd11025d14e675d3c8223a94ab9639d328fee1e10e46302e1b2aa6df790c was funded by dcd5b308:0, b06d11e7...:0 and 245294a2:1. Arcade answered RECEIVED, then REJECTED, "parent rejected (ancestor 245294a2...)".
Eight minutes later the wallet still held both as unmined. The head dcd5b308:0 was marked spent by the dead 9e58fd11, and every later action on those coins was rejected.
The children were not failed. An action funded from a rejected action's change stayed pending. Only the reconcile poll failed it, once it was an hour old.
The unnamed input was quarantined. The input-conflict quarantine marked every input of the rejected action unspendable, including dcd5b308:1, although Arcade named the other input as the spent one.
To complete here
Bump @bsv/wallet-toolbox-mobile to the first release that carries ts-stack#1080, and @bsv/expo-wallet-toolbox if its range excludes it.
A wallet already in this state heals on the next terminal verdict, the Arcade event or the reconcile poll, as long as the rejected action is still pending. Change already quarantined by an older release's verdict is not restored: no existing specOp does that.
Activity