Merge pull request #129 from halseth/loop-out-quote-deadline

Loop out quote with fast option
pull/132/head
Johan T. Halseth 4 years ago committed by GitHub
commit d9597e8387
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -369,7 +369,9 @@ func (s *Client) LoopOutQuote(ctx context.Context,
return nil, ErrSwapAmountTooHigh
}
quote, err := s.Server.GetLoopOutQuote(ctx, request.Amount)
quote, err := s.Server.GetLoopOutQuote(
ctx, request.Amount, request.SwapPublicationDeadline,
)
if err != nil {
return nil, err
}

@ -93,10 +93,19 @@ func loopOut(ctx *cli.Context) error {
}
defer cleanup()
// Set our maximum swap wait time. If a fast swap is requested we set
// it to now, otherwise to 30 minutes in the future.
fast := ctx.Bool("fast")
swapDeadline := time.Now()
if !fast {
swapDeadline = time.Now().Add(defaultSwapWaitTime)
}
sweepConfTarget := int32(ctx.Uint64("conf_target"))
quoteReq := &looprpc.QuoteRequest{
Amt: int64(amt),
ConfTarget: sweepConfTarget,
Amt: int64(amt),
ConfTarget: sweepConfTarget,
SwapPublicationDeadline: uint64(swapDeadline.Unix()),
}
quote, err := client.LoopOutQuote(context.Background(), quoteReq)
if err != nil {
@ -104,7 +113,6 @@ func loopOut(ctx *cli.Context) error {
}
// Show a warning if a slow swap was requested.
fast := ctx.Bool("fast")
warning := ""
if fast {
warning = "Fast swap requested."
@ -125,13 +133,6 @@ func loopOut(ctx *cli.Context) error {
unchargeChannel = ctx.Uint64("channel")
}
// Set our maximum swap wait time. If a fast swap is requested we set
// it to now, otherwise to 30 minutes in the future.
swapDeadline := time.Now()
if !fast {
swapDeadline = time.Now().Add(defaultSwapWaitTime)
}
resp, err := client.LoopOut(context.Background(), &looprpc.LoopOutRequest{
Amt: int64(amt),
Dest: destAddr,

@ -2,6 +2,7 @@ package main
import (
"context"
"time"
"github.com/lightninglabs/loop/looprpc"
"github.com/urfave/cli"
@ -20,6 +21,16 @@ var quoteCommand = cli.Command{
"should be swept within in a Loop Out",
Value: 6,
},
cli.BoolFlag{
Name: "fast",
Usage: "Indicate you want to swap immediately, " +
"paying potentially a higher fee. If not " +
"set the swap server might choose to wait up " +
"to 30 minutes before publishing the swap " +
"HTLC on-chain, to save on chain fees. Not " +
"setting this flag might result in a lower " +
"swap fee.",
},
},
Action: quote,
}
@ -43,10 +54,17 @@ func quote(ctx *cli.Context) error {
}
defer cleanup()
fast := ctx.Bool("fast")
swapDeadline := time.Now()
if !fast {
swapDeadline = time.Now().Add(defaultSwapWaitTime)
}
ctxb := context.Background()
resp, err := client.LoopOutQuote(ctxb, &looprpc.QuoteRequest{
Amt: int64(amt),
ConfTarget: int32(ctx.Uint64("conf_target")),
Amt: int64(amt),
ConfTarget: int32(ctx.Uint64("conf_target")),
SwapPublicationDeadline: uint64(swapDeadline.Unix()),
})
if err != nil {
return err

@ -99,6 +99,10 @@ type LoopOutQuoteRequest struct {
// client sweep tx.
SweepConfTarget int32
// SwapPublicationDeadline can be set by the client to allow the server
// delaying publication of the swap HTLC to save on chain fees.
SwapPublicationDeadline time.Time
// TODO: Add argument to specify confirmation target for server
// publishing htlc. This may influence the swap fee quote, because the
// server needs to pay more for faster confirmations.

@ -266,6 +266,9 @@ func (s *swapClientServer) LoopOutQuote(ctx context.Context,
quote, err := s.impl.LoopOutQuote(ctx, &loop.LoopOutQuoteRequest{
Amount: btcutil.Amount(req.Amt),
SweepConfTarget: confTarget,
SwapPublicationDeadline: time.Unix(
int64(req.SwapPublicationDeadline), 0,
),
})
if err != nil {
return nil, err

@ -667,10 +667,17 @@ type QuoteRequest struct {
//*
//If external_htlc is true, we expect the htlc to be published by an external
//actor.
ExternalHtlc bool `protobuf:"varint,3,opt,name=external_htlc,json=externalHtlc,proto3" json:"external_htlc,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
ExternalHtlc bool `protobuf:"varint,3,opt,name=external_htlc,json=externalHtlc,proto3" json:"external_htlc,omitempty"`
//*
//The latest time (in unix seconds) we allow the server to wait before
//publishing the HTLC on chain. Setting this to a larger value will give the
//server the opportunity to batch multiple swaps together, and wait for
//low-fee periods before publishing the HTLC, potentially resulting in a
//lower total swap fee.
SwapPublicationDeadline uint64 `protobuf:"varint,4,opt,name=swap_publication_deadline,json=swapPublicationDeadline,proto3" json:"swap_publication_deadline,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *QuoteRequest) Reset() { *m = QuoteRequest{} }
@ -719,6 +726,13 @@ func (m *QuoteRequest) GetExternalHtlc() bool {
return false
}
func (m *QuoteRequest) GetSwapPublicationDeadline() uint64 {
if m != nil {
return m.SwapPublicationDeadline
}
return 0
}
type QuoteResponse struct {
//*
//The fee that the swap server is charging for the swap.
@ -1007,89 +1021,90 @@ func init() {
func init() { proto.RegisterFile("client.proto", fileDescriptor_014de31d7ac8c57c) }
var fileDescriptor_014de31d7ac8c57c = []byte{
// 1310 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcd, 0x72, 0x1a, 0x47,
0x10, 0x36, 0x3f, 0x12, 0xd0, 0x2c, 0xcb, 0x6a, 0x64, 0x4b, 0x48, 0x89, 0xcb, 0x78, 0x13, 0x3b,
0x44, 0x07, 0x13, 0xdb, 0xa7, 0xb8, 0x72, 0x21, 0x08, 0x5b, 0xa8, 0x24, 0x41, 0x16, 0xe4, 0x2a,
0xe7, 0xb2, 0x19, 0xc3, 0x48, 0xda, 0x0a, 0x3b, 0xbb, 0xde, 0x19, 0x6c, 0xa9, 0x52, 0xbe, 0xe4,
0x15, 0x72, 0xcb, 0x5b, 0xa4, 0x2a, 0xb7, 0x9c, 0xf2, 0x0c, 0xb9, 0xe7, 0x94, 0x07, 0x49, 0x4d,
0xcf, 0xb0, 0x5a, 0x84, 0x7d, 0xf1, 0x8d, 0xfd, 0xe6, 0x9b, 0x6f, 0xba, 0x7b, 0xbe, 0xee, 0x01,
0xac, 0xc9, 0x2c, 0x60, 0x5c, 0x3e, 0x8a, 0x93, 0x48, 0x46, 0xa4, 0x34, 0x8b, 0xa2, 0x38, 0x89,
0x27, 0xbb, 0x9f, 0x9f, 0x47, 0xd1, 0xf9, 0x8c, 0xb5, 0x69, 0x1c, 0xb4, 0x29, 0xe7, 0x91, 0xa4,
0x32, 0x88, 0xb8, 0xd0, 0x34, 0xf7, 0xf7, 0x02, 0xd8, 0x47, 0x51, 0x14, 0x0f, 0xe6, 0xd2, 0x63,
0x6f, 0xe6, 0x4c, 0x48, 0xe2, 0x40, 0x81, 0x86, 0xb2, 0x91, 0x6b, 0xe6, 0x5a, 0x05, 0x4f, 0xfd,
0x24, 0x04, 0x8a, 0x53, 0x26, 0x64, 0x23, 0xdf, 0xcc, 0xb5, 0x2a, 0x1e, 0xfe, 0x26, 0x6d, 0xb8,
0x1d, 0xd2, 0x4b, 0x5f, 0xbc, 0xa3, 0xb1, 0x9f, 0x44, 0x73, 0x19, 0xf0, 0x73, 0xff, 0x8c, 0xb1,
0x46, 0x01, 0xb7, 0x6d, 0x84, 0xf4, 0x72, 0xf4, 0x8e, 0xc6, 0x9e, 0x5e, 0x79, 0xce, 0x18, 0x79,
0x0a, 0x5b, 0x6a, 0x43, 0x9c, 0xb0, 0x98, 0x5e, 0x2d, 0x6d, 0x29, 0xe2, 0x96, 0xcd, 0x90, 0x5e,
0x0e, 0x71, 0x31, 0xb3, 0xa9, 0x09, 0x56, 0x7a, 0x8a, 0xa2, 0xae, 0x21, 0x15, 0x8c, 0xba, 0x62,
0x7c, 0x09, 0x76, 0x46, 0x56, 0x05, 0xbe, 0x8e, 0x1c, 0x2b, 0x95, 0xeb, 0x84, 0x92, 0xb8, 0x50,
0x53, 0xac, 0x30, 0xe0, 0x2c, 0x41, 0xa1, 0x12, 0x92, 0xaa, 0x21, 0xbd, 0x3c, 0x56, 0x98, 0x52,
0x6a, 0x81, 0xa3, 0x6a, 0xe6, 0x47, 0x73, 0xe9, 0x4f, 0x2e, 0x28, 0xe7, 0x6c, 0xd6, 0x28, 0x37,
0x73, 0xad, 0xa2, 0x67, 0xcf, 0x74, 0x85, 0xba, 0x1a, 0x25, 0x7b, 0xb0, 0x21, 0xde, 0x31, 0x16,
0xfb, 0x93, 0x88, 0x9f, 0xf9, 0x92, 0x26, 0xe7, 0x4c, 0x36, 0x2a, 0xcd, 0x5c, 0x6b, 0xcd, 0xab,
0xe3, 0x42, 0x37, 0xe2, 0x67, 0x63, 0x84, 0xc9, 0x33, 0xd8, 0xc1, 0xe8, 0xe3, 0xf9, 0xeb, 0x59,
0x30, 0xc1, 0xda, 0xfb, 0x53, 0x46, 0xa7, 0xb3, 0x80, 0xb3, 0x06, 0xa0, 0xfc, 0xb6, 0x22, 0x0c,
0xaf, 0xd7, 0xf7, 0xcd, 0xb2, 0xfb, 0x67, 0x0e, 0x6a, 0xea, 0x72, 0xfa, 0xfc, 0xe3, 0x77, 0x73,
0xb3, 0x42, 0xf9, 0x95, 0x0a, 0xad, 0xe4, 0x5e, 0x58, 0xcd, 0xfd, 0x21, 0xd4, 0x31, 0xf7, 0x80,
0xa7, 0xa9, 0x17, 0x31, 0xb6, 0xda, 0x0c, 0xcf, 0x5f, 0x64, 0xfe, 0x05, 0xd4, 0xd8, 0xa5, 0x64,
0x09, 0xa7, 0x33, 0xff, 0x42, 0xce, 0x26, 0x78, 0x21, 0x65, 0xcf, 0x5a, 0x80, 0x07, 0x72, 0x36,
0x71, 0x3b, 0x60, 0xe1, 0xdd, 0x33, 0x11, 0x47, 0x5c, 0x30, 0x62, 0x43, 0x3e, 0x98, 0x62, 0xcc,
0x15, 0x2f, 0x1f, 0x4c, 0xc9, 0x7d, 0xb0, 0xd4, 0x5e, 0x9f, 0x4e, 0xa7, 0x09, 0x13, 0xc2, 0xd8,
0xaa, 0xaa, 0xb0, 0x8e, 0x86, 0x5c, 0x07, 0xec, 0xe3, 0x88, 0x07, 0x32, 0x4a, 0x4c, 0xe6, 0xee,
0xbf, 0x79, 0x00, 0xa5, 0x3a, 0x92, 0x54, 0xce, 0xc5, 0x07, 0x0a, 0xa1, 0x4f, 0xc9, 0xa7, 0xa7,
0x3c, 0x80, 0xa2, 0xbc, 0x8a, 0x75, 0xb6, 0xf6, 0x93, 0x8d, 0x47, 0xa6, 0x1f, 0x1e, 0x29, 0x91,
0xf1, 0x55, 0xcc, 0x3c, 0x5c, 0x26, 0x2d, 0x58, 0x13, 0x92, 0x4a, 0xed, 0x42, 0xfb, 0x09, 0x59,
0xe2, 0xa9, 0xc3, 0x98, 0xa7, 0x09, 0xe4, 0x2b, 0xa8, 0x07, 0x3c, 0x90, 0x81, 0xbe, 0x43, 0x19,
0x84, 0x0b, 0x3b, 0xda, 0xd7, 0xf0, 0x38, 0x08, 0xb5, 0x91, 0xa8, 0x90, 0xfe, 0x3c, 0x9e, 0x52,
0xc9, 0x34, 0x53, 0x9b, 0xd2, 0x56, 0xf8, 0x29, 0xc2, 0xc8, 0xbc, 0x59, 0x89, 0xd2, 0x4a, 0x25,
0xc8, 0x3d, 0xa8, 0x4e, 0x22, 0x21, 0x7d, 0xc1, 0x92, 0xb7, 0x2c, 0x41, 0x43, 0x16, 0x3c, 0x50,
0xd0, 0x08, 0x11, 0xa5, 0x81, 0x84, 0x88, 0x4f, 0x2e, 0x68, 0xc0, 0xd1, 0x87, 0x05, 0x0f, 0x37,
0x0d, 0x34, 0xa4, 0x6e, 0x4d, 0x53, 0xce, 0xce, 0x34, 0x07, 0x74, 0x8b, 0x20, 0xc7, 0x60, 0xae,
0x0d, 0xd6, 0x98, 0x25, 0xa1, 0x58, 0x14, 0xfc, 0x3d, 0xd4, 0xcc, 0xb7, 0xb9, 0xc6, 0x87, 0x50,
0x0f, 0x03, 0xae, 0x9d, 0x46, 0xc3, 0x68, 0xce, 0xa5, 0xc9, 0xbf, 0x16, 0x06, 0x5c, 0x55, 0xab,
0x83, 0x20, 0xf2, 0x16, 0x8e, 0x34, 0xbc, 0x75, 0xc3, 0xd3, 0xa6, 0xd4, 0xbc, 0xc3, 0x62, 0x39,
0xe7, 0xe4, 0x0f, 0x8b, 0xe5, 0xbc, 0x53, 0x38, 0x2c, 0x96, 0x0b, 0x4e, 0xf1, 0xb0, 0x58, 0x2e,
0x3a, 0x6b, 0x87, 0xc5, 0x72, 0xc9, 0x29, 0xbb, 0x67, 0x60, 0xfd, 0x30, 0x8f, 0x24, 0xfb, 0xb8,
0xf3, 0xb1, 0x32, 0xd7, 0xfd, 0x97, 0xc7, 0xfe, 0x83, 0xc9, 0x75, 0xeb, 0xad, 0x98, 0xb5, 0xf0,
0x01, 0xb3, 0xfe, 0x91, 0x83, 0x9a, 0x39, 0xc8, 0xe4, 0xb9, 0x03, 0xe5, 0xb4, 0x9b, 0xf4, 0x71,
0x25, 0x61, 0x5a, 0xe9, 0x2e, 0x40, 0x66, 0xd0, 0xe8, 0x56, 0xab, 0xc4, 0xe9, 0x94, 0xf9, 0x0c,
0x2a, 0x37, 0xbb, 0xac, 0x1c, 0x2e, 0x5a, 0x0c, 0x87, 0x86, 0x1a, 0x04, 0xf4, 0x2a, 0x64, 0x5c,
0xfa, 0x38, 0x51, 0x95, 0xe9, 0x2c, 0x35, 0x34, 0x68, 0x3c, 0xd4, 0xf8, 0xbe, 0x4a, 0xf6, 0x2e,
0xc0, 0x64, 0x26, 0xdf, 0xfa, 0x53, 0x36, 0x93, 0x14, 0xab, 0xbc, 0xe6, 0x55, 0x14, 0xb2, 0xaf,
0x00, 0xb7, 0x0e, 0xb5, 0x71, 0xf4, 0x33, 0xe3, 0xe9, 0x5d, 0x7d, 0x07, 0xf6, 0x02, 0x30, 0x49,
0xec, 0xc1, 0xba, 0x44, 0xa4, 0x91, 0x6b, 0x16, 0x5a, 0xd5, 0x8c, 0xaf, 0x8f, 0x04, 0x95, 0x48,
0xf6, 0x0c, 0xc3, 0xfd, 0x2b, 0x0f, 0x95, 0x14, 0x55, 0x55, 0x7b, 0x4d, 0x05, 0xf3, 0x43, 0x3a,
0xa1, 0x49, 0x14, 0x71, 0xac, 0x81, 0xe5, 0x59, 0x0a, 0x3c, 0x36, 0x98, 0x32, 0xdd, 0x22, 0x8f,
0x0b, 0x2a, 0x2e, 0xb0, 0x14, 0x96, 0x57, 0x35, 0xd8, 0x01, 0x15, 0x17, 0xe4, 0x6b, 0x70, 0x16,
0x94, 0x38, 0x61, 0x41, 0x48, 0xcf, 0x75, 0x4d, 0x2c, 0xaf, 0x6e, 0xf0, 0xa1, 0x81, 0x55, 0xc3,
0x68, 0xa3, 0xf8, 0x31, 0x0d, 0xa6, 0x7e, 0x28, 0xa8, 0x34, 0x8f, 0x82, 0xad, 0xf1, 0x21, 0x0d,
0xa6, 0xc7, 0x82, 0x4a, 0xf2, 0x18, 0xee, 0x64, 0x5e, 0x8e, 0x0c, 0x5d, 0x3b, 0x91, 0x24, 0xe9,
0xd3, 0x91, 0x6e, 0xb9, 0x0f, 0x96, 0xea, 0x40, 0x7f, 0x92, 0x30, 0x2a, 0xd9, 0xd4, 0x78, 0xb1,
0xaa, 0xb0, 0xae, 0x86, 0x48, 0x03, 0x4a, 0xec, 0x32, 0x0e, 0x12, 0x36, 0xc5, 0x0e, 0x2c, 0x7b,
0x8b, 0x4f, 0xb5, 0x59, 0xc8, 0x28, 0xa1, 0xe7, 0xcc, 0xe7, 0x34, 0x64, 0xd8, 0x7e, 0x15, 0xaf,
0x6a, 0xb0, 0x13, 0x1a, 0xb2, 0xbd, 0x07, 0x50, 0x5e, 0x8c, 0x14, 0x62, 0x41, 0xf9, 0x68, 0x30,
0x18, 0xfa, 0x83, 0xd3, 0xb1, 0x73, 0x8b, 0x54, 0xa1, 0x84, 0x5f, 0xfd, 0x13, 0x27, 0xb7, 0x27,
0xa0, 0x92, 0x4e, 0x14, 0x52, 0x83, 0x4a, 0xff, 0xa4, 0x3f, 0xee, 0x77, 0xc6, 0xbd, 0x7d, 0xe7,
0x16, 0xb9, 0x03, 0x1b, 0x43, 0xaf, 0xd7, 0x3f, 0xee, 0xbc, 0xe8, 0xf9, 0x5e, 0xef, 0x65, 0xaf,
0x73, 0xd4, 0xdb, 0x77, 0x72, 0x84, 0x80, 0x7d, 0x30, 0x3e, 0xea, 0xfa, 0xc3, 0xd3, 0xef, 0x8f,
0xfa, 0xa3, 0x83, 0xde, 0xbe, 0x93, 0x57, 0x9a, 0xa3, 0xd3, 0x6e, 0xb7, 0x37, 0x1a, 0x39, 0x05,
0x02, 0xb0, 0xfe, 0xbc, 0xd3, 0x57, 0xe4, 0x22, 0xd9, 0x84, 0x7a, 0xff, 0xe4, 0xe5, 0xa0, 0xdf,
0xed, 0xf9, 0xa3, 0xde, 0x78, 0xac, 0xc0, 0xb5, 0x27, 0x7f, 0xaf, 0xe9, 0xa1, 0xd9, 0xc5, 0x7f,
0x06, 0xc4, 0x83, 0x92, 0x79, 0xeb, 0xc9, 0xf6, 0xb5, 0x1f, 0x96, 0x5e, 0xff, 0xdd, 0x3b, 0x4b,
0x03, 0x70, 0xe1, 0x27, 0x77, 0xfb, 0xd7, 0x7f, 0xfe, 0xfb, 0x2d, 0xbf, 0xe1, 0x5a, 0xed, 0xb7,
0x8f, 0xdb, 0x8a, 0xd1, 0x8e, 0xe6, 0xf2, 0x59, 0x6e, 0x8f, 0x0c, 0x60, 0x5d, 0x3f, 0x51, 0x64,
0x6b, 0x49, 0x32, 0x7d, 0xb3, 0x3e, 0xa6, 0xb8, 0x85, 0x8a, 0x8e, 0x5b, 0x4d, 0x15, 0x03, 0xae,
0x04, 0xbf, 0x85, 0x92, 0x19, 0xfd, 0x99, 0x20, 0x97, 0x1f, 0x83, 0xdd, 0xcd, 0x95, 0x29, 0x3d,
0x17, 0xdf, 0xe4, 0xc8, 0x2b, 0xb0, 0x4c, 0x36, 0x38, 0xb9, 0xc8, 0xf5, 0xc9, 0xd9, 0xc9, 0xb6,
0xbb, 0x75, 0x13, 0x36, 0x11, 0xed, 0x62, 0x44, 0xb7, 0x09, 0xc9, 0xe6, 0xd8, 0x96, 0x28, 0xe5,
0xa7, 0xd2, 0x38, 0x2c, 0x32, 0xd2, 0xd9, 0x29, 0x95, 0x91, 0x5e, 0x9a, 0x29, 0x6e, 0x13, 0xa5,
0x77, 0x49, 0x63, 0x49, 0xfa, 0x8d, 0xe2, 0xb4, 0x7f, 0xa1, 0xa1, 0x7c, 0x4f, 0x7e, 0x04, 0xfb,
0x05, 0x93, 0xba, 0x72, 0x9f, 0x14, 0xfd, 0x0e, 0x1e, 0xb1, 0x49, 0x36, 0x32, 0xf5, 0x34, 0xc1,
0xff, 0x94, 0xd1, 0xfe, 0xa4, 0xf0, 0xef, 0xa1, 0xf6, 0x0e, 0xd9, 0xce, 0x6a, 0x67, 0xa3, 0x7f,
0x05, 0x35, 0x75, 0xc2, 0x62, 0x88, 0x88, 0x8c, 0x19, 0x96, 0x26, 0xd5, 0xee, 0xf6, 0x0a, 0xbe,
0x6c, 0x30, 0x52, 0xc7, 0x23, 0x04, 0x95, 0x6d, 0x3d, 0x9d, 0x5e, 0xaf, 0xe3, 0x1f, 0xd5, 0xa7,
0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xbc, 0xc2, 0x52, 0x9d, 0xdf, 0x0a, 0x00, 0x00,
// 1322 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x9c, 0x56, 0xcd, 0x72, 0x1a, 0xc7,
0x16, 0xf6, 0xc0, 0x20, 0xe0, 0x30, 0x0c, 0xa3, 0x96, 0x2d, 0x21, 0xee, 0x75, 0x19, 0xcf, 0xbd,
0x76, 0x88, 0x16, 0x26, 0xb6, 0x57, 0x71, 0x65, 0x43, 0x10, 0xb6, 0x50, 0x49, 0x82, 0x0c, 0xc8,
0x55, 0xce, 0x66, 0xd2, 0x86, 0x96, 0x34, 0x15, 0xa6, 0x67, 0x3c, 0xdd, 0xd8, 0x52, 0xa5, 0xbc,
0xc9, 0x2b, 0x64, 0x97, 0x65, 0xde, 0x20, 0x55, 0xd9, 0x65, 0x95, 0x67, 0xc8, 0x3e, 0xab, 0x3c,
0x48, 0xaa, 0x7f, 0x66, 0x34, 0x88, 0xd8, 0x0b, 0xef, 0xe0, 0xeb, 0xaf, 0xbf, 0x3e, 0xe7, 0xf4,
0x77, 0x4e, 0x0f, 0x58, 0xb3, 0x45, 0x40, 0x28, 0x7f, 0x14, 0x27, 0x11, 0x8f, 0x50, 0x79, 0x11,
0x45, 0x71, 0x12, 0xcf, 0x5a, 0xff, 0x3d, 0x8f, 0xa2, 0xf3, 0x05, 0xe9, 0xe2, 0x38, 0xe8, 0x62,
0x4a, 0x23, 0x8e, 0x79, 0x10, 0x51, 0xa6, 0x68, 0xee, 0xcf, 0x45, 0xb0, 0x8f, 0xa2, 0x28, 0x1e,
0x2d, 0xb9, 0x47, 0xde, 0x2c, 0x09, 0xe3, 0xc8, 0x81, 0x22, 0x0e, 0x79, 0xd3, 0x68, 0x1b, 0x9d,
0xa2, 0x27, 0x7e, 0x22, 0x04, 0xe6, 0x9c, 0x30, 0xde, 0x2c, 0xb4, 0x8d, 0x4e, 0xd5, 0x93, 0xbf,
0x51, 0x17, 0x6e, 0x87, 0xf8, 0xd2, 0x67, 0xef, 0x70, 0xec, 0x27, 0xd1, 0x92, 0x07, 0xf4, 0xdc,
0x3f, 0x23, 0xa4, 0x59, 0x94, 0xdb, 0x36, 0x43, 0x7c, 0x39, 0x79, 0x87, 0x63, 0x4f, 0xad, 0x3c,
0x27, 0x04, 0x3d, 0x85, 0x6d, 0xb1, 0x21, 0x4e, 0x48, 0x8c, 0xaf, 0x56, 0xb6, 0x98, 0x72, 0xcb,
0x56, 0x88, 0x2f, 0xc7, 0x72, 0x31, 0xb7, 0xa9, 0x0d, 0x56, 0x76, 0x8a, 0xa0, 0x96, 0x24, 0x15,
0xb4, 0xba, 0x60, 0xfc, 0x1f, 0xec, 0x9c, 0xac, 0x08, 0x7c, 0x43, 0x72, 0xac, 0x4c, 0xae, 0x17,
0x72, 0xe4, 0x42, 0x5d, 0xb0, 0xc2, 0x80, 0x92, 0x44, 0x0a, 0x95, 0x25, 0xa9, 0x16, 0xe2, 0xcb,
0x63, 0x81, 0x09, 0xa5, 0x0e, 0x38, 0xa2, 0x66, 0x7e, 0xb4, 0xe4, 0xfe, 0xec, 0x02, 0x53, 0x4a,
0x16, 0xcd, 0x4a, 0xdb, 0xe8, 0x98, 0x9e, 0xbd, 0x50, 0x15, 0xea, 0x2b, 0x14, 0xed, 0xc1, 0x26,
0x7b, 0x47, 0x48, 0xec, 0xcf, 0x22, 0x7a, 0xe6, 0x73, 0x9c, 0x9c, 0x13, 0xde, 0xac, 0xb6, 0x8d,
0x4e, 0xc9, 0x6b, 0xc8, 0x85, 0x7e, 0x44, 0xcf, 0xa6, 0x12, 0x46, 0xcf, 0x60, 0x57, 0x46, 0x1f,
0x2f, 0x5f, 0x2f, 0x82, 0x99, 0xac, 0xbd, 0x3f, 0x27, 0x78, 0xbe, 0x08, 0x28, 0x69, 0x82, 0x94,
0xdf, 0x11, 0x84, 0xf1, 0xf5, 0xfa, 0xbe, 0x5e, 0x76, 0x7f, 0x33, 0xa0, 0x2e, 0x2e, 0x67, 0x48,
0x3f, 0x7c, 0x37, 0x37, 0x2b, 0x54, 0x58, 0xab, 0xd0, 0x5a, 0xee, 0xc5, 0xf5, 0xdc, 0x1f, 0x42,
0x43, 0xe6, 0x1e, 0xd0, 0x2c, 0x75, 0x53, 0xc6, 0x56, 0x5f, 0xc8, 0xf3, 0xd3, 0xcc, 0xff, 0x07,
0x75, 0x72, 0xc9, 0x49, 0x42, 0xf1, 0xc2, 0xbf, 0xe0, 0x8b, 0x99, 0xbc, 0x90, 0x8a, 0x67, 0xa5,
0xe0, 0x01, 0x5f, 0xcc, 0xdc, 0x1e, 0x58, 0xf2, 0xee, 0x09, 0x8b, 0x23, 0xca, 0x08, 0xb2, 0xa1,
0x10, 0xcc, 0x65, 0xcc, 0x55, 0xaf, 0x10, 0xcc, 0xd1, 0x7d, 0xb0, 0xc4, 0x5e, 0x1f, 0xcf, 0xe7,
0x09, 0x61, 0x4c, 0xdb, 0xaa, 0x26, 0xb0, 0x9e, 0x82, 0x5c, 0x07, 0xec, 0xe3, 0x88, 0x06, 0x3c,
0x4a, 0x74, 0xe6, 0xee, 0x5f, 0x05, 0x00, 0xa1, 0x3a, 0xe1, 0x98, 0x2f, 0xd9, 0xbf, 0x14, 0x42,
0x9d, 0x52, 0xc8, 0x4e, 0x79, 0x00, 0x26, 0xbf, 0x8a, 0x55, 0xb6, 0xf6, 0x93, 0xcd, 0x47, 0xba,
0x1f, 0x1e, 0x09, 0x91, 0xe9, 0x55, 0x4c, 0x3c, 0xb9, 0x8c, 0x3a, 0x50, 0x62, 0x1c, 0x73, 0xe5,
0x42, 0xfb, 0x09, 0x5a, 0xe1, 0x89, 0xc3, 0x88, 0xa7, 0x08, 0xe8, 0x33, 0x68, 0x04, 0x34, 0xe0,
0x81, 0xba, 0x43, 0x1e, 0x84, 0xa9, 0x1d, 0xed, 0x6b, 0x78, 0x1a, 0x84, 0xca, 0x48, 0x98, 0x71,
0x7f, 0x19, 0xcf, 0x31, 0x27, 0x8a, 0xa9, 0x4c, 0x69, 0x0b, 0xfc, 0x54, 0xc2, 0x92, 0x79, 0xb3,
0x12, 0xe5, 0xb5, 0x4a, 0xa0, 0x7b, 0x50, 0x9b, 0x45, 0x8c, 0xfb, 0x8c, 0x24, 0x6f, 0x49, 0x22,
0x0d, 0x59, 0xf4, 0x40, 0x40, 0x13, 0x89, 0x08, 0x0d, 0x49, 0x88, 0xe8, 0xec, 0x02, 0x07, 0x54,
0xfa, 0xb0, 0xe8, 0xc9, 0x4d, 0x23, 0x05, 0x89, 0x5b, 0x53, 0x94, 0xb3, 0x33, 0xc5, 0x01, 0xd5,
0x22, 0x92, 0xa3, 0x31, 0xd7, 0x06, 0x6b, 0x4a, 0x92, 0x90, 0xa5, 0x05, 0x7f, 0x0f, 0x75, 0xfd,
0x5f, 0x5f, 0xe3, 0x43, 0x68, 0x84, 0x01, 0x55, 0x4e, 0xc3, 0x61, 0xb4, 0xa4, 0x5c, 0xe7, 0x5f,
0x0f, 0x03, 0x2a, 0xaa, 0xd5, 0x93, 0xa0, 0xe4, 0xa5, 0x8e, 0xd4, 0xbc, 0x0d, 0xcd, 0x53, 0xa6,
0x54, 0xbc, 0x43, 0xb3, 0x62, 0x38, 0x85, 0x43, 0xb3, 0x52, 0x70, 0x8a, 0x87, 0x66, 0xa5, 0xe8,
0x98, 0x87, 0x66, 0xc5, 0x74, 0x4a, 0x87, 0x66, 0xa5, 0xec, 0x54, 0xdc, 0x5f, 0x0c, 0xb0, 0xbe,
0x59, 0x46, 0x9c, 0x7c, 0xd8, 0xfa, 0xb2, 0x34, 0xd7, 0x0d, 0x58, 0x90, 0x0d, 0x08, 0xb3, 0xeb,
0xde, 0x5b, 0x73, 0x6b, 0x71, 0xdd, 0xad, 0x1f, 0x6f, 0x50, 0xf3, 0xe3, 0x0d, 0xfa, 0xab, 0x01,
0x75, 0x1d, 0xa4, 0x2e, 0xd2, 0x2e, 0x54, 0xb2, 0x56, 0x54, 0xa1, 0x96, 0x99, 0xee, 0xc3, 0xbb,
0x00, 0xb9, 0x29, 0xa5, 0xfa, 0xb4, 0x1a, 0x67, 0x23, 0xea, 0x3f, 0x50, 0xbd, 0xd9, 0xa2, 0x95,
0x30, 0xed, 0x4f, 0x39, 0x71, 0x44, 0x90, 0xf8, 0x2a, 0x24, 0x94, 0xfb, 0x72, 0x1c, 0x8b, 0xe0,
0x2c, 0x31, 0x71, 0x70, 0x3c, 0x56, 0xf8, 0xbe, 0x28, 0xd4, 0x5d, 0x80, 0xd9, 0x82, 0xbf, 0xf5,
0xe7, 0x64, 0xc1, 0xb1, 0xbc, 0xa2, 0x92, 0x57, 0x15, 0xc8, 0xbe, 0x00, 0xdc, 0x06, 0xd4, 0xa7,
0xd1, 0xf7, 0x84, 0x66, 0x17, 0xfd, 0x15, 0xd8, 0x29, 0xa0, 0x93, 0xd8, 0x83, 0x0d, 0x2e, 0x91,
0xa6, 0xd1, 0x2e, 0x76, 0x6a, 0xb9, 0xa6, 0x38, 0x62, 0x98, 0x4b, 0xb2, 0xa7, 0x19, 0xee, 0xef,
0x05, 0xa8, 0x66, 0xa8, 0xa8, 0xf8, 0x6b, 0xcc, 0x88, 0x1f, 0xe2, 0x19, 0x4e, 0xa2, 0x88, 0xca,
0x1a, 0x58, 0x9e, 0x25, 0xc0, 0x63, 0x8d, 0x09, 0xc7, 0xa6, 0x79, 0x5c, 0x60, 0x76, 0x21, 0x4b,
0x61, 0x79, 0x35, 0x8d, 0x1d, 0x60, 0x76, 0x81, 0x3e, 0x07, 0x27, 0xa5, 0xc4, 0x09, 0x09, 0x42,
0x7c, 0xae, 0x6a, 0x62, 0x79, 0x0d, 0x8d, 0x8f, 0x35, 0x2c, 0xba, 0x4d, 0xb9, 0xcc, 0x8f, 0x71,
0x30, 0xf7, 0x43, 0x86, 0xb9, 0x7e, 0x51, 0x6c, 0x85, 0x8f, 0x71, 0x30, 0x3f, 0x66, 0x98, 0xa3,
0xc7, 0x70, 0x27, 0xf7, 0xec, 0xe4, 0xe8, 0xca, 0xc6, 0x28, 0xc9, 0xde, 0x9d, 0x6c, 0xcb, 0x7d,
0xb0, 0x44, 0xfb, 0xfa, 0xb3, 0x84, 0x60, 0x4e, 0xe6, 0xda, 0xc8, 0x35, 0x81, 0xf5, 0x15, 0x84,
0x9a, 0x50, 0x26, 0x97, 0x71, 0x90, 0x90, 0xb9, 0x6c, 0xdf, 0x8a, 0x97, 0xfe, 0x15, 0x9b, 0x19,
0x8f, 0x12, 0x7c, 0x4e, 0x7c, 0x8a, 0x43, 0x22, 0x7b, 0xb7, 0xea, 0xd5, 0x34, 0x76, 0x82, 0x43,
0xb2, 0xf7, 0x00, 0x2a, 0xe9, 0x3c, 0x42, 0x16, 0x54, 0x8e, 0x46, 0xa3, 0xb1, 0x3f, 0x3a, 0x9d,
0x3a, 0xb7, 0x50, 0x0d, 0xca, 0xf2, 0xdf, 0xf0, 0xc4, 0x31, 0xf6, 0x18, 0x54, 0xb3, 0x71, 0x84,
0xea, 0x50, 0x1d, 0x9e, 0x0c, 0xa7, 0xc3, 0xde, 0x74, 0xb0, 0xef, 0xdc, 0x42, 0x77, 0x60, 0x73,
0xec, 0x0d, 0x86, 0xc7, 0xbd, 0x17, 0x03, 0xdf, 0x1b, 0xbc, 0x1c, 0xf4, 0x8e, 0x06, 0xfb, 0x8e,
0x81, 0x10, 0xd8, 0x07, 0xd3, 0xa3, 0xbe, 0x3f, 0x3e, 0xfd, 0xfa, 0x68, 0x38, 0x39, 0x18, 0xec,
0x3b, 0x05, 0xa1, 0x39, 0x39, 0xed, 0xf7, 0x07, 0x93, 0x89, 0x53, 0x44, 0x00, 0x1b, 0xcf, 0x7b,
0x43, 0x41, 0x36, 0xd1, 0x16, 0x34, 0x86, 0x27, 0x2f, 0x47, 0xc3, 0xfe, 0xc0, 0x9f, 0x0c, 0xa6,
0x53, 0x01, 0x96, 0x9e, 0xfc, 0x51, 0x52, 0x13, 0xb7, 0x2f, 0x3f, 0x2b, 0x90, 0x07, 0x65, 0xfd,
0xa1, 0x80, 0x76, 0xae, 0xfd, 0xb0, 0xf2, 0xe9, 0xd0, 0xba, 0xb3, 0x32, 0x3d, 0x53, 0x3f, 0xb9,
0x3b, 0x3f, 0xfe, 0xf9, 0xf7, 0x4f, 0x85, 0x4d, 0xd7, 0xea, 0xbe, 0x7d, 0xdc, 0x15, 0x8c, 0x6e,
0xb4, 0xe4, 0xcf, 0x8c, 0x3d, 0x34, 0x82, 0x0d, 0xf5, 0xbe, 0xa1, 0xed, 0x15, 0xc9, 0xec, 0xc1,
0xfb, 0x90, 0xe2, 0xb6, 0x54, 0x74, 0xdc, 0x5a, 0xa6, 0x18, 0x50, 0x21, 0xf8, 0x25, 0x94, 0xf5,
0xbb, 0x91, 0x0b, 0x72, 0xf5, 0x25, 0x69, 0x6d, 0xad, 0x8d, 0xf8, 0x25, 0xfb, 0xc2, 0x40, 0xaf,
0xc0, 0xd2, 0xd9, 0xc8, 0xb1, 0x87, 0xae, 0x4f, 0xce, 0x8f, 0xc5, 0xd6, 0xf6, 0x4d, 0x58, 0x47,
0xd4, 0x92, 0x11, 0xdd, 0x46, 0x28, 0x9f, 0x63, 0x97, 0x4b, 0x29, 0x3f, 0x93, 0x96, 0xc3, 0x22,
0x27, 0x9d, 0x9f, 0x70, 0x39, 0xe9, 0x95, 0x99, 0xe2, 0xb6, 0xa5, 0x74, 0x0b, 0x35, 0x57, 0xa4,
0xdf, 0x08, 0x4e, 0xf7, 0x07, 0x1c, 0xf2, 0xf7, 0xe8, 0x5b, 0xb0, 0x5f, 0x10, 0xae, 0x2a, 0xf7,
0x49, 0xd1, 0xef, 0xca, 0x23, 0xb6, 0xd0, 0x66, 0xae, 0x9e, 0x3a, 0xf8, 0xef, 0x72, 0xda, 0x9f,
0x14, 0xfe, 0x3d, 0xa9, 0xbd, 0x8b, 0x76, 0xf2, 0xda, 0xf9, 0xe8, 0x5f, 0x41, 0x5d, 0x9c, 0x90,
0x0e, 0x11, 0x96, 0x33, 0xc3, 0xca, 0xa4, 0x6a, 0xed, 0xac, 0xe1, 0xab, 0x06, 0x43, 0x0d, 0x79,
0x04, 0xc3, 0xbc, 0xab, 0xa6, 0xd3, 0xeb, 0x0d, 0xf9, 0x95, 0xfb, 0xf4, 0x9f, 0x00, 0x00, 0x00,
0xff, 0xff, 0x55, 0xbe, 0xbc, 0x0e, 0x1c, 0x0b, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.

@ -356,6 +356,15 @@ message QuoteRequest {
actor.
*/
bool external_htlc = 3;
/**
The latest time (in unix seconds) we allow the server to wait before
publishing the HTLC on chain. Setting this to a larger value will give the
server the opportunity to batch multiple swaps together, and wait for
low-fee periods before publishing the HTLC, potentially resulting in a
lower total swap fee.
*/
uint64 swap_publication_deadline = 4;
}
message QuoteResponse {

@ -78,6 +78,14 @@
"required": false,
"type": "boolean",
"format": "boolean"
},
{
"name": "swap_publication_deadline",
"description": "*\nThe latest time (in unix seconds) we allow the server to wait before\npublishing the HTLC on chain. Setting this to a larger value will give the\nserver the opportunity to batch multiple swaps together, and wait for\nlow-fee periods before publishing the HTLC, potentially resulting in a\nlower total swap fee.",
"in": "query",
"required": false,
"type": "string",
"format": "uint64"
}
],
"tags": [
@ -165,6 +173,14 @@
"required": false,
"type": "boolean",
"format": "boolean"
},
{
"name": "swap_publication_deadline",
"description": "*\nThe latest time (in unix seconds) we allow the server to wait before\npublishing the HTLC on chain. Setting this to a larger value will give the\nserver the opportunity to batch multiple swaps together, and wait for\nlow-fee periods before publishing the HTLC, potentially resulting in a\nlower total swap fee.",
"in": "query",
"required": false,
"type": "string",
"format": "uint64"
}
],
"tags": [

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

@ -42,6 +42,9 @@ message ServerLoopOutResponse {
message ServerLoopOutQuoteRequest {
/// The swap amount. If zero, a quote for a maximum amt swap will be given.
uint64 amt = 1;
/// The unix time in seconds we want the on-chain swap to be published by.
int64 swap_publication_deadline = 2;
}
message ServerLoopOutQuote {

@ -94,8 +94,8 @@ func (s *serverMock) GetLoopOutTerms(ctx context.Context) (
}, nil
}
func (s *serverMock) GetLoopOutQuote(ctx context.Context, amt btcutil.Amount) (
*LoopOutQuote, error) {
func (s *serverMock) GetLoopOutQuote(ctx context.Context, amt btcutil.Amount,
_ time.Time) (*LoopOutQuote, error) {
dest := [33]byte{1, 2, 3}

@ -22,7 +22,8 @@ type swapServerClient interface {
GetLoopOutTerms(ctx context.Context) (
*LoopOutTerms, error)
GetLoopOutQuote(ctx context.Context, amt btcutil.Amount) (
GetLoopOutQuote(ctx context.Context, amt btcutil.Amount,
swapPublicationDeadline time.Time) (
*LoopOutQuote, error)
GetLoopInTerms(ctx context.Context) (
@ -93,13 +94,15 @@ func (s *grpcSwapServerClient) GetLoopOutTerms(ctx context.Context) (
}
func (s *grpcSwapServerClient) GetLoopOutQuote(ctx context.Context,
amt btcutil.Amount) (*LoopOutQuote, error) {
amt btcutil.Amount, swapPublicationDeadline time.Time) (
*LoopOutQuote, error) {
rpcCtx, rpcCancel := context.WithTimeout(ctx, globalCallTimeout)
defer rpcCancel()
quoteResp, err := s.server.LoopOutQuote(rpcCtx,
&looprpc.ServerLoopOutQuoteRequest{
Amt: uint64(amt),
Amt: uint64(amt),
SwapPublicationDeadline: swapPublicationDeadline.Unix(),
},
)
if err != nil {

Loading…
Cancel
Save