package network.thunder.core.etc; import network.thunder.core.communication.objects.lightning.subobjects.ChannelStatus; import network.thunder.core.communication.objects.messages.impl.message.lnpayment.LNPaymentAMessage; import network.thunder.core.communication.objects.messages.impl.message.lnpayment.LNPaymentBMessage; import network.thunder.core.communication.objects.messages.impl.message.lnpayment.LNPaymentCMessage; import network.thunder.core.communication.objects.messages.impl.message.lnpayment.LNPaymentDMessage; import network.thunder.core.communication.objects.messages.interfaces.factories.LNPaymentMessageFactory; import network.thunder.core.communication.objects.messages.interfaces.message.lnpayment.LNPayment; import network.thunder.core.communication.processor.interfaces.lnpayment.LNPaymentLogic; import network.thunder.core.database.objects.Channel; import org.bitcoinj.crypto.TransactionSignature; import java.util.List; /** * Created by matsjerratsch on 13/01/2016. */ public class MockLNPaymentLogic implements LNPaymentLogic { ChannelStatus status; Channel channel; LNPaymentMessageFactory messageFactory; public MockLNPaymentLogic (LNPaymentMessageFactory messageFactory) { this.messageFactory = messageFactory; } @Override public void initialise (Channel channel) { this.channel = channel; } public List<TransactionSignature> getChannelSignatures () { return null; } public List<TransactionSignature> getPaymentSignatures () { return null; } @Override public void checkMessageIncoming (LNPayment message) { if (message instanceof LNPaymentAMessage) { status = ((LNPaymentAMessage) message).channelStatus.getCloneReversed(); } } public void readMessageOutbound (LNPayment message) { if (message instanceof LNPaymentAMessage) { status = ((LNPaymentAMessage) message).channelStatus; } } @Override public Channel updateChannel (Channel channel) { return channel; } @Override public ChannelStatus getTemporaryChannelStatus () { return status; } @Override public LNPaymentAMessage getAMessage (ChannelStatus newStatus) { this.status = newStatus; return messageFactory.getMessageA(channel, status); } @Override public LNPaymentBMessage getBMessage () { return messageFactory.getMessageB(channel); } @Override public LNPaymentCMessage getCMessage () { return messageFactory.getMessageC(channel, null, null); } @Override public LNPaymentDMessage getDMessage () { return messageFactory.getMessageD(channel); } }