Update to latest SDK and fix errors.

This commit is contained in:
Kevin Gorham 2020-02-24 14:51:45 -05:00
parent 8c93840671
commit 925a5cb4d6
No known key found for this signature in database
GPG Key ID: CCA55602DF49FC38
7 changed files with 30 additions and 19 deletions

View File

@ -8,8 +8,10 @@ import cash.z.wallet.sdk.demoapp.databinding.FragmentGetAddressBinding
class GetAddressFragment : BaseDemoFragment<FragmentGetAddressBinding>() {
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<FragmentGetAddressBinding>() {
* 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() {

View File

@ -9,6 +9,7 @@ import cash.z.wallet.sdk.demoapp.databinding.FragmentGetPrivateKeyBinding
class GetPrivateKeyFragment : BaseDemoFragment<FragmentGetPrivateKeyBinding>() {
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<String>
private lateinit var viewingKeys: Array<String>
@ -22,7 +23,7 @@ class GetPrivateKeyFragment : BaseDemoFragment<FragmentGetPrivateKeyBinding>() {
* 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.

View File

@ -22,7 +22,8 @@ import kotlinx.coroutines.launch
*/
class ListTransactionsFragment : BaseDemoFragment<FragmentListTransactionsBinding>() {
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<ConfirmedTransaction>
@ -30,8 +31,8 @@ class ListTransactionsFragment : BaseDemoFragment<FragmentListTransactionsBindin
FragmentListTransactionsBinding.inflate(layoutInflater)
override fun resetInBackground() {
initializer.new(config.seed)
synchronizer = Synchronizer(App.instance, config.host, initializer.rustBackend)
initializer.new(config.seed, birthday)
synchronizer = Synchronizer(App.instance, initializer)
}
override fun onResetComplete() {

View File

@ -17,7 +17,8 @@ import cash.z.wallet.sdk.ext.*
class SendFragment : BaseDemoFragment<FragmentSendBinding>() {
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>() {
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<FragmentSendBinding>() {
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<FragmentSendBinding>() {
}
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()
}

View File

@ -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 }

View File

@ -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

View File

@ -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