resolve open initiator based on known transactions in lnd

This commit is contained in:
Carsten Otto
2021-11-19 09:04:26 +01:00
parent 6e3d18790b
commit 7db25e5192
12 changed files with 283 additions and 5 deletions

View File

@@ -0,0 +1,27 @@
package de.cotto.lndmanagej.service;
import de.cotto.lndmanagej.model.OpenInitiator;
import de.cotto.lndmanagej.model.OpenInitiatorResolver;
import de.cotto.lndmanagej.transactions.service.TransactionService;
import org.springframework.stereotype.Component;
@Component
public class OpenInitiatorResolverImpl implements OpenInitiatorResolver {
private final TransactionService transactionService;
public OpenInitiatorResolverImpl(TransactionService transactionService) {
this.transactionService = transactionService;
}
@Override
public OpenInitiator resolveFromOpenTransactionHash(String transactionHash) {
Boolean knownByLnd = transactionService.isKnownByLnd(transactionHash).orElse(null);
if (knownByLnd == null) {
return OpenInitiator.UNKNOWN;
}
if (knownByLnd) {
return OpenInitiator.LOCAL;
}
return OpenInitiator.REMOTE;
}
}