From 5df8b52daef229a69c26341452b7d7f8630395c7 Mon Sep 17 00:00:00 2001 From: Conner Fromknecht Date: Sat, 10 Mar 2018 17:27:51 -0800 Subject: [PATCH] multi: set initiator funding txn --- breacharbiter_test.go | 1 + channeldb/channel_test.go | 1 + htlcswitch/test_utils.go | 35 +++++++++++++++++++++++++++++++++++ lnwallet/channel_test.go | 35 +++++++++++++++++++++++++++++++++++ test_utils.go | 35 +++++++++++++++++++++++++++++++++++ 5 files changed, 107 insertions(+) diff --git a/breacharbiter_test.go b/breacharbiter_test.go index 31a08fd7..31d8002a 100644 --- a/breacharbiter_test.go +++ b/breacharbiter_test.go @@ -1412,6 +1412,7 @@ func createInitChannels(revocationWindow int) (*lnwallet.LightningChannel, *lnwa RemoteCommitment: aliceCommit, Db: dbAlice, Packager: channeldb.NewChannelPackager(shortChanID), + FundingTxn: testTx, } bobChannelState := &channeldb.OpenChannel{ LocalChanCfg: bobCfg, diff --git a/channeldb/channel_test.go b/channeldb/channel_test.go index ba93410f..4cf14c78 100644 --- a/channeldb/channel_test.go +++ b/channeldb/channel_test.go @@ -220,6 +220,7 @@ func createTestChannelState(cdb *DB) (*OpenChannel, error) { RevocationStore: store, Db: cdb, Packager: NewChannelPackager(chanID), + FundingTxn: testTx, }, nil } diff --git a/htlcswitch/test_utils.go b/htlcswitch/test_utils.go index d5a6f93c..9ba0a676 100644 --- a/htlcswitch/test_utils.go +++ b/htlcswitch/test_utils.go @@ -54,6 +54,40 @@ var ( "5445068131219452686511677818569431", 10) _, _ = testSig.S.SetString("1880105606924982582529128710493133386286603"+ "3135609736119018462340006816851118", 10) + + // 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, + } ) var idSeqNum uint64 @@ -294,6 +328,7 @@ func createTestChannel(alicePrivKey, bobPrivKey []byte, ShortChanID: chanID, Db: dbAlice, Packager: channeldb.NewChannelPackager(chanID), + FundingTxn: testTx, } bobChannelState := &channeldb.OpenChannel{ diff --git a/lnwallet/channel_test.go b/lnwallet/channel_test.go index cbf73ad6..2f8ccad1 100644 --- a/lnwallet/channel_test.go +++ b/lnwallet/channel_test.go @@ -57,6 +57,40 @@ var ( // The number of confirmations required to consider any created channel // open. numReqConfs = uint16(1) + + // A serializable txn for testing funding txn. + 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, + } ) // initRevocationWindows simulates a new channel being opened within the p2p @@ -308,6 +342,7 @@ func createTestChannels(revocationWindow int) (*LightningChannel, RemoteCommitment: aliceCommit, Db: dbAlice, Packager: channeldb.NewChannelPackager(shortChanID), + FundingTxn: testTx, } bobChannelState := &channeldb.OpenChannel{ LocalChanCfg: bobCfg, diff --git a/test_utils.go b/test_utils.go index 37a83068..bd5ee4b2 100644 --- a/test_utils.go +++ b/test_utils.go @@ -49,6 +49,40 @@ var ( // 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, + } ) // createTestPeer creates a channel between two nodes, and returns a peer for @@ -219,6 +253,7 @@ func createTestPeer(notifier chainntnfs.ChainNotifier, RemoteCommitment: aliceCommit, Db: dbAlice, Packager: channeldb.NewChannelPackager(shortChanID), + FundingTxn: testTx, } bobChannelState := &channeldb.OpenChannel{ LocalChanCfg: bobCfg,