|
|
|
@ -21,6 +21,7 @@ import (
|
|
|
|
|
"github.com/lightningnetwork/lnd/htlcswitch" |
|
|
|
|
"github.com/lightningnetwork/lnd/input" |
|
|
|
|
"github.com/lightningnetwork/lnd/keychain" |
|
|
|
|
"github.com/lightningnetwork/lnd/lntest/channels" |
|
|
|
|
"github.com/lightningnetwork/lnd/lntest/mock" |
|
|
|
|
"github.com/lightningnetwork/lnd/lnwallet" |
|
|
|
|
"github.com/lightningnetwork/lnd/lnwallet/chainfee" |
|
|
|
@ -41,64 +42,8 @@ const (
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
var ( |
|
|
|
|
alicesPrivKey = []byte{ |
|
|
|
|
0x2b, 0xd8, 0x06, 0xc9, 0x7f, 0x0e, 0x00, 0xaf, |
|
|
|
|
0x1a, 0x1f, 0xc3, 0x32, 0x8f, 0xa7, 0x63, 0xa9, |
|
|
|
|
0x26, 0x97, 0x23, 0xc8, 0xdb, 0x8f, 0xac, 0x4f, |
|
|
|
|
0x93, 0xaf, 0x71, 0xdb, 0x18, 0x6d, 0x6e, 0x90, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bobsPrivKey = []byte{ |
|
|
|
|
0x81, 0xb6, 0x37, 0xd8, 0xfc, 0xd2, 0xc6, 0xda, |
|
|
|
|
0x63, 0x59, 0xe6, 0x96, 0x31, 0x13, 0xa1, 0x17, |
|
|
|
|
0xd, 0xe7, 0x95, 0xe4, 0xb7, 0x25, 0xb8, 0x4d, |
|
|
|
|
0x1e, 0xb, 0x4c, 0xfd, 0x9e, 0xc5, 0x8c, 0xe9, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Use a hard-coded HD seed.
|
|
|
|
|
testHdSeed = [32]byte{ |
|
|
|
|
0xb7, 0x94, 0x38, 0x5f, 0x2d, 0x1e, 0xf7, 0xab, |
|
|
|
|
0x4d, 0x92, 0x73, 0xd1, 0x90, 0x63, 0x81, 0xb4, |
|
|
|
|
0x4f, 0x2f, 0x6f, 0x25, 0x88, 0xa3, 0xef, 0xb9, |
|
|
|
|
0x6a, 0x49, 0x18, 0x83, 0x31, 0x98, 0x47, 0x53, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Just use some arbitrary bytes as delivery script.
|
|
|
|
|
dummyDeliveryScript = alicesPrivKey |
|
|
|
|
|
|
|
|
|
// testTx is used as the default funding txn for single-funder channels.
|
|
|
|
|
testTx = &wire.MsgTx{ |
|
|
|
|
Version: 1, |
|
|
|
|
TxIn: []*wire.TxIn{ |
|
|
|
|
{ |
|
|
|
|
PreviousOutPoint: wire.OutPoint{ |
|
|
|
|
Hash: chainhash.Hash{}, |
|
|
|
|
Index: 0xffffffff, |
|
|
|
|
}, |
|
|
|
|
SignatureScript: []byte{0x04, 0x31, 0xdc, 0x00, 0x1b, 0x01, 0x62}, |
|
|
|
|
Sequence: 0xffffffff, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
TxOut: []*wire.TxOut{ |
|
|
|
|
{ |
|
|
|
|
Value: 5000000000, |
|
|
|
|
PkScript: []byte{ |
|
|
|
|
0x41, // OP_DATA_65
|
|
|
|
|
0x04, 0xd6, 0x4b, 0xdf, 0xd0, 0x9e, 0xb1, 0xc5, |
|
|
|
|
0xfe, 0x29, 0x5a, 0xbd, 0xeb, 0x1d, 0xca, 0x42, |
|
|
|
|
0x81, 0xbe, 0x98, 0x8e, 0x2d, 0xa0, 0xb6, 0xc1, |
|
|
|
|
0xc6, 0xa5, 0x9d, 0xc2, 0x26, 0xc2, 0x86, 0x24, |
|
|
|
|
0xe1, 0x81, 0x75, 0xe8, 0x51, 0xc9, 0x6b, 0x97, |
|
|
|
|
0x3d, 0x81, 0xb0, 0x1c, 0xc3, 0x1f, 0x04, 0x78, |
|
|
|
|
0x34, 0xbc, 0x06, 0xd6, 0xd6, 0xed, 0xf6, 0x20, |
|
|
|
|
0xd1, 0x84, 0x24, 0x1a, 0x6a, 0xed, 0x8b, 0x63, |
|
|
|
|
0xa6, // 65-byte signature
|
|
|
|
|
0xac, // OP_CHECKSIG
|
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
}, |
|
|
|
|
LockTime: 5, |
|
|
|
|
} |
|
|
|
|
dummyDeliveryScript = channels.AlicesPrivKey |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
// noUpdate is a function which can be used as a parameter in createTestPeer to
|
|
|
|
@ -114,11 +59,11 @@ func createTestPeer(notifier chainntnfs.ChainNotifier,
|
|
|
|
|
*Brontide, *lnwallet.LightningChannel, func(), error) { |
|
|
|
|
|
|
|
|
|
aliceKeyPriv, aliceKeyPub := btcec.PrivKeyFromBytes( |
|
|
|
|
btcec.S256(), alicesPrivKey, |
|
|
|
|
btcec.S256(), channels.AlicesPrivKey, |
|
|
|
|
) |
|
|
|
|
aliceKeySigner := &keychain.PrivKeyDigestSigner{PrivKey: aliceKeyPriv} |
|
|
|
|
bobKeyPriv, bobKeyPub := btcec.PrivKeyFromBytes( |
|
|
|
|
btcec.S256(), bobsPrivKey, |
|
|
|
|
btcec.S256(), channels.BobsPrivKey, |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
channelCapacity := btcutil.Amount(10 * 1e8) |
|
|
|
@ -129,7 +74,7 @@ func createTestPeer(notifier chainntnfs.ChainNotifier,
|
|
|
|
|
csvTimeoutBob := uint32(4) |
|
|
|
|
|
|
|
|
|
prevOut := &wire.OutPoint{ |
|
|
|
|
Hash: chainhash.Hash(testHdSeed), |
|
|
|
|
Hash: channels.TestHdSeed, |
|
|
|
|
Index: 0, |
|
|
|
|
} |
|
|
|
|
fundingTxIn := wire.NewTxIn(prevOut, nil, nil) |
|
|
|
@ -286,7 +231,7 @@ func createTestPeer(notifier chainntnfs.ChainNotifier,
|
|
|
|
|
RemoteCommitment: aliceCommit, |
|
|
|
|
Db: dbAlice, |
|
|
|
|
Packager: channeldb.NewChannelPackager(shortChanID), |
|
|
|
|
FundingTxn: testTx, |
|
|
|
|
FundingTxn: channels.TestFundingTx, |
|
|
|
|
} |
|
|
|
|
bobChannelState := &channeldb.OpenChannel{ |
|
|
|
|
LocalChanCfg: bobCfg, |
|
|
|
|