├── lib └── android │ ├── consumer-rules.pro │ ├── src │ ├── main │ │ ├── aidl │ │ │ └── im │ │ │ │ └── molly │ │ │ │ └── monero │ │ │ │ └── sdk │ │ │ │ ├── RemoteNode.aidl │ │ │ │ ├── SecretKey.aidl │ │ │ │ ├── PublicAddress.aidl │ │ │ │ ├── SweepRequest.aidl │ │ │ │ ├── BlockchainTime.aidl │ │ │ │ ├── PaymentRequest.aidl │ │ │ │ └── internal │ │ │ │ ├── TxInfo.aidl │ │ │ │ ├── HttpRequest.aidl │ │ │ │ ├── HttpResponse.aidl │ │ │ │ ├── WalletConfig.aidl │ │ │ │ ├── IWalletServiceListener.aidl │ │ │ │ ├── IWalletServiceCallbacks.aidl │ │ │ │ ├── IHttpRequestCallback.aidl │ │ │ │ ├── IPendingTransfer.aidl │ │ │ │ ├── IHttpRpcClient.aidl │ │ │ │ ├── IWalletCallbacks.aidl │ │ │ │ ├── IBalanceListener.aidl │ │ │ │ ├── IWalletService.aidl │ │ │ │ ├── ITransferCallback.aidl │ │ │ │ └── IWallet.aidl │ │ ├── cpp │ │ │ ├── monero │ │ │ │ ├── wallet2 │ │ │ │ │ ├── i18n_override.cc │ │ │ │ │ ├── include │ │ │ │ │ │ └── boringssl_compat.h │ │ │ │ │ ├── perf_timer_override.cc │ │ │ │ │ └── mlog_override.cc │ │ │ │ ├── lmdb │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── randomx │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── electrum_words │ │ │ │ │ ├── mlog_override.cc │ │ │ │ │ └── CMakeLists.txt │ │ │ │ ├── easylogging │ │ │ │ │ └── CMakeLists.txt │ │ │ │ └── CMakeLists.txt │ │ │ ├── common │ │ │ │ ├── arraysize.h │ │ │ │ ├── jvm.h │ │ │ │ ├── eraser.h │ │ │ │ └── debug.h │ │ │ ├── boringssl │ │ │ │ └── CMakeLists.txt │ │ │ ├── mnemonics │ │ │ │ ├── jni_loader.cc │ │ │ │ ├── jni_cache.h │ │ │ │ ├── jni_cache.cc │ │ │ │ └── mnemonics.cc │ │ │ ├── wallet │ │ │ │ ├── transfer.cc │ │ │ │ ├── jni_loader.cc │ │ │ │ ├── transfer.h │ │ │ │ ├── jni_cache.h │ │ │ │ ├── logging.h │ │ │ │ ├── fd.h │ │ │ │ └── http_client.h │ │ │ ├── boost │ │ │ │ └── user-config │ │ │ │ │ ├── boost_x86_64.jam.in │ │ │ │ │ ├── boost_arm64-v8a.jam.in │ │ │ │ │ └── boost_armeabi-v7a.jam.in │ │ │ ├── libsodium │ │ │ │ └── CMakeLists.txt │ │ │ ├── unbound │ │ │ │ └── CMakeLists.txt │ │ │ ├── cmake │ │ │ │ └── toolchain.cmake │ │ │ └── CMakeLists.txt │ │ ├── kotlin │ │ │ └── im │ │ │ │ └── molly │ │ │ │ └── monero │ │ │ │ └── sdk │ │ │ │ ├── FeePriority.kt │ │ │ │ ├── internal │ │ │ │ ├── WalletConfig.kt │ │ │ │ ├── CalledByNative.kt │ │ │ │ ├── HttpResponse.kt │ │ │ │ ├── WalletServiceLogListener.kt │ │ │ │ ├── Binder.kt │ │ │ │ ├── HexStringParceler.kt │ │ │ │ ├── constants │ │ │ │ │ └── Constants.kt │ │ │ │ ├── NativeLoader.kt │ │ │ │ ├── LedgerFactory.kt │ │ │ │ ├── HttpRequest.kt │ │ │ │ ├── Logger.kt │ │ │ │ └── DataStoreAdapter.kt │ │ │ │ ├── exceptions │ │ │ │ ├── NoSuchAccountException.kt │ │ │ │ └── InternalRuntimeException.kt │ │ │ │ ├── ProtocolInfo.kt │ │ │ │ ├── PaymentDetail.kt │ │ │ │ ├── DynamicFeeRate.kt │ │ │ │ ├── MoneroNetworkAliases.kt │ │ │ │ ├── TransferRequest.kt │ │ │ │ ├── service │ │ │ │ ├── BaseWalletService.kt │ │ │ │ ├── SandboxedWalletService.kt │ │ │ │ └── InProcessWalletService.kt │ │ │ │ ├── RemoteNode.kt │ │ │ │ ├── WalletAccount.kt │ │ │ │ ├── ContextUtils.kt │ │ │ │ ├── HashDigest.kt │ │ │ │ ├── PublicKey.kt │ │ │ │ ├── Ledger.kt │ │ │ │ ├── Block.kt │ │ │ │ ├── Transaction.kt │ │ │ │ ├── loadbalancer │ │ │ │ ├── Rule.kt │ │ │ │ └── LoadBalancer.kt │ │ │ │ ├── MoneroNetwork.kt │ │ │ │ ├── WalletProvider.kt │ │ │ │ ├── WalletDataStore.kt │ │ │ │ ├── RestorePoint.kt │ │ │ │ ├── TimeLocked.kt │ │ │ │ ├── Logging.kt │ │ │ │ ├── PendingTransfer.kt │ │ │ │ ├── Balance.kt │ │ │ │ ├── AccountAddress.kt │ │ │ │ ├── RetryBackoff.kt │ │ │ │ ├── Enote.kt │ │ │ │ ├── MoneroAmount.kt │ │ │ │ ├── SecretKey.kt │ │ │ │ ├── util │ │ │ │ └── Base58.kt │ │ │ │ ├── mnemonics │ │ │ │ └── MnemonicCode.kt │ │ │ │ └── MoneroCurrency.kt │ │ ├── proto │ │ │ └── ledger.proto │ │ └── AndroidManifest.xml │ ├── androidTest │ │ └── kotlin │ │ │ └── im │ │ │ └── molly │ │ │ └── monero │ │ │ └── sdk │ │ │ ├── SecretKeyParcelableTest.kt │ │ │ ├── service │ │ │ └── WalletServiceSandboxingTest.kt │ │ │ ├── MoneroWalletSubject.kt │ │ │ ├── LedgerSubject.kt │ │ │ ├── e2etest │ │ │ ├── WalletServiceRule.kt │ │ │ ├── WalletTestBase.kt │ │ │ └── WalletRefreshTest.kt │ │ │ ├── mnemonics │ │ │ └── MoneroMnemonicTest.kt │ │ │ └── internal │ │ │ └── NativeWalletTest.kt │ └── test │ │ └── kotlin │ │ └── im │ │ └── molly │ │ └── monero │ │ └── sdk │ │ ├── TimeLockedTest.kt │ │ ├── BalanceTest.kt │ │ ├── SecretKeyTest.kt │ │ └── WalletServiceClientTest.kt │ └── proguard-rules.pro ├── .gitignore ├── gradle ├── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties └── test-libs.versions.toml ├── gradle.properties ├── demo └── android │ ├── lint.xml │ ├── src │ ├── main │ │ ├── res │ │ │ ├── mipmap-hdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-mdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── mipmap-xxxhdpi │ │ │ │ ├── ic_launcher.webp │ │ │ │ └── ic_launcher_round.webp │ │ │ ├── values │ │ │ │ ├── themes.xml │ │ │ │ ├── strings.xml │ │ │ │ └── colors.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ └── drawable-v24 │ │ │ │ └── ic_launcher_foreground.xml │ │ ├── kotlin │ │ │ └── im │ │ │ │ └── molly │ │ │ │ └── monero │ │ │ │ └── demo │ │ │ │ ├── data │ │ │ │ ├── model │ │ │ │ │ ├── WalletTransaction.kt │ │ │ │ │ ├── UserSettings.kt │ │ │ │ │ ├── WalletConfig.kt │ │ │ │ │ ├── WalletAddress.kt │ │ │ │ │ ├── RemoteNode.kt │ │ │ │ │ └── SocksProxy.kt │ │ │ │ ├── entity │ │ │ │ │ ├── PopulatedWallet.kt │ │ │ │ │ ├── WalletEntity.kt │ │ │ │ │ ├── WalletRemoteNodeXRef.kt │ │ │ │ │ └── RemoteNodeEntity.kt │ │ │ │ ├── AppDatabase.kt │ │ │ │ ├── dao │ │ │ │ │ ├── WalletDao.kt │ │ │ │ │ └── RemoteNodeDao.kt │ │ │ │ ├── SettingsRepository.kt │ │ │ │ ├── RemoteNodeRepository.kt │ │ │ │ └── WalletDataSource.kt │ │ │ │ ├── ui │ │ │ │ ├── theme │ │ │ │ │ ├── Color.kt │ │ │ │ │ ├── Icon.kt │ │ │ │ │ ├── Type.kt │ │ │ │ │ └── Theme.kt │ │ │ │ ├── WalletCardList.kt │ │ │ │ ├── navigation │ │ │ │ │ ├── HistoryNavigation.kt │ │ │ │ │ ├── HomeNavigation.kt │ │ │ │ │ ├── TopLevelDestination.kt │ │ │ │ │ ├── TransactionNavigation.kt │ │ │ │ │ ├── SettingsNavigation.kt │ │ │ │ │ └── NavGraph.kt │ │ │ │ ├── AddressCardList.kt │ │ │ │ ├── TransactionCardList.kt │ │ │ │ ├── component │ │ │ │ │ ├── Toolbar.kt │ │ │ │ │ ├── CopyableText.kt │ │ │ │ │ ├── RadioButtons.kt │ │ │ │ │ └── SelectListBox.kt │ │ │ │ ├── WalletListViewModel.kt │ │ │ │ ├── HistoryScreen.kt │ │ │ │ ├── PendingTransferView.kt │ │ │ │ ├── preview │ │ │ │ │ └── PreviewParameterData.kt │ │ │ │ ├── DemoAppState.kt │ │ │ │ ├── TransactionViewModel.kt │ │ │ │ ├── AddressCard.kt │ │ │ │ └── WalletCard.kt │ │ │ │ ├── DefaultNodeList.kt │ │ │ │ ├── common │ │ │ │ └── Result.kt │ │ │ │ ├── MainApplication.kt │ │ │ │ ├── AppModule.kt │ │ │ │ └── MainActivity.kt │ │ └── AndroidManifest.xml │ ├── test │ │ └── kotlin │ │ │ └── im │ │ │ └── molly │ │ │ └── monero │ │ │ └── demo │ │ │ └── ExampleUnitTest.kt │ └── androidTest │ │ └── kotlin │ │ └── im │ │ └── molly │ │ └── monero │ │ └── demo │ │ └── ExampleInstrumentedTest.kt │ ├── proguard-rules.pro │ └── build.gradle.kts ├── .gitmodules ├── .github ├── actions │ └── disk-cleanup │ │ └── action.yml └── workflows │ └── build.yml └── settings.gradle.kts /lib/android/consumer-rules.pro: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | .idea 4 | build 5 | captures 6 | .externalNativeBuild 7 | .cxx 8 | local.properties 9 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mollyim/monero-wallet-sdk/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /lib/android/src/main/aidl/im/molly/monero/sdk/RemoteNode.aidl: -------------------------------------------------------------------------------- 1 | package im.molly.monero.sdk; 2 | 3 | parcelable RemoteNode; 4 | -------------------------------------------------------------------------------- /lib/android/src/main/aidl/im/molly/monero/sdk/SecretKey.aidl: -------------------------------------------------------------------------------- 1 | package im.molly.monero.sdk; 2 | 3 | parcelable SecretKey; 4 | -------------------------------------------------------------------------------- /lib/android/src/main/aidl/im/molly/monero/sdk/PublicAddress.aidl: -------------------------------------------------------------------------------- 1 | package im.molly.monero.sdk; 2 | 3 | parcelable PublicAddress; 4 | -------------------------------------------------------------------------------- /lib/android/src/main/aidl/im/molly/monero/sdk/SweepRequest.aidl: -------------------------------------------------------------------------------- 1 | package im.molly.monero.sdk; 2 | 3 | parcelable SweepRequest; 4 | -------------------------------------------------------------------------------- /lib/android/src/main/aidl/im/molly/monero/sdk/BlockchainTime.aidl: -------------------------------------------------------------------------------- 1 | package im.molly.monero.sdk; 2 | 3 | parcelable BlockchainTime; 4 | -------------------------------------------------------------------------------- /lib/android/src/main/aidl/im/molly/monero/sdk/PaymentRequest.aidl: -------------------------------------------------------------------------------- 1 | package im.molly.monero.sdk; 2 | 3 | parcelable PaymentRequest; 4 | -------------------------------------------------------------------------------- /lib/android/src/main/aidl/im/molly/monero/sdk/internal/TxInfo.aidl: -------------------------------------------------------------------------------- 1 | package im.molly.monero.sdk.internal; 2 | 3 | parcelable TxInfo; 4 | -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 2 | android.useAndroidX=true 3 | android.native.buildOutput=verbose 4 | -------------------------------------------------------------------------------- /lib/android/src/main/aidl/im/molly/monero/sdk/internal/HttpRequest.aidl: -------------------------------------------------------------------------------- 1 | package im.molly.monero.sdk.internal; 2 | 3 | parcelable HttpRequest; 4 | -------------------------------------------------------------------------------- /lib/android/src/main/aidl/im/molly/monero/sdk/internal/HttpResponse.aidl: -------------------------------------------------------------------------------- 1 | package im.molly.monero.sdk.internal; 2 | 3 | parcelable HttpResponse; 4 | -------------------------------------------------------------------------------- /lib/android/src/main/aidl/im/molly/monero/sdk/internal/WalletConfig.aidl: -------------------------------------------------------------------------------- 1 | package im.molly.monero.sdk.internal; 2 | 3 | parcelable WalletConfig; 4 | -------------------------------------------------------------------------------- /demo/android/lint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /demo/android/src/main/res/mipmap-hdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mollyim/monero-wallet-sdk/HEAD/demo/android/src/main/res/mipmap-hdpi/ic_launcher.webp -------------------------------------------------------------------------------- /demo/android/src/main/res/mipmap-mdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mollyim/monero-wallet-sdk/HEAD/demo/android/src/main/res/mipmap-mdpi/ic_launcher.webp -------------------------------------------------------------------------------- /demo/android/src/main/res/mipmap-xhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mollyim/monero-wallet-sdk/HEAD/demo/android/src/main/res/mipmap-xhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /demo/android/src/main/res/mipmap-xxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mollyim/monero-wallet-sdk/HEAD/demo/android/src/main/res/mipmap-xxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /demo/android/src/main/res/mipmap-xxxhdpi/ic_launcher.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mollyim/monero-wallet-sdk/HEAD/demo/android/src/main/res/mipmap-xxxhdpi/ic_launcher.webp -------------------------------------------------------------------------------- /demo/android/src/main/res/mipmap-hdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mollyim/monero-wallet-sdk/HEAD/demo/android/src/main/res/mipmap-hdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /demo/android/src/main/res/mipmap-mdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mollyim/monero-wallet-sdk/HEAD/demo/android/src/main/res/mipmap-mdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /demo/android/src/main/res/mipmap-xhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mollyim/monero-wallet-sdk/HEAD/demo/android/src/main/res/mipmap-xhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /lib/android/src/main/cpp/monero/wallet2/i18n_override.cc: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | const char* i18n_translate(const char* s, const std::string& context) { 4 | return s; 5 | } 6 | -------------------------------------------------------------------------------- /demo/android/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mollyim/monero-wallet-sdk/HEAD/demo/android/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /demo/android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mollyim/monero-wallet-sdk/HEAD/demo/android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp -------------------------------------------------------------------------------- /demo/android/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |