loop/looprpc/client.pb.go

7512 lines
253 KiB
Go
Raw Permalink Normal View History

2019-03-06 21:13:50 +01:00
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.36.11
// protoc v3.21.12
// source: client.proto
2019-03-06 21:13:50 +01:00
package looprpc
2019-03-06 21:13:50 +01:00
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"
2019-03-06 21:13:50 +01:00
)
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)
)
2019-03-06 21:13:50 +01:00
// `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}
}
2019-03-06 21:13:50 +01:00
type SwapType int32
const (
// LOOP_OUT indicates an loop out swap (off-chain to on-chain)
SwapType_LOOP_OUT SwapType = 0
2019-03-12 16:10:37 +01:00
// LOOP_IN indicates a loop in swap (on-chain to off-chain)
SwapType_LOOP_IN SwapType = 1
// STATIC_LOOP_IN indicates a static address loop in swap.
SwapType_STATIC_LOOP_IN SwapType = 2
2019-03-06 21:13:50 +01:00
)
// Enum value maps for SwapType.
var (
SwapType_name = map[int32]string{
0: "LOOP_OUT",
1: "LOOP_IN",
2: "STATIC_LOOP_IN",
}
SwapType_value = map[string]int32{
"LOOP_OUT": 0,
"LOOP_IN": 1,
"STATIC_LOOP_IN": 2,
}
)
func (x SwapType) Enum() *SwapType {
p := new(SwapType)
*p = x
return p
2019-03-06 21:13:50 +01:00
}
func (x SwapType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
2019-03-06 21:13:50 +01:00
}
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.
2019-03-06 21:13:50 +01:00
func (SwapType) EnumDescriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{1}
2019-03-06 21:13:50 +01:00
}
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.
2019-03-06 21:13:50 +01:00
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.
2019-03-06 21:13:50 +01:00
SwapState_PREIMAGE_REVEALED SwapState = 1
// HTLC_PUBLISHED is reached when the htlc tx has been published in a loop in
// swap.
2019-03-12 16:10:37 +01:00
SwapState_HTLC_PUBLISHED SwapState = 2
// SUCCESS is the final swap state that is reached when the sweep tx has
// the required confirmation depth.
2019-03-06 21:13:50 +01:00
SwapState_SUCCESS SwapState = 3
// FAILED is the final swap state for a failed swap with or without loss of
// the swap amount.
2019-03-06 21:13:50 +01:00
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
2019-03-06 21:13:50 +01:00
)
// 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
2019-03-06 21:13:50 +01:00
}
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]
2019-03-06 21:13:50 +01:00
}
func (x SwapState) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SwapState.Descriptor instead.
2019-03-06 21:13:50 +01:00
func (SwapState) EnumDescriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{2}
2019-03-06 21:13:50 +01:00
}
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 LoopInSource int32
const (
// Use the legacy wallet-funded loop-in flow.
LoopInSource_LOOP_IN_SOURCE_WALLET LoopInSource = 0
// Use deposited static-address funds for loop-in autoloops.
LoopInSource_LOOP_IN_SOURCE_STATIC_ADDRESS LoopInSource = 1
)
// Enum value maps for LoopInSource.
var (
LoopInSource_name = map[int32]string{
0: "LOOP_IN_SOURCE_WALLET",
1: "LOOP_IN_SOURCE_STATIC_ADDRESS",
}
LoopInSource_value = map[string]int32{
"LOOP_IN_SOURCE_WALLET": 0,
"LOOP_IN_SOURCE_STATIC_ADDRESS": 1,
}
)
func (x LoopInSource) Enum() *LoopInSource {
p := new(LoopInSource)
*p = x
return p
}
func (x LoopInSource) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (LoopInSource) Descriptor() protoreflect.EnumDescriptor {
return file_client_proto_enumTypes[4].Descriptor()
}
func (LoopInSource) Type() protoreflect.EnumType {
return &file_client_proto_enumTypes[4]
}
func (x LoopInSource) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use LoopInSource.Descriptor instead.
func (LoopInSource) EnumDescriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{4}
}
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[5].Descriptor()
}
func (LiquidityRuleType) Type() protoreflect.EnumType {
return &file_client_proto_enumTypes[5]
}
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{5}
}
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
// No static loop-in candidate indicates that static loop-in autoloop was
// selected, but no full-deposit static candidate fit the rule.
AutoReason_AUTO_REASON_STATIC_LOOP_IN_NO_CANDIDATE AutoReason = 14
// Custom channel data indicates that the target channel carries custom
// channel data and is excluded from the standard autoloop planner.
AutoReason_AUTO_REASON_CUSTOM_CHANNEL_DATA AutoReason = 15
)
// 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",
14: "AUTO_REASON_STATIC_LOOP_IN_NO_CANDIDATE",
15: "AUTO_REASON_CUSTOM_CHANNEL_DATA",
}
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,
"AUTO_REASON_STATIC_LOOP_IN_NO_CANDIDATE": 14,
"AUTO_REASON_CUSTOM_CHANNEL_DATA": 15,
}
)
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[6].Descriptor()
}
func (AutoReason) Type() protoreflect.EnumType {
return &file_client_proto_enumTypes[6]
}
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{6}
}
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[7].Descriptor()
}
func (DepositState) Type() protoreflect.EnumType {
return &file_client_proto_enumTypes[7]
}
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{7}
}
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[8].Descriptor()
}
func (StaticAddressLoopInSwapState) Type() protoreflect.EnumType {
return &file_client_proto_enumTypes[8]
}
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{8}
}
2023-12-23 17:31:34 +01:00
type ListSwapsFilter_SwapTypeFilter int32
const (
// ANY indicates that no filter is applied.
ListSwapsFilter_ANY ListSwapsFilter_SwapTypeFilter = 0
2023-08-25 01:42:35 +02:00
// LOOP_OUT indicates an loop out swap (off-chain to on-chain).
2023-12-23 17:31:34 +01:00
ListSwapsFilter_LOOP_OUT ListSwapsFilter_SwapTypeFilter = 1
2023-08-25 01:42:35 +02:00
// LOOP_IN indicates a loop in swap (on-chain to off-chain).
2023-12-23 17:31:34 +01:00
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[9].Descriptor()
2023-12-23 17:31:34 +01:00
}
func (ListSwapsFilter_SwapTypeFilter) Type() protoreflect.EnumType {
return &file_client_proto_enumTypes[9]
2023-12-23 17:31:34 +01:00
}
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}
2023-12-23 17:31:34 +01:00
}
type LoopOutRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Requested swap amount in sat. This does not include the swap and miner fee.
2019-03-06 21:13:50 +01:00
Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"`
// Base58 encoded destination address for the swap.
2019-03-06 21:13:50 +01:00
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.
2019-03-06 21:13:50 +01:00
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.
2019-03-06 21:13:50 +01:00
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.
2019-03-06 21:13:50 +01:00
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.
2019-03-06 21:13:50 +01:00
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.
2019-03-06 21:13:50 +01:00
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.
2023-10-25 23:32:06 +02:00
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"`
2025-01-09 16:22:28 +01:00
// 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
2019-03-06 21:13:50 +01:00
}
func (x *LoopOutRequest) Reset() {
*x = LoopOutRequest{}
mi := &file_client_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2019-03-06 21:13:50 +01:00
}
func (x *LoopOutRequest) String() string {
return protoimpl.X.MessageStringOf(x)
2019-03-06 21:13:50 +01:00
}
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)
2019-03-06 21:13:50 +01:00
}
// Deprecated: Use LoopOutRequest.ProtoReflect.Descriptor instead.
func (*LoopOutRequest) Descriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{4}
}
2019-03-06 21:13:50 +01:00
func (x *LoopOutRequest) GetAmt() int64 {
if x != nil {
return x.Amt
2019-03-06 21:13:50 +01:00
}
return 0
}
func (x *LoopOutRequest) GetDest() string {
if x != nil {
return x.Dest
2019-03-06 21:13:50 +01:00
}
return ""
}
func (x *LoopOutRequest) GetMaxSwapRoutingFee() int64 {
if x != nil {
return x.MaxSwapRoutingFee
2019-03-06 21:13:50 +01:00
}
return 0
}
func (x *LoopOutRequest) GetMaxPrepayRoutingFee() int64 {
if x != nil {
return x.MaxPrepayRoutingFee
2019-03-06 21:13:50 +01:00
}
return 0
}
func (x *LoopOutRequest) GetMaxSwapFee() int64 {
if x != nil {
return x.MaxSwapFee
2019-03-06 21:13:50 +01:00
}
return 0
}
func (x *LoopOutRequest) GetMaxPrepayAmt() int64 {
if x != nil {
return x.MaxPrepayAmt
2019-03-06 21:13:50 +01:00
}
return 0
}
func (x *LoopOutRequest) GetMaxMinerFee() int64 {
if x != nil {
return x.MaxMinerFee
2019-03-06 21:13:50 +01:00
}
return 0
}
// Deprecated: Marked as deprecated in client.proto.
func (x *LoopOutRequest) GetLoopOutChannel() uint64 {
if x != nil {
return x.LoopOutChannel
2019-03-06 21:13:50 +01:00
}
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
}
2023-10-25 23:32:06 +02:00
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
}
2025-01-09 16:22:28 +01:00
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
}
2019-03-12 16:10:37 +01:00
type LoopInRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Requested swap amount in sat. This does not include the swap and miner
// fee.
2019-03-12 16:10:37 +01:00
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.
2019-03-12 16:10:37 +01:00
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.
2020-11-06 10:42:59 +01:00
//
// max_miner_fee is typically taken from the response of the GetQuote call.
2019-03-12 16:10:37 +01:00
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
2019-03-12 16:10:37 +01:00
}
func (x *LoopInRequest) Reset() {
*x = LoopInRequest{}
mi := &file_client_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2019-03-12 16:10:37 +01:00
}
func (x *LoopInRequest) String() string {
return protoimpl.X.MessageStringOf(x)
2019-03-12 16:10:37 +01:00
}
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)
2019-03-12 16:10:37 +01:00
}
// Deprecated: Use LoopInRequest.ProtoReflect.Descriptor instead.
func (*LoopInRequest) Descriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{5}
}
2019-03-12 16:10:37 +01:00
func (x *LoopInRequest) GetAmt() int64 {
if x != nil {
return x.Amt
2019-03-12 16:10:37 +01:00
}
return 0
}
func (x *LoopInRequest) GetMaxSwapFee() int64 {
if x != nil {
return x.MaxSwapFee
2019-03-12 16:10:37 +01:00
}
return 0
}
func (x *LoopInRequest) GetMaxMinerFee() int64 {
if x != nil {
return x.MaxMinerFee
2019-03-12 16:10:37 +01:00
}
return 0
}
func (x *LoopInRequest) GetLastHop() []byte {
if x != nil {
return x.LastHop
2019-03-12 16:10:37 +01:00
}
return nil
2019-03-12 16:10:37 +01:00
}
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
}
2019-03-06 21:13:50 +01:00
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.
2020-01-31 13:57:28 +01:00
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
2019-03-06 21:13:50 +01:00
}
func (x *SwapResponse) Reset() {
*x = SwapResponse{}
mi := &file_client_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2019-03-06 21:13:50 +01:00
}
func (x *SwapResponse) String() string {
return protoimpl.X.MessageStringOf(x)
2019-03-06 21:13:50 +01:00
}
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)
2019-03-06 21:13:50 +01:00
}
// Deprecated: Use SwapResponse.ProtoReflect.Descriptor instead.
func (*SwapResponse) Descriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{6}
}
2019-03-06 21:13:50 +01:00
// Deprecated: Marked as deprecated in client.proto.
func (x *SwapResponse) GetId() string {
if x != nil {
return x.Id
2019-03-06 21:13:50 +01:00
}
return ""
}
func (x *SwapResponse) GetIdBytes() []byte {
if x != nil {
return x.IdBytes
2020-01-31 13:57:28 +01:00
}
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 ""
}
2019-03-06 21:13:50 +01:00
type MonitorRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
2019-03-06 21:13:50 +01:00
}
func (x *MonitorRequest) Reset() {
*x = MonitorRequest{}
mi := &file_client_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2019-03-06 21:13:50 +01:00
}
func (x *MonitorRequest) String() string {
return protoimpl.X.MessageStringOf(x)
2019-03-06 21:13:50 +01:00
}
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)
2019-03-06 21:13:50 +01:00
}
// Deprecated: Use MonitorRequest.ProtoReflect.Descriptor instead.
func (*MonitorRequest) Descriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{7}
}
2019-03-06 21:13:50 +01:00
type SwapStatus struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Requested swap amount in sat. This does not include the swap and miner
// fee.
2019-03-06 21:13:50 +01:00
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.
2020-01-31 13:57:28 +01:00
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"`
// Generic loop-in/loop-out state for swaps.
State SwapState `protobuf:"varint,4,opt,name=state,proto3,enum=looprpc.SwapState" json:"state,omitempty"`
// Types that are valid to be assigned to StaticLoopInStateOptional:
//
// *SwapStatus_StaticLoopInState
StaticLoopInStateOptional isSwapStatus_StaticLoopInStateOptional `protobuf_oneof:"static_loop_in_state_optional"`
// 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.
2019-03-06 21:13:50 +01:00
InitiationTime int64 `protobuf:"varint,5,opt,name=initiation_time,json=initiationTime,proto3" json:"initiation_time,omitempty"`
// Initiation time of the swap.
2019-03-06 21:13:50 +01:00
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"`
2020-11-06 10:42:59 +01:00
// 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"`
2022-05-30 18:01:17 +02:00
// 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"`
2025-01-20 09:16:07 +01:00
// 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
2019-03-06 21:13:50 +01:00
}
func (x *SwapStatus) Reset() {
*x = SwapStatus{}
mi := &file_client_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2019-03-06 21:13:50 +01:00
}
func (x *SwapStatus) String() string {
return protoimpl.X.MessageStringOf(x)
2019-03-06 21:13:50 +01:00
}
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)
2019-03-06 21:13:50 +01:00
}
// Deprecated: Use SwapStatus.ProtoReflect.Descriptor instead.
func (*SwapStatus) Descriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{8}
}
2019-03-06 21:13:50 +01:00
func (x *SwapStatus) GetAmt() int64 {
if x != nil {
return x.Amt
2019-03-06 21:13:50 +01:00
}
return 0
}
// Deprecated: Marked as deprecated in client.proto.
func (x *SwapStatus) GetId() string {
if x != nil {
return x.Id
2019-03-06 21:13:50 +01:00
}
return ""
}
func (x *SwapStatus) GetIdBytes() []byte {
if x != nil {
return x.IdBytes
2020-01-31 13:57:28 +01:00
}
return nil
}
func (x *SwapStatus) GetType() SwapType {
if x != nil {
return x.Type
2019-03-06 21:13:50 +01:00
}
return SwapType_LOOP_OUT
2019-03-06 21:13:50 +01:00
}
func (x *SwapStatus) GetState() SwapState {
if x != nil {
return x.State
2019-03-06 21:13:50 +01:00
}
return SwapState_INITIATED
}
func (x *SwapStatus) GetStaticLoopInStateOptional() isSwapStatus_StaticLoopInStateOptional {
if x != nil {
return x.StaticLoopInStateOptional
}
return nil
}
func (x *SwapStatus) GetStaticLoopInState() StaticAddressLoopInSwapState {
if x != nil {
if x, ok := x.StaticLoopInStateOptional.(*SwapStatus_StaticLoopInState); ok {
return x.StaticLoopInState
}
}
return StaticAddressLoopInSwapState_UNKNOWN_STATIC_ADDRESS_SWAP_STATE
}
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
2019-03-06 21:13:50 +01:00
}
return 0
}
func (x *SwapStatus) GetLastUpdateTime() int64 {
if x != nil {
return x.LastUpdateTime
2019-03-06 21:13:50 +01:00
}
return 0
}
// Deprecated: Marked as deprecated in client.proto.
func (x *SwapStatus) GetHtlcAddress() string {
if x != nil {
return x.HtlcAddress
2019-03-06 21:13:50 +01:00
}
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
}
2022-05-30 18:01:17 +02:00
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 ""
}
2025-01-20 09:16:07 +01:00
func (x *SwapStatus) GetAssetInfo() *AssetLoopOutInfo {
if x != nil {
return x.AssetInfo
}
return nil
}
type isSwapStatus_StaticLoopInStateOptional interface {
isSwapStatus_StaticLoopInStateOptional()
}
type SwapStatus_StaticLoopInState struct {
// Static address loop-in FSM state when type is STATIC_LOOP_IN.
StaticLoopInState StaticAddressLoopInSwapState `protobuf:"varint,20,opt,name=static_loop_in_state,json=staticLoopInState,proto3,enum=looprpc.StaticAddressLoopInSwapState,oneof"`
}
func (*SwapStatus_StaticLoopInState) isSwapStatus_StaticLoopInStateOptional() {}
type ListSwapsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
2023-12-23 17:31:34 +01:00
// 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}
}
2023-12-23 17:31:34 +01:00
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
}
2023-12-23 17:31:34 +01:00
type ListSwapsFilter struct {
state protoimpl.MessageState `protogen:"open.v1"`
2023-12-23 17:31:34 +01:00
// 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"`
2025-01-20 09:16:07 +01:00
// 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
2023-12-23 17:31:34 +01:00
}
func (x *ListSwapsFilter) Reset() {
*x = ListSwapsFilter{}
mi := &file_client_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2023-12-23 17:31:34 +01:00
}
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 {
2023-12-23 17:31:34 +01:00
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}
2023-12-23 17:31:34 +01:00
}
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
}
2025-01-20 09:16:07 +01:00
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"`
2025-04-23 15:01:01 -03:00
// 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
}
2026-01-14 18:08:48 -05:00
// 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]
2026-01-14 18:08:48 -05:00
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]
2026-01-14 18:08:48 -05:00
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}
2026-01-14 18:08:48 -05:00
}
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]
2026-01-14 18:08:48 -05:00
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]
2026-01-14 18:08:48 -05:00
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}
2026-01-14 18:08:48 -05:00
}
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]
2026-01-14 18:08:48 -05:00
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]
2026-01-14 18:08:48 -05:00
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}
2026-01-14 18:08:48 -05:00
}
// 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]
2026-01-14 18:08:48 -05:00
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]
2026-01-14 18:08:48 -05:00
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}
2026-01-14 18:08:48 -05:00
}
// 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]
2026-01-14 18:08:48 -05:00
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]
2026-01-14 18:08:48 -05:00
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}
2026-01-14 18:08:48 -05:00
}
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
}
2019-03-06 21:13:50 +01:00
type TermsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
2019-03-06 21:13:50 +01:00
}
func (x *TermsRequest) Reset() {
*x = TermsRequest{}
mi := &file_client_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2019-03-06 21:13:50 +01:00
}
func (x *TermsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
2019-03-06 21:13:50 +01:00
}
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)
2019-03-06 21:13:50 +01:00
}
// Deprecated: Use TermsRequest.ProtoReflect.Descriptor instead.
func (*TermsRequest) Descriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{18}
}
2019-03-06 21:13:50 +01:00
2020-07-14 15:13:55 +02:00
type InTermsResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Minimum swap amount (sat)
2019-03-06 21:13:50 +01:00
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
2019-03-06 21:13:50 +01:00
}
func (x *InTermsResponse) Reset() {
*x = InTermsResponse{}
mi := &file_client_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2019-03-06 21:13:50 +01:00
}
func (x *InTermsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
2019-03-06 21:13:50 +01:00
}
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)
2019-03-06 21:13:50 +01:00
}
// Deprecated: Use InTermsResponse.ProtoReflect.Descriptor instead.
func (*InTermsResponse) Descriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{19}
}
2019-03-06 21:13:50 +01:00
func (x *InTermsResponse) GetMinSwapAmount() int64 {
if x != nil {
return x.MinSwapAmount
2019-03-06 21:13:50 +01:00
}
return 0
}
func (x *InTermsResponse) GetMaxSwapAmount() int64 {
if x != nil {
return x.MaxSwapAmount
2020-07-14 15:13:55 +02:00
}
return 0
}
type OutTermsResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// Minimum swap amount (sat)
2020-07-14 15:13:55 +02:00
MinSwapAmount int64 `protobuf:"varint,5,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"`
// Maximum swap amount (sat)
2020-07-15 13:00:27 +02:00
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
2020-07-14 15:13:55 +02:00
}
func (x *OutTermsResponse) Reset() {
*x = OutTermsResponse{}
mi := &file_client_proto_msgTypes[20]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2020-07-14 15:13:55 +02:00
}
func (x *OutTermsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
2020-07-14 15:13:55 +02:00
}
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)
2020-07-14 15:13:55 +02:00
}
// Deprecated: Use OutTermsResponse.ProtoReflect.Descriptor instead.
func (*OutTermsResponse) Descriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{20}
}
2020-07-14 15:13:55 +02:00
func (x *OutTermsResponse) GetMinSwapAmount() int64 {
if x != nil {
return x.MinSwapAmount
2020-07-14 15:13:55 +02:00
}
return 0
}
func (x *OutTermsResponse) GetMaxSwapAmount() int64 {
if x != nil {
return x.MaxSwapAmount
2019-03-06 21:13:50 +01:00
}
return 0
}
func (x *OutTermsResponse) GetMinCltvDelta() int32 {
if x != nil {
return x.MinCltvDelta
2020-07-15 13:00:27 +02:00
}
return 0
}
func (x *OutTermsResponse) GetMaxCltvDelta() int32 {
if x != nil {
return x.MaxCltvDelta
2020-07-15 13:00:27 +02:00
}
return 0
}
2019-03-06 21:13:50 +01:00
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.
2021-05-10 16:55:53 +02:00
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"`
2025-01-09 16:22:28 +01:00
// 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
2019-03-06 21:13:50 +01:00
}
func (x *QuoteRequest) Reset() {
*x = QuoteRequest{}
mi := &file_client_proto_msgTypes[21]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2019-03-06 21:13:50 +01:00
}
func (x *QuoteRequest) String() string {
return protoimpl.X.MessageStringOf(x)
2019-03-06 21:13:50 +01:00
}
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)
2019-03-06 21:13:50 +01:00
}
// Deprecated: Use QuoteRequest.ProtoReflect.Descriptor instead.
func (*QuoteRequest) Descriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{21}
}
2019-03-06 21:13:50 +01:00
func (x *QuoteRequest) GetAmt() int64 {
if x != nil {
return x.Amt
2019-03-06 21:13:50 +01:00
}
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
}
2021-05-10 16:55:53 +02:00
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
}
2025-01-09 16:22:28 +01:00
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
}
2020-07-14 15:20:37 +02:00
type InQuoteResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The fee that the swap server is charging for the swap.
2020-07-14 15:20:37 +02:00
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.
2020-07-14 15:20:37 +02:00
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
2020-07-14 15:20:37 +02:00
}
func (x *InQuoteResponse) Reset() {
*x = InQuoteResponse{}
mi := &file_client_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2020-07-14 15:20:37 +02:00
}
func (x *InQuoteResponse) String() string {
return protoimpl.X.MessageStringOf(x)
2020-07-14 15:20:37 +02:00
}
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)
2020-07-14 15:20:37 +02:00
}
// Deprecated: Use InQuoteResponse.ProtoReflect.Descriptor instead.
func (*InQuoteResponse) Descriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{22}
}
2020-07-14 15:20:37 +02:00
func (x *InQuoteResponse) GetSwapFeeSat() int64 {
if x != nil {
return x.SwapFeeSat
2020-07-14 15:20:37 +02:00
}
return 0
}
func (x *InQuoteResponse) GetHtlcPublishFeeSat() int64 {
if x != nil {
return x.HtlcPublishFeeSat
2020-07-14 15:20:37 +02:00
}
return 0
}
func (x *InQuoteResponse) GetCltvDelta() int32 {
if x != nil {
return x.CltvDelta
2020-07-14 15:20:37 +02:00
}
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
}
2020-07-14 15:20:37 +02:00
type OutQuoteResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The fee that the swap server is charging for the swap.
2020-07-14 15:20:37 +02:00
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.
2020-07-14 15:20:37 +02:00
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.
2020-07-14 15:20:37 +02:00
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"`
2025-01-09 16:22:28 +01:00
// 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
2019-03-06 21:13:50 +01:00
}
func (x *OutQuoteResponse) Reset() {
*x = OutQuoteResponse{}
mi := &file_client_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2019-03-06 21:13:50 +01:00
}
func (x *OutQuoteResponse) String() string {
return protoimpl.X.MessageStringOf(x)
2019-03-06 21:13:50 +01:00
}
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)
2019-03-06 21:13:50 +01:00
}
// Deprecated: Use OutQuoteResponse.ProtoReflect.Descriptor instead.
func (*OutQuoteResponse) Descriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{23}
}
2019-03-06 21:13:50 +01:00
func (x *OutQuoteResponse) GetSwapFeeSat() int64 {
if x != nil {
return x.SwapFeeSat
2019-03-06 21:13:50 +01:00
}
return 0
}
func (x *OutQuoteResponse) GetPrepayAmtSat() int64 {
if x != nil {
return x.PrepayAmtSat
2019-03-06 21:13:50 +01:00
}
return 0
}
func (x *OutQuoteResponse) GetHtlcSweepFeeSat() int64 {
if x != nil {
return x.HtlcSweepFeeSat
2019-03-06 21:13:50 +01:00
}
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
}
2025-01-09 16:22:28 +01:00
func (x *OutQuoteResponse) GetAssetRfqInfo() *AssetRfqInfo {
if x != nil {
return x.AssetRfqInfo
}
return nil
}
2021-05-10 16:55:53 +02:00
type ProbeRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The amount to probe.
2021-05-10 16:55:53 +02:00
Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"`
// Optional last hop of the route to probe.
2021-05-10 16:55:53 +02:00
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
2021-05-10 16:55:53 +02:00
}
func (x *ProbeRequest) Reset() {
*x = ProbeRequest{}
mi := &file_client_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2021-05-10 16:55:53 +02:00
}
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 {
2021-05-10 16:55:53 +02:00
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}
2021-05-10 16:55:53 +02:00
}
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 {
2021-05-10 16:55:53 +02:00
if x != nil {
return x.RouteHints
}
return nil
}
type ProbeResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
2021-05-10 16:55:53 +02:00
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
2021-05-10 16:55:53 +02:00
}
func (x *ProbeResponse) Reset() {
*x = ProbeResponse{}
mi := &file_client_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2021-05-10 16:55:53 +02:00
}
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 {
2021-05-10 16:55:53 +02:00
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}
2021-05-10 16:55:53 +02:00
}
2019-11-15 13:57:03 +01:00
type TokensRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
2019-11-15 13:57:03 +01:00
}
func (x *TokensRequest) Reset() {
*x = TokensRequest{}
mi := &file_client_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2019-11-15 13:57:03 +01:00
}
func (x *TokensRequest) String() string {
return protoimpl.X.MessageStringOf(x)
2019-11-15 13:57:03 +01:00
}
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)
2019-11-15 13:57:03 +01:00
}
// Deprecated: Use TokensRequest.ProtoReflect.Descriptor instead.
func (*TokensRequest) Descriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{26}
}
2019-11-15 13:57:03 +01:00
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
2019-11-15 13:57:03 +01:00
}
func (x *TokensResponse) Reset() {
*x = TokensResponse{}
mi := &file_client_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2019-11-15 13:57:03 +01:00
}
func (x *TokensResponse) String() string {
return protoimpl.X.MessageStringOf(x)
2019-11-15 13:57:03 +01:00
}
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)
2019-11-15 13:57:03 +01:00
}
// Deprecated: Use TokensResponse.ProtoReflect.Descriptor instead.
func (*TokensResponse) Descriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{27}
}
2019-11-15 13:57:03 +01:00
func (x *TokensResponse) GetTokens() []*L402Token {
if x != nil {
return x.Tokens
2019-11-15 13:57:03 +01:00
}
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.
2019-11-15 13:57:03 +01:00
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.
2019-11-15 13:57:03 +01:00
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.
2019-11-15 13:57:03 +01:00
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.
2019-11-15 13:57:03 +01:00
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.
2019-11-15 13:57:03 +01:00
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.
2019-11-15 13:57:03 +01:00
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.
2019-11-15 13:57:03 +01:00
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
2019-11-15 13:57:03 +01:00
}
func (x *L402Token) Reset() {
*x = L402Token{}
mi := &file_client_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2019-11-15 13:57:03 +01:00
}
func (x *L402Token) String() string {
return protoimpl.X.MessageStringOf(x)
2019-11-15 13:57:03 +01:00
}
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)
2019-11-15 13:57:03 +01:00
}
// Deprecated: Use L402Token.ProtoReflect.Descriptor instead.
func (*L402Token) Descriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{30}
}
2019-11-15 13:57:03 +01:00
func (x *L402Token) GetBaseMacaroon() []byte {
if x != nil {
return x.BaseMacaroon
2019-11-15 13:57:03 +01:00
}
return nil
}
func (x *L402Token) GetPaymentHash() []byte {
if x != nil {
return x.PaymentHash
2019-11-15 13:57:03 +01:00
}
return nil
}
func (x *L402Token) GetPaymentPreimage() []byte {
if x != nil {
return x.PaymentPreimage
2019-11-15 13:57:03 +01:00
}
return nil
}
func (x *L402Token) GetAmountPaidMsat() int64 {
if x != nil {
return x.AmountPaidMsat
2019-11-15 13:57:03 +01:00
}
return 0
}
func (x *L402Token) GetRoutingFeePaidMsat() int64 {
if x != nil {
return x.RoutingFeePaidMsat
2019-11-15 13:57:03 +01:00
}
return 0
}
func (x *L402Token) GetTimeCreated() int64 {
if x != nil {
return x.TimeCreated
2019-11-15 13:57:03 +01:00
}
return 0
}
func (x *L402Token) GetExpired() bool {
if x != nil {
return x.Expired
2019-11-15 13:57:03 +01:00
}
return false
}
func (x *L402Token) GetStorageName() string {
if x != nil {
return x.StorageName
2019-11-15 13:57:03 +01:00
}
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.
2021-03-02 14:42:04 +02:00
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.
2022-12-07 15:19:11 +02:00
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.
2023-02-08 22:26:20 +02:00
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"`
2025-02-17 10:27:40 +01:00
// 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"`
// Selects which source autoloop uses for loop-in rules.
LoopInSource LoopInSource `protobuf:"varint,28,opt,name=loop_in_source,json=loopInSource,proto3,enum=looprpc.LoopInSource" json:"loop_in_source,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
2021-03-02 14:42:04 +02:00
}
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
}
2022-12-07 15:19:11 +02:00
func (x *LiquidityParameters) GetAutoloopDestAddress() string {
if x != nil {
return x.AutoloopDestAddress
}
return ""
}
2023-02-08 22:26:20 +02:00
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
}
2025-02-17 10:27:40 +01:00
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
}
func (x *LiquidityParameters) GetLoopInSource() LoopInSource {
if x != nil {
return x.LoopInSource
}
return LoopInSource_LOOP_IN_SOURCE_WALLET
}
2025-02-17 10:27:40 +01:00
type EasyAssetAutoloopParams struct {
state protoimpl.MessageState `protogen:"open.v1"`
2025-02-17 10:27:40 +01:00
// 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
2025-02-17 10:27:40 +01:00
}
func (x *EasyAssetAutoloopParams) Reset() {
*x = EasyAssetAutoloopParams{}
mi := &file_client_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2025-02-17 10:27:40 +01:00
}
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 {
2025-02-17 10:27:40 +01:00
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}
2025-02-17 10:27:40 +01:00
}
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"`
2021-11-30 13:18:28 +02:00
// 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.
2021-02-16 13:31:51 +02:00
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
}
2021-11-30 13:18:28 +02:00
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
2021-02-16 13:31:51 +02:00
}
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)
2020-09-03 10:36:44 +02:00
}
// Deprecated: Use SetLiquidityParamsResponse.ProtoReflect.Descriptor instead.
func (*SetLiquidityParamsResponse) Descriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{39}
2020-09-03 10:36:44 +02:00
}
type SuggestSwapsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
2020-09-03 10:36:44 +02:00
}
func (x *SuggestSwapsRequest) Reset() {
*x = SuggestSwapsRequest{}
mi := &file_client_proto_msgTypes[40]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2020-09-03 10:36:44 +02:00
}
func (x *SuggestSwapsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
2020-09-03 10:36:44 +02:00
}
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)
2020-09-03 10:36:44 +02:00
}
// Deprecated: Use SuggestSwapsRequest.ProtoReflect.Descriptor instead.
func (*SuggestSwapsRequest) Descriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{40}
}
2020-09-03 10:36:44 +02:00
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.
2021-02-16 13:31:51 +02:00
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
2021-02-16 13:31:51 +02:00
}
return nil
}
func (x *Disqualified) GetReason() AutoReason {
if x != nil {
return x.Reason
}
return AutoReason_AUTO_REASON_UNKNOWN
}
2020-09-03 10:36:44 +02:00
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"`
// The set of recommended static-address loop in swaps.
StaticLoopIn []*StaticAddressLoopInRequest `protobuf:"bytes,4,rep,name=static_loop_in,json=staticLoopIn,proto3" json:"static_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
2020-09-03 10:36:44 +02:00
}
func (x *SuggestSwapsResponse) Reset() {
*x = SuggestSwapsResponse{}
mi := &file_client_proto_msgTypes[42]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2020-09-03 10:36:44 +02:00
}
func (x *SuggestSwapsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
2020-09-03 10:36:44 +02:00
}
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)
2020-09-03 10:36:44 +02:00
}
// Deprecated: Use SuggestSwapsResponse.ProtoReflect.Descriptor instead.
func (*SuggestSwapsResponse) Descriptor() ([]byte, []int) {
return file_client_proto_rawDescGZIP(), []int{42}
}
2020-09-03 10:36:44 +02:00
func (x *SuggestSwapsResponse) GetLoopOut() []*LoopOutRequest {
if x != nil {
return x.LoopOut
2020-09-03 10:36:44 +02:00
}
return nil
}
func (x *SuggestSwapsResponse) GetLoopIn() []*LoopInRequest {
if x != nil {
return x.LoopIn
}
return nil
}
func (x *SuggestSwapsResponse) GetStaticLoopIn() []*StaticAddressLoopInRequest {
if x != nil {
return x.StaticLoopIn
}
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}
}
2023-08-25 01:42:35 +02:00
type ListReservationsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
2023-08-25 01:42:35 +02:00
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
2023-08-25 01:42:35 +02:00
}
func (x *ListReservationsRequest) Reset() {
*x = ListReservationsRequest{}
mi := &file_client_proto_msgTypes[45]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2023-08-25 01:42:35 +02:00
}
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 {
2023-08-25 01:42:35 +02:00
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}
2023-08-25 01:42:35 +02:00
}
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
2023-08-25 01:42:35 +02:00
}
func (x *ListReservationsResponse) Reset() {
*x = ListReservationsResponse{}
mi := &file_client_proto_msgTypes[46]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2023-08-25 01:42:35 +02:00
}
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 {
2023-08-25 01:42:35 +02:00
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}
2023-08-25 01:42:35 +02:00
}
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.
2023-08-25 01:42:35 +02:00
ReservationId []byte `protobuf:"bytes,1,opt,name=reservation_id,json=reservationId,proto3" json:"reservation_id,omitempty"`
// The state the reservation is in.
2023-08-25 01:42:35 +02:00
State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
// The amount that the reservation is for.
2023-08-25 01:42:35 +02:00
Amount uint64 `protobuf:"varint,3,opt,name=amount,proto3" json:"amount,omitempty"`
// The transaction id of the reservation.
2023-10-25 23:32:06 +02:00
TxId string `protobuf:"bytes,4,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"`
// The vout of the reservation.
2023-08-25 01:42:35 +02:00
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
2023-08-25 01:42:35 +02:00
}
func (x *ClientReservation) Reset() {
*x = ClientReservation{}
mi := &file_client_proto_msgTypes[47]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2023-08-25 01:42:35 +02:00
}
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 {
2023-08-25 01:42:35 +02:00
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}
2023-08-25 01:42:35 +02:00
}
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
}
2023-10-25 23:32:06 +02:00
func (x *ClientReservation) GetTxId() string {
2023-08-25 01:42:35 +02:00
if x != nil {
return x.TxId
}
2023-10-25 23:32:06 +02:00
return ""
2023-08-25 01:42:35 +02:00
}
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
}
2023-10-25 23:32:06 +02:00
type InstantOutRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The reservations to use for the swap.
2023-10-25 23:32:06 +02:00
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.
2024-03-01 16:56:22 +01:00
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
2023-10-25 23:32:06 +02:00
}
func (x *InstantOutRequest) Reset() {
*x = InstantOutRequest{}
mi := &file_client_proto_msgTypes[48]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2023-10-25 23:32:06 +02:00
}
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 {
2023-10-25 23:32:06 +02:00
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}
2023-10-25 23:32:06 +02:00
}
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
}
2024-03-01 16:56:22 +01:00
func (x *InstantOutRequest) GetDestAddr() string {
if x != nil {
return x.DestAddr
}
return ""
}
2023-10-25 23:32:06 +02:00
type InstantOutResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The hash of the swap preimage.
2023-10-25 23:32:06 +02:00
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.
2023-10-25 23:32:06 +02:00
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
2023-10-25 23:32:06 +02:00
}
func (x *InstantOutResponse) Reset() {
*x = InstantOutResponse{}
mi := &file_client_proto_msgTypes[49]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2023-10-25 23:32:06 +02:00
}
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 {
2023-10-25 23:32:06 +02:00
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}
2023-10-25 23:32:06 +02:00
}
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 ""
}
2024-02-06 19:15:27 +01:00
type InstantOutQuoteRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The amount to swap in satoshis.
2024-02-06 19:15:27 +01:00
Amt uint64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"`
2025-04-08 09:50:51 +02:00
// Deprecated: use 'reservation_ids' instead.
// The amount of reservations to use for the swap.
2025-04-08 09:50:51 +02:00
//
// Deprecated: Marked as deprecated in client.proto.
2024-02-06 19:15:27 +01:00
NumReservations int32 `protobuf:"varint,2,opt,name=num_reservations,json=numReservations,proto3" json:"num_reservations,omitempty"`
2025-04-08 09:50:51 +02:00
// 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
2024-02-06 19:15:27 +01:00
}
func (x *InstantOutQuoteRequest) Reset() {
*x = InstantOutQuoteRequest{}
mi := &file_client_proto_msgTypes[50]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2024-02-06 19:15:27 +01:00
}
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 {
2024-02-06 19:15:27 +01:00
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}
2024-02-06 19:15:27 +01:00
}
func (x *InstantOutQuoteRequest) GetAmt() uint64 {
if x != nil {
return x.Amt
}
return 0
}
2025-04-08 09:50:51 +02:00
// Deprecated: Marked as deprecated in client.proto.
2024-02-06 19:15:27 +01:00
func (x *InstantOutQuoteRequest) GetNumReservations() int32 {
if x != nil {
return x.NumReservations
}
return 0
}
2025-04-08 09:50:51 +02:00
func (x *InstantOutQuoteRequest) GetReservationIds() [][]byte {
if x != nil {
return x.ReservationIds
}
return nil
}
2024-02-06 19:15:27 +01:00
type InstantOutQuoteResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
// The fee that the swap service is charging for the swap.
2024-02-06 19:15:27 +01:00
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
2024-02-06 19:15:27 +01:00
}
func (x *InstantOutQuoteResponse) Reset() {
*x = InstantOutQuoteResponse{}
mi := &file_client_proto_msgTypes[51]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2024-02-06 19:15:27 +01:00
}
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 {
2024-02-06 19:15:27 +01:00
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}
2024-02-06 19:15:27 +01:00
}
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
}
2024-03-01 14:34:53 +01:00
type ListInstantOutsRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
2024-03-01 14:34:53 +01:00
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
2024-03-01 14:34:53 +01:00
}
func (x *ListInstantOutsRequest) Reset() {
*x = ListInstantOutsRequest{}
mi := &file_client_proto_msgTypes[52]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2024-03-01 14:34:53 +01:00
}
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 {
2024-03-01 14:34:53 +01:00
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}
2024-03-01 14:34:53 +01:00
}
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
2024-03-01 14:34:53 +01:00
}
func (x *ListInstantOutsResponse) Reset() {
*x = ListInstantOutsResponse{}
mi := &file_client_proto_msgTypes[53]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2024-03-01 14:34:53 +01:00
}
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 {
2024-03-01 14:34:53 +01:00
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}
2024-03-01 14:34:53 +01:00
}
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.
2024-03-01 14:34:53 +01:00
SwapHash []byte `protobuf:"bytes,1,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"`
// The state the swap is in.
2024-03-01 14:34:53 +01:00
State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"`
// The amount of the swap.
2024-03-01 14:34:53 +01:00
Amount uint64 `protobuf:"varint,3,opt,name=amount,proto3" json:"amount,omitempty"`
// The used reservations for the swap.
2024-03-01 14:34:53 +01:00
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
2024-03-01 14:34:53 +01:00
}
func (x *InstantOut) Reset() {
*x = InstantOut{}
mi := &file_client_proto_msgTypes[54]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2024-03-01 14:34:53 +01:00
}
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 {
2024-03-01 14:34:53 +01:00
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}
2024-03-01 14:34:53 +01:00
}
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"`
// Initiation time of the swap.
InitiationTime int64 `protobuf:"varint,7,opt,name=initiation_time,json=initiationTime,proto3" json:"initiation_time,omitempty"`
// Last update time of the swap.
LastUpdateTime int64 `protobuf:"varint,8,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"`
// Swap server cost.
CostServer int64 `protobuf:"varint,9,opt,name=cost_server,json=costServer,proto3" json:"cost_server,omitempty"`
// On-chain transaction cost.
CostOnchain int64 `protobuf:"varint,10,opt,name=cost_onchain,json=costOnchain,proto3" json:"cost_onchain,omitempty"`
// Off-chain routing fees.
CostOffchain int64 `protobuf:"varint,11,opt,name=cost_offchain,json=costOffchain,proto3" json:"cost_offchain,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
}
func (x *StaticAddressLoopInSwap) GetInitiationTime() int64 {
if x != nil {
return x.InitiationTime
}
return 0
}
func (x *StaticAddressLoopInSwap) GetLastUpdateTime() int64 {
if x != nil {
return x.LastUpdateTime
}
return 0
}
func (x *StaticAddressLoopInSwap) GetCostServer() int64 {
if x != nil {
return x.CostServer
}
return 0
}
func (x *StaticAddressLoopInSwap) GetCostOnchain() int64 {
if x != nil {
return x.CostOnchain
}
return 0
}
func (x *StaticAddressLoopInSwap) GetCostOffchain() int64 {
if x != nil {
return x.CostOffchain
}
return 0
}
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
}
2025-01-09 16:22:28 +01:00
type AssetLoopOutRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
2025-01-09 16:22:28 +01:00
// 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
2025-01-09 16:22:28 +01:00
}
func (x *AssetLoopOutRequest) Reset() {
*x = AssetLoopOutRequest{}
mi := &file_client_proto_msgTypes[75]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2025-01-09 16:22:28 +01:00
}
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 {
2025-01-09 16:22:28 +01:00
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}
2025-01-09 16:22:28 +01:00
}
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"`
2025-01-09 16:22:28 +01:00
// 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"`
2025-01-22 09:59:03 +01:00
// 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"`
2025-01-22 09:59:52 +01:00
// 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"`
2025-01-09 16:22:28 +01:00
// 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"`
2025-01-22 09:59:03 +01:00
// 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"`
2025-01-22 09:59:52 +01:00
// 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"`
2025-01-09 16:22:28 +01:00
// 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
2025-01-09 16:22:28 +01:00
}
func (x *AssetRfqInfo) Reset() {
*x = AssetRfqInfo{}
mi := &file_client_proto_msgTypes[76]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2025-01-09 16:22:28 +01:00
}
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 {
2025-01-09 16:22:28 +01:00
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}
2025-01-09 16:22:28 +01:00
}
func (x *AssetRfqInfo) GetPrepayRfqId() []byte {
if x != nil {
return x.PrepayRfqId
}
return nil
}
2025-01-22 09:59:03 +01:00
func (x *AssetRfqInfo) GetMaxPrepayAssetAmt() uint64 {
2025-01-09 16:22:28 +01:00
if x != nil {
2025-01-22 09:59:03 +01:00
return x.MaxPrepayAssetAmt
2025-01-09 16:22:28 +01:00
}
return 0
}
2025-01-22 09:59:52 +01:00
func (x *AssetRfqInfo) GetPrepayAssetRate() *FixedPoint {
if x != nil {
return x.PrepayAssetRate
}
return nil
}
2025-01-09 16:22:28 +01:00
func (x *AssetRfqInfo) GetSwapRfqId() []byte {
if x != nil {
return x.SwapRfqId
}
return nil
}
2025-01-22 09:59:03 +01:00
func (x *AssetRfqInfo) GetMaxSwapAssetAmt() uint64 {
2025-01-09 16:22:28 +01:00
if x != nil {
2025-01-22 09:59:03 +01:00
return x.MaxSwapAssetAmt
2025-01-09 16:22:28 +01:00
}
return 0
}
2025-01-22 09:59:52 +01:00
func (x *AssetRfqInfo) GetSwapAssetRate() *FixedPoint {
if x != nil {
return x.SwapAssetRate
}
return nil
}
2025-01-09 16:22:28 +01:00
func (x *AssetRfqInfo) GetAssetName() string {
if x != nil {
return x.AssetName
}
return ""
}
2025-01-22 09:59:52 +01:00
// 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"`
2025-01-22 09:59:52 +01:00
// 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
2025-01-22 09:59:52 +01:00
}
func (x *FixedPoint) Reset() {
*x = FixedPoint{}
mi := &file_client_proto_msgTypes[77]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2025-01-22 09:59:52 +01:00
}
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 {
2025-01-22 09:59:52 +01:00
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}
2025-01-22 09:59:52 +01:00
}
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
}
2025-01-20 09:16:07 +01:00
type AssetLoopOutInfo struct {
state protoimpl.MessageState `protogen:"open.v1"`
2025-01-20 09:16:07 +01:00
// 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
2025-01-20 09:16:07 +01:00
}
func (x *AssetLoopOutInfo) Reset() {
*x = AssetLoopOutInfo{}
mi := &file_client_proto_msgTypes[78]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
2025-01-20 09:16:07 +01:00
}
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 {
2025-01-20 09:16:07 +01:00
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}
2025-01-20 09:16:07 +01:00
}
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\"\xac\x06\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\x12X\n" +
"\x14static_loop_in_state\x18\x14 \x01(\x0e2%.looprpc.StaticAddressLoopInSwapStateH\x00R\x11staticLoopInState\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\tassetInfoB\x1f\n" +
"\x1dstatic_loop_in_state_optional\"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" +
2026-01-14 18:08:48 -05:00
"\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\"\x8b\f\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\x12;\n" +
"\x0eloop_in_source\x18\x1c \x01(\x0e2\x15.looprpc.LoopInSourceR\floopInSource\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\"\x81\x02\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\x12I\n" +
"\x0estatic_loop_in\x18\x04 \x03(\v2#.looprpc.StaticAddressLoopInRequestR\fstaticLoopIn\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\"\x83\x04\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\x12'\n" +
"\x0finitiation_time\x18\a \x01(\x03R\x0einitiationTime\x12(\n" +
"\x10last_update_time\x18\b \x01(\x03R\x0elastUpdateTime\x12\x1f\n" +
"\vcost_server\x18\t \x01(\x03R\n" +
"costServer\x12!\n" +
"\fcost_onchain\x18\n" +
" \x01(\x03R\vcostOnchain\x12#\n" +
"\rcost_offchain\x18\v \x01(\x03R\fcostOffchain\"\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*9\n" +
"\bSwapType\x12\f\n" +
"\bLOOP_OUT\x10\x00\x12\v\n" +
"\aLOOP_IN\x10\x01\x12\x12\n" +
"\x0eSTATIC_LOOP_IN\x10\x02*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*L\n" +
"\fLoopInSource\x12\x19\n" +
"\x15LOOP_IN_SOURCE_WALLET\x10\x00\x12!\n" +
"\x1dLOOP_IN_SOURCE_STATIC_ADDRESS\x10\x01*/\n" +
"\x11LiquidityRuleType\x12\v\n" +
"\aUNKNOWN\x10\x00\x12\r\n" +
"\tTHRESHOLD\x10\x01*\xf8\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\x12+\n" +
"'AUTO_REASON_STATIC_LOOP_IN_NO_CANDIDATE\x10\x0e\x12#\n" +
"\x1fAUTO_REASON_CUSTOM_CHANNEL_DATA\x10\x0f*\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" +
2026-01-14 18:08:48 -05:00
"\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, 10)
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
(LoopInSource)(0), // 4: looprpc.LoopInSource
(LiquidityRuleType)(0), // 5: looprpc.LiquidityRuleType
(AutoReason)(0), // 6: looprpc.AutoReason
(DepositState)(0), // 7: looprpc.DepositState
(StaticAddressLoopInSwapState)(0), // 8: looprpc.StaticAddressLoopInSwapState
(ListSwapsFilter_SwapTypeFilter)(0), // 9: looprpc.ListSwapsFilter.SwapTypeFilter
(*StaticOpenChannelRequest)(nil), // 10: looprpc.StaticOpenChannelRequest
(*StaticOpenChannelResponse)(nil), // 11: looprpc.StaticOpenChannelResponse
(*StopDaemonRequest)(nil), // 12: looprpc.StopDaemonRequest
(*StopDaemonResponse)(nil), // 13: looprpc.StopDaemonResponse
(*LoopOutRequest)(nil), // 14: looprpc.LoopOutRequest
(*LoopInRequest)(nil), // 15: looprpc.LoopInRequest
(*SwapResponse)(nil), // 16: looprpc.SwapResponse
(*MonitorRequest)(nil), // 17: looprpc.MonitorRequest
(*SwapStatus)(nil), // 18: looprpc.SwapStatus
(*ListSwapsRequest)(nil), // 19: looprpc.ListSwapsRequest
(*ListSwapsFilter)(nil), // 20: looprpc.ListSwapsFilter
(*ListSwapsResponse)(nil), // 21: looprpc.ListSwapsResponse
(*SweepHtlcRequest)(nil), // 22: looprpc.SweepHtlcRequest
(*SweepHtlcResponse)(nil), // 23: looprpc.SweepHtlcResponse
(*PublishNotRequested)(nil), // 24: looprpc.PublishNotRequested
(*PublishSucceeded)(nil), // 25: looprpc.PublishSucceeded
(*PublishFailed)(nil), // 26: looprpc.PublishFailed
(*SwapInfoRequest)(nil), // 27: looprpc.SwapInfoRequest
(*TermsRequest)(nil), // 28: looprpc.TermsRequest
(*InTermsResponse)(nil), // 29: looprpc.InTermsResponse
(*OutTermsResponse)(nil), // 30: looprpc.OutTermsResponse
(*QuoteRequest)(nil), // 31: looprpc.QuoteRequest
(*InQuoteResponse)(nil), // 32: looprpc.InQuoteResponse
(*OutQuoteResponse)(nil), // 33: looprpc.OutQuoteResponse
(*ProbeRequest)(nil), // 34: looprpc.ProbeRequest
(*ProbeResponse)(nil), // 35: looprpc.ProbeResponse
(*TokensRequest)(nil), // 36: looprpc.TokensRequest
(*TokensResponse)(nil), // 37: looprpc.TokensResponse
(*FetchL402TokenRequest)(nil), // 38: looprpc.FetchL402TokenRequest
(*FetchL402TokenResponse)(nil), // 39: looprpc.FetchL402TokenResponse
(*L402Token)(nil), // 40: looprpc.L402Token
(*LoopStats)(nil), // 41: looprpc.LoopStats
(*GetInfoRequest)(nil), // 42: looprpc.GetInfoRequest
(*GetInfoResponse)(nil), // 43: looprpc.GetInfoResponse
(*GetLiquidityParamsRequest)(nil), // 44: looprpc.GetLiquidityParamsRequest
(*LiquidityParameters)(nil), // 45: looprpc.LiquidityParameters
(*EasyAssetAutoloopParams)(nil), // 46: looprpc.EasyAssetAutoloopParams
(*LiquidityRule)(nil), // 47: looprpc.LiquidityRule
(*SetLiquidityParamsRequest)(nil), // 48: looprpc.SetLiquidityParamsRequest
(*SetLiquidityParamsResponse)(nil), // 49: looprpc.SetLiquidityParamsResponse
(*SuggestSwapsRequest)(nil), // 50: looprpc.SuggestSwapsRequest
(*Disqualified)(nil), // 51: looprpc.Disqualified
(*SuggestSwapsResponse)(nil), // 52: looprpc.SuggestSwapsResponse
(*AbandonSwapRequest)(nil), // 53: looprpc.AbandonSwapRequest
(*AbandonSwapResponse)(nil), // 54: looprpc.AbandonSwapResponse
(*ListReservationsRequest)(nil), // 55: looprpc.ListReservationsRequest
(*ListReservationsResponse)(nil), // 56: looprpc.ListReservationsResponse
(*ClientReservation)(nil), // 57: looprpc.ClientReservation
(*InstantOutRequest)(nil), // 58: looprpc.InstantOutRequest
(*InstantOutResponse)(nil), // 59: looprpc.InstantOutResponse
(*InstantOutQuoteRequest)(nil), // 60: looprpc.InstantOutQuoteRequest
(*InstantOutQuoteResponse)(nil), // 61: looprpc.InstantOutQuoteResponse
(*ListInstantOutsRequest)(nil), // 62: looprpc.ListInstantOutsRequest
(*ListInstantOutsResponse)(nil), // 63: looprpc.ListInstantOutsResponse
(*InstantOut)(nil), // 64: looprpc.InstantOut
(*NewStaticAddressRequest)(nil), // 65: looprpc.NewStaticAddressRequest
(*NewStaticAddressResponse)(nil), // 66: looprpc.NewStaticAddressResponse
(*ListUnspentDepositsRequest)(nil), // 67: looprpc.ListUnspentDepositsRequest
(*ListUnspentDepositsResponse)(nil), // 68: looprpc.ListUnspentDepositsResponse
(*Utxo)(nil), // 69: looprpc.Utxo
(*WithdrawDepositsRequest)(nil), // 70: looprpc.WithdrawDepositsRequest
(*WithdrawDepositsResponse)(nil), // 71: looprpc.WithdrawDepositsResponse
(*ListStaticAddressDepositsRequest)(nil), // 72: looprpc.ListStaticAddressDepositsRequest
(*ListStaticAddressDepositsResponse)(nil), // 73: looprpc.ListStaticAddressDepositsResponse
(*ListStaticAddressWithdrawalRequest)(nil), // 74: looprpc.ListStaticAddressWithdrawalRequest
(*ListStaticAddressWithdrawalResponse)(nil), // 75: looprpc.ListStaticAddressWithdrawalResponse
(*ListStaticAddressSwapsRequest)(nil), // 76: looprpc.ListStaticAddressSwapsRequest
(*ListStaticAddressSwapsResponse)(nil), // 77: looprpc.ListStaticAddressSwapsResponse
(*StaticAddressSummaryRequest)(nil), // 78: looprpc.StaticAddressSummaryRequest
(*StaticAddressSummaryResponse)(nil), // 79: looprpc.StaticAddressSummaryResponse
(*Deposit)(nil), // 80: looprpc.Deposit
(*StaticAddressWithdrawal)(nil), // 81: looprpc.StaticAddressWithdrawal
(*StaticAddressLoopInSwap)(nil), // 82: looprpc.StaticAddressLoopInSwap
(*StaticAddressLoopInRequest)(nil), // 83: looprpc.StaticAddressLoopInRequest
(*StaticAddressLoopInResponse)(nil), // 84: looprpc.StaticAddressLoopInResponse
(*AssetLoopOutRequest)(nil), // 85: looprpc.AssetLoopOutRequest
(*AssetRfqInfo)(nil), // 86: looprpc.AssetRfqInfo
(*FixedPoint)(nil), // 87: looprpc.FixedPoint
(*AssetLoopOutInfo)(nil), // 88: looprpc.AssetLoopOutInfo
nil, // 89: looprpc.LiquidityParameters.EasyAssetParamsEntry
(*lnrpc.OpenChannelRequest)(nil), // 90: lnrpc.OpenChannelRequest
(*swapserverrpc.RouteHint)(nil), // 91: looprpc.RouteHint
(*lnrpc.OutPoint)(nil), // 92: lnrpc.OutPoint
}
var file_client_proto_depIdxs = []int32{
90, // 0: looprpc.StaticOpenChannelRequest.open_channel_request:type_name -> lnrpc.OpenChannelRequest
0, // 1: looprpc.LoopOutRequest.account_addr_type:type_name -> looprpc.AddressType
85, // 2: looprpc.LoopOutRequest.asset_info:type_name -> looprpc.AssetLoopOutRequest
86, // 3: looprpc.LoopOutRequest.asset_rfq_info:type_name -> looprpc.AssetRfqInfo
91, // 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
8, // 7: looprpc.SwapStatus.static_loop_in_state:type_name -> looprpc.StaticAddressLoopInSwapState
3, // 8: looprpc.SwapStatus.failure_reason:type_name -> looprpc.FailureReason
88, // 9: looprpc.SwapStatus.asset_info:type_name -> looprpc.AssetLoopOutInfo
20, // 10: looprpc.ListSwapsRequest.list_swap_filter:type_name -> looprpc.ListSwapsFilter
9, // 11: looprpc.ListSwapsFilter.swap_type:type_name -> looprpc.ListSwapsFilter.SwapTypeFilter
18, // 12: looprpc.ListSwapsResponse.swaps:type_name -> looprpc.SwapStatus
24, // 13: looprpc.SweepHtlcResponse.not_requested:type_name -> looprpc.PublishNotRequested
25, // 14: looprpc.SweepHtlcResponse.published:type_name -> looprpc.PublishSucceeded
26, // 15: looprpc.SweepHtlcResponse.failed:type_name -> looprpc.PublishFailed
91, // 16: looprpc.QuoteRequest.loop_in_route_hints:type_name -> looprpc.RouteHint
85, // 17: looprpc.QuoteRequest.asset_info:type_name -> looprpc.AssetLoopOutRequest
86, // 18: looprpc.OutQuoteResponse.asset_rfq_info:type_name -> looprpc.AssetRfqInfo
91, // 19: looprpc.ProbeRequest.route_hints:type_name -> looprpc.RouteHint
40, // 20: looprpc.TokensResponse.tokens:type_name -> looprpc.L402Token
41, // 21: looprpc.GetInfoResponse.loop_out_stats:type_name -> looprpc.LoopStats
41, // 22: looprpc.GetInfoResponse.loop_in_stats:type_name -> looprpc.LoopStats
47, // 23: looprpc.LiquidityParameters.rules:type_name -> looprpc.LiquidityRule
0, // 24: looprpc.LiquidityParameters.account_addr_type:type_name -> looprpc.AddressType
89, // 25: looprpc.LiquidityParameters.easy_asset_params:type_name -> looprpc.LiquidityParameters.EasyAssetParamsEntry
4, // 26: looprpc.LiquidityParameters.loop_in_source:type_name -> looprpc.LoopInSource
1, // 27: looprpc.LiquidityRule.swap_type:type_name -> looprpc.SwapType
5, // 28: looprpc.LiquidityRule.type:type_name -> looprpc.LiquidityRuleType
45, // 29: looprpc.SetLiquidityParamsRequest.parameters:type_name -> looprpc.LiquidityParameters
6, // 30: looprpc.Disqualified.reason:type_name -> looprpc.AutoReason
14, // 31: looprpc.SuggestSwapsResponse.loop_out:type_name -> looprpc.LoopOutRequest
15, // 32: looprpc.SuggestSwapsResponse.loop_in:type_name -> looprpc.LoopInRequest
83, // 33: looprpc.SuggestSwapsResponse.static_loop_in:type_name -> looprpc.StaticAddressLoopInRequest
51, // 34: looprpc.SuggestSwapsResponse.disqualified:type_name -> looprpc.Disqualified
57, // 35: looprpc.ListReservationsResponse.reservations:type_name -> looprpc.ClientReservation
64, // 36: looprpc.ListInstantOutsResponse.swaps:type_name -> looprpc.InstantOut
69, // 37: looprpc.ListUnspentDepositsResponse.utxos:type_name -> looprpc.Utxo
92, // 38: looprpc.WithdrawDepositsRequest.outpoints:type_name -> lnrpc.OutPoint
7, // 39: looprpc.ListStaticAddressDepositsRequest.state_filter:type_name -> looprpc.DepositState
80, // 40: looprpc.ListStaticAddressDepositsResponse.filtered_deposits:type_name -> looprpc.Deposit
81, // 41: looprpc.ListStaticAddressWithdrawalResponse.withdrawals:type_name -> looprpc.StaticAddressWithdrawal
82, // 42: looprpc.ListStaticAddressSwapsResponse.swaps:type_name -> looprpc.StaticAddressLoopInSwap
7, // 43: looprpc.Deposit.state:type_name -> looprpc.DepositState
80, // 44: looprpc.StaticAddressWithdrawal.deposits:type_name -> looprpc.Deposit
8, // 45: looprpc.StaticAddressLoopInSwap.state:type_name -> looprpc.StaticAddressLoopInSwapState
80, // 46: looprpc.StaticAddressLoopInSwap.deposits:type_name -> looprpc.Deposit
91, // 47: looprpc.StaticAddressLoopInRequest.route_hints:type_name -> looprpc.RouteHint
80, // 48: looprpc.StaticAddressLoopInResponse.used_deposits:type_name -> looprpc.Deposit
87, // 49: looprpc.AssetRfqInfo.prepay_asset_rate:type_name -> looprpc.FixedPoint
87, // 50: looprpc.AssetRfqInfo.swap_asset_rate:type_name -> looprpc.FixedPoint
46, // 51: looprpc.LiquidityParameters.EasyAssetParamsEntry.value:type_name -> looprpc.EasyAssetAutoloopParams
14, // 52: looprpc.SwapClient.LoopOut:input_type -> looprpc.LoopOutRequest
15, // 53: looprpc.SwapClient.LoopIn:input_type -> looprpc.LoopInRequest
17, // 54: looprpc.SwapClient.Monitor:input_type -> looprpc.MonitorRequest
19, // 55: looprpc.SwapClient.ListSwaps:input_type -> looprpc.ListSwapsRequest
22, // 56: looprpc.SwapClient.SweepHtlc:input_type -> looprpc.SweepHtlcRequest
27, // 57: looprpc.SwapClient.SwapInfo:input_type -> looprpc.SwapInfoRequest
53, // 58: looprpc.SwapClient.AbandonSwap:input_type -> looprpc.AbandonSwapRequest
28, // 59: looprpc.SwapClient.LoopOutTerms:input_type -> looprpc.TermsRequest
31, // 60: looprpc.SwapClient.LoopOutQuote:input_type -> looprpc.QuoteRequest
28, // 61: looprpc.SwapClient.GetLoopInTerms:input_type -> looprpc.TermsRequest
31, // 62: looprpc.SwapClient.GetLoopInQuote:input_type -> looprpc.QuoteRequest
34, // 63: looprpc.SwapClient.Probe:input_type -> looprpc.ProbeRequest
36, // 64: looprpc.SwapClient.GetL402Tokens:input_type -> looprpc.TokensRequest
36, // 65: looprpc.SwapClient.GetLsatTokens:input_type -> looprpc.TokensRequest
38, // 66: looprpc.SwapClient.FetchL402Token:input_type -> looprpc.FetchL402TokenRequest
42, // 67: looprpc.SwapClient.GetInfo:input_type -> looprpc.GetInfoRequest
12, // 68: looprpc.SwapClient.StopDaemon:input_type -> looprpc.StopDaemonRequest
44, // 69: looprpc.SwapClient.GetLiquidityParams:input_type -> looprpc.GetLiquidityParamsRequest
48, // 70: looprpc.SwapClient.SetLiquidityParams:input_type -> looprpc.SetLiquidityParamsRequest
50, // 71: looprpc.SwapClient.SuggestSwaps:input_type -> looprpc.SuggestSwapsRequest
55, // 72: looprpc.SwapClient.ListReservations:input_type -> looprpc.ListReservationsRequest
58, // 73: looprpc.SwapClient.InstantOut:input_type -> looprpc.InstantOutRequest
60, // 74: looprpc.SwapClient.InstantOutQuote:input_type -> looprpc.InstantOutQuoteRequest
62, // 75: looprpc.SwapClient.ListInstantOuts:input_type -> looprpc.ListInstantOutsRequest
65, // 76: looprpc.SwapClient.NewStaticAddress:input_type -> looprpc.NewStaticAddressRequest
67, // 77: looprpc.SwapClient.ListUnspentDeposits:input_type -> looprpc.ListUnspentDepositsRequest
70, // 78: looprpc.SwapClient.WithdrawDeposits:input_type -> looprpc.WithdrawDepositsRequest
72, // 79: looprpc.SwapClient.ListStaticAddressDeposits:input_type -> looprpc.ListStaticAddressDepositsRequest
74, // 80: looprpc.SwapClient.ListStaticAddressWithdrawals:input_type -> looprpc.ListStaticAddressWithdrawalRequest
76, // 81: looprpc.SwapClient.ListStaticAddressSwaps:input_type -> looprpc.ListStaticAddressSwapsRequest
78, // 82: looprpc.SwapClient.GetStaticAddressSummary:input_type -> looprpc.StaticAddressSummaryRequest
83, // 83: looprpc.SwapClient.StaticAddressLoopIn:input_type -> looprpc.StaticAddressLoopInRequest
10, // 84: looprpc.SwapClient.StaticOpenChannel:input_type -> looprpc.StaticOpenChannelRequest
16, // 85: looprpc.SwapClient.LoopOut:output_type -> looprpc.SwapResponse
16, // 86: looprpc.SwapClient.LoopIn:output_type -> looprpc.SwapResponse
18, // 87: looprpc.SwapClient.Monitor:output_type -> looprpc.SwapStatus
21, // 88: looprpc.SwapClient.ListSwaps:output_type -> looprpc.ListSwapsResponse
23, // 89: looprpc.SwapClient.SweepHtlc:output_type -> looprpc.SweepHtlcResponse
18, // 90: looprpc.SwapClient.SwapInfo:output_type -> looprpc.SwapStatus
54, // 91: looprpc.SwapClient.AbandonSwap:output_type -> looprpc.AbandonSwapResponse
30, // 92: looprpc.SwapClient.LoopOutTerms:output_type -> looprpc.OutTermsResponse
33, // 93: looprpc.SwapClient.LoopOutQuote:output_type -> looprpc.OutQuoteResponse
29, // 94: looprpc.SwapClient.GetLoopInTerms:output_type -> looprpc.InTermsResponse
32, // 95: looprpc.SwapClient.GetLoopInQuote:output_type -> looprpc.InQuoteResponse
35, // 96: looprpc.SwapClient.Probe:output_type -> looprpc.ProbeResponse
37, // 97: looprpc.SwapClient.GetL402Tokens:output_type -> looprpc.TokensResponse
37, // 98: looprpc.SwapClient.GetLsatTokens:output_type -> looprpc.TokensResponse
39, // 99: looprpc.SwapClient.FetchL402Token:output_type -> looprpc.FetchL402TokenResponse
43, // 100: looprpc.SwapClient.GetInfo:output_type -> looprpc.GetInfoResponse
13, // 101: looprpc.SwapClient.StopDaemon:output_type -> looprpc.StopDaemonResponse
45, // 102: looprpc.SwapClient.GetLiquidityParams:output_type -> looprpc.LiquidityParameters
49, // 103: looprpc.SwapClient.SetLiquidityParams:output_type -> looprpc.SetLiquidityParamsResponse
52, // 104: looprpc.SwapClient.SuggestSwaps:output_type -> looprpc.SuggestSwapsResponse
56, // 105: looprpc.SwapClient.ListReservations:output_type -> looprpc.ListReservationsResponse
59, // 106: looprpc.SwapClient.InstantOut:output_type -> looprpc.InstantOutResponse
61, // 107: looprpc.SwapClient.InstantOutQuote:output_type -> looprpc.InstantOutQuoteResponse
63, // 108: looprpc.SwapClient.ListInstantOuts:output_type -> looprpc.ListInstantOutsResponse
66, // 109: looprpc.SwapClient.NewStaticAddress:output_type -> looprpc.NewStaticAddressResponse
68, // 110: looprpc.SwapClient.ListUnspentDeposits:output_type -> looprpc.ListUnspentDepositsResponse
71, // 111: looprpc.SwapClient.WithdrawDeposits:output_type -> looprpc.WithdrawDepositsResponse
73, // 112: looprpc.SwapClient.ListStaticAddressDeposits:output_type -> looprpc.ListStaticAddressDepositsResponse
75, // 113: looprpc.SwapClient.ListStaticAddressWithdrawals:output_type -> looprpc.ListStaticAddressWithdrawalResponse
77, // 114: looprpc.SwapClient.ListStaticAddressSwaps:output_type -> looprpc.ListStaticAddressSwapsResponse
79, // 115: looprpc.SwapClient.GetStaticAddressSummary:output_type -> looprpc.StaticAddressSummaryResponse
84, // 116: looprpc.SwapClient.StaticAddressLoopIn:output_type -> looprpc.StaticAddressLoopInResponse
11, // 117: looprpc.SwapClient.StaticOpenChannel:output_type -> looprpc.StaticOpenChannelResponse
85, // [85:118] is the sub-list for method output_type
52, // [52:85] is the sub-list for method input_type
52, // [52:52] is the sub-list for extension type_name
52, // [52:52] is the sub-list for extension extendee
0, // [0:52] 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[8].OneofWrappers = []any{
(*SwapStatus_StaticLoopInState)(nil),
}
file_client_proto_msgTypes[13].OneofWrappers = []any{
2026-01-14 18:08:48 -05:00
(*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: 10,
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
2019-03-06 21:13:50 +01:00
}