diff options
| author | Adam Soltys <[email protected]> | 2026-06-23 22:37:58 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2026-06-23 22:37:58 -0700 |
| commit | ca7d85e8603ad5ee6a31afbf56777cedfc3931b5 (patch) | |
| tree | 5311eaa3c6b6f95fc10bda5ae4e59297ce0fc9eb /src | |
| parent | 800fa6a0ce8da92a9142af62fee0657011fc45aa (diff) | |
| download | coinosv3-ca7d85e8603ad5ee6a31afbf56777cedfc3931b5.tar.gz coinosv3-ca7d85e8603ad5ee6a31afbf56777cedfc3931b5.zip | |
Allow signed-tx export when online; clarify it isn't sent
- Add a "Sign & export (broadcast elsewhere)" action on the online
review screen so you can sign here and broadcast from another device,
not just in offline mode.
- The signed-result screen now reads as an amber caution ("Signed, but
not sent yet… it will not send on its own") instead of a green
success banner, so it can't be mistaken for a completed send.
Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Diffstat (limited to 'src')
| -rw-r--r-- | src/app.js | 9 | ||||
| -rw-r--r-- | src/i18n.js | 3 |
2 files changed, 9 insertions, 3 deletions
@@ -1079,7 +1079,12 @@ function reviewView() { : wallet.offline ? h('button', { class: 'btn-primary grow', onClick: signForExport }, t('signTx')) : h('button', { class: 'btn-primary grow', onClick: broadcast }, t('signBroadcast')) - ) + ), + // Online: also allow signing without broadcasting, to relay the signed tx + // from another device (air-gapped, or a different network). + !wallet.offline && !ui.busy + ? h('button', { class: 'btn-block', style: 'margin-top:8px', onClick: signForExport }, t('signExport')) + : null ); } @@ -1122,7 +1127,7 @@ function sendResultView() { return h( 'div', { class: 'card col' }, - h('div', { class: 'notice ok' }, t('txSignedNote')), + h('div', { class: 'warn-box' }, t('txSignedNote')), h('div', { class: 'small muted' }, t('transactionId')), h('div', { class: 'addr-box' }, r.txid), h('div', { class: 'small muted mt8' }, t('signedTxRaw')), diff --git a/src/i18n.js b/src/i18n.js index ba85819..9a02afe 100644 --- a/src/i18n.js +++ b/src/i18n.js @@ -103,10 +103,11 @@ const STR = { offlineSignNote: 'Offline: sign now, then broadcast the signed transaction from an online device.', signBroadcast: 'Sign & broadcast', signTx: 'Sign transaction', + signExport: 'Sign & export (broadcast elsewhere)', broadcastFailed: 'Broadcast failed: {msg}', signingFailed: 'Signing failed: {msg}', done: 'Done', - txSignedNote: '✓ Transaction signed. Broadcast the code below from any online device (e.g. mempool.space → Broadcast).', + txSignedNote: 'Signed, but not sent yet. To actually send it, broadcast the code below from any online device (e.g. mempool.space → Broadcast). It will not send on its own.', transactionId: 'Transaction ID', signedTxRaw: 'Signed transaction (code)', copyHex: 'Copy code', |
