Fix tests for bdk-ffi v0.3.0, add psbt serde test
This commit is contained in:
parent
19e88e3e67
commit
6df9a98fb6
@ -30,13 +30,23 @@ class AndroidLibTest {
|
|||||||
|
|
||||||
val log: Logger = LoggerFactory.getLogger(AndroidLibTest::class.java)
|
val log: Logger = LoggerFactory.getLogger(AndroidLibTest::class.java)
|
||||||
|
|
||||||
val desc =
|
val descriptor =
|
||||||
"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"
|
"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"
|
||||||
|
|
||||||
|
val databaseConfig = DatabaseConfig.Memory("")
|
||||||
|
val blockchainConfig = BlockchainConfig.Electrum(
|
||||||
|
ElectrumConfig(
|
||||||
|
"ssl://electrum.blockstream.info:60002",
|
||||||
|
null,
|
||||||
|
5u,
|
||||||
|
null,
|
||||||
|
100u
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun memoryWalletNewAddress() {
|
fun memoryWalletNewAddress() {
|
||||||
val config = DatabaseConfig.Memory("")
|
val wallet = Wallet(descriptor, null, Network.REGTEST, databaseConfig, blockchainConfig)
|
||||||
val wallet = OfflineWallet(desc, Network.REGTEST, config)
|
|
||||||
val address = wallet.getNewAddress()
|
val address = wallet.getNewAddress()
|
||||||
assertNotNull(address)
|
assertNotNull(address)
|
||||||
assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs")
|
assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs")
|
||||||
@ -44,15 +54,14 @@ class AndroidLibTest {
|
|||||||
|
|
||||||
@Test(expected = BdkException.Descriptor::class)
|
@Test(expected = BdkException.Descriptor::class)
|
||||||
fun invalidDescriptorExceptionIsThrown() {
|
fun invalidDescriptorExceptionIsThrown() {
|
||||||
val config = DatabaseConfig.Memory("")
|
Wallet("invalid-descriptor", null, Network.REGTEST, databaseConfig, blockchainConfig)
|
||||||
OfflineWallet("invalid-descriptor", Network.REGTEST, config)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun sledWalletNewAddress() {
|
fun sledWalletNewAddress() {
|
||||||
val testDataDir = getTestDataDir()
|
val testDataDir = getTestDataDir()
|
||||||
val config = DatabaseConfig.Sled(SledDbConfiguration(testDataDir, "testdb"))
|
val databaseConfig = DatabaseConfig.Sled(SledDbConfiguration(testDataDir, "testdb"))
|
||||||
val wallet = OfflineWallet(desc, Network.REGTEST, config)
|
val wallet = Wallet(descriptor, null, Network.REGTEST, databaseConfig, blockchainConfig)
|
||||||
val address = wallet.getNewAddress()
|
val address = wallet.getNewAddress()
|
||||||
assertNotNull(address)
|
assertNotNull(address)
|
||||||
assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs")
|
assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs")
|
||||||
@ -61,8 +70,8 @@ class AndroidLibTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun onlineWalletInMemory() {
|
fun onlineWalletInMemory() {
|
||||||
val db = DatabaseConfig.Memory("")
|
val database = DatabaseConfig.Memory("")
|
||||||
val client = BlockchainConfig.Electrum(
|
val blockchain = BlockchainConfig.Electrum(
|
||||||
ElectrumConfig(
|
ElectrumConfig(
|
||||||
"ssl://electrum.blockstream.info:60002",
|
"ssl://electrum.blockstream.info:60002",
|
||||||
null,
|
null,
|
||||||
@ -71,7 +80,7 @@ class AndroidLibTest {
|
|||||||
100u
|
100u
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
val wallet = OnlineWallet(desc, null, Network.TESTNET, db, client)
|
val wallet = Wallet(descriptor, null, Network.TESTNET, database, blockchain)
|
||||||
assertNotNull(wallet)
|
assertNotNull(wallet)
|
||||||
val network = wallet.getNetwork()
|
val network = wallet.getNetwork()
|
||||||
assertEquals(network, Network.TESTNET)
|
assertEquals(network, Network.TESTNET)
|
||||||
@ -97,10 +106,18 @@ class AndroidLibTest {
|
|||||||
100u
|
100u
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
val wallet = OnlineWallet(desc, null, Network.TESTNET, db, client)
|
val wallet = Wallet(descriptor, null, Network.REGTEST, databaseConfig, blockchainConfig)
|
||||||
wallet.sync(LogProgress(), null)
|
wallet.sync(LogProgress(), null)
|
||||||
val balance = wallet.getBalance()
|
val balance = wallet.getBalance()
|
||||||
assertTrue(balance > 0u)
|
assertTrue(balance > 0u)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun validPsbtSerde() {
|
||||||
|
val validSerializedPsbt = "cHNidP8BAHUCAAAAASaBcTce3/KF6Tet7qSze3gADAVmy7OtZGQXE8pCFxv2AAAAAAD+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQD9pQEBAAAAAAECiaPHHqtNIOA3G7ukzGmPopXJRjr6Ljl/hTPMti+VZ+UBAAAAFxYAFL4Y0VKpsBIDna89p95PUzSe7LmF/////4b4qkOnHf8USIk6UwpyN+9rRgi7st0tAXHmOuxqSJC0AQAAABcWABT+Pp7xp0XpdNkCxDVZQ6vLNL1TU/////8CAMLrCwAAAAAZdqkUhc/xCX/Z4Ai7NK9wnGIZeziXikiIrHL++E4sAAAAF6kUM5cluiHv1irHU6m80GfWx6ajnQWHAkcwRAIgJxK+IuAnDzlPVoMR3HyppolwuAJf3TskAinwf4pfOiQCIAGLONfc0xTnNMkna9b7QPZzMlvEuqFEyADS8vAtsnZcASED0uFWdJQbrUqZY3LLh+GFbTZSYG2YVi/jnF6efkE/IQUCSDBFAiEA0SuFLYXc2WHS9fSrZgZU327tzHlMDDPOXMMJ/7X85Y0CIGczio4OFyXBl/saiK9Z9R5E5CVbIBZ8hoQDHAXR8lkqASECI7cr7vCWXRC+B3jv7NYfysb3mk6haTkzgHNEZPhPKrMAAAAAAAAA"
|
||||||
|
val psbt = PartiallySignedBitcoinTransaction.deserialize(validSerializedPsbt)
|
||||||
|
val psbtSerialized = psbt.serialize()
|
||||||
|
assertEquals(psbtSerialized, validSerializedPsbt)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -24,13 +24,23 @@ class JvmLibTest {
|
|||||||
|
|
||||||
val log: Logger = LoggerFactory.getLogger(JvmLibTest::class.java)
|
val log: Logger = LoggerFactory.getLogger(JvmLibTest::class.java)
|
||||||
|
|
||||||
val desc =
|
val descriptor =
|
||||||
"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"
|
"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)"
|
||||||
|
|
||||||
|
val databaseConfig = DatabaseConfig.Memory("")
|
||||||
|
val blockchainConfig = BlockchainConfig.Electrum(
|
||||||
|
ElectrumConfig(
|
||||||
|
"ssl://electrum.blockstream.info:60002",
|
||||||
|
null,
|
||||||
|
5u,
|
||||||
|
null,
|
||||||
|
100u
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun memoryWalletNewAddress() {
|
fun memoryWalletNewAddress() {
|
||||||
val config = DatabaseConfig.Memory("")
|
val wallet = Wallet(descriptor, null, Network.REGTEST, databaseConfig, blockchainConfig)
|
||||||
val wallet = OfflineWallet(desc, Network.REGTEST, config)
|
|
||||||
val address = wallet.getNewAddress()
|
val address = wallet.getNewAddress()
|
||||||
assertNotNull(address)
|
assertNotNull(address)
|
||||||
assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs")
|
assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs")
|
||||||
@ -38,15 +48,14 @@ class JvmLibTest {
|
|||||||
|
|
||||||
@Test(expected = BdkException.Descriptor::class)
|
@Test(expected = BdkException.Descriptor::class)
|
||||||
fun invalidDescriptorExceptionIsThrown() {
|
fun invalidDescriptorExceptionIsThrown() {
|
||||||
val config = DatabaseConfig.Memory("")
|
Wallet("invalid-descriptor", null, Network.REGTEST, databaseConfig, blockchainConfig)
|
||||||
OfflineWallet("invalid-descriptor", Network.REGTEST, config)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun sledWalletNewAddress() {
|
fun sledWalletNewAddress() {
|
||||||
val testDataDir = getTestDataDir()
|
val testDataDir = getTestDataDir()
|
||||||
val config = DatabaseConfig.Sled(SledDbConfiguration(testDataDir, "testdb"))
|
val databaseConfig = DatabaseConfig.Sled(SledDbConfiguration(testDataDir, "testdb"))
|
||||||
val wallet = OfflineWallet(desc, Network.REGTEST, config)
|
val wallet = Wallet(descriptor, null, Network.REGTEST, databaseConfig, blockchainConfig)
|
||||||
val address = wallet.getNewAddress()
|
val address = wallet.getNewAddress()
|
||||||
assertNotNull(address)
|
assertNotNull(address)
|
||||||
assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs")
|
assertEquals(address, "bcrt1qzg4mckdh50nwdm9hkzq06528rsu73hjxytqkxs")
|
||||||
@ -55,8 +64,8 @@ class JvmLibTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun onlineWalletInMemory() {
|
fun onlineWalletInMemory() {
|
||||||
val db = DatabaseConfig.Memory("")
|
val database = DatabaseConfig.Memory("")
|
||||||
val client = BlockchainConfig.Electrum(
|
val blockchain = BlockchainConfig.Electrum(
|
||||||
ElectrumConfig(
|
ElectrumConfig(
|
||||||
"ssl://electrum.blockstream.info:60002",
|
"ssl://electrum.blockstream.info:60002",
|
||||||
null,
|
null,
|
||||||
@ -65,7 +74,7 @@ class JvmLibTest {
|
|||||||
100u
|
100u
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
val wallet = OnlineWallet(desc, null, Network.TESTNET, db, client)
|
val wallet = Wallet(descriptor, null, Network.TESTNET, database, blockchain)
|
||||||
assertNotNull(wallet)
|
assertNotNull(wallet)
|
||||||
val network = wallet.getNetwork()
|
val network = wallet.getNetwork()
|
||||||
assertEquals(network, Network.TESTNET)
|
assertEquals(network, Network.TESTNET)
|
||||||
@ -91,10 +100,18 @@ class JvmLibTest {
|
|||||||
100u
|
100u
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
val wallet = OnlineWallet(desc, null, Network.TESTNET, db, client)
|
val wallet = Wallet(descriptor, null, Network.REGTEST, databaseConfig, blockchainConfig)
|
||||||
wallet.sync(LogProgress(), null)
|
wallet.sync(LogProgress(), null)
|
||||||
val balance = wallet.getBalance()
|
val balance = wallet.getBalance()
|
||||||
assertTrue(balance > 0u)
|
assertTrue(balance > 0u)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun validPsbtSerde() {
|
||||||
|
val validSerializedPsbt = "cHNidP8BAHUCAAAAASaBcTce3/KF6Tet7qSze3gADAVmy7OtZGQXE8pCFxv2AAAAAAD+////AtPf9QUAAAAAGXapFNDFmQPFusKGh2DpD9UhpGZap2UgiKwA4fUFAAAAABepFDVF5uM7gyxHBQ8k0+65PJwDlIvHh7MuEwAAAQD9pQEBAAAAAAECiaPHHqtNIOA3G7ukzGmPopXJRjr6Ljl/hTPMti+VZ+UBAAAAFxYAFL4Y0VKpsBIDna89p95PUzSe7LmF/////4b4qkOnHf8USIk6UwpyN+9rRgi7st0tAXHmOuxqSJC0AQAAABcWABT+Pp7xp0XpdNkCxDVZQ6vLNL1TU/////8CAMLrCwAAAAAZdqkUhc/xCX/Z4Ai7NK9wnGIZeziXikiIrHL++E4sAAAAF6kUM5cluiHv1irHU6m80GfWx6ajnQWHAkcwRAIgJxK+IuAnDzlPVoMR3HyppolwuAJf3TskAinwf4pfOiQCIAGLONfc0xTnNMkna9b7QPZzMlvEuqFEyADS8vAtsnZcASED0uFWdJQbrUqZY3LLh+GFbTZSYG2YVi/jnF6efkE/IQUCSDBFAiEA0SuFLYXc2WHS9fSrZgZU327tzHlMDDPOXMMJ/7X85Y0CIGczio4OFyXBl/saiK9Z9R5E5CVbIBZ8hoQDHAXR8lkqASECI7cr7vCWXRC+B3jv7NYfysb3mk6haTkzgHNEZPhPKrMAAAAAAAAA"
|
||||||
|
val psbt = PartiallySignedBitcoinTransaction.deserialize(validSerializedPsbt)
|
||||||
|
val psbtSerialized = psbt.serialize()
|
||||||
|
assertEquals(psbtSerialized, validSerializedPsbt)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user