ci / gate (push) Successful in 9m49s
The form collects text. Review shows the call decoded from the bytes that will be signed, from PreparedTransferInfo: pallet and call, each argument as Rust rendered it, the fee, the mortality and the nonce. Submit hands back only the prepared id, so nothing the form holds can reach the signature; Back discards the prepared transaction on the Rust side. A cancellation window is offered as presets or a custom block count, described in the chain's nominal block time, and hidden for a high-security account whose delay is fixed. After submit the tx:status events drive a stage list until finalized, failed or dropped. Event subscriptions now go through one helper that copes with `listen` resolving after the effect is torn down, which under StrictMode left a second listener alive and showed every stage twice. Optional u64 fields are typed `number | null` rather than `number`. On the dev node, from crystal_alice: 3 DEV reviewed as Balances.transfer_keep_alive with the recipient and "3 DEV", signed and in a block; 2 DEV with a 200-block window reviewed as ReversibleTransfers.schedule_transfer_with_delay, in a block, and then listed by reversible_pending with cancellable_by_me; a prefix-42 address refused at prepare with the cross-chain message; 5,000,000 DEV signed and reported Failed: Arithmetic(Underflow). Closes #28 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014ftBXYuba8ARhQeF74oUgW