Refactor to support new app.
This commit is contained in:
parent
88aeb4f5ac
commit
596bea0158
|
@ -4,13 +4,13 @@ import androidx.test.platform.app.InstrumentationRegistry
|
|||
import cash.z.wallet.sdk.block.CompactBlockDbStore
|
||||
import cash.z.wallet.sdk.block.CompactBlockDownloader
|
||||
import cash.z.wallet.sdk.block.CompactBlockProcessor
|
||||
import cash.z.wallet.sdk.transaction.PollingTransactionRepository
|
||||
//import cash.z.wallet.sdk.transaction.PollingTransactionRepository
|
||||
import cash.z.wallet.sdk.ext.TroubleshootingTwig
|
||||
import cash.z.wallet.sdk.ext.Twig
|
||||
import cash.z.wallet.sdk.ext.SampleSeedProvider
|
||||
import cash.z.wallet.sdk.ext.SampleSpendingKeyProvider
|
||||
import cash.z.wallet.sdk.jni.RustBackend
|
||||
import cash.z.wallet.sdk.secure.Wallet
|
||||
//import cash.z.wallet.sdk.secure.Wallet
|
||||
import cash.z.wallet.sdk.service.LightWalletGrpcService
|
||||
import kotlinx.coroutines.runBlocking
|
||||
import org.junit.AfterClass
|
||||
|
@ -30,7 +30,7 @@ class IntegrationTest {
|
|||
|
||||
private lateinit var downloader: CompactBlockDownloader
|
||||
private lateinit var processor: CompactBlockProcessor
|
||||
private lateinit var wallet: Wallet
|
||||
// private lateinit var wallet: Wallet
|
||||
|
||||
@Before
|
||||
fun setup() {
|
||||
|
@ -48,20 +48,20 @@ class IntegrationTest {
|
|||
|
||||
@Test(timeout = 120_000L)
|
||||
fun testSync() = runBlocking<Unit> {
|
||||
val rustBackend = RustBackend.init(context)
|
||||
// val rustBackend = RustBackend.init(context)
|
||||
|
||||
val lightwalletService = LightWalletGrpcService(context,"192.168.1.134")
|
||||
val compactBlockStore = CompactBlockDbStore(context)
|
||||
// val compactBlockStore = CompactBlockDbStore(context)
|
||||
|
||||
downloader = CompactBlockDownloader(lightwalletService, compactBlockStore)
|
||||
processor = CompactBlockProcessor(downloader, repository, rustBackend)
|
||||
repository = PollingTransactionRepository(context, dataDbName, 10_000L)
|
||||
wallet = Wallet(
|
||||
context,
|
||||
rustBackend,
|
||||
SampleSeedProvider("dummyseed"),
|
||||
SampleSpendingKeyProvider("dummyseed")
|
||||
)
|
||||
// downloader = CompactBlockDownloader(lightwalletService, compactBlockStore)
|
||||
// processor = CompactBlockProcessor(downloader, repository, rustBackend)
|
||||
// repository = PollingTransactionRepository(context, dataDbName, 10_000L)
|
||||
// wallet = Wallet(
|
||||
// context,
|
||||
// rustBackend,
|
||||
// SampleSeedProvider("dummyseed"),
|
||||
// SampleSpendingKeyProvider("dummyseed")
|
||||
// )
|
||||
|
||||
// repository.start(this)
|
||||
// synchronizer = SdkSynchronizer(wallet, repository, , processor)
|
||||
|
@ -78,12 +78,12 @@ class IntegrationTest {
|
|||
}
|
||||
|
||||
companion object {
|
||||
private lateinit var synchronizer: Synchronizer
|
||||
private lateinit var repository: PollingTransactionRepository
|
||||
// private lateinit var synchronizer: Synchronizer
|
||||
// private lateinit var repository: PollingTransactionRepository
|
||||
@AfterClass
|
||||
fun tearDown() {
|
||||
repository.stop()
|
||||
synchronizer.stop()
|
||||
// repository.stop()
|
||||
// synchronizer.stop()
|
||||
}
|
||||
}
|
||||
}
|
|
@ -19,6 +19,8 @@ import java.io.InputStreamReader
|
|||
*/
|
||||
class Initializer(
|
||||
appContext: Context,
|
||||
val host: String = ZcashSdk.DEFAULT_LIGHTWALLETD_HOST,
|
||||
val port: Int = ZcashSdk.DEFAULT_LIGHTWALLETD_PORT,
|
||||
private val alias: String = ZcashSdk.DEFAULT_DB_NAME_PREFIX
|
||||
) {
|
||||
init {
|
||||
|
|
|
@ -311,6 +311,7 @@ class SdkSynchronizer internal constructor(
|
|||
fun Synchronizer(
|
||||
appContext: Context,
|
||||
lightwalletdHost: String = ZcashSdk.DEFAULT_LIGHTWALLETD_HOST,
|
||||
lightwalletdPort: Int = ZcashSdk.DEFAULT_LIGHTWALLETD_PORT,
|
||||
seed: ByteArray? = null,
|
||||
birthday: Initializer.WalletBirthday? = null
|
||||
): Synchronizer {
|
||||
|
@ -331,9 +332,14 @@ fun Synchronizer(
|
|||
initializer.import(seed, birthday, overwrite = true)
|
||||
}
|
||||
}
|
||||
return Synchronizer(appContext, lightwalletdHost, initializer.rustBackend)
|
||||
return Synchronizer(appContext, initializer.rustBackend, lightwalletdHost, lightwalletdPort)
|
||||
}
|
||||
|
||||
fun Synchronizer(
|
||||
appContext: Context,
|
||||
initializer: Initializer
|
||||
) = Synchronizer(appContext, initializer.rustBackend, initializer.host, initializer.port)
|
||||
|
||||
/**
|
||||
* Constructor function for building a Synchronizer in the most flexible way possible. This allows
|
||||
* a wallet maker to customize any subcomponent of the Synchronzier.
|
||||
|
@ -341,12 +347,13 @@ fun Synchronizer(
|
|||
@Suppress("FunctionName")
|
||||
fun Synchronizer(
|
||||
appContext: Context,
|
||||
lightwalletdHost: String,
|
||||
rustBackend: RustBackend,
|
||||
lightwalletdHost: String = ZcashSdk.DEFAULT_LIGHTWALLETD_HOST,
|
||||
lightwalletdPort: Int = ZcashSdk.DEFAULT_LIGHTWALLETD_PORT,
|
||||
ledger: TransactionRepository =
|
||||
PagedTransactionRepository(appContext, 10, rustBackend.dbDataPath),
|
||||
blockStore: CompactBlockStore = CompactBlockDbStore(appContext, rustBackend.dbCachePath),
|
||||
service: LightWalletService = LightWalletGrpcService(appContext, lightwalletdHost),
|
||||
service: LightWalletService = LightWalletGrpcService(appContext, lightwalletdHost, lightwalletdPort),
|
||||
encoder: TransactionEncoder = WalletTransactionEncoder(rustBackend, ledger),
|
||||
downloader: CompactBlockDownloader = CompactBlockDownloader(service, blockStore),
|
||||
manager: OutboundTransactionManager =
|
||||
|
|
|
@ -66,7 +66,7 @@ open class ZcashSdkCommon {
|
|||
/**
|
||||
* The default port to use for connecting to lightwalletd instances.
|
||||
*/
|
||||
open val LIGHTWALLETD_PORT = 9067
|
||||
open val DEFAULT_LIGHTWALLETD_PORT = 9067
|
||||
|
||||
/**
|
||||
* The default host to use for lightwalletd.
|
||||
|
|
|
@ -3,7 +3,8 @@ package cash.z.wallet.sdk.service
|
|||
import android.content.Context
|
||||
import cash.z.wallet.sdk.R
|
||||
import cash.z.wallet.sdk.exception.LightwalletException
|
||||
import cash.z.wallet.sdk.ext.ZcashSdk.LIGHTWALLETD_PORT
|
||||
import cash.z.wallet.sdk.ext.ZcashSdk.DEFAULT_LIGHTWALLETD_PORT
|
||||
import cash.z.wallet.sdk.ext.twig
|
||||
import cash.z.wallet.sdk.rpc.CompactFormats
|
||||
import cash.z.wallet.sdk.rpc.CompactTxStreamerGrpc
|
||||
import cash.z.wallet.sdk.rpc.Service
|
||||
|
@ -31,7 +32,7 @@ class LightWalletGrpcService private constructor(
|
|||
constructor(
|
||||
appContext: Context,
|
||||
host: String,
|
||||
port: Int = LIGHTWALLETD_PORT,
|
||||
port: Int = DEFAULT_LIGHTWALLETD_PORT,
|
||||
usePlaintext: Boolean = !appContext.resources.getBoolean(R.bool.is_mainnet)
|
||||
) : this(createDefaultChannel(appContext, host, port, usePlaintext))
|
||||
|
||||
|
@ -94,6 +95,7 @@ class LightWalletGrpcService private constructor(
|
|||
port: Int,
|
||||
usePlaintext: Boolean
|
||||
): ManagedChannel {
|
||||
twig("Creating connection to $host:$port")
|
||||
return AndroidChannelBuilder
|
||||
.forAddress(host, port)
|
||||
.context(appContext)
|
||||
|
|
|
@ -17,7 +17,7 @@ object ZcashSdk : ZcashSdkCommon() {
|
|||
/**
|
||||
* The default port to use for connecting to lightwalletd instances.
|
||||
*/
|
||||
override val LIGHTWALLETD_PORT = 443
|
||||
override val DEFAULT_LIGHTWALLETD_PORT = 443
|
||||
|
||||
/**
|
||||
* The default host to use for lightwalletd.
|
||||
|
|
Loading…
Reference in New Issue