solution: support xpub addresses for bitcoin

This commit is contained in:
Igor Artamonov
2020-09-15 22:55:58 -04:00
parent 77d7ec1101
commit 96a6f22a5b
10 changed files with 764 additions and 34 deletions

View File

@@ -40,6 +40,8 @@ open class BitcoinMultistream(
private var head: Head = EmptyHead()
private var esplora = upstreams.find { it.esploraClient != null }?.esploraClient
private var reader = BitcoinReader(this, head, esplora)
private var addressActiveCheck: AddressActiveCheck? = null
private var xpubAddresses: XpubAddresses? = null
override fun init() {
if (upstreams.size > 0) {
@@ -48,6 +50,10 @@ open class BitcoinMultistream(
super.init()
}
open fun getXpubAddresses(): XpubAddresses? {
return xpubAddresses
}
override fun updateHead(): Head {
head.let {
if (it is Lifecycle) {
@@ -85,6 +91,8 @@ open class BitcoinMultistream(
super.onUpstreamsUpdated()
esplora = upstreams.find { it.esploraClient != null }?.esploraClient
reader = BitcoinReader(this, this.head, esplora)
addressActiveCheck = esplora?.let { AddressActiveCheck(it) }
xpubAddresses = addressActiveCheck?.let { XpubAddresses(it) }
}
override fun setHead(head: Head) {