package network.thunder.core.communication.objects.messages.impl.message.lightningestablish; import com.google.common.base.Preconditions; import network.thunder.core.communication.objects.messages.interfaces.message.lightningestablish.LNEstablish; import network.thunder.core.database.objects.Channel; import org.bitcoinj.core.Sha256Hash; import org.bitcoinj.crypto.TransactionSignature; import java.util.Arrays; /** * Created by matsjerratsch on 03/12/2015. */ public class LNEstablishCMessage implements LNEstablish { public byte[] signatureEscape; public byte[] signatureFastEscape; public byte[] anchorHash; public LNEstablishCMessage (byte[] signatureEscape, byte[] signatureFastEscape, byte[] anchorHash) { this.signatureEscape = signatureEscape; this.signatureFastEscape = signatureFastEscape; this.anchorHash = anchorHash; } @Override public void saveToChannel (Channel channel) { channel.setAnchorTxHashClient(Sha256Hash.wrap(this.anchorHash)); channel.setEscapeTxSig(TransactionSignature.decodeFromBitcoin(this.signatureEscape, true)); channel.setFastEscapeTxSig(TransactionSignature.decodeFromBitcoin(this.signatureFastEscape, true)); } @Override public void verify () { Preconditions.checkNotNull(signatureEscape); Preconditions.checkNotNull(signatureFastEscape); Preconditions.checkNotNull(anchorHash); } @Override public String toString () { return "LNEstablishCMessage{" + "anchorHash=" + Arrays.toString(anchorHash) + '}'; } }