Commit Graph

371 Commits

Author SHA1 Message Date
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
Ivan Vershigora
94062ffc9f fix: improve typescript coverage
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-14 11:28:25 +01:00
GLaDOS
770a7a4075
Merge pull request #8639 from BlueWallet/perf-hd-fetch-transactions
REF: single-pass tx-to-address mapping in HD fetchTransactions
2026-06-11 14:37:51 +01:00
Ivan Vershigora
236791f32e
REF: single-pass tx-to-address mapping in HD fetchTransactions
Mapping fetched transactions into per-address cells re-scanned every
transaction for every address index, and the upsert-by-txid step
re-scanned the target cell for every insert — both quadratic. Build
address -> index lookup maps once, do a single pass over fetched
transactions, and keep a per-cell txid -> position map for
constant-time upserts.

Measured on a wallet emulating one address with 63,017 real
transactions (genesis address), median of 3 runs on real chain data:
mapping went from 32.1s to 0.47s.

Also remove a duplicate @babel/preset-env entry from devDependencies:
it is pinned in dependencies (needed by the --omit=dev iOS release
build), so the second entry was ignored by npm.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 10:54:15 +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
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
Nuno
9e907566f0
feat: redesigned wallet details (#8301)
* feat: redesign transaction detail screen with unified layout and Lottie pending animation

* ADD: decode OP_RETURN payload as UTF-8 text in transaction detail

Co-authored-by: Cursor <cursoragent@cursor.com>

* REF: transaction detail redesign (themes, pending icon, loc)

Co-authored-by: Cursor <cursoragent@cursor.com>

* REF: remove deprecated TransactionDetails, TransactionStatus and getTransactionStatusOptions

Co-authored-by: Cursor <cursoragent@cursor.com>

* FIX: resolve lint errors (unused vars, styles, loc keys, no-bitwise, inline styles)

Co-authored-by: Cursor <cursoragent@cursor.com>

* FIX: remove redundant !tx check in transaction detail guard

Co-authored-by: Cursor <cursoragent@cursor.com>

* FIX: show transaction not available when tx not found after load

Co-authored-by: Cursor <cursoragent@cursor.com>

* FIX: remove unused transaction prop type from TransactionDetail

Co-authored-by: Cursor <cursoragent@cursor.com>

* TST: update UTXO note E2E to use new transaction detail note prompt UI

Co-authored-by: Cursor <cursoragent@cursor.com>

* simplify changes on the PR for review

* remove unused loc

* remove unchanged colors

* better offline support for tx details

* remove unused key loc

* fix code review issues

* fix balance

* fix tests

* REF: address PR #8289 review feedback

* redesigned wallets details

* fix lint

* fix lint

* fix bip84 test

* fix test

* fix tests

* fix tests

* fix: truncation and sendTo logic display

* fix: new arch fixes

* fix: lint

* fix: crash on status update

* fix: lint and tests

* fix: tests

* fix: tests

* fix: tests

* fix: tests

* fix: tests

* Potential fix for pull request finding 'Identical operands'

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* fix: tests

* fix: tests

* fix: tests

* fix: tests

* fix: tests

* fix style

* fix merge master

* Merge branch 'wallet-details' of https://github.com/BlueWallet/BlueWallet into wallet-details

* fix loc

* fix loc

* fix style

* improve coin control from wallet details

* fix: e2e

* fix: WalletDetails

* fix: flat

* fix: e2e

* fix: e2e

* Potential fix for pull request finding 'Unused variable, import, function or class'

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* fix: remove notifications dialogs

* fix: second button title

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Ivan Vershigora <ivan.vershigora@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
Co-authored-by: Overtorment <overtorment@gmail.com>
2026-05-21 09:12:49 +02:00
Ojok Emmanuel Nsubuga
1da0414474
ADD: Import private keys in hex or base64 formats 2026-05-19 13:18:31 +01:00
Nuno
167dc05cdf
ref: manage wallets list and search (#8527)
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: manage wallets list and search

* fix review

* improvements

* fix: svg and localization

* fix: swipe

* fix: dark mode

* fix: props type

* fix: remove dead code

* fix: drop TouchableWithoutFeedback

* fix: usePreventRemove

* ref: address search

* fix header animation

* fix: code style

---------

Co-authored-by: Ivan Vershigora <ivan.vershigora@gmail.com>
2026-05-10 17:59:12 +02: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
Overtorment
9dc35cecb9
REF: bump react native 2026-03-16 21:13:23 +00:00
Overtorment
9a08af4784 ADD: native ark-to-ark transfers 2026-02-10 09:51:43 +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
overtorment
80fcac6148 REF: move all utils to the same dir 2026-01-12 19:53:46 +00:00
overtorment
d5bd04c1ed ADD: pair with coldcard q via bbqr 2026-01-10 20:52:10 +00:00
overtorment
2a774b8289 REF: bump ark and minor improvements 2025-12-09 20:46:20 +00:00
overtorment
186ae0b865 REF: bump ark and minor improvements 2025-12-09 20:26:57 +00:00
overtorment
f0edc102f9 REF: speed up wallet htlc claims 2025-11-24 16:45:45 +00:00
overtorment
ee7d808267 REF: speed up ark wallet 2025-11-24 16:22:06 +00:00
overtorment
839a1a6595 fix: ark 2025-11-23 18:04:29 +00:00
Overtorment
8757ae0812
fix: ark 2025-11-22 13:47:58 +00:00
overtorment
476ec19b26 REF: bump bip32 and migrate buffers 2025-11-20 15:50:45 +00:00
overtorment
5c82b19706 FIX: hw wallets with taproot integration 2025-11-17 11:00:23 +00:00
Overtorment
a0416b10b8
ADD: lightning wallet powered by ark 2025-11-16 13:14:27 +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
Cursor Agent
158d1f24fb Refactor: Use Uint8Array instead of Buffer for fingerprints
Co-authored-by: overtorment <overtorment@gmail.com>
2025-10-30 19:24:05 +00:00
Ojok Emmanuel Nsubuga
9b23c0f3d1 REF: Replace buffer with Uint8Array 2025-10-30 19:24:05 +00:00
overtorment
c943aba11d refactor: speed-up getting utxo (improves send screen performance) 2025-10-20 12:56:37 +01:00
Ojok Emmanuel Nsubuga
9a8e12268f REF: replace Buffer with Uint8Array where possible
- remove double conversion Uint8Array(hexToUint8Array(..))
- replace TextDecoder with uint8ArrayToString
- remove redundant if block
- revert unnecessary conversion in class/wallets/multisig-hd-wallet.ts
- remove Buffer from ecc.isPoint
2025-10-06 06:53:24 +03:00
Ojok Emmanuel Nsubuga
67f440ba81
Merge branch 'master' into migrate-from-buffer-to-uint8array 2025-10-03 09:01:05 +03:00
overtorment
79f68bd88c FIX: taproot address unwrap from wif 2025-09-17 18:45:49 +01:00
overtorment
f87d7e7f58 REF: lightning wallet minor refactor 2025-08-05 15:30:02 +01:00
Ivan Vershigora
cb2153e206
ref: use Uint8Array instead of Buffer where possible 2025-08-02 17:31:08 +03:00
overtorment
a406d6ae12 refactor: rename all .receive to .timestamp 2025-07-13 19:05:57 +01:00
overtorment
13e1d368ba refactor: rename all .receive to .timestamp 2025-07-13 18:31:37 +01:00
overtorment
d17ae2b0a8 refactor: txs 2025-07-13 14:20:58 +01:00
Cursor Agent
9ef98bbe0a Fix getLatestTransactionTime to handle empty transaction list
Co-authored-by: overtorment <overtorment@gmail.com>
2025-07-13 12:36:50 +01:00
overtorment
891c9dd736 REF: lightning wallet minor refactor 2025-07-13 11:12:34 +01:00
Ivan Vershigora
40ad916477
Revert "fix: use uint8ArrayToHex where sha256 converted to hex string"
This reverts commit c56ed7de88.
2025-07-07 21:29:25 +01:00
Ivan Vershigora
c56ed7de88
fix: use uint8ArrayToHex where sha256 converted to hex string 2025-07-07 16:15:07 +01:00
Cursor Agent
fca24cf79d Replace create-hash with @noble/hashes/sha256
Co-authored-by: overtorment <overtorment@gmail.com>
2025-07-06 12:04:04 +00: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
068cefb967 FIX: taproot send 2025-05-25 16:54:35 +01:00
overtorment
1a62ae186d Merge branch 'master' of github.com:BlueWallet/BlueWallet into fix-taproot-send 2025-05-25 16:43:46 +01:00
Overtorment
63c3e29f4d
REF: bump bitcoinjs to v7 2025-05-25 16:35:33 +01:00