BlueWallet/screen/wallets
PeterXMR d7261d4d2a FIX: ElectrumTransaction confirmation fields are optional until mined (#8093)
Electrum's `blockchain.transaction.get` verbose response does not include
`blockhash`, `confirmations`, `time`, or `blocktime` when the transaction
is still in the mempool. Both `ElectrumTransaction` in
`blue_modules/BlueElectrum.ts` and the sibling `Transaction` type in
`class/wallets/types.ts` declared all four as required, which silently
let unguarded access compile and crash at runtime on real mempool data.

- Mark the four confirmation-only fields optional on both types. They
  describe the same shape and have the same bug.
- Export `ElectrumTransaction` so a regression test can reference it.
- Collapse the two-line `tx.timestamp = tx.blocktime; if (!tx.blocktime)
  tx.timestamp = ...` pattern in `abstract-hd-electrum-wallet.ts` into a
  single `||` fallback — type-safe and runtime-equivalent.
- Add nullish-coalesce guards at the two call sites that compared
  `confirmations` directly to a number. In `useWidgetCommunication.ios.ts`,
  `t.confirmations ?? 0` keeps the filter semantically unchanged. In
  `PaymentCodesList.tsx`, normalize once via
  `notificationTx?.confirmations ?? 0` and use the local in both the
  `> 0` (already confirmed) and `=== 0` (mempool / unconfirmed alert)
  branches — otherwise a mempool notification tx would skip both branches
  and the code would create a duplicate notification transaction.
- Add `tests/unit/electrum-transaction-types.test.ts` documenting that a
  mempool-shaped object satisfies the type.
2026-05-28 09:43:46 +01:00
..
Add.tsx ADD: If lndhub server is set then button should be visible (#8572) 2026-05-21 22:21:41 +01:00
addMultisigHelp.tsx fix: appy simple-import-sort plugin 2024-05-21 11:56:10 +01:00
addMultisigStep2.tsx ref: prompt 2026-05-21 13:29:42 +01:00
DrawerList.tsx REF: bump react native 2026-03-16 21:13:23 +00:00
ExportMultisigCoordinationSetup.tsx REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00
generateWord.tsx REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00
ImportCustomDerivationPath.tsx Merge pull request #8564 from BlueWallet/components 2026-05-19 22:16:24 +01:00
ImportSpeed.tsx REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00
ImportWallet.tsx REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00
ImportWalletDiscovery.tsx REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00
ManageWallets.tsx tst: manage wallets 2026-05-27 19:23:55 +01:00
MultisigAdvanced.tsx FIX: greatly improve startup time 2026-04-21 19:18:25 +01:00
PaymentCodesList.tsx FIX: ElectrumTransaction confirmation fields are optional until mined (#8093) 2026-05-28 09:43:46 +01:00
PleaseBackup.tsx feat: detox ios tests 2025-12-16 10:20:42 +00:00
pleaseBackupLNDHub.tsx REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00
ProvideEntropy.tsx REF: bump react native 2026-03-16 21:13:23 +00:00
SelectWallet.tsx REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00
signVerify.tsx REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00
ViewEditMultisigCosigners.tsx REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00
ViewEditMultisigCosignerViewSheet.tsx REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00
ViewEditMultisigProvideMnemonicsSheet.tsx REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00
ViewEditMultisigShareCosignerSheet.tsx REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00
WalletAddresses.tsx REF: migrate SegmentedControl to New Architecture 2026-04-27 21:20:35 -05:00
WalletDetails.tsx ref: prompt 2026-05-21 13:29:42 +01:00
WalletExport.tsx REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00
WalletsAddMultisig.tsx FIX: greatly improve startup time 2026-04-21 19:18:25 +01:00
WalletsAddMultisigCosignerXpubSheet.tsx REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00
WalletsAddMultisigProvideMnemonicsSheet.tsx REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00
WalletsAddMultisigVaultKeySheet.tsx REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00
WalletsList.tsx fix: revert wake up 2026-05-20 14:54:11 +01:00
WalletTransactions.tsx REF: blue electrum 2026-05-27 20:40:07 +01:00
xpub.styles.ts ref: receive screen layout (#8518) 2026-05-03 08:42:51 +02:00
xpub.tsx REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00