├── logs ├── .watchmanconfig ├── .ruby-version ├── utils └── .gitignore ├── dev ├── vendor │ └── galoy-quickstart │ │ ├── .gitignore │ │ ├── dev │ │ ├── config │ │ │ ├── lnd │ │ │ │ ├── regtest │ │ │ │ │ ├── lnd1.pubkey │ │ │ │ │ ├── lnd2.pubkey │ │ │ │ │ ├── lnd-outside-1.pubkey │ │ │ │ │ ├── lnd-outside-2.pubkey │ │ │ │ │ ├── lnd1.wallet.db │ │ │ │ │ ├── lnd2.wallet.db │ │ │ │ │ ├── lnd1.macaroons.db │ │ │ │ │ ├── lnd2.macaroons.db │ │ │ │ │ ├── lnd1.admin.macaroon │ │ │ │ │ ├── lnd2.admin.macaroon │ │ │ │ │ ├── lnd-outside-1.wallet.db │ │ │ │ │ ├── lnd-outside-2.wallet.db │ │ │ │ │ ├── lnd-outside-1.macaroons.db │ │ │ │ │ ├── lnd-outside-2.macaroons.db │ │ │ │ │ ├── lnd-outside-1.admin.macaroon │ │ │ │ │ ├── lnd-outside-2.admin.macaroon │ │ │ │ │ ├── lnd1.admin.macaroon.base64 │ │ │ │ │ ├── lnd2.admin.macaroon.base64 │ │ │ │ │ ├── lnd-outside-1.admin.macaroon.base64 │ │ │ │ │ └── lnd-outside-2.admin.macaroon.base64 │ │ │ │ └── tls.key │ │ │ ├── notifications │ │ │ │ └── notifications.yml │ │ │ ├── bria.yml │ │ │ ├── fulcrum │ │ │ │ └── fulcrum.conf │ │ │ ├── price.yml │ │ │ ├── apollo-federation │ │ │ │ ├── README.md │ │ │ │ ├── router.yaml │ │ │ │ └── supergraph-config.yaml │ │ │ ├── bitcoind │ │ │ │ ├── bitcoind_signer_descriptors.json │ │ │ │ └── bitcoin.conf │ │ │ ├── ory │ │ │ │ ├── body.jsonnet │ │ │ │ └── hydra.yml │ │ │ └── stablesats.yml │ │ ├── helpers │ │ │ ├── gql │ │ │ │ ├── default-account.gql │ │ │ │ ├── on-chain-address-create.gql │ │ │ │ ├── update-username.gql │ │ │ │ ├── wallets-for-account.gql │ │ │ │ ├── user-email-registration-validate.gql │ │ │ │ └── user-email-registration-initiate.gql │ │ │ └── auth.sh │ │ └── core-bundle │ │ │ └── dummy-env.json │ │ ├── graphql │ │ └── gql │ │ │ ├── user-details.gql │ │ │ ├── authorization.gql │ │ │ ├── globals.gql │ │ │ ├── contacts.gql │ │ │ ├── logout.gql │ │ │ ├── account-details.gql │ │ │ ├── default-account.gql │ │ │ ├── username-available.gql │ │ │ ├── account-delete.gql │ │ │ ├── identity.gql │ │ │ ├── support-chat.gql │ │ │ ├── user-login.gql │ │ │ ├── callback-endpoint-add.gql │ │ │ ├── callback-endpoints-list.gql │ │ │ ├── ln-invoice-fee-probe.gql │ │ │ ├── user-notification-settings.gql │ │ │ ├── on-chain-payment-send.gql │ │ │ ├── ln-usd-invoice-fee-probe.gql │ │ │ ├── on-chain-address-create.gql │ │ │ ├── ln-invoice-cancel.gql │ │ │ ├── on-chain-address-current.gql │ │ │ ├── on-chain-payment-send-all.gql │ │ │ ├── on-chain-tx-fee.gql │ │ │ ├── on-chain-usd-payment-send.gql │ │ │ ├── callback-endpoint-delete.gql │ │ │ ├── update-display-currency.gql │ │ │ ├── user-totp-registration-initiate.gql │ │ │ ├── account-default-wallet.gql │ │ │ ├── ln-no-amount-invoice-fee-probe.gql │ │ │ ├── account-update-default-wallet-id.gql │ │ │ ├── ln-no-amount-invoice-payment-send.gql │ │ │ ├── user-login-upgrade.gql │ │ │ ├── business-map-markers.gql │ │ │ ├── intraledger-payment-send.gql │ │ │ ├── ln-invoice-payment-status-by-hash.gql │ │ │ ├── ln-no-amount-usd-invoice-fee-probe.gql │ │ │ ├── user-email-delete.gql │ │ │ ├── user-phone-registration-initiate.gql │ │ │ ├── wallets-for-account.gql │ │ │ ├── intraledger-usd-payment-send.gql │ │ │ ├── ln-no-amount-usd-invoice-payment-send.gql │ │ │ ├── user-totp-delete.gql │ │ │ ├── on-chain-usd-tx-fee.gql │ │ │ ├── user-update-language.gql │ │ │ ├── api-keys.gql │ │ │ ├── ln-invoice-create.gql │ │ │ ├── lnurl-payment-send.gql │ │ │ ├── user-phone-delete.gql │ │ │ ├── currency-conversion-estimation.gql │ │ │ ├── ln-usd-invoice-create.gql │ │ │ ├── api-key-create.gql │ │ │ ├── ln-invoice-payment-status-by-payment-request.gql │ │ │ ├── quiz-question.gql │ │ │ ├── revoke-api-key.gql │ │ │ ├── price-sub.gql │ │ │ ├── ln-no-amount-invoice-create.gql │ │ │ ├── quiz-claim.gql │ │ │ ├── quiz.gql │ │ │ ├── user-phone-registration-validate.gql │ │ │ ├── on-chain-usd-payment-send-as-btc-denominated.gql │ │ │ ├── ln-invoice-payment-status-by-hash-sub.gql │ │ │ ├── user-update-username.gql │ │ │ ├── user-disable-notification-channel.gql │ │ │ ├── user-enable-notification-category.gql │ │ │ ├── user-enable-notification-channel.gql │ │ │ ├── on-chain-usd-tx-fee-as-btc-denominated.gql │ │ │ ├── user-disable-notification-category.gql │ │ │ ├── ln-invoice-create-on-behalf-of-recipient.gql │ │ │ ├── user-email-registration-validate.gql │ │ │ ├── ln-invoice-payment-status-by-payment-request-sub.gql │ │ │ ├── user-totp-registration-validate.gql │ │ │ ├── ln-usd-invoice-create-on-behalf-of-recipient.gql │ │ │ ├── merchant-map-suggest.gql │ │ │ ├── support-chat-message-add.gql │ │ │ ├── user-email-registration-initiate.gql │ │ │ ├── ln-no-amount-invoice-create-on-behalf-of-recipient.gql │ │ │ ├── account-enable-notification-channel.gql │ │ │ ├── account-disable-notification-channel.gql │ │ │ ├── account-enable-notification-category.gql │ │ │ ├── ln-usd-invoice-btc-denominated-create-on-behalf-of-recipient.gql │ │ │ ├── account-disable-notification-category.gql │ │ │ ├── invoice-for-wallet-by-payment-hash.gql │ │ │ ├── real-time-price.gql │ │ │ ├── account-limits.gql │ │ │ ├── invoices.gql │ │ │ ├── invoices-by-wallet.gql │ │ │ ├── ln-invoice-payment-send.gql │ │ │ └── real-time-price-sub.gql │ │ └── bin │ │ ├── re-render.sh │ │ ├── init-lightning.sh │ │ ├── bump-galoy-git-ref.sh │ │ ├── bump-galoy-image-digest.sh │ │ └── bump-mongodb-migrate-image-digest.sh ├── bin │ └── one-block-every-5s.sh ├── vendir.lock.yml └── vendir.yml ├── .gitattributes ├── e2e ├── utils │ ├── config.ts │ ├── email.sh │ └── index.ts ├── config │ └── single-test-runner.js └── detox │ └── jest.config.js ├── app ├── utils │ ├── storage │ │ └── index.ts │ ├── logs.ts │ ├── format-public-key.ts │ ├── sleep.ts │ ├── testProps.ts │ ├── external.ts │ ├── touchable-wrapper.tsx │ ├── timer.ts │ ├── pay-links.ts │ └── enum.ts ├── components │ ├── circle │ │ └── index.ts │ ├── screen │ │ └── index.ts │ ├── version │ │ └── index.ts │ ├── code-input │ │ └── index.ts │ ├── modal-nfc │ │ └── index.tsx │ ├── note-input │ │ └── index.ts │ ├── button-group │ │ └── index.ts │ ├── close-cross │ │ └── index.ts │ ├── contact-modal │ │ └── index.ts │ ├── currency-tag │ │ └── index.ts │ ├── custom-icon │ │ └── index.ts │ ├── custom-modal │ │ └── index.ts │ ├── galoy-toast │ │ └── index.ts │ ├── invite-modal │ │ └── index.tsx │ ├── pagination │ │ └── index.ts │ ├── price-history │ │ └── index.ts │ ├── atomic │ │ ├── galoy-icon │ │ │ └── index.ts │ │ ├── galoy-info │ │ │ └── index.ts │ │ ├── galoy-input │ │ │ └── index.ts │ │ ├── galoy-error-box │ │ │ └── index.ts │ │ ├── galoy-icon-button │ │ │ └── index.ts │ │ ├── galoy-button-field │ │ │ └── index.ts │ │ ├── galoy-slider-button │ │ │ └── index.ts │ │ ├── galoy-currency-bubble │ │ │ └── index.ts │ │ ├── galoy-primary-button │ │ │ └── index.ts │ │ ├── galoy-secondary-button │ │ │ └── index.ts │ │ └── galoy-tertiary-button │ │ │ └── index.ts │ ├── mountain-header │ │ └── index.ts │ ├── option-selector │ │ └── index.ts │ ├── pressable-card │ │ └── index.ts │ ├── success-action │ │ ├── index.tsx │ │ ├── field-with-copy.props.tsx │ │ └── success-action.props.tsx │ ├── telegram-login │ │ └── index.ts │ ├── wallet-overview │ │ └── index.tsx │ ├── wallet-summary │ │ └── index.tsx │ ├── currency-keyboard │ │ ├── index.ts │ │ └── currency-keyboard.stories.tsx │ ├── icon-transactions │ │ └── index.ts │ ├── push-notification │ │ └── index.ts │ ├── stablesats-modal │ │ └── index.ts │ ├── transaction-date │ │ └── index.ts │ ├── transaction-item │ │ └── index.ts │ ├── amount-input-screen │ │ └── index.ts │ ├── may-challenge │ │ └── index.tsx │ ├── wallet-filter-dropdown │ │ └── index.ts │ ├── introducing-circles-modal │ │ └── index.tsx │ ├── june-challenge │ │ └── index.tsx │ ├── set-default-account-modal │ │ └── index.ts │ ├── totp-export │ │ ├── index.ts │ │ ├── totp-copy.stories.tsx │ │ └── totp-qr.stories.tsx │ ├── upgrade-account-modal │ │ └── index.ts │ ├── input-payment │ │ └── input-payment.types.d.ts │ ├── payment-destination-display │ │ └── index.ts │ ├── menu-select │ │ ├── index.ts │ │ └── menu-select-item.tsx │ ├── amount-input │ │ └── index.ts │ ├── balance-header │ │ └── index.ts │ ├── success-animation │ │ ├── index.ts │ │ ├── config.ts │ │ ├── success-icon-animation.tsx │ │ └── success-text-animation.tsx │ ├── expiration-time-chooser │ │ └── index.ts │ └── set-lightning-address-modal │ │ └── index.ts ├── screens │ ├── error-screen │ │ └── index.ts │ ├── home-screen │ │ └── index.ts │ ├── accept-t-and-c │ │ ├── index.ts │ │ └── accept-t-and-c.stories.tsx │ ├── price │ │ └── index.ts │ ├── developer-screen │ │ └── index.ts │ ├── earns-map-screen │ │ ├── index.ts │ │ ├── text-block-large.svg │ │ ├── text-block-medium.svg │ │ └── text-block-small.svg │ ├── galoy-address-screen │ │ └── index.ts │ ├── settings-screen │ │ ├── index.tsx │ │ ├── account │ │ │ ├── multi-account │ │ │ │ ├── index.ts │ │ │ │ ├── utils.ts │ │ │ │ ├── switch-account.stories.tsx │ │ │ │ └── index.types.d.ts │ │ │ ├── index.ts │ │ │ └── login-methods-hook.ts │ │ ├── theme-screen.stories.tsx │ │ └── settings │ │ │ └── multi-account.tsx │ ├── get-started-screen │ │ └── index.ts │ ├── receive-bitcoin-screen │ │ └── index.ts │ ├── full-onboarding-flow │ │ └── index.ts │ ├── telegram-login-screen │ │ ├── index.ts │ │ └── telegram-login-validate.stories.tsx │ ├── transaction-history │ │ ├── index.ts │ │ └── index.types.d.ts │ ├── transaction-detail-screen │ │ └── index.ts │ ├── people-screen │ │ ├── index.ts │ │ └── people.stories.tsx │ ├── send-bitcoin-screen │ │ ├── index.ts │ │ ├── payment-details │ │ │ └── index.ts │ │ └── validation.ts │ ├── email-login-screen │ │ └── index.ts │ ├── earns-screen │ │ ├── index.ts │ │ └── PopcornLogo.png │ ├── email-registration-screen │ │ └── index.ts │ ├── redeem-lnurl-withdrawal-screen │ │ └── index.ts │ ├── phone-auth-screen │ │ └── index.ts │ ├── totp-screen │ │ └── index.ts │ ├── authentication-screen │ │ └── index.ts │ ├── conversion-flow │ │ └── index.ts │ ├── onboarding-screen │ │ └── index.ts │ └── notification-history-screen │ │ └── utils.ts ├── graphql │ ├── error-code.ts │ ├── is-authed-context.ts │ ├── ln-update-context.ts │ ├── hide-amount-context.tsx │ ├── network-error-context.ts │ ├── messaging.tsx │ ├── utils.ts │ └── hide-amount-component.tsx ├── assets │ ├── fonts │ │ ├── DMSans-Bold.ttf │ │ ├── SourceSansPro-Bold.ttf │ │ ├── SourceSansPro-Italic.ttf │ │ ├── SourceSansPro-Regular.ttf │ │ ├── SourceSansPro-SemiBold.ttf │ │ ├── SourceSansPro-BoldItalic.ttf │ │ └── SourceSansPro-SemiBoldItalic.ttf │ ├── icons │ │ ├── onchain-btc.png │ │ ├── lightning-sats.png │ │ ├── lightning-usd.png │ │ ├── downarrow.svg │ │ ├── chevron.svg │ │ ├── chevron-down.svg │ │ ├── sat.svg │ │ ├── nfc.svg │ │ ├── refresh.svg │ │ ├── cancel.svg │ │ ├── center-location-android.svg │ │ ├── home.svg │ │ └── lightning.svg │ ├── images │ │ └── stable-sats.png │ ├── logo │ │ └── blink-logo-icon.png │ └── icons-redesign │ │ ├── caret-down.svg │ │ ├── caret-left.svg │ │ ├── caret-right.svg │ │ ├── caret-up.svg │ │ ├── check.svg │ │ ├── lightning.svg │ │ ├── close.svg │ │ ├── arrow-right.svg │ │ ├── arrow-left.svg │ │ ├── copy-paste.svg │ │ ├── upgrade.svg │ │ ├── menu.svg │ │ ├── check-circle.svg │ │ ├── graph.svg │ │ ├── bell.svg │ │ ├── magnifying-glass.svg │ │ ├── eye.svg │ │ ├── receive.svg │ │ ├── send.svg │ │ ├── transfer.svg │ │ ├── user.svg │ │ ├── video.svg │ │ ├── payment-error.svg │ │ ├── warning.svg │ │ ├── info.svg │ │ ├── map.svg │ │ ├── warning-with-background.svg │ │ ├── close-cross-with-background.svg │ │ ├── telegram-simple.svg │ │ ├── link.svg │ │ └── globe.svg ├── rne-theme │ └── timing.ts ├── config │ └── index.ts ├── hooks │ └── index.ts ├── i18n │ ├── af │ │ └── index.ts │ ├── ar │ │ └── index.ts │ ├── ca │ │ └── index.ts │ ├── cs │ │ └── index.ts │ ├── da │ │ └── index.ts │ ├── de │ │ └── index.ts │ ├── el │ │ └── index.ts │ ├── es │ │ └── index.ts │ ├── fr │ │ └── index.ts │ ├── hr │ │ └── index.ts │ ├── hu │ │ └── index.ts │ ├── hy │ │ └── index.ts │ ├── it │ │ └── index.ts │ ├── ja │ │ └── index.ts │ ├── lg │ │ └── index.ts │ ├── ms │ │ └── index.ts │ ├── nl │ │ └── index.ts │ ├── pt │ │ └── index.ts │ ├── qu │ │ └── index.ts │ ├── sr │ │ └── index.ts │ ├── sw │ │ └── index.ts │ ├── th │ │ └── index.ts │ ├── tr │ │ └── index.ts │ ├── vi │ │ └── index.ts │ ├── ro │ │ └── index.ts │ ├── sk │ │ └── index.ts │ └── formatters.ts └── types │ ├── wallets.ts │ └── declaration.d.ts ├── .editorconfig ├── app.json ├── .svgrrc ├── ios ├── .bundle │ └── config ├── fastlane │ ├── Matchfile │ ├── Pluginfile │ └── Appfile ├── GaloyApp │ ├── Images.xcassets │ │ ├── Contents.json │ │ ├── AppIcon.appiconset │ │ │ ├── 100.png │ │ │ ├── 1024.png │ │ │ ├── 114.png │ │ │ ├── 120.png │ │ │ ├── 144.png │ │ │ ├── 152.png │ │ │ ├── 167.png │ │ │ ├── 180.png │ │ │ ├── 20.png │ │ │ ├── 29.png │ │ │ ├── 40.png │ │ │ ├── 50.png │ │ │ ├── 57.png │ │ │ ├── 58.png │ │ │ ├── 60.png │ │ │ ├── 72.png │ │ │ ├── 76.png │ │ │ ├── 80.png │ │ │ └── 87.png │ │ └── BootSplashLogo.imageset │ │ │ ├── bootsplash_logo-ldf3jg.png │ │ │ ├── bootsplash_logo-ldf3jg@2x.png │ │ │ ├── bootsplash_logo-ldf3jg@3x.png │ │ │ └── Contents.json │ ├── AppDelegate.h │ └── main.m ├── GaloyApp-Bridging-Header.h ├── Gemfile ├── GaloyApp.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ └── IDEWorkspaceChecks.plist └── .xcode.env ├── android ├── .bundle │ └── config ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── app │ └── src │ │ └── main │ │ ├── ic_launcher-playstore.png │ │ ├── res │ │ ├── values-night │ │ │ └── colors.xml │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ ├── drawable-hdpi │ │ │ └── bootsplash_logo.png │ │ ├── drawable-mdpi │ │ │ └── bootsplash_logo.png │ │ ├── drawable-xhdpi │ │ │ └── bootsplash_logo.png │ │ ├── drawable-xxhdpi │ │ │ └── bootsplash_logo.png │ │ ├── drawable-xxxhdpi │ │ │ └── bootsplash_logo.png │ │ ├── drawable-v21 │ │ │ ├── bitcoin_price_widget.png │ │ │ └── bitcoin_price_widget_chart_gradient.xml │ │ ├── values │ │ │ ├── ic_launcher_background.xml │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ └── xml │ │ │ ├── network_security_config.xml │ │ │ └── bitcoin_price_widget_info.xml │ │ └── assets │ │ └── fonts │ │ ├── DMSans-Bold.ttf │ │ ├── Montserrat-Bold.ttf │ │ ├── Montserrat-Thin.ttf │ │ ├── Montserrat-Black.ttf │ │ ├── Montserrat-Italic.ttf │ │ ├── Montserrat-Light.ttf │ │ ├── Montserrat-Medium.ttf │ │ ├── Montserrat-Regular.ttf │ │ ├── SourceSansPro-Bold.ttf │ │ ├── Montserrat-ExtraBold.ttf │ │ ├── Montserrat-SemiBold.ttf │ │ ├── SourceSansPro-Italic.ttf │ │ ├── Montserrat-BlackItalic.ttf │ │ ├── Montserrat-BoldItalic.ttf │ │ ├── Montserrat-ExtraLight.ttf │ │ ├── Montserrat-LightItalic.ttf │ │ ├── Montserrat-MediumItalic.ttf │ │ ├── Montserrat-ThinItalic.ttf │ │ ├── SourceSansPro-Regular.ttf │ │ ├── SourceSansPro-SemiBold.ttf │ │ ├── Montserrat-SemiBoldItalic.ttf │ │ ├── SourceSansPro-BoldItalic.ttf │ │ ├── Montserrat-ExtraBoldItalic.ttf │ │ ├── Montserrat-ExtraLightItalic.ttf │ │ └── SourceSansPro-SemiBoldItalic.ttf ├── Gemfile ├── fastlane │ ├── Appfile │ └── Pluginfile └── settings.gradle ├── react-native.config.js ├── __mocks__ ├── react-native-haptic-feedback.js ├── react-native-qrcode-svg.js ├── @react-native-firebase │ ├── analytics.js │ ├── crashlytics.js │ ├── messaging.js │ └── remote-config.js ├── react-native-keyboard-aware-scroll-view.js ├── react-native-share.js ├── @react-native-async-storage │ └── async-storage.js ├── @react-native-clipboard │ └── clipboard.js ├── react-native-device-info.js └── react-native-rate.js ├── .readme ├── galoy-logo.png ├── screenshot-1.png ├── screenshot-2.png ├── screenshot-3.png └── screenshot-4.png ├── .storybook ├── views │ ├── index.ts │ └── story.tsx └── index.ts ├── supergraph.sh ├── .typesafe-i18n.json ├── ci ├── tasks │ ├── test-unit.sh │ ├── check-code.sh │ ├── install-deps.sh │ ├── upload-to-gcs.sh │ └── choose-commit-prerelease.sh ├── vendor │ └── tasks │ │ ├── nodejs-check-code.sh │ │ ├── nodejs-cache-yarn-deps.sh │ │ └── nodejs-audit.sh ├── vendir.lock.yml └── repipe ├── .envrc ├── .prettierignore ├── .storybook_server └── main.js ├── apollo.client.js ├── __tests__ ├── payment-destination │ └── helpers.ts ├── utils │ └── phone-number-parser.test.ts └── screens │ └── send-destination.spec.tsx ├── transifex.yml ├── typos.toml ├── supergraph-config.yaml ├── babel.config.js ├── prettier.config.js ├── audit.sh ├── .github ├── workflows │ ├── test.yml │ ├── conventional.yaml │ ├── spelling.yml │ ├── vendor │ │ ├── spelling.yml │ │ ├── nodejs-audit.yml │ │ └── nodejs-check-code.yml │ ├── audit.yml │ └── check-code.yml ├── dependabot.yml └── ISSUE_TEMPLATE │ └── feature_request.md ├── tsconfig.jest.json ├── tsconfig.json ├── patches ├── react-native-fingerprint-scanner+6.0.0.patch └── react-native-vector-icons+10.0.3.patch └── bin └── get-testing-device.sh /logs: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.watchmanconfig: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 3.4.2 2 | -------------------------------------------------------------------------------- /utils/.gitignore: -------------------------------------------------------------------------------- 1 | *.csv -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/.gitignore: -------------------------------------------------------------------------------- 1 | tmp* 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.pbxproj -text 2 | *.bat text eol=crlf -------------------------------------------------------------------------------- /e2e/utils/config.ts: -------------------------------------------------------------------------------- 1 | export const timeout = 30000 2 | -------------------------------------------------------------------------------- /app/utils/storage/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./storage" 2 | -------------------------------------------------------------------------------- /app/components/circle/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./circle" 2 | -------------------------------------------------------------------------------- /app/components/screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./screen" 2 | -------------------------------------------------------------------------------- /app/components/version/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./version" 2 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # Windows files 2 | [*.bat] 3 | end_of_line = crlf 4 | -------------------------------------------------------------------------------- /app/components/code-input/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./code-input" 2 | -------------------------------------------------------------------------------- /app/components/modal-nfc/index.tsx: -------------------------------------------------------------------------------- 1 | export * from "./modal-nfc" 2 | -------------------------------------------------------------------------------- /app/components/note-input/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./note-input" 2 | -------------------------------------------------------------------------------- /app/screens/error-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./error-screen" 2 | -------------------------------------------------------------------------------- /app/screens/home-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./home-screen" 2 | -------------------------------------------------------------------------------- /app/components/button-group/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./button-group" 2 | -------------------------------------------------------------------------------- /app/components/close-cross/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./close-cross" 2 | -------------------------------------------------------------------------------- /app/components/contact-modal/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./contact-modal" 2 | -------------------------------------------------------------------------------- /app/components/currency-tag/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./currency-tag" 2 | -------------------------------------------------------------------------------- /app/components/custom-icon/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./custom-icon" 2 | -------------------------------------------------------------------------------- /app/components/custom-modal/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./custom-modal" 2 | -------------------------------------------------------------------------------- /app/components/galoy-toast/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./galoy-toast" 2 | -------------------------------------------------------------------------------- /app/components/invite-modal/index.tsx: -------------------------------------------------------------------------------- 1 | export * from "./invite-modal" 2 | -------------------------------------------------------------------------------- /app/components/pagination/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./pagination-item" 2 | -------------------------------------------------------------------------------- /app/components/price-history/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./price-history" 2 | -------------------------------------------------------------------------------- /app/screens/accept-t-and-c/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./accept-t-and-c" 2 | -------------------------------------------------------------------------------- /app/screens/price/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./price-history-screen" 2 | -------------------------------------------------------------------------------- /app.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "GaloyApp", 3 | "displayName": "GaloyApp" 4 | } 5 | -------------------------------------------------------------------------------- /app/components/atomic/galoy-icon/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./galoy-icon" 2 | -------------------------------------------------------------------------------- /app/components/atomic/galoy-info/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./galoy-info" 2 | -------------------------------------------------------------------------------- /app/components/atomic/galoy-input/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./galoy-input" 2 | -------------------------------------------------------------------------------- /app/components/mountain-header/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./mountain-header" 2 | -------------------------------------------------------------------------------- /app/components/option-selector/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./option-selector" 2 | -------------------------------------------------------------------------------- /app/components/pressable-card/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./pressable-card" 2 | -------------------------------------------------------------------------------- /app/components/success-action/index.tsx: -------------------------------------------------------------------------------- 1 | export * from "./success-action" 2 | -------------------------------------------------------------------------------- /app/components/telegram-login/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./telegram-button" 2 | -------------------------------------------------------------------------------- /app/components/wallet-overview/index.tsx: -------------------------------------------------------------------------------- 1 | export * from "./wallet-overview" 2 | -------------------------------------------------------------------------------- /app/components/wallet-summary/index.tsx: -------------------------------------------------------------------------------- 1 | export * from "./wallet-summary" 2 | -------------------------------------------------------------------------------- /app/screens/developer-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./developer-screen" 2 | -------------------------------------------------------------------------------- /app/screens/earns-map-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./earns-map-screen" 2 | -------------------------------------------------------------------------------- /app/screens/galoy-address-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./address-screen" 2 | -------------------------------------------------------------------------------- /app/screens/settings-screen/index.tsx: -------------------------------------------------------------------------------- 1 | export * from "./settings-screen" 2 | -------------------------------------------------------------------------------- /app/components/currency-keyboard/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./currency-keyboard" 2 | -------------------------------------------------------------------------------- /app/components/icon-transactions/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./icon-transactions" 2 | -------------------------------------------------------------------------------- /app/components/push-notification/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./push-notification" 2 | -------------------------------------------------------------------------------- /app/components/stablesats-modal/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./stablesats-modal" 2 | -------------------------------------------------------------------------------- /app/components/transaction-date/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./transaction-date" 2 | -------------------------------------------------------------------------------- /app/components/transaction-item/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./transaction-item" 2 | -------------------------------------------------------------------------------- /app/screens/get-started-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./get-started-screen" 2 | -------------------------------------------------------------------------------- /app/screens/receive-bitcoin-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./receive-screen" 2 | -------------------------------------------------------------------------------- /.svgrrc: -------------------------------------------------------------------------------- 1 | { 2 | "replaceAttrValues": { 3 | "black": "currentColor" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /app/components/amount-input-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./amount-input-screen" 2 | -------------------------------------------------------------------------------- /app/components/atomic/galoy-error-box/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./galoy-error-box" 2 | -------------------------------------------------------------------------------- /app/components/atomic/galoy-icon-button/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./galoy-icon-button" 2 | -------------------------------------------------------------------------------- /app/screens/full-onboarding-flow/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./full-onboarding-flow" 2 | -------------------------------------------------------------------------------- /app/screens/telegram-login-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./telegram-login-validate" 2 | -------------------------------------------------------------------------------- /ios/.bundle/config: -------------------------------------------------------------------------------- 1 | BUNDLE_PATH: "vendor/bundle" 2 | BUNDLE_FORCE_RUBY_PLATFORM: 1 3 | -------------------------------------------------------------------------------- /android/.bundle/config: -------------------------------------------------------------------------------- 1 | BUNDLE_PATH: "vendor/bundle" 2 | BUNDLE_FORCE_RUBY_PLATFORM: 1 3 | -------------------------------------------------------------------------------- /app/components/atomic/galoy-button-field/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./galoy-button-field" 2 | -------------------------------------------------------------------------------- /app/components/atomic/galoy-slider-button/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./galoy-slider-button" 2 | -------------------------------------------------------------------------------- /app/components/may-challenge/index.tsx: -------------------------------------------------------------------------------- 1 | export * from "./modal" 2 | export * from "./card" 3 | -------------------------------------------------------------------------------- /app/components/wallet-filter-dropdown/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./wallet-filter-dropdown" 2 | -------------------------------------------------------------------------------- /app/screens/transaction-history/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./transaction-history-screen" 2 | -------------------------------------------------------------------------------- /ios/fastlane/Matchfile: -------------------------------------------------------------------------------- 1 | git_url("git@github.com:blinkbitcoin/blink-mobile-signing-keys") 2 | -------------------------------------------------------------------------------- /react-native.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | assets: ["./app/assets/fonts/"], 3 | } 4 | -------------------------------------------------------------------------------- /__mocks__/react-native-haptic-feedback.js: -------------------------------------------------------------------------------- 1 | export default { 2 | trigger: jest.fn(), 3 | } 4 | -------------------------------------------------------------------------------- /app/components/atomic/galoy-currency-bubble/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./galoy-currency-bubble" 2 | -------------------------------------------------------------------------------- /app/components/atomic/galoy-primary-button/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./galoy-primary-button" 2 | -------------------------------------------------------------------------------- /app/components/atomic/galoy-secondary-button/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./galoy-secondary-button" 2 | -------------------------------------------------------------------------------- /app/components/atomic/galoy-tertiary-button/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./galoy-tertiary-button" 2 | -------------------------------------------------------------------------------- /app/components/introducing-circles-modal/index.tsx: -------------------------------------------------------------------------------- 1 | export * from "./introducing-circles-modal" 2 | -------------------------------------------------------------------------------- /app/components/june-challenge/index.tsx: -------------------------------------------------------------------------------- 1 | export * from "./modal" 2 | export * from "./card" 3 | -------------------------------------------------------------------------------- /app/components/set-default-account-modal/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./set-default-account-modal" 2 | -------------------------------------------------------------------------------- /app/components/totp-export/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./totp-qr" 2 | export * from "./totp-copy" 3 | -------------------------------------------------------------------------------- /app/components/upgrade-account-modal/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./trial-account-limits-modal" 2 | -------------------------------------------------------------------------------- /app/screens/settings-screen/account/multi-account/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./switch-account" 2 | -------------------------------------------------------------------------------- /app/screens/transaction-detail-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./transaction-detail-screen" 2 | -------------------------------------------------------------------------------- /__mocks__/react-native-qrcode-svg.js: -------------------------------------------------------------------------------- 1 | export default function QRCode() { 2 | return null 3 | } 4 | -------------------------------------------------------------------------------- /app/components/input-payment/input-payment.types.d.ts: -------------------------------------------------------------------------------- 1 | type CurrencyType = "USD" | "BTC" | "display" 2 | -------------------------------------------------------------------------------- /app/components/payment-destination-display/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./payment-destination-display" 2 | -------------------------------------------------------------------------------- /.readme/galoy-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/.readme/galoy-logo.png -------------------------------------------------------------------------------- /app/components/menu-select/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./menu-select" 2 | export * from "./menu-select-item" 3 | -------------------------------------------------------------------------------- /.readme/screenshot-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/.readme/screenshot-1.png -------------------------------------------------------------------------------- /.readme/screenshot-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/.readme/screenshot-2.png -------------------------------------------------------------------------------- /.readme/screenshot-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/.readme/screenshot-3.png -------------------------------------------------------------------------------- /.readme/screenshot-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/.readme/screenshot-4.png -------------------------------------------------------------------------------- /app/components/amount-input/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./amount-input" 2 | export * from "./amount-input-modal" 3 | -------------------------------------------------------------------------------- /app/screens/people-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./people" 2 | export * from "./contacts/contacts-detail" 3 | -------------------------------------------------------------------------------- /app/components/balance-header/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./balance-header" 2 | export * from "./use-total-balance" 3 | -------------------------------------------------------------------------------- /app/screens/send-bitcoin-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./use-fee" 2 | export * from "./scanning-qrcode-screen" 3 | -------------------------------------------------------------------------------- /app/screens/settings-screen/account/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./account-screen" 2 | export * from "./multi-account" 3 | -------------------------------------------------------------------------------- /.storybook/views/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./story-screen" 2 | export * from "./story" 3 | export * from "./use-case" 4 | -------------------------------------------------------------------------------- /app/graphql/error-code.ts: -------------------------------------------------------------------------------- 1 | export enum NetworkErrorCode { 2 | InvalidAuthentication = "INVALID_AUTHENTICATION", 3 | } 4 | -------------------------------------------------------------------------------- /app/assets/fonts/DMSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/app/assets/fonts/DMSans-Bold.ttf -------------------------------------------------------------------------------- /app/assets/icons/onchain-btc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/app/assets/icons/onchain-btc.png -------------------------------------------------------------------------------- /app/assets/images/stable-sats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/app/assets/images/stable-sats.png -------------------------------------------------------------------------------- /app/screens/email-login-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./email-login-initiate" 2 | export * from "./email-login-validate" 3 | -------------------------------------------------------------------------------- /__mocks__/@react-native-firebase/analytics.js: -------------------------------------------------------------------------------- 1 | const logEvent = jest.fn() 2 | 3 | export default () => ({ 4 | logEvent, 5 | }) 6 | -------------------------------------------------------------------------------- /app/assets/icons/lightning-sats.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/app/assets/icons/lightning-sats.png -------------------------------------------------------------------------------- /app/assets/icons/lightning-usd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/app/assets/icons/lightning-usd.png -------------------------------------------------------------------------------- /app/assets/logo/blink-logo-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/app/assets/logo/blink-logo-icon.png -------------------------------------------------------------------------------- /app/components/success-animation/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./success-icon-animation" 2 | export * from "./success-text-animation" 3 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd1.pubkey: -------------------------------------------------------------------------------- 1 | 03ca1907342d5d37744cb7038375e1867c24a87564c293157c95b2a9d38dcfb4c2 2 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd2.pubkey: -------------------------------------------------------------------------------- 1 | 039341ef13e776dc1611502cf510110d9ac5cdc252141f5997adcfd72cef34c3a7 2 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/user-details.gql: -------------------------------------------------------------------------------- 1 | query userDetails { 2 | me { 3 | id 4 | language 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "author" : "xcode", 4 | "version" : 1 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /app/components/expiration-time-chooser/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./expiration-time-input" 2 | export * from "./expiration-time-modal" 3 | -------------------------------------------------------------------------------- /app/screens/earns-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./earns-quiz" 2 | export * from "./earns-section" 3 | export * from "./earns-utils" 4 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/authorization.gql: -------------------------------------------------------------------------------- 1 | query Authorization { 2 | authorization { 3 | scopes 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/globals.gql: -------------------------------------------------------------------------------- 1 | query Globals { 2 | globals { 3 | network 4 | nodesIds 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /__mocks__/react-native-keyboard-aware-scroll-view.js: -------------------------------------------------------------------------------- 1 | const KeyboardAwareScrollView = () => null 2 | 3 | export { KeyboardAwareScrollView } 4 | -------------------------------------------------------------------------------- /android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /app/assets/fonts/SourceSansPro-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/app/assets/fonts/SourceSansPro-Bold.ttf -------------------------------------------------------------------------------- /app/assets/fonts/SourceSansPro-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/app/assets/fonts/SourceSansPro-Italic.ttf -------------------------------------------------------------------------------- /app/components/set-lightning-address-modal/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./set-lightning-address-modal" 2 | export * from "./username-validation" 3 | -------------------------------------------------------------------------------- /app/screens/earns-screen/PopcornLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/app/screens/earns-screen/PopcornLogo.png -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd-outside-1.pubkey: -------------------------------------------------------------------------------- 1 | 02147eeb1561922fe768a6a92df116f5fec8c1869ddcb6e00ee1fd0df146d51c4a 2 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd-outside-2.pubkey: -------------------------------------------------------------------------------- 1 | 02f4888c0fffc494874da4445918dadaf88a63dbb96bce734b087bed56f60d231b 2 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/contacts.gql: -------------------------------------------------------------------------------- 1 | query me { 2 | me { 3 | contacts { 4 | username 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /__mocks__/react-native-share.js: -------------------------------------------------------------------------------- 1 | export default { 2 | open: jest.fn(), 3 | shareSingle: jest.fn(), 4 | isPackageInstalled: jest.fn(), 5 | } 6 | -------------------------------------------------------------------------------- /app/assets/fonts/SourceSansPro-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/app/assets/fonts/SourceSansPro-Regular.ttf -------------------------------------------------------------------------------- /app/assets/fonts/SourceSansPro-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/app/assets/fonts/SourceSansPro-SemiBold.ttf -------------------------------------------------------------------------------- /app/rne-theme/timing.ts: -------------------------------------------------------------------------------- 1 | export const timing = { 2 | /** 3 | * The duration (ms) for quick animations. 4 | */ 5 | quick: 300, 6 | } 7 | -------------------------------------------------------------------------------- /app/screens/email-registration-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./email-registration-initiate" 2 | export * from "./email-registration-validate" 3 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/logout.gql: -------------------------------------------------------------------------------- 1 | mutation userLogout { 2 | userLogout { 3 | success 4 | __typename 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ios/GaloyApp/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @interface AppDelegate : RCTAppDelegate 5 | 6 | @end 7 | -------------------------------------------------------------------------------- /.storybook/index.ts: -------------------------------------------------------------------------------- 1 | // this is the native storybook entry point 2 | // import { StorybookUI } from "./config" 3 | 4 | export * from "./storybook" 5 | -------------------------------------------------------------------------------- /android/app/src/main/ic_launcher-playstore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/ic_launcher-playstore.png -------------------------------------------------------------------------------- /app/assets/fonts/SourceSansPro-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/app/assets/fonts/SourceSansPro-BoldItalic.ttf -------------------------------------------------------------------------------- /app/config/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./galoy-instances" 2 | export * from "./appinfo" 3 | 4 | export const SCHEMA_VERSION_KEY = "schema_version_key" 5 | -------------------------------------------------------------------------------- /app/screens/redeem-lnurl-withdrawal-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./redeem-bitcoin-detail-screen" 2 | export * from "./redeem-bitcoin-result-screen" 3 | -------------------------------------------------------------------------------- /ios/GaloyApp-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // Use this file to import your target's public headers that you would like to expose to Swift. 3 | // 4 | 5 | -------------------------------------------------------------------------------- /supergraph.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | rover supergraph compose --config ./supergraph-config.yaml --elv2-license accept --output ./supergraph.graphql 4 | -------------------------------------------------------------------------------- /android/app/src/main/res/values-night/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | #000000 3 | 4 | -------------------------------------------------------------------------------- /app/components/success-animation/config.ts: -------------------------------------------------------------------------------- 1 | export const ANIMATION_DURATION = 3000 // duration in ms 2 | export const ANIMATION_DELAY = 50 // delay in ms 3 | -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/DMSans-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/DMSans-Bold.ttf -------------------------------------------------------------------------------- /app/assets/fonts/SourceSansPro-SemiBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/app/assets/fonts/SourceSansPro-SemiBoldItalic.ttf -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/helpers/gql/default-account.gql: -------------------------------------------------------------------------------- 1 | query defaultAccount { 2 | me { 3 | defaultAccount { 4 | id 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/account-details.gql: -------------------------------------------------------------------------------- 1 | query me { 2 | me { 3 | defaultAccount { 4 | id 5 | level 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/default-account.gql: -------------------------------------------------------------------------------- 1 | query defaultAccount { 2 | me { 3 | defaultAccount { 4 | id 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /ios/fastlane/Pluginfile: -------------------------------------------------------------------------------- 1 | # Autogenerated by fastlane 2 | # 3 | # Ensure this file is checked in to source control! 4 | 5 | gem 'fastlane-plugin-browserstack' 6 | -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-Bold.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-Thin.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-Thin.ttf -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/username-available.gql: -------------------------------------------------------------------------------- 1 | query usernameAvailable($username: Username!) { 2 | usernameAvailable(username: $username) 3 | } 4 | -------------------------------------------------------------------------------- /.typesafe-i18n.json: -------------------------------------------------------------------------------- 1 | { 2 | "adapter": "react", 3 | "$schema": "https://unpkg.com/typesafe-i18n@5.26.2/schema/typesafe-i18n.json", 4 | "outputPath": "./app/i18n" 5 | } -------------------------------------------------------------------------------- /__mocks__/@react-native-async-storage/async-storage.js: -------------------------------------------------------------------------------- 1 | export { AsyncStorageMock as default } from "@react-native-async-storage/async-storage/jest/async-storage-mock" 2 | -------------------------------------------------------------------------------- /__mocks__/@react-native-firebase/crashlytics.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | 3 | export default () => ({ 4 | log: (message) => {}, 5 | recordError: (err) => {}, 6 | }) 7 | -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-Black.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-Black.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-Italic.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-Light.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-Light.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-Medium.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-Regular.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/SourceSansPro-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/SourceSansPro-Bold.ttf -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/screens/phone-auth-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./request-phone-code-login" 2 | export * from "./phone-login-validation" 3 | export * from "./phone-login-input" 4 | -------------------------------------------------------------------------------- /app/screens/totp-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./totp-registration-initiate" 2 | export * from "./totp-registration-validate" 3 | export * from "./totp-login-validate" 4 | -------------------------------------------------------------------------------- /ci/tasks/test-unit.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -eu 4 | 5 | . pipeline-tasks/ci/tasks/helpers.sh 6 | 7 | unpack_deps 8 | 9 | pushd repo 10 | 11 | yarn test 12 | -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/100.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/1024.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/114.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/120.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/144.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/152.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/167.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/180.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/29.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/50.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/57.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/58.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/72.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/76.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/80.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/AppIcon.appiconset/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/AppIcon.appiconset/87.png -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-ExtraBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-ExtraBold.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-SemiBold.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/SourceSansPro-Italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/SourceSansPro-Italic.ttf -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-hdpi/bootsplash_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/drawable-hdpi/bootsplash_logo.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-mdpi/bootsplash_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/drawable-mdpi/bootsplash_logo.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/screens/authentication-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./login-method-screen" 2 | export * from "./authentication-screen" 3 | export * from "./authentication-check-screen" 4 | -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-BlackItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-BlackItalic.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-BoldItalic.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-ExtraLight.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-ExtraLight.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-LightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-LightItalic.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-MediumItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-MediumItalic.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-ThinItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-ThinItalic.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/SourceSansPro-Regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/SourceSansPro-Regular.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/SourceSansPro-SemiBold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/SourceSansPro-SemiBold.ttf -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xhdpi/bootsplash_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/drawable-xhdpi/bootsplash_logo.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxhdpi/bootsplash_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/drawable-xxhdpi/bootsplash_logo.png -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-xxxhdpi/bootsplash_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/drawable-xxxhdpi/bootsplash_logo.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/components/success-action/field-with-copy.props.tsx: -------------------------------------------------------------------------------- 1 | export type FielWithCopyProps = { 2 | text: string 3 | copiedMessage: string 4 | accessibilityLabel: string 5 | } 6 | -------------------------------------------------------------------------------- /ci/tasks/check-code.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -eu 4 | 5 | . pipeline-tasks/ci/tasks/helpers.sh 6 | 7 | unpack_deps 8 | 9 | pushd repo 10 | 11 | yarn check-code 12 | -------------------------------------------------------------------------------- /e2e/utils/email.sh: -------------------------------------------------------------------------------- 1 | ``` 2 | curl -s -X 'GET' \ 3 | "https://api.mailslurp.com/inboxes/$inboxId/emails" \ 4 | -H 'accept: */*' \ 5 | -H "x-api-key: $MAILSLURP_API_KEY" 6 | ``` 7 | -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-SemiBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-SemiBoldItalic.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/SourceSansPro-BoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/SourceSansPro-BoldItalic.ttf -------------------------------------------------------------------------------- /android/app/src/main/res/drawable-v21/bitcoin_price_widget.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/drawable-v21/bitcoin_price_widget.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /app/screens/conversion-flow/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./conversion-details-screen" 2 | export * from "./conversion-confirmation-screen" 3 | export * from "./conversion-success-screen" 4 | -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-ExtraBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-ExtraBoldItalic.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/Montserrat-ExtraLightItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/Montserrat-ExtraLightItalic.ttf -------------------------------------------------------------------------------- /android/app/src/main/assets/fonts/SourceSansPro-SemiBoldItalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/assets/fonts/SourceSansPro-SemiBoldItalic.ttf -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /android/app/src/main/res/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #000000 4 | -------------------------------------------------------------------------------- /app/assets/icons/downarrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd1.wallet.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd1.wallet.db -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd2.wallet.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd2.wallet.db -------------------------------------------------------------------------------- /.envrc: -------------------------------------------------------------------------------- 1 | if [ -f ".env.local" ]; then 2 | dotenv .env.local 3 | fi 4 | 5 | use flake . 6 | 7 | # One time installs 8 | # xcodes install 15.2 9 | # xcodes runtimes install "iOS 17.0" 10 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | ios 3 | android 4 | .vscode 5 | ignite/ignite.json 6 | package.json 7 | __generated__ 8 | app/components/price-graph/data-tst.ts 9 | .yalc 10 | app/i18n/**/* -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd1.macaroons.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd1.macaroons.db -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd2.macaroons.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd2.macaroons.db -------------------------------------------------------------------------------- /__mocks__/@react-native-clipboard/clipboard.js: -------------------------------------------------------------------------------- 1 | const mockedClipboard = { 2 | setString: jest.fn(), 3 | getString: jest.fn().mockResolvedValue(""), 4 | } 5 | 6 | export default mockedClipboard 7 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd1.admin.macaroon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd1.admin.macaroon -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd2.admin.macaroon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd2.admin.macaroon -------------------------------------------------------------------------------- /.storybook_server/main.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | stories: ['../app/**/*.stories.?(ts|tsx|js|jsx)'], 3 | logLevel: 'debug', 4 | env: () => ({}), 5 | addons: ['@storybook/addon-essentials'] 6 | } -------------------------------------------------------------------------------- /app/utils/logs.ts: -------------------------------------------------------------------------------- 1 | import { LogBox } from "react-native" 2 | import Config from "react-native-config" 3 | 4 | // Interferes in tests 5 | 6 | if (Config.IGNORE_LOGS) LogBox.ignoreLogs(["[GraphQL error]:"]) 7 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd-outside-1.wallet.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd-outside-1.wallet.db -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd-outside-2.wallet.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd-outside-2.wallet.db -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/notifications/notifications.yml: -------------------------------------------------------------------------------- 1 | app: 2 | push_executor: 3 | fcm: 4 | google_application_credentials_path: "./config/notifications/fake_service_account.json" 5 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/account-delete.gql: -------------------------------------------------------------------------------- 1 | mutation accountDelete { 2 | accountDelete { 3 | errors { 4 | message 5 | code 6 | } 7 | success 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /android/Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem "fastlane" 4 | 5 | plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile') 6 | eval_gemfile(plugins_path) if File.exist?(plugins_path) 7 | -------------------------------------------------------------------------------- /app/screens/send-bitcoin-screen/payment-details/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./onchain" 2 | export * from "./intraledger" 3 | export * from "./lightning" 4 | export * from "./index.types" 5 | export * from "./utils" 6 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd-outside-1.macaroons.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd-outside-1.macaroons.db -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd-outside-2.macaroons.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd-outside-2.macaroons.db -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/identity.gql: -------------------------------------------------------------------------------- 1 | query identity { 2 | me { 3 | id 4 | phone 5 | email { 6 | address 7 | verified 8 | } 9 | totpEnabled 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /app/screens/onboarding-screen/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./welcome-level1-screen" 2 | export * from "./email-benefits-screen" 3 | export * from "./lightning-address-benefits-screen" 4 | export * from "./support-screen" 5 | -------------------------------------------------------------------------------- /app/screens/transaction-history/index.types.d.ts: -------------------------------------------------------------------------------- 1 | import { TransactionFragment } from "../../graphql/generated" 2 | 3 | export type SectionTransactions = { 4 | data: TransactionFragment[] 5 | title: string 6 | } 7 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/bria.yml: -------------------------------------------------------------------------------- 1 | app: 2 | blockchain: 3 | network: regtest 4 | electrum_url: fulcrum:50001 5 | tracing: 6 | host: "otel-agent" 7 | port: 4318 8 | service_name: "bria-dev" 9 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd-outside-1.admin.macaroon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd-outside-1.admin.macaroon -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd-outside-2.admin.macaroon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/dev/vendor/galoy-quickstart/dev/config/lnd/regtest/lnd-outside-2.admin.macaroon -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/BootSplashLogo.imageset/bootsplash_logo-ldf3jg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/BootSplashLogo.imageset/bootsplash_logo-ldf3jg.png -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/support-chat.gql: -------------------------------------------------------------------------------- 1 | query supportChat { 2 | me { 3 | id 4 | supportChat { 5 | id 6 | message 7 | role 8 | timestamp 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/BootSplashLogo.imageset/bootsplash_logo-ldf3jg@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/BootSplashLogo.imageset/bootsplash_logo-ldf3jg@2x.png -------------------------------------------------------------------------------- /ios/GaloyApp/Images.xcassets/BootSplashLogo.imageset/bootsplash_logo-ldf3jg@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blinkbitcoin/blink-mobile/HEAD/ios/GaloyApp/Images.xcassets/BootSplashLogo.imageset/bootsplash_logo-ldf3jg@3x.png -------------------------------------------------------------------------------- /android/fastlane/Appfile: -------------------------------------------------------------------------------- 1 | json_key_file("galoyapp-2e25e160d4ba.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one 2 | package_name("com.galoyapp") # e.g. com.krausefx.app 3 | -------------------------------------------------------------------------------- /app/hooks/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./use-geetest-captcha" 2 | export * from "./use-save-session-profile" 3 | export * from "./use-price-conversion" 4 | export * from "./use-app-config" 5 | export * from "./use-show-upgrade-modal" 6 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/fulcrum/fulcrum.conf: -------------------------------------------------------------------------------- 1 | bitcoind = bitcoind:18443 2 | rpcuser = rpcuser 3 | rpcpassword = rpcpassword 4 | peering = false 5 | announce = false 6 | tcp = 0.0.0.0:50001 7 | ssl = 0.0.0.0:50002 8 | -------------------------------------------------------------------------------- /android/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | #000000 3 | #ffffff 4 | #FC5805 5 | 6 | -------------------------------------------------------------------------------- /apollo.client.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | client: { 3 | includes: ["app/**/*.{ts,tsx,js,jsx,graphql}"], 4 | service: { 5 | name: `galoy`, 6 | url: `http://localhost:4000/graphql`, 7 | }, 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/user-login.gql: -------------------------------------------------------------------------------- 1 | mutation userLogin($input: UserLoginInput!) { 2 | userLogin(input: $input) { 3 | errors { 4 | code 5 | message 6 | } 7 | authToken 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/callback-endpoint-add.gql: -------------------------------------------------------------------------------- 1 | mutation callbackEndpointAdd($input: CallbackEndpointAddInput!) { 2 | callbackEndpointAdd(input: $input) { 3 | errors { 4 | message 5 | } 6 | id 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/callback-endpoints-list.gql: -------------------------------------------------------------------------------- 1 | query callbackEndpointsList { 2 | me { 3 | defaultAccount { 4 | callbackEndpoints { 5 | id 6 | url 7 | } 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/ln-invoice-fee-probe.gql: -------------------------------------------------------------------------------- 1 | mutation LnInvoiceFeeProbe($input: LnInvoiceFeeProbeInput!) { 2 | lnInvoiceFeeProbe(input: $input) { 3 | errors { 4 | message 5 | } 6 | amount 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/user-notification-settings.gql: -------------------------------------------------------------------------------- 1 | query userNotificationSettings { 2 | me { 3 | id 4 | notificationSettings { 5 | push { 6 | enabled 7 | } 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/on-chain-payment-send.gql: -------------------------------------------------------------------------------- 1 | mutation onChainPaymentSend($input: OnChainPaymentSendInput!) { 2 | onChainPaymentSend(input: $input) { 3 | errors { 4 | message 5 | } 6 | status 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /app/utils/format-public-key.ts: -------------------------------------------------------------------------------- 1 | export const formatPublicKey = (rawKey: string): string => { 2 | try { 3 | return JSON.parse(`"${rawKey}"`).trim() 4 | } catch { 5 | return rawKey.replace(/\\n/g, "\n").replace(/\r/g, "").trim() 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/ln-usd-invoice-fee-probe.gql: -------------------------------------------------------------------------------- 1 | mutation lnUsdInvoiceFeeProbe($input: LnUsdInvoiceFeeProbeInput!) { 2 | lnUsdInvoiceFeeProbe(input: $input) { 3 | errors { 4 | message 5 | } 6 | amount 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/on-chain-address-create.gql: -------------------------------------------------------------------------------- 1 | mutation onChainAddressCreate($input: OnChainAddressCreateInput!) { 2 | onChainAddressCreate(input: $input) { 3 | address 4 | errors { 5 | message 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /ios/Gemfile: -------------------------------------------------------------------------------- 1 | source "https://rubygems.org" 2 | 3 | gem "fastlane" 4 | gem "cocoapods", "~> 1.14", ">= 1.14.3" 5 | 6 | plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile') 7 | eval_gemfile(plugins_path) if File.exist?(plugins_path) 8 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/helpers/gql/on-chain-address-create.gql: -------------------------------------------------------------------------------- 1 | mutation onChainAddressCreate($input: OnChainAddressCreateInput!) { 2 | onChainAddressCreate(input: $input) { 3 | address 4 | errors { 5 | message 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/ln-invoice-cancel.gql: -------------------------------------------------------------------------------- 1 | mutation LnInvoiceCancel($input: LnInvoiceCancelInput!) { 2 | lnInvoiceCancel(input: $input) { 3 | errors { 4 | code 5 | message 6 | } 7 | success 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/on-chain-address-current.gql: -------------------------------------------------------------------------------- 1 | mutation onChainAddressCurrent($input: OnChainAddressCurrentInput!) { 2 | onChainAddressCurrent(input: $input) { 3 | address 4 | errors { 5 | message 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/on-chain-payment-send-all.gql: -------------------------------------------------------------------------------- 1 | mutation onChainPaymentSendAll($input: OnChainPaymentSendAllInput!) { 2 | onChainPaymentSendAll(input: $input) { 3 | errors { 4 | message 5 | } 6 | status 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/on-chain-tx-fee.gql: -------------------------------------------------------------------------------- 1 | query onChainTxFee($walletId: WalletId!, $address: OnChainAddress!, $amount: SatAmount!) { 2 | onChainTxFee(walletId: $walletId, address: $address, amount: $amount) { 3 | amount 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/on-chain-usd-payment-send.gql: -------------------------------------------------------------------------------- 1 | mutation onChainUsdPaymentSend($input: OnChainUsdPaymentSendInput!) { 2 | onChainUsdPaymentSend(input: $input) { 3 | errors { 4 | message 5 | } 6 | status 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/callback-endpoint-delete.gql: -------------------------------------------------------------------------------- 1 | mutation callbackEndpointDelete($input: CallbackEndpointDeleteInput!) { 2 | callbackEndpointDelete(input: $input) { 3 | errors { 4 | message 5 | } 6 | success 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/update-display-currency.gql: -------------------------------------------------------------------------------- 1 | mutation displayCurrencyUpdate($input: AccountUpdateDisplayCurrencyInput!) { 2 | accountUpdateDisplayCurrency(input: $input) { 3 | account { 4 | displayCurrency 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /app/assets/icons-redesign/caret-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/assets/icons-redesign/caret-left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/assets/icons-redesign/caret-right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/assets/icons-redesign/caret-up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/assets/icons-redesign/check.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /app/graphql/is-authed-context.ts: -------------------------------------------------------------------------------- 1 | import { createContext, useContext } from "react" 2 | 3 | const IsAuthed = createContext(false) 4 | 5 | export const IsAuthedContextProvider = IsAuthed.Provider 6 | 7 | export const useIsAuthed = () => useContext(IsAuthed) 8 | -------------------------------------------------------------------------------- /app/utils/sleep.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * A "modern" sleep statement. 3 | * 4 | * @param ms The number of milliseconds to wait. 5 | */ 6 | export const sleep = (ms: number): Promise => 7 | new Promise((resolve) => { 8 | setTimeout(resolve, ms) 9 | }) 10 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/user-totp-registration-initiate.gql: -------------------------------------------------------------------------------- 1 | mutation userTotpRegistrationInitiate { 2 | userTotpRegistrationInitiate { 3 | errors { 4 | message 5 | } 6 | totpRegistrationId 7 | totpSecret 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /ios/GaloyApp/main.m: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | #import "AppDelegate.h" 4 | 5 | int main(int argc, char *argv[]) 6 | { 7 | @autoreleasepool { 8 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /dev/bin/one-block-every-5s.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | REPO_ROOT=$(git rev-parse --show-toplevel) 6 | 7 | source ${REPO_ROOT}/dev/vendor/galoy-quickstart/bin/helpers.sh 8 | 9 | while true; do 10 | bitcoin_cli -generate 1 11 | sleep 5 12 | done 13 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/helpers/gql/update-username.gql: -------------------------------------------------------------------------------- 1 | mutation UserUpdateUsername($input: UserUpdateUsernameInput!) { 2 | userUpdateUsername(input: $input) { 3 | errors { 4 | message 5 | } 6 | user { 7 | id 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/account-default-wallet.gql: -------------------------------------------------------------------------------- 1 | query accountDefaultWallet($username: Username!, $walletCurrency: WalletCurrency) { 2 | accountDefaultWallet(username: $username, walletCurrency: $walletCurrency) { 3 | id 4 | currency 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/ln-no-amount-invoice-fee-probe.gql: -------------------------------------------------------------------------------- 1 | mutation lnNoAmountInvoiceFeeProbe($input: LnNoAmountInvoiceFeeProbeInput!) { 2 | lnNoAmountInvoiceFeeProbe(input: $input) { 3 | errors { 4 | message 5 | } 6 | amount 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /__mocks__/react-native-device-info.js: -------------------------------------------------------------------------------- 1 | const getReadableVersion = jest.fn(() => "1.0.0") 2 | const getBuildNumber = jest.fn(() => "1234") 3 | 4 | export { getReadableVersion, getBuildNumber } 5 | 6 | export default { 7 | getReadableVersion, 8 | getBuildNumber, 9 | } 10 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/account-update-default-wallet-id.gql: -------------------------------------------------------------------------------- 1 | mutation accountUpdateDefaultWalletId($input: AccountUpdateDefaultWalletIdInput!) { 2 | accountUpdateDefaultWalletId(input: $input) { 3 | account { 4 | defaultWalletId 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/ln-no-amount-invoice-payment-send.gql: -------------------------------------------------------------------------------- 1 | mutation lnNoAmountInvoicePaymentSend($input: LnNoAmountInvoicePaymentInput!) { 2 | lnNoAmountInvoicePaymentSend(input: $input) { 3 | errors { 4 | message 5 | } 6 | status 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/user-login-upgrade.gql: -------------------------------------------------------------------------------- 1 | mutation userLoginUpgrade($input: UserLoginUpgradeInput!) { 2 | userLoginUpgrade(input: $input) { 3 | errors { 4 | message 5 | code 6 | } 7 | success 8 | authToken 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/business-map-markers.gql: -------------------------------------------------------------------------------- 1 | query businessMapMarkers { 2 | businessMapMarkers { 3 | username 4 | mapInfo { 5 | title 6 | coordinates { 7 | longitude 8 | latitude 9 | } 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/intraledger-payment-send.gql: -------------------------------------------------------------------------------- 1 | mutation intraLedgerPaymentSend($input: IntraLedgerPaymentSendInput!) { 2 | intraLedgerPaymentSend(input: $input) { 3 | status 4 | errors { 5 | message 6 | path 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/ln-invoice-payment-status-by-hash.gql: -------------------------------------------------------------------------------- 1 | query LnInvoicePaymentStatusByHashQuery($input: LnInvoicePaymentStatusByHashInput!) { 2 | lnInvoicePaymentStatusByHash(input: $input) { 3 | status 4 | paymentHash 5 | paymentRequest 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/ln-no-amount-usd-invoice-fee-probe.gql: -------------------------------------------------------------------------------- 1 | mutation lnNoAmountUsdInvoiceFeeProbe($input: LnNoAmountUsdInvoiceFeeProbeInput!) { 2 | lnNoAmountUsdInvoiceFeeProbe(input: $input) { 3 | errors { 4 | message 5 | } 6 | amount 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/config/lnd/tls.key: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIPy74CUpAM/gvRurq0S+XiZDQOh4HZodHpY4XZzZyEkfoAoGCCqGSM49 3 | AwEHoUQDQgAE3YbyIJYMUro3fItPQns+1giiMr95IQtfrQCCba9emr28LCfnMoc/ 4 | UAQpRX7AYoTTgyGb0PndcT81yeX/a9OkDA== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/dev/helpers/gql/wallets-for-account.gql: -------------------------------------------------------------------------------- 1 | query me { 2 | me { 3 | defaultAccount { 4 | id 5 | wallets { 6 | id 7 | walletCurrency 8 | balance 9 | pendingIncomingBalance 10 | } 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/user-email-delete.gql: -------------------------------------------------------------------------------- 1 | mutation userEmailDelete { 2 | userEmailDelete { 3 | errors { 4 | message 5 | } 6 | me { 7 | id 8 | email { 9 | address 10 | verified 11 | } 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/user-phone-registration-initiate.gql: -------------------------------------------------------------------------------- 1 | mutation userPhoneRegistrationInitiate($input: UserPhoneRegistrationInitiateInput!) { 2 | userPhoneRegistrationInitiate(input: $input) { 3 | errors { 4 | message 5 | } 6 | success 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/wallets-for-account.gql: -------------------------------------------------------------------------------- 1 | query me { 2 | me { 3 | defaultAccount { 4 | id 5 | wallets { 6 | id 7 | walletCurrency 8 | balance 9 | pendingIncomingBalance 10 | } 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/graphql/ln-update-context.ts: -------------------------------------------------------------------------------- 1 | import { createContext, useContext } from "react" 2 | 3 | const LnUpdateHashPaid = createContext("") 4 | 5 | export const LnUpdateHashPaidProvider = LnUpdateHashPaid.Provider 6 | 7 | export const useLnUpdateHashPaid = () => useContext(LnUpdateHashPaid) 8 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/intraledger-usd-payment-send.gql: -------------------------------------------------------------------------------- 1 | mutation intraLedgerUsdPaymentSend($input: IntraLedgerUsdPaymentSendInput!) { 2 | intraLedgerUsdPaymentSend(input: $input) { 3 | status 4 | errors { 5 | message 6 | path 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/ln-no-amount-usd-invoice-payment-send.gql: -------------------------------------------------------------------------------- 1 | mutation lnNoAmountUsdInvoicePaymentSend($input: LnNoAmountUsdInvoicePaymentInput!) { 2 | lnNoAmountUsdInvoicePaymentSend(input: $input) { 3 | errors { 4 | message 5 | } 6 | status 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/user-totp-delete.gql: -------------------------------------------------------------------------------- 1 | mutation userTotpDelete { 2 | userTotpDelete { 3 | errors { 4 | message 5 | } 6 | me { 7 | totpEnabled 8 | email { 9 | address 10 | verified 11 | } 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /__tests__/payment-destination/helpers.ts: -------------------------------------------------------------------------------- 1 | import { WalletCurrency } from "@app/graphql/generated" 2 | 3 | export const defaultPaymentDetailParams = { 4 | convertMoneyAmount: jest.fn(), 5 | sendingWalletDescriptor: { 6 | currency: WalletCurrency.Btc, 7 | id: "testid", 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /app/assets/icons-redesign/lightning.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/on-chain-usd-tx-fee.gql: -------------------------------------------------------------------------------- 1 | query onChainUsdTxFee( 2 | $walletId: WalletId! 3 | $address: OnChainAddress! 4 | $amount: CentAmount! 5 | ) { 6 | onChainUsdTxFee(walletId: $walletId, address: $address, amount: $amount) { 7 | amount 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/user-update-language.gql: -------------------------------------------------------------------------------- 1 | mutation userUpdateLanguage($input: UserUpdateLanguageInput!) { 2 | userUpdateLanguage(input: $input) { 3 | user { 4 | language 5 | } 6 | errors { 7 | code 8 | message 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /android/fastlane/Pluginfile: -------------------------------------------------------------------------------- 1 | # Autogenerated by fastlane 2 | # 3 | # Ensure this file is checked in to source control! 4 | 5 | gem 'fastlane-plugin-increment_version_code' 6 | gem 'fastlane-plugin-huawei_appgallery_connect' 7 | gem 'fastlane-plugin-browserstack' 8 | gem 'fastlane-plugin-versioning_android' 9 | -------------------------------------------------------------------------------- /app/i18n/af/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/af.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/ar/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from "../en" 3 | import rawTranslated from "../raw-i18n/translations/ar.json" 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/ca/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/ca.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/cs/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/cs.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/da/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/da.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/de/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/de.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/el/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/el.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/es/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/es.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/fr/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/fr.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/hr/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/hr.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/hu/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/hu.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/hy/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/hy.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/it/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/it.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/ja/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/ja.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/lg/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/lg.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/ms/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from "../en" 3 | import rawTranslated from "../raw-i18n/translations/ms.json" 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/nl/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from "../en" 3 | import rawTranslated from "../raw-i18n/translations/nl.json" 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/pt/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/pt.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/qu/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/qu.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/sr/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/sr.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/sw/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/sw.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/th/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/th.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/tr/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/tr.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /app/i18n/vi/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/vi.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/api-keys.gql: -------------------------------------------------------------------------------- 1 | query apiKeys { 2 | me { 3 | defaultAccount { 4 | id 5 | } 6 | apiKeys { 7 | id 8 | name 9 | revoked 10 | createdAt 11 | expiresAt 12 | readOnly 13 | scopes 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/ln-invoice-create.gql: -------------------------------------------------------------------------------- 1 | mutation lnInvoiceCreateInput($input: LnInvoiceCreateInput!) { 2 | lnInvoiceCreate(input: $input) { 3 | invoice { 4 | paymentRequest 5 | paymentHash 6 | } 7 | errors { 8 | message 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /dev/vendor/galoy-quickstart/graphql/gql/lnurl-payment-send.gql: -------------------------------------------------------------------------------- 1 | mutation lnurlPaymentSend($input: LnurlPaymentSendInput!) { 2 | lnurlPaymentSend(input: $input) { 3 | errors { 4 | message 5 | path 6 | } 7 | status 8 | transaction { 9 | id 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /app/i18n/ro/index.ts: -------------------------------------------------------------------------------- 1 | import { Translation } from "../i18n-types" 2 | import en from '../en' 3 | import rawTranslated from '../raw-i18n/translations/ro.json' 4 | import merge from "lodash.merge" 5 | 6 | const translated: Translation = merge({}, en as Translation, rawTranslated) 7 | 8 | export default translated 9 | -------------------------------------------------------------------------------- /app/utils/testProps.ts: -------------------------------------------------------------------------------- 1 | // This is used for E2E tests to apply id's to a 2 | // Usage: 3 | //