* 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>
147 lines
5.2 KiB
JSON
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"
|
|
}
|
|
}
|