diff --git a/samples/demo-app/app/src/main/java/cash/z/wallet/sdk/demoapp/demos/getaddress/GetAddressFragment.kt b/samples/demo-app/app/src/main/java/cash/z/wallet/sdk/demoapp/demos/getaddress/GetAddressFragment.kt index 464af9be..fadb6514 100644 --- a/samples/demo-app/app/src/main/java/cash/z/wallet/sdk/demoapp/demos/getaddress/GetAddressFragment.kt +++ b/samples/demo-app/app/src/main/java/cash/z/wallet/sdk/demoapp/demos/getaddress/GetAddressFragment.kt @@ -8,8 +8,10 @@ import cash.z.wallet.sdk.demoapp.databinding.FragmentGetAddressBinding class GetAddressFragment : BaseDemoFragment() { - private var seed: ByteArray = App.instance.defaultConfig.seed - private val initializer: Initializer = Initializer(App.instance) + private val config = App.instance.defaultConfig + private var seed: ByteArray = config.seed + private val initializer: Initializer = Initializer(App.instance, host = config.host, port = config.port) + private val birthday = config.newWalletBirthday() override fun inflateBinding(layoutInflater: LayoutInflater): FragmentGetAddressBinding = FragmentGetAddressBinding.inflate(layoutInflater) @@ -19,7 +21,7 @@ class GetAddressFragment : BaseDemoFragment() { * Create and initialize the wallet. Initialization will return the private keys but for the * purposes of this demo we don't need them. */ - initializer.new(seed) + initializer.new(seed, birthday) } override fun onResetComplete() { diff --git a/samples/demo-app/app/src/main/java/cash/z/wallet/sdk/demoapp/demos/getprivatekey/GetPrivateKeyFragment.kt b/samples/demo-app/app/src/main/java/cash/z/wallet/sdk/demoapp/demos/getprivatekey/GetPrivateKeyFragment.kt index 1514e99e..890edb7f 100644 --- a/samples/demo-app/app/src/main/java/cash/z/wallet/sdk/demoapp/demos/getprivatekey/GetPrivateKeyFragment.kt +++ b/samples/demo-app/app/src/main/java/cash/z/wallet/sdk/demoapp/demos/getprivatekey/GetPrivateKeyFragment.kt @@ -9,6 +9,7 @@ import cash.z.wallet.sdk.demoapp.databinding.FragmentGetPrivateKeyBinding class GetPrivateKeyFragment : BaseDemoFragment() { private var seed: ByteArray = App.instance.defaultConfig.seed private val initializer: Initializer = Initializer(App.instance) + private val birthday = App.instance.defaultConfig.newWalletBirthday() private lateinit var spendingKeys: Array private lateinit var viewingKeys: Array @@ -22,7 +23,7 @@ class GetPrivateKeyFragment : BaseDemoFragment() { * store these keys in its secure storage for retrieval, later. Private keys are only needed * for sending funds. */ - spendingKeys = initializer.new(seed) + spendingKeys = initializer.new(seed, birthday) /* * Viewing keys can be derived from a seed or from spending keys. diff --git a/samples/demo-app/app/src/main/java/cash/z/wallet/sdk/demoapp/demos/listtransactions/ListTransactionsFragment.kt b/samples/demo-app/app/src/main/java/cash/z/wallet/sdk/demoapp/demos/listtransactions/ListTransactionsFragment.kt index 8c9311c7..8e1fd904 100644 --- a/samples/demo-app/app/src/main/java/cash/z/wallet/sdk/demoapp/demos/listtransactions/ListTransactionsFragment.kt +++ b/samples/demo-app/app/src/main/java/cash/z/wallet/sdk/demoapp/demos/listtransactions/ListTransactionsFragment.kt @@ -22,7 +22,8 @@ import kotlinx.coroutines.launch */ class ListTransactionsFragment : BaseDemoFragment() { private val config = App.instance.defaultConfig - private val initializer = Initializer(App.instance) + private val initializer = Initializer(App.instance, host = config.host, port = config.port) + private val birthday = config.newWalletBirthday() private lateinit var synchronizer: Synchronizer private lateinit var adapter: TransactionAdapter @@ -30,8 +31,8 @@ class ListTransactionsFragment : BaseDemoFragment() { private val config = App.instance.defaultConfig - private val initializer = Initializer(App.instance) + private val initializer = Initializer(App.instance, host = config.host, port = config.port) + private val birthday = config.newWalletBirthday() private lateinit var synchronizer: Synchronizer private lateinit var keyManager: SampleStorageBridge @@ -56,9 +57,9 @@ class SendFragment : BaseDemoFragment() { FragmentSendBinding.inflate(layoutInflater) override fun resetInBackground() { - val spendingKeys = initializer.new(config.seed) + val spendingKeys = initializer.new(config.seed, birthday) keyManager = SampleStorageBridge().securelyStorePrivateKey(spendingKeys[0]) - synchronizer = Synchronizer(App.instance, config.host, initializer.rustBackend) + synchronizer = Synchronizer(App.instance, initializer) } // STARTING POINT @@ -102,7 +103,7 @@ class SendFragment : BaseDemoFragment() { private fun onStatus(status: Synchronizer.Status) { binding.textStatus.text = "Status: $status" - if (status == Synchronizer.Status.SYNCING) { + if (status != Synchronizer.Status.SYNCED) { isSyncing = true binding.textBalance.text = "Calculating balance..." } else { @@ -120,10 +121,10 @@ class SendFragment : BaseDemoFragment() { } private fun onBalance(balance: CompactBlockProcessor.WalletBalance) { - availableBalance = balance.available + availableBalance = balance.availableZatoshi binding.textBalance.text = """ - Available balance: ${balance.available.convertZatoshiToZecString()} - Total balance: ${balance.total.convertZatoshiToZecString()} + Available balance: ${balance.availableZatoshi.convertZatoshiToZecString()} + Total balance: ${balance.totalZatoshi.convertZatoshiToZecString()} """.trimIndent() } diff --git a/samples/demo-app/app/src/main/java/cash/z/wallet/sdk/demoapp/util/DemoConfig.kt b/samples/demo-app/app/src/main/java/cash/z/wallet/sdk/demoapp/util/DemoConfig.kt index b7d03027..3e8a86db 100644 --- a/samples/demo-app/app/src/main/java/cash/z/wallet/sdk/demoapp/util/DemoConfig.kt +++ b/samples/demo-app/app/src/main/java/cash/z/wallet/sdk/demoapp/util/DemoConfig.kt @@ -1,13 +1,19 @@ package cash.z.wallet.sdk.demoapp.util +import cash.z.wallet.sdk.Initializer +import cash.z.wallet.sdk.demoapp.App + data class DemoConfig( val host: String = "34.68.177.238",//"192.168.1.134",// val port: Int = 9067, val birthdayHeight: Int = 620_000,//523_240, val network: ZcashNetwork = ZcashNetwork.TEST_NET, - val seed: ByteArray = "testreferencealice".toByteArray(), + val seed: ByteArray = "testreferencealice____placeholder".toByteArray(), val toAddress: String = "ztestsapling1fg82ar8y8whjfd52l0xcq0w3n7nn7cask2scp9rp27njeurr72ychvud57s9tu90fdqgwdt07lg", val sendAmount: Double = 0.0024 -) +) { + fun newWalletBirthday() = Initializer.DefaultBirthdayStore.loadBirthdayFromAssets(App.instance) + fun loadBirthday() = Initializer.DefaultBirthdayStore.loadBirthdayFromAssets(App.instance, birthdayHeight) +} enum class ZcashNetwork { MAIN_NET, TEST_NET } \ No newline at end of file diff --git a/samples/demo-app/build.gradle b/samples/demo-app/build.gradle index 0dfe6e71..919f1e82 100644 --- a/samples/demo-app/build.gradle +++ b/samples/demo-app/build.gradle @@ -10,7 +10,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:3.6.0-beta04' + classpath 'com.android.tools.build:gradle:3.6.0-rc01' classpath"org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/samples/demo-app/gradle/wrapper/gradle-wrapper.properties b/samples/demo-app/gradle/wrapper/gradle-wrapper.properties index e20b905f..c5309f33 100644 --- a/samples/demo-app/gradle/wrapper/gradle-wrapper.properties +++ b/samples/demo-app/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Mon Sep 30 13:00:06 MDT 2019 +#Mon Feb 24 12:41:21 EST 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip