Skip to content

Commit aa79ac1

Browse files
committed
chore: Add more logging to order watch
1 parent 5bdea08 commit aa79ac1

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

app/src/main/java/to/bitkit/viewmodels/TransferViewModel.kt

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,23 +85,34 @@ class TransferViewModel @Inject constructor(
8585
var error: Throwable? = null
8686

8787
viewModelScope.launch {
88+
Logger.debug("Started to watch order order $orderId")
89+
8890
while (!isSettled && error == null) {
8991
try {
9092
Logger.debug("Refreshing order $orderId")
91-
val order = coreService.blocktank.orders(orderIds = listOf(orderId), refresh = true).first()
93+
val order = coreService.blocktank.orders(orderIds = listOf(orderId), refresh = true).firstOrNull()
94+
if (order == null) {
95+
error = Exception("Order not found $orderId")
96+
Logger.error("Order not found $orderId", context = "TransferViewModel")
97+
break
98+
}
99+
92100
val step = updateOrder(order)
93101
settingsStore.setLightningSetupStep(step)
94102
Logger.debug("LN setup step: $step")
95103

96104
if (order.state2 == BtOrderState2.EXPIRED) {
97105
error = Exception("Order expired $orderId")
106+
Logger.error("Order expired $orderId", context = "TransferViewModel")
98107
break
99108
}
100109
if (step > 2) {
110+
Logger.debug("Order settled, stopping watch")
101111
isSettled = true
102112
break
103113
}
104114
} catch (e: Throwable) {
115+
Logger.error("Failed to watch order", e)
105116
error = e
106117
break
107118
}
@@ -111,19 +122,18 @@ class TransferViewModel @Inject constructor(
111122
}
112123
}
113124

114-
@Suppress("IntroduceWhenSubject")
115125
private suspend fun updateOrder(order: IBtOrder): Int {
116126
var currentStep = 0
117127
if (order.channel != null) {
118128
return 3
119129
}
120130

121-
when {
122-
order.state2 == BtOrderState2.CREATED -> {
131+
when (order.state2) {
132+
BtOrderState2.CREATED -> {
123133
currentStep = 0
124134
}
125135

126-
order.state2 == BtOrderState2.PAID -> {
136+
BtOrderState2.PAID -> {
127137
currentStep = 1
128138

129139
try {
@@ -133,9 +143,11 @@ class TransferViewModel @Inject constructor(
133143
}
134144
}
135145

136-
order.state2 == BtOrderState2.EXECUTED -> {
146+
BtOrderState2.EXECUTED -> {
137147
currentStep = 2
138148
}
149+
150+
else -> Unit
139151
}
140152
return currentStep
141153
}

0 commit comments

Comments
 (0)