Commit Graph

290 Commits

Author SHA1 Message Date
Ivan Vershigora
31eca3cc2d REF: scrypt + AES-256-GCM (v2 envelope), legacy v1 read-only
Encrypt now emits a v2: envelope — scrypt (N=2^15, r=8, p=1) KDF plus
AES-256-GCM. Decrypt still reads legacy Salted__ (EVP_BytesToKey-MD5 +
AES-256-CBC) ciphertexts, and lazily rewrites them as v2 on the first
successful unlock. Public encrypt/decrypt are now async.
2026-06-22 11:20:56 +01:00
Ivan Vershigora
276a9ea8f8
REF: swap crypto-js for @noble/ciphers + hashes 2026-06-19 12:23:35 +01:00
Cursor Agent
64f1bd78db FIX: persist Arkade LNURL payment result
Co-authored-by: Overtorment <Overtorment@users.noreply.github.com>
2026-06-17 20:54:03 +01:00
Ramez Medhat
f5379795de ADD: support importing Unchained JSON as multisig cosigner
Some checks failed
Build Release and Upload to TestFlight (iOS) / build (push) Has been cancelled
BuildReleaseApk / buildReleaseApk (push) Has been cancelled
Build Release and Upload to TestFlight (iOS) / testflight-upload (push) Has been cancelled
BuildReleaseApk / browserstack (push) Has been cancelled
- Normalized `h` to `'` on all three derivation paths and accept either field name p2wsh_p2sh (Coldcard) or for p2sh_p2wsh (Unchained)
- Added a unit test for that.

Closes: https://github.com/BlueWallet/BlueWallet/issues/8251
2026-06-15 16:59:40 +01:00
Overtorment
0181f0a849
ADD: arkade ln pushes (#8634)
Some checks are pending
Build Release and Upload to TestFlight (iOS) / build (push) Waiting to run
Build Release and Upload to TestFlight (iOS) / testflight-upload (push) Blocked by required conditions
BuildReleaseApk / buildReleaseApk (push) Waiting to run
BuildReleaseApk / browserstack (push) Blocked by required conditions
2026-06-10 17:35:17 +01:00
pietro909
e37c4a693c
OPS: upgrade Arkade SDKs and harden Ark wallet integration (#8585)
Some checks are pending
Build Release and Upload to TestFlight (iOS) / build (push) Waiting to run
Build Release and Upload to TestFlight (iOS) / testflight-upload (push) Blocked by required conditions
BuildReleaseApk / buildReleaseApk (push) Waiting to run
BuildReleaseApk / browserstack (push) Blocked by required conditions
2026-06-01 15:22:17 +01:00
Overtorment
e19ce1136f REF: electrum 2026-05-28 13:04:49 +01:00
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
Ivan Vershigora
d367a2f383 FIX: setDisabled aborts in-flight ensureConnected; keep disabled state through abort; add tests 2026-05-27 20:40:07 +01:00
Overtorment
8e62aee2fc REF: blue electrum 2026-05-27 20:40:07 +01:00
Ivan Vershigora
c8344e6037
ref: prompt 2026-05-21 13:29:42 +01:00
GLaDOS
7a5589eb00
Merge pull request #8564 from BlueWallet/components
Some checks are pending
Build Release and Upload to TestFlight (iOS) / build (push) Waiting to run
Build Release and Upload to TestFlight (iOS) / testflight-upload (push) Blocked by required conditions
BuildReleaseApk / buildReleaseApk (push) Waiting to run
BuildReleaseApk / browserstack (push) Blocked by required conditions
REF: split BlueComponents, prune dead/optional props
2026-05-19 22:16:24 +01:00
Ivan Vershigora
1766cadcdf
REF: split BlueComponents, prune dead/optional props 2026-05-18 12:56:12 +01:00
Ivan Vershigora
44b5640ff3
ref: lazy-load translations 2026-05-17 22:02:20 +01:00
Nuno
e2bcae3818
ADD: Redesign txdetail (#8289)
Some checks failed
Build Release and Upload to TestFlight (iOS) / build (push) Has been cancelled
BuildReleaseApk / buildReleaseApk (push) Has been cancelled
Build Release and Upload to TestFlight (iOS) / testflight-upload (push) Has been cancelled
BuildReleaseApk / browserstack (push) Has been cancelled
2026-05-11 17:10:49 +01:00
Ivan Vershigora
35a39e2153
feat: new qrcodes 2026-04-29 15:10:49 +01:00
Overtorment
992e0c987b Merge remote-tracking branch 'origin/master' into ref-tooltip 2026-04-29 12:17:04 +01:00
Marcos Rodriguez
e098e89dc3 REF: migrate SegmentedControl to New Architecture 2026-04-27 21:20:35 -05:00
overtorment
f1a2d29a1b REF: tooltip 2026-04-27 18:29:41 +01:00
overtorment
66cf16fba3 FIX: greatly improve startup time
Some checks are pending
Build Release and Upload to TestFlight (iOS) / build (push) Waiting to run
Build Release and Upload to TestFlight (iOS) / testflight-upload (push) Blocked by required conditions
BuildReleaseApk / buildReleaseApk (push) Waiting to run
BuildReleaseApk / browserstack (push) Blocked by required conditions
2026-04-21 19:18:25 +01:00
Marcos Rodriguez Vélez
37916ab2e5
REF: Use new icons package 2026-03-02 14:54:47 +00:00
Ojok Emmanuel Nsubuga
2fe0b6a2ad FIX: Make BBQR work with multisig 2026-02-06 11:00:28 +00:00
overtorment
df5f1dd9c1 OPS: update tests after compromised test seed 2026-01-25 10:58:11 +00:00
overtorment
f4245109bb REF: cleanup and refactor of wallet descriptor detection 2026-01-16 13:24:33 +00:00
overtorment
e81e7cd21b Merge branch 'master' of github.com:nickfarrow/BlueWallet into nickfarrow-master 2026-01-16 12:35:19 +00:00
Ivan Vershigora
d7fcea8b4f ref: replace Buffer with Uint8Array in some internal structures 2026-01-15 13:20:42 +00:00
Nick Farrow
cc79e9809d
FIX: wrong address type for descriptors with custom paths 2026-01-15 06:34:57 +11:00
Ivan Vershigora
fa3eb56418
ref: improve stability of e2e tests 2026-01-14 09:07:42 +00:00
overtorment
80fcac6148 REF: move all utils to the same dir 2026-01-12 19:53:46 +00:00
overtorment
17a55ee7cb ADD: pair with coldcard q via bbqr 2026-01-10 20:52:10 +00:00
overtorment
d5bd04c1ed ADD: pair with coldcard q via bbqr 2026-01-10 20:52:10 +00:00
overtorment
accb1a15db FIX: import psbt files 2025-12-20 21:28:52 +00:00
overtorment
476ec19b26 REF: bump bip32 and migrate buffers 2025-11-20 15:50:45 +00:00
Anabelle Handdoek
71372b8689
FIX: transaction status screen not updating when transaction gets confirmed (closes #7984) 2025-11-17 14:30:52 +00:00
overtorment
5c82b19706 FIX: hw wallets with taproot integration 2025-11-17 11:00:23 +00:00
Overtorment
ed8a9285b4
ADD: taproot BIP-86 HD wallets (closes #3880) 2025-11-10 20:14:08 +00:00
overtorment
69179c7683 FIX: incorrect path when pairing with Coldcard (closes #8148) 2025-11-06 19:25:47 +00:00
Ojok Emmanuel Nsubuga
9b23c0f3d1 REF: Replace buffer with Uint8Array 2025-10-30 19:24:05 +00:00
Ojok Emmanuel Nsubuga
401f2c33c2 REF: Replace buffer with Uint8Array 2025-10-14 17:27:39 +03:00
overtorment
79f68bd88c FIX: taproot address unwrap from wif 2025-09-17 18:45:49 +01:00
Ivan Vershigora
fa2fcd49d1
ref: convert aztecoRedeem to TS e2e test 2025-08-09 15:44:41 +03:00
Ojok Emmanuel Nsubuga
684f9969d1 TST: cover 1 sat, 15 sats, and zero cases in formatBalance 2025-08-07 10:47:27 +01:00
Ojok Emmanuel Nsubuga
b6270394d7 FIX: isItMyAddress fails for uppercase Bech32 multisig addresses
This fix detects if the address is Bech32, then normalizes it to
lowercase before comparison

Fixes #7888
2025-06-16 14:42:26 +01:00
Overtorment
63c3e29f4d
REF: bump bitcoinjs to v7 2025-05-25 16:35:33 +01:00
overtorment
cddbce19c2 ADD: single-address Taproot wallets support (import from WIF) 2025-05-07 10:09:36 +01:00
Ivan Vershigora
cbe6923fde
fix: test fee diff < 3% 2025-04-06 18:12:26 +01:00
Ivan Vershigora
b1d7611b7b
fix: bump coinselect, more tests 2025-04-05 15:23:50 +01:00
overtorment
73e3bb8301 TST: fix ms unit test 2025-04-02 17:38:20 +01:00
Ivan Vershigora
02e7f5df1c feat: decimal coinselect 2025-03-31 16:49:39 +01:00
Marcos Rodriguez Velez
f8af06e2ae REF: ScanLNDInvoice to TSX 2025-03-05 21:43:02 -04:00