100 Commits
Author SHA1 Message Date
Blake KaufmanandGitHub 457b5915a2 migrate to derive on demand for expired gifts (#1039) 2026-08-01 15:43:07 -04:00
Blake KaufmanandGitHub 0b4c004de9 add OWASP baseline argon + remove legacy pinhash (#1038) 2026-08-01 14:34:11 -04:00
Blake KaufmanandGitHub ad30573d69 Code review findings (#1035)
* fix var naming

* fixing batch size

* fix cancelled cleanup

* making sure we dont navigate the user off error screen
2026-07-26 15:55:41 -04:00
Blake KaufmanandGitHub f0b68fafae improved login logs (#1034) 2026-07-26 12:05:11 -04:00
Blake KaufmanandGitHub c2a0fce581 Simplify payment confirmation screen (#1029)
* update translations

* simplifying payments display

* remove unconsistant icons

* adding translations

* fix usdb value display

* fix tokens bug
2026-07-25 11:34:25 -04:00
Blake KaufmanandGitHub 41c27c8068 Native deeplink fix (#1022)
* fixing ios app intents

* improving android intent handling using native code

* trim file
2026-07-23 08:56:30 -04:00
Blake KaufmanandGitHub db7c637cda make async storage single source of truth for deeplinks (#1015) 2026-07-21 10:53:25 -04:00
cb506c8c11 Multi static deposit addresses (#1012)
* Add accumulation address cap helper + pair key (Task 1)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Add forceNew + cap enforcement + addressesForOption to accumulation hook (Task 2)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Guard createAddress against re-entrant double-mint (Task 2 review fix)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Add i18n keys for multi accumulation addresses (Task 3)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Add accumulation address + option selector half-modals (Task 4)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Reuse getPairKey in option selector modal (Task 4 review fix)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Group accumulation home by option with per-option count (Task 5)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Manage multiple addresses + option switching in accumulation detail (Task 6)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Guard accumulation detail against externally-emptied option (Task 6 review fix)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Add create-new-address button + direct-address display to deposit QR view (Task 7)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Add address-selector list icon to deposit QR header (Task 8)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* Cap-gate create wizard + always mint additional address (Task 9)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* remove manual create button in favor of automatic

* fix select address page

* fix opacity

* improve details page

* fixing translations

* adding dislcimer to address details page

* adding reindex scan

* fixing background color

* fixing camel case var name

* minor correctness fixes

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-20 13:36:39 -04:00
Blake KaufmanandGitHub a5df591ac7 Audit repo (#1011)
* remove unused deps

* bump bitcoin address parser

* bump spark
2026-07-20 08:24:11 -04:00
Blake KaufmanandGitHub a29490dc67 Improve address display (#1010)
* adding social providers

* add translation

* improving invoice info container
2026-07-19 09:54:20 -04:00
Blake KaufmanandGitHub e45a6ff071 Hardon bridge (#1008)
* fix ln restore bug

* improve bridge efficency

* fixing "Request interrupted by app state change" message

* improving balance stability

* removing logs from back handler
2026-07-17 15:22:51 -04:00
Blake KaufmanandGitHub 112f6d0456 matching async storage to filestorage (#1005) 2026-07-11 09:17:11 -04:00
Blake KaufmanandGitHub 7a1ecaf0c6 Restore process (#1004)
* add balance fetch, fix flush bug

* adding success failed flag to restore to make sure we don't accept a failed restore

* add timeout so balance call doesnt hang
2026-07-11 09:17:01 -04:00
Blake KaufmanandGitHub e92297ab12 adding hash gate to make sure accounts match up (#1003) 2026-07-10 15:28:52 -04:00
Blake KaufmanandGitHub c1d030650e Add leaf sync (#999)
* add leaf sync to sync after payments

* add local leaf storage

* create leaf timeout function

* adding leaves function

* adding compatibility for blink recovery tool

* add UI to handle export

* adding function to get root nodes

* fix transaction overlap bug

* adding loading half modal since process can take some time

* cache full exit path to sql

* change wallet leaves to wallet backup, and update icon

* when force mode sync for all leaves not just pending ones

* fix modal double navigation bug

* add wallet backup to doomsday row
2026-07-09 14:19:56 -04:00
Blake KaufmanandGitHub eb01d69f86 update send modal style (#998) 2026-07-07 10:51:25 -04:00
Blake KaufmanandGitHub c6a0e23e94 Improve rate switch (#997)
* adding new translation

* adding minor loading screen to remove balance flash
2026-07-06 15:05:07 -04:00
Blake KaufmanandGitHub 8c1c2b5a16 Improve map providers (#996)
* add new providers

* adding id to clusters

* fix lint error
2026-07-06 10:47:40 -04:00
Blake KaufmanandGitHub 248de61c9d Fix balance rerender (#994)
* remove confirm toast message on send pages

* use balance refs to avoid logic reredners

* remove await on submit
2026-07-05 14:50:58 -04:00
Blake KaufmanandGitHub c7b764054e Improve balance handling (#992)
* removing old balance call

* switching from polling to event stream

* add debouce to savings claim events
2026-07-05 11:44:41 -04:00
Blake KaufmanandGitHub 32cc994a20 fix usd float bug (#989) 2026-07-02 14:08:46 -04:00
Blake KaufmanandGitHub e1ab822b7d Fix balance issue (#981)
* get fresh balance on load

* improve balance version matchup + unbounded debounce

* bump to 50

* using sdk balance event

* bumping sdk

* fixing minor bugs

* remove uneeded log

* fixing border radius

* lower to 50 txs
2026-06-30 07:22:29 -04:00
Blake KaufmanandGitHub 1b0699eeea Btc map update (#979)
* add name as a value to the maps db

* create distance helpers

* map icon names to printed names

* resync maps data to pull names

* update maps UI, add list and filter

* updated translations

* use native modules for map clustering
2026-06-29 09:52:07 -04:00
Blake KaufmanandGitHub 260fe827fb Mobile money (#978)
* adding mobile money flow

* add burundi
2026-06-29 09:31:41 -04:00
Blake KaufmanandGitHub 48c4eaad5d adding confirm page for contact payments (#966)
* adding confirm page for contact payments

* improve confirm style
2026-06-25 18:12:59 -04:00
Blake KaufmanandGitHub c3a64bc546 adding fall back btc amount in case poller fails (#965) 2026-06-24 19:26:16 -04:00
Blake KaufmanandGitHub 1010ecedfc Lud 18 (#964)
* bump address parsing library

* add moneybadger refund address
2026-06-24 19:02:47 -04:00
2d4956fe68 buliding new auth setup to remove race condition during login (#961)
* buliding new auth setup to remove race condition during login

* revert complex fix. Just add local is loaded property

* Apply suggestion from @bitcoinuser

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

---------

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>
2026-06-24 18:21:37 -04:00
Blake KaufmanandGitHub e5a9c3096f tack active click contact, block all futther clicks (#957) 2026-06-22 16:57:07 -04:00
Blake KaufmanandGitHub 40bec4a276 handle lnurl auth manually (#950) 2026-06-21 08:47:04 -04:00
Blake KaufmanandGitHub 05d919fafd show failed on view all page (#948) 2026-06-19 20:46:15 -04:00
Blake KaufmanandGitHub 9ad0126fe7 Improve pay by number (#947)
* bump bitcoin address parser

* fix currency name

* use currency info

* improve splash hardening

* fix currency conversion
2026-06-19 20:15:27 -04:00
Blake KaufmanandGitHub 32ef5fe187 add conversion amount to confirm page and show entered amount on confirm overlay (#945) 2026-06-18 14:36:16 -04:00
Blake KaufmanandGitHub 1575312f8f Currency conversion (#927)
* create currency select page

* use new currency converter on pools page

* use on contribute to pools

* use new currency converter in create invoice path

* use currency converter in analytics page

* use currency icon not flag in settings page

* use currency converter in gift page

* update add money to savings

* adding right content for currency toggle

* slightly increase size of input

* create currency switch button

* new helper function for currency display

* update contacts input pages

* adding tests

* adding currency select page to half modal

* adding send and requset pages

* update translations

* make receive page match input amount

* carry payment denomination to confirm screen

* update CustomInputHalfModal to new currency toggle

* fixing currency + display bug

* fix backnav and input
2026-06-16 09:32:36 -04:00
Blake KaufmanandGitHub e5de3023a9 Improve half modal contacts flow (#899)
* update contact halfmodal

* fix translations

* preventing overflow on small devices

* small UX fixes

* fixing height imbalance
2026-06-09 08:13:59 -04:00
Blake KaufmanandGitHub e79a28d0e7 Standardize half modal back (#894)
* standardized chain row sizing

* add back to online listings

* add back to gift quantity page

* add back button to view tokens page

* update pool half modal to back button

* Added back button to swap flow

* adding back button to savings pages
2026-06-06 09:34:50 -04:00
Blake KaufmanandGitHub 4fbc6b003f Improve rootstock (#892)
* removeing uneeded reverse swap function

* removing reverse swap swap creation function

* updating rsk defult limits

* bump boltz core

* improving swap reliability

* using modal to decide swap path insted of static page

* updating network transfers settings page + rootstock UI

* remove uneeded roostock sdk navigation

* add roostock info to transactions db

* remove uneeded details when confirmed

* adding abandoned as condition

* removing swap deletion so we can populate roostock swaps page with swaps history

* finalizing hardoned roostock swap integration

* update translations

* hardoned refund process
2026-06-05 12:18:02 -04:00
Blake KaufmanandGitHub 52dd4e44ec Improve liquid (#890)
* remove unused imports

* remove legacy liquid navigation listener

* add extra details prop to spark receive payment wrapper

* improve robusness of liquid swaps

* bump breez sdk + change swap message

* making sure to only mark failed if payment truly failed

* improve fee
2026-06-04 14:32:39 -04:00
Blake KaufmanandGitHub 924e04822b load bitcoin balance from wallet viewer (#888)
* load bitcoin balance from wallet viewer

* simplify withdrawl

* remove log
2026-06-03 14:49:33 -04:00
f392c12677 Create deposit page (#878)
* Add i18n translation keys for deposit page

- Add 16 new keys to wallet.halfModal for deposit UI (depositFunds, onChainBitcoin, stablecoins, etc.)
- Add 'deposit' key to wallet.homeLightning.home
- Add sparkReceivePage section to screens.inAccount
- Apply changes to all 8 locale files: en, es, fr, de-DE, it, pt-BR, ru, sv
- Non-English locales use English placeholders (to be translated by translators)
- Brand names (Bitcoin, Lightning, Spark, Cash App, Liquid, USDC, USDT) preserved in English across all locales

* Add forcedDestination prop to CreateAccumulationAddressModal

When forcedDestination is provided, pre-sets the destination and skips
the destination selection step (chain → confirm directly). Back navigation
from confirm also returns to chain instead of destination.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add SparkReceivePage for displaying Spark address with QR code

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Register SparkReceivePage in navigation

Add import of SparkReceivePage from app/screens/inAccount and register it in SLIDE_FROM_RIGHT_SCREENS array.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add HalfModalDepositFunds component with 5 deposit method tiles

Implements the deposit funds half modal with on-chain Bitcoin, stablecoins,
Cash App (US-only), Spark address, and other Bitcoin tiles, plus animated
subviews for Cash App invoice generation and stablecoin accumulation address flow.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Fix 5 bugs in halfModalDepositFunds: animation, pointerEvents, toast, back handler, i18n

- Fix 1: Replace single shared-value animation pair with per-subview shared values so
  exit animations play — both subview containers are always mounted, animated in/out
- Fix 2: Add pointerEvents to options Animated.View so hidden tiles can't be tapped
- Fix 3: Show invoiceRetrivalError toast when Cash App invoice generation fails or throws
- Fix 4: Add useHandleBackPressNew so Android back navigates subview→options, not exit
- Fix 5: Wrap hardcoded "View details" in t() with wallet.halfModal.viewDetails key
  added to all 8 locale files

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add depositFunds and receiveMethodOptions cases to halfModal renderContent switch

* Add 'Other receiving methods' button to receive page

Adds a new button at the bottom of the receive page that opens CustomHalfModal
with receiveMethodOptions content. Uses existing navigation, translation key,
and imported components.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Add deposit button, receive method options modal, and fix post-review issues

- Replace Camera button with Deposit (Plus icon) on home screen, navigating
  to depositFunds half modal
- Add halfModalReceiveMethodOptions component with Lightning/On-Chain/
  Stablecoins/Spark/Other Bitcoin tiles
- Fix forcedDestination in handleBackPress useCallback deps
- Fix i18n key path from screens.sparkReceivePage to screens.inAccount.sparkReceivePage
- Add all wallet.halfModal and screens.inAccount.sparkReceivePage keys across
  all 8 locale files (en, es, fr, de-DE, it, pt-BR, ru, sv)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* add qr button to navbar

* update settings accumulation path

* creating others option

* remove old options pages

* make sure to never double create accumulation addresses

* adding bank icon

* finalizing new deposit path

* adding translations

* update translations

* show paylink insted of ln path

* update halfmodalsend options + depotis address options on homescreen

* fix translation

* ading back skip for ln path

* updated qr code style

* updated deposit path to show qr in modal not to receive page

* update slider height

* update create invoice, pools, and add contact overlay paths

* update qr wrapper styles

* add min amoutn warning

* add description back to edit payment information

* use 1 dollar as floor for usd invoices

* add paylink half modal

* update receive btc page

* updating translations

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 15:43:00 -04:00
Blake KaufmanandGitHub fe81a9d550 Add bsc (#884)
* adding bnb chain icon

* adding bnb usdt and usdc
2026-05-31 10:55:10 -04:00
Blake KaufmanandGitHub d93b29d6c8 Auto buy (#882)
* building send and replace settings context

* adding translations

* fixing double parse

* adding spend and replace flags to send txs

* adding listener to handle sar payments

* add tx descripion handler for sar payments in restore

* making sure sar key is fetched during app load

* split toast manager and toast continer

* adding tests

* adding custom sar payment title to toast message

* removing spark sdk navigation

* adding sarPayment mark to transaction table

* pass poolInfoRef from context to remove fetch if value is already set

* remove spark naviagtion listener

* fix btc -> usd swaps not calling sar

* finalize spend and replace

* fix timeout mismatch

* adding usablePaymentMethod to narrow eligiblility

* block requsets if account switches

* remove duplicate storage and keep all referances to keyscontext

* steralize writes to fix overlap issue
2026-05-30 14:38:06 -04:00
Blake KaufmanandGitHub 7bdabc22c7 Move analytics (#873)
* add preview translations

* move anlytics to preview page
2026-05-25 11:00:18 -04:00
Blake KaufmanandGitHub 3bec681f8b bump rn screens (#871) 2026-05-23 19:51:47 -04:00
Blake KaufmanandGitHub fcddda1008 Update README.md (#868) 2026-05-22 10:15:50 -04:00
Blake KaufmanandGitHub 358e4049c7 Migrate to receiver selected currency (#860)
* adding contact loading error message translation

* changing title from lnurl to receive currency

* matching style to main payment selector

* fix bottom padding

* respect prefetched data

* respeect previous enterPaymentInfo

* add users endReceiveType

* add users endReceiveType

* make sure we only say we cannot edit when we come from accept and have an amount

* added contact prefech to handle endreceivetype

* fixed final payment info

* use max amount not min amount

* add retry to firebase fetch

* fix currency mismatch
2026-05-21 09:07:59 -04:00
Blake KaufmanandGitHub 8676db8e16 Remove txs from memory (#849)
* memorizing context values

* reduce stored txs in memory

* improve db lookup

* dismiss keyboard before going back
2026-05-18 11:16:12 -04:00
Blake KaufmanandGitHub 24b07d26d2 Add branta (#845)
* adding translations

* adding branta

* implemtn branta with pollyfill

* improve pollyfill

* change function name
2026-05-17 13:30:09 -04:00
Blake KaufmanandGitHub 881dc3c41b Finish bitrefill (#832)
* adding translations

* add email to local storage

* add bitrefillid to techical details

* add component body text to translations

* add payments to bitrefill modal

* fixing error messages + fixing usd swap

* fixed android bitrefill webview loading bug

* remove legacy gift option

* fix keyboard issue

* add android back handling

* remove auto focus + use react-native-keyboard-controller dismiss
2026-05-15 13:58:00 -04:00
Blake KaufmanandGitHub 70b14f07fd Migrate ln to orchestra (#831)
* adding new translations

* migrate USD > BTC LN to orchestra

* adding orchestra tests

* updating call locations

* add exponential backoff + resubmit swap quote if first time failed

* show failed Tx and add support button

* minor fixes

* bump timeout to 1 min

* making sure usd quote doesn't block btc
2026-05-14 19:56:44 -04:00
Blake KaufmanandGitHub d4083680a9 bump visoin camera version (#822)
* bump visoin camera version

* fix eslint

* minor stability fixes
2026-05-10 10:49:42 -04:00
Blake KaufmanandGitHub 3d7f35faf6 Btcmap store (#821)
* updating online listings ui

* update sms styles

* update chatGPT add credits

* fix chatGPT button style

* adding location permissions

* installing maps + location packages

* creating btc map merchange page

* created btcMap to lucid react icon mapping

* add btc map integration

* adding translations

* adding modal but WIP

* fix on error android back button
2026-05-09 18:31:42 -04:00
Blake KaufmanandGitHub 9045eb372e Lnurl recieve currency (#812)
* adding return key type to CustomSearchInput

* fix android crash

* adding receive currency type selector

* addding lnurlReceiveCurrency to masterinfoobject

* creating name and bio regex

* remove hardcoded strings

* fix receiveAddress not updating

* adding auto-focus to savings goal

* if using usd use zero amount invoice not lnurl since lnurl will go to usd not btc balance

* fix theme

* adding translations

* adding new edit flow

* fixing translation + dup keyboard
2026-05-05 14:26:13 -04:00
Blake KaufmanandGitHub a7dce803d3 Send payment screen refactor (#792)
* chore: ignore .worktrees/ directory

* fix amount validation errors

* fix rounding issue when fixing to 2 decimals

* fix amount validation for swaps + move buffer to standarized function in payments

* adding ln swap limit which is different than other swap limits

* using lightning max

* remove adding fee to on-chain payment

* fix onchain and ln min swap

* fix amount calculations

* fix paste error bug

* adding lnurl fee calc

* fix budget warning

* fix input amount bug

* removing double fee + invoice generation calls

* early return swaps so they dont get caught by phase 5

* making sure we account for amount out value differnce when perfoming a swap

* fix decimal rounding bug

* fixed gift denomination issue
2026-04-22 12:13:48 -04:00
Blake KaufmanandGitHub 6760060083 Simplify confirm split payment (#778)
* fix small style issues

* fix touch gap

* fixing podfile

* creating standardized amountIn function

* show tx ids not amounts

* use standardized amount in

* use standardized amount in

* fixed no payment information crash

* downgrade rn and react-native-quick-crypto

* only show margin if two elements exist

* adding backup amount

* wait till hompage to call analytics data

* fix restore bug

* updating firebase

* fix check logic

* wrap to handle thrown execptions

* use utils package directly

* adding error handling

* group notification payments insted of handling them sequentually

* handle payment requset on confirm page

* improving split payment ux

* adding translations

* adding firebase sdk warning
2026-04-19 11:43:00 -04:00
2c4f41b556 Analytics (#777)
* docs: add portfolio chart design doc for analytics page

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs: add portfolio chart implementation plan

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: add buildDailyBalances helper for portfolio chart

Implements pure function to reconstruct daily closing balances for the
current calendar month from transaction data. Used by analytics dashboard
to display balance history per day.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: guard buildDailyBalances against cross-month transactions

* feat: add PortfolioChart SVG component

* fix: use unique gradient id in PortfolioChart to prevent collision

* feat: add portfolio value chart to analytics page

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: budget card was showing spentTotal instead of leftToSpend

* docs: add balance pie chart design doc

* docs: add analytics charts redesign doc

* adding chart library

* making sure privacy sets for each wallet

* fixing pos server name bug

* switch toggle theme to analytics page

* fixing text align for close pool

* adding monthly buget to masterInfoObject

* creating AnalyticsProvider

* adding buget constants

* use new chart library

* building analytics homepage

* creating sent and received analytics pages

* creating budget pages

* adding analytics to navigation pages

* add budget helpers

* creating buget warning component

* adding budget warning to send pages

* fixed spelling bug

* fixing color inconsistancy

* fix dup key bug

* making sure to warn if current payment puts user over or near budget limit

* adding translations

* fix preset amount format

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 16:01:10 -04:00
Blake KaufmanandGitHub 946d40668e Bulk gifts (#771)
* creating bulk gifts storage

* adding bulk delete function for failure cases

* fix ios build error

* creating new gifts path to accomidate bulk gifts

* fix gift claim url issue

* adding translations

* fixing techical details page styling

* fixng translations

* improving bulk gifts with swaps payment effiency

* adding missing translations

* remove double blur

* bump spark version

* bump spark

* fix tx label
2026-04-15 08:50:50 -04:00
Blake KaufmanandGitHub e8bebc2316 633 group bulk payouts (#760)
* creating add friends page

* created bulk contact retrival

* created profile image row reusable componenet

* created atmoic bulk updates function

* add publishBulkMessages using atomic bulk updates

* fixing border radius

* turning wordQrToggle into a global componenet

* adding profile row to invoice info

* adding + icon to send and request page to go to bill split

* adding split bill pages

* adding bulk payment requsets title to page

* adding fufillSparkInvoices to webcontext

* Add currency pass through variable

* add counter to number of splits

* fixing padding issue from container

* adding input currency for bulk payments

* add helpfull label to no selection state

* building create split bill screen

* fixing z index

* adding bulk payment ids to restore so we dont show duplicate payments

* adding bulk payments UI to receipts page

* optimizing getBulkPaymentGroupTransferIds

* adding batchTransferTokens to webveiw

* creating new spark functions to handle bulk payments

* use dedicated split bill payment screen

* creating confirm screen and payment function

* adding translations

* fix confirm tx page

* standarizing title

* fixing style and titles

* fix create style and UX

* fix button label

* remove transferid
2026-04-12 14:17:32 -04:00
Blake KaufmanandGitHub b6ede844d8 reduce app load from timout from 3s -> 1.5s (#762) 2026-04-09 11:37:55 -04:00
Blake KaufmanandGitHub 08c4b48aac aligning translation files (#745) 2026-04-04 12:54:02 -04:00
241222b795 Accumulation addresses (#736)
* fixed unallowed names output

* adding solana and tempo image

* adding accumulation address to masterInfoObject

* creating cards list

* creating hook to manage accumulation addresses

* creating homepage for accumulation addresses

* fix asset label

* creating detials page

* creating info card

* creating half modal creation path

* adding accumulation options

* creating preview card

* misc changes

* adding translations

* updating confirm action page styles

* add android back handler support + use native confirm action page

* updating delete message

* fix overlay style on dark mode

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

---------

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>
2026-04-03 09:27:05 -04:00
Blake KaufmanandGitHub a5ae3806b0 Handle evm amounts (#721)
* update presendPageParsing to handle address with amounts

* adding method to correctly navigate to send usdc or usdt path based on address params

* adding unsupportive token message at top of page stablecoin params page

* handling prefilled amount

* adding supported tokens translation

* fix margin
2026-03-30 10:55:11 -04:00
ead5119542 New swaps (#704)
* adding basic template for swaps

* adding chain icons

* update tx details page to handle chain swaps

* add stablecoin amount format function

* updating UX + fixing styles

* creating select stablecoin currency page

* adding confirm page for stablecoin swaps

* finalizing sendpage for stablecoin swaps

* process stablecoin status

* adding translations

* fix solana and tron mismatch

* fixed paymentId missing from tx details for flashnet swaps

* fix eslint error

* making sure button text doesn't ruin layout

* fix quote reset while sending

* adding opacity to transition

* fixing estimated out format

* updating activesupport

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

---------

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>
2026-03-29 10:10:50 -04:00
Blake KaufmanandGitHub 12c5b01907 Paylinks (#694)
* adding deeplinks to android

* adding deeplink handling for paylinks

* fixing deeplink regex and navigating strait to sendPaymentScreen

* create function to get paylink doc

* add paylink handler to decode send address to handle deeplinks

* fixing user balance not being visible on send page

* using reset to override any half modals currently active

* adding confirmation handling for paylinks to send page

* fixing linecount  from button bug

* moving to shared hook

* creating paylink creation path

* adding translations

* add receiverIdentityPubkey to receiveSparkLightningPayment and build createSatsInvoice

* increase height for better touch action

* fix spelling issue

* add new half modal path for paylinks

* adding translations
2026-03-25 14:00:56 -04:00
Blake KaufmanandGitHub 4e65c9b5bf standardizing no content screen (#675)
* standardizing no content screen

* fixing preview text overlay style
2026-03-13 12:00:59 -04:00
Blake KaufmanandGitHub 46ee258960 Add background to home txs (#657)
* increase button width

* reworking hompage

* removing button opacity

* update zapstore

* fixed txs not loading on restart

* always run balance check

* fixing blance cache and withdrawl direction

* adding load more button to transactions

* fixing missing translation

* preload user balance for better UX

* adding full page no tx message

* fixing continue action without any balance

* adding text to buttons

* fixing text resize bug

* improving no contacts message in half modal
2026-03-09 05:49:36 -04:00
Blake KaufmanandGitHub 3ebd845b73 Standardize settings pages (#645)
* standardizing background color and improving styles for settings pages

* migrating nostr pages to new style

* standardizing background

* adding translations

* fixing background colors

* matching width with rest of settings

* standarizing button sizing
2026-03-04 12:34:24 -05:00
Blake KaufmanandGitHub 521f2f7fec 543 on all transactions page could have an option to filter transactions by type (#634)
* creating tx filtering function

* creating filter options on view all tx page

* adding new payment details for better sorting

* adding translations

* fixed initial load loading bug
2026-03-01 16:02:34 -05:00
Blake KaufmanandGitHub 42042443a5 557 support hodl invoices (#620)
* build htlc functions

* adding color override to dropdown icons

* adding invoice generation for hodl invoices

* building logic to check if any hodl invoice was paid

* fixing confirm toast message

* adding claim htlc to expanded details page

* adding translations

* fixing eslint

* updating spark web package
2026-02-27 16:35:09 -05:00
Blake KaufmanandGitHub d237f04fe5 Savings (#579)
* enlarging stroke width

* creating local Sql for savings accounts

* creating utils for savings feature

* fixing collisoin risk for pools and savings account

* creating standardized savings transaction container

* building explainer page

* creating add money page

* creating withdrawl page

* creating savings homepage

* creating savings preview card

* creating context to manage savings features

* standardizing action buttons between hompage and goal pages

* creating goals detail page

* creating standardized activity container

* creating emoji picker for new goal

* creating pool description page

* creating goal amount page

* creating success screen for goal creation

* creating update goal page

* creating coal remove confirmation screen

* creating goal removed success screen

* misc changes

* adding translations

* fixing missing var

* fixed spelling issue

* using spark wallet viewer for more reliable balance and txs

* adding savingspayout table to delete

* fixing formatting for intrest paid out in BTC

* combining intrest and nomral txs into single array

* adding tx history restore + payouts table

* adding earned pill

* fixing re-rendering of activities list

* adding ability to withdrawl intrest payments

* fix open delay

* removing tokens dropdown for halfmodal and card

* aujust fontsize if too large to prevent overflow

* creating clickable wrapper for settings cards

* fixing tokens preview card

* removing uneeded padding from social options

* moving gifts to settings from tabs bar

* adding overflow cap to dropdown text length

* updating settings pages

* adding translations

* reducing token image size to decrease banner height

* fix theme bug

* fixing button widths

* fix savings navigation issues + 0 balance issue

* starndarizing pool preview to match other previews
2026-02-24 12:24:32 -05:00
Blake KaufmanandGitHub 080bbe0efe improving error message (#589) 2026-02-21 18:07:01 -05:00
Blake KaufmanandGitHub 1871ac016f remove choose language page for auto selection (#583) 2026-02-21 15:07:48 -05:00
02f559b847 Pr 542 (#545)
* 26-02-16_major Update_DE_de

* fixing file issues

---------

Co-authored-by: BSN ∞/21M <83470431+bsn21m@users.noreply.github.com>
2026-02-16 09:46:27 -05:00
Blake KaufmanandGitHub 81d4a5fddf 359 we should have a way to show and easily switch between accounts on wallet page (#515)
* fixing seed phrase page style

* uncommenting rn

* adding nextAccountDerivationIndex to masterInfoObject

* adding derive index constants

* adding emoji assets

* creating standardized account card

* creating account profile image to handle main account, NWC, and custom accounts

* simplifying accounts page

* fixing transfer page to work with new system

* handling both derive and imported accounts

* creating edit account name page

* creating edit account homepage

* creating select account type page

* creating account image selection screen

* creating accouts derive functions

* creating handle emoji functions

* adding uuids to main wallet and nwc

* using accounts profile image to handle account switcing

* using accont profile image to handle account switching

* fixing no profile cache bug

* adding screens

* adding new accounts functions for derived and imported account handling

* creating new page between settings and homescreen

* adding translations

* capitalizing account type

* fixing android styles

* fixing text align issue

* fixing translation

* fix theme issue

* creating seed phrase warning page

* fix dark mode style

* adding seed phrase warning page

* removing old slider overlay from seed page

* making back button work

* fixing trash icon

* popping back to main screen after removing account

* adding recover account page

* adding pin ability to account page

* adding error toast message

* creating settings profile card

* creating accounts preview card

* creating pos bannar

* creating pools preview

* creating settings row and section cards for settings

* creating hook to standardize account switching logic

* building new settings page

* fixing account cards component between settings and accounts page

* standardizing accounts list and active account

* adding pinnedAccounts to local storage

* removing ManageAccountsPoolsScreen from use

* deleting ManageAccountsPoolsScreen

* fixing no pinned account bug

* fix translation

* improve accounts touch ux

* adding translations

* fixed settings not updating after soft reset

* remove uneeded amount of emojis

* fixed showing account 3 that doesnt exist

* fixed string for previously created accounts on blitz

* small theme fixes

* updating reset page style

* updating translations

* remove techical wording

* fixing pool contributors page
2026-02-12 15:59:00 -05:00
Blake KaufmanandGitHub 53b3b389e2 497 pool payments (#514)
* creating pool context + deeplinks

* adding pool constants and avatar themes

* creating circular progres bar

* creating contributor avatar

* creating contributions grid

* increasing minimum input height

* creating pools storage and deleting pools on reset

* create pools wallet function

* create pools db functions

* fixed token name cuttoff bug

* adding pool as a  half modal receive option

* create pool screens

* adding translations

* fixing contribution and closing pool tx labels

* only refresh active pools
2026-02-10 09:38:37 -05:00
Blake KaufmanandGitHub f3a0cd23fc updating send half modal (#465)
* updating send half modal

* add receive options half modal

* adding request options + standardizing styles

* fixing minor style bugs

* updating expanded contacts path to match with half modal

* updating displaimer page styles

* updating receive half modal

* updating translations

* add node

* workflow fix 1

* workflow fix 2
2026-01-28 16:53:03 -05:00
Blake KaufmanandGitHub 0fcb8f7d34 Add merchant logo handle print (#459)
* adding dependencies

* updated sharing

* adding logo to store settings page

* adding pdf export to instructions page

* adding trasnlations

* fixing eslint
2026-01-27 15:31:40 -05:00
Blake KaufmanandGitHub b6fcb2f024 429 flow to send payments to a contact when we have bitcoin and dollars balances (#455)
* adding currency to send and currency to request

* standardizing input denomination and usePaymentValidation

* making ChoosePaymentMethod work with contact requests

* rewroking gifts path

* adding dollar format to notifications

* fixing placeholder text align bug

* updating conversion functions

* fixing edit gift bug

* only allow sending to btc from lnurl contacts

* adding fiat value to contacts transactions

* adding contact details to token transactions

* updating send and requset page to handle usd, bitcoin, and gift payments

* fix eslint

* handling contacts payment logic

* fixing paying bitcoin gifts with dollars from contacts

* adding translations

* fixing requests using payment validation

* fixing amount display when confirming payment

* default payment option to selected send option

* fixing display value
2026-01-25 13:52:52 -05:00
Blake KaufmanandGitHub 9d1859093a only use backhandler for custom actions, otherwise leave to device (#452)
* only use backhandler for custom actions, otherwise leave to device

* fixing gift cards navigate

* removing uneeed keyboard check. On android the keyboard is closed before back handler gets to navigation

* making sure we block androids native back handler

* fixing missing back function

* revert to legacy function for now
2026-01-22 10:39:23 -05:00
Blake KaufmanandGitHub 9c96b8a700 335 we need to show description on receive window (#451)
* standardizing description input placeholder

* creating page to enter payment description

* adding description to receive page
2026-01-21 11:03:35 -05:00
Blake KaufmanandGitHub 1edb775bed creating swap history (#449) 2026-01-20 13:44:01 -05:00
Blake KaufmanandGitHub 87cc1ea9ef Add dollar gifts (#438)
* fixing opacity bug

* adding ability to force USD as fiat amount on custom input halfmodal

* update list to handle fiat gifts

* adding usd to confirm screen

* fixing processing for usd gifts

* adding usd to create and claim gift pages

* fixing andvanced claim balance denomination issue

* add in buffer amount to swaps + checks on output amounts

* finalizing dollar gifts
2026-01-15 08:11:01 -05:00
Blake KaufmanandGitHub 22d5e3fc4d 323 improve icons (#435)
* creating icon component and switching icons

* updating tabs bar

* updating send icons

* updating icons

* migrating from png icons to svg icons

* migrating from custom SVG icons to new icons

* fixing keyboard arrow

* fix icon color

* improving tabs style

* removing unused icons

* fixing init error

* fixing icon style

* remove uneeded icons

* fixing icon color
2026-01-12 15:05:06 -05:00
78a52977ca 25-01-09_Update translation.json (#428)
* 25-01-09_Update translation.json

25-01-09_Update translation.json
Update into the German language.

* fixing naming

---------

Co-authored-by: BSN ∞/21M <83470431+bsn21m@users.noreply.github.com>
2026-01-10 10:32:33 -05:00
f93949bd86 Update translation.json (#426)
Fix Russian translation issues

Co-authored-by: SergeyShirin <57345478+SergeyShirin@users.noreply.github.com>
2026-01-10 10:24:47 -05:00
Blake KaufmanandGitHub a2896a4436 adding min request amount warning (#413) 2026-01-09 10:47:17 -05:00
Blake KaufmanandGitHub 93311a5665 adding race condition protection to handle update + interval checker to see if tx list and db state are unaligned (#411) 2026-01-09 10:44:43 -05:00
Blake KaufmanandGitHub a4aa5f5ee8 adding disclaimer to receive page for usd (#409)
* adding dislclaimer to receive page for usd

* show conversion rate for received payments
2026-01-09 09:21:49 -05:00
Blake KaufmanandGitHub e4a71657bc adding initialReceiveType param to preselect receive type based on homepage balance (#407) 2026-01-09 08:26:49 -05:00
Blake KaufmanandGitHub 60a5922c3f adding customizable slippage (#401) 2026-01-08 17:08:55 -05:00
Blake KaufmanandGitHub 5e7cb86159 adding pending flag to tx while balance poller is going to remove confusion about the balance (#400) 2026-01-08 16:21:06 -05:00
Blake KaufmanandGitHub a9aa98381d hiding balance on swap page if balance is hidden (#399) 2026-01-08 11:51:11 -05:00
Blake KaufmanandGitHub bf1c9e1656 improving scroll box (#398) 2026-01-08 10:02:34 -05:00
Blake KaufmanandGitHub 4f9e05d7cc fixing forced pin after having no security enabled (#392) 2026-01-07 13:20:28 -05:00
Blake KaufmanandGitHub dd4f5c254e removing LNURL in favor of lightning address (#391) 2026-01-07 12:46:53 -05:00
Blake KaufmanandGitHub 0e37d33617 361 string missing on translation file (#389)
* adding missing translations

* adding translations
2026-01-07 12:40:24 -05:00
Blake KaufmanandGitHub 25e3e66afa making rate more user friendly (#388) 2026-01-07 12:22:35 -05:00
Blake KaufmanandGitHub 7d364e135b fixing duplicate pending txs (#379)
* fixing duplicate pending txs

* adding id guard to hompage. If duplicates are added, at least don't show them
2026-01-07 09:56:30 -05:00
Blake KaufmanandGitHub 404719c696 base payment time off sending not receiving (#378) 2026-01-07 08:56:42 -05:00
806c0915d1 322 flashnet swap support (#375)
* add starter for swaps

* creating swap page

* building better swap functions

* creating select send type page

* bumping flashnet version

* fixing polling manager to inclue both increases and decreses to balance

* updating swaps page to use custom keyboard entry + enter in from or to amount

* adding basic support for chosing payment amount

* remoing log messges

* creating user balance context to easily use total, sat, and usd balance

* remove uneeded imports

* fixing navbar balance to match selected balance

* filter txs based on chosen balance

* fixed select page header text size

* created flashnet txid tracker to keep homepage clean

* adding swap function to payments wrapper

* using total balance in navbar balance

* fixing navbar balance

* load saved swaps on wallet init

* finishing swap page

* adding translations

* adding temp txs to swaps so the txs always show

* adding error messages to flashnet

* adding ability to pause animation

* adding start at begining animation

* standardize tokens display format

* fixed missing return

* create function to decode spark invoices

* creating flashnet provider to hold flashnet pool info

* use global pool info to speed up loading speed

* fixing icon style inconsistancy

* using flashnet rate more more accurate USD value

* adding bitcoin and dollar icons

* creating toast message for incoming ln swap

* removing native tokens amount display, only show formatted amount

* adding new icons

* creating dollar sat, dollar token values

* fixing USD user sat amount display

* creating select receive asset page for receiveBtcPage

* adding dollar receive type to LN and Spark

* handing swap receive payment on homepage

* using new dollar and bitcoin icons

* fixing number fomatter

* fixing wallet load balance bug

* adding denominations to swap balances

* exporting for flashnet use

* increasing modal height

* fixed swap amount conversion bug + formatted error messages

* adding webview processes to functions

* since lightning payments can now be lrc20 payments we need to specify spark here so the id is the correct format.

* updating bitcoin icon

* updating address parser

* creating regex to extract flashnet error code

* adding loading to fee when calculating swap

* adding failed tx hash to flashnet transfer

* adding flashnet transfers to webcontext

* remove hardcoded value

* blcok all failed txs

* mark auto-refunded flashnet swaps as failed

* allow failed txs to be added to database. Now they are blocked on the homscreen

* optimizing ln invoice match during restore

* fixing translation

* adding ln -> bitcoin swap + limits context

* removing unneded imports

* adding retry to balance + fixing wallet state change + moving swaps to flashnet context

* load saved transfers on context init

* use new poolInfo format

* adding payment logic for swaps

* adding freeze property so balance doesnt update on send page

* updating fee information

* adding fee warning to receive page

* adding conversion rate line

* fixing fee rate on receive page to not convert

* creating conversion utility functions

* getting current bitcoin price based on swap rate

* adding amount validation + making min half amd max more accurate

* adding estimated converted amount to receive page

* fixed variable naming

* adding swap payments logic to sending

* adding translations

* updating swap context

* increasing slider duration

* waiting for wallet to init before starting swap page init process

* fixing eslint

* fixing naming convention

* fixing height issue

* changed txt labels to percent amounts

* fixed dollar balance not showing for USD

* fixing payments to ln addresses with encoded spark invoices

* fixing converted amount

* fixing cuttof fee text

* making sure usdb doesn't trigger full tokens display

* updating swaps flow

* fixing usd txs not displaying on homescreen when lrc20 is not enabled

* fixing balance mismatch

* adding tap to switch sats to fiat on send page

* fixing fee and input bug

* fixing rate bug

* removing uneeded second button tap

* fixing double execution of same swap

* fixing inputs being unmatched

* adding automatic refund listener for swaps

* bumping version code

* updating translations

* fixing zero amount invoice validation

* fixed rouding error

* only show swap conversion on home and dollar page

* removing swaps description from pending tx

* making swap payments have type swap

* adding execution price and swap label to swap transactions

* adding checks for pending payments

* removed error showing on screen

* updating translations

* bumping version code

* making sure fees calcuate on user-choice as well

* fixing theme issues

* fixing dollar sat balance

* creating choose payment component

* bump version code

* fixing half modal slide out animation

* updating payments flow

* separating spark and flashnet inits

* cache pool info to fix sat balance on init

* updating translations

* removing sat value for swap payments

* bump version code

* remove old handler

* fixing fiat display bug

* persisting keyboard on taps

* making fee more accurate if paying bolt11 invoice with spark address inside

* making fiat search more broad

* allowing fast pay to be set using andriod buttons

* adding request title to contacts send and request page if requesting

* fixing button opacity

* adding tap to scroll up feature on contacts page

* adding helpfull errors

* updating overlay color for lightsout mode

* adding button to scroll to top on homepage

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

* Update locales/pt-BR/translation.json

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>

---------

Co-authored-by: bitcoinuser <bitcoinuser@users.noreply.github.com>
2026-01-07 08:25:42 -05:00