zcash-android-wallet-sdk/demo-app/src/main/java/cash/z/ecc/android/sdk/demoapp/model/WalletAddresses.kt

36 lines
1.1 KiB
Kotlin

package cash.z.ecc.android.sdk.demoapp.model
import cash.z.ecc.android.sdk.Synchronizer
import cash.z.ecc.android.sdk.model.Account
data class WalletAddresses(
val unified: WalletAddress.Unified,
val sapling: WalletAddress.Sapling,
val transparent: WalletAddress.Transparent
) {
// Override to prevent leaking details in logs
override fun toString() = "WalletAddresses"
companion object {
suspend fun new(synchronizer: Synchronizer): WalletAddresses {
val unified = WalletAddress.Unified.new(
synchronizer.getUnifiedAddress(Account.DEFAULT)
)
val saplingAddress = WalletAddress.Sapling.new(
synchronizer.getSaplingAddress(Account.DEFAULT)
)
val transparentAddress = WalletAddress.Transparent.new(
synchronizer.getTransparentAddress(Account.DEFAULT)
)
return WalletAddresses(
unified = unified,
sapling = saplingAddress,
transparent = transparentAddress
)
}
}
}