itest: refactor createThreeHopNetwork to open channels async

This will save us 6 blocks each time we call this function.
This commit is contained in:
yyforyongyu 2023-04-20 06:08:15 +08:00
parent 8df4edef1b
commit e018c02d40
No known key found for this signature in database
GPG Key ID: 9BCD95C4FF296868

View File

@ -1779,31 +1779,15 @@ func createThreeHopNetwork(ht *lntest.HarnessTest,
)
}
var (
cancel context.CancelFunc
acceptStream rpc.AcceptorClient
)
// If a zero-conf channel is being opened, the nodes are signalling the
// zero-conf feature bit. Setup a ChannelAcceptor for the fundee.
if zeroConf {
acceptStream, cancel = bob.RPC.ChannelAcceptor()
go acceptChannel(ht.T, true, acceptStream)
}
// Prepare params for Alice.
aliceParams := lntest.OpenChannelParams{
Amt: chanAmt,
CommitmentType: c,
FundingShim: aliceFundingShim,
ZeroConf: zeroConf,
}
aliceChanPoint := ht.OpenChannel(alice, bob, aliceParams)
// Remove the ChannelAcceptor for Bob.
if zeroConf {
cancel()
}
// We'll then create a channel from Bob to Carol. After this channel is
// We'll create a channel from Bob to Carol. After this channel is
// open, our topology looks like: A -> B -> C.
var bobFundingShim *lnrpc.FundingShim
if c == lnrpc.CommitmentType_SCRIPT_ENFORCED_LEASE {
@ -1812,24 +1796,44 @@ func createThreeHopNetwork(ht *lntest.HarnessTest,
)
}
// Setup a ChannelAcceptor for Carol if a zero-conf channel open is
// being attempted.
if zeroConf {
acceptStream, cancel = carol.RPC.ChannelAcceptor()
go acceptChannel(ht.T, true, acceptStream)
}
// Prepare params for Bob.
bobParams := lntest.OpenChannelParams{
Amt: chanAmt,
CommitmentType: c,
FundingShim: bobFundingShim,
ZeroConf: zeroConf,
}
bobChanPoint := ht.OpenChannel(bob, carol, bobParams)
// Remove the ChannelAcceptor for Carol.
var (
acceptStreamBob rpc.AcceptorClient
acceptStreamCarol rpc.AcceptorClient
cancelBob context.CancelFunc
cancelCarol context.CancelFunc
)
// If a zero-conf channel is being opened, the nodes are signalling the
// zero-conf feature bit. Setup a ChannelAcceptor for the fundee.
if zeroConf {
cancel()
acceptStreamBob, cancelBob = bob.RPC.ChannelAcceptor()
go acceptChannel(ht.T, true, acceptStreamBob)
acceptStreamCarol, cancelCarol = carol.RPC.ChannelAcceptor()
go acceptChannel(ht.T, true, acceptStreamCarol)
}
// Open channels in batch to save blocks mined.
reqs := []*lntest.OpenChannelRequest{
{Local: alice, Remote: bob, Param: aliceParams},
{Local: bob, Remote: carol, Param: bobParams},
}
resp := ht.OpenMultiChannelsAsync(reqs)
aliceChanPoint := resp[0]
bobChanPoint := resp[1]
// Remove the ChannelAcceptor for Bob and Carol.
if zeroConf {
cancelBob()
cancelCarol()
}
// Make sure alice and carol know each other's channels.