Skip to content

Commit

Permalink
In case empty selector in SubscribeNative we should use default dynam…
Browse files Browse the repository at this point in the history
…ic merged head. (emeraldpay#172)
  • Loading branch information
a10zn8 authored Mar 19, 2023
1 parent 064a3e4 commit a47607d
Showing 1 changed file with 21 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -158,21 +158,29 @@ open class EthereumPosMultiStream(
}

override fun getHead(mather: Selector.Matcher): Head =
filteredHeads.computeIfAbsent(mather.describeInternal().intern()) { _ ->
upstreams.filter { mather.matches(it) }
.apply {
log.debug("Found $size upstreams matching [${mather.describeInternal()}]")
}
.let {
val selected = it.map { it.getHead() }
when (it.size) {
0 -> EmptyHead()
1 -> selected.first()
else -> MergedHead(selected, PriorityForkChoice(), "ETH head for ${it.map { it.getId() }}").apply {
start()
if (mather == Selector.empty) {
head
} else {
filteredHeads.computeIfAbsent(mather.describeInternal().intern()) { _ ->
upstreams.filter { mather.matches(it) }
.apply {
log.debug("Found $size upstreams matching [${mather.describeInternal()}]")
}
.let {
val selected = it.map { it.getHead() }
when (it.size) {
0 -> EmptyHead()
1 -> selected.first()
else -> MergedHead(
selected,
PriorityForkChoice(),
"ETH head for ${it.map { it.getId() }}"
).apply {
start()
}
}
}
}
}
}

override fun getFeeEstimation(): ChainFees {
Expand Down

0 comments on commit a47607d

Please sign in to comment.