zashi-ios-wallet-private/secant/Dependencies/DerivationTool/DerivationToolTestKey.swift

64 lines
3.3 KiB
Swift
Raw Normal View History

//
// DerivationToolTestKey.swift
// secant-testnet
//
// Created by Lukáš Korba on 12.11.2022.
//
import ComposableArchitecture
import XCTestDynamicOverlay
import ZcashLightClientKit
extension DerivationToolClient: TestDependencyKey {
static let testValue = Self(
deriveViewingKeys: XCTUnimplemented("\(Self.self).deriveViewingKeys", placeholder: []),
deriveViewingKey: XCTUnimplemented("\(Self.self).deriveViewingKey", placeholder: ""),
deriveSpendingKeys: XCTUnimplemented("\(Self.self).deriveSpendingKeys", placeholder: []),
deriveShieldedAddress: XCTUnimplemented("\(Self.self).deriveShieldedAddress", placeholder: ""),
deriveShieldedAddressFromViewingKey: XCTUnimplemented("\(Self.self).deriveShieldedAddressFromViewingKey", placeholder: ""),
deriveTransparentAddress: XCTUnimplemented("\(Self.self).deriveTransparentAddress", placeholder: ""),
deriveUnifiedViewingKeysFromSeed: XCTUnimplemented("\(Self.self).deriveUnifiedViewingKeysFromSeed", placeholder: []),
deriveUnifiedAddressFromUnifiedViewingKey:
XCTUnimplemented("\(Self.self).deriveUnifiedAddressFromUnifiedViewingKey", placeholder: TestUnifiedAddress()),
deriveTransparentAddressFromPublicKey: XCTUnimplemented("\(Self.self).deriveTransparentAddressFromPublicKey", placeholder: ""),
deriveTransparentPrivateKey: XCTUnimplemented("\(Self.self).deriveTransparentPrivateKey", placeholder: ""),
deriveTransparentAddressFromPrivateKey: XCTUnimplemented("\(Self.self).deriveTransparentAddressFromPrivateKey", placeholder: ""),
isValidExtendedViewingKey: XCTUnimplemented("\(Self.self).isValidExtendedViewingKey", placeholder: false),
isValidTransparentAddress: XCTUnimplemented("\(Self.self).isValidTransparentAddress", placeholder: false),
isValidShieldedAddress: XCTUnimplemented("\(Self.self).isValidShieldedAddress", placeholder: false),
isValidZcashAddress: XCTUnimplemented("\(Self.self).isValidZcashAddress", placeholder: false)
)
}
extension DerivationToolClient {
struct TestUnifiedAddress: UnifiedAddress {
var tAddress: ZcashLightClientKit.TransparentAddress
var zAddress: ZcashLightClientKit.SaplingShieldedAddress
init(tAddress: ZcashLightClientKit.TransparentAddress = "", zAddress: ZcashLightClientKit.SaplingShieldedAddress = "") {
self.tAddress = tAddress
self.zAddress = zAddress
}
}
}
extension DerivationToolClient {
static let noOp = Self(
deriveViewingKeys: { _, _ in [] },
deriveViewingKey: { _ in "" },
deriveSpendingKeys: { _, _ in [] },
deriveShieldedAddress: { _, _ in "" },
deriveShieldedAddressFromViewingKey: { _ in "" },
deriveTransparentAddress: { _, _, _ in "" },
deriveUnifiedViewingKeysFromSeed: { _, _ in [] },
deriveUnifiedAddressFromUnifiedViewingKey: { _ in TestUnifiedAddress() },
deriveTransparentAddressFromPublicKey: { _ in "" },
deriveTransparentPrivateKey: { _, _, _ in "" },
deriveTransparentAddressFromPrivateKey: { _ in "" },
isValidExtendedViewingKey: { _ in false },
isValidTransparentAddress: { _ in false },
isValidShieldedAddress: { _ in false },
isValidZcashAddress: { _ in false }
)
}