mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-android.git
synced 2026-07-22 21:55:53 +00:00
6fd7a56382
Retry: OriginFailed only offered "Done" (start over from the input screen) - the origin transfer never left the wallet in that state, so retrying is just re-running submit() from scratch, same as Swap's own retryClicked(). The execution screen's action button now shows "Try again"/retries when OriginFailed, "Done" otherwise - derived from the same state observer already driving the alert banner, not a second LiveData to keep in sync. FEE_PERCENT was duplicated as separate 0.001 literals in BridgeViewModel and BridgeExecutionViewModel. Moved to BridgeMultisigConstants (already the shared home for this feature's cross-cutting constants) so there's one number to change if the server-side fee_basis_points ever does. Deliberately NOT touching the deeper architecture items (LiveData vs StateFlow, extracting submit logic to a domain interactor) - Bridge's sealed BridgeExecutionState already gives it the single-source-of-truth property that motivated Swap's StateFlow design, and its submit/wait logic isn't shared with any other screen, so there's no duplication or desync bug those changes would actually fix here. This scope is staying USDT.p<->USDT only going forward (other bridge/swap pairs route through the separate pezsnowbridge DApp) - the real trigger for that refactor (a second bridge pair reusing this logic) will not happen in this screen, so it's not deferred tech debt, it's a closed decision.