2021-11-01 19:07:27 -07:00
|
|
|
package org.bitcoindevkit
|
2021-10-17 14:27:10 -07:00
|
|
|
|
2023-10-25 15:25:16 -05:00
|
|
|
import kotlin.test.Test
|
|
|
|
import kotlin.test.assertEquals
|
|
|
|
import kotlin.test.assertTrue
|
2023-10-27 14:13:44 -04:00
|
|
|
import androidx.test.ext.junit.runners.AndroidJUnit4
|
|
|
|
import org.junit.runner.RunWith
|
2021-10-17 14:27:10 -07:00
|
|
|
|
2021-11-06 05:26:56 +05:30
|
|
|
@RunWith(AndroidJUnit4::class)
|
2023-10-27 14:13:44 -04:00
|
|
|
class OfflineWalletTest {
|
2021-11-08 17:41:06 -08:00
|
|
|
@Test
|
2023-10-17 12:33:35 -04:00
|
|
|
fun testDescriptorBip86() {
|
2023-10-25 15:25:16 -05:00
|
|
|
val mnemonic: Mnemonic = Mnemonic(WordCount.WORDS12)
|
|
|
|
val descriptorSecretKey: DescriptorSecretKey = DescriptorSecretKey(Network.TESTNET, mnemonic, null)
|
|
|
|
val descriptor: Descriptor = Descriptor.newBip86(descriptorSecretKey, KeychainKind.EXTERNAL, Network.TESTNET)
|
|
|
|
|
|
|
|
assertTrue(descriptor.asString().startsWith("tr"), "Bip86 Descriptor does not start with 'tr'")
|
2021-11-08 17:41:06 -08:00
|
|
|
}
|
|
|
|
|
2023-10-25 15:25:16 -05:00
|
|
|
@Test
|
|
|
|
fun testNewAddress() {
|
|
|
|
val descriptor: Descriptor = Descriptor(
|
|
|
|
"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)",
|
|
|
|
Network.TESTNET
|
|
|
|
)
|
|
|
|
val wallet: Wallet = Wallet.newNoPersist(
|
|
|
|
descriptor,
|
|
|
|
null,
|
|
|
|
Network.TESTNET
|
|
|
|
)
|
|
|
|
val addressInfo: AddressInfo = wallet.getAddress(AddressIndex.New)
|
|
|
|
|
2023-10-27 14:13:44 -04:00
|
|
|
assertEquals(
|
|
|
|
expected = "tb1qzg4mckdh50nwdm9hkzq06528rsu73hjxxzem3e",
|
|
|
|
actual = addressInfo.address.asString()
|
|
|
|
)
|
2021-11-08 17:41:06 -08:00
|
|
|
}
|
|
|
|
|
2022-03-11 23:35:49 -06:00
|
|
|
@Test
|
2023-10-17 12:33:35 -04:00
|
|
|
fun testBalance() {
|
2023-10-25 15:25:16 -05:00
|
|
|
val descriptor: Descriptor = Descriptor(
|
|
|
|
"wpkh([c258d2e4/84h/1h/0h]tpubDDYkZojQFQjht8Tm4jsS3iuEmKjTiEGjG6KnuFNKKJb5A6ZUCUZKdvLdSDWofKi4ToRCwb9poe1XdqfUnP4jaJjCB2Zwv11ZLgSbnZSNecE/0/*)",
|
|
|
|
Network.TESTNET
|
|
|
|
)
|
|
|
|
val wallet: Wallet = Wallet.newNoPersist(
|
|
|
|
descriptor,
|
|
|
|
null,
|
|
|
|
Network.TESTNET
|
|
|
|
)
|
2023-10-17 12:33:35 -04:00
|
|
|
|
2023-10-27 14:13:44 -04:00
|
|
|
assertEquals(
|
|
|
|
expected = 0uL,
|
2023-11-15 15:57:02 -06:00
|
|
|
actual = wallet.getBalance().total
|
2023-10-27 14:13:44 -04:00
|
|
|
)
|
2022-03-11 23:35:49 -06:00
|
|
|
}
|
2023-10-27 14:13:44 -04:00
|
|
|
}
|