├── .gitattributes
├── .gitignore
├── .gitmodules
├── .metadata
├── CHANGELOG.md
├── CODEOWNERS
├── LICENSE
├── README.md
├── analysis_options.yaml
├── android
├── .gitignore
├── app
│ ├── build.gradle
│ ├── google-services.json
│ ├── libs
│ │ ├── gopenpgp.aar
│ │ └── proton_crypto.h
│ ├── proguard-rules.pro
│ ├── schemas
│ │ └── me.proton.wallet.android.db.AppDatabase
│ │ │ ├── 1.json
│ │ │ ├── 2.json
│ │ │ ├── 3.json
│ │ │ └── 4.json
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── kotlin
│ │ └── me
│ │ │ └── proton
│ │ │ ├── core
│ │ │ └── configuration
│ │ │ │ └── EnvironmentConfigurationDefaults.java
│ │ │ └── wallet
│ │ │ └── android
│ │ │ ├── WalletApiClient.kt
│ │ │ ├── WalletApplication.kt
│ │ │ ├── WalletFlutterPlugin.kt
│ │ │ ├── WalletLogger.kt
│ │ │ ├── activity
│ │ │ ├── MainActivity.kt
│ │ │ └── MainActivityViewModel.kt
│ │ │ ├── channel
│ │ │ ├── FlutterMethodChannel.kt
│ │ │ └── NativeMethodChannel.kt
│ │ │ ├── db
│ │ │ ├── AppDatabase.kt
│ │ │ └── AppDatabaseMigrations.kt
│ │ │ ├── di
│ │ │ ├── AppDatabaseModule.kt
│ │ │ ├── ApplicationModule.kt
│ │ │ ├── AuthModule.kt
│ │ │ ├── CorePlanModule.kt
│ │ │ ├── EventManagerModule.kt
│ │ │ ├── HumanVerificationModule.kt
│ │ │ ├── NetworkModule.kt
│ │ │ └── PlansModule.kt
│ │ │ └── initializer
│ │ │ ├── AccountStateHandlerInitializer.kt
│ │ │ ├── EventManagerInitializer.kt
│ │ │ ├── FeatureFlagInitializer.kt
│ │ │ ├── LoggerInitializer.kt
│ │ │ ├── MainInitializer.kt
│ │ │ ├── SentryInitializer.kt
│ │ │ ├── StrictModeInitializer.kt
│ │ │ └── WorkManagerInitializer.kt
│ │ └── res
│ │ ├── drawable-v21
│ │ └── launch_background.xml
│ │ ├── drawable
│ │ ├── ic_launcher_background.xml
│ │ ├── ic_launcher_foreground.xml
│ │ ├── ic_launcher_monochrome.xml
│ │ └── launch_background.xml
│ │ ├── mipmap-anydpi-v26
│ │ ├── ic_launcher.xml
│ │ └── ic_launcher_round.xml
│ │ ├── mipmap-hdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_foreground.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-mdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_foreground.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xhdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_foreground.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxhdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_foreground.png
│ │ └── ic_launcher_round.png
│ │ ├── mipmap-xxxhdpi
│ │ ├── ic_launcher.png
│ │ ├── ic_launcher_foreground.png
│ │ └── ic_launcher_round.png
│ │ ├── values-night
│ │ ├── colors.xml
│ │ └── themes.xml
│ │ └── values
│ │ ├── colors.xml
│ │ ├── config.xml
│ │ ├── ic_launcher_background.xml
│ │ ├── sizes.xml
│ │ ├── string.xml
│ │ └── themes.xml
├── build.gradle
├── gradle.properties
├── gradle
│ ├── libs.versions.toml
│ └── wrapper
│ │ └── gradle-wrapper.properties
└── settings.gradle
├── assets
├── fonts
│ └── Inter-VariableFont.ttf
├── images
│ ├── icon
│ │ ├── add_account.svg
│ │ ├── alert_warning.svg
│ │ ├── apple_pay.svg
│ │ ├── banxa.svg
│ │ ├── bitcoin.svg
│ │ ├── bitcoin_big_icon.png
│ │ ├── bitcoin_big_icon_dark.png
│ │ ├── credit_card.svg
│ │ ├── delete_warning.svg
│ │ ├── delete_warning_dark.svg
│ │ ├── discover_bitcoin_guide.png
│ │ ├── discover_bve.png
│ │ ├── discover_how_to_protect.png
│ │ ├── discover_proton_wallet_launch.png
│ │ ├── discover_proton_wallet_security.png
│ │ ├── discover_what_is_bitcoin.png
│ │ ├── do_transactions.svg
│ │ ├── download.png
│ │ ├── download_button.svg
│ │ ├── download_button_dark.svg
│ │ ├── download_dark.png
│ │ ├── drawer_menu.svg
│ │ ├── drawer_menu_dark.svg
│ │ ├── early_access.png
│ │ ├── early_access_dark.png
│ │ ├── error_message.svg
│ │ ├── euro.svg
│ │ ├── ic_arrow_out_from_rectanglesignout.svg
│ │ ├── ic_arrow_out_square.svg
│ │ ├── ic_arrow_rotate_right.svg
│ │ ├── ic_bugreport.svg
│ │ ├── ic_checkmark.svg
│ │ ├── ic_chevron_tiny_down.svg
│ │ ├── ic_cog_wheel.svg
│ │ ├── ic_copy.svg
│ │ ├── ic_copy_dark.svg
│ │ ├── ic_cross.svg
│ │ ├── ic_diamondwallet_plus.svg
│ │ ├── ic_info_circle.svg
│ │ ├── ic_info_circle_dark.svg
│ │ ├── ic_message.svg
│ │ ├── ic_plus_circle.svg
│ │ ├── ic_qr_code.svg
│ │ ├── ic_qr_code_dark.svg
│ │ ├── ic_shield.svg
│ │ ├── ic_sign.svg
│ │ ├── ic_sign_dark.svg
│ │ ├── ic_squares.svg
│ │ ├── ic_squares_in_squarediscover.svg
│ │ ├── key.png
│ │ ├── key_dark.png
│ │ ├── launch_icon.png
│ │ ├── lock.png
│ │ ├── lock_dark.png
│ │ ├── logo_text.svg
│ │ ├── moonpay.svg
│ │ ├── no_wallet_found.svg
│ │ ├── note.svg
│ │ ├── note_dark.svg
│ │ ├── paper_plane.png
│ │ ├── paper_plane_dark.png
│ │ ├── pencil.svg
│ │ ├── pencil_dark.svg
│ │ ├── proton_calendar.svg
│ │ ├── proton_drive.svg
│ │ ├── proton_for_business.svg
│ │ ├── proton_mail.svg
│ │ ├── proton_pass.svg
│ │ ├── ramp.svg
│ │ ├── receive.svg
│ │ ├── receive_dark.svg
│ │ ├── search.svg
│ │ ├── search_dark.svg
│ │ ├── send.svg
│ │ ├── send_1.svg
│ │ ├── send_dark.svg
│ │ ├── setup_preference.svg
│ │ ├── setup_preference_dark.svg
│ │ ├── sign_header.png
│ │ ├── sign_header_dark.png
│ │ ├── star.svg
│ │ ├── user.png
│ │ ├── user_dark.png
│ │ ├── visibility.svg
│ │ ├── visibility_off.svg
│ │ ├── wallet.svg
│ │ ├── wallet_0.svg
│ │ ├── wallet_0_dark.svg
│ │ ├── wallet_1.svg
│ │ ├── wallet_1_dark.svg
│ │ ├── wallet_2.svg
│ │ ├── wallet_2_dark.svg
│ │ ├── wallet_3.svg
│ │ ├── wallet_3_dark.svg
│ │ ├── wallet_4.svg
│ │ ├── wallet_4_dark.svg
│ │ ├── wallet_account_0.svg
│ │ ├── wallet_account_1.svg
│ │ ├── wallet_account_2.svg
│ │ ├── wallet_account_3.svg
│ │ ├── wallet_account_4.svg
│ │ ├── wallet_edit.svg
│ │ └── wallet_edit_dark.svg
│ ├── logos
│ │ └── proton_p_logo.svg
│ ├── wallet_creation
│ │ ├── bg.svg
│ │ ├── card.svg
│ │ ├── logo.svg
│ │ ├── passphrase_icon.svg
│ │ ├── proton_wallet_logo_dark.svg
│ │ ├── proton_wallet_logo_light.svg
│ │ ├── title.svg
│ │ └── wallet.svg
│ └── welcome
│ │ ├── proton_privacy_by_default_footer.svg
│ │ ├── proton_wallet_logo_mark.svg
│ │ ├── wallet_welcome_head.jpg
│ │ ├── wallet_welcome_head.png
│ │ ├── wallet_welcome_head.svg
│ │ ├── wallet_welcome_head_cover.svg
│ │ └── wallet_welcome_head_dark.png
└── json
│ ├── custom_discovers.json
│ └── ramp_countries.json
├── build_instructions
└── android
│ ├── Dockerfile
│ ├── README.md
│ ├── build.sh
│ ├── docker-entrypoint.sh
│ └── install-deps.sh
├── flutter_rust_bridge.yaml
├── ios
├── .gitignore
├── Flutter
│ ├── AppFrameworkInfo.plist
│ ├── Debug.xcconfig
│ ├── Profile.xcconfig
│ └── Release.xcconfig
├── Gemfile
├── Gemfile.lock
├── Podfile
├── Podfile.lock
├── Profile.xcconfig
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ ├── WorkspaceSettings.xcsettings
│ │ │ └── swiftpm
│ │ │ └── Package.resolved
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ ├── WorkspaceSettings.xcsettings
│ │ └── swiftpm
│ │ └── Package.resolved
├── Runner
│ ├── AppDelegate.swift
│ ├── AppVersionHeader.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── Icon-App-1024x1024@1x.png
│ │ │ ├── Icon-App-20x20@1x.png
│ │ │ ├── Icon-App-20x20@2x.png
│ │ │ ├── Icon-App-20x20@3x.png
│ │ │ ├── Icon-App-29x29@1x.png
│ │ │ ├── Icon-App-29x29@2x.png
│ │ │ ├── Icon-App-29x29@3x.png
│ │ │ ├── Icon-App-40x40@1x.png
│ │ │ ├── Icon-App-40x40@2x.png
│ │ │ ├── Icon-App-40x40@3x.png
│ │ │ ├── Icon-App-50x50@1x.png
│ │ │ ├── Icon-App-50x50@2x.png
│ │ │ ├── Icon-App-57x57@1x.png
│ │ │ ├── Icon-App-57x57@2x.png
│ │ │ ├── Icon-App-60x60@2x.png
│ │ │ ├── Icon-App-60x60@3x.png
│ │ │ ├── Icon-App-72x72@1x.png
│ │ │ ├── Icon-App-72x72@2x.png
│ │ │ ├── Icon-App-76x76@1x.png
│ │ │ ├── Icon-App-76x76@2x.png
│ │ │ └── Icon-App-83.5x83.5@2x.png
│ │ ├── Contents.json
│ │ ├── LaunchBackground.colorset
│ │ │ └── Contents.json
│ │ └── LaunchImage.imageset
│ │ │ ├── Contents.json
│ │ │ ├── LaunchImage.png
│ │ │ └── README.md
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Environment.swift
│ ├── Extensions.swift
│ ├── Info.plist
│ ├── Moonpay
│ │ └── Moonpay.swift
│ ├── Payments
│ │ ├── InMemoryTokenStorage.swift
│ │ ├── PaymentsConstants.swift
│ │ ├── PaymentsManager.swift
│ │ └── UserDefaultsServicePlanDataStorage.swift
│ ├── Runner-Black.entitlements
│ ├── Runner-Bridging-Header.h
│ ├── Runner.entitlements
│ ├── WalletApiServiceMananger.swift
│ ├── de.lproj
│ │ ├── LaunchScreen.strings
│ │ └── Main.strings
│ ├── es-419.lproj
│ │ ├── LaunchScreen.strings
│ │ └── Main.strings
│ ├── es.lproj
│ │ ├── LaunchScreen.strings
│ │ └── Main.strings
│ ├── fr.lproj
│ │ ├── LaunchScreen.strings
│ │ └── Main.strings
│ ├── it.lproj
│ │ ├── LaunchScreen.strings
│ │ └── Main.strings
│ ├── nl.lproj
│ │ ├── LaunchScreen.strings
│ │ └── Main.strings
│ ├── pl.lproj
│ │ ├── LaunchScreen.strings
│ │ └── Main.strings
│ ├── pt-BR.lproj
│ │ ├── LaunchScreen.strings
│ │ └── Main.strings
│ ├── ru.lproj
│ │ ├── LaunchScreen.strings
│ │ └── Main.strings
│ └── tr.lproj
│ │ ├── LaunchScreen.strings
│ │ └── Main.strings
├── RunnerTests
│ └── RunnerTests.swift
└── fastlane
│ ├── Fastfile
│ └── README.md
├── l10n.yaml
├── lefthook.yml
├── lib
├── constants
│ ├── app.config.dart
│ ├── assets.gen.dart
│ ├── coin_type.dart
│ ├── constants.dart
│ ├── env.dart
│ ├── env.var.dart
│ ├── fonts.gen.dart
│ ├── proton.color.dart
│ ├── proton.image.dart
│ ├── script_type.dart
│ ├── sizedbox.dart
│ └── text.style.dart
├── helper
│ ├── avatar.color.helper.dart
│ ├── bdk
│ │ └── bdk.library.dart
│ ├── bitcoin.amount.dart
│ ├── common.helper.dart
│ ├── dbhelper.dart
│ ├── exceptions.dart
│ ├── exchange.caculator.dart
│ ├── extension
│ │ ├── asset.gen.image.extension.dart
│ │ ├── bitcoin.unit.extension.dart
│ │ ├── build.context.extension.dart
│ │ ├── data.dart
│ │ ├── datetime.dart
│ │ ├── enum.extension.dart
│ │ ├── frb.address.details.dart
│ │ ├── platform.extension.dart
│ │ ├── response.error.extension.dart
│ │ ├── stream.controller.dart
│ │ ├── strings.dart
│ │ └── svg.gen.image.extension.dart
│ ├── external.url.dart
│ ├── fiat.currency.dart
│ ├── local_toast.dart
│ ├── logger.dart
│ ├── network.inspector.dart
│ ├── path.helper.dart
│ ├── two.factor.auth.dart
│ ├── user.agent.dart
│ └── user.settings.provider.dart
├── l10n
│ ├── locale_de.arb
│ ├── locale_en.arb
│ ├── locale_es.arb
│ ├── locale_es_419.arb
│ ├── locale_fr.arb
│ ├── locale_it.arb
│ ├── locale_nl.arb
│ ├── locale_pl.arb
│ ├── locale_pt.arb
│ ├── locale_ru.arb
│ ├── locale_tr.arb
│ ├── locale_zh.arb
│ ├── locale_zh_CN.arb
│ └── locale_zh_TW.arb
├── main.dart
├── managers
│ ├── api.service.manager.dart
│ ├── app.migration.manager.dart
│ ├── app.state.manager.dart
│ ├── channels
│ │ ├── native.view.channel.dart
│ │ ├── onramp.moonpay.channel.dart
│ │ ├── platform.channel.event.dart
│ │ ├── platform.channel.manager.dart
│ │ └── platform.channel.state.dart
│ ├── event.loop.manager.dart
│ ├── features
│ │ ├── buy.bitcoin
│ │ │ ├── buybitcoin.bloc.dart
│ │ │ ├── buybitcoin.bloc.event.dart
│ │ │ ├── buybitcoin.bloc.model.dart
│ │ │ └── buybitcoin.bloc.state.dart
│ │ ├── proton.recovery
│ │ │ ├── proton.recovery.bloc.dart
│ │ │ ├── proton.recovery.event.dart
│ │ │ └── proton.recovery.state.dart
│ │ ├── proton.twofa
│ │ │ ├── proton.twofa.bloc.dart
│ │ │ ├── proton.twofa.event.dart
│ │ │ └── proton.twofa.state.dart
│ │ ├── settings
│ │ │ └── clear.cache.bloc.dart
│ │ ├── wallet.balance
│ │ │ └── wallet.balance.bloc.dart
│ │ ├── wallet.list
│ │ │ ├── wallet.list.bloc.dart
│ │ │ ├── wallet.list.bloc.event.dart
│ │ │ ├── wallet.list.bloc.model.dart
│ │ │ └── wallet.list.bloc.state.dart
│ │ ├── wallet.trans
│ │ │ └── wallet.transaction.bloc.dart
│ │ └── wallet
│ │ │ ├── create.wallet.bloc.dart
│ │ │ ├── delete.wallet.bloc.dart
│ │ │ ├── update.wallet.bloc.dart
│ │ │ └── wallet.name.bloc.dart
│ ├── local.auth.manager.dart
│ ├── manager.dart
│ ├── manager.factory.dart
│ ├── preferences
│ │ ├── hive.preference.impl.dart
│ │ ├── preferences.interface.dart
│ │ ├── preferences.keys.dart
│ │ ├── preferences.manager.dart
│ │ └── shared.preference.impl.dart
│ ├── proton.wallet.manager.dart
│ ├── providers
│ │ ├── address.keys.provider.dart
│ │ ├── backup.alert.timer.provider.dart
│ │ ├── balance.data.provider.dart
│ │ ├── bdk.transaction.data.provider.dart
│ │ ├── blockinfo.data.provider.dart
│ │ ├── connectivity.provider.dart
│ │ ├── contacts.data.provider.dart
│ │ ├── data.provider.manager.dart
│ │ ├── exchange.data.provider.dart
│ │ ├── exclusive.invite.data.provider.dart
│ │ ├── gateway.data.provider.dart
│ │ ├── local.bitcoin.address.provider.dart
│ │ ├── mock
│ │ │ └── mock.price.graph.data.provider.dart
│ │ ├── models
│ │ │ ├── wallet.key.dart
│ │ │ ├── wallet.key.g.dart
│ │ │ ├── wallet.mnemonic.dart
│ │ │ ├── wallet.mnemonic.g.dart
│ │ │ ├── wallet.passphrase.dart
│ │ │ └── wallet.passphrase.g.dart
│ │ ├── pool.address.data.provider.dart
│ │ ├── price.graph.data.provider.dart
│ │ ├── proton.address.provider.dart
│ │ ├── receive.address.data.provider.dart
│ │ ├── server.transaction.data.provider.dart
│ │ ├── unleash.data.provider.dart
│ │ ├── user.data.provider.dart
│ │ ├── user.settings.data.provider.dart
│ │ ├── wallet.data.provider.dart
│ │ ├── wallet.keys.provider.dart
│ │ ├── wallet.mnemonic.provider.dart
│ │ ├── wallet.name.provider.dart
│ │ └── wallet.passphrase.provider.dart
│ ├── request.queue.manager.dart
│ ├── secure.storage
│ │ ├── secure.storage.dart
│ │ ├── secure.storage.interface.dart
│ │ └── secure.storage.manager.dart
│ ├── services
│ │ ├── exchange.rate.service.dart
│ │ └── service.dart
│ ├── users
│ │ ├── multiple.users.manager.dart
│ │ ├── user.key.dart
│ │ ├── user.manager.dart
│ │ ├── user.manager.event.dart
│ │ └── user.manager.state.dart
│ └── wallet
│ │ ├── account.bitcoin.address.info.dart
│ │ ├── wallet.account.manager.dart
│ │ ├── wallet.account.service.dart
│ │ ├── wallet.manager.dart
│ │ └── wallet.selector.bloc.dart
├── models
│ ├── account.dao.impl.dart
│ ├── account.model.dart
│ ├── address.dao.impl.dart
│ ├── address.model.dart
│ ├── bitcoin.address.dao.impl.dart
│ ├── bitcoin.address.model.dart
│ ├── contacts.dao.impl.dart
│ ├── contacts.model.dart
│ ├── database
│ │ ├── account.database.dart
│ │ ├── address.database.dart
│ │ ├── app.database.dart
│ │ ├── base.dao.dart
│ │ ├── base.database.dart
│ │ ├── bitcoin.address.database.dart
│ │ ├── contacts.database.dart
│ │ ├── database.migration.dart
│ │ ├── exchangerate.database.dart
│ │ ├── migration.container.dart
│ │ ├── migration.dart
│ │ ├── transaction.database.dart
│ │ ├── transaction.info.database.dart
│ │ └── wallet.database.dart
│ ├── drift
│ │ ├── db
│ │ │ ├── app.database.dart
│ │ │ └── app.database.g.dart
│ │ ├── exceptions.dart
│ │ ├── tables
│ │ │ ├── proton.address.dart
│ │ │ ├── proton.address.keys.dart
│ │ │ ├── proton.contacts.dart
│ │ │ ├── table.extension.dart
│ │ │ ├── user.keys.dart
│ │ │ ├── user.settings.dart
│ │ │ ├── users.dart
│ │ │ ├── wallet.settings.dart
│ │ │ └── wallet.user.settings.dart
│ │ ├── user.keys.queries.dart
│ │ ├── user.keys.queries.g.dart
│ │ ├── users.queries.dart
│ │ ├── users.queries.g.dart
│ │ ├── wallet.user.settings.queries.dart
│ │ └── wallet.user.settings.queries.g.dart
│ ├── exchangerate.dao.impl.dart
│ ├── exchangerate.model.dart
│ ├── history.transaction.dart
│ ├── native.session.model.dart
│ ├── native.session.model.g.dart
│ ├── ramp.countries.model.dart
│ ├── ramp.countries.model.g.dart
│ ├── transaction.dao.impl.dart
│ ├── transaction.info.dao.impl.dart
│ ├── transaction.info.model.dart
│ ├── transaction.model.dart
│ ├── unlock.timer.dart
│ ├── unlock.type.dart
│ ├── unlock.type.g.dart
│ ├── wallet.dao.impl.dart
│ ├── wallet.keys.store.dart
│ └── wallet.model.dart
├── network
│ ├── api.response.dart
│ ├── api.service.dart
│ └── http.api.service.dart
├── provider
│ ├── locale.provider.dart
│ └── theme.provider.dart
├── rust
│ ├── api
│ │ ├── api_service
│ │ │ ├── address_client.dart
│ │ │ ├── bitcoin_address_client.dart
│ │ │ ├── block_client.dart
│ │ │ ├── discovery_content_client.dart
│ │ │ ├── email_integration_client.dart
│ │ │ ├── event_client.dart
│ │ │ ├── exchange_rate_client.dart
│ │ │ ├── invite_client.dart
│ │ │ ├── onramp_gateway_client.dart
│ │ │ ├── price_graph_client.dart
│ │ │ ├── proton_api_service.dart
│ │ │ ├── proton_contacts_client.dart
│ │ │ ├── proton_email_addr_client.dart
│ │ │ ├── proton_settings_client.dart
│ │ │ ├── proton_users_client.dart
│ │ │ ├── settings_client.dart
│ │ │ ├── transaction_client.dart
│ │ │ ├── unleash_client.dart
│ │ │ ├── wallet_auth_store.dart
│ │ │ └── wallet_client.dart
│ │ ├── bdk_wallet
│ │ │ ├── account.dart
│ │ │ ├── account_statement_generator.dart
│ │ │ ├── account_sweeper.dart
│ │ │ ├── account_syncer.dart
│ │ │ ├── address.dart
│ │ │ ├── amount.dart
│ │ │ ├── balance.dart
│ │ │ ├── blockchain.dart
│ │ │ ├── derivation_path.dart
│ │ │ ├── discovered_account.dart
│ │ │ ├── local_output.dart
│ │ │ ├── message_signer.dart
│ │ │ ├── mnemonic.dart
│ │ │ ├── payment_link.dart
│ │ │ ├── psbt.dart
│ │ │ ├── script_buf.dart
│ │ │ ├── sequence.dart
│ │ │ ├── storage.dart
│ │ │ ├── transaction_builder.dart
│ │ │ ├── transaction_details.dart
│ │ │ ├── transaction_details_txin.dart
│ │ │ ├── transaction_details_txop.dart
│ │ │ ├── transactions.dart
│ │ │ └── wallet.dart
│ │ ├── errors.dart
│ │ ├── errors.freezed.dart
│ │ ├── logger.dart
│ │ ├── panic_hook.dart
│ │ ├── proton_api.dart
│ │ └── proton_wallet
│ │ │ ├── crypto
│ │ │ ├── wallet_key.dart
│ │ │ └── wallet_key_helper.dart
│ │ │ ├── db
│ │ │ └── app_database_helper.dart
│ │ │ ├── features
│ │ │ ├── backup_mnemonic.dart
│ │ │ ├── proton_recovery.dart
│ │ │ └── transition_layer.dart
│ │ │ ├── srp
│ │ │ └── srp_client.dart
│ │ │ ├── storage
│ │ │ ├── user_key_store.dart
│ │ │ ├── wallet_key_store.dart
│ │ │ └── wallet_mnemonic_store.dart
│ │ │ └── wallet.dart
│ ├── common
│ │ ├── address_info.dart
│ │ ├── blockchain.dart
│ │ ├── broadcast_message.dart
│ │ ├── change_spend_policy.dart
│ │ ├── coin_selection.dart
│ │ ├── keychain_kind.dart
│ │ ├── network.dart
│ │ ├── pagination.dart
│ │ ├── script_type.dart
│ │ ├── signing_type.dart
│ │ ├── transaction_time.dart
│ │ ├── transaction_time.freezed.dart
│ │ └── word_count.dart
│ ├── frb_generated.dart
│ ├── frb_generated.io.dart
│ ├── proton_api
│ │ ├── auth_credential.dart
│ │ ├── contacts.dart
│ │ ├── discovery_content.dart
│ │ ├── event_routes.dart
│ │ ├── exchange_rate.dart
│ │ ├── invite.dart
│ │ ├── payment_gateway.dart
│ │ ├── price_graph.dart
│ │ ├── proton_address.dart
│ │ ├── proton_users.dart
│ │ ├── transaction.dart
│ │ ├── unleash.dart
│ │ ├── user_settings.dart
│ │ ├── wallet.dart
│ │ ├── wallet_account.dart
│ │ └── wallet_settings.dart
│ ├── proton_wallet
│ │ ├── crypto
│ │ │ └── wallet_key.dart
│ │ ├── db
│ │ │ └── model
│ │ │ │ ├── account_model.dart
│ │ │ │ └── wallet_model.dart
│ │ ├── features
│ │ │ └── backup_mnemonic.dart
│ │ └── storage
│ │ │ └── wallet_mnemonic_ext.dart
│ └── srp
│ │ └── proofs.dart
└── scenes
│ ├── app
│ ├── app.coordinator.dart
│ ├── app.model.dart
│ ├── app.view.dart
│ └── app.viewmodel.dart
│ ├── backup.seed
│ ├── backup.coordinator.dart
│ ├── backup.introduce.view.dart
│ ├── backup.mnemonic.view.dart
│ ├── backup.view.dart
│ └── backup.viewmodel.dart
│ ├── buy
│ ├── buybitcoin.banxa.webview.dart
│ ├── buybitcoin.coordinator.dart
│ ├── buybitcoin.instruction.dart
│ ├── buybitcoin.keyboard.done.dart
│ ├── buybitcoin.terms.dart
│ ├── buybitcoin.view.dart
│ ├── buybitcoin.viewmodel.dart
│ ├── dropdown.dialog.dart
│ ├── payment.dropdown.item.dart
│ ├── payment.dropdown.item.view.dart
│ └── widgets
│ │ ├── buy.sell.switch.dart
│ │ ├── estimation.widget.dart
│ │ └── payment.selector.dart
│ ├── components
│ ├── add.button.v1.dart
│ ├── alert.custom.dart
│ ├── alert.warning.dart
│ ├── alerts
│ │ ├── app.crypto.error.dialog.dart
│ │ ├── force.upgrade.dialog.dart
│ │ └── logout.error.dialog.dart
│ ├── back.button.v1.dart
│ ├── bitcoin.price.chart.dart
│ ├── bitcoin.price.chart.homepage.dart
│ ├── bottom.sheets
│ │ ├── base.dart
│ │ ├── bitcoin.price.detail.dart
│ │ ├── email.autocomplete.dart
│ │ ├── error.bottom.sheet.dart
│ │ ├── info.bottom.sheet.dart
│ │ ├── passphrase.tutorial.dart
│ │ ├── placeholder.dart
│ │ ├── qr.code.scanner.dart
│ │ ├── recipient.detail.dart
│ │ └── seed.phrase.tutorial.dart
│ ├── btc.address
│ │ ├── bitcoin.address.info.box.dart
│ │ └── wallet.bitcoin.address.list.dart
│ ├── button.circle.image.dart
│ ├── button.v5.dart
│ ├── button.v6.dart
│ ├── close.button.v1.dart
│ ├── custom.card_loading.builder.dart
│ ├── custom.expansion.dart
│ ├── custom.expansion.tile.dart
│ ├── custom.header.dart
│ ├── custom.loading.dart
│ ├── custom.loading.with.child.dart
│ ├── custom.slider.v1.dart
│ ├── custom.todo.dart
│ ├── custom.tooltip.dart
│ ├── date.input.v1.dart
│ ├── discover
│ │ ├── discover.box.dart
│ │ ├── discover.feeds.view.dart
│ │ ├── proton.feeditem.dart
│ │ └── proton.feeditem.g.dart
│ ├── dropdown.button.v2.dart
│ ├── dropdown.button.v3.dart
│ ├── dropdown.currency.v1.dart
│ ├── flying.animation.dart
│ ├── flying.background.animation.dart
│ ├── home
│ │ ├── bitcoin.price.box.dart
│ │ ├── btc.actions.view.dart
│ │ ├── custom.homepage.box.dart
│ │ └── transaction.filter.dart
│ ├── local.toast.view.dart
│ ├── page.layout.v1.dart
│ ├── page.layout.v2.dart
│ ├── page_route.dart
│ ├── protonmail.autocomplete.dart
│ ├── recipient.detail.dart
│ ├── tag.v2.dart
│ ├── textfield.2fa.dart
│ ├── textfield.autocomplete.dart
│ ├── textfield.send.btc.v2.dart
│ ├── textfield.text.dart
│ ├── textfield.text.v2.dart
│ ├── transaction.history.item.dart
│ ├── transaction.history.item.v2.dart
│ ├── transaction.history.send.item.dart
│ ├── transaction
│ │ └── transaction.listtitle.dart
│ ├── underline.dart
│ ├── wallet.account.dropdown.dart
│ └── wallet.history.transaction.list.dart
│ ├── core
│ ├── coordinator.dart
│ ├── nested.navigator.dart
│ ├── responsive.dart
│ ├── view.dart
│ ├── view.navigatior.identifiers.dart
│ ├── view.navigator.dart
│ ├── view.stateless.dart
│ ├── viewmodel.dart
│ └── viewmodel.stateless.dart
│ ├── discover
│ ├── discover.coordinator.dart
│ ├── discover.view.dart
│ └── discover.viewmodel.dart
│ ├── history
│ ├── bottom.sheet
│ │ └── edit.sender.dart
│ ├── details.coordinator.dart
│ ├── details.view.dart
│ └── details.viewmodel.dart
│ ├── home.v3
│ ├── home.coordinator.dart
│ ├── home.menu.list.dart
│ ├── home.view.dart
│ ├── home.viewmodel.dart
│ ├── sidebar.wallet.items.dart
│ ├── sub.views
│ │ ├── accept.terms.condition
│ │ │ ├── accept.terms.condition.coordinator.dart
│ │ │ ├── accept.terms.condition.view.dart
│ │ │ └── accept.terms.condition.viewmodel.dart
│ │ ├── add.wallet.account
│ │ │ ├── add.wallet.account.coordinator.dart
│ │ │ ├── add.wallet.account.view.dart
│ │ │ └── add.wallet.account.viewmodel.dart
│ │ ├── backup.your.proton
│ │ │ ├── backup.your.proton.coordinator.dart
│ │ │ ├── backup.your.proton.view.dart
│ │ │ └── backup.your.proton.viewmodel.dart
│ │ ├── backup.your.wallet
│ │ │ ├── backup.your.wallet.coordinator.dart
│ │ │ ├── backup.your.wallet.view.dart
│ │ │ └── backup.your.wallet.viewmodel.dart
│ │ ├── bve.privacy
│ │ │ ├── bve.privacy.coordinator.dart
│ │ │ ├── bve.privacy.view.dart
│ │ │ └── bve.privacy.viewmodel.dart
│ │ ├── delete.wallet.account
│ │ │ ├── delete.wallet.account.coordinator.dart
│ │ │ ├── delete.wallet.account.view.dart
│ │ │ └── delete.wallet.account.viewmodel.dart
│ │ ├── delete.wallet
│ │ │ ├── delete.wallet.coordinator.dart
│ │ │ ├── delete.wallet.view.dart
│ │ │ └── delete.wallet.viewmodel.dart
│ │ ├── edit.bve
│ │ │ ├── edit.bve.coordinator.dart
│ │ │ ├── edit.bve.view.dart
│ │ │ └── edit.bve.viewmodel.dart
│ │ ├── import.success
│ │ │ ├── import.success.coordinator.dart
│ │ │ ├── import.success.view.dart
│ │ │ └── import.success.viewmodel.dart
│ │ ├── onboarding.guide
│ │ │ ├── onboarding.guide.coordinator.dart
│ │ │ ├── onboarding.guide.view.dart
│ │ │ └── onboarding.guide.viewmodel.dart
│ │ ├── passphrase
│ │ │ ├── passphrase.coordinator.dart
│ │ │ ├── passphrase.view.dart
│ │ │ └── passphrase.viewmodel.dart
│ │ ├── proton.products
│ │ │ ├── proton.products.coordinator.dart
│ │ │ ├── proton.products.view.dart
│ │ │ └── proton.products.viewmodel.dart
│ │ ├── secure.your.wallet
│ │ │ ├── secure.your.wallet.coordinator.dart
│ │ │ ├── secure.your.wallet.view.dart
│ │ │ └── secure.your.wallet.viewmodel.dart
│ │ ├── send.invite
│ │ │ ├── send.invite.coordinator.dart
│ │ │ ├── send.invite.view.dart
│ │ │ └── send.invite.viewmodel.dart
│ │ ├── transaction.addresses.switch
│ │ │ ├── transaction.addresses.switch.coordinator.dart
│ │ │ ├── transaction.addresses.switch.view.dart
│ │ │ └── transaction.addresses.switch.viewmodel.dart
│ │ ├── unavailable
│ │ │ ├── buying.unavailable.coordinator.dart
│ │ │ ├── buying.unavailable.viewmodel.dart
│ │ │ ├── unavailable.view.dart
│ │ │ └── unavailable.viewmodel.dart
│ │ ├── upgrade
│ │ │ ├── upgrade.coordinator.dart
│ │ │ ├── upgrade.view.dart
│ │ │ └── upgrade.viewmodel.dart
│ │ ├── wallet.account.address.list
│ │ │ ├── wallet.account.address.list.coordinator.dart
│ │ │ ├── wallet.account.address.list.view.dart
│ │ │ └── wallet.account.address.list.viewmodel.dart
│ │ ├── wallet.account.info
│ │ │ ├── wallet.account.info.coordinator.dart
│ │ │ ├── wallet.account.info.view.dart
│ │ │ └── wallet.account.info.viewmodel.dart
│ │ ├── wallet.account.setting
│ │ │ ├── wallet.account.setting.coordinator.dart
│ │ │ ├── wallet.account.setting.view.dart
│ │ │ └── wallet.account.setting.viewmodel.dart
│ │ ├── wallet.account.statement.export
│ │ │ ├── wallet.account.statement.export.coordinator.dart
│ │ │ ├── wallet.account.statement.export.view.dart
│ │ │ └── wallet.account.statement.export.viewmodel.dart
│ │ ├── wallet.account.xpub.info
│ │ │ ├── wallet.account.xpub.info.coordinator.dart
│ │ │ ├── wallet.account.xpub.info.view.dart
│ │ │ └── wallet.account.xpub.info.viewmodel.dart
│ │ └── wallet.setting
│ │ │ ├── sub.views
│ │ │ ├── account.row.dart
│ │ │ ├── expandable.options.dart
│ │ │ └── wallet.name.card.dart
│ │ │ ├── wallet.setting.coordinator.dart
│ │ │ ├── wallet.setting.view.dart
│ │ │ └── wallet.setting.viewmodel.dart
│ └── transaction.list.dart
│ ├── home
│ ├── navigation.coordinator.dart
│ ├── navigation.view.dart
│ └── navigation.viewmodel.dart
│ ├── import
│ ├── import.coordinator.dart
│ ├── import.view.dart
│ └── import.viewmodel.dart
│ ├── lock.core
│ ├── lock.overlay.coordinator.dart
│ ├── lock.overlay.view.dart
│ └── lock.overlay.viewmodel.dart
│ ├── lock.overlay
│ ├── lock.overlay.coordinator.dart
│ ├── lock.overlay.view.dart
│ └── lock.overlay.viewmodel.dart
│ ├── logs
│ ├── logs.coordinator.dart
│ ├── logs.view.dart
│ └── logs.viewmodel.dart
│ ├── message.sign
│ ├── message.sign.coordinator.dart
│ ├── message.sign.view.dart
│ ├── message.sign.viewmodel.dart
│ └── sub.views
│ │ ├── message.view.dart
│ │ └── signature.view.dart
│ ├── paper.wallet
│ ├── paper.wallet.coordinator.dart
│ ├── paper.wallet.view.dart
│ └── paper.wallet.viewmodel.dart
│ ├── proton.accounts
│ └── account.deletion.dart
│ ├── qrcode.content
│ ├── qrcode.content.coordinator.dart
│ ├── qrcode.content.view.dart
│ └── qrcode.content.viewmodel.dart
│ ├── rbf
│ ├── rbf.coordinator.dart
│ ├── rbf.view.dart
│ └── rbf.viewmodel.dart
│ ├── receive
│ ├── receive.coordinator.dart
│ ├── receive.view.dart
│ └── receive.viewmodel.dart
│ ├── recovery.email
│ ├── recovery.email.coordinator.dart
│ ├── recovery.email.view.dart
│ └── recovery.email.viewmodel.dart
│ ├── recovery.phone
│ ├── recovery.phone.coordinator.dart
│ ├── recovery.phone.view.dart
│ └── recovery.phone.viewmodel.dart
│ ├── recovery
│ ├── recovery.auth.dialog.dart
│ ├── recovery.coordinator.dart
│ ├── recovery.disable.dialog.dart
│ ├── recovery.mnemonic.dialog.dart
│ ├── recovery.section.dart
│ ├── recovery.view.dart
│ └── recovery.viewmodel.dart
│ ├── security.setting
│ ├── security.setting.coordinator.dart
│ ├── security.setting.view.dart
│ └── security.setting.viewmodel.dart
│ ├── send
│ ├── bottom.sheet
│ │ ├── send.flow.invite.dart
│ │ └── send.flow.invite.success.dart
│ ├── send.coordinator.dart
│ ├── send.view.dart
│ └── send.viewmodel.dart
│ ├── settings
│ ├── debug.view
│ │ ├── debug.coordinator.dart
│ │ ├── debug.view.dart
│ │ └── debug.viewmodel.dart
│ ├── settings.account.v2.view.dart
│ ├── settings.coordinator.dart
│ ├── settings.group.dart
│ ├── settings.header.dart
│ ├── settings.info.dart
│ ├── settings.item.dart
│ ├── settings.view.dart
│ ├── settings.view.debug.dart
│ └── settings.viewmodel.dart
│ ├── signin
│ ├── signin.coordinator.dart
│ ├── signin.view.dart
│ └── signin.viewmodel.dart
│ ├── two.factor.auth.disable
│ ├── two.factor.auth.disable.coordinator.dart
│ ├── two.factor.auth.disable.view.dart
│ └── two.factor.auth.disable.viewmodel.dart
│ ├── two.factor.auth
│ ├── two.factor.auth.coordinator.dart
│ ├── two.factor.auth.view.dart
│ └── two.factor.auth.viewmodel.dart
│ └── welcome
│ ├── login.signup.button.dart
│ ├── welcom.backgroud.dart
│ ├── welcome.coordinator.dart
│ ├── welcome.image.dart
│ ├── welcome.view.dart
│ └── welcome.viewmodel.dart
├── linux
├── .gitignore
├── CMakeLists.txt
├── flutter
│ ├── CMakeLists.txt
│ ├── generated_plugin_registrant.cc
│ ├── generated_plugin_registrant.h
│ └── generated_plugins.cmake
├── main.cc
├── my_application.cc
├── my_application.h
└── rust.cmake
├── macos
├── .gitignore
├── Flutter
│ ├── AppInfo.xcconfig
│ ├── Flutter-Debug.xcconfig
│ ├── Flutter-Profile.xcconfig
│ ├── Flutter-Release.xcconfig
│ ├── GeneratedPluginRegistrant.swift
│ └── Warnings.xcconfig
├── Podfile
├── Podfile.lock
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
├── Runner
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── 1024-mac.png
│ │ │ ├── 128-mac.png
│ │ │ ├── 16-mac.png
│ │ │ ├── 256-mac 1.png
│ │ │ ├── 256-mac.png
│ │ │ ├── 32-mac 1.png
│ │ │ ├── 32-mac.png
│ │ │ ├── 512-mac 1.png
│ │ │ ├── 512-mac.png
│ │ │ ├── 64-mac.png
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ ├── LaunchBackground.colorset
│ │ │ └── Contents.json
│ │ └── LaunchImage.imageset
│ │ │ ├── Contents.json
│ │ │ └── LaunchImage.png
│ ├── Base.lproj
│ │ └── MainMenu.xib
│ ├── DebugProfile.entitlements
│ ├── Info.plist
│ ├── MainFlutterWindow.swift
│ └── Release.entitlements
└── RunnerTests
│ └── RunnerTests.swift
├── metadata
└── en
│ ├── store-listing-1.jpg
│ ├── store-listing-2.jpg
│ ├── store-listing-3.jpg
│ └── store-listing-4.jpg
├── pubspec.lock
├── pubspec.yaml
├── rust
├── Cargo.lock
├── Cargo.toml
├── cargokit.yaml
├── src
│ ├── api
│ │ ├── api_service
│ │ │ ├── address_client.rs
│ │ │ ├── bitcoin_address_client.rs
│ │ │ ├── block_client.rs
│ │ │ ├── discovery_content_client.rs
│ │ │ ├── email_integration_client.rs
│ │ │ ├── event_client.rs
│ │ │ ├── exchange_rate_client.rs
│ │ │ ├── invite_client.rs
│ │ │ ├── mod.rs
│ │ │ ├── onramp_gateway_client.rs
│ │ │ ├── price_graph_client.rs
│ │ │ ├── proton_api_service.rs
│ │ │ ├── proton_contacts_client.rs
│ │ │ ├── proton_email_addr_client.rs
│ │ │ ├── proton_settings_client.rs
│ │ │ ├── proton_users_client.rs
│ │ │ ├── settings_client.rs
│ │ │ ├── transaction_client.rs
│ │ │ ├── unleash_client.rs
│ │ │ ├── wallet_auth_store.rs
│ │ │ └── wallet_client.rs
│ │ ├── bdk_wallet
│ │ │ ├── account.rs
│ │ │ ├── account_statement_generator.rs
│ │ │ ├── account_sweeper.rs
│ │ │ ├── account_syncer.rs
│ │ │ ├── address.rs
│ │ │ ├── amount.rs
│ │ │ ├── balance.rs
│ │ │ ├── blockchain.rs
│ │ │ ├── derivation_path.rs
│ │ │ ├── discovered_account.rs
│ │ │ ├── local_output.rs
│ │ │ ├── message_signer.rs
│ │ │ ├── mnemonic.rs
│ │ │ ├── mod.rs
│ │ │ ├── payment_link.rs
│ │ │ ├── psbt.rs
│ │ │ ├── script_buf.rs
│ │ │ ├── sequence.rs
│ │ │ ├── storage.rs
│ │ │ ├── transaction_builder.rs
│ │ │ ├── transaction_details.rs
│ │ │ ├── transaction_details_txin.rs
│ │ │ ├── transaction_details_txop.rs
│ │ │ ├── transactions.rs
│ │ │ └── wallet.rs
│ │ ├── errors.rs
│ │ ├── flutter_logger.rs
│ │ ├── init.rs
│ │ ├── logger.rs
│ │ ├── mod.rs
│ │ ├── panic_hook.rs
│ │ ├── proton_api.rs
│ │ └── proton_wallet
│ │ │ ├── crypto
│ │ │ ├── mod.rs
│ │ │ ├── wallet_key.rs
│ │ │ └── wallet_key_helper.rs
│ │ │ ├── db
│ │ │ ├── app_database_helper.rs
│ │ │ └── mod.rs
│ │ │ ├── features
│ │ │ ├── backup_mnemonic.rs
│ │ │ ├── mod.rs
│ │ │ ├── proton_recovery.rs
│ │ │ ├── transition_layer.rs
│ │ │ └── wallet_creation.rs
│ │ │ ├── mod.rs
│ │ │ ├── srp
│ │ │ ├── mod.rs
│ │ │ └── srp_client.rs
│ │ │ ├── storage
│ │ │ ├── mod.rs
│ │ │ ├── user_key_store.rs
│ │ │ ├── wallet_key_store.rs
│ │ │ └── wallet_mnemonic_store.rs
│ │ │ └── wallet.rs
│ ├── common
│ │ ├── address_info.rs
│ │ ├── blockchain.rs
│ │ ├── broadcast_message.rs
│ │ ├── change_spend_policy.rs
│ │ ├── coin_selection.rs
│ │ ├── confirmation_time.rs
│ │ ├── esplora_config.rs
│ │ ├── keychain_kind.rs
│ │ ├── logger.rs
│ │ ├── mnemonic.rs
│ │ ├── mod.rs
│ │ ├── network.rs
│ │ ├── pagination.rs
│ │ ├── script_type.rs
│ │ ├── signing_type.rs
│ │ ├── transaction_time.rs
│ │ └── word_count.rs
│ ├── frb_generated.rs
│ ├── ldk
│ │ ├── lightning.rs
│ │ └── mod.rs
│ ├── lib.rs
│ ├── mocks
│ │ ├── auth.rs
│ │ ├── constant.rs
│ │ ├── mod.rs
│ │ ├── proton_user.rs
│ │ └── user_keys.rs
│ ├── proton_account
│ │ └── mod.rs
│ ├── proton_api
│ │ ├── auth_credential.rs
│ │ ├── contacts.rs
│ │ ├── discovery_content.rs
│ │ ├── event_routes.rs
│ │ ├── exchange_rate.rs
│ │ ├── invite.rs
│ │ ├── mod.rs
│ │ ├── payment_gateway.rs
│ │ ├── price_graph.rs
│ │ ├── proton_address.rs
│ │ ├── proton_users.rs
│ │ ├── transaction.rs
│ │ ├── unleash.rs
│ │ ├── user_settings.rs
│ │ ├── wallet.rs
│ │ ├── wallet_account.rs
│ │ └── wallet_settings.rs
│ ├── proton_bdk
│ │ ├── mod.rs
│ │ └── storage.rs
│ ├── proton_wallet
│ │ ├── common
│ │ │ ├── callbacks.rs
│ │ │ └── mod.rs
│ │ ├── crypto
│ │ │ ├── binary.rs
│ │ │ ├── errors.rs
│ │ │ ├── label.rs
│ │ │ ├── message.rs
│ │ │ ├── mnemonic.rs
│ │ │ ├── mnemonic_legacy.rs
│ │ │ ├── mod.rs
│ │ │ ├── private_key.rs
│ │ │ ├── public_key.rs
│ │ │ ├── srp.rs
│ │ │ ├── transaction_id.rs
│ │ │ ├── transaction_label.rs
│ │ │ ├── wallet_account_label.rs
│ │ │ ├── wallet_bitcoin_address.rs
│ │ │ ├── wallet_key.rs
│ │ │ ├── wallet_key_provider.rs
│ │ │ ├── wallet_message.rs
│ │ │ └── wallet_name.rs
│ │ ├── db
│ │ │ ├── app_database.rs
│ │ │ ├── dao
│ │ │ │ ├── account_dao.rs
│ │ │ │ ├── address_dao.rs
│ │ │ │ ├── bitcoin_address_dao.rs
│ │ │ │ ├── contacts_dao.rs
│ │ │ │ ├── dao.rs
│ │ │ │ ├── exchange_rate_dao.rs
│ │ │ │ ├── mod.rs
│ │ │ │ ├── proton_user_dao.rs
│ │ │ │ ├── proton_user_key_dao.rs
│ │ │ │ ├── ramp_countries_dao.rs
│ │ │ │ ├── transaction_dao.rs
│ │ │ │ ├── wallet_dao.rs
│ │ │ │ └── wallet_user_settings_dao.rs
│ │ │ ├── database
│ │ │ │ ├── account.rs
│ │ │ │ ├── address.rs
│ │ │ │ ├── bitcoin_address.rs
│ │ │ │ ├── contacts.rs
│ │ │ │ ├── database.rs
│ │ │ │ ├── exchange_rate.rs
│ │ │ │ ├── migration.rs
│ │ │ │ ├── migration_container.rs
│ │ │ │ ├── mod.rs
│ │ │ │ ├── proton_address_key.rs
│ │ │ │ ├── proton_user.rs
│ │ │ │ ├── proton_user_key.rs
│ │ │ │ ├── table_names.rs
│ │ │ │ ├── transaction.rs
│ │ │ │ ├── wallet.rs
│ │ │ │ └── wallet_user_settings.rs
│ │ │ ├── error.rs
│ │ │ ├── mod.rs
│ │ │ └── model
│ │ │ │ ├── account_model.rs
│ │ │ │ ├── address_model.rs
│ │ │ │ ├── bitcoin_address_model.rs
│ │ │ │ ├── contacts_model.rs
│ │ │ │ ├── exchange_rate_model.rs
│ │ │ │ ├── mod.rs
│ │ │ │ ├── model.rs
│ │ │ │ ├── native_session_model.rs
│ │ │ │ ├── proton_user_key_model.rs
│ │ │ │ ├── proton_user_model.rs
│ │ │ │ ├── ramp_countries_model.rs
│ │ │ │ ├── transaction_info_model.rs
│ │ │ │ ├── transaction_model.rs
│ │ │ │ ├── wallet_model.rs
│ │ │ │ └── wallet_user_settings_model.rs
│ │ ├── features
│ │ │ ├── backup_mnemonic.rs
│ │ │ ├── buy
│ │ │ │ ├── buy_bitcoin.rs
│ │ │ │ └── mod.rs
│ │ │ ├── error.rs
│ │ │ ├── mod.rs
│ │ │ ├── proton_recovery.rs
│ │ │ ├── proton_settings
│ │ │ │ ├── mod.rs
│ │ │ │ ├── password_scope.rs
│ │ │ │ └── twofa.rs
│ │ │ ├── settings
│ │ │ │ └── mod.rs
│ │ │ └── wallet
│ │ │ │ ├── mod.rs
│ │ │ │ ├── wallet_account_creation.rs
│ │ │ │ └── wallet_creation.rs
│ │ ├── helper
│ │ │ └── mod.rs
│ │ ├── mod.rs
│ │ ├── provider
│ │ │ ├── account.rs
│ │ │ ├── address.rs
│ │ │ ├── bitcoin_address.rs
│ │ │ ├── contacts.rs
│ │ │ ├── error.rs
│ │ │ ├── exchange_rate.rs
│ │ │ ├── mod.rs
│ │ │ ├── proton_auth.rs
│ │ │ ├── proton_auth_model.rs
│ │ │ ├── proton_user.rs
│ │ │ ├── proton_user_key.rs
│ │ │ ├── proton_user_settings.rs
│ │ │ ├── provider.rs
│ │ │ ├── transaction.rs
│ │ │ ├── user_keys.rs
│ │ │ ├── wallet.rs
│ │ │ ├── wallet_keys.rs
│ │ │ ├── wallet_mnemonic.rs
│ │ │ ├── wallet_name.rs
│ │ │ └── wallet_user_settings.rs
│ │ ├── storage
│ │ │ ├── address_key_ext.rs
│ │ │ ├── error.rs
│ │ │ ├── mod.rs
│ │ │ ├── user_key.rs
│ │ │ ├── user_key_ext.rs
│ │ │ ├── wallet_key.rs
│ │ │ ├── wallet_mnemonic.rs
│ │ │ └── wallet_mnemonic_ext.rs
│ │ └── wallet.rs
│ ├── srp
│ │ ├── mod.rs
│ │ └── proofs.rs
│ └── utilities
│ │ └── mod.rs
└── tarpaulin.toml
├── rust_builder
├── .gitignore
├── README.md
├── android
│ ├── .gitignore
│ ├── build.gradle
│ ├── settings.gradle
│ └── src
│ │ └── main
│ │ └── AndroidManifest.xml
├── cargokit
│ ├── .gitignore
│ ├── LICENSE
│ ├── README
│ ├── build_pod.sh
│ ├── build_tool
│ │ ├── README.md
│ │ ├── analysis_options.yaml
│ │ ├── lib
│ │ │ ├── build_tool.dart
│ │ │ └── src
│ │ │ │ ├── android_environment.dart
│ │ │ │ ├── artifacts_provider.dart
│ │ │ │ ├── build_cmake.dart
│ │ │ │ ├── build_gradle.dart
│ │ │ │ ├── build_pod.dart
│ │ │ │ ├── build_tool.dart
│ │ │ │ ├── builder.dart
│ │ │ │ ├── cargo.dart
│ │ │ │ ├── crate_hash.dart
│ │ │ │ ├── environment.dart
│ │ │ │ ├── logging.dart
│ │ │ │ ├── options.dart
│ │ │ │ ├── precompile_binaries.dart
│ │ │ │ ├── rustup.dart
│ │ │ │ ├── target.dart
│ │ │ │ ├── util.dart
│ │ │ │ └── verify_binaries.dart
│ │ ├── pubspec.lock
│ │ └── pubspec.yaml
│ ├── cmake
│ │ ├── cargokit.cmake
│ │ └── resolve_symlinks.ps1
│ ├── gradle
│ │ └── plugin.gradle
│ ├── run_build_tool.cmd
│ └── run_build_tool.sh
├── ios
│ ├── Classes
│ │ └── dummy_file.c
│ └── rust_builder.podspec
├── linux
│ └── CMakeLists.txt
├── macos
│ ├── Classes
│ │ └── dummy_file.c
│ └── rust_builder.podspec
├── pubspec.yaml
└── windows
│ ├── .gitignore
│ └── CMakeLists.txt
├── test
├── compatibility
│ └── readme.md
├── constants
│ ├── address.key_test.dart
│ ├── app.config_test.dart
│ ├── coin_type_test.dart
│ ├── env_test.dart
│ ├── proton.color_test.dart
│ └── script_type_test.dart
├── frb.helper.dart
├── helper.dart
├── helper
│ ├── bdk
│ │ └── bdk.library_test.dart
│ ├── bdk_functions_test.dart
│ ├── bitcoin.amount_test.dart
│ ├── currency_helper_test.dart
│ ├── extension
│ │ ├── data_test.dart
│ │ ├── datetime_test.dart
│ │ └── strings_test.dart
│ ├── two.factor.auth_test.dart
│ ├── user.agent_test.dart
│ ├── user.agent_test.mocks.dart
│ └── walletkey_helper_test.dart
├── managers
│ ├── channels
│ │ └── native.view.channel_test.dart
│ └── features
│ │ └── wallet
│ │ ├── create.wallet.bloc_test.dart
│ │ ├── update.wallet.bloc_test.dart
│ │ └── wallet_test.dart
├── mocks
│ ├── buying.unavailable.dart
│ ├── buying.unavailable.mocks.dart
│ ├── clients
│ │ ├── discovery.content.client.dart
│ │ └── discovery.content.client.mocks.dart
│ ├── data.providers.dart
│ ├── data.providers.mocks.dart
│ ├── discovery.dart
│ ├── discovery.mocks.dart
│ ├── frb.objects.dart
│ ├── frb.objects.mocks.dart
│ ├── manager.factory.dart
│ ├── manager.factory.mocks.dart
│ ├── native.view.channel.dart
│ ├── native.view.channel.mocks.dart
│ ├── path.provider.dart
│ ├── path.provider.mocks.dart
│ ├── proton.api.service.manager.dart
│ ├── proton.api.service.manager.mocks.dart
│ ├── proton.exchange.rate.dart
│ ├── proton.exchange.rate.mocks.dart
│ ├── theme.provider.dart
│ ├── theme.provider.mocks.dart
│ ├── user.manager.dart
│ ├── user.manager.mocks.dart
│ ├── welcome.dart
│ └── welcome.mocks.dart
├── models
│ ├── database
│ │ ├── account.dao_test.dart
│ │ ├── account.database_test.dart
│ │ └── wallet.dao_test.dart
│ └── drift
│ │ └── db
│ │ └── app.database_test.dart
├── provider
│ └── theme.provider_test.dart
├── readme.md
├── rust
│ ├── api
│ │ ├── api_service
│ │ │ └── address_client_test.dart
│ │ ├── bdk_wallet
│ │ │ ├── address_test.dart
│ │ │ └── payment_link_test.dart
│ │ ├── proton_api_test.dart
│ │ └── srp
│ │ │ └── srp_client_test.dart
│ ├── common
│ │ └── address_info_test.dart
│ └── proton_api
│ │ └── wallet_test.dart
├── scenes
│ ├── app
│ │ ├── app.view_test.dart
│ │ └── app.viewmodel_test.dart
│ ├── components
│ │ ├── bitcoin.price.chart_test.dart
│ │ └── discover
│ │ │ └── proton.feeditem_test.dart
│ ├── discover
│ │ ├── discover.coordinator_test.dart
│ │ └── discover.viewmodel_test.dart
│ ├── home.v3
│ │ └── sub.views
│ │ │ ├── wallet.account.xpub.info.viewmodel_test.dart
│ │ │ └── wallet.account.xpub.info.viewmodel_test.mocks.dart
│ └── welcome
│ │ ├── welcome.coordinator_test.dart
│ │ └── welcome.viewmodel_test.dart
├── snapshot
│ ├── components
│ │ ├── add.button.v1_test.dart
│ │ ├── alert.custom_test.dart
│ │ ├── alert.warning_test.dart
│ │ ├── back.button.v1_test.dart
│ │ ├── bitcoin.address.info.box_test.dart
│ │ ├── bitcoin.price.chart_test.dart
│ │ ├── btc.actions.view_test.dart
│ │ ├── button.v6_test.dart
│ │ ├── goldens
│ │ │ ├── add.button.v1
│ │ │ │ ├── add.button.v1.grid_iphone_13__text_scale_1_0.png
│ │ │ │ ├── add.button.v1.grid_iphone_13__text_scale_1_3.png
│ │ │ │ ├── add.button.v1.grid_iphone_13__text_scale_1_6.png
│ │ │ │ ├── add.button.v1.grid_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── add.button.v1.grid_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── add.button.v1.grid_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── add.button.v1.grid_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── add.button.v1.grid_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── add.button.v1.grid_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── dark.grid_iphone_13__text_scale_1_0.png
│ │ │ │ ├── dark.grid_iphone_13__text_scale_1_3.png
│ │ │ │ ├── dark.grid_iphone_13__text_scale_1_6.png
│ │ │ │ ├── dark.grid_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── dark.grid_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── dark.grid_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── dark.grid_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── dark.grid_iphone_14_plus__text_scale_1_3.png
│ │ │ │ └── dark.grid_iphone_14_plus__text_scale_1_6.png
│ │ │ ├── alert.custom
│ │ │ │ ├── alert.custom.dark_iphone_13__text_scale_1_0.png
│ │ │ │ ├── alert.custom.dark_iphone_13__text_scale_1_3.png
│ │ │ │ ├── alert.custom.dark_iphone_13__text_scale_1_6.png
│ │ │ │ ├── alert.custom.dark_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── alert.custom.dark_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── alert.custom.dark_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── alert.custom.dark_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── alert.custom.dark_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── alert.custom.dark_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── alert.custom_iphone_13__text_scale_1_0.png
│ │ │ │ ├── alert.custom_iphone_13__text_scale_1_3.png
│ │ │ │ ├── alert.custom_iphone_13__text_scale_1_6.png
│ │ │ │ ├── alert.custom_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── alert.custom_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── alert.custom_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── alert.custom_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── alert.custom_iphone_14_plus__text_scale_1_3.png
│ │ │ │ └── alert.custom_iphone_14_plus__text_scale_1_6.png
│ │ │ ├── alert.warning
│ │ │ │ ├── alert.warning.grid_iphone_13__text_scale_1_0.png
│ │ │ │ ├── alert.warning.grid_iphone_13__text_scale_1_3.png
│ │ │ │ ├── alert.warning.grid_iphone_13__text_scale_1_6.png
│ │ │ │ ├── alert.warning.grid_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── alert.warning.grid_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── alert.warning.grid_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── alert.warning.grid_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── alert.warning.grid_iphone_14_plus__text_scale_1_3.png
│ │ │ │ └── alert.warning.grid_iphone_14_plus__text_scale_1_6.png
│ │ │ ├── back.button.v1
│ │ │ │ ├── back.button.v1.grid_iphone_13__text_scale_1_0.png
│ │ │ │ ├── back.button.v1.grid_iphone_13__text_scale_1_3.png
│ │ │ │ ├── back.button.v1.grid_iphone_13__text_scale_1_6.png
│ │ │ │ ├── back.button.v1.grid_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── back.button.v1.grid_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── back.button.v1.grid_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── back.button.v1.grid_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── back.button.v1.grid_iphone_14_plus__text_scale_1_3.png
│ │ │ │ └── back.button.v1.grid_iphone_14_plus__text_scale_1_6.png
│ │ │ ├── bitcoin.address.info
│ │ │ │ ├── bitcoin.address.info.dark_iphone_13__text_scale_1_0.png
│ │ │ │ ├── bitcoin.address.info.dark_iphone_13__text_scale_1_3.png
│ │ │ │ ├── bitcoin.address.info.dark_iphone_13__text_scale_1_6.png
│ │ │ │ ├── bitcoin.address.info.dark_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── bitcoin.address.info.dark_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── bitcoin.address.info.dark_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── bitcoin.address.info.dark_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── bitcoin.address.info.dark_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── bitcoin.address.info.dark_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── bitcoin.address.info.light_iphone_13__text_scale_1_0.png
│ │ │ │ ├── bitcoin.address.info.light_iphone_13__text_scale_1_3.png
│ │ │ │ ├── bitcoin.address.info.light_iphone_13__text_scale_1_6.png
│ │ │ │ ├── bitcoin.address.info.light_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── bitcoin.address.info.light_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── bitcoin.address.info.light_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── bitcoin.address.info.light_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── bitcoin.address.info.light_iphone_14_plus__text_scale_1_3.png
│ │ │ │ └── bitcoin.address.info.light_iphone_14_plus__text_scale_1_6.png
│ │ │ ├── bitcoin.price.chart
│ │ │ │ ├── bitcoin.price.chart.1d.dark_iphone_13__text_scale_1_0.png
│ │ │ │ ├── bitcoin.price.chart.1d.dark_iphone_13__text_scale_1_3.png
│ │ │ │ ├── bitcoin.price.chart.1d.dark_iphone_13__text_scale_1_6.png
│ │ │ │ ├── bitcoin.price.chart.1d.dark_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── bitcoin.price.chart.1d.dark_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── bitcoin.price.chart.1d.dark_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── bitcoin.price.chart.1d.dark_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── bitcoin.price.chart.1d.dark_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── bitcoin.price.chart.1d.dark_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── bitcoin.price.chart.1d_iphone_13__text_scale_1_0.png
│ │ │ │ ├── bitcoin.price.chart.1d_iphone_13__text_scale_1_3.png
│ │ │ │ ├── bitcoin.price.chart.1d_iphone_13__text_scale_1_6.png
│ │ │ │ ├── bitcoin.price.chart.1d_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── bitcoin.price.chart.1d_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── bitcoin.price.chart.1d_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── bitcoin.price.chart.1d_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── bitcoin.price.chart.1d_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── bitcoin.price.chart.1d_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── bitcoin.price.chart.1m_iphone_13__text_scale_1_0.png
│ │ │ │ ├── bitcoin.price.chart.1m_iphone_13__text_scale_1_3.png
│ │ │ │ ├── bitcoin.price.chart.1m_iphone_13__text_scale_1_6.png
│ │ │ │ ├── bitcoin.price.chart.1m_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── bitcoin.price.chart.1m_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── bitcoin.price.chart.1m_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── bitcoin.price.chart.1m_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── bitcoin.price.chart.1m_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── bitcoin.price.chart.1m_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── bitcoin.price.chart.1w_iphone_13__text_scale_1_0.png
│ │ │ │ ├── bitcoin.price.chart.1w_iphone_13__text_scale_1_3.png
│ │ │ │ ├── bitcoin.price.chart.1w_iphone_13__text_scale_1_6.png
│ │ │ │ ├── bitcoin.price.chart.1w_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── bitcoin.price.chart.1w_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── bitcoin.price.chart.1w_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── bitcoin.price.chart.1w_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── bitcoin.price.chart.1w_iphone_14_plus__text_scale_1_3.png
│ │ │ │ └── bitcoin.price.chart.1w_iphone_14_plus__text_scale_1_6.png
│ │ │ ├── btc.actions.view
│ │ │ │ ├── btc.actions.grid_iphone_13__text_scale_1_0.png
│ │ │ │ ├── btc.actions.grid_iphone_13__text_scale_1_3.png
│ │ │ │ ├── btc.actions.grid_iphone_13__text_scale_1_6.png
│ │ │ │ ├── btc.actions.grid_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── btc.actions.grid_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── btc.actions.grid_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── btc.actions.grid_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── btc.actions.grid_iphone_14_plus__text_scale_1_3.png
│ │ │ │ └── btc.actions.grid_iphone_14_plus__text_scale_1_6.png
│ │ │ ├── button.v6
│ │ │ │ ├── button.v6.grid.png
│ │ │ │ ├── button.v6.grid_iphone_13__text_scale_1_0.png
│ │ │ │ ├── button.v6.grid_iphone_13__text_scale_1_3.png
│ │ │ │ ├── button.v6.grid_iphone_13__text_scale_1_6.png
│ │ │ │ ├── button.v6.grid_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── button.v6.grid_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── button.v6.grid_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── button.v6.grid_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── button.v6.grid_iphone_14_plus__text_scale_1_3.png
│ │ │ │ └── button.v6.grid_iphone_14_plus__text_scale_1_6.png
│ │ │ └── toast.view
│ │ │ │ ├── toast.view.dark_iphone_13__text_scale_1_0.png
│ │ │ │ ├── toast.view.dark_iphone_13__text_scale_1_3.png
│ │ │ │ ├── toast.view.dark_iphone_13__text_scale_1_6.png
│ │ │ │ ├── toast.view.dark_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── toast.view.dark_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── toast.view.dark_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── toast.view.dark_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── toast.view.dark_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── toast.view.dark_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── toast.view.light_iphone_13__text_scale_1_0.png
│ │ │ │ ├── toast.view.light_iphone_13__text_scale_1_3.png
│ │ │ │ ├── toast.view.light_iphone_13__text_scale_1_6.png
│ │ │ │ ├── toast.view.light_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── toast.view.light_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── toast.view.light_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── toast.view.light_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── toast.view.light_iphone_14_plus__text_scale_1_3.png
│ │ │ │ └── toast.view.light_iphone_14_plus__text_scale_1_6.png
│ │ └── local.toast.view_test.dart
│ ├── constants
│ │ ├── font.style_test.dart
│ │ ├── goldens
│ │ │ ├── font.style
│ │ │ │ ├── button.v6.grid_iphone_13__text_scale_1_0.png
│ │ │ │ ├── button.v6.grid_iphone_13__text_scale_1_3.png
│ │ │ │ ├── button.v6.grid_iphone_13__text_scale_1_6.png
│ │ │ │ ├── button.v6.grid_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── button.v6.grid_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── button.v6.grid_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── button.v6.grid_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── button.v6.grid_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── button.v6.grid_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── font.style.grid.png
│ │ │ │ └── font.style.wallet.grid.png
│ │ │ └── proton.color
│ │ │ │ ├── proton.color.bbg.grid.png
│ │ │ │ └── proton.color.wbg.png
│ │ └── proton.color_test.dart
│ ├── helper
│ │ ├── alchemist.device.dart
│ │ ├── alchemist.device.scenario.dart
│ │ ├── center.container.widget.dart
│ │ ├── comparator.config.dart
│ │ ├── golden.device.dart
│ │ ├── test.wrapper.dart
│ │ ├── theme.dart
│ │ ├── tolerant.comparator.dart
│ │ └── widget.ext.dart
│ ├── scenes
│ │ ├── buying.unavailable_test.dart
│ │ ├── discover_test.dart
│ │ ├── goldens
│ │ │ ├── app
│ │ │ │ ├── splash_view_iphone_13__text_scale_1_0.png
│ │ │ │ ├── splash_view_iphone_13__text_scale_1_3.png
│ │ │ │ ├── splash_view_iphone_13__text_scale_1_6.png
│ │ │ │ ├── splash_view_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── splash_view_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── splash_view_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── splash_view_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── splash_view_iphone_14_plus__text_scale_1_3.png
│ │ │ │ └── splash_view_iphone_14_plus__text_scale_1_6.png
│ │ │ ├── ci
│ │ │ │ └── welcome
│ │ │ │ │ └── welcome.png
│ │ │ ├── discover
│ │ │ │ ├── discover.dark_view_iphone_13__text_scale_1_0.png
│ │ │ │ ├── discover.dark_view_iphone_13__text_scale_1_3.png
│ │ │ │ ├── discover.dark_view_iphone_13__text_scale_1_6.png
│ │ │ │ ├── discover.dark_view_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── discover.dark_view_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── discover.dark_view_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── discover.dark_view_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── discover.dark_view_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── discover.dark_view_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── discover_view_iphone_13__text_scale_1_0.png
│ │ │ │ ├── discover_view_iphone_13__text_scale_1_3.png
│ │ │ │ ├── discover_view_iphone_13__text_scale_1_6.png
│ │ │ │ ├── discover_view_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── discover_view_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── discover_view_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── discover_view_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── discover_view_iphone_14_plus__text_scale_1_3.png
│ │ │ │ └── discover_view_iphone_14_plus__text_scale_1_6.png
│ │ │ ├── home.v3
│ │ │ │ └── subview
│ │ │ │ │ └── buying.unavailable
│ │ │ │ │ ├── buying.unavailable.dark_iphone_13__text_scale_1_0.png
│ │ │ │ │ ├── buying.unavailable.dark_iphone_13__text_scale_1_3.png
│ │ │ │ │ ├── buying.unavailable.dark_iphone_13__text_scale_1_6.png
│ │ │ │ │ ├── buying.unavailable.dark_iphone_13_pro__text_scale_1_0.png
│ │ │ │ │ ├── buying.unavailable.dark_iphone_13_pro__text_scale_1_3.png
│ │ │ │ │ ├── buying.unavailable.dark_iphone_13_pro__text_scale_1_6.png
│ │ │ │ │ ├── buying.unavailable.dark_iphone_14_plus__text_scale_1_0.png
│ │ │ │ │ ├── buying.unavailable.dark_iphone_14_plus__text_scale_1_3.png
│ │ │ │ │ ├── buying.unavailable.dark_iphone_14_plus__text_scale_1_6.png
│ │ │ │ │ ├── buying.unavailable_iphone_13__text_scale_1_0.png
│ │ │ │ │ ├── buying.unavailable_iphone_13__text_scale_1_3.png
│ │ │ │ │ ├── buying.unavailable_iphone_13__text_scale_1_6.png
│ │ │ │ │ ├── buying.unavailable_iphone_13_pro__text_scale_1_0.png
│ │ │ │ │ ├── buying.unavailable_iphone_13_pro__text_scale_1_3.png
│ │ │ │ │ ├── buying.unavailable_iphone_13_pro__text_scale_1_6.png
│ │ │ │ │ ├── buying.unavailable_iphone_14_plus__text_scale_1_0.png
│ │ │ │ │ ├── buying.unavailable_iphone_14_plus__text_scale_1_3.png
│ │ │ │ │ └── buying.unavailable_iphone_14_plus__text_scale_1_6.png
│ │ │ ├── macos
│ │ │ │ └── welcome
│ │ │ │ │ └── welcome.png
│ │ │ ├── message.sign
│ │ │ │ ├── message.sign.message.dark.view_iphone_13__text_scale_1_0.png
│ │ │ │ ├── message.sign.message.dark.view_iphone_13__text_scale_1_3.png
│ │ │ │ ├── message.sign.message.dark.view_iphone_13__text_scale_1_6.png
│ │ │ │ ├── message.sign.message.dark.view_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── message.sign.message.dark.view_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── message.sign.message.dark.view_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── message.sign.message.dark.view_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── message.sign.message.dark.view_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── message.sign.message.dark.view_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── message.sign.message.hint.dark.view_iphone_13__text_scale_1_0.png
│ │ │ │ ├── message.sign.message.hint.dark.view_iphone_13__text_scale_1_3.png
│ │ │ │ ├── message.sign.message.hint.dark.view_iphone_13__text_scale_1_6.png
│ │ │ │ ├── message.sign.message.hint.dark.view_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── message.sign.message.hint.dark.view_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── message.sign.message.hint.dark.view_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── message.sign.message.hint.dark.view_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── message.sign.message.hint.dark.view_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── message.sign.message.hint.dark.view_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── message.sign.message.hint.view_iphone_13__text_scale_1_0.png
│ │ │ │ ├── message.sign.message.hint.view_iphone_13__text_scale_1_3.png
│ │ │ │ ├── message.sign.message.hint.view_iphone_13__text_scale_1_6.png
│ │ │ │ ├── message.sign.message.hint.view_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── message.sign.message.hint.view_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── message.sign.message.hint.view_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── message.sign.message.hint.view_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── message.sign.message.hint.view_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── message.sign.message.hint.view_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── message.sign.message.view_iphone_13__text_scale_1_0.png
│ │ │ │ ├── message.sign.message.view_iphone_13__text_scale_1_3.png
│ │ │ │ ├── message.sign.message.view_iphone_13__text_scale_1_6.png
│ │ │ │ ├── message.sign.message.view_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── message.sign.message.view_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── message.sign.message.view_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── message.sign.message.view_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── message.sign.message.view_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── message.sign.message.view_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── message.sign.signature.dark.view_iphone_13__text_scale_1_0.png
│ │ │ │ ├── message.sign.signature.dark.view_iphone_13__text_scale_1_3.png
│ │ │ │ ├── message.sign.signature.dark.view_iphone_13__text_scale_1_6.png
│ │ │ │ ├── message.sign.signature.dark.view_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── message.sign.signature.dark.view_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── message.sign.signature.dark.view_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── message.sign.signature.dark.view_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── message.sign.signature.dark.view_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── message.sign.signature.dark.view_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── message.sign.signature.view_iphone_13__text_scale_1_0.png
│ │ │ │ ├── message.sign.signature.view_iphone_13__text_scale_1_3.png
│ │ │ │ ├── message.sign.signature.view_iphone_13__text_scale_1_6.png
│ │ │ │ ├── message.sign.signature.view_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── message.sign.signature.view_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── message.sign.signature.view_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── message.sign.signature.view_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── message.sign.signature.view_iphone_14_plus__text_scale_1_3.png
│ │ │ │ └── message.sign.signature.view_iphone_14_plus__text_scale_1_6.png
│ │ │ ├── paper.wallet
│ │ │ │ ├── paper.wallet.dark.view_iphone_13__text_scale_1_0.png
│ │ │ │ ├── paper.wallet.dark.view_iphone_13__text_scale_1_3.png
│ │ │ │ ├── paper.wallet.dark.view_iphone_13__text_scale_1_6.png
│ │ │ │ ├── paper.wallet.dark.view_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── paper.wallet.dark.view_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── paper.wallet.dark.view_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── paper.wallet.dark.view_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── paper.wallet.dark.view_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── paper.wallet.dark.view_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── paper.wallet.view_iphone_13__text_scale_1_0.png
│ │ │ │ ├── paper.wallet.view_iphone_13__text_scale_1_3.png
│ │ │ │ ├── paper.wallet.view_iphone_13__text_scale_1_6.png
│ │ │ │ ├── paper.wallet.view_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── paper.wallet.view_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── paper.wallet.view_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── paper.wallet.view_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── paper.wallet.view_iphone_14_plus__text_scale_1_3.png
│ │ │ │ └── paper.wallet.view_iphone_14_plus__text_scale_1_6.png
│ │ │ ├── signin
│ │ │ │ ├── signin.dark_view_iphone_13__text_scale_1_0.png
│ │ │ │ ├── signin.dark_view_iphone_13__text_scale_1_3.png
│ │ │ │ ├── signin.dark_view_iphone_13__text_scale_1_6.png
│ │ │ │ ├── signin.dark_view_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── signin.dark_view_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── signin.dark_view_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── signin.dark_view_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── signin.dark_view_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── signin.dark_view_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── signin_view_iphone_13__text_scale_1_0.png
│ │ │ │ ├── signin_view_iphone_13__text_scale_1_3.png
│ │ │ │ ├── signin_view_iphone_13__text_scale_1_6.png
│ │ │ │ ├── signin_view_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── signin_view_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── signin_view_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── signin_view_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── signin_view_iphone_14_plus__text_scale_1_3.png
│ │ │ │ └── signin_view_iphone_14_plus__text_scale_1_6.png
│ │ │ ├── twofa
│ │ │ │ ├── twofa.disable.dark.view_iphone_13__text_scale_1_0.png
│ │ │ │ ├── twofa.disable.dark.view_iphone_13__text_scale_1_3.png
│ │ │ │ ├── twofa.disable.dark.view_iphone_13__text_scale_1_6.png
│ │ │ │ ├── twofa.disable.dark.view_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── twofa.disable.dark.view_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── twofa.disable.dark.view_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── twofa.disable.dark.view_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── twofa.disable.dark.view_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── twofa.disable.dark.view_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── twofa.disable.view_iphone_13__text_scale_1_0.png
│ │ │ │ ├── twofa.disable.view_iphone_13__text_scale_1_3.png
│ │ │ │ ├── twofa.disable.view_iphone_13__text_scale_1_6.png
│ │ │ │ ├── twofa.disable.view_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── twofa.disable.view_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── twofa.disable.view_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── twofa.disable.view_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── twofa.disable.view_iphone_14_plus__text_scale_1_3.png
│ │ │ │ └── twofa.disable.view_iphone_14_plus__text_scale_1_6.png
│ │ │ ├── welcome
│ │ │ │ ├── dark_view_iphone_13__text_scale_1_0.png
│ │ │ │ ├── dark_view_iphone_13__text_scale_1_3.png
│ │ │ │ ├── dark_view_iphone_13__text_scale_1_6.png
│ │ │ │ ├── dark_view_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── dark_view_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── dark_view_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── dark_view_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── dark_view_iphone_14_plus__text_scale_1_3.png
│ │ │ │ ├── dark_view_iphone_14_plus__text_scale_1_6.png
│ │ │ │ ├── welcome_view_iphone_13__text_scale_1_0.png
│ │ │ │ ├── welcome_view_iphone_13__text_scale_1_3.png
│ │ │ │ ├── welcome_view_iphone_13__text_scale_1_6.png
│ │ │ │ ├── welcome_view_iphone_13_pro__text_scale_1_0.png
│ │ │ │ ├── welcome_view_iphone_13_pro__text_scale_1_3.png
│ │ │ │ ├── welcome_view_iphone_13_pro__text_scale_1_6.png
│ │ │ │ ├── welcome_view_iphone_14_plus__text_scale_1_0.png
│ │ │ │ ├── welcome_view_iphone_14_plus__text_scale_1_3.png
│ │ │ │ └── welcome_view_iphone_14_plus__text_scale_1_6.png
│ │ │ └── windows
│ │ │ │ └── welcome
│ │ │ │ └── welcome.png
│ │ ├── message.sign_test.dart
│ │ ├── message.sign_test.mocks.dart
│ │ ├── paper.wallet_test.dart
│ │ ├── paper.wallet_test.mocks.dart
│ │ ├── signin_test.dart
│ │ ├── signin_test.mocks.dart
│ │ ├── splash_view_test.dart
│ │ ├── twofa.disable_test.dart
│ │ ├── twofa.disable_test.mocks.dart
│ │ ├── welcome.alchemist_test.dart
│ │ └── welcome_test.dart
│ ├── test.dart
│ └── test.mocks.dart
└── theme
│ └── theme.font_test.dart
└── windows
├── .gitignore
├── CMakeLists.txt
├── flutter
├── CMakeLists.txt
├── generated_plugin_registrant.cc
├── generated_plugin_registrant.h
└── generated_plugins.cmake
├── runner
├── CMakeLists.txt
├── Runner.rc
├── flutter_window.cpp
├── flutter_window.h
├── main.cpp
├── resource.h
├── resources
│ ├── app_icon.ico
│ └── ic_launcher.ico
├── runner.exe.manifest
├── utils.cpp
├── utils.h
├── win32_window.cpp
└── win32_window.h
└── rust.cmake
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto eol=lf
2 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "vendor/andromeda"]
2 | path = vendor/andromeda
3 | url = git@gitlab.protontech.ch:wallet/andromeda.git
4 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # CHANGELOG
2 |
3 | ## 1.0.0
4 |
--------------------------------------------------------------------------------
/CODEOWNERS:
--------------------------------------------------------------------------------
1 | # ownership: loose
2 | * @wallet
3 |
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | gradle-wrapper.jar
2 | /.gradle
3 | /captures/
4 | /gradlew
5 | /gradlew.bat
6 | /local.properties
7 | GeneratedPluginRegistrant.java
8 |
9 | # Remember to never publicly share your keystore.
10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
11 | key.properties
12 | **/*.keystore
13 | **/*.jks
14 |
--------------------------------------------------------------------------------
/android/app/libs/gopenpgp.aar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/android/app/libs/gopenpgp.aar
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/string.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | fcm_channel_id
4 |
5 |
6 | Start using Proton Wallet
7 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https://services.gradle.org/distributions/gradle-8.2-bin.zip
4 | networkTimeout=10000
5 | zipStoreBase=GRADLE_USER_HOME
6 | zipStorePath=wrapper/dists
7 |
--------------------------------------------------------------------------------
/assets/fonts/Inter-VariableFont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/fonts/Inter-VariableFont.ttf
--------------------------------------------------------------------------------
/assets/images/icon/bitcoin_big_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/bitcoin_big_icon.png
--------------------------------------------------------------------------------
/assets/images/icon/bitcoin_big_icon_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/bitcoin_big_icon_dark.png
--------------------------------------------------------------------------------
/assets/images/icon/discover_bitcoin_guide.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/discover_bitcoin_guide.png
--------------------------------------------------------------------------------
/assets/images/icon/discover_bve.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/discover_bve.png
--------------------------------------------------------------------------------
/assets/images/icon/discover_how_to_protect.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/discover_how_to_protect.png
--------------------------------------------------------------------------------
/assets/images/icon/discover_proton_wallet_launch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/discover_proton_wallet_launch.png
--------------------------------------------------------------------------------
/assets/images/icon/discover_proton_wallet_security.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/discover_proton_wallet_security.png
--------------------------------------------------------------------------------
/assets/images/icon/discover_what_is_bitcoin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/discover_what_is_bitcoin.png
--------------------------------------------------------------------------------
/assets/images/icon/download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/download.png
--------------------------------------------------------------------------------
/assets/images/icon/download_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/download_dark.png
--------------------------------------------------------------------------------
/assets/images/icon/early_access.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/early_access.png
--------------------------------------------------------------------------------
/assets/images/icon/early_access_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/early_access_dark.png
--------------------------------------------------------------------------------
/assets/images/icon/key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/key.png
--------------------------------------------------------------------------------
/assets/images/icon/key_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/key_dark.png
--------------------------------------------------------------------------------
/assets/images/icon/launch_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/launch_icon.png
--------------------------------------------------------------------------------
/assets/images/icon/lock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/lock.png
--------------------------------------------------------------------------------
/assets/images/icon/lock_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/lock_dark.png
--------------------------------------------------------------------------------
/assets/images/icon/paper_plane.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/paper_plane.png
--------------------------------------------------------------------------------
/assets/images/icon/paper_plane_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/paper_plane_dark.png
--------------------------------------------------------------------------------
/assets/images/icon/receive.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/images/icon/send.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/assets/images/icon/sign_header.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/sign_header.png
--------------------------------------------------------------------------------
/assets/images/icon/sign_header_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/sign_header_dark.png
--------------------------------------------------------------------------------
/assets/images/icon/user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/user.png
--------------------------------------------------------------------------------
/assets/images/icon/user_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/icon/user_dark.png
--------------------------------------------------------------------------------
/assets/images/welcome/wallet_welcome_head.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/welcome/wallet_welcome_head.jpg
--------------------------------------------------------------------------------
/assets/images/welcome/wallet_welcome_head.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/welcome/wallet_welcome_head.png
--------------------------------------------------------------------------------
/assets/images/welcome/wallet_welcome_head_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/assets/images/welcome/wallet_welcome_head_dark.png
--------------------------------------------------------------------------------
/flutter_rust_bridge.yaml:
--------------------------------------------------------------------------------
1 | # https://github.com/fzyzcjy/flutter_rust_bridge/blob/master/frb_codegen/src/library/codegen/config/config.rs
2 | rust_input: rust/src/api/**/*.rs
3 | dart_output: lib/rust
4 | web: false
5 | enable_lifetime: true
6 | local: true
7 |
--------------------------------------------------------------------------------
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Flutter/Profile.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Gemfile:
--------------------------------------------------------------------------------
1 | source "https://rubygems.org"
2 |
3 | gem "fastlane"
4 | gem "abbrev"
5 | gem "mutex_m"
6 | gem "ostruct"
--------------------------------------------------------------------------------
/ios/Profile.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-50x50@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-57x57@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-72x72@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "LaunchImage.png",
5 | "idiom" : "universal"
6 | }
7 | ],
8 | "info" : {
9 | "author" : "xcode",
10 | "version" : 1
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ProtonWallet/flutter-app/0ac1dbf7da4689b4159b085bc99eab6f90adfa5a/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/ios/Runner/Extensions.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 | extension Bundle {
3 | var isFromTestFlight: Bool {
4 | // return false
5 | // Based on Sentry's implementation of the same check
6 | Bundle.main.appStoreReceiptURL?.lastPathComponent == "sandboxReceipt"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
--------------------------------------------------------------------------------
/ios/Runner/de.lproj/LaunchScreen.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/de.lproj/Main.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/es-419.lproj/LaunchScreen.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/es-419.lproj/Main.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/es.lproj/LaunchScreen.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/es.lproj/Main.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/fr.lproj/LaunchScreen.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/fr.lproj/Main.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/it.lproj/LaunchScreen.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/it.lproj/Main.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/nl.lproj/LaunchScreen.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/nl.lproj/Main.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/pl.lproj/LaunchScreen.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/pl.lproj/Main.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/pt-BR.lproj/LaunchScreen.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/pt-BR.lproj/Main.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/ru.lproj/LaunchScreen.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/ru.lproj/Main.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/tr.lproj/LaunchScreen.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/Runner/tr.lproj/Main.strings:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/ios/RunnerTests/RunnerTests.swift:
--------------------------------------------------------------------------------
1 | import Flutter
2 | import UIKit
3 | import XCTest
4 |
5 | class RunnerTests: XCTestCase {
6 |
7 | func testExample() {
8 | // If you add code to the Runner application, consider adding tests here.
9 | // See https://developer.apple.com/documentation/xctest for more information about using XCTest.
10 | }
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/l10n.yaml:
--------------------------------------------------------------------------------
1 | arb-dir: lib/l10n
2 | template-arb-file: locale_en.arb
3 | output-class: S
4 | output-localization-file: locale.dart
5 | output-dir: lib/l10n/generated
6 | #S.of(context).yourMessage
7 | nullable-getter: false
8 | untranslated-messages-file: untranslated_strings.txt
9 | synthetic-package: false
10 |
11 |
--------------------------------------------------------------------------------
/lefthook.yml:
--------------------------------------------------------------------------------
1 | pre-commit:
2 | parallel: true
3 | commands:
4 | flutter:
5 | run: flutter analyze --no-fatal-infos
6 | rust:
7 | run: cd rust && cargo clippy --all --all-targets
--------------------------------------------------------------------------------
/lib/helper/extension/bitcoin.unit.extension.dart:
--------------------------------------------------------------------------------
1 | import 'package:wallet/rust/proton_api/user_settings.dart';
2 |
3 | extension BitcoinUnitExtension on List {
4 | List get toUpperCaseList {
5 | return map((v) => v.name.toUpperCase()).toList();
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/lib/helper/extension/data.dart:
--------------------------------------------------------------------------------
1 | import 'dart:convert';
2 |
3 | /// An extension on [List] that provides a method to
4 | /// convert byte data to a Base64-encoded string.
5 | extension Base64EncodingExtension on List {
6 | /// Encodes the list of bytes as a Base64 string.
7 | String toBase64() => base64Encode(this);
8 | }
9 |
--------------------------------------------------------------------------------
/lib/helper/extension/frb.address.details.dart:
--------------------------------------------------------------------------------
1 | import 'package:wallet/helper/common.helper.dart';
2 | import 'package:wallet/rust/api/bdk_wallet/address.dart';
3 |
4 | extension FrbAddressDetailsExt on FrbAddressDetails {
5 | String get shortAddress {
6 | return CommonHelper.shorterBitcoinAddress(
7 | address,
8 | leftLength: 12,
9 | rightLength: 12,
10 | );
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/lib/managers/manager.dart:
--------------------------------------------------------------------------------
1 | abstract class Manager {
2 | Future init();
3 | Future login(String userID);
4 | Future reload();
5 | Future dispose();
6 | Future logout();
7 | Priority getPriority();
8 | }
9 |
10 | enum Priority {
11 | level1,
12 | level2,
13 | level3,
14 | level4,
15 | level5,
16 | }
17 |
--------------------------------------------------------------------------------
/lib/managers/preferences/preferences.interface.dart:
--------------------------------------------------------------------------------
1 | abstract class PreferencesInterface {
2 | Future write(String key, dynamic value);
3 | Future read(String key);
4 | Future delete(String key);
5 | Future deleteAll();
6 | Map toMap();
7 | }
--------------------------------------------------------------------------------
/lib/managers/secure.storage/secure.storage.interface.dart:
--------------------------------------------------------------------------------
1 | abstract class SecureStorageInterface {
2 | Future write(String key, String value);
3 | Future read(String key);
4 | Future containsKey(String key);
5 | Future delete(String key);
6 | Future deleteAll();
7 | }
8 |
--------------------------------------------------------------------------------
/lib/managers/users/user.key.dart:
--------------------------------------------------------------------------------
1 | class UserKey {
2 | final String keyID;
3 | final String privateKey;
4 | final String passphrase;
5 |
6 | UserKey(
7 | {required this.keyID,
8 | required this.privateKey,
9 | required this.passphrase});
10 | }
11 |
--------------------------------------------------------------------------------
/lib/managers/users/user.manager.state.dart:
--------------------------------------------------------------------------------
1 | // Data States
2 | import 'package:equatable/equatable.dart';
3 |
4 | abstract class UserManagerState extends Equatable {
5 | const UserManagerState();
6 | }
7 |
8 | class UserManagerInitial extends UserManagerState {
9 | @override
10 | List