multi: expose confirmation target for loop out quotes

pull/65/head
Wilmer Paulino 5 years ago
parent 9df227d9d0
commit a138790822
No known key found for this signature in database
GPG Key ID: 6DF57B9F9514972F

@ -12,12 +12,22 @@ var quoteCommand = cli.Command{
Usage: "get a quote for the cost of a swap",
ArgsUsage: "amt",
Description: "Allows to determine the cost of a swap up front",
Action: quote,
Flags: []cli.Flag{
cli.Uint64Flag{
Name: "conf_target",
Usage: "the number of blocks from the swap " +
"initiation height that the on-chain HTLC " +
"should be swept within in a Loop Out",
Value: 6,
},
},
Action: quote,
}
func quote(ctx *cli.Context) error {
// Show command help if no arguments and flags were provided.
if ctx.NArg() < 1 {
// Show command help if the incorrect number arguments and/or flags were
// provided.
if ctx.NArg() != 1 || ctx.NumFlags() > 1 {
cli.ShowCommandHelp(ctx, "quote")
return nil
}
@ -36,7 +46,8 @@ func quote(ctx *cli.Context) error {
ctxb := context.Background()
resp, err := client.LoopOutQuote(ctxb, &looprpc.QuoteRequest{
Amt: int64(amt),
Amt: int64(amt),
ConfTarget: int32(ctx.Uint64("conf_target")),
})
if err != nil {
return err

@ -16,7 +16,14 @@ import (
"github.com/lightninglabs/loop/looprpc"
)
const completedSwapsCount = 5
const (
completedSwapsCount = 5
// minConfTarget is the minimum confirmation target we'll allow clients
// to specify. This is driven by the minimum confirmation target allowed
// by the backing fee estimator.
minConfTarget = 2
)
// swapClientServer implements the grpc service exposed by loopd.
type swapClientServer struct {
@ -242,9 +249,13 @@ func (s *swapClientServer) LoopOutTerms(ctx context.Context,
func (s *swapClientServer) LoopOutQuote(ctx context.Context,
req *looprpc.QuoteRequest) (*looprpc.QuoteResponse, error) {
confTarget, err := validateConfTarget(req.ConfTarget, defaultConfTarget)
if err != nil {
return nil, err
}
quote, err := s.impl.LoopOutQuote(ctx, &loop.LoopOutQuoteRequest{
Amount: btcutil.Amount(req.Amt),
SweepConfTarget: defaultConfTarget,
SweepConfTarget: confTarget,
})
if err != nil {
return nil, err
@ -323,3 +334,17 @@ func (s *swapClientServer) LoopIn(ctx context.Context,
HtlcAddress: htlc.String(),
}, nil
}
// validateConfTarget ensures the given confirmation target is valid. If one
// isn't specified (0 value), then the default target is used.
func validateConfTarget(target, defaultTarget int32) (int32, error) {
switch {
// Ensure the target respects our minimum threshold.
case target < minConfTarget:
return 0, fmt.Errorf("a confirmation target of at least %v "+
"must be provided", minConfTarget)
default:
return target, nil
}
}

@ -683,7 +683,13 @@ func (m *TermsResponse) GetCltvDelta() int32 {
type QuoteRequest struct {
//*
//The amount to swap in satoshis.
Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"`
Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"`
//*
//The confirmation target that should be used either for the sweep of the
//on-chain HTLC broadcast by the swap server in the case of a Loop Out, or for
//the confirmation of the on-chain HTLC broadcast by the swap client in the
//case of a Loop In.
ConfTarget int32 `protobuf:"varint,2,opt,name=conf_target,json=confTarget,proto3" json:"conf_target,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
@ -721,6 +727,13 @@ func (m *QuoteRequest) GetAmt() int64 {
return 0
}
func (m *QuoteRequest) GetConfTarget() int32 {
if m != nil {
return m.ConfTarget
}
return 0
}
type QuoteResponse struct {
//*
//The fee that the swap server is charging for the swap.
@ -799,69 +812,71 @@ func init() {
func init() { proto.RegisterFile("client.proto", fileDescriptor_014de31d7ac8c57c) }
var fileDescriptor_014de31d7ac8c57c = []byte{
// 992 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0x4f, 0x73, 0xda, 0x46,
0x1c, 0x0d, 0x02, 0x1b, 0xf8, 0x59, 0xc8, 0x78, 0x9d, 0x38, 0x94, 0x36, 0x53, 0xaa, 0x36, 0x29,
0xe3, 0x83, 0x69, 0x9d, 0x43, 0xa7, 0xbd, 0x74, 0x08, 0x28, 0xb1, 0x66, 0xb0, 0xa1, 0x02, 0x67,
0xa6, 0x27, 0xcd, 0x06, 0xd6, 0xb6, 0x66, 0xa4, 0x5d, 0x45, 0x5a, 0x39, 0x78, 0x3a, 0xbd, 0xf4,
0x1b, 0xb4, 0xfd, 0x26, 0x9d, 0x7e, 0x93, 0xde, 0x7b, 0xea, 0x07, 0xe9, 0xec, 0x1f, 0x14, 0x04,
0xf1, 0x25, 0x37, 0xfc, 0xf6, 0xed, 0xdb, 0xdf, 0xfe, 0x7e, 0xef, 0xad, 0x0c, 0xe6, 0x3c, 0x0c,
0x08, 0xe5, 0x27, 0x71, 0xc2, 0x38, 0x43, 0xd5, 0x90, 0xb1, 0x38, 0x89, 0xe7, 0xed, 0xcf, 0xae,
0x19, 0xbb, 0x0e, 0x49, 0x0f, 0xc7, 0x41, 0x0f, 0x53, 0xca, 0x38, 0xe6, 0x01, 0xa3, 0xa9, 0xa2,
0xd9, 0x7f, 0x19, 0x60, 0x8d, 0x18, 0x8b, 0xc7, 0x19, 0xf7, 0xc8, 0xdb, 0x8c, 0xa4, 0x1c, 0x35,
0xa1, 0x8c, 0x23, 0xde, 0x2a, 0x75, 0x4a, 0xdd, 0xb2, 0x27, 0x7e, 0x22, 0x04, 0x95, 0x05, 0x49,
0x79, 0xcb, 0xe8, 0x94, 0xba, 0x75, 0x4f, 0xfe, 0x46, 0x3d, 0x78, 0x18, 0xe1, 0xa5, 0x9f, 0xbe,
0xc3, 0xb1, 0x9f, 0xb0, 0x8c, 0x07, 0xf4, 0xda, 0xbf, 0x22, 0xa4, 0x55, 0x96, 0xdb, 0x0e, 0x22,
0xbc, 0x9c, 0xbe, 0xc3, 0xb1, 0xa7, 0x56, 0x5e, 0x12, 0x82, 0x9e, 0xc3, 0x91, 0xd8, 0x10, 0x27,
0x24, 0xc6, 0x77, 0x85, 0x2d, 0x15, 0xb9, 0xe5, 0x30, 0xc2, 0xcb, 0x89, 0x5c, 0x5c, 0xdb, 0xd4,
0x01, 0x33, 0x3f, 0x45, 0x50, 0x77, 0x24, 0x15, 0xb4, 0xba, 0x60, 0x7c, 0x05, 0xd6, 0x9a, 0xac,
0x28, 0x7c, 0x57, 0x72, 0xcc, 0x5c, 0xae, 0x1f, 0x71, 0x64, 0x43, 0x43, 0xb0, 0xa2, 0x80, 0x92,
0x44, 0x0a, 0x55, 0x25, 0x69, 0x2f, 0xc2, 0xcb, 0x73, 0x81, 0x09, 0xa5, 0x2e, 0x34, 0x45, 0xcf,
0x7c, 0x96, 0x71, 0x7f, 0x7e, 0x83, 0x29, 0x25, 0x61, 0xab, 0xd6, 0x29, 0x75, 0x2b, 0x9e, 0x15,
0xaa, 0x0e, 0x0d, 0x14, 0x6a, 0xff, 0x5d, 0x82, 0x86, 0x68, 0x9a, 0x4b, 0xef, 0xef, 0xd9, 0x66,
0xe5, 0xc6, 0x56, 0xe5, 0x5b, 0x35, 0x95, 0xb7, 0x6b, 0x7a, 0x06, 0xfb, 0xb2, 0xa6, 0x80, 0xe6,
0x25, 0x55, 0x64, 0x49, 0x8d, 0x50, 0x9e, 0xaf, 0x2b, 0x42, 0x5f, 0x42, 0x83, 0x2c, 0x39, 0x49,
0x28, 0x0e, 0xfd, 0x1b, 0x1e, 0xce, 0x65, 0xa3, 0x6a, 0x9e, 0xb9, 0x02, 0xcf, 0x78, 0x38, 0xb7,
0xfb, 0x60, 0xca, 0x99, 0x90, 0x34, 0x66, 0x34, 0x25, 0xc8, 0x02, 0x23, 0x58, 0xc8, 0x9a, 0xeb,
0x9e, 0x11, 0x2c, 0xd0, 0x17, 0x60, 0x8a, 0xbd, 0x3e, 0x5e, 0x2c, 0x12, 0x92, 0xa6, 0x7a, 0xdc,
0x7b, 0x02, 0xeb, 0x2b, 0xc8, 0x6e, 0x82, 0x75, 0xce, 0x68, 0xc0, 0x59, 0xa2, 0x6f, 0x6e, 0xff,
0x6b, 0x00, 0x08, 0xd5, 0x29, 0xc7, 0x3c, 0x4b, 0x3f, 0xd0, 0x08, 0x75, 0x8a, 0x91, 0x9f, 0xf2,
0x14, 0x2a, 0xfc, 0x2e, 0x56, 0xb7, 0xb5, 0x4e, 0x0f, 0x4e, 0xb4, 0x4f, 0x4f, 0x84, 0xc8, 0xec,
0x2e, 0x26, 0x9e, 0x5c, 0x46, 0x5d, 0xd8, 0x49, 0x39, 0xe6, 0xca, 0x1d, 0xd6, 0x29, 0x2a, 0xf0,
0xc4, 0x61, 0xc4, 0x53, 0x04, 0xf4, 0x35, 0xec, 0x07, 0x34, 0xe0, 0x81, 0xf4, 0xb5, 0xcf, 0x83,
0x68, 0x65, 0x13, 0xeb, 0x3d, 0x3c, 0x0b, 0x22, 0x35, 0x60, 0x9c, 0x72, 0x3f, 0x8b, 0x17, 0x98,
0x13, 0xc5, 0x54, 0x66, 0xb1, 0x04, 0x7e, 0x29, 0x61, 0xc9, 0xdc, 0xec, 0x44, 0x75, 0xab, 0x13,
0xe8, 0x73, 0xd8, 0x9b, 0xb3, 0x94, 0xfb, 0x29, 0x49, 0x6e, 0x49, 0x22, 0x8d, 0x52, 0xf6, 0x40,
0x40, 0x53, 0x89, 0x08, 0x0d, 0x49, 0x60, 0x74, 0x7e, 0x83, 0x03, 0xda, 0xaa, 0xab, 0xe9, 0x0a,
0x6c, 0xac, 0x20, 0x31, 0x35, 0x45, 0xb9, 0xba, 0x52, 0x1c, 0x50, 0xd6, 0x95, 0x1c, 0x8d, 0xd9,
0x16, 0x98, 0x33, 0x92, 0x44, 0xe9, 0xaa, 0xe1, 0xbf, 0x1b, 0xd0, 0xd0, 0x80, 0x9e, 0xe3, 0x31,
0x1c, 0x48, 0x9b, 0xc5, 0xf8, 0x2e, 0x22, 0x94, 0xfb, 0x32, 0xab, 0x6a, 0xac, 0xfb, 0x62, 0x61,
0xa2, 0xf0, 0xa1, 0x30, 0xaa, 0x0d, 0x8d, 0x95, 0x25, 0xfd, 0x37, 0x38, 0x5d, 0xf9, 0x72, 0x2f,
0x55, 0xa6, 0x7c, 0x81, 0x53, 0x52, 0xe0, 0x24, 0x62, 0x04, 0xe5, 0x02, 0xc7, 0x13, 0x4d, 0x7f,
0x02, 0xb0, 0x16, 0x39, 0x95, 0xe0, 0x7a, 0x9c, 0xe7, 0xed, 0x19, 0xec, 0x47, 0x01, 0x55, 0xee,
0xc7, 0x11, 0xcb, 0x28, 0xd7, 0x33, 0x69, 0x44, 0x01, 0x15, 0x13, 0xec, 0x4b, 0x50, 0xf2, 0x56,
0x29, 0xd1, 0xbc, 0x5d, 0xcd, 0x53, 0x41, 0xd1, 0xbc, 0x27, 0x00, 0xf3, 0x90, 0xdf, 0xfa, 0x0b,
0x12, 0x72, 0x2c, 0xc7, 0xb1, 0xe3, 0xd5, 0x05, 0x32, 0x14, 0x80, 0xdd, 0x01, 0xf3, 0xa7, 0x8c,
0x71, 0x72, 0x6f, 0x1c, 0xed, 0x2b, 0x68, 0x68, 0x86, 0x6e, 0xda, 0x27, 0x50, 0xcb, 0xb3, 0xa9,
0x78, 0x55, 0x7d, 0xbf, 0x8d, 0xbb, 0x19, 0x9b, 0x77, 0xfb, 0x14, 0xea, 0x9b, 0x99, 0xad, 0x45,
0x3a, 0xb0, 0xc7, 0x4f, 0xa1, 0xb6, 0x32, 0x32, 0x32, 0xa1, 0x36, 0x1a, 0x8f, 0x27, 0xfe, 0xf8,
0x72, 0xd6, 0x7c, 0x80, 0xf6, 0xa0, 0x2a, 0xff, 0x72, 0x2f, 0x9a, 0xa5, 0xe3, 0x14, 0xea, 0xb9,
0x8f, 0x51, 0x03, 0xea, 0xee, 0x85, 0x3b, 0x73, 0xfb, 0x33, 0x67, 0xd8, 0x7c, 0x80, 0x1e, 0xc1,
0xc1, 0xc4, 0x73, 0xdc, 0xf3, 0xfe, 0x2b, 0xc7, 0xf7, 0x9c, 0xd7, 0x4e, 0x7f, 0xe4, 0x0c, 0x9b,
0x25, 0x84, 0xc0, 0x3a, 0x9b, 0x8d, 0x06, 0xfe, 0xe4, 0xf2, 0xc5, 0xc8, 0x9d, 0x9e, 0x39, 0xc3,
0xa6, 0x21, 0x34, 0xa7, 0x97, 0x83, 0x81, 0x33, 0x9d, 0x36, 0xcb, 0x08, 0x60, 0xf7, 0x65, 0xdf,
0x15, 0xe4, 0x0a, 0x3a, 0x84, 0x7d, 0xf7, 0xe2, 0xf5, 0xd8, 0x1d, 0x38, 0xfe, 0xd4, 0x99, 0xcd,
0x04, 0xb8, 0x73, 0xfa, 0x47, 0x45, 0x45, 0x75, 0x20, 0xbf, 0x13, 0xc8, 0x83, 0xaa, 0x7e, 0xf9,
0xd1, 0xe3, 0x3c, 0x5d, 0xc5, 0x6f, 0x41, 0xfb, 0x51, 0x21, 0x76, 0xab, 0xe6, 0xd9, 0x8f, 0x7f,
0xfb, 0xe7, 0xbf, 0x3f, 0x8d, 0x03, 0xdb, 0xec, 0xdd, 0x7e, 0xdb, 0x13, 0x8c, 0x1e, 0xcb, 0xf8,
0x0f, 0xa5, 0x63, 0xf4, 0x1d, 0xec, 0xaa, 0x87, 0x11, 0x1d, 0x15, 0x24, 0xf3, 0x97, 0xf2, 0x1e,
0x45, 0xf4, 0x3d, 0x54, 0xf5, 0xc3, 0xb2, 0x56, 0x4c, 0xf1, 0xa9, 0x69, 0x1f, 0x6e, 0xbd, 0x01,
0x59, 0xfa, 0x4d, 0x09, 0xfd, 0x0c, 0xa6, 0xae, 0x5a, 0xc6, 0x02, 0xbd, 0x3f, 0x61, 0x3d, 0x37,
0xed, 0xa3, 0x4d, 0x58, 0xdf, 0xa5, 0x2d, 0xef, 0xf2, 0x10, 0xa1, 0xf5, 0xbb, 0xf4, 0xb8, 0x94,
0xf2, 0x73, 0x69, 0x69, 0x9e, 0x35, 0xe9, 0x75, 0xbb, 0xad, 0x49, 0x17, 0x3c, 0x66, 0x77, 0xa4,
0x74, 0x1b, 0xb5, 0x0a, 0xd2, 0x6f, 0x05, 0xa7, 0xf7, 0x0b, 0x8e, 0xf8, 0xaf, 0xe8, 0x47, 0xb0,
0x5e, 0x11, 0xae, 0x3a, 0xf4, 0x31, 0xd5, 0x17, 0x04, 0x3e, 0xa6, 0xc6, 0x37, 0xbb, 0xf2, 0xff,
0x80, 0xe7, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xf8, 0xf2, 0xb9, 0x76, 0x3e, 0x08, 0x00, 0x00,
// 1009 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcd, 0x6e, 0xdb, 0x46,
0x18, 0x8c, 0x28, 0xd9, 0x92, 0x3e, 0x53, 0xb4, 0xbc, 0x4e, 0x1c, 0x55, 0x6d, 0x50, 0x97, 0x6d,
0x52, 0xc3, 0x07, 0xab, 0x75, 0x0e, 0x45, 0x7b, 0x29, 0x14, 0x99, 0x89, 0x09, 0xc8, 0x96, 0x4a,
0xd1, 0x01, 0x7a, 0x22, 0x36, 0xd2, 0xca, 0x26, 0x40, 0xee, 0x32, 0xe4, 0xd2, 0x91, 0x51, 0xf4,
0xd2, 0x37, 0x68, 0xfb, 0x26, 0x45, 0xdf, 0xa4, 0xf7, 0x9e, 0xfa, 0x20, 0xc5, 0xfe, 0x88, 0x11,
0xa5, 0xf8, 0x92, 0x9b, 0x3c, 0x3b, 0x3b, 0xfb, 0xed, 0xf7, 0xcd, 0x2c, 0x0d, 0xe6, 0x34, 0x0a,
0x09, 0xe5, 0x27, 0x49, 0xca, 0x38, 0x43, 0xf5, 0x88, 0xb1, 0x24, 0x4d, 0xa6, 0xdd, 0xcf, 0xae,
0x19, 0xbb, 0x8e, 0x48, 0x0f, 0x27, 0x61, 0x0f, 0x53, 0xca, 0x38, 0xe6, 0x21, 0xa3, 0x99, 0xa2,
0xd9, 0x7f, 0x19, 0x60, 0x0d, 0x19, 0x4b, 0x46, 0x39, 0xf7, 0xc8, 0xdb, 0x9c, 0x64, 0x1c, 0xb5,
0xa1, 0x8a, 0x63, 0xde, 0xa9, 0x1c, 0x56, 0x8e, 0xaa, 0x9e, 0xf8, 0x89, 0x10, 0xd4, 0x66, 0x24,
0xe3, 0x1d, 0xe3, 0xb0, 0x72, 0xd4, 0xf4, 0xe4, 0x6f, 0xd4, 0x83, 0x87, 0x31, 0x5e, 0x04, 0xd9,
0x3b, 0x9c, 0x04, 0x29, 0xcb, 0x79, 0x48, 0xaf, 0x83, 0x39, 0x21, 0x9d, 0xaa, 0xdc, 0xb6, 0x17,
0xe3, 0xc5, 0xe4, 0x1d, 0x4e, 0x3c, 0xb5, 0xf2, 0x92, 0x10, 0xf4, 0x1c, 0x0e, 0xc4, 0x86, 0x24,
0x25, 0x09, 0xbe, 0x2b, 0x6d, 0xa9, 0xc9, 0x2d, 0xfb, 0x31, 0x5e, 0x8c, 0xe5, 0xe2, 0xca, 0xa6,
0x43, 0x30, 0x8b, 0x53, 0x04, 0x75, 0x4b, 0x52, 0x41, 0xab, 0x0b, 0xc6, 0x57, 0x60, 0xad, 0xc8,
0x8a, 0xc2, 0xb7, 0x25, 0xc7, 0x2c, 0xe4, 0xfa, 0x31, 0x47, 0x36, 0xb4, 0x04, 0x2b, 0x0e, 0x29,
0x49, 0xa5, 0x50, 0x5d, 0x92, 0x76, 0x62, 0xbc, 0xb8, 0x10, 0x98, 0x50, 0x3a, 0x82, 0xb6, 0xe8,
0x59, 0xc0, 0x72, 0x1e, 0x4c, 0x6f, 0x30, 0xa5, 0x24, 0xea, 0x34, 0x0e, 0x2b, 0x47, 0x35, 0xcf,
0x8a, 0x54, 0x87, 0x06, 0x0a, 0xb5, 0xff, 0xae, 0x40, 0x4b, 0x34, 0xcd, 0xa5, 0xf7, 0xf7, 0x6c,
0xbd, 0x72, 0x63, 0xa3, 0xf2, 0x8d, 0x9a, 0xaa, 0x9b, 0x35, 0x3d, 0x83, 0x5d, 0x59, 0x53, 0x48,
0x8b, 0x92, 0x6a, 0xb2, 0xa4, 0x56, 0x24, 0xcf, 0xd7, 0x15, 0xa1, 0x2f, 0xa1, 0x45, 0x16, 0x9c,
0xa4, 0x14, 0x47, 0xc1, 0x0d, 0x8f, 0xa6, 0xb2, 0x51, 0x0d, 0xcf, 0x5c, 0x82, 0xe7, 0x3c, 0x9a,
0xda, 0x7d, 0x30, 0xe5, 0x4c, 0x48, 0x96, 0x30, 0x9a, 0x11, 0x64, 0x81, 0x11, 0xce, 0x64, 0xcd,
0x4d, 0xcf, 0x08, 0x67, 0xe8, 0x0b, 0x30, 0xc5, 0xde, 0x00, 0xcf, 0x66, 0x29, 0xc9, 0x32, 0x3d,
0xee, 0x1d, 0x81, 0xf5, 0x15, 0x64, 0xb7, 0xc1, 0xba, 0x60, 0x34, 0xe4, 0x2c, 0xd5, 0x37, 0xb7,
0xff, 0x35, 0x00, 0x84, 0xea, 0x84, 0x63, 0x9e, 0x67, 0x1f, 0x68, 0x84, 0x3a, 0xc5, 0x28, 0x4e,
0x79, 0x0a, 0x35, 0x7e, 0x97, 0xa8, 0xdb, 0x5a, 0xa7, 0x7b, 0x27, 0xda, 0xa7, 0x27, 0x42, 0xc4,
0xbf, 0x4b, 0x88, 0x27, 0x97, 0xd1, 0x11, 0x6c, 0x65, 0x1c, 0x73, 0xe5, 0x0e, 0xeb, 0x14, 0x95,
0x78, 0xe2, 0x30, 0xe2, 0x29, 0x02, 0xfa, 0x1a, 0x76, 0x43, 0x1a, 0xf2, 0x50, 0xfa, 0x3a, 0xe0,
0x61, 0xbc, 0xb4, 0x89, 0xf5, 0x1e, 0xf6, 0xc3, 0x58, 0x0d, 0x18, 0x67, 0x3c, 0xc8, 0x93, 0x19,
0xe6, 0x44, 0x31, 0x95, 0x59, 0x2c, 0x81, 0x5f, 0x49, 0x58, 0x32, 0xd7, 0x3b, 0x51, 0xdf, 0xe8,
0x04, 0xfa, 0x1c, 0x76, 0xa6, 0x2c, 0xe3, 0x41, 0x46, 0xd2, 0x5b, 0x92, 0x4a, 0xa3, 0x54, 0x3d,
0x10, 0xd0, 0x44, 0x22, 0x42, 0x43, 0x12, 0x18, 0x9d, 0xde, 0xe0, 0x90, 0x76, 0x9a, 0x6a, 0xba,
0x02, 0x1b, 0x29, 0x48, 0x4c, 0x4d, 0x51, 0xe6, 0x73, 0xc5, 0x01, 0x65, 0x5d, 0xc9, 0xd1, 0x98,
0x6d, 0x81, 0xe9, 0x93, 0x34, 0xce, 0x96, 0x0d, 0xff, 0xdd, 0x80, 0x96, 0x06, 0xf4, 0x1c, 0x8f,
0x61, 0x4f, 0xda, 0x2c, 0xc1, 0x77, 0x31, 0xa1, 0x3c, 0x90, 0x59, 0x55, 0x63, 0xdd, 0x15, 0x0b,
0x63, 0x85, 0x9f, 0x09, 0xa3, 0xda, 0xd0, 0x5a, 0x5a, 0x32, 0x78, 0x83, 0xb3, 0xa5, 0x2f, 0x77,
0x32, 0x65, 0xca, 0x17, 0x38, 0x23, 0x25, 0x4e, 0x2a, 0x46, 0x50, 0x2d, 0x71, 0x3c, 0xd1, 0xf4,
0x27, 0x00, 0x2b, 0x91, 0x53, 0x09, 0x6e, 0x26, 0x45, 0xde, 0x9e, 0xc1, 0x6e, 0x1c, 0x52, 0xe5,
0x7e, 0x1c, 0xb3, 0x9c, 0x72, 0x3d, 0x93, 0x56, 0x1c, 0x52, 0x31, 0xc1, 0xbe, 0x04, 0x25, 0x6f,
0x99, 0x12, 0xcd, 0xdb, 0xd6, 0x3c, 0x15, 0x14, 0xcd, 0x7b, 0x02, 0x30, 0x8d, 0xf8, 0x6d, 0x30,
0x23, 0x11, 0xc7, 0x72, 0x1c, 0x5b, 0x5e, 0x53, 0x20, 0x67, 0x02, 0x10, 0xce, 0xfe, 0x29, 0x67,
0x9c, 0xdc, 0x1f, 0x47, 0x39, 0x2e, 0x3a, 0x0f, 0x38, 0x4e, 0xaf, 0x89, 0x7a, 0xc9, 0xb6, 0xc4,
0xb8, 0xe8, 0xdc, 0x97, 0x88, 0x3d, 0x87, 0x96, 0x96, 0xd0, 0x5d, 0xfd, 0x04, 0x1a, 0x45, 0x78,
0x95, 0x50, 0x5d, 0x37, 0x60, 0xed, 0xf2, 0xc6, 0xfa, 0xe5, 0x3f, 0x85, 0xe6, 0x7a, 0xa8, 0x1b,
0xb1, 0x4e, 0xf4, 0xf1, 0x53, 0x68, 0x2c, 0x9d, 0x8e, 0x4c, 0x68, 0x0c, 0x47, 0xa3, 0x71, 0x30,
0xba, 0xf2, 0xdb, 0x0f, 0xd0, 0x0e, 0xd4, 0xe5, 0x5f, 0xee, 0x65, 0xbb, 0x72, 0x9c, 0x41, 0xb3,
0x30, 0x3a, 0x6a, 0x41, 0xd3, 0xbd, 0x74, 0x7d, 0xb7, 0xef, 0x3b, 0x67, 0xed, 0x07, 0xe8, 0x11,
0xec, 0x8d, 0x3d, 0xc7, 0xbd, 0xe8, 0xbf, 0x72, 0x02, 0xcf, 0x79, 0xed, 0xf4, 0x87, 0xce, 0x59,
0xbb, 0x82, 0x10, 0x58, 0xe7, 0xfe, 0x70, 0x10, 0x8c, 0xaf, 0x5e, 0x0c, 0xdd, 0xc9, 0xb9, 0x73,
0xd6, 0x36, 0x84, 0xe6, 0xe4, 0x6a, 0x30, 0x70, 0x26, 0x93, 0x76, 0x15, 0x01, 0x6c, 0xbf, 0xec,
0xbb, 0x82, 0x5c, 0x43, 0xfb, 0xb0, 0xeb, 0x5e, 0xbe, 0x1e, 0xb9, 0x03, 0x27, 0x98, 0x38, 0xbe,
0x2f, 0xc0, 0xad, 0xd3, 0x3f, 0x6a, 0x2a, 0xcb, 0x03, 0xf9, 0x21, 0x41, 0x1e, 0xd4, 0xf5, 0xa7,
0x01, 0x3d, 0x2e, 0xe2, 0x57, 0xfe, 0x58, 0x74, 0x1f, 0x95, 0x72, 0xb9, 0x6c, 0x9e, 0xfd, 0xf8,
0xb7, 0x7f, 0xfe, 0xfb, 0xd3, 0xd8, 0xb3, 0xcd, 0xde, 0xed, 0xb7, 0x3d, 0xc1, 0xe8, 0xb1, 0x9c,
0xff, 0x50, 0x39, 0x46, 0xdf, 0xc1, 0xb6, 0x7a, 0x39, 0xd1, 0x41, 0x49, 0xb2, 0x78, 0x4a, 0xef,
0x51, 0x44, 0xdf, 0x43, 0x5d, 0xbf, 0x3c, 0x2b, 0xc5, 0x94, 0xdf, 0xa2, 0xee, 0xfe, 0xc6, 0x23,
0x91, 0x67, 0xdf, 0x54, 0xd0, 0xcf, 0x60, 0xea, 0xaa, 0x65, 0x6e, 0xd0, 0xfb, 0x13, 0x56, 0x83,
0xd5, 0x3d, 0x58, 0x87, 0xf5, 0x5d, 0xba, 0xf2, 0x2e, 0x0f, 0x11, 0x5a, 0xbd, 0x4b, 0x8f, 0x4b,
0xa9, 0xa0, 0x90, 0x96, 0xe6, 0x59, 0x91, 0x5e, 0xf5, 0xe3, 0x8a, 0x74, 0xc9, 0x63, 0xf6, 0xa1,
0x94, 0xee, 0xa2, 0x4e, 0x49, 0xfa, 0xad, 0xe0, 0xf4, 0x7e, 0xc1, 0x31, 0xff, 0x15, 0xfd, 0x08,
0xd6, 0x2b, 0xc2, 0x55, 0x87, 0x3e, 0xa6, 0xfa, 0x92, 0xc0, 0xc7, 0xd4, 0xf8, 0x66, 0x5b, 0xfe,
0xa3, 0xf0, 0xfc, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xec, 0x90, 0x5b, 0x65, 0x5f, 0x08, 0x00,
0x00,
}
// Reference imports to suppress errors if they are not otherwise used.

@ -50,6 +50,10 @@ func request_SwapClient_LoopOutTerms_0(ctx context.Context, marshaler runtime.Ma
}
var (
filter_SwapClient_LoopOutQuote_0 = &utilities.DoubleArray{Encoding: map[string]int{"amt": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}}
)
func request_SwapClient_LoopOutQuote_0(ctx context.Context, marshaler runtime.Marshaler, client SwapClientClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
var protoReq QuoteRequest
var metadata runtime.ServerMetadata
@ -72,6 +76,10 @@ func request_SwapClient_LoopOutQuote_0(ctx context.Context, marshaler runtime.Ma
return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "amt", err)
}
if err := runtime.PopulateQueryParameters(&protoReq, req.URL.Query(), filter_SwapClient_LoopOutQuote_0); err != nil {
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
}
msg, err := client.LoopOutQuote(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
return msg, metadata, err

@ -328,6 +328,14 @@ message QuoteRequest {
The amount to swap in satoshis.
*/
int64 amt = 1;
/**
The confirmation target that should be used either for the sweep of the
on-chain HTLC broadcast by the swap server in the case of a Loop Out, or for
the confirmation of the on-chain HTLC broadcast by the swap client in the
case of a Loop In.
*/
int32 conf_target = 2;
}
message QuoteResponse {

@ -61,6 +61,14 @@
"required": true,
"type": "string",
"format": "int64"
},
{
"name": "conf_target",
"description": "*\nThe confirmation target that should be used either for the sweep of the\non-chain HTLC broadcast by the swap server in the case of a Loop Out, or for\nthe confirmation of the on-chain HTLC broadcast by the swap client in the\ncase of a Loop In.",
"in": "query",
"required": false,
"type": "integer",
"format": "int32"
}
],
"tags": [

Loading…
Cancel
Save