package cash.z.ecc.android.sdk.jni 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 // Implemented by `DerivationTool` interface Derivation { suspend fun deriveUnifiedAddress( viewingKey: String, network: ZcashNetwork ): String suspend fun deriveUnifiedAddress( seed: ByteArray, network: ZcashNetwork, account: Account ): String suspend fun deriveUnifiedSpendingKey( seed: ByteArray, network: ZcashNetwork, account: Account ): UnifiedSpendingKey suspend fun deriveUnifiedFullViewingKey( usk: UnifiedSpendingKey, network: ZcashNetwork ): UnifiedFullViewingKey suspend fun deriveUnifiedFullViewingKeys( seed: ByteArray, network: ZcashNetwork, numberOfAccounts: Int = 1 ): Array }