// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v3.21.12
// source: client.proto

package looprpc

import (
	swapserverrpc "github.com/lightninglabs/loop/swapserverrpc"
	lnrpc "github.com/lightningnetwork/lnd/lnrpc"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// `AddressType` has to be one of:
//
// - `unknown`: Unknown address type
// - `p2tr`: Pay to taproot pubkey (`TAPROOT_PUBKEY` = 1)
type AddressType int32

const (
	AddressType_ADDRESS_TYPE_UNKNOWN AddressType = 0
	AddressType_TAPROOT_PUBKEY       AddressType = 1
)

// Enum value maps for AddressType.
var (
	AddressType_name = map[int32]string{
		0: "ADDRESS_TYPE_UNKNOWN",
		1: "TAPROOT_PUBKEY",
	}
	AddressType_value = map[string]int32{
		"ADDRESS_TYPE_UNKNOWN": 0,
		"TAPROOT_PUBKEY":       1,
	}
)

func (x AddressType) Enum() *AddressType {
	p := new(AddressType)
	*p = x
	return p
}

func (x AddressType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (AddressType) Descriptor() protoreflect.EnumDescriptor {
	return file_client_proto_enumTypes[0].Descriptor()
}

func (AddressType) Type() protoreflect.EnumType {
	return &file_client_proto_enumTypes[0]
}

func (x AddressType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use AddressType.Descriptor instead.
func (AddressType) EnumDescriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{0}
}

type SwapType int32

const (
	// LOOP_OUT indicates an loop out swap (off-chain to on-chain)
	SwapType_LOOP_OUT SwapType = 0
	// LOOP_IN indicates a loop in swap (on-chain to off-chain)
	SwapType_LOOP_IN SwapType = 1
)

// Enum value maps for SwapType.
var (
	SwapType_name = map[int32]string{
		0: "LOOP_OUT",
		1: "LOOP_IN",
	}
	SwapType_value = map[string]int32{
		"LOOP_OUT": 0,
		"LOOP_IN":  1,
	}
)

func (x SwapType) Enum() *SwapType {
	p := new(SwapType)
	*p = x
	return p
}

func (x SwapType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SwapType) Descriptor() protoreflect.EnumDescriptor {
	return file_client_proto_enumTypes[1].Descriptor()
}

func (SwapType) Type() protoreflect.EnumType {
	return &file_client_proto_enumTypes[1]
}

func (x SwapType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SwapType.Descriptor instead.
func (SwapType) EnumDescriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{1}
}

type SwapState int32

const (
	// INITIATED is the initial state of a swap. At that point, the initiation
	// call to the server has been made and the payment process has been started
	// for the swap and prepayment invoices.
	SwapState_INITIATED SwapState = 0
	// PREIMAGE_REVEALED is reached when the sweep tx publication is first
	// attempted. From that point on, we should consider the preimage to no
	// longer be secret and we need to do all we can to get the sweep confirmed.
	// This state will mostly coalesce with StateHtlcConfirmed, except in the
	// case where we wait for fees to come down before we sweep.
	SwapState_PREIMAGE_REVEALED SwapState = 1
	// HTLC_PUBLISHED is reached when the htlc tx has been published in a loop in
	// swap.
	SwapState_HTLC_PUBLISHED SwapState = 2
	// SUCCESS is the final swap state that is reached when the sweep tx has
	// the required confirmation depth.
	SwapState_SUCCESS SwapState = 3
	// FAILED is the final swap state for a failed swap with or without loss of
	// the swap amount.
	SwapState_FAILED SwapState = 4
	// INVOICE_SETTLED is reached when the swap invoice in a loop in swap has been
	// paid, but we are still waiting for the htlc spend to confirm.
	SwapState_INVOICE_SETTLED SwapState = 5
)

// Enum value maps for SwapState.
var (
	SwapState_name = map[int32]string{
		0: "INITIATED",
		1: "PREIMAGE_REVEALED",
		2: "HTLC_PUBLISHED",
		3: "SUCCESS",
		4: "FAILED",
		5: "INVOICE_SETTLED",
	}
	SwapState_value = map[string]int32{
		"INITIATED":         0,
		"PREIMAGE_REVEALED": 1,
		"HTLC_PUBLISHED":    2,
		"SUCCESS":           3,
		"FAILED":            4,
		"INVOICE_SETTLED":   5,
	}
)

func (x SwapState) Enum() *SwapState {
	p := new(SwapState)
	*p = x
	return p
}

func (x SwapState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SwapState) Descriptor() protoreflect.EnumDescriptor {
	return file_client_proto_enumTypes[2].Descriptor()
}

func (SwapState) Type() protoreflect.EnumType {
	return &file_client_proto_enumTypes[2]
}

func (x SwapState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SwapState.Descriptor instead.
func (SwapState) EnumDescriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{2}
}

type FailureReason int32

const (
	// FAILURE_REASON_NONE is set when the swap did not fail, it is either in
	// progress or succeeded.
	FailureReason_FAILURE_REASON_NONE FailureReason = 0
	// FAILURE_REASON_OFFCHAIN indicates that a loop out failed because it wasn't
	// possible to find a route for one or both off chain payments that met the fee
	// and timelock limits required.
	FailureReason_FAILURE_REASON_OFFCHAIN FailureReason = 1
	// FAILURE_REASON_TIMEOUT indicates that the swap failed because on chain htlc
	// did not confirm before its expiry, or it confirmed too late for us to reveal
	// our preimage and claim.
	FailureReason_FAILURE_REASON_TIMEOUT FailureReason = 2
	// FAILURE_REASON_SWEEP_TIMEOUT indicates that a loop out permanently failed
	// because the on chain htlc wasn't swept before the server revoked the
	// htlc.
	FailureReason_FAILURE_REASON_SWEEP_TIMEOUT FailureReason = 3
	// FAILURE_REASON_INSUFFICIENT_VALUE indicates that a loop out has failed
	// because the on chain htlc had a lower value than requested.
	FailureReason_FAILURE_REASON_INSUFFICIENT_VALUE FailureReason = 4
	// FAILURE_REASON_TEMPORARY indicates that a swap cannot continue due to an
	// internal error. Manual intervention such as a restart is required.
	FailureReason_FAILURE_REASON_TEMPORARY FailureReason = 5
	// FAILURE_REASON_INCORRECT_AMOUNT indicates that a loop in permanently failed
	// because the amount extended by an external loop in htlc is insufficient.
	FailureReason_FAILURE_REASON_INCORRECT_AMOUNT FailureReason = 6
	// FAILURE_REASON_ABANDONED indicates that a swap permanently failed because
	// the client manually abandoned the swap.
	FailureReason_FAILURE_REASON_ABANDONED FailureReason = 7
	// FAILURE_REASON_INSUFFICIENT_CONFIRMED_BALANCE indicates that a swap
	// wasn't published due to insufficient confirmed balance.
	FailureReason_FAILURE_REASON_INSUFFICIENT_CONFIRMED_BALANCE FailureReason = 8
	// FAILURE_REASON_INCORRECT_HTLC_AMT_SWEPT indicates that a swap
	// wasn't published due to insufficient confirmed balance.
	FailureReason_FAILURE_REASON_INCORRECT_HTLC_AMT_SWEPT FailureReason = 9
)

// Enum value maps for FailureReason.
var (
	FailureReason_name = map[int32]string{
		0: "FAILURE_REASON_NONE",
		1: "FAILURE_REASON_OFFCHAIN",
		2: "FAILURE_REASON_TIMEOUT",
		3: "FAILURE_REASON_SWEEP_TIMEOUT",
		4: "FAILURE_REASON_INSUFFICIENT_VALUE",
		5: "FAILURE_REASON_TEMPORARY",
		6: "FAILURE_REASON_INCORRECT_AMOUNT",
		7: "FAILURE_REASON_ABANDONED",
		8: "FAILURE_REASON_INSUFFICIENT_CONFIRMED_BALANCE",
		9: "FAILURE_REASON_INCORRECT_HTLC_AMT_SWEPT",
	}
	FailureReason_value = map[string]int32{
		"FAILURE_REASON_NONE":                           0,
		"FAILURE_REASON_OFFCHAIN":                       1,
		"FAILURE_REASON_TIMEOUT":                        2,
		"FAILURE_REASON_SWEEP_TIMEOUT":                  3,
		"FAILURE_REASON_INSUFFICIENT_VALUE":             4,
		"FAILURE_REASON_TEMPORARY":                      5,
		"FAILURE_REASON_INCORRECT_AMOUNT":               6,
		"FAILURE_REASON_ABANDONED":                      7,
		"FAILURE_REASON_INSUFFICIENT_CONFIRMED_BALANCE": 8,
		"FAILURE_REASON_INCORRECT_HTLC_AMT_SWEPT":       9,
	}
)

func (x FailureReason) Enum() *FailureReason {
	p := new(FailureReason)
	*p = x
	return p
}

func (x FailureReason) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (FailureReason) Descriptor() protoreflect.EnumDescriptor {
	return file_client_proto_enumTypes[3].Descriptor()
}

func (FailureReason) Type() protoreflect.EnumType {
	return &file_client_proto_enumTypes[3]
}

func (x FailureReason) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use FailureReason.Descriptor instead.
func (FailureReason) EnumDescriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{3}
}

type LiquidityRuleType int32

const (
	LiquidityRuleType_UNKNOWN   LiquidityRuleType = 0
	LiquidityRuleType_THRESHOLD LiquidityRuleType = 1
)

// Enum value maps for LiquidityRuleType.
var (
	LiquidityRuleType_name = map[int32]string{
		0: "UNKNOWN",
		1: "THRESHOLD",
	}
	LiquidityRuleType_value = map[string]int32{
		"UNKNOWN":   0,
		"THRESHOLD": 1,
	}
)

func (x LiquidityRuleType) Enum() *LiquidityRuleType {
	p := new(LiquidityRuleType)
	*p = x
	return p
}

func (x LiquidityRuleType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (LiquidityRuleType) Descriptor() protoreflect.EnumDescriptor {
	return file_client_proto_enumTypes[4].Descriptor()
}

func (LiquidityRuleType) Type() protoreflect.EnumType {
	return &file_client_proto_enumTypes[4]
}

func (x LiquidityRuleType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use LiquidityRuleType.Descriptor instead.
func (LiquidityRuleType) EnumDescriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{4}
}

type AutoReason int32

const (
	AutoReason_AUTO_REASON_UNKNOWN AutoReason = 0
	// Budget not started indicates that we do not recommend any swaps because
	// the start time for our budget has not arrived yet.
	AutoReason_AUTO_REASON_BUDGET_NOT_STARTED AutoReason = 1
	// Sweep fees indicates that the estimated fees to sweep swaps are too high
	// right now.
	AutoReason_AUTO_REASON_SWEEP_FEES AutoReason = 2
	// Budget elapsed indicates that the autoloop budget for the period has been
	// elapsed.
	AutoReason_AUTO_REASON_BUDGET_ELAPSED AutoReason = 3
	// In flight indicates that the limit on in-flight automatically dispatched
	// swaps has already been reached.
	AutoReason_AUTO_REASON_IN_FLIGHT AutoReason = 4
	// Swap fee indicates that the server fee for a specific swap is too high.
	AutoReason_AUTO_REASON_SWAP_FEE AutoReason = 5
	// Miner fee indicates that the miner fee for a specific swap is to high.
	AutoReason_AUTO_REASON_MINER_FEE AutoReason = 6
	// Prepay indicates that the prepay fee for a specific swap is too high.
	AutoReason_AUTO_REASON_PREPAY AutoReason = 7
	// Failure backoff indicates that a swap has recently failed for this target,
	// and the backoff period has not yet passed.
	AutoReason_AUTO_REASON_FAILURE_BACKOFF AutoReason = 8
	// Loop out indicates that a loop out swap is currently utilizing the channel,
	// so it is not eligible.
	AutoReason_AUTO_REASON_LOOP_OUT AutoReason = 9
	// Loop In indicates that a loop in swap is currently in flight for the peer,
	// so it is not eligible.
	AutoReason_AUTO_REASON_LOOP_IN AutoReason = 10
	// Liquidity ok indicates that a target meets the liquidity balance expressed
	// in its rule, so no swap is needed.
	AutoReason_AUTO_REASON_LIQUIDITY_OK AutoReason = 11
	// Budget insufficient indicates that we cannot perform a swap because we do
	// not have enough pending budget available. This differs from budget elapsed,
	// because we still have some budget available, but we have allocated it to
	// other swaps.
	AutoReason_AUTO_REASON_BUDGET_INSUFFICIENT AutoReason = 12
	// Fee insufficient indicates that the fee estimate for a swap is higher than
	// the portion of total swap amount that we allow fees to consume.
	AutoReason_AUTO_REASON_FEE_INSUFFICIENT AutoReason = 13
)

// Enum value maps for AutoReason.
var (
	AutoReason_name = map[int32]string{
		0:  "AUTO_REASON_UNKNOWN",
		1:  "AUTO_REASON_BUDGET_NOT_STARTED",
		2:  "AUTO_REASON_SWEEP_FEES",
		3:  "AUTO_REASON_BUDGET_ELAPSED",
		4:  "AUTO_REASON_IN_FLIGHT",
		5:  "AUTO_REASON_SWAP_FEE",
		6:  "AUTO_REASON_MINER_FEE",
		7:  "AUTO_REASON_PREPAY",
		8:  "AUTO_REASON_FAILURE_BACKOFF",
		9:  "AUTO_REASON_LOOP_OUT",
		10: "AUTO_REASON_LOOP_IN",
		11: "AUTO_REASON_LIQUIDITY_OK",
		12: "AUTO_REASON_BUDGET_INSUFFICIENT",
		13: "AUTO_REASON_FEE_INSUFFICIENT",
	}
	AutoReason_value = map[string]int32{
		"AUTO_REASON_UNKNOWN":             0,
		"AUTO_REASON_BUDGET_NOT_STARTED":  1,
		"AUTO_REASON_SWEEP_FEES":          2,
		"AUTO_REASON_BUDGET_ELAPSED":      3,
		"AUTO_REASON_IN_FLIGHT":           4,
		"AUTO_REASON_SWAP_FEE":            5,
		"AUTO_REASON_MINER_FEE":           6,
		"AUTO_REASON_PREPAY":              7,
		"AUTO_REASON_FAILURE_BACKOFF":     8,
		"AUTO_REASON_LOOP_OUT":            9,
		"AUTO_REASON_LOOP_IN":             10,
		"AUTO_REASON_LIQUIDITY_OK":        11,
		"AUTO_REASON_BUDGET_INSUFFICIENT": 12,
		"AUTO_REASON_FEE_INSUFFICIENT":    13,
	}
)

func (x AutoReason) Enum() *AutoReason {
	p := new(AutoReason)
	*p = x
	return p
}

func (x AutoReason) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (AutoReason) Descriptor() protoreflect.EnumDescriptor {
	return file_client_proto_enumTypes[5].Descriptor()
}

func (AutoReason) Type() protoreflect.EnumType {
	return &file_client_proto_enumTypes[5]
}

func (x AutoReason) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use AutoReason.Descriptor instead.
func (AutoReason) EnumDescriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{5}
}

type DepositState int32

const (
	// UNKNOWN_STATE is the default state of a deposit.
	DepositState_UNKNOWN_STATE DepositState = 0
	// DEPOSITED indicates that the deposit has been sufficiently confirmed on
	// chain.
	DepositState_DEPOSITED DepositState = 1
	// WITHDRAWING indicates that the deposit is currently being withdrawn. It
	// flips to WITHDRAWN once the withdrawal transaction has been sufficiently
	// confirmed.
	DepositState_WITHDRAWING DepositState = 2
	// WITHDRAWN indicates that the deposit has been withdrawn.
	DepositState_WITHDRAWN DepositState = 3
	// LOOPING_IN indicates that the deposit is currently being used in a static
	// address loop-in swap.
	DepositState_LOOPING_IN DepositState = 4
	// LOOPED_IN indicates that the deposit was used in a static address loop-in
	// swap.
	DepositState_LOOPED_IN DepositState = 5
	// SWEEP_HTLC_TIMEOUT indicates that the deposit is part of an active loop-in
	// of which the respective htlc was published by the server and the timeout
	// path has opened up for the client to sweep.
	DepositState_SWEEP_HTLC_TIMEOUT DepositState = 6
	// HTLC_TIMEOUT_SWEPT indicates that the timeout path of the htlc has been
	// swept by the client.
	DepositState_HTLC_TIMEOUT_SWEPT DepositState = 7
	// PUBLISH_EXPIRED indicates that the deposit has expired and the sweep
	// transaction has been published.
	DepositState_PUBLISH_EXPIRED DepositState = 8
	// WAIT_FOR_EXPIRY_SWEEP indicates that the deposit has expired and the sweep
	// transaction has not yet been sufficiently confirmed.
	DepositState_WAIT_FOR_EXPIRY_SWEEP DepositState = 9
	// EXPIRED indicates that the deposit has expired and the sweep transaction
	// has been sufficiently confirmed.
	DepositState_EXPIRED DepositState = 10
	// OPENING_CHANNEL indicates that the channel open in which the deposit was
	// used is in progress.
	DepositState_OPENING_CHANNEL DepositState = 11
	// CHANNEL_PUBLISHED indicates that the channel open was finalized and
	// published and that it should be managed from lnd from now on.
	DepositState_CHANNEL_PUBLISHED DepositState = 12
)

// Enum value maps for DepositState.
var (
	DepositState_name = map[int32]string{
		0:  "UNKNOWN_STATE",
		1:  "DEPOSITED",
		2:  "WITHDRAWING",
		3:  "WITHDRAWN",
		4:  "LOOPING_IN",
		5:  "LOOPED_IN",
		6:  "SWEEP_HTLC_TIMEOUT",
		7:  "HTLC_TIMEOUT_SWEPT",
		8:  "PUBLISH_EXPIRED",
		9:  "WAIT_FOR_EXPIRY_SWEEP",
		10: "EXPIRED",
		11: "OPENING_CHANNEL",
		12: "CHANNEL_PUBLISHED",
	}
	DepositState_value = map[string]int32{
		"UNKNOWN_STATE":         0,
		"DEPOSITED":             1,
		"WITHDRAWING":           2,
		"WITHDRAWN":             3,
		"LOOPING_IN":            4,
		"LOOPED_IN":             5,
		"SWEEP_HTLC_TIMEOUT":    6,
		"HTLC_TIMEOUT_SWEPT":    7,
		"PUBLISH_EXPIRED":       8,
		"WAIT_FOR_EXPIRY_SWEEP": 9,
		"EXPIRED":               10,
		"OPENING_CHANNEL":       11,
		"CHANNEL_PUBLISHED":     12,
	}
)

func (x DepositState) Enum() *DepositState {
	p := new(DepositState)
	*p = x
	return p
}

func (x DepositState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (DepositState) Descriptor() protoreflect.EnumDescriptor {
	return file_client_proto_enumTypes[6].Descriptor()
}

func (DepositState) Type() protoreflect.EnumType {
	return &file_client_proto_enumTypes[6]
}

func (x DepositState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use DepositState.Descriptor instead.
func (DepositState) EnumDescriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{6}
}

type StaticAddressLoopInSwapState int32

const (
	StaticAddressLoopInSwapState_UNKNOWN_STATIC_ADDRESS_SWAP_STATE StaticAddressLoopInSwapState = 0
	StaticAddressLoopInSwapState_INIT_HTLC StaticAddressLoopInSwapState = 1
	StaticAddressLoopInSwapState_SIGN_HTLC_TX StaticAddressLoopInSwapState = 2
	StaticAddressLoopInSwapState_MONITOR_INVOICE_HTLC_TX StaticAddressLoopInSwapState = 3
	StaticAddressLoopInSwapState_PAYMENT_RECEIVED StaticAddressLoopInSwapState = 4
	StaticAddressLoopInSwapState_SWEEP_STATIC_ADDRESS_HTLC_TIMEOUT StaticAddressLoopInSwapState = 5
	StaticAddressLoopInSwapState_MONITOR_HTLC_TIMEOUT_SWEEP StaticAddressLoopInSwapState = 6
	StaticAddressLoopInSwapState_HTLC_STATIC_ADDRESS_TIMEOUT_SWEPT StaticAddressLoopInSwapState = 7
	StaticAddressLoopInSwapState_SUCCEEDED StaticAddressLoopInSwapState = 8
	StaticAddressLoopInSwapState_SUCCEEDED_TRANSITIONING_FAILED StaticAddressLoopInSwapState = 9
	StaticAddressLoopInSwapState_UNLOCK_DEPOSITS StaticAddressLoopInSwapState = 10
	StaticAddressLoopInSwapState_FAILED_STATIC_ADDRESS_SWAP StaticAddressLoopInSwapState = 11
)

// Enum value maps for StaticAddressLoopInSwapState.
var (
	StaticAddressLoopInSwapState_name = map[int32]string{
		0:  "UNKNOWN_STATIC_ADDRESS_SWAP_STATE",
		1:  "INIT_HTLC",
		2:  "SIGN_HTLC_TX",
		3:  "MONITOR_INVOICE_HTLC_TX",
		4:  "PAYMENT_RECEIVED",
		5:  "SWEEP_STATIC_ADDRESS_HTLC_TIMEOUT",
		6:  "MONITOR_HTLC_TIMEOUT_SWEEP",
		7:  "HTLC_STATIC_ADDRESS_TIMEOUT_SWEPT",
		8:  "SUCCEEDED",
		9:  "SUCCEEDED_TRANSITIONING_FAILED",
		10: "UNLOCK_DEPOSITS",
		11: "FAILED_STATIC_ADDRESS_SWAP",
	}
	StaticAddressLoopInSwapState_value = map[string]int32{
		"UNKNOWN_STATIC_ADDRESS_SWAP_STATE": 0,
		"INIT_HTLC":                         1,
		"SIGN_HTLC_TX":                      2,
		"MONITOR_INVOICE_HTLC_TX":           3,
		"PAYMENT_RECEIVED":                  4,
		"SWEEP_STATIC_ADDRESS_HTLC_TIMEOUT": 5,
		"MONITOR_HTLC_TIMEOUT_SWEEP":        6,
		"HTLC_STATIC_ADDRESS_TIMEOUT_SWEPT": 7,
		"SUCCEEDED":                         8,
		"SUCCEEDED_TRANSITIONING_FAILED":    9,
		"UNLOCK_DEPOSITS":                   10,
		"FAILED_STATIC_ADDRESS_SWAP":        11,
	}
)

func (x StaticAddressLoopInSwapState) Enum() *StaticAddressLoopInSwapState {
	p := new(StaticAddressLoopInSwapState)
	*p = x
	return p
}

func (x StaticAddressLoopInSwapState) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (StaticAddressLoopInSwapState) Descriptor() protoreflect.EnumDescriptor {
	return file_client_proto_enumTypes[7].Descriptor()
}

func (StaticAddressLoopInSwapState) Type() protoreflect.EnumType {
	return &file_client_proto_enumTypes[7]
}

func (x StaticAddressLoopInSwapState) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use StaticAddressLoopInSwapState.Descriptor instead.
func (StaticAddressLoopInSwapState) EnumDescriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{7}
}

type ListSwapsFilter_SwapTypeFilter int32

const (
	// ANY indicates that no filter is applied.
	ListSwapsFilter_ANY ListSwapsFilter_SwapTypeFilter = 0
	// LOOP_OUT indicates an loop out swap (off-chain to on-chain).
	ListSwapsFilter_LOOP_OUT ListSwapsFilter_SwapTypeFilter = 1
	// LOOP_IN indicates a loop in swap (on-chain to off-chain).
	ListSwapsFilter_LOOP_IN ListSwapsFilter_SwapTypeFilter = 2
)

// Enum value maps for ListSwapsFilter_SwapTypeFilter.
var (
	ListSwapsFilter_SwapTypeFilter_name = map[int32]string{
		0: "ANY",
		1: "LOOP_OUT",
		2: "LOOP_IN",
	}
	ListSwapsFilter_SwapTypeFilter_value = map[string]int32{
		"ANY":      0,
		"LOOP_OUT": 1,
		"LOOP_IN":  2,
	}
)

func (x ListSwapsFilter_SwapTypeFilter) Enum() *ListSwapsFilter_SwapTypeFilter {
	p := new(ListSwapsFilter_SwapTypeFilter)
	*p = x
	return p
}

func (x ListSwapsFilter_SwapTypeFilter) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ListSwapsFilter_SwapTypeFilter) Descriptor() protoreflect.EnumDescriptor {
	return file_client_proto_enumTypes[8].Descriptor()
}

func (ListSwapsFilter_SwapTypeFilter) Type() protoreflect.EnumType {
	return &file_client_proto_enumTypes[8]
}

func (x ListSwapsFilter_SwapTypeFilter) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ListSwapsFilter_SwapTypeFilter.Descriptor instead.
func (ListSwapsFilter_SwapTypeFilter) EnumDescriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{10, 0}
}

type StaticOpenChannelRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Wrap lnd's request so Loop can extend this RPC with Loop-specific fields
	// without diverging from the upstream API surface.
	OpenChannelRequest *lnrpc.OpenChannelRequest `protobuf:"bytes,1,opt,name=open_channel_request,json=openChannelRequest,proto3" json:"open_channel_request,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *StaticOpenChannelRequest) Reset() {
	*x = StaticOpenChannelRequest{}
	mi := &file_client_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StaticOpenChannelRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StaticOpenChannelRequest) ProtoMessage() {}

func (x *StaticOpenChannelRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StaticOpenChannelRequest.ProtoReflect.Descriptor instead.
func (*StaticOpenChannelRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{0}
}

func (x *StaticOpenChannelRequest) GetOpenChannelRequest() *lnrpc.OpenChannelRequest {
	if x != nil {
		return x.OpenChannelRequest
	}
	return nil
}

type StaticOpenChannelResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The outpoint of the channel opening transaction in the format
	// "txid:output_index".
	ChannelOpenOutpoint string `protobuf:"bytes,1,opt,name=channel_open_outpoint,json=channelOpenOutpoint,proto3" json:"channel_open_outpoint,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *StaticOpenChannelResponse) Reset() {
	*x = StaticOpenChannelResponse{}
	mi := &file_client_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StaticOpenChannelResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StaticOpenChannelResponse) ProtoMessage() {}

func (x *StaticOpenChannelResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StaticOpenChannelResponse.ProtoReflect.Descriptor instead.
func (*StaticOpenChannelResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{1}
}

func (x *StaticOpenChannelResponse) GetChannelOpenOutpoint() string {
	if x != nil {
		return x.ChannelOpenOutpoint
	}
	return ""
}

type StopDaemonRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StopDaemonRequest) Reset() {
	*x = StopDaemonRequest{}
	mi := &file_client_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StopDaemonRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StopDaemonRequest) ProtoMessage() {}

func (x *StopDaemonRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StopDaemonRequest.ProtoReflect.Descriptor instead.
func (*StopDaemonRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{2}
}

type StopDaemonResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StopDaemonResponse) Reset() {
	*x = StopDaemonResponse{}
	mi := &file_client_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StopDaemonResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StopDaemonResponse) ProtoMessage() {}

func (x *StopDaemonResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StopDaemonResponse.ProtoReflect.Descriptor instead.
func (*StopDaemonResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{3}
}

type LoopOutRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Requested swap amount in sat. This does not include the swap and miner fee.
	Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"`
	// Base58 encoded destination address for the swap.
	Dest string `protobuf:"bytes,2,opt,name=dest,proto3" json:"dest,omitempty"`
	// Maximum off-chain fee in sat that may be paid for swap payment to the
	// server. This limit is applied during path finding. Typically this value is
	// taken from the response of the GetQuote call.
	MaxSwapRoutingFee int64 `protobuf:"varint,3,opt,name=max_swap_routing_fee,json=maxSwapRoutingFee,proto3" json:"max_swap_routing_fee,omitempty"`
	// Maximum off-chain fee in sat that may be paid for the prepay to the server.
	// This limit is applied during path finding. Typically this value is taken
	// from the response of the GetQuote call.
	MaxPrepayRoutingFee int64 `protobuf:"varint,4,opt,name=max_prepay_routing_fee,json=maxPrepayRoutingFee,proto3" json:"max_prepay_routing_fee,omitempty"`
	// Maximum we are willing to pay the server for the swap. This value is not
	// disclosed in the swap initiation call, but if the server asks for a
	// higher fee, we abort the swap. Typically this value is taken from the
	// response of the GetQuote call. It includes the prepay amount.
	MaxSwapFee int64 `protobuf:"varint,5,opt,name=max_swap_fee,json=maxSwapFee,proto3" json:"max_swap_fee,omitempty"`
	// Maximum amount of the swap fee that may be charged as a prepayment.
	MaxPrepayAmt int64 `protobuf:"varint,6,opt,name=max_prepay_amt,json=maxPrepayAmt,proto3" json:"max_prepay_amt,omitempty"`
	// Maximum in on-chain fees that we are willing to spend. If we want to
	// sweep the on-chain htlc and the fee estimate turns out higher than this
	// value, we cancel the swap. If the fee estimate is lower, we publish the
	// sweep tx.
	//
	// If the sweep tx is not confirmed, we are forced to ratchet up fees until it
	// is swept. Possibly even exceeding max_miner_fee if we get close to the htlc
	// timeout. Because the initial publication revealed the preimage, we have no
	// other choice. The server may already have pulled the off-chain htlc. Only
	// when the fee becomes higher than the swap amount, we can only wait for fees
	// to come down and hope - if we are past the timeout - that the server is not
	// publishing the revocation.
	//
	// max_miner_fee is typically taken from the response of the GetQuote call.
	MaxMinerFee int64 `protobuf:"varint,7,opt,name=max_miner_fee,json=maxMinerFee,proto3" json:"max_miner_fee,omitempty"`
	// Deprecated, use outgoing_chan_set. The channel to loop out, the channel
	// to loop out is selected based on the lowest routing fee for the swap
	// payment to the server.
	//
	// Deprecated: Marked as deprecated in client.proto.
	LoopOutChannel uint64 `protobuf:"varint,8,opt,name=loop_out_channel,json=loopOutChannel,proto3" json:"loop_out_channel,omitempty"`
	// A restriction on the channel set that may be used to loop out. The actual
	// channel(s) that will be used are selected based on the lowest routing fee
	// for the swap payment to the server.
	OutgoingChanSet []uint64 `protobuf:"varint,11,rep,packed,name=outgoing_chan_set,json=outgoingChanSet,proto3" json:"outgoing_chan_set,omitempty"`
	// The number of blocks from the on-chain HTLC's confirmation height that it
	// should be swept within.
	SweepConfTarget int32 `protobuf:"varint,9,opt,name=sweep_conf_target,json=sweepConfTarget,proto3" json:"sweep_conf_target,omitempty"`
	// The number of confirmations that we require for the on chain htlc that will
	// be published by the server before we reveal the preimage.
	HtlcConfirmations int32 `protobuf:"varint,13,opt,name=htlc_confirmations,json=htlcConfirmations,proto3" json:"htlc_confirmations,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,10,opt,name=swap_publication_deadline,json=swapPublicationDeadline,proto3" json:"swap_publication_deadline,omitempty"`
	// An optional label for this swap. This field is limited to 500 characters
	// and may not start with the prefix [reserved], which is used to tag labels
	// produced by the daemon.
	Label string `protobuf:"bytes,12,opt,name=label,proto3" json:"label,omitempty"`
	// An optional identification string that will be appended to the user agent
	// string sent to the server to give information about the usage of loop. This
	// initiator part is meant for user interfaces to add their name to give the
	// full picture of the binary used (loopd, LiT) and the method used for
	// triggering the swap (loop CLI, autolooper, LiT UI, other 3rd party UI).
	Initiator string `protobuf:"bytes,14,opt,name=initiator,proto3" json:"initiator,omitempty"`
	// An alternative destination address source for the swap. This field
	// represents the name of the account in the backing lnd instance.
	// Refer to lnd's wallet import functions for reference.
	Account string `protobuf:"bytes,15,opt,name=account,proto3" json:"account,omitempty"`
	// The address type of the account specified in the account field.
	AccountAddrType AddressType `protobuf:"varint,16,opt,name=account_addr_type,json=accountAddrType,proto3,enum=looprpc.AddressType" json:"account_addr_type,omitempty"`
	// A flag indicating whether the defined destination address does not belong to
	// the wallet. This is used to flag whether this loop out swap could have its
	// associated sweep batched.
	IsExternalAddr bool `protobuf:"varint,17,opt,name=is_external_addr,json=isExternalAddr,proto3" json:"is_external_addr,omitempty"`
	// The reservations to use for the swap. If this field is set, loop will try
	// to use the instant out flow using the given reservations. If the
	// reservations are not sufficient, the swap will fail. The swap amount must
	// be equal to the sum of the amounts of the reservations.
	ReservationIds [][]byte `protobuf:"bytes,18,rep,name=reservation_ids,json=reservationIds,proto3" json:"reservation_ids,omitempty"`
	// The timeout in seconds to use for off-chain payments. Note that the swap
	// payment is attempted multiple times where each attempt will set this value
	// as the timeout for the payment.
	PaymentTimeout uint32 `protobuf:"varint,19,opt,name=payment_timeout,json=paymentTimeout,proto3" json:"payment_timeout,omitempty"`
	// The optional asset information to use for the swap. If set, the swap will
	// be paid in the specified asset using the provided edge node. An Asset client
	// must be connected to the loop client to use this feature.
	AssetInfo *AssetLoopOutRequest `protobuf:"bytes,20,opt,name=asset_info,json=assetInfo,proto3" json:"asset_info,omitempty"`
	// The optional RFQ information to use for the swap. If set, the swap will
	// use the provided RFQs to pay for the swap invoice.
	AssetRfqInfo  *AssetRfqInfo `protobuf:"bytes,21,opt,name=asset_rfq_info,json=assetRfqInfo,proto3" json:"asset_rfq_info,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LoopOutRequest) Reset() {
	*x = LoopOutRequest{}
	mi := &file_client_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LoopOutRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LoopOutRequest) ProtoMessage() {}

func (x *LoopOutRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LoopOutRequest.ProtoReflect.Descriptor instead.
func (*LoopOutRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{4}
}

func (x *LoopOutRequest) GetAmt() int64 {
	if x != nil {
		return x.Amt
	}
	return 0
}

func (x *LoopOutRequest) GetDest() string {
	if x != nil {
		return x.Dest
	}
	return ""
}

func (x *LoopOutRequest) GetMaxSwapRoutingFee() int64 {
	if x != nil {
		return x.MaxSwapRoutingFee
	}
	return 0
}

func (x *LoopOutRequest) GetMaxPrepayRoutingFee() int64 {
	if x != nil {
		return x.MaxPrepayRoutingFee
	}
	return 0
}

func (x *LoopOutRequest) GetMaxSwapFee() int64 {
	if x != nil {
		return x.MaxSwapFee
	}
	return 0
}

func (x *LoopOutRequest) GetMaxPrepayAmt() int64 {
	if x != nil {
		return x.MaxPrepayAmt
	}
	return 0
}

func (x *LoopOutRequest) GetMaxMinerFee() int64 {
	if x != nil {
		return x.MaxMinerFee
	}
	return 0
}

// Deprecated: Marked as deprecated in client.proto.
func (x *LoopOutRequest) GetLoopOutChannel() uint64 {
	if x != nil {
		return x.LoopOutChannel
	}
	return 0
}

func (x *LoopOutRequest) GetOutgoingChanSet() []uint64 {
	if x != nil {
		return x.OutgoingChanSet
	}
	return nil
}

func (x *LoopOutRequest) GetSweepConfTarget() int32 {
	if x != nil {
		return x.SweepConfTarget
	}
	return 0
}

func (x *LoopOutRequest) GetHtlcConfirmations() int32 {
	if x != nil {
		return x.HtlcConfirmations
	}
	return 0
}

func (x *LoopOutRequest) GetSwapPublicationDeadline() uint64 {
	if x != nil {
		return x.SwapPublicationDeadline
	}
	return 0
}

func (x *LoopOutRequest) GetLabel() string {
	if x != nil {
		return x.Label
	}
	return ""
}

func (x *LoopOutRequest) GetInitiator() string {
	if x != nil {
		return x.Initiator
	}
	return ""
}

func (x *LoopOutRequest) GetAccount() string {
	if x != nil {
		return x.Account
	}
	return ""
}

func (x *LoopOutRequest) GetAccountAddrType() AddressType {
	if x != nil {
		return x.AccountAddrType
	}
	return AddressType_ADDRESS_TYPE_UNKNOWN
}

func (x *LoopOutRequest) GetIsExternalAddr() bool {
	if x != nil {
		return x.IsExternalAddr
	}
	return false
}

func (x *LoopOutRequest) GetReservationIds() [][]byte {
	if x != nil {
		return x.ReservationIds
	}
	return nil
}

func (x *LoopOutRequest) GetPaymentTimeout() uint32 {
	if x != nil {
		return x.PaymentTimeout
	}
	return 0
}

func (x *LoopOutRequest) GetAssetInfo() *AssetLoopOutRequest {
	if x != nil {
		return x.AssetInfo
	}
	return nil
}

func (x *LoopOutRequest) GetAssetRfqInfo() *AssetRfqInfo {
	if x != nil {
		return x.AssetRfqInfo
	}
	return nil
}

type LoopInRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Requested swap amount in sat. This does not include the swap and miner
	// fee.
	Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"`
	// Maximum we are willing to pay the server for the swap. This value is not
	// disclosed in the swap initiation call, but if the server asks for a
	// higher fee, we abort the swap. Typically this value is taken from the
	// response of the GetQuote call.
	MaxSwapFee int64 `protobuf:"varint,2,opt,name=max_swap_fee,json=maxSwapFee,proto3" json:"max_swap_fee,omitempty"`
	// Maximum in on-chain fees that we are willing to spend. If we want to
	// publish the on-chain htlc and the fee estimate turns out higher than this
	// value, we cancel the swap.
	//
	// max_miner_fee is typically taken from the response of the GetQuote call.
	MaxMinerFee int64 `protobuf:"varint,3,opt,name=max_miner_fee,json=maxMinerFee,proto3" json:"max_miner_fee,omitempty"`
	// The last hop to use for the loop in swap. If empty, the last hop is selected
	// based on the lowest routing fee for the swap payment from the server.
	LastHop []byte `protobuf:"bytes,4,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"`
	// If external_htlc is true, we expect the htlc to be published by an external
	// actor.
	ExternalHtlc bool `protobuf:"varint,5,opt,name=external_htlc,json=externalHtlc,proto3" json:"external_htlc,omitempty"`
	// The number of blocks that the on chain htlc should confirm within.
	HtlcConfTarget int32 `protobuf:"varint,6,opt,name=htlc_conf_target,json=htlcConfTarget,proto3" json:"htlc_conf_target,omitempty"`
	// An optional label for this swap. This field is limited to 500 characters
	// and may not be one of the reserved values in loop/labels Reserved list.
	Label string `protobuf:"bytes,7,opt,name=label,proto3" json:"label,omitempty"`
	// An optional identification string that will be appended to the user agent
	// string sent to the server to give information about the usage of loop. This
	// initiator part is meant for user interfaces to add their name to give the
	// full picture of the binary used (loopd, LiT) and the method used for
	// triggering the swap (loop CLI, autolooper, LiT UI, other 3rd party UI).
	Initiator string `protobuf:"bytes,8,opt,name=initiator,proto3" json:"initiator,omitempty"`
	// Optional route hints to reach the destination through private channels.
	RouteHints []*swapserverrpc.RouteHint `protobuf:"bytes,9,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"`
	// Private indicates whether the destination node should be considered
	// private. In which case, loop will generate hophints to assist with
	// probing and payment.
	Private       bool `protobuf:"varint,10,opt,name=private,proto3" json:"private,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LoopInRequest) Reset() {
	*x = LoopInRequest{}
	mi := &file_client_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LoopInRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LoopInRequest) ProtoMessage() {}

func (x *LoopInRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LoopInRequest.ProtoReflect.Descriptor instead.
func (*LoopInRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{5}
}

func (x *LoopInRequest) GetAmt() int64 {
	if x != nil {
		return x.Amt
	}
	return 0
}

func (x *LoopInRequest) GetMaxSwapFee() int64 {
	if x != nil {
		return x.MaxSwapFee
	}
	return 0
}

func (x *LoopInRequest) GetMaxMinerFee() int64 {
	if x != nil {
		return x.MaxMinerFee
	}
	return 0
}

func (x *LoopInRequest) GetLastHop() []byte {
	if x != nil {
		return x.LastHop
	}
	return nil
}

func (x *LoopInRequest) GetExternalHtlc() bool {
	if x != nil {
		return x.ExternalHtlc
	}
	return false
}

func (x *LoopInRequest) GetHtlcConfTarget() int32 {
	if x != nil {
		return x.HtlcConfTarget
	}
	return 0
}

func (x *LoopInRequest) GetLabel() string {
	if x != nil {
		return x.Label
	}
	return ""
}

func (x *LoopInRequest) GetInitiator() string {
	if x != nil {
		return x.Initiator
	}
	return ""
}

func (x *LoopInRequest) GetRouteHints() []*swapserverrpc.RouteHint {
	if x != nil {
		return x.RouteHints
	}
	return nil
}

func (x *LoopInRequest) GetPrivate() bool {
	if x != nil {
		return x.Private
	}
	return false
}

type SwapResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Swap identifier to track status in the update stream that is returned from
	// the Start() call. Currently this is the hash that locks the htlcs.
	// DEPRECATED: To make the API more consistent, this field is deprecated in
	// favor of id_bytes and will be removed in a future release.
	//
	// Deprecated: Marked as deprecated in client.proto.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Swap identifier to track status in the update stream that is returned from
	// the Start() call. Currently this is the hash that locks the htlcs.
	IdBytes []byte `protobuf:"bytes,3,opt,name=id_bytes,json=idBytes,proto3" json:"id_bytes,omitempty"`
	// DEPRECATED. This field stores the address of the onchain htlc, but
	// depending on the request, the semantics are different.
	// - For internal loop-in htlc_address contains the address of the
	// native segwit (P2WSH) htlc.
	// /    - For loop-out htlc_address always contains the native segwit (P2WSH)
	// htlc address.
	//
	// Deprecated: Marked as deprecated in client.proto.
	HtlcAddress string `protobuf:"bytes,2,opt,name=htlc_address,json=htlcAddress,proto3" json:"htlc_address,omitempty"`
	// The native segwit address of the on-chain htlc.
	// Used for both loop-in and loop-out.
	HtlcAddressP2Wsh string `protobuf:"bytes,5,opt,name=htlc_address_p2wsh,json=htlcAddressP2wsh,proto3" json:"htlc_address_p2wsh,omitempty"`
	// The address of the v3 (taproot) htlc. Used for both loop-in and loop-out.
	HtlcAddressP2Tr string `protobuf:"bytes,7,opt,name=htlc_address_p2tr,json=htlcAddressP2tr,proto3" json:"htlc_address_p2tr,omitempty"`
	// A human-readable message received from the loop server.
	ServerMessage string `protobuf:"bytes,6,opt,name=server_message,json=serverMessage,proto3" json:"server_message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SwapResponse) Reset() {
	*x = SwapResponse{}
	mi := &file_client_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SwapResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SwapResponse) ProtoMessage() {}

func (x *SwapResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SwapResponse.ProtoReflect.Descriptor instead.
func (*SwapResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{6}
}

// Deprecated: Marked as deprecated in client.proto.
func (x *SwapResponse) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *SwapResponse) GetIdBytes() []byte {
	if x != nil {
		return x.IdBytes
	}
	return nil
}

// Deprecated: Marked as deprecated in client.proto.
func (x *SwapResponse) GetHtlcAddress() string {
	if x != nil {
		return x.HtlcAddress
	}
	return ""
}

func (x *SwapResponse) GetHtlcAddressP2Wsh() string {
	if x != nil {
		return x.HtlcAddressP2Wsh
	}
	return ""
}

func (x *SwapResponse) GetHtlcAddressP2Tr() string {
	if x != nil {
		return x.HtlcAddressP2Tr
	}
	return ""
}

func (x *SwapResponse) GetServerMessage() string {
	if x != nil {
		return x.ServerMessage
	}
	return ""
}

type MonitorRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *MonitorRequest) Reset() {
	*x = MonitorRequest{}
	mi := &file_client_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *MonitorRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MonitorRequest) ProtoMessage() {}

func (x *MonitorRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MonitorRequest.ProtoReflect.Descriptor instead.
func (*MonitorRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{7}
}

type SwapStatus struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Requested swap amount in sat. This does not include the swap and miner
	// fee.
	Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"`
	// Swap identifier to track status in the update stream that is returned from
	// the Start() call. Currently this is the hash that locks the htlcs.
	// DEPRECATED: To make the API more consistent, this field is deprecated in
	// favor of id_bytes and will be removed in a future release.
	//
	// Deprecated: Marked as deprecated in client.proto.
	Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	// Swap identifier to track status in the update stream that is returned from
	// the Start() call. Currently this is the hash that locks the htlcs.
	IdBytes []byte `protobuf:"bytes,11,opt,name=id_bytes,json=idBytes,proto3" json:"id_bytes,omitempty"`
	// The type of the swap.
	Type SwapType `protobuf:"varint,3,opt,name=type,proto3,enum=looprpc.SwapType" json:"type,omitempty"`
	// State the swap is currently in, see State enum.
	State SwapState `protobuf:"varint,4,opt,name=state,proto3,enum=looprpc.SwapState" json:"state,omitempty"`
	// A failure reason for the swap, only set if the swap has failed.
	FailureReason FailureReason `protobuf:"varint,14,opt,name=failure_reason,json=failureReason,proto3,enum=looprpc.FailureReason" json:"failure_reason,omitempty"`
	// Initiation time of the swap.
	InitiationTime int64 `protobuf:"varint,5,opt,name=initiation_time,json=initiationTime,proto3" json:"initiation_time,omitempty"`
	// Initiation time of the swap.
	LastUpdateTime int64 `protobuf:"varint,6,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"`
	// DEPRECATED:  This field stores the address of the onchain htlc.
	// - For internal loop-in htlc_address contains the address of the
	// native segwit (P2WSH) htlc.
	// - For loop-out htlc_address always contains the native segwit (P2WSH)
	// htlc address.
	//
	// Deprecated: Marked as deprecated in client.proto.
	HtlcAddress string `protobuf:"bytes,7,opt,name=htlc_address,json=htlcAddress,proto3" json:"htlc_address,omitempty"`
	// HTLC address (native segwit), used in loop-in and loop-out swaps.
	HtlcAddressP2Wsh string `protobuf:"bytes,12,opt,name=htlc_address_p2wsh,json=htlcAddressP2wsh,proto3" json:"htlc_address_p2wsh,omitempty"`
	// The address of the v3 (taproot) htlc. Used for both loop-in and loop-out.
	HtlcAddressP2Tr string `protobuf:"bytes,18,opt,name=htlc_address_p2tr,json=htlcAddressP2tr,proto3" json:"htlc_address_p2tr,omitempty"`
	// Swap server cost
	CostServer int64 `protobuf:"varint,8,opt,name=cost_server,json=costServer,proto3" json:"cost_server,omitempty"`
	// On-chain transaction cost
	CostOnchain int64 `protobuf:"varint,9,opt,name=cost_onchain,json=costOnchain,proto3" json:"cost_onchain,omitempty"`
	// Off-chain routing fees
	CostOffchain int64 `protobuf:"varint,10,opt,name=cost_offchain,json=costOffchain,proto3" json:"cost_offchain,omitempty"`
	// Optional last hop if provided in the loop in request.
	LastHop []byte `protobuf:"bytes,16,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"`
	// Optional outgoing channel set if provided in the loop out request.
	OutgoingChanSet []uint64 `protobuf:"varint,17,rep,packed,name=outgoing_chan_set,json=outgoingChanSet,proto3" json:"outgoing_chan_set,omitempty"`
	// An optional label given to the swap on creation.
	Label string `protobuf:"bytes,15,opt,name=label,proto3" json:"label,omitempty"`
	// If the swap was an asset swap, the asset information will be returned.
	AssetInfo     *AssetLoopOutInfo `protobuf:"bytes,19,opt,name=asset_info,json=assetInfo,proto3" json:"asset_info,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SwapStatus) Reset() {
	*x = SwapStatus{}
	mi := &file_client_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SwapStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SwapStatus) ProtoMessage() {}

func (x *SwapStatus) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SwapStatus.ProtoReflect.Descriptor instead.
func (*SwapStatus) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{8}
}

func (x *SwapStatus) GetAmt() int64 {
	if x != nil {
		return x.Amt
	}
	return 0
}

// Deprecated: Marked as deprecated in client.proto.
func (x *SwapStatus) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *SwapStatus) GetIdBytes() []byte {
	if x != nil {
		return x.IdBytes
	}
	return nil
}

func (x *SwapStatus) GetType() SwapType {
	if x != nil {
		return x.Type
	}
	return SwapType_LOOP_OUT
}

func (x *SwapStatus) GetState() SwapState {
	if x != nil {
		return x.State
	}
	return SwapState_INITIATED
}

func (x *SwapStatus) GetFailureReason() FailureReason {
	if x != nil {
		return x.FailureReason
	}
	return FailureReason_FAILURE_REASON_NONE
}

func (x *SwapStatus) GetInitiationTime() int64 {
	if x != nil {
		return x.InitiationTime
	}
	return 0
}

func (x *SwapStatus) GetLastUpdateTime() int64 {
	if x != nil {
		return x.LastUpdateTime
	}
	return 0
}

// Deprecated: Marked as deprecated in client.proto.
func (x *SwapStatus) GetHtlcAddress() string {
	if x != nil {
		return x.HtlcAddress
	}
	return ""
}

func (x *SwapStatus) GetHtlcAddressP2Wsh() string {
	if x != nil {
		return x.HtlcAddressP2Wsh
	}
	return ""
}

func (x *SwapStatus) GetHtlcAddressP2Tr() string {
	if x != nil {
		return x.HtlcAddressP2Tr
	}
	return ""
}

func (x *SwapStatus) GetCostServer() int64 {
	if x != nil {
		return x.CostServer
	}
	return 0
}

func (x *SwapStatus) GetCostOnchain() int64 {
	if x != nil {
		return x.CostOnchain
	}
	return 0
}

func (x *SwapStatus) GetCostOffchain() int64 {
	if x != nil {
		return x.CostOffchain
	}
	return 0
}

func (x *SwapStatus) GetLastHop() []byte {
	if x != nil {
		return x.LastHop
	}
	return nil
}

func (x *SwapStatus) GetOutgoingChanSet() []uint64 {
	if x != nil {
		return x.OutgoingChanSet
	}
	return nil
}

func (x *SwapStatus) GetLabel() string {
	if x != nil {
		return x.Label
	}
	return ""
}

func (x *SwapStatus) GetAssetInfo() *AssetLoopOutInfo {
	if x != nil {
		return x.AssetInfo
	}
	return nil
}

type ListSwapsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Optional filter to only return swaps that match the filter.
	ListSwapFilter *ListSwapsFilter `protobuf:"bytes,1,opt,name=list_swap_filter,json=listSwapFilter,proto3" json:"list_swap_filter,omitempty"`
	// Set a maximum number of swaps to return in the response.
	MaxSwaps      uint64 `protobuf:"varint,2,opt,name=max_swaps,json=maxSwaps,proto3" json:"max_swaps,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListSwapsRequest) Reset() {
	*x = ListSwapsRequest{}
	mi := &file_client_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListSwapsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListSwapsRequest) ProtoMessage() {}

func (x *ListSwapsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListSwapsRequest.ProtoReflect.Descriptor instead.
func (*ListSwapsRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{9}
}

func (x *ListSwapsRequest) GetListSwapFilter() *ListSwapsFilter {
	if x != nil {
		return x.ListSwapFilter
	}
	return nil
}

func (x *ListSwapsRequest) GetMaxSwaps() uint64 {
	if x != nil {
		return x.MaxSwaps
	}
	return 0
}

type ListSwapsFilter struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The type of the swap.
	SwapType ListSwapsFilter_SwapTypeFilter `protobuf:"varint,1,opt,name=swap_type,json=swapType,proto3,enum=looprpc.ListSwapsFilter_SwapTypeFilter" json:"swap_type,omitempty"`
	// If set, only pending swaps are returned.
	PendingOnly bool `protobuf:"varint,2,opt,name=pending_only,json=pendingOnly,proto3" json:"pending_only,omitempty"`
	// If specified on creation, the outgoing channel set of the swap.
	OutgoingChanSet []uint64 `protobuf:"varint,3,rep,packed,name=outgoing_chan_set,json=outgoingChanSet,proto3" json:"outgoing_chan_set,omitempty"`
	// Label of swap to filter for.
	Label string `protobuf:"bytes,4,opt,name=label,proto3" json:"label,omitempty"`
	// If specified on creation, the last hop of the swap.
	LoopInLastHop []byte `protobuf:"bytes,5,opt,name=loop_in_last_hop,json=loopInLastHop,proto3" json:"loop_in_last_hop,omitempty"`
	// If specified, only returns asset swaps.
	AssetSwapOnly bool `protobuf:"varint,6,opt,name=asset_swap_only,json=assetSwapOnly,proto3" json:"asset_swap_only,omitempty"`
	// If specified, returns swaps initiated after this Unix (ns) timestamp.
	StartTimestampNs int64 `protobuf:"varint,7,opt,name=start_timestamp_ns,json=startTimestampNs,proto3" json:"start_timestamp_ns,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ListSwapsFilter) Reset() {
	*x = ListSwapsFilter{}
	mi := &file_client_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListSwapsFilter) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListSwapsFilter) ProtoMessage() {}

func (x *ListSwapsFilter) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListSwapsFilter.ProtoReflect.Descriptor instead.
func (*ListSwapsFilter) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{10}
}

func (x *ListSwapsFilter) GetSwapType() ListSwapsFilter_SwapTypeFilter {
	if x != nil {
		return x.SwapType
	}
	return ListSwapsFilter_ANY
}

func (x *ListSwapsFilter) GetPendingOnly() bool {
	if x != nil {
		return x.PendingOnly
	}
	return false
}

func (x *ListSwapsFilter) GetOutgoingChanSet() []uint64 {
	if x != nil {
		return x.OutgoingChanSet
	}
	return nil
}

func (x *ListSwapsFilter) GetLabel() string {
	if x != nil {
		return x.Label
	}
	return ""
}

func (x *ListSwapsFilter) GetLoopInLastHop() []byte {
	if x != nil {
		return x.LoopInLastHop
	}
	return nil
}

func (x *ListSwapsFilter) GetAssetSwapOnly() bool {
	if x != nil {
		return x.AssetSwapOnly
	}
	return false
}

func (x *ListSwapsFilter) GetStartTimestampNs() int64 {
	if x != nil {
		return x.StartTimestampNs
	}
	return 0
}

type ListSwapsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The list of all currently known swaps and their status.
	Swaps []*SwapStatus `protobuf:"bytes,1,rep,name=swaps,proto3" json:"swaps,omitempty"`
	// Timestamp to use for paging start_timestamp_ns.
	NextStartTime int64 `protobuf:"varint,2,opt,name=next_start_time,json=nextStartTime,proto3" json:"next_start_time,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListSwapsResponse) Reset() {
	*x = ListSwapsResponse{}
	mi := &file_client_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListSwapsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListSwapsResponse) ProtoMessage() {}

func (x *ListSwapsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListSwapsResponse.ProtoReflect.Descriptor instead.
func (*ListSwapsResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{11}
}

func (x *ListSwapsResponse) GetSwaps() []*SwapStatus {
	if x != nil {
		return x.Swaps
	}
	return nil
}

func (x *ListSwapsResponse) GetNextStartTime() int64 {
	if x != nil {
		return x.NextStartTime
	}
	return 0
}

// SweepHtlcRequest instructs loopd to sweep a swap HTLC via its success path.
type SweepHtlcRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Optional override for the sweep destination; defaults to a new address
	// derived from the connected lnd wallet.
	DestAddress string `protobuf:"bytes,1,opt,name=dest_address,json=destAddress,proto3" json:"dest_address,omitempty"`
	// Fee rate used for the sweep transaction in sat/vByte.
	SatPerVbyte uint32 `protobuf:"varint,2,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"`
	// HTLC outpoint to sweep, formatted as "txid:vout".
	Outpoint string `protobuf:"bytes,3,opt,name=outpoint,proto3" json:"outpoint,omitempty"`
	// Optional override for the stored swap preimage.
	Preimage []byte `protobuf:"bytes,4,opt,name=preimage,proto3" json:"preimage,omitempty"`
	// If true, publish the sweep transaction immediately.
	Publish bool `protobuf:"varint,5,opt,name=publish,proto3" json:"publish,omitempty"`
	// The HTLC address whose output is being swept; used to derive the
	// expected pkScript.
	HtlcAddress   string `protobuf:"bytes,6,opt,name=htlc_address,json=htlcAddress,proto3" json:"htlc_address,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SweepHtlcRequest) Reset() {
	*x = SweepHtlcRequest{}
	mi := &file_client_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SweepHtlcRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SweepHtlcRequest) ProtoMessage() {}

func (x *SweepHtlcRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SweepHtlcRequest.ProtoReflect.Descriptor instead.
func (*SweepHtlcRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{12}
}

func (x *SweepHtlcRequest) GetDestAddress() string {
	if x != nil {
		return x.DestAddress
	}
	return ""
}

func (x *SweepHtlcRequest) GetSatPerVbyte() uint32 {
	if x != nil {
		return x.SatPerVbyte
	}
	return 0
}

func (x *SweepHtlcRequest) GetOutpoint() string {
	if x != nil {
		return x.Outpoint
	}
	return ""
}

func (x *SweepHtlcRequest) GetPreimage() []byte {
	if x != nil {
		return x.Preimage
	}
	return nil
}

func (x *SweepHtlcRequest) GetPublish() bool {
	if x != nil {
		return x.Publish
	}
	return false
}

func (x *SweepHtlcRequest) GetHtlcAddress() string {
	if x != nil {
		return x.HtlcAddress
	}
	return ""
}

// SweepHtlcResponse returns the broadcast sweep transaction.
type SweepHtlcResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Raw sweep transaction bytes.
	SweepTx []byte `protobuf:"bytes,1,opt,name=sweep_tx,json=sweepTx,proto3" json:"sweep_tx,omitempty"`
	// Miner fee paid by the sweep transaction.
	FeeSats uint64 `protobuf:"varint,2,opt,name=fee_sats,json=feeSats,proto3" json:"fee_sats,omitempty"`
	// Publish outcome.
	//
	// Types that are valid to be assigned to Publish:
	//
	//	*SweepHtlcResponse_NotRequested
	//	*SweepHtlcResponse_Published
	//	*SweepHtlcResponse_Failed
	Publish       isSweepHtlcResponse_Publish `protobuf_oneof:"publish"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SweepHtlcResponse) Reset() {
	*x = SweepHtlcResponse{}
	mi := &file_client_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SweepHtlcResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SweepHtlcResponse) ProtoMessage() {}

func (x *SweepHtlcResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SweepHtlcResponse.ProtoReflect.Descriptor instead.
func (*SweepHtlcResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{13}
}

func (x *SweepHtlcResponse) GetSweepTx() []byte {
	if x != nil {
		return x.SweepTx
	}
	return nil
}

func (x *SweepHtlcResponse) GetFeeSats() uint64 {
	if x != nil {
		return x.FeeSats
	}
	return 0
}

func (x *SweepHtlcResponse) GetPublish() isSweepHtlcResponse_Publish {
	if x != nil {
		return x.Publish
	}
	return nil
}

func (x *SweepHtlcResponse) GetNotRequested() *PublishNotRequested {
	if x != nil {
		if x, ok := x.Publish.(*SweepHtlcResponse_NotRequested); ok {
			return x.NotRequested
		}
	}
	return nil
}

func (x *SweepHtlcResponse) GetPublished() *PublishSucceeded {
	if x != nil {
		if x, ok := x.Publish.(*SweepHtlcResponse_Published); ok {
			return x.Published
		}
	}
	return nil
}

func (x *SweepHtlcResponse) GetFailed() *PublishFailed {
	if x != nil {
		if x, ok := x.Publish.(*SweepHtlcResponse_Failed); ok {
			return x.Failed
		}
	}
	return nil
}

type isSweepHtlcResponse_Publish interface {
	isSweepHtlcResponse_Publish()
}

type SweepHtlcResponse_NotRequested struct {
	NotRequested *PublishNotRequested `protobuf:"bytes,3,opt,name=not_requested,json=notRequested,proto3,oneof"`
}

type SweepHtlcResponse_Published struct {
	Published *PublishSucceeded `protobuf:"bytes,4,opt,name=published,proto3,oneof"`
}

type SweepHtlcResponse_Failed struct {
	Failed *PublishFailed `protobuf:"bytes,5,opt,name=failed,proto3,oneof"`
}

func (*SweepHtlcResponse_NotRequested) isSweepHtlcResponse_Publish() {}

func (*SweepHtlcResponse_Published) isSweepHtlcResponse_Publish() {}

func (*SweepHtlcResponse_Failed) isSweepHtlcResponse_Publish() {}

// PublishNotRequested is returned by SweepHtlc if publishing was not requested
// in SweepHtlcRequest.
type PublishNotRequested struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PublishNotRequested) Reset() {
	*x = PublishNotRequested{}
	mi := &file_client_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PublishNotRequested) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PublishNotRequested) ProtoMessage() {}

func (x *PublishNotRequested) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PublishNotRequested.ProtoReflect.Descriptor instead.
func (*PublishNotRequested) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{14}
}

// PublishSucceeded is returned by SweepHtlc if publishing was requested in
// SweepHtlcRequest and it succeeded.
type PublishSucceeded struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PublishSucceeded) Reset() {
	*x = PublishSucceeded{}
	mi := &file_client_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PublishSucceeded) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PublishSucceeded) ProtoMessage() {}

func (x *PublishSucceeded) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PublishSucceeded.ProtoReflect.Descriptor instead.
func (*PublishSucceeded) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{15}
}

// PublishFailed is returned by SweepHtlc if publishing was requested in
// SweepHtlcRequest, but failed. It includes the error message.
type PublishFailed struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Error         string                 `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PublishFailed) Reset() {
	*x = PublishFailed{}
	mi := &file_client_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PublishFailed) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PublishFailed) ProtoMessage() {}

func (x *PublishFailed) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PublishFailed.ProtoReflect.Descriptor instead.
func (*PublishFailed) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{16}
}

func (x *PublishFailed) GetError() string {
	if x != nil {
		return x.Error
	}
	return ""
}

type SwapInfoRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The swap identifier which currently is the hash that locks the HTLCs. When
	// using REST, this field must be encoded as URL safe base64.
	Id            []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SwapInfoRequest) Reset() {
	*x = SwapInfoRequest{}
	mi := &file_client_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SwapInfoRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SwapInfoRequest) ProtoMessage() {}

func (x *SwapInfoRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SwapInfoRequest.ProtoReflect.Descriptor instead.
func (*SwapInfoRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{17}
}

func (x *SwapInfoRequest) GetId() []byte {
	if x != nil {
		return x.Id
	}
	return nil
}

type TermsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TermsRequest) Reset() {
	*x = TermsRequest{}
	mi := &file_client_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TermsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TermsRequest) ProtoMessage() {}

func (x *TermsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TermsRequest.ProtoReflect.Descriptor instead.
func (*TermsRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{18}
}

type InTermsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Minimum swap amount (sat)
	MinSwapAmount int64 `protobuf:"varint,5,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"`
	// Maximum swap amount (sat)
	MaxSwapAmount int64 `protobuf:"varint,6,opt,name=max_swap_amount,json=maxSwapAmount,proto3" json:"max_swap_amount,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InTermsResponse) Reset() {
	*x = InTermsResponse{}
	mi := &file_client_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InTermsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InTermsResponse) ProtoMessage() {}

func (x *InTermsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InTermsResponse.ProtoReflect.Descriptor instead.
func (*InTermsResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{19}
}

func (x *InTermsResponse) GetMinSwapAmount() int64 {
	if x != nil {
		return x.MinSwapAmount
	}
	return 0
}

func (x *InTermsResponse) GetMaxSwapAmount() int64 {
	if x != nil {
		return x.MaxSwapAmount
	}
	return 0
}

type OutTermsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Minimum swap amount (sat)
	MinSwapAmount int64 `protobuf:"varint,5,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"`
	// Maximum swap amount (sat)
	MaxSwapAmount int64 `protobuf:"varint,6,opt,name=max_swap_amount,json=maxSwapAmount,proto3" json:"max_swap_amount,omitempty"`
	// The minimally accepted cltv delta of the on-chain htlc.
	MinCltvDelta int32 `protobuf:"varint,8,opt,name=min_cltv_delta,json=minCltvDelta,proto3" json:"min_cltv_delta,omitempty"`
	// The maximally accepted cltv delta of the on-chain htlc.
	MaxCltvDelta  int32 `protobuf:"varint,9,opt,name=max_cltv_delta,json=maxCltvDelta,proto3" json:"max_cltv_delta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *OutTermsResponse) Reset() {
	*x = OutTermsResponse{}
	mi := &file_client_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OutTermsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OutTermsResponse) ProtoMessage() {}

func (x *OutTermsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[20]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OutTermsResponse.ProtoReflect.Descriptor instead.
func (*OutTermsResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{20}
}

func (x *OutTermsResponse) GetMinSwapAmount() int64 {
	if x != nil {
		return x.MinSwapAmount
	}
	return 0
}

func (x *OutTermsResponse) GetMaxSwapAmount() int64 {
	if x != nil {
		return x.MaxSwapAmount
	}
	return 0
}

func (x *OutTermsResponse) GetMinCltvDelta() int32 {
	if x != nil {
		return x.MinCltvDelta
	}
	return 0
}

func (x *OutTermsResponse) GetMaxCltvDelta() int32 {
	if x != nil {
		return x.MaxCltvDelta
	}
	return 0
}

type QuoteRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The amount to swap in satoshis. In the loop-in case this can either be taken
	// from the connected lnd wallet or coin-selected from static address deposits.
	// This is controlled by the select_deposits flag. If deposit_outpoints are
	// specified, the coins are taken out of that.
	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"`
	// 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"`
	// 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. This only has an effect on loop out quotes.
	SwapPublicationDeadline uint64 `protobuf:"varint,4,opt,name=swap_publication_deadline,json=swapPublicationDeadline,proto3" json:"swap_publication_deadline,omitempty"`
	// Optionally the client can specify the last hop pubkey when requesting a
	// loop-in quote. This is useful to get better off-chain routing fee from the
	// server.
	LoopInLastHop []byte `protobuf:"bytes,5,opt,name=loop_in_last_hop,json=loopInLastHop,proto3" json:"loop_in_last_hop,omitempty"`
	// Optional route hints to reach the destination through private channels.
	LoopInRouteHints []*swapserverrpc.RouteHint `protobuf:"bytes,6,rep,name=loop_in_route_hints,json=loopInRouteHints,proto3" json:"loop_in_route_hints,omitempty"`
	// Private indicates whether the destination node should be considered
	// private. In which case, loop will generate hophints to assist with
	// probing and payment.
	Private bool `protobuf:"varint,7,opt,name=private,proto3" json:"private,omitempty"`
	// Static address deposit outpoints that will be quoted for. This option only
	// pertains to loop in swaps. If the amt field is set as well the respective
	// partial amount will be swapped. Cannot be used in conjunction with
	// auto_select_deposits.
	DepositOutpoints []string `protobuf:"bytes,8,rep,name=deposit_outpoints,json=depositOutpoints,proto3" json:"deposit_outpoints,omitempty"`
	// The optional asset information to use for the swap. If set, the quote will
	// be returned in the specified asset.
	AssetInfo *AssetLoopOutRequest `protobuf:"bytes,9,opt,name=asset_info,json=assetInfo,proto3" json:"asset_info,omitempty"`
	// In the legacy loop-in case this field must be set to false.
	// If set to true, the swap amount will be automatically selected from the
	// static address deposits. If set to true, deposit_outpoints must be empty.
	// This option only pertains to loop in swaps.
	AutoSelectDeposits bool `protobuf:"varint,10,opt,name=auto_select_deposits,json=autoSelectDeposits,proto3" json:"auto_select_deposits,omitempty"`
	// If set to true the server will immediately publish the swap in exchange for
	// a higher fee. This can be useful if the client expects change from a swap.
	// Note that this feature is only available for static address loop in swaps.
	Fast          bool `protobuf:"varint,11,opt,name=fast,proto3" json:"fast,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *QuoteRequest) Reset() {
	*x = QuoteRequest{}
	mi := &file_client_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QuoteRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QuoteRequest) ProtoMessage() {}

func (x *QuoteRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QuoteRequest.ProtoReflect.Descriptor instead.
func (*QuoteRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{21}
}

func (x *QuoteRequest) GetAmt() int64 {
	if x != nil {
		return x.Amt
	}
	return 0
}

func (x *QuoteRequest) GetConfTarget() int32 {
	if x != nil {
		return x.ConfTarget
	}
	return 0
}

func (x *QuoteRequest) GetExternalHtlc() bool {
	if x != nil {
		return x.ExternalHtlc
	}
	return false
}

func (x *QuoteRequest) GetSwapPublicationDeadline() uint64 {
	if x != nil {
		return x.SwapPublicationDeadline
	}
	return 0
}

func (x *QuoteRequest) GetLoopInLastHop() []byte {
	if x != nil {
		return x.LoopInLastHop
	}
	return nil
}

func (x *QuoteRequest) GetLoopInRouteHints() []*swapserverrpc.RouteHint {
	if x != nil {
		return x.LoopInRouteHints
	}
	return nil
}

func (x *QuoteRequest) GetPrivate() bool {
	if x != nil {
		return x.Private
	}
	return false
}

func (x *QuoteRequest) GetDepositOutpoints() []string {
	if x != nil {
		return x.DepositOutpoints
	}
	return nil
}

func (x *QuoteRequest) GetAssetInfo() *AssetLoopOutRequest {
	if x != nil {
		return x.AssetInfo
	}
	return nil
}

func (x *QuoteRequest) GetAutoSelectDeposits() bool {
	if x != nil {
		return x.AutoSelectDeposits
	}
	return false
}

func (x *QuoteRequest) GetFast() bool {
	if x != nil {
		return x.Fast
	}
	return false
}

type InQuoteResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The fee that the swap server is charging for the swap.
	SwapFeeSat int64 `protobuf:"varint,1,opt,name=swap_fee_sat,json=swapFeeSat,proto3" json:"swap_fee_sat,omitempty"`
	// An estimate of the on-chain fee that needs to be paid to publish the HTLC
	// If a miner fee of 0 is returned, it means the external_htlc flag was set for
	// a loop in and the fee estimation was skipped. If a miner fee of -1 is
	// returned, it means lnd's wallet tried to estimate the fee but was unable to
	// create a sample estimation transaction because not enough funds are
	// available. An information message should be shown to the user in this case.
	HtlcPublishFeeSat int64 `protobuf:"varint,3,opt,name=htlc_publish_fee_sat,json=htlcPublishFeeSat,proto3" json:"htlc_publish_fee_sat,omitempty"`
	// On-chain cltv expiry delta
	CltvDelta int32 `protobuf:"varint,5,opt,name=cltv_delta,json=cltvDelta,proto3" json:"cltv_delta,omitempty"`
	// The confirmation target to be used to publish the on-chain HTLC.
	ConfTarget int32 `protobuf:"varint,6,opt,name=conf_target,json=confTarget,proto3" json:"conf_target,omitempty"`
	// If the quote request was for a static address loop in and only contained
	// deposit outpoints the quote response will return the total amount of the
	// selected deposits.
	QuotedAmt     int64 `protobuf:"varint,7,opt,name=quoted_amt,json=quotedAmt,proto3" json:"quoted_amt,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InQuoteResponse) Reset() {
	*x = InQuoteResponse{}
	mi := &file_client_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InQuoteResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InQuoteResponse) ProtoMessage() {}

func (x *InQuoteResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[22]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InQuoteResponse.ProtoReflect.Descriptor instead.
func (*InQuoteResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{22}
}

func (x *InQuoteResponse) GetSwapFeeSat() int64 {
	if x != nil {
		return x.SwapFeeSat
	}
	return 0
}

func (x *InQuoteResponse) GetHtlcPublishFeeSat() int64 {
	if x != nil {
		return x.HtlcPublishFeeSat
	}
	return 0
}

func (x *InQuoteResponse) GetCltvDelta() int32 {
	if x != nil {
		return x.CltvDelta
	}
	return 0
}

func (x *InQuoteResponse) GetConfTarget() int32 {
	if x != nil {
		return x.ConfTarget
	}
	return 0
}

func (x *InQuoteResponse) GetQuotedAmt() int64 {
	if x != nil {
		return x.QuotedAmt
	}
	return 0
}

type OutQuoteResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The fee that the swap server is charging for the swap.
	SwapFeeSat int64 `protobuf:"varint,1,opt,name=swap_fee_sat,json=swapFeeSat,proto3" json:"swap_fee_sat,omitempty"`
	// The part of the swap fee that is requested as a prepayment.
	PrepayAmtSat int64 `protobuf:"varint,2,opt,name=prepay_amt_sat,json=prepayAmtSat,proto3" json:"prepay_amt_sat,omitempty"`
	// An estimate of the on-chain fee that needs to be paid to sweep the HTLC for
	// a loop out.
	HtlcSweepFeeSat int64 `protobuf:"varint,3,opt,name=htlc_sweep_fee_sat,json=htlcSweepFeeSat,proto3" json:"htlc_sweep_fee_sat,omitempty"`
	// The node pubkey where the swap payment needs to be paid
	// to. This can be used to test connectivity before initiating the swap.
	SwapPaymentDest []byte `protobuf:"bytes,4,opt,name=swap_payment_dest,json=swapPaymentDest,proto3" json:"swap_payment_dest,omitempty"`
	// On-chain cltv expiry delta
	CltvDelta int32 `protobuf:"varint,5,opt,name=cltv_delta,json=cltvDelta,proto3" json:"cltv_delta,omitempty"`
	// The confirmation target to be used for the sweep of the on-chain HTLC.
	ConfTarget int32 `protobuf:"varint,6,opt,name=conf_target,json=confTarget,proto3" json:"conf_target,omitempty"`
	// If the request was for an asset swap, the quote will return the rfq ids
	// that will be used to pay for the swap and prepay invoices.
	AssetRfqInfo  *AssetRfqInfo `protobuf:"bytes,7,opt,name=asset_rfq_info,json=assetRfqInfo,proto3" json:"asset_rfq_info,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *OutQuoteResponse) Reset() {
	*x = OutQuoteResponse{}
	mi := &file_client_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *OutQuoteResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*OutQuoteResponse) ProtoMessage() {}

func (x *OutQuoteResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use OutQuoteResponse.ProtoReflect.Descriptor instead.
func (*OutQuoteResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{23}
}

func (x *OutQuoteResponse) GetSwapFeeSat() int64 {
	if x != nil {
		return x.SwapFeeSat
	}
	return 0
}

func (x *OutQuoteResponse) GetPrepayAmtSat() int64 {
	if x != nil {
		return x.PrepayAmtSat
	}
	return 0
}

func (x *OutQuoteResponse) GetHtlcSweepFeeSat() int64 {
	if x != nil {
		return x.HtlcSweepFeeSat
	}
	return 0
}

func (x *OutQuoteResponse) GetSwapPaymentDest() []byte {
	if x != nil {
		return x.SwapPaymentDest
	}
	return nil
}

func (x *OutQuoteResponse) GetCltvDelta() int32 {
	if x != nil {
		return x.CltvDelta
	}
	return 0
}

func (x *OutQuoteResponse) GetConfTarget() int32 {
	if x != nil {
		return x.ConfTarget
	}
	return 0
}

func (x *OutQuoteResponse) GetAssetRfqInfo() *AssetRfqInfo {
	if x != nil {
		return x.AssetRfqInfo
	}
	return nil
}

type ProbeRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The amount to probe.
	Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"`
	// Optional last hop of the route to probe.
	LastHop []byte `protobuf:"bytes,2,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"`
	// Optional route hints to reach the destination through private channels.
	RouteHints    []*swapserverrpc.RouteHint `protobuf:"bytes,3,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ProbeRequest) Reset() {
	*x = ProbeRequest{}
	mi := &file_client_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ProbeRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ProbeRequest) ProtoMessage() {}

func (x *ProbeRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[24]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ProbeRequest.ProtoReflect.Descriptor instead.
func (*ProbeRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{24}
}

func (x *ProbeRequest) GetAmt() int64 {
	if x != nil {
		return x.Amt
	}
	return 0
}

func (x *ProbeRequest) GetLastHop() []byte {
	if x != nil {
		return x.LastHop
	}
	return nil
}

func (x *ProbeRequest) GetRouteHints() []*swapserverrpc.RouteHint {
	if x != nil {
		return x.RouteHints
	}
	return nil
}

type ProbeResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ProbeResponse) Reset() {
	*x = ProbeResponse{}
	mi := &file_client_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ProbeResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ProbeResponse) ProtoMessage() {}

func (x *ProbeResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[25]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ProbeResponse.ProtoReflect.Descriptor instead.
func (*ProbeResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{25}
}

type TokensRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TokensRequest) Reset() {
	*x = TokensRequest{}
	mi := &file_client_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TokensRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TokensRequest) ProtoMessage() {}

func (x *TokensRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[26]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TokensRequest.ProtoReflect.Descriptor instead.
func (*TokensRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{26}
}

type TokensResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// List of all tokens the daemon knows of, including old/expired tokens.
	Tokens        []*L402Token `protobuf:"bytes,1,rep,name=tokens,proto3" json:"tokens,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TokensResponse) Reset() {
	*x = TokensResponse{}
	mi := &file_client_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TokensResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TokensResponse) ProtoMessage() {}

func (x *TokensResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[27]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TokensResponse.ProtoReflect.Descriptor instead.
func (*TokensResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{27}
}

func (x *TokensResponse) GetTokens() []*L402Token {
	if x != nil {
		return x.Tokens
	}
	return nil
}

type FetchL402TokenRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FetchL402TokenRequest) Reset() {
	*x = FetchL402TokenRequest{}
	mi := &file_client_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FetchL402TokenRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FetchL402TokenRequest) ProtoMessage() {}

func (x *FetchL402TokenRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[28]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FetchL402TokenRequest.ProtoReflect.Descriptor instead.
func (*FetchL402TokenRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{28}
}

type FetchL402TokenResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FetchL402TokenResponse) Reset() {
	*x = FetchL402TokenResponse{}
	mi := &file_client_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FetchL402TokenResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FetchL402TokenResponse) ProtoMessage() {}

func (x *FetchL402TokenResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[29]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FetchL402TokenResponse.ProtoReflect.Descriptor instead.
func (*FetchL402TokenResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{29}
}

type L402Token struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The base macaroon that was baked by the auth server.
	BaseMacaroon []byte `protobuf:"bytes,1,opt,name=base_macaroon,json=baseMacaroon,proto3" json:"base_macaroon,omitempty"`
	// The payment hash of the payment that was paid to obtain the token.
	PaymentHash []byte `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"`
	// The preimage of the payment hash, knowledge of this is proof that the
	// payment has been paid. If the preimage is set to all zeros, this means the
	// payment is still pending and the token is not yet fully valid.
	PaymentPreimage []byte `protobuf:"bytes,3,opt,name=payment_preimage,json=paymentPreimage,proto3" json:"payment_preimage,omitempty"`
	// The amount of millisatoshis that was paid to get the token.
	AmountPaidMsat int64 `protobuf:"varint,4,opt,name=amount_paid_msat,json=amountPaidMsat,proto3" json:"amount_paid_msat,omitempty"`
	// The amount of millisatoshis paid in routing fee to pay for the token.
	RoutingFeePaidMsat int64 `protobuf:"varint,5,opt,name=routing_fee_paid_msat,json=routingFeePaidMsat,proto3" json:"routing_fee_paid_msat,omitempty"`
	// The creation time of the token as UNIX timestamp in seconds.
	TimeCreated int64 `protobuf:"varint,6,opt,name=time_created,json=timeCreated,proto3" json:"time_created,omitempty"`
	// Indicates whether the token is expired or still valid.
	Expired bool `protobuf:"varint,7,opt,name=expired,proto3" json:"expired,omitempty"`
	// Identifying attribute of this token in the store. Currently represents the
	// file name of the token where it's stored on the file system.
	StorageName string `protobuf:"bytes,8,opt,name=storage_name,json=storageName,proto3" json:"storage_name,omitempty"`
	// The l402 ID of the token.
	Id            string `protobuf:"bytes,9,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *L402Token) Reset() {
	*x = L402Token{}
	mi := &file_client_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *L402Token) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*L402Token) ProtoMessage() {}

func (x *L402Token) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[30]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use L402Token.ProtoReflect.Descriptor instead.
func (*L402Token) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{30}
}

func (x *L402Token) GetBaseMacaroon() []byte {
	if x != nil {
		return x.BaseMacaroon
	}
	return nil
}

func (x *L402Token) GetPaymentHash() []byte {
	if x != nil {
		return x.PaymentHash
	}
	return nil
}

func (x *L402Token) GetPaymentPreimage() []byte {
	if x != nil {
		return x.PaymentPreimage
	}
	return nil
}

func (x *L402Token) GetAmountPaidMsat() int64 {
	if x != nil {
		return x.AmountPaidMsat
	}
	return 0
}

func (x *L402Token) GetRoutingFeePaidMsat() int64 {
	if x != nil {
		return x.RoutingFeePaidMsat
	}
	return 0
}

func (x *L402Token) GetTimeCreated() int64 {
	if x != nil {
		return x.TimeCreated
	}
	return 0
}

func (x *L402Token) GetExpired() bool {
	if x != nil {
		return x.Expired
	}
	return false
}

func (x *L402Token) GetStorageName() string {
	if x != nil {
		return x.StorageName
	}
	return ""
}

func (x *L402Token) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

type LoopStats struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Number of currently pending swaps.
	PendingCount uint64 `protobuf:"varint,1,opt,name=pending_count,json=pendingCount,proto3" json:"pending_count,omitempty"`
	// Number of succeeded swaps.
	SuccessCount uint64 `protobuf:"varint,2,opt,name=success_count,json=successCount,proto3" json:"success_count,omitempty"`
	// Number failed swaps.
	FailCount uint64 `protobuf:"varint,3,opt,name=fail_count,json=failCount,proto3" json:"fail_count,omitempty"`
	// The sum of all pending swap amounts.
	SumPendingAmt int64 `protobuf:"varint,4,opt,name=sum_pending_amt,json=sumPendingAmt,proto3" json:"sum_pending_amt,omitempty"`
	// The sum of all succeeded swap amounts.
	SumSucceededAmt int64 `protobuf:"varint,5,opt,name=sum_succeeded_amt,json=sumSucceededAmt,proto3" json:"sum_succeeded_amt,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *LoopStats) Reset() {
	*x = LoopStats{}
	mi := &file_client_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LoopStats) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LoopStats) ProtoMessage() {}

func (x *LoopStats) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[31]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LoopStats.ProtoReflect.Descriptor instead.
func (*LoopStats) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{31}
}

func (x *LoopStats) GetPendingCount() uint64 {
	if x != nil {
		return x.PendingCount
	}
	return 0
}

func (x *LoopStats) GetSuccessCount() uint64 {
	if x != nil {
		return x.SuccessCount
	}
	return 0
}

func (x *LoopStats) GetFailCount() uint64 {
	if x != nil {
		return x.FailCount
	}
	return 0
}

func (x *LoopStats) GetSumPendingAmt() int64 {
	if x != nil {
		return x.SumPendingAmt
	}
	return 0
}

func (x *LoopStats) GetSumSucceededAmt() int64 {
	if x != nil {
		return x.SumSucceededAmt
	}
	return 0
}

type GetInfoRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetInfoRequest) Reset() {
	*x = GetInfoRequest{}
	mi := &file_client_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetInfoRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetInfoRequest) ProtoMessage() {}

func (x *GetInfoRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[32]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetInfoRequest.ProtoReflect.Descriptor instead.
func (*GetInfoRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{32}
}

type GetInfoResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The current daemon version.
	Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
	// The network the daemon is running on.
	Network string `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"`
	// Host and port of the loopd grpc server.
	RpcListen string `protobuf:"bytes,3,opt,name=rpc_listen,json=rpcListen,proto3" json:"rpc_listen,omitempty"`
	// Host and port of the loopd rest server.
	RestListen string `protobuf:"bytes,4,opt,name=rest_listen,json=restListen,proto3" json:"rest_listen,omitempty"`
	// Loop's macaroon path that clients use to talk to the daemon.
	MacaroonPath string `protobuf:"bytes,5,opt,name=macaroon_path,json=macaroonPath,proto3" json:"macaroon_path,omitempty"`
	// Loop's tls cert path
	TlsCertPath string `protobuf:"bytes,6,opt,name=tls_cert_path,json=tlsCertPath,proto3" json:"tls_cert_path,omitempty"`
	// Statistics about loop outs.
	LoopOutStats *LoopStats `protobuf:"bytes,7,opt,name=loop_out_stats,json=loopOutStats,proto3" json:"loop_out_stats,omitempty"`
	// Statistics about loop ins.
	LoopInStats *LoopStats `protobuf:"bytes,8,opt,name=loop_in_stats,json=loopInStats,proto3" json:"loop_in_stats,omitempty"`
	// The Git commit hash the Loop binary build was based on. If the build had
	// uncommited changes, this field will contain the most recent commit hash,
	// suffixed by "-dirty".
	CommitHash    string `protobuf:"bytes,9,opt,name=commit_hash,json=commitHash,proto3" json:"commit_hash,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetInfoResponse) Reset() {
	*x = GetInfoResponse{}
	mi := &file_client_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetInfoResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetInfoResponse) ProtoMessage() {}

func (x *GetInfoResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[33]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetInfoResponse.ProtoReflect.Descriptor instead.
func (*GetInfoResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{33}
}

func (x *GetInfoResponse) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *GetInfoResponse) GetNetwork() string {
	if x != nil {
		return x.Network
	}
	return ""
}

func (x *GetInfoResponse) GetRpcListen() string {
	if x != nil {
		return x.RpcListen
	}
	return ""
}

func (x *GetInfoResponse) GetRestListen() string {
	if x != nil {
		return x.RestListen
	}
	return ""
}

func (x *GetInfoResponse) GetMacaroonPath() string {
	if x != nil {
		return x.MacaroonPath
	}
	return ""
}

func (x *GetInfoResponse) GetTlsCertPath() string {
	if x != nil {
		return x.TlsCertPath
	}
	return ""
}

func (x *GetInfoResponse) GetLoopOutStats() *LoopStats {
	if x != nil {
		return x.LoopOutStats
	}
	return nil
}

func (x *GetInfoResponse) GetLoopInStats() *LoopStats {
	if x != nil {
		return x.LoopInStats
	}
	return nil
}

func (x *GetInfoResponse) GetCommitHash() string {
	if x != nil {
		return x.CommitHash
	}
	return ""
}

type GetLiquidityParamsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetLiquidityParamsRequest) Reset() {
	*x = GetLiquidityParamsRequest{}
	mi := &file_client_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetLiquidityParamsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetLiquidityParamsRequest) ProtoMessage() {}

func (x *GetLiquidityParamsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[34]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetLiquidityParamsRequest.ProtoReflect.Descriptor instead.
func (*GetLiquidityParamsRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{34}
}

type LiquidityParameters struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A set of liquidity rules that describe the desired liquidity balance.
	Rules []*LiquidityRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"`
	// The parts per million of swap amount that is allowed to be allocated to swap
	// fees. This value is applied across swap categories and may not be set in
	// conjunction with sweep fee rate, swap fee ppm, routing fee ppm, prepay
	// routing, max prepay and max miner fee.
	FeePpm uint64 `protobuf:"varint,16,opt,name=fee_ppm,json=feePpm,proto3" json:"fee_ppm,omitempty"`
	// The limit we place on our estimated sweep cost for a swap in sat/vByte. If
	// the estimated fee for our sweep transaction within the specified
	// confirmation target is above this value, we will not suggest any swaps.
	SweepFeeRateSatPerVbyte uint64 `protobuf:"varint,2,opt,name=sweep_fee_rate_sat_per_vbyte,json=sweepFeeRateSatPerVbyte,proto3" json:"sweep_fee_rate_sat_per_vbyte,omitempty"`
	// The maximum fee paid to the server for facilitating the swap, expressed
	// as parts per million of the swap volume.
	MaxSwapFeePpm uint64 `protobuf:"varint,3,opt,name=max_swap_fee_ppm,json=maxSwapFeePpm,proto3" json:"max_swap_fee_ppm,omitempty"`
	// The maximum fee paid to route the swap invoice off chain, expressed as
	// parts per million of the volume being routed.
	MaxRoutingFeePpm uint64 `protobuf:"varint,4,opt,name=max_routing_fee_ppm,json=maxRoutingFeePpm,proto3" json:"max_routing_fee_ppm,omitempty"`
	// The maximum fee paid to route the prepay invoice off chain, expressed as
	// parts per million of the volume being routed.
	MaxPrepayRoutingFeePpm uint64 `protobuf:"varint,5,opt,name=max_prepay_routing_fee_ppm,json=maxPrepayRoutingFeePpm,proto3" json:"max_prepay_routing_fee_ppm,omitempty"`
	// The maximum no-show penalty in satoshis paid for a swap.
	MaxPrepaySat uint64 `protobuf:"varint,6,opt,name=max_prepay_sat,json=maxPrepaySat,proto3" json:"max_prepay_sat,omitempty"`
	// The maximum miner fee we will pay to sweep the swap on chain. Note that we
	// will not suggest a swap if the estimate is above the sweep limit set by
	// these parameters, and we use the current fee estimate to sweep on chain so
	// this value is only a cap placed on the amount we spend on fees in the case
	// where the swap needs to be claimed on chain, but fees have suddenly spiked.
	MaxMinerFeeSat uint64 `protobuf:"varint,7,opt,name=max_miner_fee_sat,json=maxMinerFeeSat,proto3" json:"max_miner_fee_sat,omitempty"`
	// The number of blocks from the on-chain HTLC's confirmation height that it
	// should be swept within.
	SweepConfTarget int32 `protobuf:"varint,8,opt,name=sweep_conf_target,json=sweepConfTarget,proto3" json:"sweep_conf_target,omitempty"`
	// The amount of time we require pass since a channel was part of a failed
	// swap due to off chain payment failure until it will be considered for swap
	// suggestions again, expressed in seconds.
	FailureBackoffSec uint64 `protobuf:"varint,9,opt,name=failure_backoff_sec,json=failureBackoffSec,proto3" json:"failure_backoff_sec,omitempty"`
	// Set to true to enable automatic dispatch of swaps. All swaps will be limited
	// to the fee categories set by these parameters, and total expenditure will
	// be limited to the autoloop budget.
	Autoloop bool `protobuf:"varint,10,opt,name=autoloop,proto3" json:"autoloop,omitempty"`
	// The total budget for automatically dispatched swaps since the budget start
	// time, expressed in satoshis.
	AutoloopBudgetSat uint64 `protobuf:"varint,11,opt,name=autoloop_budget_sat,json=autoloopBudgetSat,proto3" json:"autoloop_budget_sat,omitempty"`
	// Deprecated, use autoloop_budget_refresh_period_sec. The start time for
	// autoloop budget, expressed as a unix timestamp in seconds. If this value is
	// 0, the budget will be applied for all automatically dispatched swaps. Swaps
	// that were completed before this date will not be included in budget
	// calculations.
	//
	// Deprecated: Marked as deprecated in client.proto.
	AutoloopBudgetStartSec uint64 `protobuf:"varint,12,opt,name=autoloop_budget_start_sec,json=autoloopBudgetStartSec,proto3" json:"autoloop_budget_start_sec,omitempty"`
	// The maximum number of automatically dispatched swaps that we allow to be in
	// flight at any point in time.
	AutoMaxInFlight uint64 `protobuf:"varint,13,opt,name=auto_max_in_flight,json=autoMaxInFlight,proto3" json:"auto_max_in_flight,omitempty"`
	// The minimum amount, expressed in satoshis, that the autoloop client will
	// dispatch a swap for. This value is subject to the server-side limits
	// specified by the LoopOutTerms endpoint.
	MinSwapAmount uint64 `protobuf:"varint,14,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"`
	// The maximum amount, expressed in satoshis, that the autoloop client will
	// dispatch a swap for. This value is subject to the server-side limits
	// specified by the LoopOutTerms endpoint.
	MaxSwapAmount uint64 `protobuf:"varint,15,opt,name=max_swap_amount,json=maxSwapAmount,proto3" json:"max_swap_amount,omitempty"`
	// The confirmation target for loop in on-chain htlcs.
	HtlcConfTarget int32 `protobuf:"varint,17,opt,name=htlc_conf_target,json=htlcConfTarget,proto3" json:"htlc_conf_target,omitempty"`
	// The destination address to use for autoloop loop outs. Set to "default" in
	// order to revert to default behavior.
	AutoloopDestAddress string `protobuf:"bytes,18,opt,name=autoloop_dest_address,json=autoloopDestAddress,proto3" json:"autoloop_dest_address,omitempty"`
	// The period over which the autoloop budget is refreshed, expressed in
	// seconds.
	AutoloopBudgetRefreshPeriodSec uint64 `protobuf:"varint,19,opt,name=autoloop_budget_refresh_period_sec,json=autoloopBudgetRefreshPeriodSec,proto3" json:"autoloop_budget_refresh_period_sec,omitempty"`
	// The time at which the autoloop budget was last refreshed, expressed as a
	// UNIX timestamp in seconds.
	AutoloopBudgetLastRefresh uint64 `protobuf:"varint,20,opt,name=autoloop_budget_last_refresh,json=autoloopBudgetLastRefresh,proto3" json:"autoloop_budget_last_refresh,omitempty"`
	// Set to true to enable easy autoloop. If set, all channel/peer rules will be
	// overridden and the client will automatically dispatch swaps in order to meet
	// the configured local balance target size. Currently only loop out is
	// supported, meaning that easy autoloop can only reduce the funds that are
	// held as balance in channels.
	EasyAutoloop bool `protobuf:"varint,21,opt,name=easy_autoloop,json=easyAutoloop,proto3" json:"easy_autoloop,omitempty"`
	// The local balance target size, expressed in satoshis. This is used by easy
	// autoloop to determine how much liquidity should be maintained in channels.
	EasyAutoloopLocalTargetSat uint64 `protobuf:"varint,22,opt,name=easy_autoloop_local_target_sat,json=easyAutoloopLocalTargetSat,proto3" json:"easy_autoloop_local_target_sat,omitempty"`
	// An alternative destination address source for the swap. This field
	// represents the name of the account in the backing lnd instance.
	// Refer to lnd's wallet import functions for reference.
	Account string `protobuf:"bytes,23,opt,name=account,proto3" json:"account,omitempty"`
	// The address type of the account specified in the account field.
	AccountAddrType AddressType `protobuf:"varint,24,opt,name=account_addr_type,json=accountAddrType,proto3,enum=looprpc.AddressType" json:"account_addr_type,omitempty"`
	// A map of asset parameters to use for swaps. The key is the asset id and the
	// value is the parameters to use for swaps in that asset.
	EasyAssetParams map[string]*EasyAssetAutoloopParams `protobuf:"bytes,25,rep,name=easy_asset_params,json=easyAssetParams,proto3" json:"easy_asset_params,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Set to true to enable fast swap publication. If set, the server will
	// publish the HTLC immediately after receiving the swap request. This
	// setting has direct implications on the swap fees, as fast swaps may
	// not be able to be batched with other swaps.
	FastSwapPublication bool `protobuf:"varint,26,opt,name=fast_swap_publication,json=fastSwapPublication,proto3" json:"fast_swap_publication,omitempty"`
	// A list of peers (their public keys) that should be excluded from the easy
	// autoloop run. If set, channels connected to these peers won't be
	// considered for easy autoloop swaps.
	EasyAutoloopExcludedPeers [][]byte `protobuf:"bytes,27,rep,name=easy_autoloop_excluded_peers,json=easyAutoloopExcludedPeers,proto3" json:"easy_autoloop_excluded_peers,omitempty"`
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

func (x *LiquidityParameters) Reset() {
	*x = LiquidityParameters{}
	mi := &file_client_proto_msgTypes[35]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LiquidityParameters) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LiquidityParameters) ProtoMessage() {}

func (x *LiquidityParameters) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[35]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LiquidityParameters.ProtoReflect.Descriptor instead.
func (*LiquidityParameters) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{35}
}

func (x *LiquidityParameters) GetRules() []*LiquidityRule {
	if x != nil {
		return x.Rules
	}
	return nil
}

func (x *LiquidityParameters) GetFeePpm() uint64 {
	if x != nil {
		return x.FeePpm
	}
	return 0
}

func (x *LiquidityParameters) GetSweepFeeRateSatPerVbyte() uint64 {
	if x != nil {
		return x.SweepFeeRateSatPerVbyte
	}
	return 0
}

func (x *LiquidityParameters) GetMaxSwapFeePpm() uint64 {
	if x != nil {
		return x.MaxSwapFeePpm
	}
	return 0
}

func (x *LiquidityParameters) GetMaxRoutingFeePpm() uint64 {
	if x != nil {
		return x.MaxRoutingFeePpm
	}
	return 0
}

func (x *LiquidityParameters) GetMaxPrepayRoutingFeePpm() uint64 {
	if x != nil {
		return x.MaxPrepayRoutingFeePpm
	}
	return 0
}

func (x *LiquidityParameters) GetMaxPrepaySat() uint64 {
	if x != nil {
		return x.MaxPrepaySat
	}
	return 0
}

func (x *LiquidityParameters) GetMaxMinerFeeSat() uint64 {
	if x != nil {
		return x.MaxMinerFeeSat
	}
	return 0
}

func (x *LiquidityParameters) GetSweepConfTarget() int32 {
	if x != nil {
		return x.SweepConfTarget
	}
	return 0
}

func (x *LiquidityParameters) GetFailureBackoffSec() uint64 {
	if x != nil {
		return x.FailureBackoffSec
	}
	return 0
}

func (x *LiquidityParameters) GetAutoloop() bool {
	if x != nil {
		return x.Autoloop
	}
	return false
}

func (x *LiquidityParameters) GetAutoloopBudgetSat() uint64 {
	if x != nil {
		return x.AutoloopBudgetSat
	}
	return 0
}

// Deprecated: Marked as deprecated in client.proto.
func (x *LiquidityParameters) GetAutoloopBudgetStartSec() uint64 {
	if x != nil {
		return x.AutoloopBudgetStartSec
	}
	return 0
}

func (x *LiquidityParameters) GetAutoMaxInFlight() uint64 {
	if x != nil {
		return x.AutoMaxInFlight
	}
	return 0
}

func (x *LiquidityParameters) GetMinSwapAmount() uint64 {
	if x != nil {
		return x.MinSwapAmount
	}
	return 0
}

func (x *LiquidityParameters) GetMaxSwapAmount() uint64 {
	if x != nil {
		return x.MaxSwapAmount
	}
	return 0
}

func (x *LiquidityParameters) GetHtlcConfTarget() int32 {
	if x != nil {
		return x.HtlcConfTarget
	}
	return 0
}

func (x *LiquidityParameters) GetAutoloopDestAddress() string {
	if x != nil {
		return x.AutoloopDestAddress
	}
	return ""
}

func (x *LiquidityParameters) GetAutoloopBudgetRefreshPeriodSec() uint64 {
	if x != nil {
		return x.AutoloopBudgetRefreshPeriodSec
	}
	return 0
}

func (x *LiquidityParameters) GetAutoloopBudgetLastRefresh() uint64 {
	if x != nil {
		return x.AutoloopBudgetLastRefresh
	}
	return 0
}

func (x *LiquidityParameters) GetEasyAutoloop() bool {
	if x != nil {
		return x.EasyAutoloop
	}
	return false
}

func (x *LiquidityParameters) GetEasyAutoloopLocalTargetSat() uint64 {
	if x != nil {
		return x.EasyAutoloopLocalTargetSat
	}
	return 0
}

func (x *LiquidityParameters) GetAccount() string {
	if x != nil {
		return x.Account
	}
	return ""
}

func (x *LiquidityParameters) GetAccountAddrType() AddressType {
	if x != nil {
		return x.AccountAddrType
	}
	return AddressType_ADDRESS_TYPE_UNKNOWN
}

func (x *LiquidityParameters) GetEasyAssetParams() map[string]*EasyAssetAutoloopParams {
	if x != nil {
		return x.EasyAssetParams
	}
	return nil
}

func (x *LiquidityParameters) GetFastSwapPublication() bool {
	if x != nil {
		return x.FastSwapPublication
	}
	return false
}

func (x *LiquidityParameters) GetEasyAutoloopExcludedPeers() [][]byte {
	if x != nil {
		return x.EasyAutoloopExcludedPeers
	}
	return nil
}

type EasyAssetAutoloopParams struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Set to true to enable easy autoloop for this asset. If set the client will
	// automatically dispatch swaps in order to meet the configured local balance
	// target size. Currently only loop out is supported, meaning that easy
	// autoloop can only reduce the funds that are held as balance in channels.
	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// The local balance target size, expressed in the asset's base units. This is
	// used by easy autoloop to determine how much liquidity should be maintained
	// in channels.
	LocalTargetAssetAmt uint64 `protobuf:"varint,2,opt,name=local_target_asset_amt,json=localTargetAssetAmt,proto3" json:"local_target_asset_amt,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *EasyAssetAutoloopParams) Reset() {
	*x = EasyAssetAutoloopParams{}
	mi := &file_client_proto_msgTypes[36]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EasyAssetAutoloopParams) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EasyAssetAutoloopParams) ProtoMessage() {}

func (x *EasyAssetAutoloopParams) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[36]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EasyAssetAutoloopParams.ProtoReflect.Descriptor instead.
func (*EasyAssetAutoloopParams) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{36}
}

func (x *EasyAssetAutoloopParams) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *EasyAssetAutoloopParams) GetLocalTargetAssetAmt() uint64 {
	if x != nil {
		return x.LocalTargetAssetAmt
	}
	return 0
}

type LiquidityRule struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The short channel ID of the channel that this rule should be applied to.
	// This field may not be set when the pubkey field is set.
	ChannelId uint64 `protobuf:"varint,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
	// The type of swap that will be dispatched for this rule.
	SwapType SwapType `protobuf:"varint,6,opt,name=swap_type,json=swapType,proto3,enum=looprpc.SwapType" json:"swap_type,omitempty"`
	// The public key of the peer that this rule should be applied to. This field
	// may not be set when the channel id field is set.
	Pubkey []byte `protobuf:"bytes,5,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	// Type indicates the type of rule that this message rule represents. Setting
	// this value will determine which fields are used in the message. The comments
	// on each field in this message will be prefixed with the LiquidityRuleType
	// they belong to.
	Type LiquidityRuleType `protobuf:"varint,2,opt,name=type,proto3,enum=looprpc.LiquidityRuleType" json:"type,omitempty"`
	// THRESHOLD: The percentage of total capacity that incoming capacity should
	// not drop beneath.
	IncomingThreshold uint32 `protobuf:"varint,3,opt,name=incoming_threshold,json=incomingThreshold,proto3" json:"incoming_threshold,omitempty"`
	// THRESHOLD: The percentage of total capacity that outgoing capacity should
	// not drop beneath.
	OutgoingThreshold uint32 `protobuf:"varint,4,opt,name=outgoing_threshold,json=outgoingThreshold,proto3" json:"outgoing_threshold,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *LiquidityRule) Reset() {
	*x = LiquidityRule{}
	mi := &file_client_proto_msgTypes[37]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LiquidityRule) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LiquidityRule) ProtoMessage() {}

func (x *LiquidityRule) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[37]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LiquidityRule.ProtoReflect.Descriptor instead.
func (*LiquidityRule) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{37}
}

func (x *LiquidityRule) GetChannelId() uint64 {
	if x != nil {
		return x.ChannelId
	}
	return 0
}

func (x *LiquidityRule) GetSwapType() SwapType {
	if x != nil {
		return x.SwapType
	}
	return SwapType_LOOP_OUT
}

func (x *LiquidityRule) GetPubkey() []byte {
	if x != nil {
		return x.Pubkey
	}
	return nil
}

func (x *LiquidityRule) GetType() LiquidityRuleType {
	if x != nil {
		return x.Type
	}
	return LiquidityRuleType_UNKNOWN
}

func (x *LiquidityRule) GetIncomingThreshold() uint32 {
	if x != nil {
		return x.IncomingThreshold
	}
	return 0
}

func (x *LiquidityRule) GetOutgoingThreshold() uint32 {
	if x != nil {
		return x.OutgoingThreshold
	}
	return 0
}

type SetLiquidityParamsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Parameters is the desired new set of parameters for the liquidity management
	// subsystem. Note that the current set of parameters will be completely
	// overwritten by the parameters provided (if they are valid), so the full set
	// of parameters should be provided for each call.
	Parameters    *LiquidityParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetLiquidityParamsRequest) Reset() {
	*x = SetLiquidityParamsRequest{}
	mi := &file_client_proto_msgTypes[38]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SetLiquidityParamsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetLiquidityParamsRequest) ProtoMessage() {}

func (x *SetLiquidityParamsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[38]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetLiquidityParamsRequest.ProtoReflect.Descriptor instead.
func (*SetLiquidityParamsRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{38}
}

func (x *SetLiquidityParamsRequest) GetParameters() *LiquidityParameters {
	if x != nil {
		return x.Parameters
	}
	return nil
}

type SetLiquidityParamsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SetLiquidityParamsResponse) Reset() {
	*x = SetLiquidityParamsResponse{}
	mi := &file_client_proto_msgTypes[39]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SetLiquidityParamsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SetLiquidityParamsResponse) ProtoMessage() {}

func (x *SetLiquidityParamsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[39]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SetLiquidityParamsResponse.ProtoReflect.Descriptor instead.
func (*SetLiquidityParamsResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{39}
}

type SuggestSwapsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SuggestSwapsRequest) Reset() {
	*x = SuggestSwapsRequest{}
	mi := &file_client_proto_msgTypes[40]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SuggestSwapsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SuggestSwapsRequest) ProtoMessage() {}

func (x *SuggestSwapsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[40]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SuggestSwapsRequest.ProtoReflect.Descriptor instead.
func (*SuggestSwapsRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{40}
}

type Disqualified struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The short channel ID of the channel that was excluded from our suggestions.
	ChannelId uint64 `protobuf:"varint,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"`
	// The public key of the peer that was excluded from our suggestions.
	Pubkey []byte `protobuf:"bytes,3,opt,name=pubkey,proto3" json:"pubkey,omitempty"`
	// The reason that we excluded the channel from the our suggestions.
	Reason        AutoReason `protobuf:"varint,2,opt,name=reason,proto3,enum=looprpc.AutoReason" json:"reason,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Disqualified) Reset() {
	*x = Disqualified{}
	mi := &file_client_proto_msgTypes[41]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Disqualified) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Disqualified) ProtoMessage() {}

func (x *Disqualified) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[41]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Disqualified.ProtoReflect.Descriptor instead.
func (*Disqualified) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{41}
}

func (x *Disqualified) GetChannelId() uint64 {
	if x != nil {
		return x.ChannelId
	}
	return 0
}

func (x *Disqualified) GetPubkey() []byte {
	if x != nil {
		return x.Pubkey
	}
	return nil
}

func (x *Disqualified) GetReason() AutoReason {
	if x != nil {
		return x.Reason
	}
	return AutoReason_AUTO_REASON_UNKNOWN
}

type SuggestSwapsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The set of recommended loop outs.
	LoopOut []*LoopOutRequest `protobuf:"bytes,1,rep,name=loop_out,json=loopOut,proto3" json:"loop_out,omitempty"`
	// The set of recommended loop in swaps
	LoopIn []*LoopInRequest `protobuf:"bytes,3,rep,name=loop_in,json=loopIn,proto3" json:"loop_in,omitempty"`
	// Disqualified contains the set of channels that swaps are not recommended
	// for.
	Disqualified  []*Disqualified `protobuf:"bytes,2,rep,name=disqualified,proto3" json:"disqualified,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *SuggestSwapsResponse) Reset() {
	*x = SuggestSwapsResponse{}
	mi := &file_client_proto_msgTypes[42]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SuggestSwapsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SuggestSwapsResponse) ProtoMessage() {}

func (x *SuggestSwapsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[42]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SuggestSwapsResponse.ProtoReflect.Descriptor instead.
func (*SuggestSwapsResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{42}
}

func (x *SuggestSwapsResponse) GetLoopOut() []*LoopOutRequest {
	if x != nil {
		return x.LoopOut
	}
	return nil
}

func (x *SuggestSwapsResponse) GetLoopIn() []*LoopInRequest {
	if x != nil {
		return x.LoopIn
	}
	return nil
}

func (x *SuggestSwapsResponse) GetDisqualified() []*Disqualified {
	if x != nil {
		return x.Disqualified
	}
	return nil
}

type AbandonSwapRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The swap identifier which currently is the hash that locks the HTLCs. When
	// using REST, this field must be encoded as URL safe base64.
	Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// A flag that tries to ensure that the client understands that they are
	// risking loss of funds by abandoning a swap. This could happen if an
	// abandoned swap would wait on a timeout sweep by the client.
	IKnowWhatIAmDoing bool `protobuf:"varint,2,opt,name=i_know_what_i_am_doing,json=iKnowWhatIAmDoing,proto3" json:"i_know_what_i_am_doing,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *AbandonSwapRequest) Reset() {
	*x = AbandonSwapRequest{}
	mi := &file_client_proto_msgTypes[43]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AbandonSwapRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AbandonSwapRequest) ProtoMessage() {}

func (x *AbandonSwapRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[43]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AbandonSwapRequest.ProtoReflect.Descriptor instead.
func (*AbandonSwapRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{43}
}

func (x *AbandonSwapRequest) GetId() []byte {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *AbandonSwapRequest) GetIKnowWhatIAmDoing() bool {
	if x != nil {
		return x.IKnowWhatIAmDoing
	}
	return false
}

type AbandonSwapResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AbandonSwapResponse) Reset() {
	*x = AbandonSwapResponse{}
	mi := &file_client_proto_msgTypes[44]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AbandonSwapResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AbandonSwapResponse) ProtoMessage() {}

func (x *AbandonSwapResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[44]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AbandonSwapResponse.ProtoReflect.Descriptor instead.
func (*AbandonSwapResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{44}
}

type ListReservationsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListReservationsRequest) Reset() {
	*x = ListReservationsRequest{}
	mi := &file_client_proto_msgTypes[45]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListReservationsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListReservationsRequest) ProtoMessage() {}

func (x *ListReservationsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[45]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListReservationsRequest.ProtoReflect.Descriptor instead.
func (*ListReservationsRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{45}
}

type ListReservationsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The list of all currently known reservations and their status.
	Reservations  []*ClientReservation `protobuf:"bytes,1,rep,name=reservations,proto3" json:"reservations,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListReservationsResponse) Reset() {
	*x = ListReservationsResponse{}
	mi := &file_client_proto_msgTypes[46]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListReservationsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListReservationsResponse) ProtoMessage() {}

func (x *ListReservationsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[46]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListReservationsResponse.ProtoReflect.Descriptor instead.
func (*ListReservationsResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{46}
}

func (x *ListReservationsResponse) GetReservations() []*ClientReservation {
	if x != nil {
		return x.Reservations
	}
	return nil
}

type ClientReservation struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The reservation id that identifies this reservation.
	ReservationId []byte `protobuf:"bytes,1,opt,name=reservation_id,json=reservationId,proto3" json:"reservation_id,omitempty"`
	// The state the reservation is in.
	State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	// The amount that the reservation is for.
	Amount uint64 `protobuf:"varint,3,opt,name=amount,proto3" json:"amount,omitempty"`
	// The transaction id of the reservation.
	TxId string `protobuf:"bytes,4,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"`
	// The vout of the reservation.
	Vout uint32 `protobuf:"varint,5,opt,name=vout,proto3" json:"vout,omitempty"`
	// The expiry of the reservation.
	Expiry        uint32 `protobuf:"varint,6,opt,name=expiry,proto3" json:"expiry,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ClientReservation) Reset() {
	*x = ClientReservation{}
	mi := &file_client_proto_msgTypes[47]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ClientReservation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ClientReservation) ProtoMessage() {}

func (x *ClientReservation) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[47]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ClientReservation.ProtoReflect.Descriptor instead.
func (*ClientReservation) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{47}
}

func (x *ClientReservation) GetReservationId() []byte {
	if x != nil {
		return x.ReservationId
	}
	return nil
}

func (x *ClientReservation) GetState() string {
	if x != nil {
		return x.State
	}
	return ""
}

func (x *ClientReservation) GetAmount() uint64 {
	if x != nil {
		return x.Amount
	}
	return 0
}

func (x *ClientReservation) GetTxId() string {
	if x != nil {
		return x.TxId
	}
	return ""
}

func (x *ClientReservation) GetVout() uint32 {
	if x != nil {
		return x.Vout
	}
	return 0
}

func (x *ClientReservation) GetExpiry() uint32 {
	if x != nil {
		return x.Expiry
	}
	return 0
}

type InstantOutRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The reservations to use for the swap.
	ReservationIds [][]byte `protobuf:"bytes,1,rep,name=reservation_ids,json=reservationIds,proto3" json:"reservation_ids,omitempty"`
	// A restriction on the channel set that may be used to loop out. The actual
	// channel(s) that will be used are selected based on the lowest routing fee
	// for the swap payment to the server.
	OutgoingChanSet []uint64 `protobuf:"varint,2,rep,packed,name=outgoing_chan_set,json=outgoingChanSet,proto3" json:"outgoing_chan_set,omitempty"`
	// An optional address to sweep the onchain funds to. If not set, the funds
	// will be swept to the wallet's internal address.
	DestAddr      string `protobuf:"bytes,3,opt,name=dest_addr,json=destAddr,proto3" json:"dest_addr,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InstantOutRequest) Reset() {
	*x = InstantOutRequest{}
	mi := &file_client_proto_msgTypes[48]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InstantOutRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InstantOutRequest) ProtoMessage() {}

func (x *InstantOutRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[48]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InstantOutRequest.ProtoReflect.Descriptor instead.
func (*InstantOutRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{48}
}

func (x *InstantOutRequest) GetReservationIds() [][]byte {
	if x != nil {
		return x.ReservationIds
	}
	return nil
}

func (x *InstantOutRequest) GetOutgoingChanSet() []uint64 {
	if x != nil {
		return x.OutgoingChanSet
	}
	return nil
}

func (x *InstantOutRequest) GetDestAddr() string {
	if x != nil {
		return x.DestAddr
	}
	return ""
}

type InstantOutResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The hash of the swap preimage.
	InstantOutHash []byte `protobuf:"bytes,1,opt,name=instant_out_hash,json=instantOutHash,proto3" json:"instant_out_hash,omitempty"`
	// The transaction id of the sweep transaction.
	SweepTxId string `protobuf:"bytes,2,opt,name=sweep_tx_id,json=sweepTxId,proto3" json:"sweep_tx_id,omitempty"`
	// The state of the swap.
	State         string `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InstantOutResponse) Reset() {
	*x = InstantOutResponse{}
	mi := &file_client_proto_msgTypes[49]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InstantOutResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InstantOutResponse) ProtoMessage() {}

func (x *InstantOutResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[49]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InstantOutResponse.ProtoReflect.Descriptor instead.
func (*InstantOutResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{49}
}

func (x *InstantOutResponse) GetInstantOutHash() []byte {
	if x != nil {
		return x.InstantOutHash
	}
	return nil
}

func (x *InstantOutResponse) GetSweepTxId() string {
	if x != nil {
		return x.SweepTxId
	}
	return ""
}

func (x *InstantOutResponse) GetState() string {
	if x != nil {
		return x.State
	}
	return ""
}

type InstantOutQuoteRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The amount to swap in satoshis.
	Amt uint64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"`
	// Deprecated: use 'reservation_ids' instead.
	// The amount of reservations to use for the swap.
	//
	// Deprecated: Marked as deprecated in client.proto.
	NumReservations int32 `protobuf:"varint,2,opt,name=num_reservations,json=numReservations,proto3" json:"num_reservations,omitempty"`
	// The reservations to use for the swap.
	ReservationIds [][]byte `protobuf:"bytes,3,rep,name=reservation_ids,json=reservationIds,proto3" json:"reservation_ids,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *InstantOutQuoteRequest) Reset() {
	*x = InstantOutQuoteRequest{}
	mi := &file_client_proto_msgTypes[50]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InstantOutQuoteRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InstantOutQuoteRequest) ProtoMessage() {}

func (x *InstantOutQuoteRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[50]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InstantOutQuoteRequest.ProtoReflect.Descriptor instead.
func (*InstantOutQuoteRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{50}
}

func (x *InstantOutQuoteRequest) GetAmt() uint64 {
	if x != nil {
		return x.Amt
	}
	return 0
}

// Deprecated: Marked as deprecated in client.proto.
func (x *InstantOutQuoteRequest) GetNumReservations() int32 {
	if x != nil {
		return x.NumReservations
	}
	return 0
}

func (x *InstantOutQuoteRequest) GetReservationIds() [][]byte {
	if x != nil {
		return x.ReservationIds
	}
	return nil
}

type InstantOutQuoteResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The fee that the swap service is charging for the swap.
	ServiceFeeSat int64 `protobuf:"varint,1,opt,name=service_fee_sat,json=serviceFeeSat,proto3" json:"service_fee_sat,omitempty"`
	// The estimated on-chain fee that needs to be paid to publish the Sweepless
	// Sweep.
	SweepFeeSat   int64 `protobuf:"varint,2,opt,name=sweep_fee_sat,json=sweepFeeSat,proto3" json:"sweep_fee_sat,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InstantOutQuoteResponse) Reset() {
	*x = InstantOutQuoteResponse{}
	mi := &file_client_proto_msgTypes[51]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InstantOutQuoteResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InstantOutQuoteResponse) ProtoMessage() {}

func (x *InstantOutQuoteResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[51]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InstantOutQuoteResponse.ProtoReflect.Descriptor instead.
func (*InstantOutQuoteResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{51}
}

func (x *InstantOutQuoteResponse) GetServiceFeeSat() int64 {
	if x != nil {
		return x.ServiceFeeSat
	}
	return 0
}

func (x *InstantOutQuoteResponse) GetSweepFeeSat() int64 {
	if x != nil {
		return x.SweepFeeSat
	}
	return 0
}

type ListInstantOutsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListInstantOutsRequest) Reset() {
	*x = ListInstantOutsRequest{}
	mi := &file_client_proto_msgTypes[52]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListInstantOutsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListInstantOutsRequest) ProtoMessage() {}

func (x *ListInstantOutsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[52]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListInstantOutsRequest.ProtoReflect.Descriptor instead.
func (*ListInstantOutsRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{52}
}

type ListInstantOutsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The list of all currently known instant out swaps and their status.
	Swaps         []*InstantOut `protobuf:"bytes,1,rep,name=swaps,proto3" json:"swaps,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListInstantOutsResponse) Reset() {
	*x = ListInstantOutsResponse{}
	mi := &file_client_proto_msgTypes[53]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListInstantOutsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListInstantOutsResponse) ProtoMessage() {}

func (x *ListInstantOutsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[53]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListInstantOutsResponse.ProtoReflect.Descriptor instead.
func (*ListInstantOutsResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{53}
}

func (x *ListInstantOutsResponse) GetSwaps() []*InstantOut {
	if x != nil {
		return x.Swaps
	}
	return nil
}

type InstantOut struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The swap hash that identifies this swap.
	SwapHash []byte `protobuf:"bytes,1,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
	// The state the swap is in.
	State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	// The amount of the swap.
	Amount uint64 `protobuf:"varint,3,opt,name=amount,proto3" json:"amount,omitempty"`
	// The used reservations for the swap.
	ReservationIds [][]byte `protobuf:"bytes,4,rep,name=reservation_ids,json=reservationIds,proto3" json:"reservation_ids,omitempty"`
	// The sweep transaction id of the swap.
	SweepTxId     string `protobuf:"bytes,5,opt,name=sweep_tx_id,json=sweepTxId,proto3" json:"sweep_tx_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InstantOut) Reset() {
	*x = InstantOut{}
	mi := &file_client_proto_msgTypes[54]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InstantOut) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InstantOut) ProtoMessage() {}

func (x *InstantOut) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[54]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InstantOut.ProtoReflect.Descriptor instead.
func (*InstantOut) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{54}
}

func (x *InstantOut) GetSwapHash() []byte {
	if x != nil {
		return x.SwapHash
	}
	return nil
}

func (x *InstantOut) GetState() string {
	if x != nil {
		return x.State
	}
	return ""
}

func (x *InstantOut) GetAmount() uint64 {
	if x != nil {
		return x.Amount
	}
	return 0
}

func (x *InstantOut) GetReservationIds() [][]byte {
	if x != nil {
		return x.ReservationIds
	}
	return nil
}

func (x *InstantOut) GetSweepTxId() string {
	if x != nil {
		return x.SweepTxId
	}
	return ""
}

type NewStaticAddressRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The client's public key for the 2-of-2 MuSig2 taproot static address.
	ClientKey     []byte `protobuf:"bytes,1,opt,name=client_key,json=clientKey,proto3" json:"client_key,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *NewStaticAddressRequest) Reset() {
	*x = NewStaticAddressRequest{}
	mi := &file_client_proto_msgTypes[55]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *NewStaticAddressRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NewStaticAddressRequest) ProtoMessage() {}

func (x *NewStaticAddressRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[55]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NewStaticAddressRequest.ProtoReflect.Descriptor instead.
func (*NewStaticAddressRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{55}
}

func (x *NewStaticAddressRequest) GetClientKey() []byte {
	if x != nil {
		return x.ClientKey
	}
	return nil
}

type NewStaticAddressResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The taproot static address.
	Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// The CSV expiry of the static address.
	Expiry        uint32 `protobuf:"varint,2,opt,name=expiry,proto3" json:"expiry,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *NewStaticAddressResponse) Reset() {
	*x = NewStaticAddressResponse{}
	mi := &file_client_proto_msgTypes[56]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *NewStaticAddressResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*NewStaticAddressResponse) ProtoMessage() {}

func (x *NewStaticAddressResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[56]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use NewStaticAddressResponse.ProtoReflect.Descriptor instead.
func (*NewStaticAddressResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{56}
}

func (x *NewStaticAddressResponse) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *NewStaticAddressResponse) GetExpiry() uint32 {
	if x != nil {
		return x.Expiry
	}
	return 0
}

type ListUnspentDepositsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The number of minimum confirmations a utxo must have to be listed.
	MinConfs int32 `protobuf:"varint,1,opt,name=min_confs,json=minConfs,proto3" json:"min_confs,omitempty"`
	// The number of maximum confirmations a utxo may have to be listed. A zero
	// value indicates that there is no maximum.
	MaxConfs      int32 `protobuf:"varint,2,opt,name=max_confs,json=maxConfs,proto3" json:"max_confs,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListUnspentDepositsRequest) Reset() {
	*x = ListUnspentDepositsRequest{}
	mi := &file_client_proto_msgTypes[57]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListUnspentDepositsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListUnspentDepositsRequest) ProtoMessage() {}

func (x *ListUnspentDepositsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[57]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListUnspentDepositsRequest.ProtoReflect.Descriptor instead.
func (*ListUnspentDepositsRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{57}
}

func (x *ListUnspentDepositsRequest) GetMinConfs() int32 {
	if x != nil {
		return x.MinConfs
	}
	return 0
}

func (x *ListUnspentDepositsRequest) GetMaxConfs() int32 {
	if x != nil {
		return x.MaxConfs
	}
	return 0
}

type ListUnspentDepositsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A list of utxos behind the static address.
	Utxos         []*Utxo `protobuf:"bytes,1,rep,name=utxos,proto3" json:"utxos,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListUnspentDepositsResponse) Reset() {
	*x = ListUnspentDepositsResponse{}
	mi := &file_client_proto_msgTypes[58]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListUnspentDepositsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListUnspentDepositsResponse) ProtoMessage() {}

func (x *ListUnspentDepositsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[58]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListUnspentDepositsResponse.ProtoReflect.Descriptor instead.
func (*ListUnspentDepositsResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{58}
}

func (x *ListUnspentDepositsResponse) GetUtxos() []*Utxo {
	if x != nil {
		return x.Utxos
	}
	return nil
}

type Utxo struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The static address of the utxo.
	StaticAddress string `protobuf:"bytes,1,opt,name=static_address,json=staticAddress,proto3" json:"static_address,omitempty"`
	// The value of the unspent coin in satoshis.
	AmountSat int64 `protobuf:"varint,2,opt,name=amount_sat,json=amountSat,proto3" json:"amount_sat,omitempty"`
	// The outpoint in the form txid:index.
	Outpoint string `protobuf:"bytes,3,opt,name=outpoint,proto3" json:"outpoint,omitempty"`
	// The number of confirmations for the Utxo.
	Confirmations int64 `protobuf:"varint,4,opt,name=confirmations,proto3" json:"confirmations,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Utxo) Reset() {
	*x = Utxo{}
	mi := &file_client_proto_msgTypes[59]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Utxo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Utxo) ProtoMessage() {}

func (x *Utxo) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[59]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Utxo.ProtoReflect.Descriptor instead.
func (*Utxo) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{59}
}

func (x *Utxo) GetStaticAddress() string {
	if x != nil {
		return x.StaticAddress
	}
	return ""
}

func (x *Utxo) GetAmountSat() int64 {
	if x != nil {
		return x.AmountSat
	}
	return 0
}

func (x *Utxo) GetOutpoint() string {
	if x != nil {
		return x.Outpoint
	}
	return ""
}

func (x *Utxo) GetConfirmations() int64 {
	if x != nil {
		return x.Confirmations
	}
	return 0
}

type WithdrawDepositsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The outpoints of the deposits to withdraw.
	Outpoints []*lnrpc.OutPoint `protobuf:"bytes,1,rep,name=outpoints,proto3" json:"outpoints,omitempty"`
	// If set to true, all deposits will be withdrawn.
	All bool `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"`
	// The address to withdraw the funds to.
	DestAddr string `protobuf:"bytes,3,opt,name=dest_addr,json=destAddr,proto3" json:"dest_addr,omitempty"`
	// The fee rate in sat/vbyte to use for the withdrawal transaction.
	SatPerVbyte int64 `protobuf:"varint,4,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"`
	// The amount in satoshis that should be withdrawn from the selected deposits.
	// If there is change, it will be sent back to the static address. The fees for
	// the transaction are taken from the change output. If the change is below
	// the dust limit, there won't be a change output and the dust goes towards
	// fees.
	Amount        int64 `protobuf:"varint,5,opt,name=amount,proto3" json:"amount,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WithdrawDepositsRequest) Reset() {
	*x = WithdrawDepositsRequest{}
	mi := &file_client_proto_msgTypes[60]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WithdrawDepositsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WithdrawDepositsRequest) ProtoMessage() {}

func (x *WithdrawDepositsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[60]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WithdrawDepositsRequest.ProtoReflect.Descriptor instead.
func (*WithdrawDepositsRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{60}
}

func (x *WithdrawDepositsRequest) GetOutpoints() []*lnrpc.OutPoint {
	if x != nil {
		return x.Outpoints
	}
	return nil
}

func (x *WithdrawDepositsRequest) GetAll() bool {
	if x != nil {
		return x.All
	}
	return false
}

func (x *WithdrawDepositsRequest) GetDestAddr() string {
	if x != nil {
		return x.DestAddr
	}
	return ""
}

func (x *WithdrawDepositsRequest) GetSatPerVbyte() int64 {
	if x != nil {
		return x.SatPerVbyte
	}
	return 0
}

func (x *WithdrawDepositsRequest) GetAmount() int64 {
	if x != nil {
		return x.Amount
	}
	return 0
}

type WithdrawDepositsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The transaction hash of the withdrawal transaction.
	WithdrawalTxHash string `protobuf:"bytes,1,opt,name=withdrawal_tx_hash,json=withdrawalTxHash,proto3" json:"withdrawal_tx_hash,omitempty"`
	// The destination address of the withdrawal transaction.
	Address       string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *WithdrawDepositsResponse) Reset() {
	*x = WithdrawDepositsResponse{}
	mi := &file_client_proto_msgTypes[61]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *WithdrawDepositsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*WithdrawDepositsResponse) ProtoMessage() {}

func (x *WithdrawDepositsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[61]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use WithdrawDepositsResponse.ProtoReflect.Descriptor instead.
func (*WithdrawDepositsResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{61}
}

func (x *WithdrawDepositsResponse) GetWithdrawalTxHash() string {
	if x != nil {
		return x.WithdrawalTxHash
	}
	return ""
}

func (x *WithdrawDepositsResponse) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

type ListStaticAddressDepositsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Filters the list of all stored deposits by deposit state.
	StateFilter DepositState `protobuf:"varint,1,opt,name=state_filter,json=stateFilter,proto3,enum=looprpc.DepositState" json:"state_filter,omitempty"`
	// Filters the list of all stored deposits by the outpoint.
	Outpoints     []string `protobuf:"bytes,2,rep,name=outpoints,proto3" json:"outpoints,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListStaticAddressDepositsRequest) Reset() {
	*x = ListStaticAddressDepositsRequest{}
	mi := &file_client_proto_msgTypes[62]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListStaticAddressDepositsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListStaticAddressDepositsRequest) ProtoMessage() {}

func (x *ListStaticAddressDepositsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[62]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListStaticAddressDepositsRequest.ProtoReflect.Descriptor instead.
func (*ListStaticAddressDepositsRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{62}
}

func (x *ListStaticAddressDepositsRequest) GetStateFilter() DepositState {
	if x != nil {
		return x.StateFilter
	}
	return DepositState_UNKNOWN_STATE
}

func (x *ListStaticAddressDepositsRequest) GetOutpoints() []string {
	if x != nil {
		return x.Outpoints
	}
	return nil
}

type ListStaticAddressDepositsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A list of all deposits that match the filtered state.
	FilteredDeposits []*Deposit `protobuf:"bytes,1,rep,name=filtered_deposits,json=filteredDeposits,proto3" json:"filtered_deposits,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ListStaticAddressDepositsResponse) Reset() {
	*x = ListStaticAddressDepositsResponse{}
	mi := &file_client_proto_msgTypes[63]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListStaticAddressDepositsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListStaticAddressDepositsResponse) ProtoMessage() {}

func (x *ListStaticAddressDepositsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[63]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListStaticAddressDepositsResponse.ProtoReflect.Descriptor instead.
func (*ListStaticAddressDepositsResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{63}
}

func (x *ListStaticAddressDepositsResponse) GetFilteredDeposits() []*Deposit {
	if x != nil {
		return x.FilteredDeposits
	}
	return nil
}

type ListStaticAddressWithdrawalRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListStaticAddressWithdrawalRequest) Reset() {
	*x = ListStaticAddressWithdrawalRequest{}
	mi := &file_client_proto_msgTypes[64]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListStaticAddressWithdrawalRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListStaticAddressWithdrawalRequest) ProtoMessage() {}

func (x *ListStaticAddressWithdrawalRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[64]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListStaticAddressWithdrawalRequest.ProtoReflect.Descriptor instead.
func (*ListStaticAddressWithdrawalRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{64}
}

type ListStaticAddressWithdrawalResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A list of all static address withdrawals.
	Withdrawals   []*StaticAddressWithdrawal `protobuf:"bytes,1,rep,name=withdrawals,proto3" json:"withdrawals,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListStaticAddressWithdrawalResponse) Reset() {
	*x = ListStaticAddressWithdrawalResponse{}
	mi := &file_client_proto_msgTypes[65]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListStaticAddressWithdrawalResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListStaticAddressWithdrawalResponse) ProtoMessage() {}

func (x *ListStaticAddressWithdrawalResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[65]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListStaticAddressWithdrawalResponse.ProtoReflect.Descriptor instead.
func (*ListStaticAddressWithdrawalResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{65}
}

func (x *ListStaticAddressWithdrawalResponse) GetWithdrawals() []*StaticAddressWithdrawal {
	if x != nil {
		return x.Withdrawals
	}
	return nil
}

type ListStaticAddressSwapsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListStaticAddressSwapsRequest) Reset() {
	*x = ListStaticAddressSwapsRequest{}
	mi := &file_client_proto_msgTypes[66]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListStaticAddressSwapsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListStaticAddressSwapsRequest) ProtoMessage() {}

func (x *ListStaticAddressSwapsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[66]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListStaticAddressSwapsRequest.ProtoReflect.Descriptor instead.
func (*ListStaticAddressSwapsRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{66}
}

type ListStaticAddressSwapsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// A list of all swaps known static address loop-in swaps.
	Swaps         []*StaticAddressLoopInSwap `protobuf:"bytes,1,rep,name=swaps,proto3" json:"swaps,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListStaticAddressSwapsResponse) Reset() {
	*x = ListStaticAddressSwapsResponse{}
	mi := &file_client_proto_msgTypes[67]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListStaticAddressSwapsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListStaticAddressSwapsResponse) ProtoMessage() {}

func (x *ListStaticAddressSwapsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[67]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListStaticAddressSwapsResponse.ProtoReflect.Descriptor instead.
func (*ListStaticAddressSwapsResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{67}
}

func (x *ListStaticAddressSwapsResponse) GetSwaps() []*StaticAddressLoopInSwap {
	if x != nil {
		return x.Swaps
	}
	return nil
}

type StaticAddressSummaryRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StaticAddressSummaryRequest) Reset() {
	*x = StaticAddressSummaryRequest{}
	mi := &file_client_proto_msgTypes[68]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StaticAddressSummaryRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StaticAddressSummaryRequest) ProtoMessage() {}

func (x *StaticAddressSummaryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[68]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StaticAddressSummaryRequest.ProtoReflect.Descriptor instead.
func (*StaticAddressSummaryRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{68}
}

type StaticAddressSummaryResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The static address of the client.
	StaticAddress string `protobuf:"bytes,1,opt,name=static_address,json=staticAddress,proto3" json:"static_address,omitempty"`
	// The CSV expiry of the static address.
	RelativeExpiryBlocks uint64 `protobuf:"varint,2,opt,name=relative_expiry_blocks,json=relativeExpiryBlocks,proto3" json:"relative_expiry_blocks,omitempty"`
	// The total number of deposits.
	TotalNumDeposits uint32 `protobuf:"varint,3,opt,name=total_num_deposits,json=totalNumDeposits,proto3" json:"total_num_deposits,omitempty"`
	// The total value of unconfirmed deposits.
	ValueUnconfirmedSatoshis int64 `protobuf:"varint,4,opt,name=value_unconfirmed_satoshis,json=valueUnconfirmedSatoshis,proto3" json:"value_unconfirmed_satoshis,omitempty"`
	// The total value of confirmed deposits.
	ValueDepositedSatoshis int64 `protobuf:"varint,5,opt,name=value_deposited_satoshis,json=valueDepositedSatoshis,proto3" json:"value_deposited_satoshis,omitempty"`
	// The total value of all expired deposits.
	ValueExpiredSatoshis int64 `protobuf:"varint,6,opt,name=value_expired_satoshis,json=valueExpiredSatoshis,proto3" json:"value_expired_satoshis,omitempty"`
	// The total value of all deposits that have been withdrawn.
	ValueWithdrawnSatoshis int64 `protobuf:"varint,7,opt,name=value_withdrawn_satoshis,json=valueWithdrawnSatoshis,proto3" json:"value_withdrawn_satoshis,omitempty"`
	// The total value of all loop-ins that have been finalized.
	ValueLoopedInSatoshis int64 `protobuf:"varint,8,opt,name=value_looped_in_satoshis,json=valueLoopedInSatoshis,proto3" json:"value_looped_in_satoshis,omitempty"`
	// The total value of all htlc timeout sweeps that the client swept.
	ValueHtlcTimeoutSweepsSatoshis int64 `protobuf:"varint,9,opt,name=value_htlc_timeout_sweeps_satoshis,json=valueHtlcTimeoutSweepsSatoshis,proto3" json:"value_htlc_timeout_sweeps_satoshis,omitempty"`
	// The total value of all deposits that have been used for channel openings.
	ValueChannelsOpened int64 `protobuf:"varint,10,opt,name=value_channels_opened,json=valueChannelsOpened,proto3" json:"value_channels_opened,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *StaticAddressSummaryResponse) Reset() {
	*x = StaticAddressSummaryResponse{}
	mi := &file_client_proto_msgTypes[69]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StaticAddressSummaryResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StaticAddressSummaryResponse) ProtoMessage() {}

func (x *StaticAddressSummaryResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[69]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StaticAddressSummaryResponse.ProtoReflect.Descriptor instead.
func (*StaticAddressSummaryResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{69}
}

func (x *StaticAddressSummaryResponse) GetStaticAddress() string {
	if x != nil {
		return x.StaticAddress
	}
	return ""
}

func (x *StaticAddressSummaryResponse) GetRelativeExpiryBlocks() uint64 {
	if x != nil {
		return x.RelativeExpiryBlocks
	}
	return 0
}

func (x *StaticAddressSummaryResponse) GetTotalNumDeposits() uint32 {
	if x != nil {
		return x.TotalNumDeposits
	}
	return 0
}

func (x *StaticAddressSummaryResponse) GetValueUnconfirmedSatoshis() int64 {
	if x != nil {
		return x.ValueUnconfirmedSatoshis
	}
	return 0
}

func (x *StaticAddressSummaryResponse) GetValueDepositedSatoshis() int64 {
	if x != nil {
		return x.ValueDepositedSatoshis
	}
	return 0
}

func (x *StaticAddressSummaryResponse) GetValueExpiredSatoshis() int64 {
	if x != nil {
		return x.ValueExpiredSatoshis
	}
	return 0
}

func (x *StaticAddressSummaryResponse) GetValueWithdrawnSatoshis() int64 {
	if x != nil {
		return x.ValueWithdrawnSatoshis
	}
	return 0
}

func (x *StaticAddressSummaryResponse) GetValueLoopedInSatoshis() int64 {
	if x != nil {
		return x.ValueLoopedInSatoshis
	}
	return 0
}

func (x *StaticAddressSummaryResponse) GetValueHtlcTimeoutSweepsSatoshis() int64 {
	if x != nil {
		return x.ValueHtlcTimeoutSweepsSatoshis
	}
	return 0
}

func (x *StaticAddressSummaryResponse) GetValueChannelsOpened() int64 {
	if x != nil {
		return x.ValueChannelsOpened
	}
	return 0
}

type Deposit struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The identifier of the deposit.
	Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The state of the deposit.
	State DepositState `protobuf:"varint,2,opt,name=state,proto3,enum=looprpc.DepositState" json:"state,omitempty"`
	// The outpoint of the deposit in format txid:index.
	Outpoint string `protobuf:"bytes,3,opt,name=outpoint,proto3" json:"outpoint,omitempty"`
	// The value of the deposit in satoshis.
	Value int64 `protobuf:"varint,4,opt,name=value,proto3" json:"value,omitempty"`
	// The block height at which the deposit was confirmed.
	ConfirmationHeight int64 `protobuf:"varint,5,opt,name=confirmation_height,json=confirmationHeight,proto3" json:"confirmation_height,omitempty"`
	// The number of blocks that are left until the deposit cannot be used for a
	// loop-in swap anymore.
	BlocksUntilExpiry int64 `protobuf:"varint,6,opt,name=blocks_until_expiry,json=blocksUntilExpiry,proto3" json:"blocks_until_expiry,omitempty"`
	// The swap hash of the swap that this deposit is part of. This field is only
	// set if the deposit is part of a loop-in swap.
	SwapHash      []byte `protobuf:"bytes,7,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Deposit) Reset() {
	*x = Deposit{}
	mi := &file_client_proto_msgTypes[70]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Deposit) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Deposit) ProtoMessage() {}

func (x *Deposit) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[70]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Deposit.ProtoReflect.Descriptor instead.
func (*Deposit) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{70}
}

func (x *Deposit) GetId() []byte {
	if x != nil {
		return x.Id
	}
	return nil
}

func (x *Deposit) GetState() DepositState {
	if x != nil {
		return x.State
	}
	return DepositState_UNKNOWN_STATE
}

func (x *Deposit) GetOutpoint() string {
	if x != nil {
		return x.Outpoint
	}
	return ""
}

func (x *Deposit) GetValue() int64 {
	if x != nil {
		return x.Value
	}
	return 0
}

func (x *Deposit) GetConfirmationHeight() int64 {
	if x != nil {
		return x.ConfirmationHeight
	}
	return 0
}

func (x *Deposit) GetBlocksUntilExpiry() int64 {
	if x != nil {
		return x.BlocksUntilExpiry
	}
	return 0
}

func (x *Deposit) GetSwapHash() []byte {
	if x != nil {
		return x.SwapHash
	}
	return nil
}

type StaticAddressWithdrawal struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The transaction id of the withdrawal transaction.
	TxId string `protobuf:"bytes,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"`
	// The selected deposits that is withdrawn from.
	Deposits []*Deposit `protobuf:"bytes,2,rep,name=deposits,proto3" json:"deposits,omitempty"`
	// The sum of the deposit values that was selected for withdrawal.
	TotalDepositAmountSatoshis int64 `protobuf:"varint,3,opt,name=total_deposit_amount_satoshis,json=totalDepositAmountSatoshis,proto3" json:"total_deposit_amount_satoshis,omitempty"`
	// The actual amount that was withdrawn from the selected deposits. This value
	// represents the sum of selected deposit values minus tx fees minus optional
	// change output.
	WithdrawnAmountSatoshis int64 `protobuf:"varint,4,opt,name=withdrawn_amount_satoshis,json=withdrawnAmountSatoshis,proto3" json:"withdrawn_amount_satoshis,omitempty"`
	// An optional change.
	ChangeAmountSatoshis int64 `protobuf:"varint,5,opt,name=change_amount_satoshis,json=changeAmountSatoshis,proto3" json:"change_amount_satoshis,omitempty"`
	// The confirmation block height of the withdrawal transaction.
	ConfirmationHeight uint32 `protobuf:"varint,6,opt,name=confirmation_height,json=confirmationHeight,proto3" json:"confirmation_height,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *StaticAddressWithdrawal) Reset() {
	*x = StaticAddressWithdrawal{}
	mi := &file_client_proto_msgTypes[71]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StaticAddressWithdrawal) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StaticAddressWithdrawal) ProtoMessage() {}

func (x *StaticAddressWithdrawal) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[71]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StaticAddressWithdrawal.ProtoReflect.Descriptor instead.
func (*StaticAddressWithdrawal) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{71}
}

func (x *StaticAddressWithdrawal) GetTxId() string {
	if x != nil {
		return x.TxId
	}
	return ""
}

func (x *StaticAddressWithdrawal) GetDeposits() []*Deposit {
	if x != nil {
		return x.Deposits
	}
	return nil
}

func (x *StaticAddressWithdrawal) GetTotalDepositAmountSatoshis() int64 {
	if x != nil {
		return x.TotalDepositAmountSatoshis
	}
	return 0
}

func (x *StaticAddressWithdrawal) GetWithdrawnAmountSatoshis() int64 {
	if x != nil {
		return x.WithdrawnAmountSatoshis
	}
	return 0
}

func (x *StaticAddressWithdrawal) GetChangeAmountSatoshis() int64 {
	if x != nil {
		return x.ChangeAmountSatoshis
	}
	return 0
}

func (x *StaticAddressWithdrawal) GetConfirmationHeight() uint32 {
	if x != nil {
		return x.ConfirmationHeight
	}
	return 0
}

type StaticAddressLoopInSwap struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The swap hash of the swap. It represents the unique identifier of the swap.
	SwapHash []byte `protobuf:"bytes,1,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
	DepositOutpoints []string `protobuf:"bytes,2,rep,name=deposit_outpoints,json=depositOutpoints,proto3" json:"deposit_outpoints,omitempty"`
	State StaticAddressLoopInSwapState `protobuf:"varint,3,opt,name=state,proto3,enum=looprpc.StaticAddressLoopInSwapState" json:"state,omitempty"`
	// The swap amount of the swap. It is the sum of the values of the deposit
	// outpoints that were used for this swap.
	SwapAmountSatoshis int64 `protobuf:"varint,4,opt,name=swap_amount_satoshis,json=swapAmountSatoshis,proto3" json:"swap_amount_satoshis,omitempty"`
	// The invoiced swap amount. It is the swap amount minus the quoted server
	// fees.
	PaymentRequestAmountSatoshis int64 `protobuf:"varint,5,opt,name=payment_request_amount_satoshis,json=paymentRequestAmountSatoshis,proto3" json:"payment_request_amount_satoshis,omitempty"`
	// The deposits that were used for this swap.
	Deposits      []*Deposit `protobuf:"bytes,6,rep,name=deposits,proto3" json:"deposits,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StaticAddressLoopInSwap) Reset() {
	*x = StaticAddressLoopInSwap{}
	mi := &file_client_proto_msgTypes[72]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StaticAddressLoopInSwap) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StaticAddressLoopInSwap) ProtoMessage() {}

func (x *StaticAddressLoopInSwap) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[72]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StaticAddressLoopInSwap.ProtoReflect.Descriptor instead.
func (*StaticAddressLoopInSwap) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{72}
}

func (x *StaticAddressLoopInSwap) GetSwapHash() []byte {
	if x != nil {
		return x.SwapHash
	}
	return nil
}

func (x *StaticAddressLoopInSwap) GetDepositOutpoints() []string {
	if x != nil {
		return x.DepositOutpoints
	}
	return nil
}

func (x *StaticAddressLoopInSwap) GetState() StaticAddressLoopInSwapState {
	if x != nil {
		return x.State
	}
	return StaticAddressLoopInSwapState_UNKNOWN_STATIC_ADDRESS_SWAP_STATE
}

func (x *StaticAddressLoopInSwap) GetSwapAmountSatoshis() int64 {
	if x != nil {
		return x.SwapAmountSatoshis
	}
	return 0
}

func (x *StaticAddressLoopInSwap) GetPaymentRequestAmountSatoshis() int64 {
	if x != nil {
		return x.PaymentRequestAmountSatoshis
	}
	return 0
}

func (x *StaticAddressLoopInSwap) GetDeposits() []*Deposit {
	if x != nil {
		return x.Deposits
	}
	return nil
}

type StaticAddressLoopInRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The outpoints of the deposits to loop-in.
	Outpoints []string `protobuf:"bytes,1,rep,name=outpoints,proto3" json:"outpoints,omitempty"`
	// Maximum satoshis we are willing to pay the server for the swap. This value
	// is not disclosed in the swap initiation call, but if the server asks for a
	// higher fee, we abort the swap. Typically this value is taken from the
	// response of the GetQuote call.
	MaxSwapFeeSatoshis int64 `protobuf:"varint,2,opt,name=max_swap_fee_satoshis,json=maxSwapFeeSatoshis,proto3" json:"max_swap_fee_satoshis,omitempty"`
	// Optionally the client can specify the last hop pubkey when requesting a
	// loop-in quote. This is useful to get better off-chain routing fee from the
	// server.
	LastHop []byte `protobuf:"bytes,3,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"`
	// An optional label for this swap. This field is limited to 500 characters and
	// may not be one of the reserved values in loop/labels Reserved list.
	Label string `protobuf:"bytes,4,opt,name=label,proto3" json:"label,omitempty"`
	// An optional identification string that will be appended to the user agent
	// string sent to the server to give information about the usage of loop. This
	// initiator part is meant for user interfaces to add their name to give the
	// full picture of the binary used (loopd, LiT) and the method used for
	// triggering the swap (loop CLI, autolooper, LiT UI, other 3rd party UI).
	Initiator string `protobuf:"bytes,5,opt,name=initiator,proto3" json:"initiator,omitempty"`
	// Optional route hints to reach the destination through private channels.
	RouteHints []*swapserverrpc.RouteHint `protobuf:"bytes,6,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"`
	// Private indicates whether the destination node should be considered private.
	// In which case, loop will generate hop hints to assist with probing and
	// payment.
	Private bool `protobuf:"varint,7,opt,name=private,proto3" json:"private,omitempty"`
	// The swap payment timeout allows the user to specify an upper limit for the
	// amount of time the server is allowed to take to fulfill the off-chain swap
	// payment. If the timeout is reached the swap will be aborted on the server
	// side and the client can retry the swap with different parameters.
	PaymentTimeoutSeconds uint32 `protobuf:"varint,8,opt,name=payment_timeout_seconds,json=paymentTimeoutSeconds,proto3" json:"payment_timeout_seconds,omitempty"`
	// The optional swap amount the client is attempting to swap. It can be
	// provided in combination with the outpoints or separately. If provided with
	// outpoints the client takes out this amount from the sum of provided
	// outpoints and sends the change back to the static address. If the amount is
	// provided without outpoints, the client will select deposits automatically.
	// The coin selection strategy is simplified by sorting all available deposits
	// in descending order by amount, and equal amounts in ascending order of
	// blocks until expiry, and then selecting the largest deposits first until the
	// amount is reached. The change will be sent back to the static address. If a
	// subset of outpoints suffice to cover the specified amount the swap will be
	// canceled to allow the user to safe on transaction fees.
	Amount int64 `protobuf:"varint,9,opt,name=amount,proto3" json:"amount,omitempty"`
	// If set, request the server to use fast publication behavior.
	Fast          bool `protobuf:"varint,10,opt,name=fast,proto3" json:"fast,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StaticAddressLoopInRequest) Reset() {
	*x = StaticAddressLoopInRequest{}
	mi := &file_client_proto_msgTypes[73]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StaticAddressLoopInRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StaticAddressLoopInRequest) ProtoMessage() {}

func (x *StaticAddressLoopInRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[73]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StaticAddressLoopInRequest.ProtoReflect.Descriptor instead.
func (*StaticAddressLoopInRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{73}
}

func (x *StaticAddressLoopInRequest) GetOutpoints() []string {
	if x != nil {
		return x.Outpoints
	}
	return nil
}

func (x *StaticAddressLoopInRequest) GetMaxSwapFeeSatoshis() int64 {
	if x != nil {
		return x.MaxSwapFeeSatoshis
	}
	return 0
}

func (x *StaticAddressLoopInRequest) GetLastHop() []byte {
	if x != nil {
		return x.LastHop
	}
	return nil
}

func (x *StaticAddressLoopInRequest) GetLabel() string {
	if x != nil {
		return x.Label
	}
	return ""
}

func (x *StaticAddressLoopInRequest) GetInitiator() string {
	if x != nil {
		return x.Initiator
	}
	return ""
}

func (x *StaticAddressLoopInRequest) GetRouteHints() []*swapserverrpc.RouteHint {
	if x != nil {
		return x.RouteHints
	}
	return nil
}

func (x *StaticAddressLoopInRequest) GetPrivate() bool {
	if x != nil {
		return x.Private
	}
	return false
}

func (x *StaticAddressLoopInRequest) GetPaymentTimeoutSeconds() uint32 {
	if x != nil {
		return x.PaymentTimeoutSeconds
	}
	return 0
}

func (x *StaticAddressLoopInRequest) GetAmount() int64 {
	if x != nil {
		return x.Amount
	}
	return 0
}

func (x *StaticAddressLoopInRequest) GetFast() bool {
	if x != nil {
		return x.Fast
	}
	return false
}

type StaticAddressLoopInResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The swap hash that identifies this swap.
	SwapHash []byte `protobuf:"bytes,1,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
	// The state the swap is in.
	State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
	// The amount of the swap.
	Amount uint64 `protobuf:"varint,3,opt,name=amount,proto3" json:"amount,omitempty"`
	// The htlc cltv expiry height of the swap.
	HtlcCltv int32 `protobuf:"varint,4,opt,name=htlc_cltv,json=htlcCltv,proto3" json:"htlc_cltv,omitempty"`
	// The quoted swap fee in satoshis.
	QuotedSwapFeeSatoshis int64 `protobuf:"varint,5,opt,name=quoted_swap_fee_satoshis,json=quotedSwapFeeSatoshis,proto3" json:"quoted_swap_fee_satoshis,omitempty"`
	// The maximum total swap fee the client is willing to pay for the swap.
	MaxSwapFeeSatoshis int64 `protobuf:"varint,6,opt,name=max_swap_fee_satoshis,json=maxSwapFeeSatoshis,proto3" json:"max_swap_fee_satoshis,omitempty"`
	// The block height at which the swap was initiated.
	InitiationHeight uint32 `protobuf:"varint,7,opt,name=initiation_height,json=initiationHeight,proto3" json:"initiation_height,omitempty"`
	// The static address protocol version.
	ProtocolVersion string `protobuf:"bytes,8,opt,name=protocol_version,json=protocolVersion,proto3" json:"protocol_version,omitempty"`
	// An optional label for this swap.
	Label string `protobuf:"bytes,9,opt,name=label,proto3" json:"label,omitempty"`
	// An optional identification string that will be appended to the user agent
	// string sent to the server to give information about the usage of loop. This
	// initiator part is meant for user interfaces to add their name to give the
	// full picture of the binary used (loopd, LiT) and the method used for
	// triggering the swap (loop CLI, autolooper, LiT UI, other 3rd party UI).
	Initiator string `protobuf:"bytes,10,opt,name=initiator,proto3" json:"initiator,omitempty"`
	// The swap payment timeout allows the user to specify an upper limit for the
	// amount of time the server is allowed to take to fulfill the off-chain swap
	// payment. If the timeout is reached the swap will be aborted on the server
	// side and the client can retry the swap with different parameters.
	PaymentTimeoutSeconds uint32 `protobuf:"varint,11,opt,name=payment_timeout_seconds,json=paymentTimeoutSeconds,proto3" json:"payment_timeout_seconds,omitempty"`
	// The deposits that are used for this swap.
	UsedDeposits []*Deposit `protobuf:"bytes,12,rep,name=used_deposits,json=usedDeposits,proto3" json:"used_deposits,omitempty"`
	// The amount that is being swapped (may be less than total deposit value if
	// change is returned).
	SwapAmount uint64 `protobuf:"varint,13,opt,name=swap_amount,json=swapAmount,proto3" json:"swap_amount,omitempty"`
	// The change amount that will be returned to the static address.
	Change int64 `protobuf:"varint,14,opt,name=change,proto3" json:"change,omitempty"`
	// If set, indicates that the server was requested to use fast publication
	// behavior.
	Fast          bool `protobuf:"varint,15,opt,name=fast,proto3" json:"fast,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *StaticAddressLoopInResponse) Reset() {
	*x = StaticAddressLoopInResponse{}
	mi := &file_client_proto_msgTypes[74]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *StaticAddressLoopInResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*StaticAddressLoopInResponse) ProtoMessage() {}

func (x *StaticAddressLoopInResponse) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[74]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use StaticAddressLoopInResponse.ProtoReflect.Descriptor instead.
func (*StaticAddressLoopInResponse) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{74}
}

func (x *StaticAddressLoopInResponse) GetSwapHash() []byte {
	if x != nil {
		return x.SwapHash
	}
	return nil
}

func (x *StaticAddressLoopInResponse) GetState() string {
	if x != nil {
		return x.State
	}
	return ""
}

func (x *StaticAddressLoopInResponse) GetAmount() uint64 {
	if x != nil {
		return x.Amount
	}
	return 0
}

func (x *StaticAddressLoopInResponse) GetHtlcCltv() int32 {
	if x != nil {
		return x.HtlcCltv
	}
	return 0
}

func (x *StaticAddressLoopInResponse) GetQuotedSwapFeeSatoshis() int64 {
	if x != nil {
		return x.QuotedSwapFeeSatoshis
	}
	return 0
}

func (x *StaticAddressLoopInResponse) GetMaxSwapFeeSatoshis() int64 {
	if x != nil {
		return x.MaxSwapFeeSatoshis
	}
	return 0
}

func (x *StaticAddressLoopInResponse) GetInitiationHeight() uint32 {
	if x != nil {
		return x.InitiationHeight
	}
	return 0
}

func (x *StaticAddressLoopInResponse) GetProtocolVersion() string {
	if x != nil {
		return x.ProtocolVersion
	}
	return ""
}

func (x *StaticAddressLoopInResponse) GetLabel() string {
	if x != nil {
		return x.Label
	}
	return ""
}

func (x *StaticAddressLoopInResponse) GetInitiator() string {
	if x != nil {
		return x.Initiator
	}
	return ""
}

func (x *StaticAddressLoopInResponse) GetPaymentTimeoutSeconds() uint32 {
	if x != nil {
		return x.PaymentTimeoutSeconds
	}
	return 0
}

func (x *StaticAddressLoopInResponse) GetUsedDeposits() []*Deposit {
	if x != nil {
		return x.UsedDeposits
	}
	return nil
}

func (x *StaticAddressLoopInResponse) GetSwapAmount() uint64 {
	if x != nil {
		return x.SwapAmount
	}
	return 0
}

func (x *StaticAddressLoopInResponse) GetChange() int64 {
	if x != nil {
		return x.Change
	}
	return 0
}

func (x *StaticAddressLoopInResponse) GetFast() bool {
	if x != nil {
		return x.Fast
	}
	return false
}

type AssetLoopOutRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The asset id to use to pay for the swap invoice. If set an
	// asset client is needed to set to be able to pay the invoice.
	AssetId []byte `protobuf:"bytes,1,opt,name=asset_id,json=assetId,proto3" json:"asset_id,omitempty"`
	// The node identity public key of the peer to ask for a quote for sending out
	// the assets and converting them to satoshis. This must be specified if
	// an asset id is set.
	AssetEdgeNode []byte `protobuf:"bytes,2,opt,name=asset_edge_node,json=assetEdgeNode,proto3" json:"asset_edge_node,omitempty"`
	// An optional maximum multiplier for the rfq rate. If not set, the default
	// will be 1.1. This means if we request a loop out quote for 1 BTC, the off
	// chain cost will be at most 1.1 BTC.
	MaxLimitMultiplier float64 `protobuf:"fixed64,3,opt,name=max_limit_multiplier,json=maxLimitMultiplier,proto3" json:"max_limit_multiplier,omitempty"`
	// An optional expiry unix timestamp for when the rfq quote should expire.
	Expiry        int64 `protobuf:"varint,4,opt,name=expiry,proto3" json:"expiry,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AssetLoopOutRequest) Reset() {
	*x = AssetLoopOutRequest{}
	mi := &file_client_proto_msgTypes[75]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AssetLoopOutRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AssetLoopOutRequest) ProtoMessage() {}

func (x *AssetLoopOutRequest) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[75]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AssetLoopOutRequest.ProtoReflect.Descriptor instead.
func (*AssetLoopOutRequest) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{75}
}

func (x *AssetLoopOutRequest) GetAssetId() []byte {
	if x != nil {
		return x.AssetId
	}
	return nil
}

func (x *AssetLoopOutRequest) GetAssetEdgeNode() []byte {
	if x != nil {
		return x.AssetEdgeNode
	}
	return nil
}

func (x *AssetLoopOutRequest) GetMaxLimitMultiplier() float64 {
	if x != nil {
		return x.MaxLimitMultiplier
	}
	return 0
}

func (x *AssetLoopOutRequest) GetExpiry() int64 {
	if x != nil {
		return x.Expiry
	}
	return 0
}

type AssetRfqInfo struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The Prepay RFQ ID to use to pay for the prepay invoice.
	PrepayRfqId []byte `protobuf:"bytes,1,opt,name=prepay_rfq_id,json=prepayRfqId,proto3" json:"prepay_rfq_id,omitempty"`
	// The maximum asset amt we'll pay for the prepay payment. This includes the
	// max limit multiplier that was set in the request.
	MaxPrepayAssetAmt uint64 `protobuf:"varint,2,opt,name=max_prepay_asset_amt,json=maxPrepayAssetAmt,proto3" json:"max_prepay_asset_amt,omitempty"`
	// The asset to BTC conversion rate for the prepay invoice.
	PrepayAssetRate *FixedPoint `protobuf:"bytes,6,opt,name=prepay_asset_rate,json=prepayAssetRate,proto3" json:"prepay_asset_rate,omitempty"`
	// The Swap RFQ ID to use to pay for the swap invoice.
	SwapRfqId []byte `protobuf:"bytes,3,opt,name=swap_rfq_id,json=swapRfqId,proto3" json:"swap_rfq_id,omitempty"`
	// The maximum asset amt we'll pay for the swap payment. This includes the
	// max limit multiplier that was set in the request.
	MaxSwapAssetAmt uint64 `protobuf:"varint,4,opt,name=max_swap_asset_amt,json=maxSwapAssetAmt,proto3" json:"max_swap_asset_amt,omitempty"`
	// The asset to BTC conversion rate for the swap invoice.
	SwapAssetRate *FixedPoint `protobuf:"bytes,7,opt,name=swap_asset_rate,json=swapAssetRate,proto3" json:"swap_asset_rate,omitempty"`
	// The name of the asset to swap.
	AssetName     string `protobuf:"bytes,5,opt,name=asset_name,json=assetName,proto3" json:"asset_name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AssetRfqInfo) Reset() {
	*x = AssetRfqInfo{}
	mi := &file_client_proto_msgTypes[76]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AssetRfqInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AssetRfqInfo) ProtoMessage() {}

func (x *AssetRfqInfo) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[76]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AssetRfqInfo.ProtoReflect.Descriptor instead.
func (*AssetRfqInfo) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{76}
}

func (x *AssetRfqInfo) GetPrepayRfqId() []byte {
	if x != nil {
		return x.PrepayRfqId
	}
	return nil
}

func (x *AssetRfqInfo) GetMaxPrepayAssetAmt() uint64 {
	if x != nil {
		return x.MaxPrepayAssetAmt
	}
	return 0
}

func (x *AssetRfqInfo) GetPrepayAssetRate() *FixedPoint {
	if x != nil {
		return x.PrepayAssetRate
	}
	return nil
}

func (x *AssetRfqInfo) GetSwapRfqId() []byte {
	if x != nil {
		return x.SwapRfqId
	}
	return nil
}

func (x *AssetRfqInfo) GetMaxSwapAssetAmt() uint64 {
	if x != nil {
		return x.MaxSwapAssetAmt
	}
	return 0
}

func (x *AssetRfqInfo) GetSwapAssetRate() *FixedPoint {
	if x != nil {
		return x.SwapAssetRate
	}
	return nil
}

func (x *AssetRfqInfo) GetAssetName() string {
	if x != nil {
		return x.AssetName
	}
	return ""
}

// FixedPoint is a scaled integer representation of a fractional number.
//
// This type consists of two integer fields: a coefficient and a scale.
// Using this format enables precise and consistent representation of fractional
// numbers while avoiding floating-point data types, which are prone to
// precision errors.
//
// The relationship between the fractional representation and its fixed-point
// representation is expressed as:
// ```
// V = F_c / (10^F_s)
// ```
// where:
//
// * `V` is the fractional value.
//
//   - `F_c` is the coefficient component of the fixed-point representation. It is
//     the scaled-up fractional value represented as an integer.
//
//   - `F_s` is the scale component. It is an integer specifying how
//     many decimal places `F_c` should be divided by to obtain the fractional
//     representation.
type FixedPoint struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The coefficient is the fractional value scaled-up as an integer. This
	// integer is represented as a string as it may be too large to fit in a
	// uint64.
	Coefficient string `protobuf:"bytes,1,opt,name=coefficient,proto3" json:"coefficient,omitempty"`
	// The scale is the component that determines how many decimal places
	// the coefficient should be divided by to obtain the fractional value.
	Scale         uint32 `protobuf:"varint,2,opt,name=scale,proto3" json:"scale,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FixedPoint) Reset() {
	*x = FixedPoint{}
	mi := &file_client_proto_msgTypes[77]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FixedPoint) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FixedPoint) ProtoMessage() {}

func (x *FixedPoint) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[77]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FixedPoint.ProtoReflect.Descriptor instead.
func (*FixedPoint) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{77}
}

func (x *FixedPoint) GetCoefficient() string {
	if x != nil {
		return x.Coefficient
	}
	return ""
}

func (x *FixedPoint) GetScale() uint32 {
	if x != nil {
		return x.Scale
	}
	return 0
}

type AssetLoopOutInfo struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The asset id that was used to pay for the swap invoice.
	AssetId string `protobuf:"bytes,1,opt,name=asset_id,json=assetId,proto3" json:"asset_id,omitempty"`
	// The human readable name of the asset.
	AssetName string `protobuf:"bytes,2,opt,name=asset_name,json=assetName,proto3" json:"asset_name,omitempty"`
	// The total asset offchain cost of the swap.
	AssetCostOffchain uint64 `protobuf:"varint,3,opt,name=asset_cost_offchain,json=assetCostOffchain,proto3" json:"asset_cost_offchain,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *AssetLoopOutInfo) Reset() {
	*x = AssetLoopOutInfo{}
	mi := &file_client_proto_msgTypes[78]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AssetLoopOutInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AssetLoopOutInfo) ProtoMessage() {}

func (x *AssetLoopOutInfo) ProtoReflect() protoreflect.Message {
	mi := &file_client_proto_msgTypes[78]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AssetLoopOutInfo.ProtoReflect.Descriptor instead.
func (*AssetLoopOutInfo) Descriptor() ([]byte, []int) {
	return file_client_proto_rawDescGZIP(), []int{78}
}

func (x *AssetLoopOutInfo) GetAssetId() string {
	if x != nil {
		return x.AssetId
	}
	return ""
}

func (x *AssetLoopOutInfo) GetAssetName() string {
	if x != nil {
		return x.AssetName
	}
	return ""
}

func (x *AssetLoopOutInfo) GetAssetCostOffchain() uint64 {
	if x != nil {
		return x.AssetCostOffchain
	}
	return 0
}

var File_client_proto protoreflect.FileDescriptor

const file_client_proto_rawDesc = "" +
	"\n" +
	"\fclient.proto\x12\alooprpc\x1a\x1aswapserverrpc/common.proto\x1a\x15lnrpc/lightning.proto\"g\n" +
	"\x18StaticOpenChannelRequest\x12K\n" +
	"\x14open_channel_request\x18\x01 \x01(\v2\x19.lnrpc.OpenChannelRequestR\x12openChannelRequest\"O\n" +
	"\x19StaticOpenChannelResponse\x122\n" +
	"\x15channel_open_outpoint\x18\x01 \x01(\tR\x13channelOpenOutpoint\"\x13\n" +
	"\x11StopDaemonRequest\"\x14\n" +
	"\x12StopDaemonResponse\"\xff\x06\n" +
	"\x0eLoopOutRequest\x12\x10\n" +
	"\x03amt\x18\x01 \x01(\x03R\x03amt\x12\x12\n" +
	"\x04dest\x18\x02 \x01(\tR\x04dest\x12/\n" +
	"\x14max_swap_routing_fee\x18\x03 \x01(\x03R\x11maxSwapRoutingFee\x123\n" +
	"\x16max_prepay_routing_fee\x18\x04 \x01(\x03R\x13maxPrepayRoutingFee\x12 \n" +
	"\fmax_swap_fee\x18\x05 \x01(\x03R\n" +
	"maxSwapFee\x12$\n" +
	"\x0emax_prepay_amt\x18\x06 \x01(\x03R\fmaxPrepayAmt\x12\"\n" +
	"\rmax_miner_fee\x18\a \x01(\x03R\vmaxMinerFee\x12,\n" +
	"\x10loop_out_channel\x18\b \x01(\x04B\x02\x18\x01R\x0eloopOutChannel\x12*\n" +
	"\x11outgoing_chan_set\x18\v \x03(\x04R\x0foutgoingChanSet\x12*\n" +
	"\x11sweep_conf_target\x18\t \x01(\x05R\x0fsweepConfTarget\x12-\n" +
	"\x12htlc_confirmations\x18\r \x01(\x05R\x11htlcConfirmations\x12:\n" +
	"\x19swap_publication_deadline\x18\n" +
	" \x01(\x04R\x17swapPublicationDeadline\x12\x14\n" +
	"\x05label\x18\f \x01(\tR\x05label\x12\x1c\n" +
	"\tinitiator\x18\x0e \x01(\tR\tinitiator\x12\x18\n" +
	"\aaccount\x18\x0f \x01(\tR\aaccount\x12@\n" +
	"\x11account_addr_type\x18\x10 \x01(\x0e2\x14.looprpc.AddressTypeR\x0faccountAddrType\x12(\n" +
	"\x10is_external_addr\x18\x11 \x01(\bR\x0eisExternalAddr\x12'\n" +
	"\x0freservation_ids\x18\x12 \x03(\fR\x0ereservationIds\x12'\n" +
	"\x0fpayment_timeout\x18\x13 \x01(\rR\x0epaymentTimeout\x12;\n" +
	"\n" +
	"asset_info\x18\x14 \x01(\v2\x1c.looprpc.AssetLoopOutRequestR\tassetInfo\x12;\n" +
	"\x0easset_rfq_info\x18\x15 \x01(\v2\x15.looprpc.AssetRfqInfoR\fassetRfqInfo\"\xd4\x02\n" +
	"\rLoopInRequest\x12\x10\n" +
	"\x03amt\x18\x01 \x01(\x03R\x03amt\x12 \n" +
	"\fmax_swap_fee\x18\x02 \x01(\x03R\n" +
	"maxSwapFee\x12\"\n" +
	"\rmax_miner_fee\x18\x03 \x01(\x03R\vmaxMinerFee\x12\x19\n" +
	"\blast_hop\x18\x04 \x01(\fR\alastHop\x12#\n" +
	"\rexternal_htlc\x18\x05 \x01(\bR\fexternalHtlc\x12(\n" +
	"\x10htlc_conf_target\x18\x06 \x01(\x05R\x0ehtlcConfTarget\x12\x14\n" +
	"\x05label\x18\a \x01(\tR\x05label\x12\x1c\n" +
	"\tinitiator\x18\b \x01(\tR\tinitiator\x123\n" +
	"\vroute_hints\x18\t \x03(\v2\x12.looprpc.RouteHintR\n" +
	"routeHints\x12\x18\n" +
	"\aprivate\x18\n" +
	" \x01(\bR\aprivate\"\xeb\x01\n" +
	"\fSwapResponse\x12\x12\n" +
	"\x02id\x18\x01 \x01(\tB\x02\x18\x01R\x02id\x12\x19\n" +
	"\bid_bytes\x18\x03 \x01(\fR\aidBytes\x12%\n" +
	"\fhtlc_address\x18\x02 \x01(\tB\x02\x18\x01R\vhtlcAddress\x12,\n" +
	"\x12htlc_address_p2wsh\x18\x05 \x01(\tR\x10htlcAddressP2wsh\x12*\n" +
	"\x11htlc_address_p2tr\x18\a \x01(\tR\x0fhtlcAddressP2tr\x12%\n" +
	"\x0eserver_message\x18\x06 \x01(\tR\rserverMessageJ\x04\b\x04\x10\x05\"\x10\n" +
	"\x0eMonitorRequest\"\xb1\x05\n" +
	"\n" +
	"SwapStatus\x12\x10\n" +
	"\x03amt\x18\x01 \x01(\x03R\x03amt\x12\x12\n" +
	"\x02id\x18\x02 \x01(\tB\x02\x18\x01R\x02id\x12\x19\n" +
	"\bid_bytes\x18\v \x01(\fR\aidBytes\x12%\n" +
	"\x04type\x18\x03 \x01(\x0e2\x11.looprpc.SwapTypeR\x04type\x12(\n" +
	"\x05state\x18\x04 \x01(\x0e2\x12.looprpc.SwapStateR\x05state\x12=\n" +
	"\x0efailure_reason\x18\x0e \x01(\x0e2\x16.looprpc.FailureReasonR\rfailureReason\x12'\n" +
	"\x0finitiation_time\x18\x05 \x01(\x03R\x0einitiationTime\x12(\n" +
	"\x10last_update_time\x18\x06 \x01(\x03R\x0elastUpdateTime\x12%\n" +
	"\fhtlc_address\x18\a \x01(\tB\x02\x18\x01R\vhtlcAddress\x12,\n" +
	"\x12htlc_address_p2wsh\x18\f \x01(\tR\x10htlcAddressP2wsh\x12*\n" +
	"\x11htlc_address_p2tr\x18\x12 \x01(\tR\x0fhtlcAddressP2tr\x12\x1f\n" +
	"\vcost_server\x18\b \x01(\x03R\n" +
	"costServer\x12!\n" +
	"\fcost_onchain\x18\t \x01(\x03R\vcostOnchain\x12#\n" +
	"\rcost_offchain\x18\n" +
	" \x01(\x03R\fcostOffchain\x12\x19\n" +
	"\blast_hop\x18\x10 \x01(\fR\alastHop\x12*\n" +
	"\x11outgoing_chan_set\x18\x11 \x03(\x04R\x0foutgoingChanSet\x12\x14\n" +
	"\x05label\x18\x0f \x01(\tR\x05label\x128\n" +
	"\n" +
	"asset_info\x18\x13 \x01(\v2\x19.looprpc.AssetLoopOutInfoR\tassetInfo\"s\n" +
	"\x10ListSwapsRequest\x12B\n" +
	"\x10list_swap_filter\x18\x01 \x01(\v2\x18.looprpc.ListSwapsFilterR\x0elistSwapFilter\x12\x1b\n" +
	"\tmax_swaps\x18\x02 \x01(\x04R\bmaxSwaps\"\xf1\x02\n" +
	"\x0fListSwapsFilter\x12D\n" +
	"\tswap_type\x18\x01 \x01(\x0e2'.looprpc.ListSwapsFilter.SwapTypeFilterR\bswapType\x12!\n" +
	"\fpending_only\x18\x02 \x01(\bR\vpendingOnly\x12*\n" +
	"\x11outgoing_chan_set\x18\x03 \x03(\x04R\x0foutgoingChanSet\x12\x14\n" +
	"\x05label\x18\x04 \x01(\tR\x05label\x12'\n" +
	"\x10loop_in_last_hop\x18\x05 \x01(\fR\rloopInLastHop\x12&\n" +
	"\x0fasset_swap_only\x18\x06 \x01(\bR\rassetSwapOnly\x12,\n" +
	"\x12start_timestamp_ns\x18\a \x01(\x03R\x10startTimestampNs\"4\n" +
	"\x0eSwapTypeFilter\x12\a\n" +
	"\x03ANY\x10\x00\x12\f\n" +
	"\bLOOP_OUT\x10\x01\x12\v\n" +
	"\aLOOP_IN\x10\x02\"f\n" +
	"\x11ListSwapsResponse\x12)\n" +
	"\x05swaps\x18\x01 \x03(\v2\x13.looprpc.SwapStatusR\x05swaps\x12&\n" +
	"\x0fnext_start_time\x18\x02 \x01(\x03R\rnextStartTime\"\xce\x01\n" +
	"\x10SweepHtlcRequest\x12!\n" +
	"\fdest_address\x18\x01 \x01(\tR\vdestAddress\x12\"\n" +
	"\rsat_per_vbyte\x18\x02 \x01(\rR\vsatPerVbyte\x12\x1a\n" +
	"\boutpoint\x18\x03 \x01(\tR\boutpoint\x12\x1a\n" +
	"\bpreimage\x18\x04 \x01(\fR\bpreimage\x12\x18\n" +
	"\apublish\x18\x05 \x01(\bR\apublish\x12!\n" +
	"\fhtlc_address\x18\x06 \x01(\tR\vhtlcAddress\"\x86\x02\n" +
	"\x11SweepHtlcResponse\x12\x19\n" +
	"\bsweep_tx\x18\x01 \x01(\fR\asweepTx\x12\x19\n" +
	"\bfee_sats\x18\x02 \x01(\x04R\afeeSats\x12C\n" +
	"\rnot_requested\x18\x03 \x01(\v2\x1c.looprpc.PublishNotRequestedH\x00R\fnotRequested\x129\n" +
	"\tpublished\x18\x04 \x01(\v2\x19.looprpc.PublishSucceededH\x00R\tpublished\x120\n" +
	"\x06failed\x18\x05 \x01(\v2\x16.looprpc.PublishFailedH\x00R\x06failedB\t\n" +
	"\apublish\"\x15\n" +
	"\x13PublishNotRequested\"\x12\n" +
	"\x10PublishSucceeded\"%\n" +
	"\rPublishFailed\x12\x14\n" +
	"\x05error\x18\x01 \x01(\tR\x05error\"!\n" +
	"\x0fSwapInfoRequest\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\fR\x02id\"\x0e\n" +
	"\fTermsRequest\"\x7f\n" +
	"\x0fInTermsResponse\x12&\n" +
	"\x0fmin_swap_amount\x18\x05 \x01(\x03R\rminSwapAmount\x12&\n" +
	"\x0fmax_swap_amount\x18\x06 \x01(\x03R\rmaxSwapAmountJ\x04\b\x01\x10\x02J\x04\b\x02\x10\x03J\x04\b\x03\x10\x04J\x04\b\x04\x10\x05J\x04\b\a\x10\b\"\xcc\x01\n" +
	"\x10OutTermsResponse\x12&\n" +
	"\x0fmin_swap_amount\x18\x05 \x01(\x03R\rminSwapAmount\x12&\n" +
	"\x0fmax_swap_amount\x18\x06 \x01(\x03R\rmaxSwapAmount\x12$\n" +
	"\x0emin_cltv_delta\x18\b \x01(\x05R\fminCltvDelta\x12$\n" +
	"\x0emax_cltv_delta\x18\t \x01(\x05R\fmaxCltvDeltaJ\x04\b\x01\x10\x02J\x04\b\x02\x10\x03J\x04\b\x03\x10\x04J\x04\b\x04\x10\x05J\x04\b\a\x10\b\"\xd8\x03\n" +
	"\fQuoteRequest\x12\x10\n" +
	"\x03amt\x18\x01 \x01(\x03R\x03amt\x12\x1f\n" +
	"\vconf_target\x18\x02 \x01(\x05R\n" +
	"confTarget\x12#\n" +
	"\rexternal_htlc\x18\x03 \x01(\bR\fexternalHtlc\x12:\n" +
	"\x19swap_publication_deadline\x18\x04 \x01(\x04R\x17swapPublicationDeadline\x12'\n" +
	"\x10loop_in_last_hop\x18\x05 \x01(\fR\rloopInLastHop\x12A\n" +
	"\x13loop_in_route_hints\x18\x06 \x03(\v2\x12.looprpc.RouteHintR\x10loopInRouteHints\x12\x18\n" +
	"\aprivate\x18\a \x01(\bR\aprivate\x12+\n" +
	"\x11deposit_outpoints\x18\b \x03(\tR\x10depositOutpoints\x12;\n" +
	"\n" +
	"asset_info\x18\t \x01(\v2\x1c.looprpc.AssetLoopOutRequestR\tassetInfo\x120\n" +
	"\x14auto_select_deposits\x18\n" +
	" \x01(\bR\x12autoSelectDeposits\x12\x12\n" +
	"\x04fast\x18\v \x01(\bR\x04fast\"\xcf\x01\n" +
	"\x0fInQuoteResponse\x12 \n" +
	"\fswap_fee_sat\x18\x01 \x01(\x03R\n" +
	"swapFeeSat\x12/\n" +
	"\x14htlc_publish_fee_sat\x18\x03 \x01(\x03R\x11htlcPublishFeeSat\x12\x1d\n" +
	"\n" +
	"cltv_delta\x18\x05 \x01(\x05R\tcltvDelta\x12\x1f\n" +
	"\vconf_target\x18\x06 \x01(\x05R\n" +
	"confTarget\x12\x1d\n" +
	"\n" +
	"quoted_amt\x18\a \x01(\x03R\tquotedAmtJ\x04\b\x02\x10\x03J\x04\b\x04\x10\x05\"\xb0\x02\n" +
	"\x10OutQuoteResponse\x12 \n" +
	"\fswap_fee_sat\x18\x01 \x01(\x03R\n" +
	"swapFeeSat\x12$\n" +
	"\x0eprepay_amt_sat\x18\x02 \x01(\x03R\fprepayAmtSat\x12+\n" +
	"\x12htlc_sweep_fee_sat\x18\x03 \x01(\x03R\x0fhtlcSweepFeeSat\x12*\n" +
	"\x11swap_payment_dest\x18\x04 \x01(\fR\x0fswapPaymentDest\x12\x1d\n" +
	"\n" +
	"cltv_delta\x18\x05 \x01(\x05R\tcltvDelta\x12\x1f\n" +
	"\vconf_target\x18\x06 \x01(\x05R\n" +
	"confTarget\x12;\n" +
	"\x0easset_rfq_info\x18\a \x01(\v2\x15.looprpc.AssetRfqInfoR\fassetRfqInfo\"p\n" +
	"\fProbeRequest\x12\x10\n" +
	"\x03amt\x18\x01 \x01(\x03R\x03amt\x12\x19\n" +
	"\blast_hop\x18\x02 \x01(\fR\alastHop\x123\n" +
	"\vroute_hints\x18\x03 \x03(\v2\x12.looprpc.RouteHintR\n" +
	"routeHints\"\x0f\n" +
	"\rProbeResponse\"\x0f\n" +
	"\rTokensRequest\"<\n" +
	"\x0eTokensResponse\x12*\n" +
	"\x06tokens\x18\x01 \x03(\v2\x12.looprpc.L402TokenR\x06tokens\"\x17\n" +
	"\x15FetchL402TokenRequest\"\x18\n" +
	"\x16FetchL402TokenResponse\"\xcb\x02\n" +
	"\tL402Token\x12#\n" +
	"\rbase_macaroon\x18\x01 \x01(\fR\fbaseMacaroon\x12!\n" +
	"\fpayment_hash\x18\x02 \x01(\fR\vpaymentHash\x12)\n" +
	"\x10payment_preimage\x18\x03 \x01(\fR\x0fpaymentPreimage\x12(\n" +
	"\x10amount_paid_msat\x18\x04 \x01(\x03R\x0eamountPaidMsat\x121\n" +
	"\x15routing_fee_paid_msat\x18\x05 \x01(\x03R\x12routingFeePaidMsat\x12!\n" +
	"\ftime_created\x18\x06 \x01(\x03R\vtimeCreated\x12\x18\n" +
	"\aexpired\x18\a \x01(\bR\aexpired\x12!\n" +
	"\fstorage_name\x18\b \x01(\tR\vstorageName\x12\x0e\n" +
	"\x02id\x18\t \x01(\tR\x02id\"\xc8\x01\n" +
	"\tLoopStats\x12#\n" +
	"\rpending_count\x18\x01 \x01(\x04R\fpendingCount\x12#\n" +
	"\rsuccess_count\x18\x02 \x01(\x04R\fsuccessCount\x12\x1d\n" +
	"\n" +
	"fail_count\x18\x03 \x01(\x04R\tfailCount\x12&\n" +
	"\x0fsum_pending_amt\x18\x04 \x01(\x03R\rsumPendingAmt\x12*\n" +
	"\x11sum_succeeded_amt\x18\x05 \x01(\x03R\x0fsumSucceededAmt\"\x10\n" +
	"\x0eGetInfoRequest\"\xe1\x02\n" +
	"\x0fGetInfoResponse\x12\x18\n" +
	"\aversion\x18\x01 \x01(\tR\aversion\x12\x18\n" +
	"\anetwork\x18\x02 \x01(\tR\anetwork\x12\x1d\n" +
	"\n" +
	"rpc_listen\x18\x03 \x01(\tR\trpcListen\x12\x1f\n" +
	"\vrest_listen\x18\x04 \x01(\tR\n" +
	"restListen\x12#\n" +
	"\rmacaroon_path\x18\x05 \x01(\tR\fmacaroonPath\x12\"\n" +
	"\rtls_cert_path\x18\x06 \x01(\tR\vtlsCertPath\x128\n" +
	"\x0eloop_out_stats\x18\a \x01(\v2\x12.looprpc.LoopStatsR\floopOutStats\x126\n" +
	"\rloop_in_stats\x18\b \x01(\v2\x12.looprpc.LoopStatsR\vloopInStats\x12\x1f\n" +
	"\vcommit_hash\x18\t \x01(\tR\n" +
	"commitHash\"\x1b\n" +
	"\x19GetLiquidityParamsRequest\"\xce\v\n" +
	"\x13LiquidityParameters\x12,\n" +
	"\x05rules\x18\x01 \x03(\v2\x16.looprpc.LiquidityRuleR\x05rules\x12\x17\n" +
	"\afee_ppm\x18\x10 \x01(\x04R\x06feePpm\x12=\n" +
	"\x1csweep_fee_rate_sat_per_vbyte\x18\x02 \x01(\x04R\x17sweepFeeRateSatPerVbyte\x12'\n" +
	"\x10max_swap_fee_ppm\x18\x03 \x01(\x04R\rmaxSwapFeePpm\x12-\n" +
	"\x13max_routing_fee_ppm\x18\x04 \x01(\x04R\x10maxRoutingFeePpm\x12:\n" +
	"\x1amax_prepay_routing_fee_ppm\x18\x05 \x01(\x04R\x16maxPrepayRoutingFeePpm\x12$\n" +
	"\x0emax_prepay_sat\x18\x06 \x01(\x04R\fmaxPrepaySat\x12)\n" +
	"\x11max_miner_fee_sat\x18\a \x01(\x04R\x0emaxMinerFeeSat\x12*\n" +
	"\x11sweep_conf_target\x18\b \x01(\x05R\x0fsweepConfTarget\x12.\n" +
	"\x13failure_backoff_sec\x18\t \x01(\x04R\x11failureBackoffSec\x12\x1a\n" +
	"\bautoloop\x18\n" +
	" \x01(\bR\bautoloop\x12.\n" +
	"\x13autoloop_budget_sat\x18\v \x01(\x04R\x11autoloopBudgetSat\x12=\n" +
	"\x19autoloop_budget_start_sec\x18\f \x01(\x04B\x02\x18\x01R\x16autoloopBudgetStartSec\x12+\n" +
	"\x12auto_max_in_flight\x18\r \x01(\x04R\x0fautoMaxInFlight\x12&\n" +
	"\x0fmin_swap_amount\x18\x0e \x01(\x04R\rminSwapAmount\x12&\n" +
	"\x0fmax_swap_amount\x18\x0f \x01(\x04R\rmaxSwapAmount\x12(\n" +
	"\x10htlc_conf_target\x18\x11 \x01(\x05R\x0ehtlcConfTarget\x122\n" +
	"\x15autoloop_dest_address\x18\x12 \x01(\tR\x13autoloopDestAddress\x12J\n" +
	"\"autoloop_budget_refresh_period_sec\x18\x13 \x01(\x04R\x1eautoloopBudgetRefreshPeriodSec\x12?\n" +
	"\x1cautoloop_budget_last_refresh\x18\x14 \x01(\x04R\x19autoloopBudgetLastRefresh\x12#\n" +
	"\reasy_autoloop\x18\x15 \x01(\bR\feasyAutoloop\x12B\n" +
	"\x1eeasy_autoloop_local_target_sat\x18\x16 \x01(\x04R\x1aeasyAutoloopLocalTargetSat\x12\x18\n" +
	"\aaccount\x18\x17 \x01(\tR\aaccount\x12@\n" +
	"\x11account_addr_type\x18\x18 \x01(\x0e2\x14.looprpc.AddressTypeR\x0faccountAddrType\x12]\n" +
	"\x11easy_asset_params\x18\x19 \x03(\v21.looprpc.LiquidityParameters.EasyAssetParamsEntryR\x0feasyAssetParams\x122\n" +
	"\x15fast_swap_publication\x18\x1a \x01(\bR\x13fastSwapPublication\x12?\n" +
	"\x1ceasy_autoloop_excluded_peers\x18\x1b \x03(\fR\x19easyAutoloopExcludedPeers\x1ad\n" +
	"\x14EasyAssetParamsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x126\n" +
	"\x05value\x18\x02 \x01(\v2 .looprpc.EasyAssetAutoloopParamsR\x05value:\x028\x01\"h\n" +
	"\x17EasyAssetAutoloopParams\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\x123\n" +
	"\x16local_target_asset_amt\x18\x02 \x01(\x04R\x13localTargetAssetAmt\"\x84\x02\n" +
	"\rLiquidityRule\x12\x1d\n" +
	"\n" +
	"channel_id\x18\x01 \x01(\x04R\tchannelId\x12.\n" +
	"\tswap_type\x18\x06 \x01(\x0e2\x11.looprpc.SwapTypeR\bswapType\x12\x16\n" +
	"\x06pubkey\x18\x05 \x01(\fR\x06pubkey\x12.\n" +
	"\x04type\x18\x02 \x01(\x0e2\x1a.looprpc.LiquidityRuleTypeR\x04type\x12-\n" +
	"\x12incoming_threshold\x18\x03 \x01(\rR\x11incomingThreshold\x12-\n" +
	"\x12outgoing_threshold\x18\x04 \x01(\rR\x11outgoingThreshold\"Y\n" +
	"\x19SetLiquidityParamsRequest\x12<\n" +
	"\n" +
	"parameters\x18\x01 \x01(\v2\x1c.looprpc.LiquidityParametersR\n" +
	"parameters\"\x1c\n" +
	"\x1aSetLiquidityParamsResponse\"\x15\n" +
	"\x13SuggestSwapsRequest\"r\n" +
	"\fDisqualified\x12\x1d\n" +
	"\n" +
	"channel_id\x18\x01 \x01(\x04R\tchannelId\x12\x16\n" +
	"\x06pubkey\x18\x03 \x01(\fR\x06pubkey\x12+\n" +
	"\x06reason\x18\x02 \x01(\x0e2\x13.looprpc.AutoReasonR\x06reason\"\xb6\x01\n" +
	"\x14SuggestSwapsResponse\x122\n" +
	"\bloop_out\x18\x01 \x03(\v2\x17.looprpc.LoopOutRequestR\aloopOut\x12/\n" +
	"\aloop_in\x18\x03 \x03(\v2\x16.looprpc.LoopInRequestR\x06loopIn\x129\n" +
	"\fdisqualified\x18\x02 \x03(\v2\x15.looprpc.DisqualifiedR\fdisqualified\"W\n" +
	"\x12AbandonSwapRequest\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\fR\x02id\x121\n" +
	"\x16i_know_what_i_am_doing\x18\x02 \x01(\bR\x11iKnowWhatIAmDoing\"\x15\n" +
	"\x13AbandonSwapResponse\"\x19\n" +
	"\x17ListReservationsRequest\"Z\n" +
	"\x18ListReservationsResponse\x12>\n" +
	"\freservations\x18\x01 \x03(\v2\x1a.looprpc.ClientReservationR\freservations\"\xa9\x01\n" +
	"\x11ClientReservation\x12%\n" +
	"\x0ereservation_id\x18\x01 \x01(\fR\rreservationId\x12\x14\n" +
	"\x05state\x18\x02 \x01(\tR\x05state\x12\x16\n" +
	"\x06amount\x18\x03 \x01(\x04R\x06amount\x12\x13\n" +
	"\x05tx_id\x18\x04 \x01(\tR\x04txId\x12\x12\n" +
	"\x04vout\x18\x05 \x01(\rR\x04vout\x12\x16\n" +
	"\x06expiry\x18\x06 \x01(\rR\x06expiry\"\x85\x01\n" +
	"\x11InstantOutRequest\x12'\n" +
	"\x0freservation_ids\x18\x01 \x03(\fR\x0ereservationIds\x12*\n" +
	"\x11outgoing_chan_set\x18\x02 \x03(\x04R\x0foutgoingChanSet\x12\x1b\n" +
	"\tdest_addr\x18\x03 \x01(\tR\bdestAddr\"t\n" +
	"\x12InstantOutResponse\x12(\n" +
	"\x10instant_out_hash\x18\x01 \x01(\fR\x0einstantOutHash\x12\x1e\n" +
	"\vsweep_tx_id\x18\x02 \x01(\tR\tsweepTxId\x12\x14\n" +
	"\x05state\x18\x03 \x01(\tR\x05state\"\x82\x01\n" +
	"\x16InstantOutQuoteRequest\x12\x10\n" +
	"\x03amt\x18\x01 \x01(\x04R\x03amt\x12-\n" +
	"\x10num_reservations\x18\x02 \x01(\x05B\x02\x18\x01R\x0fnumReservations\x12'\n" +
	"\x0freservation_ids\x18\x03 \x03(\fR\x0ereservationIds\"e\n" +
	"\x17InstantOutQuoteResponse\x12&\n" +
	"\x0fservice_fee_sat\x18\x01 \x01(\x03R\rserviceFeeSat\x12\"\n" +
	"\rsweep_fee_sat\x18\x02 \x01(\x03R\vsweepFeeSat\"\x18\n" +
	"\x16ListInstantOutsRequest\"D\n" +
	"\x17ListInstantOutsResponse\x12)\n" +
	"\x05swaps\x18\x01 \x03(\v2\x13.looprpc.InstantOutR\x05swaps\"\xa0\x01\n" +
	"\n" +
	"InstantOut\x12\x1b\n" +
	"\tswap_hash\x18\x01 \x01(\fR\bswapHash\x12\x14\n" +
	"\x05state\x18\x02 \x01(\tR\x05state\x12\x16\n" +
	"\x06amount\x18\x03 \x01(\x04R\x06amount\x12'\n" +
	"\x0freservation_ids\x18\x04 \x03(\fR\x0ereservationIds\x12\x1e\n" +
	"\vsweep_tx_id\x18\x05 \x01(\tR\tsweepTxId\"8\n" +
	"\x17NewStaticAddressRequest\x12\x1d\n" +
	"\n" +
	"client_key\x18\x01 \x01(\fR\tclientKey\"L\n" +
	"\x18NewStaticAddressResponse\x12\x18\n" +
	"\aaddress\x18\x01 \x01(\tR\aaddress\x12\x16\n" +
	"\x06expiry\x18\x02 \x01(\rR\x06expiry\"V\n" +
	"\x1aListUnspentDepositsRequest\x12\x1b\n" +
	"\tmin_confs\x18\x01 \x01(\x05R\bminConfs\x12\x1b\n" +
	"\tmax_confs\x18\x02 \x01(\x05R\bmaxConfs\"B\n" +
	"\x1bListUnspentDepositsResponse\x12#\n" +
	"\x05utxos\x18\x01 \x03(\v2\r.looprpc.UtxoR\x05utxos\"\x8e\x01\n" +
	"\x04Utxo\x12%\n" +
	"\x0estatic_address\x18\x01 \x01(\tR\rstaticAddress\x12\x1d\n" +
	"\n" +
	"amount_sat\x18\x02 \x01(\x03R\tamountSat\x12\x1a\n" +
	"\boutpoint\x18\x03 \x01(\tR\boutpoint\x12$\n" +
	"\rconfirmations\x18\x04 \x01(\x03R\rconfirmations\"\xb3\x01\n" +
	"\x17WithdrawDepositsRequest\x12-\n" +
	"\toutpoints\x18\x01 \x03(\v2\x0f.lnrpc.OutPointR\toutpoints\x12\x10\n" +
	"\x03all\x18\x02 \x01(\bR\x03all\x12\x1b\n" +
	"\tdest_addr\x18\x03 \x01(\tR\bdestAddr\x12\"\n" +
	"\rsat_per_vbyte\x18\x04 \x01(\x03R\vsatPerVbyte\x12\x16\n" +
	"\x06amount\x18\x05 \x01(\x03R\x06amount\"b\n" +
	"\x18WithdrawDepositsResponse\x12,\n" +
	"\x12withdrawal_tx_hash\x18\x01 \x01(\tR\x10withdrawalTxHash\x12\x18\n" +
	"\aaddress\x18\x02 \x01(\tR\aaddress\"z\n" +
	" ListStaticAddressDepositsRequest\x128\n" +
	"\fstate_filter\x18\x01 \x01(\x0e2\x15.looprpc.DepositStateR\vstateFilter\x12\x1c\n" +
	"\toutpoints\x18\x02 \x03(\tR\toutpoints\"b\n" +
	"!ListStaticAddressDepositsResponse\x12=\n" +
	"\x11filtered_deposits\x18\x01 \x03(\v2\x10.looprpc.DepositR\x10filteredDeposits\"$\n" +
	"\"ListStaticAddressWithdrawalRequest\"i\n" +
	"#ListStaticAddressWithdrawalResponse\x12B\n" +
	"\vwithdrawals\x18\x01 \x03(\v2 .looprpc.StaticAddressWithdrawalR\vwithdrawals\"\x1f\n" +
	"\x1dListStaticAddressSwapsRequest\"X\n" +
	"\x1eListStaticAddressSwapsResponse\x126\n" +
	"\x05swaps\x18\x01 \x03(\v2 .looprpc.StaticAddressLoopInSwapR\x05swaps\"\x1d\n" +
	"\x1bStaticAddressSummaryRequest\"\xca\x04\n" +
	"\x1cStaticAddressSummaryResponse\x12%\n" +
	"\x0estatic_address\x18\x01 \x01(\tR\rstaticAddress\x124\n" +
	"\x16relative_expiry_blocks\x18\x02 \x01(\x04R\x14relativeExpiryBlocks\x12,\n" +
	"\x12total_num_deposits\x18\x03 \x01(\rR\x10totalNumDeposits\x12<\n" +
	"\x1avalue_unconfirmed_satoshis\x18\x04 \x01(\x03R\x18valueUnconfirmedSatoshis\x128\n" +
	"\x18value_deposited_satoshis\x18\x05 \x01(\x03R\x16valueDepositedSatoshis\x124\n" +
	"\x16value_expired_satoshis\x18\x06 \x01(\x03R\x14valueExpiredSatoshis\x128\n" +
	"\x18value_withdrawn_satoshis\x18\a \x01(\x03R\x16valueWithdrawnSatoshis\x127\n" +
	"\x18value_looped_in_satoshis\x18\b \x01(\x03R\x15valueLoopedInSatoshis\x12J\n" +
	"\"value_htlc_timeout_sweeps_satoshis\x18\t \x01(\x03R\x1evalueHtlcTimeoutSweepsSatoshis\x122\n" +
	"\x15value_channels_opened\x18\n" +
	" \x01(\x03R\x13valueChannelsOpened\"\xf6\x01\n" +
	"\aDeposit\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\fR\x02id\x12+\n" +
	"\x05state\x18\x02 \x01(\x0e2\x15.looprpc.DepositStateR\x05state\x12\x1a\n" +
	"\boutpoint\x18\x03 \x01(\tR\boutpoint\x12\x14\n" +
	"\x05value\x18\x04 \x01(\x03R\x05value\x12/\n" +
	"\x13confirmation_height\x18\x05 \x01(\x03R\x12confirmationHeight\x12.\n" +
	"\x13blocks_until_expiry\x18\x06 \x01(\x03R\x11blocksUntilExpiry\x12\x1b\n" +
	"\tswap_hash\x18\a \x01(\fR\bswapHash\"\xc2\x02\n" +
	"\x17StaticAddressWithdrawal\x12\x13\n" +
	"\x05tx_id\x18\x01 \x01(\tR\x04txId\x12,\n" +
	"\bdeposits\x18\x02 \x03(\v2\x10.looprpc.DepositR\bdeposits\x12A\n" +
	"\x1dtotal_deposit_amount_satoshis\x18\x03 \x01(\x03R\x1atotalDepositAmountSatoshis\x12:\n" +
	"\x19withdrawn_amount_satoshis\x18\x04 \x01(\x03R\x17withdrawnAmountSatoshis\x124\n" +
	"\x16change_amount_satoshis\x18\x05 \x01(\x03R\x14changeAmountSatoshis\x12/\n" +
	"\x13confirmation_height\x18\x06 \x01(\rR\x12confirmationHeight\"\xc7\x02\n" +
	"\x17StaticAddressLoopInSwap\x12\x1b\n" +
	"\tswap_hash\x18\x01 \x01(\fR\bswapHash\x12+\n" +
	"\x11deposit_outpoints\x18\x02 \x03(\tR\x10depositOutpoints\x12;\n" +
	"\x05state\x18\x03 \x01(\x0e2%.looprpc.StaticAddressLoopInSwapStateR\x05state\x120\n" +
	"\x14swap_amount_satoshis\x18\x04 \x01(\x03R\x12swapAmountSatoshis\x12E\n" +
	"\x1fpayment_request_amount_satoshis\x18\x05 \x01(\x03R\x1cpaymentRequestAmountSatoshis\x12,\n" +
	"\bdeposits\x18\x06 \x03(\v2\x10.looprpc.DepositR\bdeposits\"\xef\x02\n" +
	"\x1aStaticAddressLoopInRequest\x12\x1c\n" +
	"\toutpoints\x18\x01 \x03(\tR\toutpoints\x121\n" +
	"\x15max_swap_fee_satoshis\x18\x02 \x01(\x03R\x12maxSwapFeeSatoshis\x12\x19\n" +
	"\blast_hop\x18\x03 \x01(\fR\alastHop\x12\x14\n" +
	"\x05label\x18\x04 \x01(\tR\x05label\x12\x1c\n" +
	"\tinitiator\x18\x05 \x01(\tR\tinitiator\x123\n" +
	"\vroute_hints\x18\x06 \x03(\v2\x12.looprpc.RouteHintR\n" +
	"routeHints\x12\x18\n" +
	"\aprivate\x18\a \x01(\bR\aprivate\x126\n" +
	"\x17payment_timeout_seconds\x18\b \x01(\rR\x15paymentTimeoutSeconds\x12\x16\n" +
	"\x06amount\x18\t \x01(\x03R\x06amount\x12\x12\n" +
	"\x04fast\x18\n" +
	" \x01(\bR\x04fast\"\xb9\x04\n" +
	"\x1bStaticAddressLoopInResponse\x12\x1b\n" +
	"\tswap_hash\x18\x01 \x01(\fR\bswapHash\x12\x14\n" +
	"\x05state\x18\x02 \x01(\tR\x05state\x12\x16\n" +
	"\x06amount\x18\x03 \x01(\x04R\x06amount\x12\x1b\n" +
	"\thtlc_cltv\x18\x04 \x01(\x05R\bhtlcCltv\x127\n" +
	"\x18quoted_swap_fee_satoshis\x18\x05 \x01(\x03R\x15quotedSwapFeeSatoshis\x121\n" +
	"\x15max_swap_fee_satoshis\x18\x06 \x01(\x03R\x12maxSwapFeeSatoshis\x12+\n" +
	"\x11initiation_height\x18\a \x01(\rR\x10initiationHeight\x12)\n" +
	"\x10protocol_version\x18\b \x01(\tR\x0fprotocolVersion\x12\x14\n" +
	"\x05label\x18\t \x01(\tR\x05label\x12\x1c\n" +
	"\tinitiator\x18\n" +
	" \x01(\tR\tinitiator\x126\n" +
	"\x17payment_timeout_seconds\x18\v \x01(\rR\x15paymentTimeoutSeconds\x125\n" +
	"\rused_deposits\x18\f \x03(\v2\x10.looprpc.DepositR\fusedDeposits\x12\x1f\n" +
	"\vswap_amount\x18\r \x01(\x04R\n" +
	"swapAmount\x12\x16\n" +
	"\x06change\x18\x0e \x01(\x03R\x06change\x12\x12\n" +
	"\x04fast\x18\x0f \x01(\bR\x04fast\"\xa2\x01\n" +
	"\x13AssetLoopOutRequest\x12\x19\n" +
	"\basset_id\x18\x01 \x01(\fR\aassetId\x12&\n" +
	"\x0fasset_edge_node\x18\x02 \x01(\fR\rassetEdgeNode\x120\n" +
	"\x14max_limit_multiplier\x18\x03 \x01(\x01R\x12maxLimitMultiplier\x12\x16\n" +
	"\x06expiry\x18\x04 \x01(\x03R\x06expiry\"\xcd\x02\n" +
	"\fAssetRfqInfo\x12\"\n" +
	"\rprepay_rfq_id\x18\x01 \x01(\fR\vprepayRfqId\x12/\n" +
	"\x14max_prepay_asset_amt\x18\x02 \x01(\x04R\x11maxPrepayAssetAmt\x12?\n" +
	"\x11prepay_asset_rate\x18\x06 \x01(\v2\x13.looprpc.FixedPointR\x0fprepayAssetRate\x12\x1e\n" +
	"\vswap_rfq_id\x18\x03 \x01(\fR\tswapRfqId\x12+\n" +
	"\x12max_swap_asset_amt\x18\x04 \x01(\x04R\x0fmaxSwapAssetAmt\x12;\n" +
	"\x0fswap_asset_rate\x18\a \x01(\v2\x13.looprpc.FixedPointR\rswapAssetRate\x12\x1d\n" +
	"\n" +
	"asset_name\x18\x05 \x01(\tR\tassetName\"D\n" +
	"\n" +
	"FixedPoint\x12 \n" +
	"\vcoefficient\x18\x01 \x01(\tR\vcoefficient\x12\x14\n" +
	"\x05scale\x18\x02 \x01(\rR\x05scale\"|\n" +
	"\x10AssetLoopOutInfo\x12\x19\n" +
	"\basset_id\x18\x01 \x01(\tR\aassetId\x12\x1d\n" +
	"\n" +
	"asset_name\x18\x02 \x01(\tR\tassetName\x12.\n" +
	"\x13asset_cost_offchain\x18\x03 \x01(\x04R\x11assetCostOffchain*;\n" +
	"\vAddressType\x12\x18\n" +
	"\x14ADDRESS_TYPE_UNKNOWN\x10\x00\x12\x12\n" +
	"\x0eTAPROOT_PUBKEY\x10\x01*%\n" +
	"\bSwapType\x12\f\n" +
	"\bLOOP_OUT\x10\x00\x12\v\n" +
	"\aLOOP_IN\x10\x01*s\n" +
	"\tSwapState\x12\r\n" +
	"\tINITIATED\x10\x00\x12\x15\n" +
	"\x11PREIMAGE_REVEALED\x10\x01\x12\x12\n" +
	"\x0eHTLC_PUBLISHED\x10\x02\x12\v\n" +
	"\aSUCCESS\x10\x03\x12\n" +
	"\n" +
	"\x06FAILED\x10\x04\x12\x13\n" +
	"\x0fINVOICE_SETTLED\x10\x05*\xeb\x02\n" +
	"\rFailureReason\x12\x17\n" +
	"\x13FAILURE_REASON_NONE\x10\x00\x12\x1b\n" +
	"\x17FAILURE_REASON_OFFCHAIN\x10\x01\x12\x1a\n" +
	"\x16FAILURE_REASON_TIMEOUT\x10\x02\x12 \n" +
	"\x1cFAILURE_REASON_SWEEP_TIMEOUT\x10\x03\x12%\n" +
	"!FAILURE_REASON_INSUFFICIENT_VALUE\x10\x04\x12\x1c\n" +
	"\x18FAILURE_REASON_TEMPORARY\x10\x05\x12#\n" +
	"\x1fFAILURE_REASON_INCORRECT_AMOUNT\x10\x06\x12\x1c\n" +
	"\x18FAILURE_REASON_ABANDONED\x10\a\x121\n" +
	"-FAILURE_REASON_INSUFFICIENT_CONFIRMED_BALANCE\x10\b\x12+\n" +
	"'FAILURE_REASON_INCORRECT_HTLC_AMT_SWEPT\x10\t*/\n" +
	"\x11LiquidityRuleType\x12\v\n" +
	"\aUNKNOWN\x10\x00\x12\r\n" +
	"\tTHRESHOLD\x10\x01*\xa6\x03\n" +
	"\n" +
	"AutoReason\x12\x17\n" +
	"\x13AUTO_REASON_UNKNOWN\x10\x00\x12\"\n" +
	"\x1eAUTO_REASON_BUDGET_NOT_STARTED\x10\x01\x12\x1a\n" +
	"\x16AUTO_REASON_SWEEP_FEES\x10\x02\x12\x1e\n" +
	"\x1aAUTO_REASON_BUDGET_ELAPSED\x10\x03\x12\x19\n" +
	"\x15AUTO_REASON_IN_FLIGHT\x10\x04\x12\x18\n" +
	"\x14AUTO_REASON_SWAP_FEE\x10\x05\x12\x19\n" +
	"\x15AUTO_REASON_MINER_FEE\x10\x06\x12\x16\n" +
	"\x12AUTO_REASON_PREPAY\x10\a\x12\x1f\n" +
	"\x1bAUTO_REASON_FAILURE_BACKOFF\x10\b\x12\x18\n" +
	"\x14AUTO_REASON_LOOP_OUT\x10\t\x12\x17\n" +
	"\x13AUTO_REASON_LOOP_IN\x10\n" +
	"\x12\x1c\n" +
	"\x18AUTO_REASON_LIQUIDITY_OK\x10\v\x12#\n" +
	"\x1fAUTO_REASON_BUDGET_INSUFFICIENT\x10\f\x12 \n" +
	"\x1cAUTO_REASON_FEE_INSUFFICIENT\x10\r*\x88\x02\n" +
	"\fDepositState\x12\x11\n" +
	"\rUNKNOWN_STATE\x10\x00\x12\r\n" +
	"\tDEPOSITED\x10\x01\x12\x0f\n" +
	"\vWITHDRAWING\x10\x02\x12\r\n" +
	"\tWITHDRAWN\x10\x03\x12\x0e\n" +
	"\n" +
	"LOOPING_IN\x10\x04\x12\r\n" +
	"\tLOOPED_IN\x10\x05\x12\x16\n" +
	"\x12SWEEP_HTLC_TIMEOUT\x10\x06\x12\x16\n" +
	"\x12HTLC_TIMEOUT_SWEPT\x10\a\x12\x13\n" +
	"\x0fPUBLISH_EXPIRED\x10\b\x12\x19\n" +
	"\x15WAIT_FOR_EXPIRY_SWEEP\x10\t\x12\v\n" +
	"\aEXPIRED\x10\n" +
	"\x12\x13\n" +
	"\x0fOPENING_CHANNEL\x10\v\x12\x15\n" +
	"\x11CHANNEL_PUBLISHED\x10\f*\xef\x02\n" +
	"\x1cStaticAddressLoopInSwapState\x12%\n" +
	"!UNKNOWN_STATIC_ADDRESS_SWAP_STATE\x10\x00\x12\r\n" +
	"\tINIT_HTLC\x10\x01\x12\x10\n" +
	"\fSIGN_HTLC_TX\x10\x02\x12\x1b\n" +
	"\x17MONITOR_INVOICE_HTLC_TX\x10\x03\x12\x14\n" +
	"\x10PAYMENT_RECEIVED\x10\x04\x12%\n" +
	"!SWEEP_STATIC_ADDRESS_HTLC_TIMEOUT\x10\x05\x12\x1e\n" +
	"\x1aMONITOR_HTLC_TIMEOUT_SWEEP\x10\x06\x12%\n" +
	"!HTLC_STATIC_ADDRESS_TIMEOUT_SWEPT\x10\a\x12\r\n" +
	"\tSUCCEEDED\x10\b\x12\"\n" +
	"\x1eSUCCEEDED_TRANSITIONING_FAILED\x10\t\x12\x13\n" +
	"\x0fUNLOCK_DEPOSITS\x10\n" +
	"\x12\x1e\n" +
	"\x1aFAILED_STATIC_ADDRESS_SWAP\x10\v2\xca\x14\n" +
	"\n" +
	"SwapClient\x129\n" +
	"\aLoopOut\x12\x17.looprpc.LoopOutRequest\x1a\x15.looprpc.SwapResponse\x127\n" +
	"\x06LoopIn\x12\x16.looprpc.LoopInRequest\x1a\x15.looprpc.SwapResponse\x129\n" +
	"\aMonitor\x12\x17.looprpc.MonitorRequest\x1a\x13.looprpc.SwapStatus0\x01\x12B\n" +
	"\tListSwaps\x12\x19.looprpc.ListSwapsRequest\x1a\x1a.looprpc.ListSwapsResponse\x12B\n" +
	"\tSweepHtlc\x12\x19.looprpc.SweepHtlcRequest\x1a\x1a.looprpc.SweepHtlcResponse\x129\n" +
	"\bSwapInfo\x12\x18.looprpc.SwapInfoRequest\x1a\x13.looprpc.SwapStatus\x12H\n" +
	"\vAbandonSwap\x12\x1b.looprpc.AbandonSwapRequest\x1a\x1c.looprpc.AbandonSwapResponse\x12@\n" +
	"\fLoopOutTerms\x12\x15.looprpc.TermsRequest\x1a\x19.looprpc.OutTermsResponse\x12@\n" +
	"\fLoopOutQuote\x12\x15.looprpc.QuoteRequest\x1a\x19.looprpc.OutQuoteResponse\x12A\n" +
	"\x0eGetLoopInTerms\x12\x15.looprpc.TermsRequest\x1a\x18.looprpc.InTermsResponse\x12A\n" +
	"\x0eGetLoopInQuote\x12\x15.looprpc.QuoteRequest\x1a\x18.looprpc.InQuoteResponse\x126\n" +
	"\x05Probe\x12\x15.looprpc.ProbeRequest\x1a\x16.looprpc.ProbeResponse\x12@\n" +
	"\rGetL402Tokens\x12\x16.looprpc.TokensRequest\x1a\x17.looprpc.TokensResponse\x12@\n" +
	"\rGetLsatTokens\x12\x16.looprpc.TokensRequest\x1a\x17.looprpc.TokensResponse\x12Q\n" +
	"\x0eFetchL402Token\x12\x1e.looprpc.FetchL402TokenRequest\x1a\x1f.looprpc.FetchL402TokenResponse\x12<\n" +
	"\aGetInfo\x12\x17.looprpc.GetInfoRequest\x1a\x18.looprpc.GetInfoResponse\x12E\n" +
	"\n" +
	"StopDaemon\x12\x1a.looprpc.StopDaemonRequest\x1a\x1b.looprpc.StopDaemonResponse\x12V\n" +
	"\x12GetLiquidityParams\x12\".looprpc.GetLiquidityParamsRequest\x1a\x1c.looprpc.LiquidityParameters\x12]\n" +
	"\x12SetLiquidityParams\x12\".looprpc.SetLiquidityParamsRequest\x1a#.looprpc.SetLiquidityParamsResponse\x12K\n" +
	"\fSuggestSwaps\x12\x1c.looprpc.SuggestSwapsRequest\x1a\x1d.looprpc.SuggestSwapsResponse\x12W\n" +
	"\x10ListReservations\x12 .looprpc.ListReservationsRequest\x1a!.looprpc.ListReservationsResponse\x12E\n" +
	"\n" +
	"InstantOut\x12\x1a.looprpc.InstantOutRequest\x1a\x1b.looprpc.InstantOutResponse\x12T\n" +
	"\x0fInstantOutQuote\x12\x1f.looprpc.InstantOutQuoteRequest\x1a .looprpc.InstantOutQuoteResponse\x12T\n" +
	"\x0fListInstantOuts\x12\x1f.looprpc.ListInstantOutsRequest\x1a .looprpc.ListInstantOutsResponse\x12W\n" +
	"\x10NewStaticAddress\x12 .looprpc.NewStaticAddressRequest\x1a!.looprpc.NewStaticAddressResponse\x12`\n" +
	"\x13ListUnspentDeposits\x12#.looprpc.ListUnspentDepositsRequest\x1a$.looprpc.ListUnspentDepositsResponse\x12W\n" +
	"\x10WithdrawDeposits\x12 .looprpc.WithdrawDepositsRequest\x1a!.looprpc.WithdrawDepositsResponse\x12r\n" +
	"\x19ListStaticAddressDeposits\x12).looprpc.ListStaticAddressDepositsRequest\x1a*.looprpc.ListStaticAddressDepositsResponse\x12y\n" +
	"\x1cListStaticAddressWithdrawals\x12+.looprpc.ListStaticAddressWithdrawalRequest\x1a,.looprpc.ListStaticAddressWithdrawalResponse\x12i\n" +
	"\x16ListStaticAddressSwaps\x12&.looprpc.ListStaticAddressSwapsRequest\x1a'.looprpc.ListStaticAddressSwapsResponse\x12f\n" +
	"\x17GetStaticAddressSummary\x12$.looprpc.StaticAddressSummaryRequest\x1a%.looprpc.StaticAddressSummaryResponse\x12`\n" +
	"\x13StaticAddressLoopIn\x12#.looprpc.StaticAddressLoopInRequest\x1a$.looprpc.StaticAddressLoopInResponse\x12Z\n" +
	"\x11StaticOpenChannel\x12!.looprpc.StaticOpenChannelRequest\x1a\".looprpc.StaticOpenChannelResponseB'Z%github.com/lightninglabs/loop/looprpcb\x06proto3"

var (
	file_client_proto_rawDescOnce sync.Once
	file_client_proto_rawDescData []byte
)

func file_client_proto_rawDescGZIP() []byte {
	file_client_proto_rawDescOnce.Do(func() {
		file_client_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_client_proto_rawDesc), len(file_client_proto_rawDesc)))
	})
	return file_client_proto_rawDescData
}

var file_client_proto_enumTypes = make([]protoimpl.EnumInfo, 9)
var file_client_proto_msgTypes = make([]protoimpl.MessageInfo, 80)
var file_client_proto_goTypes = []any{
	(AddressType)(0),                            // 0: looprpc.AddressType
	(SwapType)(0),                               // 1: looprpc.SwapType
	(SwapState)(0),                              // 2: looprpc.SwapState
	(FailureReason)(0),                          // 3: looprpc.FailureReason
	(LiquidityRuleType)(0),                      // 4: looprpc.LiquidityRuleType
	(AutoReason)(0),                             // 5: looprpc.AutoReason
	(DepositState)(0),                           // 6: looprpc.DepositState
	(StaticAddressLoopInSwapState)(0),           // 7: looprpc.StaticAddressLoopInSwapState
	(ListSwapsFilter_SwapTypeFilter)(0),         // 8: looprpc.ListSwapsFilter.SwapTypeFilter
	(*StaticOpenChannelRequest)(nil),            // 9: looprpc.StaticOpenChannelRequest
	(*StaticOpenChannelResponse)(nil),           // 10: looprpc.StaticOpenChannelResponse
	(*StopDaemonRequest)(nil),                   // 11: looprpc.StopDaemonRequest
	(*StopDaemonResponse)(nil),                  // 12: looprpc.StopDaemonResponse
	(*LoopOutRequest)(nil),                      // 13: looprpc.LoopOutRequest
	(*LoopInRequest)(nil),                       // 14: looprpc.LoopInRequest
	(*SwapResponse)(nil),                        // 15: looprpc.SwapResponse
	(*MonitorRequest)(nil),                      // 16: looprpc.MonitorRequest
	(*SwapStatus)(nil),                          // 17: looprpc.SwapStatus
	(*ListSwapsRequest)(nil),                    // 18: looprpc.ListSwapsRequest
	(*ListSwapsFilter)(nil),                     // 19: looprpc.ListSwapsFilter
	(*ListSwapsResponse)(nil),                   // 20: looprpc.ListSwapsResponse
	(*SweepHtlcRequest)(nil),                    // 21: looprpc.SweepHtlcRequest
	(*SweepHtlcResponse)(nil),                   // 22: looprpc.SweepHtlcResponse
	(*PublishNotRequested)(nil),                 // 23: looprpc.PublishNotRequested
	(*PublishSucceeded)(nil),                    // 24: looprpc.PublishSucceeded
	(*PublishFailed)(nil),                       // 25: looprpc.PublishFailed
	(*SwapInfoRequest)(nil),                     // 26: looprpc.SwapInfoRequest
	(*TermsRequest)(nil),                        // 27: looprpc.TermsRequest
	(*InTermsResponse)(nil),                     // 28: looprpc.InTermsResponse
	(*OutTermsResponse)(nil),                    // 29: looprpc.OutTermsResponse
	(*QuoteRequest)(nil),                        // 30: looprpc.QuoteRequest
	(*InQuoteResponse)(nil),                     // 31: looprpc.InQuoteResponse
	(*OutQuoteResponse)(nil),                    // 32: looprpc.OutQuoteResponse
	(*ProbeRequest)(nil),                        // 33: looprpc.ProbeRequest
	(*ProbeResponse)(nil),                       // 34: looprpc.ProbeResponse
	(*TokensRequest)(nil),                       // 35: looprpc.TokensRequest
	(*TokensResponse)(nil),                      // 36: looprpc.TokensResponse
	(*FetchL402TokenRequest)(nil),               // 37: looprpc.FetchL402TokenRequest
	(*FetchL402TokenResponse)(nil),              // 38: looprpc.FetchL402TokenResponse
	(*L402Token)(nil),                           // 39: looprpc.L402Token
	(*LoopStats)(nil),                           // 40: looprpc.LoopStats
	(*GetInfoRequest)(nil),                      // 41: looprpc.GetInfoRequest
	(*GetInfoResponse)(nil),                     // 42: looprpc.GetInfoResponse
	(*GetLiquidityParamsRequest)(nil),           // 43: looprpc.GetLiquidityParamsRequest
	(*LiquidityParameters)(nil),                 // 44: looprpc.LiquidityParameters
	(*EasyAssetAutoloopParams)(nil),             // 45: looprpc.EasyAssetAutoloopParams
	(*LiquidityRule)(nil),                       // 46: looprpc.LiquidityRule
	(*SetLiquidityParamsRequest)(nil),           // 47: looprpc.SetLiquidityParamsRequest
	(*SetLiquidityParamsResponse)(nil),          // 48: looprpc.SetLiquidityParamsResponse
	(*SuggestSwapsRequest)(nil),                 // 49: looprpc.SuggestSwapsRequest
	(*Disqualified)(nil),                        // 50: looprpc.Disqualified
	(*SuggestSwapsResponse)(nil),                // 51: looprpc.SuggestSwapsResponse
	(*AbandonSwapRequest)(nil),                  // 52: looprpc.AbandonSwapRequest
	(*AbandonSwapResponse)(nil),                 // 53: looprpc.AbandonSwapResponse
	(*ListReservationsRequest)(nil),             // 54: looprpc.ListReservationsRequest
	(*ListReservationsResponse)(nil),            // 55: looprpc.ListReservationsResponse
	(*ClientReservation)(nil),                   // 56: looprpc.ClientReservation
	(*InstantOutRequest)(nil),                   // 57: looprpc.InstantOutRequest
	(*InstantOutResponse)(nil),                  // 58: looprpc.InstantOutResponse
	(*InstantOutQuoteRequest)(nil),              // 59: looprpc.InstantOutQuoteRequest
	(*InstantOutQuoteResponse)(nil),             // 60: looprpc.InstantOutQuoteResponse
	(*ListInstantOutsRequest)(nil),              // 61: looprpc.ListInstantOutsRequest
	(*ListInstantOutsResponse)(nil),             // 62: looprpc.ListInstantOutsResponse
	(*InstantOut)(nil),                          // 63: looprpc.InstantOut
	(*NewStaticAddressRequest)(nil),             // 64: looprpc.NewStaticAddressRequest
	(*NewStaticAddressResponse)(nil),            // 65: looprpc.NewStaticAddressResponse
	(*ListUnspentDepositsRequest)(nil),          // 66: looprpc.ListUnspentDepositsRequest
	(*ListUnspentDepositsResponse)(nil),         // 67: looprpc.ListUnspentDepositsResponse
	(*Utxo)(nil),                                // 68: looprpc.Utxo
	(*WithdrawDepositsRequest)(nil),             // 69: looprpc.WithdrawDepositsRequest
	(*WithdrawDepositsResponse)(nil),            // 70: looprpc.WithdrawDepositsResponse
	(*ListStaticAddressDepositsRequest)(nil),    // 71: looprpc.ListStaticAddressDepositsRequest
	(*ListStaticAddressDepositsResponse)(nil),   // 72: looprpc.ListStaticAddressDepositsResponse
	(*ListStaticAddressWithdrawalRequest)(nil),  // 73: looprpc.ListStaticAddressWithdrawalRequest
	(*ListStaticAddressWithdrawalResponse)(nil), // 74: looprpc.ListStaticAddressWithdrawalResponse
	(*ListStaticAddressSwapsRequest)(nil),       // 75: looprpc.ListStaticAddressSwapsRequest
	(*ListStaticAddressSwapsResponse)(nil),      // 76: looprpc.ListStaticAddressSwapsResponse
	(*StaticAddressSummaryRequest)(nil),         // 77: looprpc.StaticAddressSummaryRequest
	(*StaticAddressSummaryResponse)(nil),        // 78: looprpc.StaticAddressSummaryResponse
	(*Deposit)(nil),                             // 79: looprpc.Deposit
	(*StaticAddressWithdrawal)(nil),             // 80: looprpc.StaticAddressWithdrawal
	(*StaticAddressLoopInSwap)(nil),             // 81: looprpc.StaticAddressLoopInSwap
	(*StaticAddressLoopInRequest)(nil),          // 82: looprpc.StaticAddressLoopInRequest
	(*StaticAddressLoopInResponse)(nil),         // 83: looprpc.StaticAddressLoopInResponse
	(*AssetLoopOutRequest)(nil),                 // 84: looprpc.AssetLoopOutRequest
	(*AssetRfqInfo)(nil),                        // 85: looprpc.AssetRfqInfo
	(*FixedPoint)(nil),                          // 86: looprpc.FixedPoint
	(*AssetLoopOutInfo)(nil),                    // 87: looprpc.AssetLoopOutInfo
	nil,                                         // 88: looprpc.LiquidityParameters.EasyAssetParamsEntry
	(*lnrpc.OpenChannelRequest)(nil),            // 89: lnrpc.OpenChannelRequest
	(*swapserverrpc.RouteHint)(nil),             // 90: looprpc.RouteHint
	(*lnrpc.OutPoint)(nil),                      // 91: lnrpc.OutPoint
}
var file_client_proto_depIdxs = []int32{
	89, // 0: looprpc.StaticOpenChannelRequest.open_channel_request:type_name -> lnrpc.OpenChannelRequest
	0,  // 1: looprpc.LoopOutRequest.account_addr_type:type_name -> looprpc.AddressType
	84, // 2: looprpc.LoopOutRequest.asset_info:type_name -> looprpc.AssetLoopOutRequest
	85, // 3: looprpc.LoopOutRequest.asset_rfq_info:type_name -> looprpc.AssetRfqInfo
	90, // 4: looprpc.LoopInRequest.route_hints:type_name -> looprpc.RouteHint
	1,  // 5: looprpc.SwapStatus.type:type_name -> looprpc.SwapType
	2,  // 6: looprpc.SwapStatus.state:type_name -> looprpc.SwapState
	3,  // 7: looprpc.SwapStatus.failure_reason:type_name -> looprpc.FailureReason
	87, // 8: looprpc.SwapStatus.asset_info:type_name -> looprpc.AssetLoopOutInfo
	19, // 9: looprpc.ListSwapsRequest.list_swap_filter:type_name -> looprpc.ListSwapsFilter
	8,  // 10: looprpc.ListSwapsFilter.swap_type:type_name -> looprpc.ListSwapsFilter.SwapTypeFilter
	17, // 11: looprpc.ListSwapsResponse.swaps:type_name -> looprpc.SwapStatus
	23, // 12: looprpc.SweepHtlcResponse.not_requested:type_name -> looprpc.PublishNotRequested
	24, // 13: looprpc.SweepHtlcResponse.published:type_name -> looprpc.PublishSucceeded
	25, // 14: looprpc.SweepHtlcResponse.failed:type_name -> looprpc.PublishFailed
	90, // 15: looprpc.QuoteRequest.loop_in_route_hints:type_name -> looprpc.RouteHint
	84, // 16: looprpc.QuoteRequest.asset_info:type_name -> looprpc.AssetLoopOutRequest
	85, // 17: looprpc.OutQuoteResponse.asset_rfq_info:type_name -> looprpc.AssetRfqInfo
	90, // 18: looprpc.ProbeRequest.route_hints:type_name -> looprpc.RouteHint
	39, // 19: looprpc.TokensResponse.tokens:type_name -> looprpc.L402Token
	40, // 20: looprpc.GetInfoResponse.loop_out_stats:type_name -> looprpc.LoopStats
	40, // 21: looprpc.GetInfoResponse.loop_in_stats:type_name -> looprpc.LoopStats
	46, // 22: looprpc.LiquidityParameters.rules:type_name -> looprpc.LiquidityRule
	0,  // 23: looprpc.LiquidityParameters.account_addr_type:type_name -> looprpc.AddressType
	88, // 24: looprpc.LiquidityParameters.easy_asset_params:type_name -> looprpc.LiquidityParameters.EasyAssetParamsEntry
	1,  // 25: looprpc.LiquidityRule.swap_type:type_name -> looprpc.SwapType
	4,  // 26: looprpc.LiquidityRule.type:type_name -> looprpc.LiquidityRuleType
	44, // 27: looprpc.SetLiquidityParamsRequest.parameters:type_name -> looprpc.LiquidityParameters
	5,  // 28: looprpc.Disqualified.reason:type_name -> looprpc.AutoReason
	13, // 29: looprpc.SuggestSwapsResponse.loop_out:type_name -> looprpc.LoopOutRequest
	14, // 30: looprpc.SuggestSwapsResponse.loop_in:type_name -> looprpc.LoopInRequest
	50, // 31: looprpc.SuggestSwapsResponse.disqualified:type_name -> looprpc.Disqualified
	56, // 32: looprpc.ListReservationsResponse.reservations:type_name -> looprpc.ClientReservation
	63, // 33: looprpc.ListInstantOutsResponse.swaps:type_name -> looprpc.InstantOut
	68, // 34: looprpc.ListUnspentDepositsResponse.utxos:type_name -> looprpc.Utxo
	91, // 35: looprpc.WithdrawDepositsRequest.outpoints:type_name -> lnrpc.OutPoint
	6,  // 36: looprpc.ListStaticAddressDepositsRequest.state_filter:type_name -> looprpc.DepositState
	79, // 37: looprpc.ListStaticAddressDepositsResponse.filtered_deposits:type_name -> looprpc.Deposit
	80, // 38: looprpc.ListStaticAddressWithdrawalResponse.withdrawals:type_name -> looprpc.StaticAddressWithdrawal
	81, // 39: looprpc.ListStaticAddressSwapsResponse.swaps:type_name -> looprpc.StaticAddressLoopInSwap
	6,  // 40: looprpc.Deposit.state:type_name -> looprpc.DepositState
	79, // 41: looprpc.StaticAddressWithdrawal.deposits:type_name -> looprpc.Deposit
	7,  // 42: looprpc.StaticAddressLoopInSwap.state:type_name -> looprpc.StaticAddressLoopInSwapState
	79, // 43: looprpc.StaticAddressLoopInSwap.deposits:type_name -> looprpc.Deposit
	90, // 44: looprpc.StaticAddressLoopInRequest.route_hints:type_name -> looprpc.RouteHint
	79, // 45: looprpc.StaticAddressLoopInResponse.used_deposits:type_name -> looprpc.Deposit
	86, // 46: looprpc.AssetRfqInfo.prepay_asset_rate:type_name -> looprpc.FixedPoint
	86, // 47: looprpc.AssetRfqInfo.swap_asset_rate:type_name -> looprpc.FixedPoint
	45, // 48: looprpc.LiquidityParameters.EasyAssetParamsEntry.value:type_name -> looprpc.EasyAssetAutoloopParams
	13, // 49: looprpc.SwapClient.LoopOut:input_type -> looprpc.LoopOutRequest
	14, // 50: looprpc.SwapClient.LoopIn:input_type -> looprpc.LoopInRequest
	16, // 51: looprpc.SwapClient.Monitor:input_type -> looprpc.MonitorRequest
	18, // 52: looprpc.SwapClient.ListSwaps:input_type -> looprpc.ListSwapsRequest
	21, // 53: looprpc.SwapClient.SweepHtlc:input_type -> looprpc.SweepHtlcRequest
	26, // 54: looprpc.SwapClient.SwapInfo:input_type -> looprpc.SwapInfoRequest
	52, // 55: looprpc.SwapClient.AbandonSwap:input_type -> looprpc.AbandonSwapRequest
	27, // 56: looprpc.SwapClient.LoopOutTerms:input_type -> looprpc.TermsRequest
	30, // 57: looprpc.SwapClient.LoopOutQuote:input_type -> looprpc.QuoteRequest
	27, // 58: looprpc.SwapClient.GetLoopInTerms:input_type -> looprpc.TermsRequest
	30, // 59: looprpc.SwapClient.GetLoopInQuote:input_type -> looprpc.QuoteRequest
	33, // 60: looprpc.SwapClient.Probe:input_type -> looprpc.ProbeRequest
	35, // 61: looprpc.SwapClient.GetL402Tokens:input_type -> looprpc.TokensRequest
	35, // 62: looprpc.SwapClient.GetLsatTokens:input_type -> looprpc.TokensRequest
	37, // 63: looprpc.SwapClient.FetchL402Token:input_type -> looprpc.FetchL402TokenRequest
	41, // 64: looprpc.SwapClient.GetInfo:input_type -> looprpc.GetInfoRequest
	11, // 65: looprpc.SwapClient.StopDaemon:input_type -> looprpc.StopDaemonRequest
	43, // 66: looprpc.SwapClient.GetLiquidityParams:input_type -> looprpc.GetLiquidityParamsRequest
	47, // 67: looprpc.SwapClient.SetLiquidityParams:input_type -> looprpc.SetLiquidityParamsRequest
	49, // 68: looprpc.SwapClient.SuggestSwaps:input_type -> looprpc.SuggestSwapsRequest
	54, // 69: looprpc.SwapClient.ListReservations:input_type -> looprpc.ListReservationsRequest
	57, // 70: looprpc.SwapClient.InstantOut:input_type -> looprpc.InstantOutRequest
	59, // 71: looprpc.SwapClient.InstantOutQuote:input_type -> looprpc.InstantOutQuoteRequest
	61, // 72: looprpc.SwapClient.ListInstantOuts:input_type -> looprpc.ListInstantOutsRequest
	64, // 73: looprpc.SwapClient.NewStaticAddress:input_type -> looprpc.NewStaticAddressRequest
	66, // 74: looprpc.SwapClient.ListUnspentDeposits:input_type -> looprpc.ListUnspentDepositsRequest
	69, // 75: looprpc.SwapClient.WithdrawDeposits:input_type -> looprpc.WithdrawDepositsRequest
	71, // 76: looprpc.SwapClient.ListStaticAddressDeposits:input_type -> looprpc.ListStaticAddressDepositsRequest
	73, // 77: looprpc.SwapClient.ListStaticAddressWithdrawals:input_type -> looprpc.ListStaticAddressWithdrawalRequest
	75, // 78: looprpc.SwapClient.ListStaticAddressSwaps:input_type -> looprpc.ListStaticAddressSwapsRequest
	77, // 79: looprpc.SwapClient.GetStaticAddressSummary:input_type -> looprpc.StaticAddressSummaryRequest
	82, // 80: looprpc.SwapClient.StaticAddressLoopIn:input_type -> looprpc.StaticAddressLoopInRequest
	9,  // 81: looprpc.SwapClient.StaticOpenChannel:input_type -> looprpc.StaticOpenChannelRequest
	15, // 82: looprpc.SwapClient.LoopOut:output_type -> looprpc.SwapResponse
	15, // 83: looprpc.SwapClient.LoopIn:output_type -> looprpc.SwapResponse
	17, // 84: looprpc.SwapClient.Monitor:output_type -> looprpc.SwapStatus
	20, // 85: looprpc.SwapClient.ListSwaps:output_type -> looprpc.ListSwapsResponse
	22, // 86: looprpc.SwapClient.SweepHtlc:output_type -> looprpc.SweepHtlcResponse
	17, // 87: looprpc.SwapClient.SwapInfo:output_type -> looprpc.SwapStatus
	53, // 88: looprpc.SwapClient.AbandonSwap:output_type -> looprpc.AbandonSwapResponse
	29, // 89: looprpc.SwapClient.LoopOutTerms:output_type -> looprpc.OutTermsResponse
	32, // 90: looprpc.SwapClient.LoopOutQuote:output_type -> looprpc.OutQuoteResponse
	28, // 91: looprpc.SwapClient.GetLoopInTerms:output_type -> looprpc.InTermsResponse
	31, // 92: looprpc.SwapClient.GetLoopInQuote:output_type -> looprpc.InQuoteResponse
	34, // 93: looprpc.SwapClient.Probe:output_type -> looprpc.ProbeResponse
	36, // 94: looprpc.SwapClient.GetL402Tokens:output_type -> looprpc.TokensResponse
	36, // 95: looprpc.SwapClient.GetLsatTokens:output_type -> looprpc.TokensResponse
	38, // 96: looprpc.SwapClient.FetchL402Token:output_type -> looprpc.FetchL402TokenResponse
	42, // 97: looprpc.SwapClient.GetInfo:output_type -> looprpc.GetInfoResponse
	12, // 98: looprpc.SwapClient.StopDaemon:output_type -> looprpc.StopDaemonResponse
	44, // 99: looprpc.SwapClient.GetLiquidityParams:output_type -> looprpc.LiquidityParameters
	48, // 100: looprpc.SwapClient.SetLiquidityParams:output_type -> looprpc.SetLiquidityParamsResponse
	51, // 101: looprpc.SwapClient.SuggestSwaps:output_type -> looprpc.SuggestSwapsResponse
	55, // 102: looprpc.SwapClient.ListReservations:output_type -> looprpc.ListReservationsResponse
	58, // 103: looprpc.SwapClient.InstantOut:output_type -> looprpc.InstantOutResponse
	60, // 104: looprpc.SwapClient.InstantOutQuote:output_type -> looprpc.InstantOutQuoteResponse
	62, // 105: looprpc.SwapClient.ListInstantOuts:output_type -> looprpc.ListInstantOutsResponse
	65, // 106: looprpc.SwapClient.NewStaticAddress:output_type -> looprpc.NewStaticAddressResponse
	67, // 107: looprpc.SwapClient.ListUnspentDeposits:output_type -> looprpc.ListUnspentDepositsResponse
	70, // 108: looprpc.SwapClient.WithdrawDeposits:output_type -> looprpc.WithdrawDepositsResponse
	72, // 109: looprpc.SwapClient.ListStaticAddressDeposits:output_type -> looprpc.ListStaticAddressDepositsResponse
	74, // 110: looprpc.SwapClient.ListStaticAddressWithdrawals:output_type -> looprpc.ListStaticAddressWithdrawalResponse
	76, // 111: looprpc.SwapClient.ListStaticAddressSwaps:output_type -> looprpc.ListStaticAddressSwapsResponse
	78, // 112: looprpc.SwapClient.GetStaticAddressSummary:output_type -> looprpc.StaticAddressSummaryResponse
	83, // 113: looprpc.SwapClient.StaticAddressLoopIn:output_type -> looprpc.StaticAddressLoopInResponse
	10, // 114: looprpc.SwapClient.StaticOpenChannel:output_type -> looprpc.StaticOpenChannelResponse
	82, // [82:115] is the sub-list for method output_type
	49, // [49:82] is the sub-list for method input_type
	49, // [49:49] is the sub-list for extension type_name
	49, // [49:49] is the sub-list for extension extendee
	0,  // [0:49] is the sub-list for field type_name
}

func init() { file_client_proto_init() }
func file_client_proto_init() {
	if File_client_proto != nil {
		return
	}
	file_client_proto_msgTypes[13].OneofWrappers = []any{
		(*SweepHtlcResponse_NotRequested)(nil),
		(*SweepHtlcResponse_Published)(nil),
		(*SweepHtlcResponse_Failed)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_client_proto_rawDesc), len(file_client_proto_rawDesc)),
			NumEnums:      9,
			NumMessages:   80,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_client_proto_goTypes,
		DependencyIndexes: file_client_proto_depIdxs,
		EnumInfos:         file_client_proto_enumTypes,
		MessageInfos:      file_client_proto_msgTypes,
	}.Build()
	File_client_proto = out.File
	file_client_proto_goTypes = nil
	file_client_proto_depIdxs = nil
}
