mirror of
https://github.com/pezkuwichain/pezkuwi-wallet-android.git
synced 2026-07-23 07:15:49 +00:00
Add pre-submit consent gate for amounts exceeding auto-pay approval
Symmetric across both bridge directions, checked in priority order before any funds move: 1. Real reserve exceeded (withdrawal only) - the multisig doesn't hold enough real USDT on Polkadot Asset Hub. No signature can fix this, so this stays a hard block (existing bridge_wusdt_to_usdt_blocked message), never offered as "proceed anyway". 2. Automation-key approval exceeded (either direction) - funds exist, the automation key just isn't currently approved to auto-pay that much. Resolvable by 3-of-5 signing, so this is now an explicit opt-in: a warning banner names the ~2h typical review window and the signatories' contact channel (t.me/pezkuwidestek), gated behind a WarningCheckBox the user must tick before Swap re-enables. Previously there was no signal at all here - a large amount would just silently queue for manual review after debiting the user, with no way to know that going in. Both getWusdtRemainingAllowance/getPolkadotUsdtRemainingAllowance query the real on-chain Assets.Approvals amount per leg - not a guess. Confirmed on-chain (2026-07-16) the Polkadot leg has never had an approval granted at all, so every wUSDT->USDT withdrawal currently hits the consent gate regardless of amount, symmetric with what happens once a signatory grants one (mirrors the existing wUSDT-side renewal flow exactly, including the same 40,000/200,000 20%-threshold pattern) - added a second sign button so a signatory can actually grant it from this screen. swapClicked()'s confirmation gate now also enforces the consent requirement server-side (well, client-domain-side) rather than only via the button's enabled look, consistent with how it already re-checks balance/reserve.
This commit is contained in:
@@ -365,6 +365,8 @@
|
||||
<string name="bridge_below_minimum">Amount below minimum</string>
|
||||
<string name="bridge_enter_amount">Enter amount</string>
|
||||
<string name="bridge_wusdt_to_usdt_blocked">This amount exceeds the bridge\'s current available reserve (%s USDT). Try a smaller amount.</string>
|
||||
<string name="bridge_consent_required_message">This amount exceeds the automatic payout limit and needs approval from 3 of the bridge\'s 5 signatories - typically resolved within about 2 hours. You can reach them at t.me/pezkuwidestek in the meantime.</string>
|
||||
<string name="bridge_consent_checkbox_label">I understand this may take time to complete and want to proceed</string>
|
||||
|
||||
<string name="bridge_sign_status_ok">Bridge allowance OK (%s)</string>
|
||||
<string name="bridge_sign_button">Sign renewal (%s)</string>
|
||||
|
||||
Reference in New Issue
Block a user