Files
com.blitzwallet/app/functions/handleDBStateChange.js
T
Blake KaufmanandGitHub 708187ebd9 migrating to spark (#113)
* migrating files

* switched to parrellel load for optimization

* removed uneeded init functions

* fixed spelling bug causing eslint to error

* fixing imports

* updated ln payment process to speed it up

* fixed login security bugs

* added qr scan for seedphrase

* added preloading to homescreen

* updated receive path

* fixed initial connection bug

* fixing event emitter counts

* fix eslint

* remove limit for picknpay

* updated spark lightning payment error

* updated send transaction balance update

* fixed fiat stats bug

* fixing tabs bar style

* fixed navigation bar color

* fixing top bottom insets + moving liquid address generation

* added seedQr + copy

* removed always on liquid listener

* updated fee rate

* memorized image cache objects

* Improving seed restore robustness

* fix seedphrase page text being to close to nav

* fixed check mark circle color

* updated sats to sat

* updating insets

* fixed restored ln payments show as pending

* fix bitcoin amount bug

* fixed race condition inside of add contacts half modal

* fix restore seed bug

* bumping version

* fixed decimal number bug

* removed min lnurl payment amount as default

* updated add contacts requests

* fixing user profile not updating on new device

* fixing ui scene on ios

* bump version

* trying to fix ios assets issue

* fixing load bug on ios

* making gitignors the same

* fixed contact payment

* fixing build erros from packages

* if a payment happend before the user logged onto the app dont show confirm screen

* fixed store payments

* fixed writting to filesystem error message bug

* fixing restore login type

* fixing double transactions + blocking event emitter bug

* fixed fee display bug

* added event emitter handler to app tx functions

* implementing more robust event emitter handling logic

* added error message for liquid payments

* use LNULR so liquid can drain all funds.

* fixing on-chain payments bugs

* removing ecash

* fixing small payment UX bugs

* bumped spark version

* fixed bitcoin tx bug during restore

* fixed tips payout

* fixing confim tx edge case

* starting spark connection eariler

* only update db state if value changes

* adding balance warning before going to send page

* added explaination to unknown technical details

* fixing replace bug

* updated loading screen reqiured information

* fixed homepage transactions rendering before page is loaded

* adding notification icons

* moving notification setup to settings

* fixing view all tx page crash

* fix checkmark circle color on dark modes

* changing NOSTR LNURL to nostr zaps

* fixing biometric auth not running when first saving

* fixing notification on new devices

* hide spark details

* fixed failed payment icon

* added payment specific brackets

* updated balance process when sending

* fixing doomsday pages

* lnurl withdrawl right to spark

* fixed qr wapper profile image not loading

* fixed slider initially touching side

* created place to edit lnurl on receive page

* fixed balance bug

* fixed no image data bug

* bumping version

* fixed error message when clicking save with no textinput

* fixed max fee bug

* made send and receive arrows vertical insted of angled

* improved interval tracking + removed uneeded code

* fixed veriable naming bug

* created fee breakdown in settings

* updated switch receive option page styling

* creating custom toast container

* fixing fee buffer

* expanding touch distance for UX improvement

* removing uneeded ref

* removed finding liquid address in bolt11 invoice

* fixed non request Ids from stying in pending

* fixed interval from not clearning

* set payment expiry to 12 hours

* added x button to remove old gift cards

* fixing toast hitch bug on android

* fixed dark mode splash screen color bug

* if the user is from contacts show the message and also set the payment info.

* fixing adding contact image bugs + legacy checks

* bumping liquid version

* added page to manually swap liquid funds if they get stuck

* added smaller vpn durations

* encripted messaging

* fixed decline request error

* bumping spark version

* fixed touch gap

* fixing confusing placeholder text

* adding min bitocin send check

* fixing refresh crash bug

* adding fee params to payment object to remove double fee check

* adding new fee logic

* updating payment functions

* using function wrappers insted of calling spark wallet

* updating payment functions to use wrapper functions

* fixed trying to access value on undefined veriable

* fixed lightning payments without saved invoice throwing error

* adding new zero amount invoice + fee quote

* fixing onchain payment amout bug

* fixed pasting issue when pasting in textbox

* fixed small device sizing

* fixing small device styles

* misc changes

* fixing restore bug with onchain payments

* adding rootstock packages and image

* fixed taost styles

* Fix QR code coding up and down when removing lnurl

* fixed padding bug

* creating rootstock swap databse

* creating submarine swap function

* adding helper functions for rootstock

* creating roostcok swap context to listen for swaps

* adding swap context

* adding roostck as receive method

* trying eslint fix

* fix eslint

* adding rootstock swap information

* creating reverse claim + refund swap function

* misc rootstock changes

* remove transparent slideup on android

* removing unused assets + updating liquid icon

* adding another fallback block chain data endpoint

* bump spark version

* fix lnurl contact message not displaying

* improving spark error

* updating error messages

* fixed app store styling

* created function to derive seeds from main seed

* fixing spark error message from running before user gets to homescreen

* updating packages

* creating nostr derive path to ensure backwards compatability

* created nwc wallet functions

* adding nwc

* eslint fix

* optimized global theme view

* optimzed contacts page rerenders

* fixed qr code not updating

* reducing blocking on js thread

* Improving profiler rating

* Memorizing context values + adding cached balance

* improving restore and payment handling

* adding explanation screen for nwc

* fixed duplicate key style

* blocking add listeners from running in background

* remove nwc

* added spark to send list

* fixing duplicate onchain payments in tx history

* optimizing on-chain deposit calls

* fixing crash bug

* creating consistant swap function

* bumping spark version

* fixed invoice descriptions + lnurl navigation

* moved contacts to LNULR + added central server time

* fixed double tap enable notifications on restore

* adding tx batching + fixing legacy bug

* temporarily removing rootstock

* fixing how date is shown for contacts

* fixing bolt11 and lnurl formatting issues

* fixing toast bug

* bump build version

* fix duplicate send bug

* more robust blocking duplicate send payments fix

* bump build version

* fixed notificatoin badge not clearing

* reduced server time calls by caching offset

* clear receive settings when switching receive type

* lowered min width of settings boxs

* removes space within name

* standarize lowercase function

* improved spark payment status

* improving large convo sync

* fixing already claimed on-chain txs

* using spark payment status insted of hardcoding completed

* fixing navigation bug

* fixed duplicates while sending bug

* adding more robust implemention to send fix

* spark status response is too inconsistnat to use

* removing liquid sends

* update build version

* adding explaination to edit contact on receive page

* aded failed flags to on-chain and lightning + added expiry property to onchain payments

* removed pending message to confirm tx page + made expiry only when payment is pending
2025-07-21 19:30:08 -04:00

26 lines
659 B
JavaScript

import {crashlyticsLogReport} from './crashlyticsLogs';
export default function handleDBStateChange(
newData,
setMasterInfoObject,
toggleMasterInfoObject,
saveTimeoutRef,
initialValueRef,
) {
crashlyticsLogReport('Runnnig state change in handleDBStateChange');
setMasterInfoObject(prev => ({
...prev,
...newData,
}));
if (saveTimeoutRef.current) {
clearTimeout(saveTimeoutRef.current);
}
saveTimeoutRef.current = setTimeout(() => {
if (initialValueRef.current === newData.userBalanceDenomination) return;
initialValueRef.current = newData.userBalanceDenomination;
toggleMasterInfoObject(newData);
}, 800);
}