|
|
@ -10,6 +10,7 @@ import (
|
|
|
|
"github.com/btcsuite/btcutil"
|
|
|
|
"github.com/btcsuite/btcutil"
|
|
|
|
"github.com/lightninglabs/loop"
|
|
|
|
"github.com/lightninglabs/loop"
|
|
|
|
"github.com/lightninglabs/loop/labels"
|
|
|
|
"github.com/lightninglabs/loop/labels"
|
|
|
|
|
|
|
|
"github.com/lightninglabs/loop/loopdb"
|
|
|
|
"github.com/lightninglabs/loop/looprpc"
|
|
|
|
"github.com/lightninglabs/loop/looprpc"
|
|
|
|
"github.com/urfave/cli"
|
|
|
|
"github.com/urfave/cli"
|
|
|
|
)
|
|
|
|
)
|
|
|
@ -42,6 +43,13 @@ var loopOutCommand = cli.Command{
|
|
|
|
Name: "amt",
|
|
|
|
Name: "amt",
|
|
|
|
Usage: "the amount in satoshis to loop out",
|
|
|
|
Usage: "the amount in satoshis to loop out",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
cli.Uint64Flag{
|
|
|
|
|
|
|
|
Name: "htlc_confs",
|
|
|
|
|
|
|
|
Usage: "the number of of confirmations, in blocks " +
|
|
|
|
|
|
|
|
"that we require for the htlc extended by " +
|
|
|
|
|
|
|
|
"the server before we reveal the preimage.",
|
|
|
|
|
|
|
|
Value: uint64(loopdb.DefaultLoopOutHtlcConfirmations),
|
|
|
|
|
|
|
|
},
|
|
|
|
cli.Uint64Flag{
|
|
|
|
cli.Uint64Flag{
|
|
|
|
Name: "conf_target",
|
|
|
|
Name: "conf_target",
|
|
|
|
Usage: "the number of blocks from the swap " +
|
|
|
|
Usage: "the number of blocks from the swap " +
|
|
|
@ -135,6 +143,11 @@ func loopOut(ctx *cli.Context) error {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
sweepConfTarget := int32(ctx.Uint64("conf_target"))
|
|
|
|
sweepConfTarget := int32(ctx.Uint64("conf_target"))
|
|
|
|
|
|
|
|
htlcConfs := int32(ctx.Uint64("htlc_confs"))
|
|
|
|
|
|
|
|
if htlcConfs == 0 {
|
|
|
|
|
|
|
|
return fmt.Errorf("at least 1 confirmation required for htlcs")
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
quoteReq := &looprpc.QuoteRequest{
|
|
|
|
quoteReq := &looprpc.QuoteRequest{
|
|
|
|
Amt: int64(amt),
|
|
|
|
Amt: int64(amt),
|
|
|
|
ConfTarget: sweepConfTarget,
|
|
|
|
ConfTarget: sweepConfTarget,
|
|
|
@ -179,6 +192,7 @@ func loopOut(ctx *cli.Context) error {
|
|
|
|
MaxSwapRoutingFee: int64(limits.maxSwapRoutingFee),
|
|
|
|
MaxSwapRoutingFee: int64(limits.maxSwapRoutingFee),
|
|
|
|
OutgoingChanSet: outgoingChanSet,
|
|
|
|
OutgoingChanSet: outgoingChanSet,
|
|
|
|
SweepConfTarget: sweepConfTarget,
|
|
|
|
SweepConfTarget: sweepConfTarget,
|
|
|
|
|
|
|
|
HtlcConfirmations: htlcConfs,
|
|
|
|
SwapPublicationDeadline: uint64(swapDeadline.Unix()),
|
|
|
|
SwapPublicationDeadline: uint64(swapDeadline.Unix()),
|
|
|
|
Label: label,
|
|
|
|
Label: label,
|
|
|
|
})
|
|
|
|
})
|
|
|
|