39 lines
1.4 KiB
Kotlin
39 lines
1.4 KiB
Kotlin
package cash.z.ecc.android.sdk.internal
|
|
|
|
import cash.z.ecc.android.sdk.model.Account
|
|
import cash.z.ecc.android.sdk.model.UnifiedFullViewingKey
|
|
import cash.z.ecc.android.sdk.model.UnifiedSpendingKey
|
|
import cash.z.ecc.android.sdk.model.ZcashNetwork
|
|
import cash.z.ecc.android.sdk.tool.DerivationTool
|
|
|
|
internal class TypesafeDerivationToolImpl(private val derivation: Derivation) : DerivationTool {
|
|
|
|
override suspend fun deriveUnifiedFullViewingKeys(
|
|
seed: ByteArray,
|
|
network: ZcashNetwork,
|
|
numberOfAccounts: Int
|
|
): List<UnifiedFullViewingKey> = derivation.deriveUnifiedFullViewingKeysTypesafe(seed, network, numberOfAccounts)
|
|
|
|
override suspend fun deriveUnifiedFullViewingKey(
|
|
usk: UnifiedSpendingKey,
|
|
network: ZcashNetwork
|
|
): UnifiedFullViewingKey = derivation.deriveUnifiedFullViewingKey(usk, network)
|
|
|
|
override suspend fun deriveUnifiedSpendingKey(
|
|
seed: ByteArray,
|
|
network: ZcashNetwork,
|
|
account: Account
|
|
): UnifiedSpendingKey = derivation.deriveUnifiedSpendingKey(seed, network, account)
|
|
|
|
override suspend fun deriveUnifiedAddress(
|
|
seed: ByteArray,
|
|
network: ZcashNetwork,
|
|
account: Account
|
|
): String = derivation.deriveUnifiedAddress(seed, network, account)
|
|
|
|
override suspend fun deriveUnifiedAddress(
|
|
viewingKey: String,
|
|
network: ZcashNetwork,
|
|
): String = derivation.deriveUnifiedAddress(viewingKey, network)
|
|
}
|