Files
com.blitzwallet/package.json
T
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

147 lines
5.2 KiB
JSON

{
"name": "BlitzWallet",
"version": "0.0.1",
"private": true,
"scripts": {
"android": "react-native run-android",
"android:clean": "cd android && ./gradlew clean && cd .. && react-native run-android",
"ios": "react-native run-ios",
"lint": "eslint .",
"start": "react-native start",
"test": "jest",
"build-android": "react-native build-android",
"build-ios": "react-native build-ios",
"depCheck": "npx depcheck",
"apkBuild": "cd android && ./gradlew assembleRelease && cd ..",
"apkBuild:clean": "cd android && ./gradlew clean assembleRelease && cd ..",
"playstoreBuild": "cd android && ./gradlew bundleRelease && cd .."
},
"dependencies": {
"@azure/core-asynciterator-polyfill": "^1.0.2",
"@bitcoinerlab/secp256k1": "^1.2.0",
"@breeztech/react-native-breez-sdk-liquid": "^0.11.9",
"@buildonspark/spark-sdk": "^0.5.3",
"@craftzdog/react-native-buffer": "^6.1.0",
"@flashnet/sdk": "^0.4.3",
"@miblanchard/react-native-slider": "^2.6.0",
"@noble/hashes": "^1.8.0",
"@noble/secp256k1": "^2.2.3",
"@react-native-async-storage/async-storage": "2.2.0",
"@react-native-firebase/app": "^23.4.0",
"@react-native-firebase/auth": "^23.4.0",
"@react-native-firebase/crashlytics": "^23.4.0",
"@react-native-firebase/firestore": "^23.4.0",
"@react-native-firebase/functions": "^23.4.0",
"@react-native-firebase/messaging": "^23.4.0",
"@react-native-firebase/storage": "^23.4.0",
"@react-native-masked-view/masked-view": "^0.3.2",
"@react-navigation/bottom-tabs": "^7.3.13",
"@react-navigation/drawer": "^7.3.12",
"@react-navigation/native": "^7.1.9",
"@react-navigation/native-stack": "^7.3.13",
"@scure/bip32": "^1.7.0",
"@scure/bip39": "^1.6.0",
"bech32": "^2.0.0",
"bip21": "^3.0.0",
"bitcoin-address-parser": "^1.0.5",
"bolt11": "^1.4.1",
"boltz-core": "^3.0.0",
"crypto-es": "^2.1.0",
"d3-scale": "^4.0.2",
"d3-shape": "^3.2.0",
"ecpair": "^3.0.0",
"ethers": "^6.15.0",
"events": "^3.3.0",
"expo": "~54.0.0",
"expo-background-task": "~1.0.8",
"expo-clipboard": "~8.0.7",
"expo-crypto": "~15.0.7",
"expo-file-system": "~19.0.16",
"expo-image": "~3.0.8",
"expo-image-manipulator": "~14.0.7",
"expo-image-picker": "~17.0.8",
"expo-linear-gradient": "~15.0.7",
"expo-local-authentication": "~17.0.7",
"expo-navigation-bar": "~5.0.8",
"expo-network": "~8.0.7",
"expo-notifications": "~0.32.12",
"expo-secure-store": "~15.0.7",
"expo-splash-screen": "~31.0.10",
"expo-sqlite": "~16.0.8",
"expo-status-bar": "~3.0.8",
"expo-system-ui": "~6.0.7",
"expo-task-manager": "~14.0.7",
"expo-web-browser": "~15.0.8",
"i18next": "^25.2.0",
"intl-pluralrules": "^2.0.1",
"libphonenumber-js": "^1.12.8",
"liquidjs-lib": "^6.0.2-liquid.37",
"lottie-react-native": "^7.3.4",
"lucide-react-native": "^0.562.0",
"nostr-tools": "^2.15.0",
"react": "19.1.0",
"react-i18next": "^16.0.0",
"react-native": "0.81.4",
"react-native-context-menu-view": "^1.19.0",
"react-native-country-flag": "^2.0.2",
"react-native-country-picker-modal": "^2.0.0",
"react-native-device-info": "^14.0.4",
"react-native-email-link": "^1.16.1",
"react-native-gesture-handler": "~2.28.0",
"react-native-get-random-values": "~1.11.0",
"react-native-keyboard-controller": "1.18.5",
"react-native-localize": "^3.6.0",
"react-native-pager-view": "6.9.1",
"react-native-qrcode-svg": "^6.3.15",
"react-native-quick-base64": "^2.2.2",
"react-native-quick-crypto": "^0.7.17",
"react-native-reanimated": "^4.1.2",
"react-native-restart": "^0.0.27",
"react-native-safe-area-context": "~5.6.0",
"react-native-screens": "~4.16.0",
"react-native-svg": "15.12.1",
"react-native-vision-camera": "^4.6.4",
"react-native-webview": "13.15.0",
"react-native-worklets": "0.5.1",
"rn-qr-generator": "^1.4.3",
"spark-web-context": "https://github.com/blitzwallet/spark-web-context.git",
"stream-browserify": "^3.0.0",
"text-encoding": "^0.7.0",
"text-encoding-polyfill": "^0.6.7",
"unique-names-generator": "^4.7.1",
"uuid": "^13.0.0"
},
"devDependencies": {
"@babel/core": "^7.28.4",
"@babel/plugin-transform-class-static-block": "^7.28.3",
"@babel/preset-env": "^7.28.3",
"@babel/runtime": "^7.25.0",
"@react-native-community/cli": "20.0.0",
"@react-native-community/cli-platform-android": "20.0.0",
"@react-native-community/cli-platform-ios": "20.0.0",
"@react-native/babel-preset": "0.81.4",
"@react-native/eslint-config": "0.81.4",
"@react-native/metro-config": "0.81.4",
"@react-native/typescript-config": "0.81.4",
"@types/jest": "^29.5.13",
"@types/react": "~19.1.10",
"@types/react-test-renderer": "^19.1.0",
"babel-plugin-module-resolver": "^5.0.2",
"babel-plugin-transform-remove-console": "^6.9.4",
"babel-preset-expo": "~54.0.0",
"eslint": "^8.19.0",
"jest": "~29.7.0",
"prettier": "2.8.8",
"react-native-dotenv": "^3.4.11",
"react-test-renderer": "19.1.0",
"typescript": "^5.8.3"
},
"resolutions": {
"tar": "7.5.2",
"node-forge": "1.3.2"
},
"engines": {
"node": ">=20"
}
}