// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 // protoc v3.21.12 // source: client.proto package looprpc import ( swapserverrpc "github.com/lightninglabs/loop/swapserverrpc" lnrpc "github.com/lightningnetwork/lnd/lnrpc" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" unsafe "unsafe" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) // `AddressType` has to be one of: // // - `unknown`: Unknown address type // - `p2tr`: Pay to taproot pubkey (`TAPROOT_PUBKEY` = 1) type AddressType int32 const ( AddressType_ADDRESS_TYPE_UNKNOWN AddressType = 0 AddressType_TAPROOT_PUBKEY AddressType = 1 ) // Enum value maps for AddressType. var ( AddressType_name = map[int32]string{ 0: "ADDRESS_TYPE_UNKNOWN", 1: "TAPROOT_PUBKEY", } AddressType_value = map[string]int32{ "ADDRESS_TYPE_UNKNOWN": 0, "TAPROOT_PUBKEY": 1, } ) func (x AddressType) Enum() *AddressType { p := new(AddressType) *p = x return p } func (x AddressType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (AddressType) Descriptor() protoreflect.EnumDescriptor { return file_client_proto_enumTypes[0].Descriptor() } func (AddressType) Type() protoreflect.EnumType { return &file_client_proto_enumTypes[0] } func (x AddressType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use AddressType.Descriptor instead. func (AddressType) EnumDescriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{0} } type SwapType int32 const ( // LOOP_OUT indicates an loop out swap (off-chain to on-chain) SwapType_LOOP_OUT SwapType = 0 // LOOP_IN indicates a loop in swap (on-chain to off-chain) SwapType_LOOP_IN SwapType = 1 ) // Enum value maps for SwapType. var ( SwapType_name = map[int32]string{ 0: "LOOP_OUT", 1: "LOOP_IN", } SwapType_value = map[string]int32{ "LOOP_OUT": 0, "LOOP_IN": 1, } ) func (x SwapType) Enum() *SwapType { p := new(SwapType) *p = x return p } func (x SwapType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SwapType) Descriptor() protoreflect.EnumDescriptor { return file_client_proto_enumTypes[1].Descriptor() } func (SwapType) Type() protoreflect.EnumType { return &file_client_proto_enumTypes[1] } func (x SwapType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SwapType.Descriptor instead. func (SwapType) EnumDescriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{1} } type SwapState int32 const ( // INITIATED is the initial state of a swap. At that point, the initiation // call to the server has been made and the payment process has been started // for the swap and prepayment invoices. SwapState_INITIATED SwapState = 0 // PREIMAGE_REVEALED is reached when the sweep tx publication is first // attempted. From that point on, we should consider the preimage to no // longer be secret and we need to do all we can to get the sweep confirmed. // This state will mostly coalesce with StateHtlcConfirmed, except in the // case where we wait for fees to come down before we sweep. SwapState_PREIMAGE_REVEALED SwapState = 1 // HTLC_PUBLISHED is reached when the htlc tx has been published in a loop in // swap. SwapState_HTLC_PUBLISHED SwapState = 2 // SUCCESS is the final swap state that is reached when the sweep tx has // the required confirmation depth. SwapState_SUCCESS SwapState = 3 // FAILED is the final swap state for a failed swap with or without loss of // the swap amount. SwapState_FAILED SwapState = 4 // INVOICE_SETTLED is reached when the swap invoice in a loop in swap has been // paid, but we are still waiting for the htlc spend to confirm. SwapState_INVOICE_SETTLED SwapState = 5 ) // Enum value maps for SwapState. var ( SwapState_name = map[int32]string{ 0: "INITIATED", 1: "PREIMAGE_REVEALED", 2: "HTLC_PUBLISHED", 3: "SUCCESS", 4: "FAILED", 5: "INVOICE_SETTLED", } SwapState_value = map[string]int32{ "INITIATED": 0, "PREIMAGE_REVEALED": 1, "HTLC_PUBLISHED": 2, "SUCCESS": 3, "FAILED": 4, "INVOICE_SETTLED": 5, } ) func (x SwapState) Enum() *SwapState { p := new(SwapState) *p = x return p } func (x SwapState) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SwapState) Descriptor() protoreflect.EnumDescriptor { return file_client_proto_enumTypes[2].Descriptor() } func (SwapState) Type() protoreflect.EnumType { return &file_client_proto_enumTypes[2] } func (x SwapState) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use SwapState.Descriptor instead. func (SwapState) EnumDescriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{2} } type FailureReason int32 const ( // FAILURE_REASON_NONE is set when the swap did not fail, it is either in // progress or succeeded. FailureReason_FAILURE_REASON_NONE FailureReason = 0 // FAILURE_REASON_OFFCHAIN indicates that a loop out failed because it wasn't // possible to find a route for one or both off chain payments that met the fee // and timelock limits required. FailureReason_FAILURE_REASON_OFFCHAIN FailureReason = 1 // FAILURE_REASON_TIMEOUT indicates that the swap failed because on chain htlc // did not confirm before its expiry, or it confirmed too late for us to reveal // our preimage and claim. FailureReason_FAILURE_REASON_TIMEOUT FailureReason = 2 // FAILURE_REASON_SWEEP_TIMEOUT indicates that a loop out permanently failed // because the on chain htlc wasn't swept before the server revoked the // htlc. FailureReason_FAILURE_REASON_SWEEP_TIMEOUT FailureReason = 3 // FAILURE_REASON_INSUFFICIENT_VALUE indicates that a loop out has failed // because the on chain htlc had a lower value than requested. FailureReason_FAILURE_REASON_INSUFFICIENT_VALUE FailureReason = 4 // FAILURE_REASON_TEMPORARY indicates that a swap cannot continue due to an // internal error. Manual intervention such as a restart is required. FailureReason_FAILURE_REASON_TEMPORARY FailureReason = 5 // FAILURE_REASON_INCORRECT_AMOUNT indicates that a loop in permanently failed // because the amount extended by an external loop in htlc is insufficient. FailureReason_FAILURE_REASON_INCORRECT_AMOUNT FailureReason = 6 // FAILURE_REASON_ABANDONED indicates that a swap permanently failed because // the client manually abandoned the swap. FailureReason_FAILURE_REASON_ABANDONED FailureReason = 7 // FAILURE_REASON_INSUFFICIENT_CONFIRMED_BALANCE indicates that a swap // wasn't published due to insufficient confirmed balance. FailureReason_FAILURE_REASON_INSUFFICIENT_CONFIRMED_BALANCE FailureReason = 8 // FAILURE_REASON_INCORRECT_HTLC_AMT_SWEPT indicates that a swap // wasn't published due to insufficient confirmed balance. FailureReason_FAILURE_REASON_INCORRECT_HTLC_AMT_SWEPT FailureReason = 9 ) // Enum value maps for FailureReason. var ( FailureReason_name = map[int32]string{ 0: "FAILURE_REASON_NONE", 1: "FAILURE_REASON_OFFCHAIN", 2: "FAILURE_REASON_TIMEOUT", 3: "FAILURE_REASON_SWEEP_TIMEOUT", 4: "FAILURE_REASON_INSUFFICIENT_VALUE", 5: "FAILURE_REASON_TEMPORARY", 6: "FAILURE_REASON_INCORRECT_AMOUNT", 7: "FAILURE_REASON_ABANDONED", 8: "FAILURE_REASON_INSUFFICIENT_CONFIRMED_BALANCE", 9: "FAILURE_REASON_INCORRECT_HTLC_AMT_SWEPT", } FailureReason_value = map[string]int32{ "FAILURE_REASON_NONE": 0, "FAILURE_REASON_OFFCHAIN": 1, "FAILURE_REASON_TIMEOUT": 2, "FAILURE_REASON_SWEEP_TIMEOUT": 3, "FAILURE_REASON_INSUFFICIENT_VALUE": 4, "FAILURE_REASON_TEMPORARY": 5, "FAILURE_REASON_INCORRECT_AMOUNT": 6, "FAILURE_REASON_ABANDONED": 7, "FAILURE_REASON_INSUFFICIENT_CONFIRMED_BALANCE": 8, "FAILURE_REASON_INCORRECT_HTLC_AMT_SWEPT": 9, } ) func (x FailureReason) Enum() *FailureReason { p := new(FailureReason) *p = x return p } func (x FailureReason) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (FailureReason) Descriptor() protoreflect.EnumDescriptor { return file_client_proto_enumTypes[3].Descriptor() } func (FailureReason) Type() protoreflect.EnumType { return &file_client_proto_enumTypes[3] } func (x FailureReason) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use FailureReason.Descriptor instead. func (FailureReason) EnumDescriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{3} } type 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} } type ListSwapsFilter_SwapTypeFilter int32 const ( // ANY indicates that no filter is applied. ListSwapsFilter_ANY ListSwapsFilter_SwapTypeFilter = 0 // LOOP_OUT indicates an loop out swap (off-chain to on-chain). ListSwapsFilter_LOOP_OUT ListSwapsFilter_SwapTypeFilter = 1 // LOOP_IN indicates a loop in swap (on-chain to off-chain). ListSwapsFilter_LOOP_IN ListSwapsFilter_SwapTypeFilter = 2 ) // Enum value maps for ListSwapsFilter_SwapTypeFilter. var ( ListSwapsFilter_SwapTypeFilter_name = map[int32]string{ 0: "ANY", 1: "LOOP_OUT", 2: "LOOP_IN", } ListSwapsFilter_SwapTypeFilter_value = map[string]int32{ "ANY": 0, "LOOP_OUT": 1, "LOOP_IN": 2, } ) func (x ListSwapsFilter_SwapTypeFilter) Enum() *ListSwapsFilter_SwapTypeFilter { p := new(ListSwapsFilter_SwapTypeFilter) *p = x return p } func (x ListSwapsFilter_SwapTypeFilter) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ListSwapsFilter_SwapTypeFilter) Descriptor() protoreflect.EnumDescriptor { return file_client_proto_enumTypes[9].Descriptor() } func (ListSwapsFilter_SwapTypeFilter) Type() protoreflect.EnumType { return &file_client_proto_enumTypes[9] } func (x ListSwapsFilter_SwapTypeFilter) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Use ListSwapsFilter_SwapTypeFilter.Descriptor instead. func (ListSwapsFilter_SwapTypeFilter) EnumDescriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{10, 0} } type StaticOpenChannelRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Wrap lnd's request so Loop can extend this RPC with Loop-specific fields // without diverging from the upstream API surface. OpenChannelRequest *lnrpc.OpenChannelRequest `protobuf:"bytes,1,opt,name=open_channel_request,json=openChannelRequest,proto3" json:"open_channel_request,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *StaticOpenChannelRequest) Reset() { *x = StaticOpenChannelRequest{} mi := &file_client_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *StaticOpenChannelRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StaticOpenChannelRequest) ProtoMessage() {} func (x *StaticOpenChannelRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StaticOpenChannelRequest.ProtoReflect.Descriptor instead. func (*StaticOpenChannelRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{0} } func (x *StaticOpenChannelRequest) GetOpenChannelRequest() *lnrpc.OpenChannelRequest { if x != nil { return x.OpenChannelRequest } return nil } type StaticOpenChannelResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The outpoint of the channel opening transaction in the format // "txid:output_index". ChannelOpenOutpoint string `protobuf:"bytes,1,opt,name=channel_open_outpoint,json=channelOpenOutpoint,proto3" json:"channel_open_outpoint,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *StaticOpenChannelResponse) Reset() { *x = StaticOpenChannelResponse{} mi := &file_client_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *StaticOpenChannelResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StaticOpenChannelResponse) ProtoMessage() {} func (x *StaticOpenChannelResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StaticOpenChannelResponse.ProtoReflect.Descriptor instead. func (*StaticOpenChannelResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{1} } func (x *StaticOpenChannelResponse) GetChannelOpenOutpoint() string { if x != nil { return x.ChannelOpenOutpoint } return "" } type StopDaemonRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *StopDaemonRequest) Reset() { *x = StopDaemonRequest{} mi := &file_client_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *StopDaemonRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StopDaemonRequest) ProtoMessage() {} func (x *StopDaemonRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StopDaemonRequest.ProtoReflect.Descriptor instead. func (*StopDaemonRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{2} } type StopDaemonResponse struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *StopDaemonResponse) Reset() { *x = StopDaemonResponse{} mi := &file_client_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *StopDaemonResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StopDaemonResponse) ProtoMessage() {} func (x *StopDaemonResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StopDaemonResponse.ProtoReflect.Descriptor instead. func (*StopDaemonResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{3} } type LoopOutRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Requested swap amount in sat. This does not include the swap and miner fee. Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"` // Base58 encoded destination address for the swap. Dest string `protobuf:"bytes,2,opt,name=dest,proto3" json:"dest,omitempty"` // Maximum off-chain fee in sat that may be paid for swap payment to the // server. This limit is applied during path finding. Typically this value is // taken from the response of the GetQuote call. MaxSwapRoutingFee int64 `protobuf:"varint,3,opt,name=max_swap_routing_fee,json=maxSwapRoutingFee,proto3" json:"max_swap_routing_fee,omitempty"` // Maximum off-chain fee in sat that may be paid for the prepay to the server. // This limit is applied during path finding. Typically this value is taken // from the response of the GetQuote call. MaxPrepayRoutingFee int64 `protobuf:"varint,4,opt,name=max_prepay_routing_fee,json=maxPrepayRoutingFee,proto3" json:"max_prepay_routing_fee,omitempty"` // Maximum we are willing to pay the server for the swap. This value is not // disclosed in the swap initiation call, but if the server asks for a // higher fee, we abort the swap. Typically this value is taken from the // response of the GetQuote call. It includes the prepay amount. MaxSwapFee int64 `protobuf:"varint,5,opt,name=max_swap_fee,json=maxSwapFee,proto3" json:"max_swap_fee,omitempty"` // Maximum amount of the swap fee that may be charged as a prepayment. MaxPrepayAmt int64 `protobuf:"varint,6,opt,name=max_prepay_amt,json=maxPrepayAmt,proto3" json:"max_prepay_amt,omitempty"` // Maximum in on-chain fees that we are willing to spend. If we want to // sweep the on-chain htlc and the fee estimate turns out higher than this // value, we cancel the swap. If the fee estimate is lower, we publish the // sweep tx. // // If the sweep tx is not confirmed, we are forced to ratchet up fees until it // is swept. Possibly even exceeding max_miner_fee if we get close to the htlc // timeout. Because the initial publication revealed the preimage, we have no // other choice. The server may already have pulled the off-chain htlc. Only // when the fee becomes higher than the swap amount, we can only wait for fees // to come down and hope - if we are past the timeout - that the server is not // publishing the revocation. // // max_miner_fee is typically taken from the response of the GetQuote call. MaxMinerFee int64 `protobuf:"varint,7,opt,name=max_miner_fee,json=maxMinerFee,proto3" json:"max_miner_fee,omitempty"` // Deprecated, use outgoing_chan_set. The channel to loop out, the channel // to loop out is selected based on the lowest routing fee for the swap // payment to the server. // // Deprecated: Marked as deprecated in client.proto. LoopOutChannel uint64 `protobuf:"varint,8,opt,name=loop_out_channel,json=loopOutChannel,proto3" json:"loop_out_channel,omitempty"` // A restriction on the channel set that may be used to loop out. The actual // channel(s) that will be used are selected based on the lowest routing fee // for the swap payment to the server. OutgoingChanSet []uint64 `protobuf:"varint,11,rep,packed,name=outgoing_chan_set,json=outgoingChanSet,proto3" json:"outgoing_chan_set,omitempty"` // The number of blocks from the on-chain HTLC's confirmation height that it // should be swept within. SweepConfTarget int32 `protobuf:"varint,9,opt,name=sweep_conf_target,json=sweepConfTarget,proto3" json:"sweep_conf_target,omitempty"` // The number of confirmations that we require for the on chain htlc that will // be published by the server before we reveal the preimage. HtlcConfirmations int32 `protobuf:"varint,13,opt,name=htlc_confirmations,json=htlcConfirmations,proto3" json:"htlc_confirmations,omitempty"` // The latest time (in unix seconds) we allow the server to wait before // publishing the HTLC on chain. Setting this to a larger value will give the // server the opportunity to batch multiple swaps together, and wait for // low-fee periods before publishing the HTLC, potentially resulting in a // lower total swap fee. SwapPublicationDeadline uint64 `protobuf:"varint,10,opt,name=swap_publication_deadline,json=swapPublicationDeadline,proto3" json:"swap_publication_deadline,omitempty"` // An optional label for this swap. This field is limited to 500 characters // and may not start with the prefix [reserved], which is used to tag labels // produced by the daemon. Label string `protobuf:"bytes,12,opt,name=label,proto3" json:"label,omitempty"` // An optional identification string that will be appended to the user agent // string sent to the server to give information about the usage of loop. This // initiator part is meant for user interfaces to add their name to give the // full picture of the binary used (loopd, LiT) and the method used for // triggering the swap (loop CLI, autolooper, LiT UI, other 3rd party UI). Initiator string `protobuf:"bytes,14,opt,name=initiator,proto3" json:"initiator,omitempty"` // An alternative destination address source for the swap. This field // represents the name of the account in the backing lnd instance. // Refer to lnd's wallet import functions for reference. Account string `protobuf:"bytes,15,opt,name=account,proto3" json:"account,omitempty"` // The address type of the account specified in the account field. AccountAddrType AddressType `protobuf:"varint,16,opt,name=account_addr_type,json=accountAddrType,proto3,enum=looprpc.AddressType" json:"account_addr_type,omitempty"` // A flag indicating whether the defined destination address does not belong to // the wallet. This is used to flag whether this loop out swap could have its // associated sweep batched. IsExternalAddr bool `protobuf:"varint,17,opt,name=is_external_addr,json=isExternalAddr,proto3" json:"is_external_addr,omitempty"` // The reservations to use for the swap. If this field is set, loop will try // to use the instant out flow using the given reservations. If the // reservations are not sufficient, the swap will fail. The swap amount must // be equal to the sum of the amounts of the reservations. ReservationIds [][]byte `protobuf:"bytes,18,rep,name=reservation_ids,json=reservationIds,proto3" json:"reservation_ids,omitempty"` // The timeout in seconds to use for off-chain payments. Note that the swap // payment is attempted multiple times where each attempt will set this value // as the timeout for the payment. PaymentTimeout uint32 `protobuf:"varint,19,opt,name=payment_timeout,json=paymentTimeout,proto3" json:"payment_timeout,omitempty"` // The optional asset information to use for the swap. If set, the swap will // be paid in the specified asset using the provided edge node. An Asset client // must be connected to the loop client to use this feature. AssetInfo *AssetLoopOutRequest `protobuf:"bytes,20,opt,name=asset_info,json=assetInfo,proto3" json:"asset_info,omitempty"` // The optional RFQ information to use for the swap. If set, the swap will // use the provided RFQs to pay for the swap invoice. AssetRfqInfo *AssetRfqInfo `protobuf:"bytes,21,opt,name=asset_rfq_info,json=assetRfqInfo,proto3" json:"asset_rfq_info,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LoopOutRequest) Reset() { *x = LoopOutRequest{} mi := &file_client_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LoopOutRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoopOutRequest) ProtoMessage() {} func (x *LoopOutRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LoopOutRequest.ProtoReflect.Descriptor instead. func (*LoopOutRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{4} } func (x *LoopOutRequest) GetAmt() int64 { if x != nil { return x.Amt } return 0 } func (x *LoopOutRequest) GetDest() string { if x != nil { return x.Dest } return "" } func (x *LoopOutRequest) GetMaxSwapRoutingFee() int64 { if x != nil { return x.MaxSwapRoutingFee } return 0 } func (x *LoopOutRequest) GetMaxPrepayRoutingFee() int64 { if x != nil { return x.MaxPrepayRoutingFee } return 0 } func (x *LoopOutRequest) GetMaxSwapFee() int64 { if x != nil { return x.MaxSwapFee } return 0 } func (x *LoopOutRequest) GetMaxPrepayAmt() int64 { if x != nil { return x.MaxPrepayAmt } return 0 } func (x *LoopOutRequest) GetMaxMinerFee() int64 { if x != nil { return x.MaxMinerFee } return 0 } // Deprecated: Marked as deprecated in client.proto. func (x *LoopOutRequest) GetLoopOutChannel() uint64 { if x != nil { return x.LoopOutChannel } return 0 } func (x *LoopOutRequest) GetOutgoingChanSet() []uint64 { if x != nil { return x.OutgoingChanSet } return nil } func (x *LoopOutRequest) GetSweepConfTarget() int32 { if x != nil { return x.SweepConfTarget } return 0 } func (x *LoopOutRequest) GetHtlcConfirmations() int32 { if x != nil { return x.HtlcConfirmations } return 0 } func (x *LoopOutRequest) GetSwapPublicationDeadline() uint64 { if x != nil { return x.SwapPublicationDeadline } return 0 } func (x *LoopOutRequest) GetLabel() string { if x != nil { return x.Label } return "" } func (x *LoopOutRequest) GetInitiator() string { if x != nil { return x.Initiator } return "" } func (x *LoopOutRequest) GetAccount() string { if x != nil { return x.Account } return "" } func (x *LoopOutRequest) GetAccountAddrType() AddressType { if x != nil { return x.AccountAddrType } return AddressType_ADDRESS_TYPE_UNKNOWN } func (x *LoopOutRequest) GetIsExternalAddr() bool { if x != nil { return x.IsExternalAddr } return false } func (x *LoopOutRequest) GetReservationIds() [][]byte { if x != nil { return x.ReservationIds } return nil } func (x *LoopOutRequest) GetPaymentTimeout() uint32 { if x != nil { return x.PaymentTimeout } return 0 } func (x *LoopOutRequest) GetAssetInfo() *AssetLoopOutRequest { if x != nil { return x.AssetInfo } return nil } func (x *LoopOutRequest) GetAssetRfqInfo() *AssetRfqInfo { if x != nil { return x.AssetRfqInfo } return nil } type LoopInRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Requested swap amount in sat. This does not include the swap and miner // fee. Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"` // Maximum we are willing to pay the server for the swap. This value is not // disclosed in the swap initiation call, but if the server asks for a // higher fee, we abort the swap. Typically this value is taken from the // response of the GetQuote call. MaxSwapFee int64 `protobuf:"varint,2,opt,name=max_swap_fee,json=maxSwapFee,proto3" json:"max_swap_fee,omitempty"` // Maximum in on-chain fees that we are willing to spend. If we want to // publish the on-chain htlc and the fee estimate turns out higher than this // value, we cancel the swap. // // max_miner_fee is typically taken from the response of the GetQuote call. MaxMinerFee int64 `protobuf:"varint,3,opt,name=max_miner_fee,json=maxMinerFee,proto3" json:"max_miner_fee,omitempty"` // The last hop to use for the loop in swap. If empty, the last hop is selected // based on the lowest routing fee for the swap payment from the server. LastHop []byte `protobuf:"bytes,4,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"` // If external_htlc is true, we expect the htlc to be published by an external // actor. ExternalHtlc bool `protobuf:"varint,5,opt,name=external_htlc,json=externalHtlc,proto3" json:"external_htlc,omitempty"` // The number of blocks that the on chain htlc should confirm within. HtlcConfTarget int32 `protobuf:"varint,6,opt,name=htlc_conf_target,json=htlcConfTarget,proto3" json:"htlc_conf_target,omitempty"` // An optional label for this swap. This field is limited to 500 characters // and may not be one of the reserved values in loop/labels Reserved list. Label string `protobuf:"bytes,7,opt,name=label,proto3" json:"label,omitempty"` // An optional identification string that will be appended to the user agent // string sent to the server to give information about the usage of loop. This // initiator part is meant for user interfaces to add their name to give the // full picture of the binary used (loopd, LiT) and the method used for // triggering the swap (loop CLI, autolooper, LiT UI, other 3rd party UI). Initiator string `protobuf:"bytes,8,opt,name=initiator,proto3" json:"initiator,omitempty"` // Optional route hints to reach the destination through private channels. RouteHints []*swapserverrpc.RouteHint `protobuf:"bytes,9,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"` // Private indicates whether the destination node should be considered // private. In which case, loop will generate hophints to assist with // probing and payment. Private bool `protobuf:"varint,10,opt,name=private,proto3" json:"private,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LoopInRequest) Reset() { *x = LoopInRequest{} mi := &file_client_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LoopInRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoopInRequest) ProtoMessage() {} func (x *LoopInRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LoopInRequest.ProtoReflect.Descriptor instead. func (*LoopInRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{5} } func (x *LoopInRequest) GetAmt() int64 { if x != nil { return x.Amt } return 0 } func (x *LoopInRequest) GetMaxSwapFee() int64 { if x != nil { return x.MaxSwapFee } return 0 } func (x *LoopInRequest) GetMaxMinerFee() int64 { if x != nil { return x.MaxMinerFee } return 0 } func (x *LoopInRequest) GetLastHop() []byte { if x != nil { return x.LastHop } return nil } func (x *LoopInRequest) GetExternalHtlc() bool { if x != nil { return x.ExternalHtlc } return false } func (x *LoopInRequest) GetHtlcConfTarget() int32 { if x != nil { return x.HtlcConfTarget } return 0 } func (x *LoopInRequest) GetLabel() string { if x != nil { return x.Label } return "" } func (x *LoopInRequest) GetInitiator() string { if x != nil { return x.Initiator } return "" } func (x *LoopInRequest) GetRouteHints() []*swapserverrpc.RouteHint { if x != nil { return x.RouteHints } return nil } func (x *LoopInRequest) GetPrivate() bool { if x != nil { return x.Private } return false } type SwapResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // Swap identifier to track status in the update stream that is returned from // the Start() call. Currently this is the hash that locks the htlcs. // DEPRECATED: To make the API more consistent, this field is deprecated in // favor of id_bytes and will be removed in a future release. // // Deprecated: Marked as deprecated in client.proto. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Swap identifier to track status in the update stream that is returned from // the Start() call. Currently this is the hash that locks the htlcs. IdBytes []byte `protobuf:"bytes,3,opt,name=id_bytes,json=idBytes,proto3" json:"id_bytes,omitempty"` // DEPRECATED. This field stores the address of the onchain htlc, but // depending on the request, the semantics are different. // - For internal loop-in htlc_address contains the address of the // native segwit (P2WSH) htlc. // / - For loop-out htlc_address always contains the native segwit (P2WSH) // htlc address. // // Deprecated: Marked as deprecated in client.proto. HtlcAddress string `protobuf:"bytes,2,opt,name=htlc_address,json=htlcAddress,proto3" json:"htlc_address,omitempty"` // The native segwit address of the on-chain htlc. // Used for both loop-in and loop-out. HtlcAddressP2Wsh string `protobuf:"bytes,5,opt,name=htlc_address_p2wsh,json=htlcAddressP2wsh,proto3" json:"htlc_address_p2wsh,omitempty"` // The address of the v3 (taproot) htlc. Used for both loop-in and loop-out. HtlcAddressP2Tr string `protobuf:"bytes,7,opt,name=htlc_address_p2tr,json=htlcAddressP2tr,proto3" json:"htlc_address_p2tr,omitempty"` // A human-readable message received from the loop server. ServerMessage string `protobuf:"bytes,6,opt,name=server_message,json=serverMessage,proto3" json:"server_message,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SwapResponse) Reset() { *x = SwapResponse{} mi := &file_client_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SwapResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SwapResponse) ProtoMessage() {} func (x *SwapResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SwapResponse.ProtoReflect.Descriptor instead. func (*SwapResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{6} } // Deprecated: Marked as deprecated in client.proto. func (x *SwapResponse) GetId() string { if x != nil { return x.Id } return "" } func (x *SwapResponse) GetIdBytes() []byte { if x != nil { return x.IdBytes } return nil } // Deprecated: Marked as deprecated in client.proto. func (x *SwapResponse) GetHtlcAddress() string { if x != nil { return x.HtlcAddress } return "" } func (x *SwapResponse) GetHtlcAddressP2Wsh() string { if x != nil { return x.HtlcAddressP2Wsh } return "" } func (x *SwapResponse) GetHtlcAddressP2Tr() string { if x != nil { return x.HtlcAddressP2Tr } return "" } func (x *SwapResponse) GetServerMessage() string { if x != nil { return x.ServerMessage } return "" } type MonitorRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *MonitorRequest) Reset() { *x = MonitorRequest{} mi := &file_client_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *MonitorRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*MonitorRequest) ProtoMessage() {} func (x *MonitorRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use MonitorRequest.ProtoReflect.Descriptor instead. func (*MonitorRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{7} } type SwapStatus struct { state protoimpl.MessageState `protogen:"open.v1"` // Requested swap amount in sat. This does not include the swap and miner // fee. Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"` // Swap identifier to track status in the update stream that is returned from // the Start() call. Currently this is the hash that locks the htlcs. // DEPRECATED: To make the API more consistent, this field is deprecated in // favor of id_bytes and will be removed in a future release. // // Deprecated: Marked as deprecated in client.proto. Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` // Swap identifier to track status in the update stream that is returned from // the Start() call. Currently this is the hash that locks the htlcs. IdBytes []byte `protobuf:"bytes,11,opt,name=id_bytes,json=idBytes,proto3" json:"id_bytes,omitempty"` // The type of the swap. Type SwapType `protobuf:"varint,3,opt,name=type,proto3,enum=looprpc.SwapType" json:"type,omitempty"` // State the swap is currently in, see State enum. State SwapState `protobuf:"varint,4,opt,name=state,proto3,enum=looprpc.SwapState" json:"state,omitempty"` // A failure reason for the swap, only set if the swap has failed. FailureReason FailureReason `protobuf:"varint,14,opt,name=failure_reason,json=failureReason,proto3,enum=looprpc.FailureReason" json:"failure_reason,omitempty"` // Initiation time of the swap. InitiationTime int64 `protobuf:"varint,5,opt,name=initiation_time,json=initiationTime,proto3" json:"initiation_time,omitempty"` // Initiation time of the swap. LastUpdateTime int64 `protobuf:"varint,6,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` // DEPRECATED: This field stores the address of the onchain htlc. // - For internal loop-in htlc_address contains the address of the // native segwit (P2WSH) htlc. // - For loop-out htlc_address always contains the native segwit (P2WSH) // htlc address. // // Deprecated: Marked as deprecated in client.proto. HtlcAddress string `protobuf:"bytes,7,opt,name=htlc_address,json=htlcAddress,proto3" json:"htlc_address,omitempty"` // HTLC address (native segwit), used in loop-in and loop-out swaps. HtlcAddressP2Wsh string `protobuf:"bytes,12,opt,name=htlc_address_p2wsh,json=htlcAddressP2wsh,proto3" json:"htlc_address_p2wsh,omitempty"` // The address of the v3 (taproot) htlc. Used for both loop-in and loop-out. HtlcAddressP2Tr string `protobuf:"bytes,18,opt,name=htlc_address_p2tr,json=htlcAddressP2tr,proto3" json:"htlc_address_p2tr,omitempty"` // Swap server cost CostServer int64 `protobuf:"varint,8,opt,name=cost_server,json=costServer,proto3" json:"cost_server,omitempty"` // On-chain transaction cost CostOnchain int64 `protobuf:"varint,9,opt,name=cost_onchain,json=costOnchain,proto3" json:"cost_onchain,omitempty"` // Off-chain routing fees CostOffchain int64 `protobuf:"varint,10,opt,name=cost_offchain,json=costOffchain,proto3" json:"cost_offchain,omitempty"` // Optional last hop if provided in the loop in request. LastHop []byte `protobuf:"bytes,16,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"` // Optional outgoing channel set if provided in the loop out request. OutgoingChanSet []uint64 `protobuf:"varint,17,rep,packed,name=outgoing_chan_set,json=outgoingChanSet,proto3" json:"outgoing_chan_set,omitempty"` // An optional label given to the swap on creation. Label string `protobuf:"bytes,15,opt,name=label,proto3" json:"label,omitempty"` // If the swap was an asset swap, the asset information will be returned. AssetInfo *AssetLoopOutInfo `protobuf:"bytes,19,opt,name=asset_info,json=assetInfo,proto3" json:"asset_info,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SwapStatus) Reset() { *x = SwapStatus{} mi := &file_client_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SwapStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*SwapStatus) ProtoMessage() {} func (x *SwapStatus) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SwapStatus.ProtoReflect.Descriptor instead. func (*SwapStatus) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{8} } func (x *SwapStatus) GetAmt() int64 { if x != nil { return x.Amt } return 0 } // Deprecated: Marked as deprecated in client.proto. func (x *SwapStatus) GetId() string { if x != nil { return x.Id } return "" } func (x *SwapStatus) GetIdBytes() []byte { if x != nil { return x.IdBytes } return nil } func (x *SwapStatus) GetType() SwapType { if x != nil { return x.Type } return SwapType_LOOP_OUT } func (x *SwapStatus) GetState() SwapState { if x != nil { return x.State } return SwapState_INITIATED } func (x *SwapStatus) GetFailureReason() FailureReason { if x != nil { return x.FailureReason } return FailureReason_FAILURE_REASON_NONE } func (x *SwapStatus) GetInitiationTime() int64 { if x != nil { return x.InitiationTime } return 0 } func (x *SwapStatus) GetLastUpdateTime() int64 { if x != nil { return x.LastUpdateTime } return 0 } // Deprecated: Marked as deprecated in client.proto. func (x *SwapStatus) GetHtlcAddress() string { if x != nil { return x.HtlcAddress } return "" } func (x *SwapStatus) GetHtlcAddressP2Wsh() string { if x != nil { return x.HtlcAddressP2Wsh } return "" } func (x *SwapStatus) GetHtlcAddressP2Tr() string { if x != nil { return x.HtlcAddressP2Tr } return "" } func (x *SwapStatus) GetCostServer() int64 { if x != nil { return x.CostServer } return 0 } func (x *SwapStatus) GetCostOnchain() int64 { if x != nil { return x.CostOnchain } return 0 } func (x *SwapStatus) GetCostOffchain() int64 { if x != nil { return x.CostOffchain } return 0 } func (x *SwapStatus) GetLastHop() []byte { if x != nil { return x.LastHop } return nil } func (x *SwapStatus) GetOutgoingChanSet() []uint64 { if x != nil { return x.OutgoingChanSet } return nil } func (x *SwapStatus) GetLabel() string { if x != nil { return x.Label } return "" } func (x *SwapStatus) GetAssetInfo() *AssetLoopOutInfo { if x != nil { return x.AssetInfo } return nil } type ListSwapsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Optional filter to only return swaps that match the filter. ListSwapFilter *ListSwapsFilter `protobuf:"bytes,1,opt,name=list_swap_filter,json=listSwapFilter,proto3" json:"list_swap_filter,omitempty"` // Set a maximum number of swaps to return in the response. MaxSwaps uint64 `protobuf:"varint,2,opt,name=max_swaps,json=maxSwaps,proto3" json:"max_swaps,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListSwapsRequest) Reset() { *x = ListSwapsRequest{} mi := &file_client_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListSwapsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListSwapsRequest) ProtoMessage() {} func (x *ListSwapsRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListSwapsRequest.ProtoReflect.Descriptor instead. func (*ListSwapsRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{9} } func (x *ListSwapsRequest) GetListSwapFilter() *ListSwapsFilter { if x != nil { return x.ListSwapFilter } return nil } func (x *ListSwapsRequest) GetMaxSwaps() uint64 { if x != nil { return x.MaxSwaps } return 0 } type ListSwapsFilter struct { state protoimpl.MessageState `protogen:"open.v1"` // The type of the swap. SwapType ListSwapsFilter_SwapTypeFilter `protobuf:"varint,1,opt,name=swap_type,json=swapType,proto3,enum=looprpc.ListSwapsFilter_SwapTypeFilter" json:"swap_type,omitempty"` // If set, only pending swaps are returned. PendingOnly bool `protobuf:"varint,2,opt,name=pending_only,json=pendingOnly,proto3" json:"pending_only,omitempty"` // If specified on creation, the outgoing channel set of the swap. OutgoingChanSet []uint64 `protobuf:"varint,3,rep,packed,name=outgoing_chan_set,json=outgoingChanSet,proto3" json:"outgoing_chan_set,omitempty"` // Label of swap to filter for. Label string `protobuf:"bytes,4,opt,name=label,proto3" json:"label,omitempty"` // If specified on creation, the last hop of the swap. LoopInLastHop []byte `protobuf:"bytes,5,opt,name=loop_in_last_hop,json=loopInLastHop,proto3" json:"loop_in_last_hop,omitempty"` // If specified, only returns asset swaps. AssetSwapOnly bool `protobuf:"varint,6,opt,name=asset_swap_only,json=assetSwapOnly,proto3" json:"asset_swap_only,omitempty"` // If specified, returns swaps initiated after this Unix (ns) timestamp. StartTimestampNs int64 `protobuf:"varint,7,opt,name=start_timestamp_ns,json=startTimestampNs,proto3" json:"start_timestamp_ns,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListSwapsFilter) Reset() { *x = ListSwapsFilter{} mi := &file_client_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListSwapsFilter) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListSwapsFilter) ProtoMessage() {} func (x *ListSwapsFilter) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListSwapsFilter.ProtoReflect.Descriptor instead. func (*ListSwapsFilter) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{10} } func (x *ListSwapsFilter) GetSwapType() ListSwapsFilter_SwapTypeFilter { if x != nil { return x.SwapType } return ListSwapsFilter_ANY } func (x *ListSwapsFilter) GetPendingOnly() bool { if x != nil { return x.PendingOnly } return false } func (x *ListSwapsFilter) GetOutgoingChanSet() []uint64 { if x != nil { return x.OutgoingChanSet } return nil } func (x *ListSwapsFilter) GetLabel() string { if x != nil { return x.Label } return "" } func (x *ListSwapsFilter) GetLoopInLastHop() []byte { if x != nil { return x.LoopInLastHop } return nil } func (x *ListSwapsFilter) GetAssetSwapOnly() bool { if x != nil { return x.AssetSwapOnly } return false } func (x *ListSwapsFilter) GetStartTimestampNs() int64 { if x != nil { return x.StartTimestampNs } return 0 } type ListSwapsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The list of all currently known swaps and their status. Swaps []*SwapStatus `protobuf:"bytes,1,rep,name=swaps,proto3" json:"swaps,omitempty"` // Timestamp to use for paging start_timestamp_ns. NextStartTime int64 `protobuf:"varint,2,opt,name=next_start_time,json=nextStartTime,proto3" json:"next_start_time,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListSwapsResponse) Reset() { *x = ListSwapsResponse{} mi := &file_client_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListSwapsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListSwapsResponse) ProtoMessage() {} func (x *ListSwapsResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListSwapsResponse.ProtoReflect.Descriptor instead. func (*ListSwapsResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{11} } func (x *ListSwapsResponse) GetSwaps() []*SwapStatus { if x != nil { return x.Swaps } return nil } func (x *ListSwapsResponse) GetNextStartTime() int64 { if x != nil { return x.NextStartTime } return 0 } // SweepHtlcRequest instructs loopd to sweep a swap HTLC via its success path. type SweepHtlcRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Optional override for the sweep destination; defaults to a new address // derived from the connected lnd wallet. DestAddress string `protobuf:"bytes,1,opt,name=dest_address,json=destAddress,proto3" json:"dest_address,omitempty"` // Fee rate used for the sweep transaction in sat/vByte. SatPerVbyte uint32 `protobuf:"varint,2,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"` // HTLC outpoint to sweep, formatted as "txid:vout". Outpoint string `protobuf:"bytes,3,opt,name=outpoint,proto3" json:"outpoint,omitempty"` // Optional override for the stored swap preimage. Preimage []byte `protobuf:"bytes,4,opt,name=preimage,proto3" json:"preimage,omitempty"` // If true, publish the sweep transaction immediately. Publish bool `protobuf:"varint,5,opt,name=publish,proto3" json:"publish,omitempty"` // The HTLC address whose output is being swept; used to derive the // expected pkScript. HtlcAddress string `protobuf:"bytes,6,opt,name=htlc_address,json=htlcAddress,proto3" json:"htlc_address,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SweepHtlcRequest) Reset() { *x = SweepHtlcRequest{} mi := &file_client_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SweepHtlcRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SweepHtlcRequest) ProtoMessage() {} func (x *SweepHtlcRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SweepHtlcRequest.ProtoReflect.Descriptor instead. func (*SweepHtlcRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{12} } func (x *SweepHtlcRequest) GetDestAddress() string { if x != nil { return x.DestAddress } return "" } func (x *SweepHtlcRequest) GetSatPerVbyte() uint32 { if x != nil { return x.SatPerVbyte } return 0 } func (x *SweepHtlcRequest) GetOutpoint() string { if x != nil { return x.Outpoint } return "" } func (x *SweepHtlcRequest) GetPreimage() []byte { if x != nil { return x.Preimage } return nil } func (x *SweepHtlcRequest) GetPublish() bool { if x != nil { return x.Publish } return false } func (x *SweepHtlcRequest) GetHtlcAddress() string { if x != nil { return x.HtlcAddress } return "" } // SweepHtlcResponse returns the broadcast sweep transaction. type SweepHtlcResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // Raw sweep transaction bytes. SweepTx []byte `protobuf:"bytes,1,opt,name=sweep_tx,json=sweepTx,proto3" json:"sweep_tx,omitempty"` // Miner fee paid by the sweep transaction. FeeSats uint64 `protobuf:"varint,2,opt,name=fee_sats,json=feeSats,proto3" json:"fee_sats,omitempty"` // Publish outcome. // // Types that are valid to be assigned to Publish: // // *SweepHtlcResponse_NotRequested // *SweepHtlcResponse_Published // *SweepHtlcResponse_Failed Publish isSweepHtlcResponse_Publish `protobuf_oneof:"publish"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SweepHtlcResponse) Reset() { *x = SweepHtlcResponse{} mi := &file_client_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SweepHtlcResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SweepHtlcResponse) ProtoMessage() {} func (x *SweepHtlcResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SweepHtlcResponse.ProtoReflect.Descriptor instead. func (*SweepHtlcResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{13} } func (x *SweepHtlcResponse) GetSweepTx() []byte { if x != nil { return x.SweepTx } return nil } func (x *SweepHtlcResponse) GetFeeSats() uint64 { if x != nil { return x.FeeSats } return 0 } func (x *SweepHtlcResponse) GetPublish() isSweepHtlcResponse_Publish { if x != nil { return x.Publish } return nil } func (x *SweepHtlcResponse) GetNotRequested() *PublishNotRequested { if x != nil { if x, ok := x.Publish.(*SweepHtlcResponse_NotRequested); ok { return x.NotRequested } } return nil } func (x *SweepHtlcResponse) GetPublished() *PublishSucceeded { if x != nil { if x, ok := x.Publish.(*SweepHtlcResponse_Published); ok { return x.Published } } return nil } func (x *SweepHtlcResponse) GetFailed() *PublishFailed { if x != nil { if x, ok := x.Publish.(*SweepHtlcResponse_Failed); ok { return x.Failed } } return nil } type isSweepHtlcResponse_Publish interface { isSweepHtlcResponse_Publish() } type SweepHtlcResponse_NotRequested struct { NotRequested *PublishNotRequested `protobuf:"bytes,3,opt,name=not_requested,json=notRequested,proto3,oneof"` } type SweepHtlcResponse_Published struct { Published *PublishSucceeded `protobuf:"bytes,4,opt,name=published,proto3,oneof"` } type SweepHtlcResponse_Failed struct { Failed *PublishFailed `protobuf:"bytes,5,opt,name=failed,proto3,oneof"` } func (*SweepHtlcResponse_NotRequested) isSweepHtlcResponse_Publish() {} func (*SweepHtlcResponse_Published) isSweepHtlcResponse_Publish() {} func (*SweepHtlcResponse_Failed) isSweepHtlcResponse_Publish() {} // PublishNotRequested is returned by SweepHtlc if publishing was not requested // in SweepHtlcRequest. type PublishNotRequested struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PublishNotRequested) Reset() { *x = PublishNotRequested{} mi := &file_client_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PublishNotRequested) String() string { return protoimpl.X.MessageStringOf(x) } func (*PublishNotRequested) ProtoMessage() {} func (x *PublishNotRequested) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PublishNotRequested.ProtoReflect.Descriptor instead. func (*PublishNotRequested) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{14} } // PublishSucceeded is returned by SweepHtlc if publishing was requested in // SweepHtlcRequest and it succeeded. type PublishSucceeded struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PublishSucceeded) Reset() { *x = PublishSucceeded{} mi := &file_client_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PublishSucceeded) String() string { return protoimpl.X.MessageStringOf(x) } func (*PublishSucceeded) ProtoMessage() {} func (x *PublishSucceeded) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PublishSucceeded.ProtoReflect.Descriptor instead. func (*PublishSucceeded) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{15} } // PublishFailed is returned by SweepHtlc if publishing was requested in // SweepHtlcRequest, but failed. It includes the error message. type PublishFailed struct { state protoimpl.MessageState `protogen:"open.v1"` Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *PublishFailed) Reset() { *x = PublishFailed{} mi := &file_client_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *PublishFailed) String() string { return protoimpl.X.MessageStringOf(x) } func (*PublishFailed) ProtoMessage() {} func (x *PublishFailed) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use PublishFailed.ProtoReflect.Descriptor instead. func (*PublishFailed) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{16} } func (x *PublishFailed) GetError() string { if x != nil { return x.Error } return "" } type SwapInfoRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The swap identifier which currently is the hash that locks the HTLCs. When // using REST, this field must be encoded as URL safe base64. Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SwapInfoRequest) Reset() { *x = SwapInfoRequest{} mi := &file_client_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SwapInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SwapInfoRequest) ProtoMessage() {} func (x *SwapInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SwapInfoRequest.ProtoReflect.Descriptor instead. func (*SwapInfoRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{17} } func (x *SwapInfoRequest) GetId() []byte { if x != nil { return x.Id } return nil } type TermsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TermsRequest) Reset() { *x = TermsRequest{} mi := &file_client_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *TermsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*TermsRequest) ProtoMessage() {} func (x *TermsRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TermsRequest.ProtoReflect.Descriptor instead. func (*TermsRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{18} } type InTermsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // Minimum swap amount (sat) MinSwapAmount int64 `protobuf:"varint,5,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"` // Maximum swap amount (sat) MaxSwapAmount int64 `protobuf:"varint,6,opt,name=max_swap_amount,json=maxSwapAmount,proto3" json:"max_swap_amount,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *InTermsResponse) Reset() { *x = InTermsResponse{} mi := &file_client_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *InTermsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*InTermsResponse) ProtoMessage() {} func (x *InTermsResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InTermsResponse.ProtoReflect.Descriptor instead. func (*InTermsResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{19} } func (x *InTermsResponse) GetMinSwapAmount() int64 { if x != nil { return x.MinSwapAmount } return 0 } func (x *InTermsResponse) GetMaxSwapAmount() int64 { if x != nil { return x.MaxSwapAmount } return 0 } type OutTermsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // Minimum swap amount (sat) MinSwapAmount int64 `protobuf:"varint,5,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"` // Maximum swap amount (sat) MaxSwapAmount int64 `protobuf:"varint,6,opt,name=max_swap_amount,json=maxSwapAmount,proto3" json:"max_swap_amount,omitempty"` // The minimally accepted cltv delta of the on-chain htlc. MinCltvDelta int32 `protobuf:"varint,8,opt,name=min_cltv_delta,json=minCltvDelta,proto3" json:"min_cltv_delta,omitempty"` // The maximally accepted cltv delta of the on-chain htlc. MaxCltvDelta int32 `protobuf:"varint,9,opt,name=max_cltv_delta,json=maxCltvDelta,proto3" json:"max_cltv_delta,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *OutTermsResponse) Reset() { *x = OutTermsResponse{} mi := &file_client_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *OutTermsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*OutTermsResponse) ProtoMessage() {} func (x *OutTermsResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OutTermsResponse.ProtoReflect.Descriptor instead. func (*OutTermsResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{20} } func (x *OutTermsResponse) GetMinSwapAmount() int64 { if x != nil { return x.MinSwapAmount } return 0 } func (x *OutTermsResponse) GetMaxSwapAmount() int64 { if x != nil { return x.MaxSwapAmount } return 0 } func (x *OutTermsResponse) GetMinCltvDelta() int32 { if x != nil { return x.MinCltvDelta } return 0 } func (x *OutTermsResponse) GetMaxCltvDelta() int32 { if x != nil { return x.MaxCltvDelta } return 0 } type QuoteRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The amount to swap in satoshis. In the loop-in case this can either be taken // from the connected lnd wallet or coin-selected from static address deposits. // This is controlled by the select_deposits flag. If deposit_outpoints are // specified, the coins are taken out of that. Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"` // The confirmation target that should be used either for the sweep of the // on-chain HTLC broadcast by the swap server in the case of a Loop Out, or for // the confirmation of the on-chain HTLC broadcast by the swap client in the // case of a Loop In. ConfTarget int32 `protobuf:"varint,2,opt,name=conf_target,json=confTarget,proto3" json:"conf_target,omitempty"` // If external_htlc is true, we expect the htlc to be published by an external // actor. ExternalHtlc bool `protobuf:"varint,3,opt,name=external_htlc,json=externalHtlc,proto3" json:"external_htlc,omitempty"` // The latest time (in unix seconds) we allow the server to wait before // publishing the HTLC on chain. Setting this to a larger value will give the // server the opportunity to batch multiple swaps together, and wait for // low-fee periods before publishing the HTLC, potentially resulting in a // lower total swap fee. This only has an effect on loop out quotes. SwapPublicationDeadline uint64 `protobuf:"varint,4,opt,name=swap_publication_deadline,json=swapPublicationDeadline,proto3" json:"swap_publication_deadline,omitempty"` // Optionally the client can specify the last hop pubkey when requesting a // loop-in quote. This is useful to get better off-chain routing fee from the // server. LoopInLastHop []byte `protobuf:"bytes,5,opt,name=loop_in_last_hop,json=loopInLastHop,proto3" json:"loop_in_last_hop,omitempty"` // Optional route hints to reach the destination through private channels. LoopInRouteHints []*swapserverrpc.RouteHint `protobuf:"bytes,6,rep,name=loop_in_route_hints,json=loopInRouteHints,proto3" json:"loop_in_route_hints,omitempty"` // Private indicates whether the destination node should be considered // private. In which case, loop will generate hophints to assist with // probing and payment. Private bool `protobuf:"varint,7,opt,name=private,proto3" json:"private,omitempty"` // Static address deposit outpoints that will be quoted for. This option only // pertains to loop in swaps. If the amt field is set as well the respective // partial amount will be swapped. Cannot be used in conjunction with // auto_select_deposits. DepositOutpoints []string `protobuf:"bytes,8,rep,name=deposit_outpoints,json=depositOutpoints,proto3" json:"deposit_outpoints,omitempty"` // The optional asset information to use for the swap. If set, the quote will // be returned in the specified asset. AssetInfo *AssetLoopOutRequest `protobuf:"bytes,9,opt,name=asset_info,json=assetInfo,proto3" json:"asset_info,omitempty"` // In the legacy loop-in case this field must be set to false. // If set to true, the swap amount will be automatically selected from the // static address deposits. If set to true, deposit_outpoints must be empty. // This option only pertains to loop in swaps. AutoSelectDeposits bool `protobuf:"varint,10,opt,name=auto_select_deposits,json=autoSelectDeposits,proto3" json:"auto_select_deposits,omitempty"` // If set to true the server will immediately publish the swap in exchange for // a higher fee. This can be useful if the client expects change from a swap. // Note that this feature is only available for static address loop in swaps. Fast bool `protobuf:"varint,11,opt,name=fast,proto3" json:"fast,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *QuoteRequest) Reset() { *x = QuoteRequest{} mi := &file_client_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *QuoteRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*QuoteRequest) ProtoMessage() {} func (x *QuoteRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use QuoteRequest.ProtoReflect.Descriptor instead. func (*QuoteRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{21} } func (x *QuoteRequest) GetAmt() int64 { if x != nil { return x.Amt } return 0 } func (x *QuoteRequest) GetConfTarget() int32 { if x != nil { return x.ConfTarget } return 0 } func (x *QuoteRequest) GetExternalHtlc() bool { if x != nil { return x.ExternalHtlc } return false } func (x *QuoteRequest) GetSwapPublicationDeadline() uint64 { if x != nil { return x.SwapPublicationDeadline } return 0 } func (x *QuoteRequest) GetLoopInLastHop() []byte { if x != nil { return x.LoopInLastHop } return nil } func (x *QuoteRequest) GetLoopInRouteHints() []*swapserverrpc.RouteHint { if x != nil { return x.LoopInRouteHints } return nil } func (x *QuoteRequest) GetPrivate() bool { if x != nil { return x.Private } return false } func (x *QuoteRequest) GetDepositOutpoints() []string { if x != nil { return x.DepositOutpoints } return nil } func (x *QuoteRequest) GetAssetInfo() *AssetLoopOutRequest { if x != nil { return x.AssetInfo } return nil } func (x *QuoteRequest) GetAutoSelectDeposits() bool { if x != nil { return x.AutoSelectDeposits } return false } func (x *QuoteRequest) GetFast() bool { if x != nil { return x.Fast } return false } type InQuoteResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The fee that the swap server is charging for the swap. SwapFeeSat int64 `protobuf:"varint,1,opt,name=swap_fee_sat,json=swapFeeSat,proto3" json:"swap_fee_sat,omitempty"` // An estimate of the on-chain fee that needs to be paid to publish the HTLC // If a miner fee of 0 is returned, it means the external_htlc flag was set for // a loop in and the fee estimation was skipped. If a miner fee of -1 is // returned, it means lnd's wallet tried to estimate the fee but was unable to // create a sample estimation transaction because not enough funds are // available. An information message should be shown to the user in this case. HtlcPublishFeeSat int64 `protobuf:"varint,3,opt,name=htlc_publish_fee_sat,json=htlcPublishFeeSat,proto3" json:"htlc_publish_fee_sat,omitempty"` // On-chain cltv expiry delta CltvDelta int32 `protobuf:"varint,5,opt,name=cltv_delta,json=cltvDelta,proto3" json:"cltv_delta,omitempty"` // The confirmation target to be used to publish the on-chain HTLC. ConfTarget int32 `protobuf:"varint,6,opt,name=conf_target,json=confTarget,proto3" json:"conf_target,omitempty"` // If the quote request was for a static address loop in and only contained // deposit outpoints the quote response will return the total amount of the // selected deposits. QuotedAmt int64 `protobuf:"varint,7,opt,name=quoted_amt,json=quotedAmt,proto3" json:"quoted_amt,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *InQuoteResponse) Reset() { *x = InQuoteResponse{} mi := &file_client_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *InQuoteResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*InQuoteResponse) ProtoMessage() {} func (x *InQuoteResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InQuoteResponse.ProtoReflect.Descriptor instead. func (*InQuoteResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{22} } func (x *InQuoteResponse) GetSwapFeeSat() int64 { if x != nil { return x.SwapFeeSat } return 0 } func (x *InQuoteResponse) GetHtlcPublishFeeSat() int64 { if x != nil { return x.HtlcPublishFeeSat } return 0 } func (x *InQuoteResponse) GetCltvDelta() int32 { if x != nil { return x.CltvDelta } return 0 } func (x *InQuoteResponse) GetConfTarget() int32 { if x != nil { return x.ConfTarget } return 0 } func (x *InQuoteResponse) GetQuotedAmt() int64 { if x != nil { return x.QuotedAmt } return 0 } type OutQuoteResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The fee that the swap server is charging for the swap. SwapFeeSat int64 `protobuf:"varint,1,opt,name=swap_fee_sat,json=swapFeeSat,proto3" json:"swap_fee_sat,omitempty"` // The part of the swap fee that is requested as a prepayment. PrepayAmtSat int64 `protobuf:"varint,2,opt,name=prepay_amt_sat,json=prepayAmtSat,proto3" json:"prepay_amt_sat,omitempty"` // An estimate of the on-chain fee that needs to be paid to sweep the HTLC for // a loop out. HtlcSweepFeeSat int64 `protobuf:"varint,3,opt,name=htlc_sweep_fee_sat,json=htlcSweepFeeSat,proto3" json:"htlc_sweep_fee_sat,omitempty"` // The node pubkey where the swap payment needs to be paid // to. This can be used to test connectivity before initiating the swap. SwapPaymentDest []byte `protobuf:"bytes,4,opt,name=swap_payment_dest,json=swapPaymentDest,proto3" json:"swap_payment_dest,omitempty"` // On-chain cltv expiry delta CltvDelta int32 `protobuf:"varint,5,opt,name=cltv_delta,json=cltvDelta,proto3" json:"cltv_delta,omitempty"` // The confirmation target to be used for the sweep of the on-chain HTLC. ConfTarget int32 `protobuf:"varint,6,opt,name=conf_target,json=confTarget,proto3" json:"conf_target,omitempty"` // If the request was for an asset swap, the quote will return the rfq ids // that will be used to pay for the swap and prepay invoices. AssetRfqInfo *AssetRfqInfo `protobuf:"bytes,7,opt,name=asset_rfq_info,json=assetRfqInfo,proto3" json:"asset_rfq_info,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *OutQuoteResponse) Reset() { *x = OutQuoteResponse{} mi := &file_client_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *OutQuoteResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*OutQuoteResponse) ProtoMessage() {} func (x *OutQuoteResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use OutQuoteResponse.ProtoReflect.Descriptor instead. func (*OutQuoteResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{23} } func (x *OutQuoteResponse) GetSwapFeeSat() int64 { if x != nil { return x.SwapFeeSat } return 0 } func (x *OutQuoteResponse) GetPrepayAmtSat() int64 { if x != nil { return x.PrepayAmtSat } return 0 } func (x *OutQuoteResponse) GetHtlcSweepFeeSat() int64 { if x != nil { return x.HtlcSweepFeeSat } return 0 } func (x *OutQuoteResponse) GetSwapPaymentDest() []byte { if x != nil { return x.SwapPaymentDest } return nil } func (x *OutQuoteResponse) GetCltvDelta() int32 { if x != nil { return x.CltvDelta } return 0 } func (x *OutQuoteResponse) GetConfTarget() int32 { if x != nil { return x.ConfTarget } return 0 } func (x *OutQuoteResponse) GetAssetRfqInfo() *AssetRfqInfo { if x != nil { return x.AssetRfqInfo } return nil } type ProbeRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The amount to probe. Amt int64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"` // Optional last hop of the route to probe. LastHop []byte `protobuf:"bytes,2,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"` // Optional route hints to reach the destination through private channels. RouteHints []*swapserverrpc.RouteHint `protobuf:"bytes,3,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ProbeRequest) Reset() { *x = ProbeRequest{} mi := &file_client_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ProbeRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProbeRequest) ProtoMessage() {} func (x *ProbeRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProbeRequest.ProtoReflect.Descriptor instead. func (*ProbeRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{24} } func (x *ProbeRequest) GetAmt() int64 { if x != nil { return x.Amt } return 0 } func (x *ProbeRequest) GetLastHop() []byte { if x != nil { return x.LastHop } return nil } func (x *ProbeRequest) GetRouteHints() []*swapserverrpc.RouteHint { if x != nil { return x.RouteHints } return nil } type ProbeResponse struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ProbeResponse) Reset() { *x = ProbeResponse{} mi := &file_client_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ProbeResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProbeResponse) ProtoMessage() {} func (x *ProbeResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProbeResponse.ProtoReflect.Descriptor instead. func (*ProbeResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{25} } type TokensRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TokensRequest) Reset() { *x = TokensRequest{} mi := &file_client_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *TokensRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*TokensRequest) ProtoMessage() {} func (x *TokensRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TokensRequest.ProtoReflect.Descriptor instead. func (*TokensRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{26} } type TokensResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // List of all tokens the daemon knows of, including old/expired tokens. Tokens []*L402Token `protobuf:"bytes,1,rep,name=tokens,proto3" json:"tokens,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *TokensResponse) Reset() { *x = TokensResponse{} mi := &file_client_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *TokensResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*TokensResponse) ProtoMessage() {} func (x *TokensResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use TokensResponse.ProtoReflect.Descriptor instead. func (*TokensResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{27} } func (x *TokensResponse) GetTokens() []*L402Token { if x != nil { return x.Tokens } return nil } type FetchL402TokenRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *FetchL402TokenRequest) Reset() { *x = FetchL402TokenRequest{} mi := &file_client_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *FetchL402TokenRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*FetchL402TokenRequest) ProtoMessage() {} func (x *FetchL402TokenRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FetchL402TokenRequest.ProtoReflect.Descriptor instead. func (*FetchL402TokenRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{28} } type FetchL402TokenResponse struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *FetchL402TokenResponse) Reset() { *x = FetchL402TokenResponse{} mi := &file_client_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *FetchL402TokenResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*FetchL402TokenResponse) ProtoMessage() {} func (x *FetchL402TokenResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FetchL402TokenResponse.ProtoReflect.Descriptor instead. func (*FetchL402TokenResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{29} } type L402Token struct { state protoimpl.MessageState `protogen:"open.v1"` // The base macaroon that was baked by the auth server. BaseMacaroon []byte `protobuf:"bytes,1,opt,name=base_macaroon,json=baseMacaroon,proto3" json:"base_macaroon,omitempty"` // The payment hash of the payment that was paid to obtain the token. PaymentHash []byte `protobuf:"bytes,2,opt,name=payment_hash,json=paymentHash,proto3" json:"payment_hash,omitempty"` // The preimage of the payment hash, knowledge of this is proof that the // payment has been paid. If the preimage is set to all zeros, this means the // payment is still pending and the token is not yet fully valid. PaymentPreimage []byte `protobuf:"bytes,3,opt,name=payment_preimage,json=paymentPreimage,proto3" json:"payment_preimage,omitempty"` // The amount of millisatoshis that was paid to get the token. AmountPaidMsat int64 `protobuf:"varint,4,opt,name=amount_paid_msat,json=amountPaidMsat,proto3" json:"amount_paid_msat,omitempty"` // The amount of millisatoshis paid in routing fee to pay for the token. RoutingFeePaidMsat int64 `protobuf:"varint,5,opt,name=routing_fee_paid_msat,json=routingFeePaidMsat,proto3" json:"routing_fee_paid_msat,omitempty"` // The creation time of the token as UNIX timestamp in seconds. TimeCreated int64 `protobuf:"varint,6,opt,name=time_created,json=timeCreated,proto3" json:"time_created,omitempty"` // Indicates whether the token is expired or still valid. Expired bool `protobuf:"varint,7,opt,name=expired,proto3" json:"expired,omitempty"` // Identifying attribute of this token in the store. Currently represents the // file name of the token where it's stored on the file system. StorageName string `protobuf:"bytes,8,opt,name=storage_name,json=storageName,proto3" json:"storage_name,omitempty"` // The l402 ID of the token. Id string `protobuf:"bytes,9,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *L402Token) Reset() { *x = L402Token{} mi := &file_client_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *L402Token) String() string { return protoimpl.X.MessageStringOf(x) } func (*L402Token) ProtoMessage() {} func (x *L402Token) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use L402Token.ProtoReflect.Descriptor instead. func (*L402Token) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{30} } func (x *L402Token) GetBaseMacaroon() []byte { if x != nil { return x.BaseMacaroon } return nil } func (x *L402Token) GetPaymentHash() []byte { if x != nil { return x.PaymentHash } return nil } func (x *L402Token) GetPaymentPreimage() []byte { if x != nil { return x.PaymentPreimage } return nil } func (x *L402Token) GetAmountPaidMsat() int64 { if x != nil { return x.AmountPaidMsat } return 0 } func (x *L402Token) GetRoutingFeePaidMsat() int64 { if x != nil { return x.RoutingFeePaidMsat } return 0 } func (x *L402Token) GetTimeCreated() int64 { if x != nil { return x.TimeCreated } return 0 } func (x *L402Token) GetExpired() bool { if x != nil { return x.Expired } return false } func (x *L402Token) GetStorageName() string { if x != nil { return x.StorageName } return "" } func (x *L402Token) GetId() string { if x != nil { return x.Id } return "" } type LoopStats struct { state protoimpl.MessageState `protogen:"open.v1"` // Number of currently pending swaps. PendingCount uint64 `protobuf:"varint,1,opt,name=pending_count,json=pendingCount,proto3" json:"pending_count,omitempty"` // Number of succeeded swaps. SuccessCount uint64 `protobuf:"varint,2,opt,name=success_count,json=successCount,proto3" json:"success_count,omitempty"` // Number failed swaps. FailCount uint64 `protobuf:"varint,3,opt,name=fail_count,json=failCount,proto3" json:"fail_count,omitempty"` // The sum of all pending swap amounts. SumPendingAmt int64 `protobuf:"varint,4,opt,name=sum_pending_amt,json=sumPendingAmt,proto3" json:"sum_pending_amt,omitempty"` // The sum of all succeeded swap amounts. SumSucceededAmt int64 `protobuf:"varint,5,opt,name=sum_succeeded_amt,json=sumSucceededAmt,proto3" json:"sum_succeeded_amt,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LoopStats) Reset() { *x = LoopStats{} mi := &file_client_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LoopStats) String() string { return protoimpl.X.MessageStringOf(x) } func (*LoopStats) ProtoMessage() {} func (x *LoopStats) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LoopStats.ProtoReflect.Descriptor instead. func (*LoopStats) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{31} } func (x *LoopStats) GetPendingCount() uint64 { if x != nil { return x.PendingCount } return 0 } func (x *LoopStats) GetSuccessCount() uint64 { if x != nil { return x.SuccessCount } return 0 } func (x *LoopStats) GetFailCount() uint64 { if x != nil { return x.FailCount } return 0 } func (x *LoopStats) GetSumPendingAmt() int64 { if x != nil { return x.SumPendingAmt } return 0 } func (x *LoopStats) GetSumSucceededAmt() int64 { if x != nil { return x.SumSucceededAmt } return 0 } type GetInfoRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetInfoRequest) Reset() { *x = GetInfoRequest{} mi := &file_client_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetInfoRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetInfoRequest) ProtoMessage() {} func (x *GetInfoRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetInfoRequest.ProtoReflect.Descriptor instead. func (*GetInfoRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{32} } type GetInfoResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The current daemon version. Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` // The network the daemon is running on. Network string `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"` // Host and port of the loopd grpc server. RpcListen string `protobuf:"bytes,3,opt,name=rpc_listen,json=rpcListen,proto3" json:"rpc_listen,omitempty"` // Host and port of the loopd rest server. RestListen string `protobuf:"bytes,4,opt,name=rest_listen,json=restListen,proto3" json:"rest_listen,omitempty"` // Loop's macaroon path that clients use to talk to the daemon. MacaroonPath string `protobuf:"bytes,5,opt,name=macaroon_path,json=macaroonPath,proto3" json:"macaroon_path,omitempty"` // Loop's tls cert path TlsCertPath string `protobuf:"bytes,6,opt,name=tls_cert_path,json=tlsCertPath,proto3" json:"tls_cert_path,omitempty"` // Statistics about loop outs. LoopOutStats *LoopStats `protobuf:"bytes,7,opt,name=loop_out_stats,json=loopOutStats,proto3" json:"loop_out_stats,omitempty"` // Statistics about loop ins. LoopInStats *LoopStats `protobuf:"bytes,8,opt,name=loop_in_stats,json=loopInStats,proto3" json:"loop_in_stats,omitempty"` // The Git commit hash the Loop binary build was based on. If the build had // uncommited changes, this field will contain the most recent commit hash, // suffixed by "-dirty". CommitHash string `protobuf:"bytes,9,opt,name=commit_hash,json=commitHash,proto3" json:"commit_hash,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetInfoResponse) Reset() { *x = GetInfoResponse{} mi := &file_client_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetInfoResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetInfoResponse) ProtoMessage() {} func (x *GetInfoResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetInfoResponse.ProtoReflect.Descriptor instead. func (*GetInfoResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{33} } func (x *GetInfoResponse) GetVersion() string { if x != nil { return x.Version } return "" } func (x *GetInfoResponse) GetNetwork() string { if x != nil { return x.Network } return "" } func (x *GetInfoResponse) GetRpcListen() string { if x != nil { return x.RpcListen } return "" } func (x *GetInfoResponse) GetRestListen() string { if x != nil { return x.RestListen } return "" } func (x *GetInfoResponse) GetMacaroonPath() string { if x != nil { return x.MacaroonPath } return "" } func (x *GetInfoResponse) GetTlsCertPath() string { if x != nil { return x.TlsCertPath } return "" } func (x *GetInfoResponse) GetLoopOutStats() *LoopStats { if x != nil { return x.LoopOutStats } return nil } func (x *GetInfoResponse) GetLoopInStats() *LoopStats { if x != nil { return x.LoopInStats } return nil } func (x *GetInfoResponse) GetCommitHash() string { if x != nil { return x.CommitHash } return "" } type GetLiquidityParamsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetLiquidityParamsRequest) Reset() { *x = GetLiquidityParamsRequest{} mi := &file_client_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetLiquidityParamsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetLiquidityParamsRequest) ProtoMessage() {} func (x *GetLiquidityParamsRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetLiquidityParamsRequest.ProtoReflect.Descriptor instead. func (*GetLiquidityParamsRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{34} } type LiquidityParameters struct { state protoimpl.MessageState `protogen:"open.v1"` // A set of liquidity rules that describe the desired liquidity balance. Rules []*LiquidityRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` // The parts per million of swap amount that is allowed to be allocated to swap // fees. This value is applied across swap categories and may not be set in // conjunction with sweep fee rate, swap fee ppm, routing fee ppm, prepay // routing, max prepay and max miner fee. FeePpm uint64 `protobuf:"varint,16,opt,name=fee_ppm,json=feePpm,proto3" json:"fee_ppm,omitempty"` // The limit we place on our estimated sweep cost for a swap in sat/vByte. If // the estimated fee for our sweep transaction within the specified // confirmation target is above this value, we will not suggest any swaps. SweepFeeRateSatPerVbyte uint64 `protobuf:"varint,2,opt,name=sweep_fee_rate_sat_per_vbyte,json=sweepFeeRateSatPerVbyte,proto3" json:"sweep_fee_rate_sat_per_vbyte,omitempty"` // The maximum fee paid to the server for facilitating the swap, expressed // as parts per million of the swap volume. MaxSwapFeePpm uint64 `protobuf:"varint,3,opt,name=max_swap_fee_ppm,json=maxSwapFeePpm,proto3" json:"max_swap_fee_ppm,omitempty"` // The maximum fee paid to route the swap invoice off chain, expressed as // parts per million of the volume being routed. MaxRoutingFeePpm uint64 `protobuf:"varint,4,opt,name=max_routing_fee_ppm,json=maxRoutingFeePpm,proto3" json:"max_routing_fee_ppm,omitempty"` // The maximum fee paid to route the prepay invoice off chain, expressed as // parts per million of the volume being routed. MaxPrepayRoutingFeePpm uint64 `protobuf:"varint,5,opt,name=max_prepay_routing_fee_ppm,json=maxPrepayRoutingFeePpm,proto3" json:"max_prepay_routing_fee_ppm,omitempty"` // The maximum no-show penalty in satoshis paid for a swap. MaxPrepaySat uint64 `protobuf:"varint,6,opt,name=max_prepay_sat,json=maxPrepaySat,proto3" json:"max_prepay_sat,omitempty"` // The maximum miner fee we will pay to sweep the swap on chain. Note that we // will not suggest a swap if the estimate is above the sweep limit set by // these parameters, and we use the current fee estimate to sweep on chain so // this value is only a cap placed on the amount we spend on fees in the case // where the swap needs to be claimed on chain, but fees have suddenly spiked. MaxMinerFeeSat uint64 `protobuf:"varint,7,opt,name=max_miner_fee_sat,json=maxMinerFeeSat,proto3" json:"max_miner_fee_sat,omitempty"` // The number of blocks from the on-chain HTLC's confirmation height that it // should be swept within. SweepConfTarget int32 `protobuf:"varint,8,opt,name=sweep_conf_target,json=sweepConfTarget,proto3" json:"sweep_conf_target,omitempty"` // The amount of time we require pass since a channel was part of a failed // swap due to off chain payment failure until it will be considered for swap // suggestions again, expressed in seconds. FailureBackoffSec uint64 `protobuf:"varint,9,opt,name=failure_backoff_sec,json=failureBackoffSec,proto3" json:"failure_backoff_sec,omitempty"` // Set to true to enable automatic dispatch of swaps. All swaps will be limited // to the fee categories set by these parameters, and total expenditure will // be limited to the autoloop budget. Autoloop bool `protobuf:"varint,10,opt,name=autoloop,proto3" json:"autoloop,omitempty"` // The total budget for automatically dispatched swaps since the budget start // time, expressed in satoshis. AutoloopBudgetSat uint64 `protobuf:"varint,11,opt,name=autoloop_budget_sat,json=autoloopBudgetSat,proto3" json:"autoloop_budget_sat,omitempty"` // Deprecated, use autoloop_budget_refresh_period_sec. The start time for // autoloop budget, expressed as a unix timestamp in seconds. If this value is // 0, the budget will be applied for all automatically dispatched swaps. Swaps // that were completed before this date will not be included in budget // calculations. // // Deprecated: Marked as deprecated in client.proto. AutoloopBudgetStartSec uint64 `protobuf:"varint,12,opt,name=autoloop_budget_start_sec,json=autoloopBudgetStartSec,proto3" json:"autoloop_budget_start_sec,omitempty"` // The maximum number of automatically dispatched swaps that we allow to be in // flight at any point in time. AutoMaxInFlight uint64 `protobuf:"varint,13,opt,name=auto_max_in_flight,json=autoMaxInFlight,proto3" json:"auto_max_in_flight,omitempty"` // The minimum amount, expressed in satoshis, that the autoloop client will // dispatch a swap for. This value is subject to the server-side limits // specified by the LoopOutTerms endpoint. MinSwapAmount uint64 `protobuf:"varint,14,opt,name=min_swap_amount,json=minSwapAmount,proto3" json:"min_swap_amount,omitempty"` // The maximum amount, expressed in satoshis, that the autoloop client will // dispatch a swap for. This value is subject to the server-side limits // specified by the LoopOutTerms endpoint. MaxSwapAmount uint64 `protobuf:"varint,15,opt,name=max_swap_amount,json=maxSwapAmount,proto3" json:"max_swap_amount,omitempty"` // The confirmation target for loop in on-chain htlcs. HtlcConfTarget int32 `protobuf:"varint,17,opt,name=htlc_conf_target,json=htlcConfTarget,proto3" json:"htlc_conf_target,omitempty"` // The destination address to use for autoloop loop outs. Set to "default" in // order to revert to default behavior. AutoloopDestAddress string `protobuf:"bytes,18,opt,name=autoloop_dest_address,json=autoloopDestAddress,proto3" json:"autoloop_dest_address,omitempty"` // The period over which the autoloop budget is refreshed, expressed in // seconds. AutoloopBudgetRefreshPeriodSec uint64 `protobuf:"varint,19,opt,name=autoloop_budget_refresh_period_sec,json=autoloopBudgetRefreshPeriodSec,proto3" json:"autoloop_budget_refresh_period_sec,omitempty"` // The time at which the autoloop budget was last refreshed, expressed as a // UNIX timestamp in seconds. AutoloopBudgetLastRefresh uint64 `protobuf:"varint,20,opt,name=autoloop_budget_last_refresh,json=autoloopBudgetLastRefresh,proto3" json:"autoloop_budget_last_refresh,omitempty"` // Set to true to enable easy autoloop. If set, all channel/peer rules will be // overridden and the client will automatically dispatch swaps in order to meet // the configured local balance target size. Currently only loop out is // supported, meaning that easy autoloop can only reduce the funds that are // held as balance in channels. EasyAutoloop bool `protobuf:"varint,21,opt,name=easy_autoloop,json=easyAutoloop,proto3" json:"easy_autoloop,omitempty"` // The local balance target size, expressed in satoshis. This is used by easy // autoloop to determine how much liquidity should be maintained in channels. EasyAutoloopLocalTargetSat uint64 `protobuf:"varint,22,opt,name=easy_autoloop_local_target_sat,json=easyAutoloopLocalTargetSat,proto3" json:"easy_autoloop_local_target_sat,omitempty"` // An alternative destination address source for the swap. This field // represents the name of the account in the backing lnd instance. // Refer to lnd's wallet import functions for reference. Account string `protobuf:"bytes,23,opt,name=account,proto3" json:"account,omitempty"` // The address type of the account specified in the account field. AccountAddrType AddressType `protobuf:"varint,24,opt,name=account_addr_type,json=accountAddrType,proto3,enum=looprpc.AddressType" json:"account_addr_type,omitempty"` // A map of asset parameters to use for swaps. The key is the asset id and the // value is the parameters to use for swaps in that asset. EasyAssetParams map[string]*EasyAssetAutoloopParams `protobuf:"bytes,25,rep,name=easy_asset_params,json=easyAssetParams,proto3" json:"easy_asset_params,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` // Set to true to enable fast swap publication. If set, the server will // publish the HTLC immediately after receiving the swap request. This // setting has direct implications on the swap fees, as fast swaps may // not be able to be batched with other swaps. FastSwapPublication bool `protobuf:"varint,26,opt,name=fast_swap_publication,json=fastSwapPublication,proto3" json:"fast_swap_publication,omitempty"` // A list of peers (their public keys) that should be excluded from the easy // autoloop run. If set, channels connected to these peers won't be // considered for easy autoloop swaps. EasyAutoloopExcludedPeers [][]byte `protobuf:"bytes,27,rep,name=easy_autoloop_excluded_peers,json=easyAutoloopExcludedPeers,proto3" json:"easy_autoloop_excluded_peers,omitempty"` // 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 } return 0 } func (x *LiquidityParameters) GetSweepFeeRateSatPerVbyte() uint64 { if x != nil { return x.SweepFeeRateSatPerVbyte } return 0 } func (x *LiquidityParameters) GetMaxSwapFeePpm() uint64 { if x != nil { return x.MaxSwapFeePpm } return 0 } func (x *LiquidityParameters) GetMaxRoutingFeePpm() uint64 { if x != nil { return x.MaxRoutingFeePpm } return 0 } func (x *LiquidityParameters) GetMaxPrepayRoutingFeePpm() uint64 { if x != nil { return x.MaxPrepayRoutingFeePpm } return 0 } func (x *LiquidityParameters) GetMaxPrepaySat() uint64 { if x != nil { return x.MaxPrepaySat } return 0 } func (x *LiquidityParameters) GetMaxMinerFeeSat() uint64 { if x != nil { return x.MaxMinerFeeSat } return 0 } func (x *LiquidityParameters) GetSweepConfTarget() int32 { if x != nil { return x.SweepConfTarget } return 0 } func (x *LiquidityParameters) GetFailureBackoffSec() uint64 { if x != nil { return x.FailureBackoffSec } return 0 } func (x *LiquidityParameters) GetAutoloop() bool { if x != nil { return x.Autoloop } return false } func (x *LiquidityParameters) GetAutoloopBudgetSat() uint64 { if x != nil { return x.AutoloopBudgetSat } return 0 } // Deprecated: Marked as deprecated in client.proto. func (x *LiquidityParameters) GetAutoloopBudgetStartSec() uint64 { if x != nil { return x.AutoloopBudgetStartSec } return 0 } func (x *LiquidityParameters) GetAutoMaxInFlight() uint64 { if x != nil { return x.AutoMaxInFlight } return 0 } func (x *LiquidityParameters) GetMinSwapAmount() uint64 { if x != nil { return x.MinSwapAmount } return 0 } func (x *LiquidityParameters) GetMaxSwapAmount() uint64 { if x != nil { return x.MaxSwapAmount } return 0 } func (x *LiquidityParameters) GetHtlcConfTarget() int32 { if x != nil { return x.HtlcConfTarget } return 0 } func (x *LiquidityParameters) GetAutoloopDestAddress() string { if x != nil { return x.AutoloopDestAddress } return "" } func (x *LiquidityParameters) GetAutoloopBudgetRefreshPeriodSec() uint64 { if x != nil { return x.AutoloopBudgetRefreshPeriodSec } return 0 } func (x *LiquidityParameters) GetAutoloopBudgetLastRefresh() uint64 { if x != nil { return x.AutoloopBudgetLastRefresh } return 0 } func (x *LiquidityParameters) GetEasyAutoloop() bool { if x != nil { return x.EasyAutoloop } return false } func (x *LiquidityParameters) GetEasyAutoloopLocalTargetSat() uint64 { if x != nil { return x.EasyAutoloopLocalTargetSat } return 0 } func (x *LiquidityParameters) GetAccount() string { if x != nil { return x.Account } return "" } func (x *LiquidityParameters) GetAccountAddrType() AddressType { if x != nil { return x.AccountAddrType } return AddressType_ADDRESS_TYPE_UNKNOWN } func (x *LiquidityParameters) GetEasyAssetParams() map[string]*EasyAssetAutoloopParams { if x != nil { return x.EasyAssetParams } return nil } func (x *LiquidityParameters) GetFastSwapPublication() bool { if x != nil { return x.FastSwapPublication } return false } func (x *LiquidityParameters) GetEasyAutoloopExcludedPeers() [][]byte { if x != nil { return x.EasyAutoloopExcludedPeers } return nil } func (x *LiquidityParameters) GetLoopInSource() LoopInSource { if x != nil { return x.LoopInSource } return LoopInSource_LOOP_IN_SOURCE_WALLET } type EasyAssetAutoloopParams struct { state protoimpl.MessageState `protogen:"open.v1"` // Set to true to enable easy autoloop for this asset. If set the client will // automatically dispatch swaps in order to meet the configured local balance // target size. Currently only loop out is supported, meaning that easy // autoloop can only reduce the funds that are held as balance in channels. Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` // The local balance target size, expressed in the asset's base units. This is // used by easy autoloop to determine how much liquidity should be maintained // in channels. LocalTargetAssetAmt uint64 `protobuf:"varint,2,opt,name=local_target_asset_amt,json=localTargetAssetAmt,proto3" json:"local_target_asset_amt,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *EasyAssetAutoloopParams) Reset() { *x = EasyAssetAutoloopParams{} mi := &file_client_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *EasyAssetAutoloopParams) String() string { return protoimpl.X.MessageStringOf(x) } func (*EasyAssetAutoloopParams) ProtoMessage() {} func (x *EasyAssetAutoloopParams) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use EasyAssetAutoloopParams.ProtoReflect.Descriptor instead. func (*EasyAssetAutoloopParams) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{36} } func (x *EasyAssetAutoloopParams) GetEnabled() bool { if x != nil { return x.Enabled } return false } func (x *EasyAssetAutoloopParams) GetLocalTargetAssetAmt() uint64 { if x != nil { return x.LocalTargetAssetAmt } return 0 } type LiquidityRule struct { state protoimpl.MessageState `protogen:"open.v1"` // The short channel ID of the channel that this rule should be applied to. // This field may not be set when the pubkey field is set. ChannelId uint64 `protobuf:"varint,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` // The type of swap that will be dispatched for this rule. SwapType SwapType `protobuf:"varint,6,opt,name=swap_type,json=swapType,proto3,enum=looprpc.SwapType" json:"swap_type,omitempty"` // The public key of the peer that this rule should be applied to. This field // may not be set when the channel id field is set. Pubkey []byte `protobuf:"bytes,5,opt,name=pubkey,proto3" json:"pubkey,omitempty"` // Type indicates the type of rule that this message rule represents. Setting // this value will determine which fields are used in the message. The comments // on each field in this message will be prefixed with the LiquidityRuleType // they belong to. Type LiquidityRuleType `protobuf:"varint,2,opt,name=type,proto3,enum=looprpc.LiquidityRuleType" json:"type,omitempty"` // THRESHOLD: The percentage of total capacity that incoming capacity should // not drop beneath. IncomingThreshold uint32 `protobuf:"varint,3,opt,name=incoming_threshold,json=incomingThreshold,proto3" json:"incoming_threshold,omitempty"` // THRESHOLD: The percentage of total capacity that outgoing capacity should // not drop beneath. OutgoingThreshold uint32 `protobuf:"varint,4,opt,name=outgoing_threshold,json=outgoingThreshold,proto3" json:"outgoing_threshold,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *LiquidityRule) Reset() { *x = LiquidityRule{} mi := &file_client_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *LiquidityRule) String() string { return protoimpl.X.MessageStringOf(x) } func (*LiquidityRule) ProtoMessage() {} func (x *LiquidityRule) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use LiquidityRule.ProtoReflect.Descriptor instead. func (*LiquidityRule) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{37} } func (x *LiquidityRule) GetChannelId() uint64 { if x != nil { return x.ChannelId } return 0 } func (x *LiquidityRule) GetSwapType() SwapType { if x != nil { return x.SwapType } return SwapType_LOOP_OUT } func (x *LiquidityRule) GetPubkey() []byte { if x != nil { return x.Pubkey } return nil } func (x *LiquidityRule) GetType() LiquidityRuleType { if x != nil { return x.Type } return LiquidityRuleType_UNKNOWN } func (x *LiquidityRule) GetIncomingThreshold() uint32 { if x != nil { return x.IncomingThreshold } return 0 } func (x *LiquidityRule) GetOutgoingThreshold() uint32 { if x != nil { return x.OutgoingThreshold } return 0 } type SetLiquidityParamsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Parameters is the desired new set of parameters for the liquidity management // subsystem. Note that the current set of parameters will be completely // overwritten by the parameters provided (if they are valid), so the full set // of parameters should be provided for each call. Parameters *LiquidityParameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SetLiquidityParamsRequest) Reset() { *x = SetLiquidityParamsRequest{} mi := &file_client_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SetLiquidityParamsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetLiquidityParamsRequest) ProtoMessage() {} func (x *SetLiquidityParamsRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SetLiquidityParamsRequest.ProtoReflect.Descriptor instead. func (*SetLiquidityParamsRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{38} } func (x *SetLiquidityParamsRequest) GetParameters() *LiquidityParameters { if x != nil { return x.Parameters } return nil } type SetLiquidityParamsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SetLiquidityParamsResponse) Reset() { *x = SetLiquidityParamsResponse{} mi := &file_client_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SetLiquidityParamsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SetLiquidityParamsResponse) ProtoMessage() {} func (x *SetLiquidityParamsResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SetLiquidityParamsResponse.ProtoReflect.Descriptor instead. func (*SetLiquidityParamsResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{39} } type SuggestSwapsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *SuggestSwapsRequest) Reset() { *x = SuggestSwapsRequest{} mi := &file_client_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SuggestSwapsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*SuggestSwapsRequest) ProtoMessage() {} func (x *SuggestSwapsRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SuggestSwapsRequest.ProtoReflect.Descriptor instead. func (*SuggestSwapsRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{40} } type Disqualified struct { state protoimpl.MessageState `protogen:"open.v1"` // The short channel ID of the channel that was excluded from our suggestions. ChannelId uint64 `protobuf:"varint,1,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` // The public key of the peer that was excluded from our suggestions. Pubkey []byte `protobuf:"bytes,3,opt,name=pubkey,proto3" json:"pubkey,omitempty"` // The reason that we excluded the channel from the our suggestions. Reason AutoReason `protobuf:"varint,2,opt,name=reason,proto3,enum=looprpc.AutoReason" json:"reason,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Disqualified) Reset() { *x = Disqualified{} mi := &file_client_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Disqualified) String() string { return protoimpl.X.MessageStringOf(x) } func (*Disqualified) ProtoMessage() {} func (x *Disqualified) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Disqualified.ProtoReflect.Descriptor instead. func (*Disqualified) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{41} } func (x *Disqualified) GetChannelId() uint64 { if x != nil { return x.ChannelId } return 0 } func (x *Disqualified) GetPubkey() []byte { if x != nil { return x.Pubkey } return nil } func (x *Disqualified) GetReason() AutoReason { if x != nil { return x.Reason } return AutoReason_AUTO_REASON_UNKNOWN } type SuggestSwapsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The set of recommended loop outs. LoopOut []*LoopOutRequest `protobuf:"bytes,1,rep,name=loop_out,json=loopOut,proto3" json:"loop_out,omitempty"` // The set of recommended loop in swaps LoopIn []*LoopInRequest `protobuf:"bytes,3,rep,name=loop_in,json=loopIn,proto3" json:"loop_in,omitempty"` // 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 } func (x *SuggestSwapsResponse) Reset() { *x = SuggestSwapsResponse{} mi := &file_client_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *SuggestSwapsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*SuggestSwapsResponse) ProtoMessage() {} func (x *SuggestSwapsResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use SuggestSwapsResponse.ProtoReflect.Descriptor instead. func (*SuggestSwapsResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{42} } func (x *SuggestSwapsResponse) GetLoopOut() []*LoopOutRequest { if x != nil { return x.LoopOut } return nil } func (x *SuggestSwapsResponse) GetLoopIn() []*LoopInRequest { if x != nil { return x.LoopIn } return nil } func (x *SuggestSwapsResponse) 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} } type ListReservationsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListReservationsRequest) Reset() { *x = ListReservationsRequest{} mi := &file_client_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListReservationsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListReservationsRequest) ProtoMessage() {} func (x *ListReservationsRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListReservationsRequest.ProtoReflect.Descriptor instead. func (*ListReservationsRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{45} } type ListReservationsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The list of all currently known reservations and their status. Reservations []*ClientReservation `protobuf:"bytes,1,rep,name=reservations,proto3" json:"reservations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListReservationsResponse) Reset() { *x = ListReservationsResponse{} mi := &file_client_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListReservationsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListReservationsResponse) ProtoMessage() {} func (x *ListReservationsResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListReservationsResponse.ProtoReflect.Descriptor instead. func (*ListReservationsResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{46} } func (x *ListReservationsResponse) GetReservations() []*ClientReservation { if x != nil { return x.Reservations } return nil } type ClientReservation struct { state protoimpl.MessageState `protogen:"open.v1"` // The reservation id that identifies this reservation. ReservationId []byte `protobuf:"bytes,1,opt,name=reservation_id,json=reservationId,proto3" json:"reservation_id,omitempty"` // The state the reservation is in. State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` // The amount that the reservation is for. Amount uint64 `protobuf:"varint,3,opt,name=amount,proto3" json:"amount,omitempty"` // The transaction id of the reservation. TxId string `protobuf:"bytes,4,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` // The vout of the reservation. Vout uint32 `protobuf:"varint,5,opt,name=vout,proto3" json:"vout,omitempty"` // The expiry of the reservation. Expiry uint32 `protobuf:"varint,6,opt,name=expiry,proto3" json:"expiry,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ClientReservation) Reset() { *x = ClientReservation{} mi := &file_client_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ClientReservation) String() string { return protoimpl.X.MessageStringOf(x) } func (*ClientReservation) ProtoMessage() {} func (x *ClientReservation) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ClientReservation.ProtoReflect.Descriptor instead. func (*ClientReservation) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{47} } func (x *ClientReservation) GetReservationId() []byte { if x != nil { return x.ReservationId } return nil } func (x *ClientReservation) GetState() string { if x != nil { return x.State } return "" } func (x *ClientReservation) GetAmount() uint64 { if x != nil { return x.Amount } return 0 } func (x *ClientReservation) GetTxId() string { if x != nil { return x.TxId } return "" } func (x *ClientReservation) GetVout() uint32 { if x != nil { return x.Vout } return 0 } func (x *ClientReservation) GetExpiry() uint32 { if x != nil { return x.Expiry } return 0 } type InstantOutRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The reservations to use for the swap. ReservationIds [][]byte `protobuf:"bytes,1,rep,name=reservation_ids,json=reservationIds,proto3" json:"reservation_ids,omitempty"` // A restriction on the channel set that may be used to loop out. The actual // channel(s) that will be used are selected based on the lowest routing fee // for the swap payment to the server. OutgoingChanSet []uint64 `protobuf:"varint,2,rep,packed,name=outgoing_chan_set,json=outgoingChanSet,proto3" json:"outgoing_chan_set,omitempty"` // An optional address to sweep the onchain funds to. If not set, the funds // will be swept to the wallet's internal address. DestAddr string `protobuf:"bytes,3,opt,name=dest_addr,json=destAddr,proto3" json:"dest_addr,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *InstantOutRequest) Reset() { *x = InstantOutRequest{} mi := &file_client_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *InstantOutRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*InstantOutRequest) ProtoMessage() {} func (x *InstantOutRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InstantOutRequest.ProtoReflect.Descriptor instead. func (*InstantOutRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{48} } func (x *InstantOutRequest) GetReservationIds() [][]byte { if x != nil { return x.ReservationIds } return nil } func (x *InstantOutRequest) GetOutgoingChanSet() []uint64 { if x != nil { return x.OutgoingChanSet } return nil } func (x *InstantOutRequest) GetDestAddr() string { if x != nil { return x.DestAddr } return "" } type InstantOutResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The hash of the swap preimage. InstantOutHash []byte `protobuf:"bytes,1,opt,name=instant_out_hash,json=instantOutHash,proto3" json:"instant_out_hash,omitempty"` // The transaction id of the sweep transaction. SweepTxId string `protobuf:"bytes,2,opt,name=sweep_tx_id,json=sweepTxId,proto3" json:"sweep_tx_id,omitempty"` // The state of the swap. State string `protobuf:"bytes,3,opt,name=state,proto3" json:"state,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *InstantOutResponse) Reset() { *x = InstantOutResponse{} mi := &file_client_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *InstantOutResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*InstantOutResponse) ProtoMessage() {} func (x *InstantOutResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InstantOutResponse.ProtoReflect.Descriptor instead. func (*InstantOutResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{49} } func (x *InstantOutResponse) GetInstantOutHash() []byte { if x != nil { return x.InstantOutHash } return nil } func (x *InstantOutResponse) GetSweepTxId() string { if x != nil { return x.SweepTxId } return "" } func (x *InstantOutResponse) GetState() string { if x != nil { return x.State } return "" } type InstantOutQuoteRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The amount to swap in satoshis. Amt uint64 `protobuf:"varint,1,opt,name=amt,proto3" json:"amt,omitempty"` // Deprecated: use 'reservation_ids' instead. // The amount of reservations to use for the swap. // // Deprecated: Marked as deprecated in client.proto. NumReservations int32 `protobuf:"varint,2,opt,name=num_reservations,json=numReservations,proto3" json:"num_reservations,omitempty"` // The reservations to use for the swap. ReservationIds [][]byte `protobuf:"bytes,3,rep,name=reservation_ids,json=reservationIds,proto3" json:"reservation_ids,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *InstantOutQuoteRequest) Reset() { *x = InstantOutQuoteRequest{} mi := &file_client_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *InstantOutQuoteRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*InstantOutQuoteRequest) ProtoMessage() {} func (x *InstantOutQuoteRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InstantOutQuoteRequest.ProtoReflect.Descriptor instead. func (*InstantOutQuoteRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{50} } func (x *InstantOutQuoteRequest) GetAmt() uint64 { if x != nil { return x.Amt } return 0 } // Deprecated: Marked as deprecated in client.proto. func (x *InstantOutQuoteRequest) GetNumReservations() int32 { if x != nil { return x.NumReservations } return 0 } func (x *InstantOutQuoteRequest) GetReservationIds() [][]byte { if x != nil { return x.ReservationIds } return nil } type InstantOutQuoteResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The fee that the swap service is charging for the swap. ServiceFeeSat int64 `protobuf:"varint,1,opt,name=service_fee_sat,json=serviceFeeSat,proto3" json:"service_fee_sat,omitempty"` // The estimated on-chain fee that needs to be paid to publish the Sweepless // Sweep. SweepFeeSat int64 `protobuf:"varint,2,opt,name=sweep_fee_sat,json=sweepFeeSat,proto3" json:"sweep_fee_sat,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *InstantOutQuoteResponse) Reset() { *x = InstantOutQuoteResponse{} mi := &file_client_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *InstantOutQuoteResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*InstantOutQuoteResponse) ProtoMessage() {} func (x *InstantOutQuoteResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InstantOutQuoteResponse.ProtoReflect.Descriptor instead. func (*InstantOutQuoteResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{51} } func (x *InstantOutQuoteResponse) GetServiceFeeSat() int64 { if x != nil { return x.ServiceFeeSat } return 0 } func (x *InstantOutQuoteResponse) GetSweepFeeSat() int64 { if x != nil { return x.SweepFeeSat } return 0 } type ListInstantOutsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListInstantOutsRequest) Reset() { *x = ListInstantOutsRequest{} mi := &file_client_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListInstantOutsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListInstantOutsRequest) ProtoMessage() {} func (x *ListInstantOutsRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListInstantOutsRequest.ProtoReflect.Descriptor instead. func (*ListInstantOutsRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{52} } type ListInstantOutsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The list of all currently known instant out swaps and their status. Swaps []*InstantOut `protobuf:"bytes,1,rep,name=swaps,proto3" json:"swaps,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListInstantOutsResponse) Reset() { *x = ListInstantOutsResponse{} mi := &file_client_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListInstantOutsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListInstantOutsResponse) ProtoMessage() {} func (x *ListInstantOutsResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListInstantOutsResponse.ProtoReflect.Descriptor instead. func (*ListInstantOutsResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{53} } func (x *ListInstantOutsResponse) GetSwaps() []*InstantOut { if x != nil { return x.Swaps } return nil } type InstantOut struct { state protoimpl.MessageState `protogen:"open.v1"` // The swap hash that identifies this swap. SwapHash []byte `protobuf:"bytes,1,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"` // The state the swap is in. State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` // The amount of the swap. Amount uint64 `protobuf:"varint,3,opt,name=amount,proto3" json:"amount,omitempty"` // The used reservations for the swap. ReservationIds [][]byte `protobuf:"bytes,4,rep,name=reservation_ids,json=reservationIds,proto3" json:"reservation_ids,omitempty"` // The sweep transaction id of the swap. SweepTxId string `protobuf:"bytes,5,opt,name=sweep_tx_id,json=sweepTxId,proto3" json:"sweep_tx_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *InstantOut) Reset() { *x = InstantOut{} mi := &file_client_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *InstantOut) String() string { return protoimpl.X.MessageStringOf(x) } func (*InstantOut) ProtoMessage() {} func (x *InstantOut) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use InstantOut.ProtoReflect.Descriptor instead. func (*InstantOut) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{54} } func (x *InstantOut) GetSwapHash() []byte { if x != nil { return x.SwapHash } return nil } func (x *InstantOut) GetState() string { if x != nil { return x.State } return "" } func (x *InstantOut) GetAmount() uint64 { if x != nil { return x.Amount } return 0 } func (x *InstantOut) GetReservationIds() [][]byte { if x != nil { return x.ReservationIds } return nil } func (x *InstantOut) GetSweepTxId() string { if x != nil { return x.SweepTxId } return "" } type NewStaticAddressRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The client's public key for the 2-of-2 MuSig2 taproot static address. ClientKey []byte `protobuf:"bytes,1,opt,name=client_key,json=clientKey,proto3" json:"client_key,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *NewStaticAddressRequest) Reset() { *x = NewStaticAddressRequest{} mi := &file_client_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *NewStaticAddressRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*NewStaticAddressRequest) ProtoMessage() {} func (x *NewStaticAddressRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NewStaticAddressRequest.ProtoReflect.Descriptor instead. func (*NewStaticAddressRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{55} } func (x *NewStaticAddressRequest) GetClientKey() []byte { if x != nil { return x.ClientKey } return nil } type NewStaticAddressResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The taproot static address. Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` // The CSV expiry of the static address. Expiry uint32 `protobuf:"varint,2,opt,name=expiry,proto3" json:"expiry,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *NewStaticAddressResponse) Reset() { *x = NewStaticAddressResponse{} mi := &file_client_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *NewStaticAddressResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*NewStaticAddressResponse) ProtoMessage() {} func (x *NewStaticAddressResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use NewStaticAddressResponse.ProtoReflect.Descriptor instead. func (*NewStaticAddressResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{56} } func (x *NewStaticAddressResponse) GetAddress() string { if x != nil { return x.Address } return "" } func (x *NewStaticAddressResponse) GetExpiry() uint32 { if x != nil { return x.Expiry } return 0 } type ListUnspentDepositsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The number of minimum confirmations a utxo must have to be listed. MinConfs int32 `protobuf:"varint,1,opt,name=min_confs,json=minConfs,proto3" json:"min_confs,omitempty"` // The number of maximum confirmations a utxo may have to be listed. A zero // value indicates that there is no maximum. MaxConfs int32 `protobuf:"varint,2,opt,name=max_confs,json=maxConfs,proto3" json:"max_confs,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListUnspentDepositsRequest) Reset() { *x = ListUnspentDepositsRequest{} mi := &file_client_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListUnspentDepositsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListUnspentDepositsRequest) ProtoMessage() {} func (x *ListUnspentDepositsRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListUnspentDepositsRequest.ProtoReflect.Descriptor instead. func (*ListUnspentDepositsRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{57} } func (x *ListUnspentDepositsRequest) GetMinConfs() int32 { if x != nil { return x.MinConfs } return 0 } func (x *ListUnspentDepositsRequest) GetMaxConfs() int32 { if x != nil { return x.MaxConfs } return 0 } type ListUnspentDepositsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // A list of utxos behind the static address. Utxos []*Utxo `protobuf:"bytes,1,rep,name=utxos,proto3" json:"utxos,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListUnspentDepositsResponse) Reset() { *x = ListUnspentDepositsResponse{} mi := &file_client_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListUnspentDepositsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListUnspentDepositsResponse) ProtoMessage() {} func (x *ListUnspentDepositsResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListUnspentDepositsResponse.ProtoReflect.Descriptor instead. func (*ListUnspentDepositsResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{58} } func (x *ListUnspentDepositsResponse) GetUtxos() []*Utxo { if x != nil { return x.Utxos } return nil } type Utxo struct { state protoimpl.MessageState `protogen:"open.v1"` // The static address of the utxo. StaticAddress string `protobuf:"bytes,1,opt,name=static_address,json=staticAddress,proto3" json:"static_address,omitempty"` // The value of the unspent coin in satoshis. AmountSat int64 `protobuf:"varint,2,opt,name=amount_sat,json=amountSat,proto3" json:"amount_sat,omitempty"` // The outpoint in the form txid:index. Outpoint string `protobuf:"bytes,3,opt,name=outpoint,proto3" json:"outpoint,omitempty"` // The number of confirmations for the Utxo. Confirmations int64 `protobuf:"varint,4,opt,name=confirmations,proto3" json:"confirmations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Utxo) Reset() { *x = Utxo{} mi := &file_client_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Utxo) String() string { return protoimpl.X.MessageStringOf(x) } func (*Utxo) ProtoMessage() {} func (x *Utxo) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Utxo.ProtoReflect.Descriptor instead. func (*Utxo) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{59} } func (x *Utxo) GetStaticAddress() string { if x != nil { return x.StaticAddress } return "" } func (x *Utxo) GetAmountSat() int64 { if x != nil { return x.AmountSat } return 0 } func (x *Utxo) GetOutpoint() string { if x != nil { return x.Outpoint } return "" } func (x *Utxo) GetConfirmations() int64 { if x != nil { return x.Confirmations } return 0 } type WithdrawDepositsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The outpoints of the deposits to withdraw. Outpoints []*lnrpc.OutPoint `protobuf:"bytes,1,rep,name=outpoints,proto3" json:"outpoints,omitempty"` // If set to true, all deposits will be withdrawn. All bool `protobuf:"varint,2,opt,name=all,proto3" json:"all,omitempty"` // The address to withdraw the funds to. DestAddr string `protobuf:"bytes,3,opt,name=dest_addr,json=destAddr,proto3" json:"dest_addr,omitempty"` // The fee rate in sat/vbyte to use for the withdrawal transaction. SatPerVbyte int64 `protobuf:"varint,4,opt,name=sat_per_vbyte,json=satPerVbyte,proto3" json:"sat_per_vbyte,omitempty"` // The amount in satoshis that should be withdrawn from the selected deposits. // If there is change, it will be sent back to the static address. The fees for // the transaction are taken from the change output. If the change is below // the dust limit, there won't be a change output and the dust goes towards // fees. Amount int64 `protobuf:"varint,5,opt,name=amount,proto3" json:"amount,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *WithdrawDepositsRequest) Reset() { *x = WithdrawDepositsRequest{} mi := &file_client_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *WithdrawDepositsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*WithdrawDepositsRequest) ProtoMessage() {} func (x *WithdrawDepositsRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WithdrawDepositsRequest.ProtoReflect.Descriptor instead. func (*WithdrawDepositsRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{60} } func (x *WithdrawDepositsRequest) GetOutpoints() []*lnrpc.OutPoint { if x != nil { return x.Outpoints } return nil } func (x *WithdrawDepositsRequest) GetAll() bool { if x != nil { return x.All } return false } func (x *WithdrawDepositsRequest) GetDestAddr() string { if x != nil { return x.DestAddr } return "" } func (x *WithdrawDepositsRequest) GetSatPerVbyte() int64 { if x != nil { return x.SatPerVbyte } return 0 } func (x *WithdrawDepositsRequest) GetAmount() int64 { if x != nil { return x.Amount } return 0 } type WithdrawDepositsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The transaction hash of the withdrawal transaction. WithdrawalTxHash string `protobuf:"bytes,1,opt,name=withdrawal_tx_hash,json=withdrawalTxHash,proto3" json:"withdrawal_tx_hash,omitempty"` // The destination address of the withdrawal transaction. Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *WithdrawDepositsResponse) Reset() { *x = WithdrawDepositsResponse{} mi := &file_client_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *WithdrawDepositsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*WithdrawDepositsResponse) ProtoMessage() {} func (x *WithdrawDepositsResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use WithdrawDepositsResponse.ProtoReflect.Descriptor instead. func (*WithdrawDepositsResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{61} } func (x *WithdrawDepositsResponse) GetWithdrawalTxHash() string { if x != nil { return x.WithdrawalTxHash } return "" } func (x *WithdrawDepositsResponse) GetAddress() string { if x != nil { return x.Address } return "" } type ListStaticAddressDepositsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // Filters the list of all stored deposits by deposit state. StateFilter DepositState `protobuf:"varint,1,opt,name=state_filter,json=stateFilter,proto3,enum=looprpc.DepositState" json:"state_filter,omitempty"` // Filters the list of all stored deposits by the outpoint. Outpoints []string `protobuf:"bytes,2,rep,name=outpoints,proto3" json:"outpoints,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListStaticAddressDepositsRequest) Reset() { *x = ListStaticAddressDepositsRequest{} mi := &file_client_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListStaticAddressDepositsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListStaticAddressDepositsRequest) ProtoMessage() {} func (x *ListStaticAddressDepositsRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListStaticAddressDepositsRequest.ProtoReflect.Descriptor instead. func (*ListStaticAddressDepositsRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{62} } func (x *ListStaticAddressDepositsRequest) GetStateFilter() DepositState { if x != nil { return x.StateFilter } return DepositState_UNKNOWN_STATE } func (x *ListStaticAddressDepositsRequest) GetOutpoints() []string { if x != nil { return x.Outpoints } return nil } type ListStaticAddressDepositsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // A list of all deposits that match the filtered state. FilteredDeposits []*Deposit `protobuf:"bytes,1,rep,name=filtered_deposits,json=filteredDeposits,proto3" json:"filtered_deposits,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListStaticAddressDepositsResponse) Reset() { *x = ListStaticAddressDepositsResponse{} mi := &file_client_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListStaticAddressDepositsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListStaticAddressDepositsResponse) ProtoMessage() {} func (x *ListStaticAddressDepositsResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListStaticAddressDepositsResponse.ProtoReflect.Descriptor instead. func (*ListStaticAddressDepositsResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{63} } func (x *ListStaticAddressDepositsResponse) GetFilteredDeposits() []*Deposit { if x != nil { return x.FilteredDeposits } return nil } type ListStaticAddressWithdrawalRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListStaticAddressWithdrawalRequest) Reset() { *x = ListStaticAddressWithdrawalRequest{} mi := &file_client_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListStaticAddressWithdrawalRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListStaticAddressWithdrawalRequest) ProtoMessage() {} func (x *ListStaticAddressWithdrawalRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListStaticAddressWithdrawalRequest.ProtoReflect.Descriptor instead. func (*ListStaticAddressWithdrawalRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{64} } type ListStaticAddressWithdrawalResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // A list of all static address withdrawals. Withdrawals []*StaticAddressWithdrawal `protobuf:"bytes,1,rep,name=withdrawals,proto3" json:"withdrawals,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListStaticAddressWithdrawalResponse) Reset() { *x = ListStaticAddressWithdrawalResponse{} mi := &file_client_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListStaticAddressWithdrawalResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListStaticAddressWithdrawalResponse) ProtoMessage() {} func (x *ListStaticAddressWithdrawalResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListStaticAddressWithdrawalResponse.ProtoReflect.Descriptor instead. func (*ListStaticAddressWithdrawalResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{65} } func (x *ListStaticAddressWithdrawalResponse) GetWithdrawals() []*StaticAddressWithdrawal { if x != nil { return x.Withdrawals } return nil } type ListStaticAddressSwapsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListStaticAddressSwapsRequest) Reset() { *x = ListStaticAddressSwapsRequest{} mi := &file_client_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListStaticAddressSwapsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListStaticAddressSwapsRequest) ProtoMessage() {} func (x *ListStaticAddressSwapsRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListStaticAddressSwapsRequest.ProtoReflect.Descriptor instead. func (*ListStaticAddressSwapsRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{66} } type ListStaticAddressSwapsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // A list of all swaps known static address loop-in swaps. Swaps []*StaticAddressLoopInSwap `protobuf:"bytes,1,rep,name=swaps,proto3" json:"swaps,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListStaticAddressSwapsResponse) Reset() { *x = ListStaticAddressSwapsResponse{} mi := &file_client_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListStaticAddressSwapsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListStaticAddressSwapsResponse) ProtoMessage() {} func (x *ListStaticAddressSwapsResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListStaticAddressSwapsResponse.ProtoReflect.Descriptor instead. func (*ListStaticAddressSwapsResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{67} } func (x *ListStaticAddressSwapsResponse) GetSwaps() []*StaticAddressLoopInSwap { if x != nil { return x.Swaps } return nil } type StaticAddressSummaryRequest struct { state protoimpl.MessageState `protogen:"open.v1"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *StaticAddressSummaryRequest) Reset() { *x = StaticAddressSummaryRequest{} mi := &file_client_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *StaticAddressSummaryRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StaticAddressSummaryRequest) ProtoMessage() {} func (x *StaticAddressSummaryRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StaticAddressSummaryRequest.ProtoReflect.Descriptor instead. func (*StaticAddressSummaryRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{68} } type StaticAddressSummaryResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The static address of the client. StaticAddress string `protobuf:"bytes,1,opt,name=static_address,json=staticAddress,proto3" json:"static_address,omitempty"` // The CSV expiry of the static address. RelativeExpiryBlocks uint64 `protobuf:"varint,2,opt,name=relative_expiry_blocks,json=relativeExpiryBlocks,proto3" json:"relative_expiry_blocks,omitempty"` // The total number of deposits. TotalNumDeposits uint32 `protobuf:"varint,3,opt,name=total_num_deposits,json=totalNumDeposits,proto3" json:"total_num_deposits,omitempty"` // The total value of unconfirmed deposits. ValueUnconfirmedSatoshis int64 `protobuf:"varint,4,opt,name=value_unconfirmed_satoshis,json=valueUnconfirmedSatoshis,proto3" json:"value_unconfirmed_satoshis,omitempty"` // The total value of confirmed deposits. ValueDepositedSatoshis int64 `protobuf:"varint,5,opt,name=value_deposited_satoshis,json=valueDepositedSatoshis,proto3" json:"value_deposited_satoshis,omitempty"` // The total value of all expired deposits. ValueExpiredSatoshis int64 `protobuf:"varint,6,opt,name=value_expired_satoshis,json=valueExpiredSatoshis,proto3" json:"value_expired_satoshis,omitempty"` // The total value of all deposits that have been withdrawn. ValueWithdrawnSatoshis int64 `protobuf:"varint,7,opt,name=value_withdrawn_satoshis,json=valueWithdrawnSatoshis,proto3" json:"value_withdrawn_satoshis,omitempty"` // The total value of all loop-ins that have been finalized. ValueLoopedInSatoshis int64 `protobuf:"varint,8,opt,name=value_looped_in_satoshis,json=valueLoopedInSatoshis,proto3" json:"value_looped_in_satoshis,omitempty"` // The total value of all htlc timeout sweeps that the client swept. ValueHtlcTimeoutSweepsSatoshis int64 `protobuf:"varint,9,opt,name=value_htlc_timeout_sweeps_satoshis,json=valueHtlcTimeoutSweepsSatoshis,proto3" json:"value_htlc_timeout_sweeps_satoshis,omitempty"` // The total value of all deposits that have been used for channel openings. ValueChannelsOpened int64 `protobuf:"varint,10,opt,name=value_channels_opened,json=valueChannelsOpened,proto3" json:"value_channels_opened,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *StaticAddressSummaryResponse) Reset() { *x = StaticAddressSummaryResponse{} mi := &file_client_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *StaticAddressSummaryResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StaticAddressSummaryResponse) ProtoMessage() {} func (x *StaticAddressSummaryResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[69] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StaticAddressSummaryResponse.ProtoReflect.Descriptor instead. func (*StaticAddressSummaryResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{69} } func (x *StaticAddressSummaryResponse) GetStaticAddress() string { if x != nil { return x.StaticAddress } return "" } func (x *StaticAddressSummaryResponse) GetRelativeExpiryBlocks() uint64 { if x != nil { return x.RelativeExpiryBlocks } return 0 } func (x *StaticAddressSummaryResponse) GetTotalNumDeposits() uint32 { if x != nil { return x.TotalNumDeposits } return 0 } func (x *StaticAddressSummaryResponse) GetValueUnconfirmedSatoshis() int64 { if x != nil { return x.ValueUnconfirmedSatoshis } return 0 } func (x *StaticAddressSummaryResponse) GetValueDepositedSatoshis() int64 { if x != nil { return x.ValueDepositedSatoshis } return 0 } func (x *StaticAddressSummaryResponse) GetValueExpiredSatoshis() int64 { if x != nil { return x.ValueExpiredSatoshis } return 0 } func (x *StaticAddressSummaryResponse) GetValueWithdrawnSatoshis() int64 { if x != nil { return x.ValueWithdrawnSatoshis } return 0 } func (x *StaticAddressSummaryResponse) GetValueLoopedInSatoshis() int64 { if x != nil { return x.ValueLoopedInSatoshis } return 0 } func (x *StaticAddressSummaryResponse) GetValueHtlcTimeoutSweepsSatoshis() int64 { if x != nil { return x.ValueHtlcTimeoutSweepsSatoshis } return 0 } func (x *StaticAddressSummaryResponse) GetValueChannelsOpened() int64 { if x != nil { return x.ValueChannelsOpened } return 0 } type Deposit struct { state protoimpl.MessageState `protogen:"open.v1"` // The identifier of the deposit. Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // The state of the deposit. State DepositState `protobuf:"varint,2,opt,name=state,proto3,enum=looprpc.DepositState" json:"state,omitempty"` // The outpoint of the deposit in format txid:index. Outpoint string `protobuf:"bytes,3,opt,name=outpoint,proto3" json:"outpoint,omitempty"` // The value of the deposit in satoshis. Value int64 `protobuf:"varint,4,opt,name=value,proto3" json:"value,omitempty"` // The block height at which the deposit was confirmed. ConfirmationHeight int64 `protobuf:"varint,5,opt,name=confirmation_height,json=confirmationHeight,proto3" json:"confirmation_height,omitempty"` // The number of blocks that are left until the deposit cannot be used for a // loop-in swap anymore. BlocksUntilExpiry int64 `protobuf:"varint,6,opt,name=blocks_until_expiry,json=blocksUntilExpiry,proto3" json:"blocks_until_expiry,omitempty"` // The swap hash of the swap that this deposit is part of. This field is only // set if the deposit is part of a loop-in swap. SwapHash []byte `protobuf:"bytes,7,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Deposit) Reset() { *x = Deposit{} mi := &file_client_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Deposit) String() string { return protoimpl.X.MessageStringOf(x) } func (*Deposit) ProtoMessage() {} func (x *Deposit) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[70] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Deposit.ProtoReflect.Descriptor instead. func (*Deposit) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{70} } func (x *Deposit) GetId() []byte { if x != nil { return x.Id } return nil } func (x *Deposit) GetState() DepositState { if x != nil { return x.State } return DepositState_UNKNOWN_STATE } func (x *Deposit) GetOutpoint() string { if x != nil { return x.Outpoint } return "" } func (x *Deposit) GetValue() int64 { if x != nil { return x.Value } return 0 } func (x *Deposit) GetConfirmationHeight() int64 { if x != nil { return x.ConfirmationHeight } return 0 } func (x *Deposit) GetBlocksUntilExpiry() int64 { if x != nil { return x.BlocksUntilExpiry } return 0 } func (x *Deposit) GetSwapHash() []byte { if x != nil { return x.SwapHash } return nil } type StaticAddressWithdrawal struct { state protoimpl.MessageState `protogen:"open.v1"` // The transaction id of the withdrawal transaction. TxId string `protobuf:"bytes,1,opt,name=tx_id,json=txId,proto3" json:"tx_id,omitempty"` // The selected deposits that is withdrawn from. Deposits []*Deposit `protobuf:"bytes,2,rep,name=deposits,proto3" json:"deposits,omitempty"` // The sum of the deposit values that was selected for withdrawal. TotalDepositAmountSatoshis int64 `protobuf:"varint,3,opt,name=total_deposit_amount_satoshis,json=totalDepositAmountSatoshis,proto3" json:"total_deposit_amount_satoshis,omitempty"` // The actual amount that was withdrawn from the selected deposits. This value // represents the sum of selected deposit values minus tx fees minus optional // change output. WithdrawnAmountSatoshis int64 `protobuf:"varint,4,opt,name=withdrawn_amount_satoshis,json=withdrawnAmountSatoshis,proto3" json:"withdrawn_amount_satoshis,omitempty"` // An optional change. ChangeAmountSatoshis int64 `protobuf:"varint,5,opt,name=change_amount_satoshis,json=changeAmountSatoshis,proto3" json:"change_amount_satoshis,omitempty"` // The confirmation block height of the withdrawal transaction. ConfirmationHeight uint32 `protobuf:"varint,6,opt,name=confirmation_height,json=confirmationHeight,proto3" json:"confirmation_height,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *StaticAddressWithdrawal) Reset() { *x = StaticAddressWithdrawal{} mi := &file_client_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *StaticAddressWithdrawal) String() string { return protoimpl.X.MessageStringOf(x) } func (*StaticAddressWithdrawal) ProtoMessage() {} func (x *StaticAddressWithdrawal) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[71] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StaticAddressWithdrawal.ProtoReflect.Descriptor instead. func (*StaticAddressWithdrawal) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{71} } func (x *StaticAddressWithdrawal) GetTxId() string { if x != nil { return x.TxId } return "" } func (x *StaticAddressWithdrawal) GetDeposits() []*Deposit { if x != nil { return x.Deposits } return nil } func (x *StaticAddressWithdrawal) GetTotalDepositAmountSatoshis() int64 { if x != nil { return x.TotalDepositAmountSatoshis } return 0 } func (x *StaticAddressWithdrawal) GetWithdrawnAmountSatoshis() int64 { if x != nil { return x.WithdrawnAmountSatoshis } return 0 } func (x *StaticAddressWithdrawal) GetChangeAmountSatoshis() int64 { if x != nil { return x.ChangeAmountSatoshis } return 0 } func (x *StaticAddressWithdrawal) GetConfirmationHeight() uint32 { if x != nil { return x.ConfirmationHeight } return 0 } type StaticAddressLoopInSwap struct { state protoimpl.MessageState `protogen:"open.v1"` // The swap hash of the swap. It represents the unique identifier of the swap. SwapHash []byte `protobuf:"bytes,1,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"` DepositOutpoints []string `protobuf:"bytes,2,rep,name=deposit_outpoints,json=depositOutpoints,proto3" json:"deposit_outpoints,omitempty"` State StaticAddressLoopInSwapState `protobuf:"varint,3,opt,name=state,proto3,enum=looprpc.StaticAddressLoopInSwapState" json:"state,omitempty"` // The swap amount of the swap. It is the sum of the values of the deposit // outpoints that were used for this swap. SwapAmountSatoshis int64 `protobuf:"varint,4,opt,name=swap_amount_satoshis,json=swapAmountSatoshis,proto3" json:"swap_amount_satoshis,omitempty"` // The invoiced swap amount. It is the swap amount minus the quoted server // fees. PaymentRequestAmountSatoshis int64 `protobuf:"varint,5,opt,name=payment_request_amount_satoshis,json=paymentRequestAmountSatoshis,proto3" json:"payment_request_amount_satoshis,omitempty"` // The deposits that were used for this swap. Deposits []*Deposit `protobuf:"bytes,6,rep,name=deposits,proto3" json:"deposits,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *StaticAddressLoopInSwap) Reset() { *x = StaticAddressLoopInSwap{} mi := &file_client_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *StaticAddressLoopInSwap) String() string { return protoimpl.X.MessageStringOf(x) } func (*StaticAddressLoopInSwap) ProtoMessage() {} func (x *StaticAddressLoopInSwap) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[72] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StaticAddressLoopInSwap.ProtoReflect.Descriptor instead. func (*StaticAddressLoopInSwap) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{72} } func (x *StaticAddressLoopInSwap) GetSwapHash() []byte { if x != nil { return x.SwapHash } return nil } func (x *StaticAddressLoopInSwap) GetDepositOutpoints() []string { if x != nil { return x.DepositOutpoints } return nil } func (x *StaticAddressLoopInSwap) GetState() StaticAddressLoopInSwapState { if x != nil { return x.State } return StaticAddressLoopInSwapState_UNKNOWN_STATIC_ADDRESS_SWAP_STATE } func (x *StaticAddressLoopInSwap) GetSwapAmountSatoshis() int64 { if x != nil { return x.SwapAmountSatoshis } return 0 } func (x *StaticAddressLoopInSwap) GetPaymentRequestAmountSatoshis() int64 { if x != nil { return x.PaymentRequestAmountSatoshis } return 0 } func (x *StaticAddressLoopInSwap) GetDeposits() []*Deposit { if x != nil { return x.Deposits } return nil } type StaticAddressLoopInRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The outpoints of the deposits to loop-in. Outpoints []string `protobuf:"bytes,1,rep,name=outpoints,proto3" json:"outpoints,omitempty"` // Maximum satoshis we are willing to pay the server for the swap. This value // is not disclosed in the swap initiation call, but if the server asks for a // higher fee, we abort the swap. Typically this value is taken from the // response of the GetQuote call. MaxSwapFeeSatoshis int64 `protobuf:"varint,2,opt,name=max_swap_fee_satoshis,json=maxSwapFeeSatoshis,proto3" json:"max_swap_fee_satoshis,omitempty"` // Optionally the client can specify the last hop pubkey when requesting a // loop-in quote. This is useful to get better off-chain routing fee from the // server. LastHop []byte `protobuf:"bytes,3,opt,name=last_hop,json=lastHop,proto3" json:"last_hop,omitempty"` // An optional label for this swap. This field is limited to 500 characters and // may not be one of the reserved values in loop/labels Reserved list. Label string `protobuf:"bytes,4,opt,name=label,proto3" json:"label,omitempty"` // An optional identification string that will be appended to the user agent // string sent to the server to give information about the usage of loop. This // initiator part is meant for user interfaces to add their name to give the // full picture of the binary used (loopd, LiT) and the method used for // triggering the swap (loop CLI, autolooper, LiT UI, other 3rd party UI). Initiator string `protobuf:"bytes,5,opt,name=initiator,proto3" json:"initiator,omitempty"` // Optional route hints to reach the destination through private channels. RouteHints []*swapserverrpc.RouteHint `protobuf:"bytes,6,rep,name=route_hints,json=routeHints,proto3" json:"route_hints,omitempty"` // Private indicates whether the destination node should be considered private. // In which case, loop will generate hop hints to assist with probing and // payment. Private bool `protobuf:"varint,7,opt,name=private,proto3" json:"private,omitempty"` // The swap payment timeout allows the user to specify an upper limit for the // amount of time the server is allowed to take to fulfill the off-chain swap // payment. If the timeout is reached the swap will be aborted on the server // side and the client can retry the swap with different parameters. PaymentTimeoutSeconds uint32 `protobuf:"varint,8,opt,name=payment_timeout_seconds,json=paymentTimeoutSeconds,proto3" json:"payment_timeout_seconds,omitempty"` // The optional swap amount the client is attempting to swap. It can be // provided in combination with the outpoints or separately. If provided with // outpoints the client takes out this amount from the sum of provided // outpoints and sends the change back to the static address. If the amount is // provided without outpoints, the client will select deposits automatically. // The coin selection strategy is simplified by sorting all available deposits // in descending order by amount, and equal amounts in ascending order of // blocks until expiry, and then selecting the largest deposits first until the // amount is reached. The change will be sent back to the static address. If a // subset of outpoints suffice to cover the specified amount the swap will be // canceled to allow the user to safe on transaction fees. Amount int64 `protobuf:"varint,9,opt,name=amount,proto3" json:"amount,omitempty"` // If set, request the server to use fast publication behavior. Fast bool `protobuf:"varint,10,opt,name=fast,proto3" json:"fast,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *StaticAddressLoopInRequest) Reset() { *x = StaticAddressLoopInRequest{} mi := &file_client_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *StaticAddressLoopInRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*StaticAddressLoopInRequest) ProtoMessage() {} func (x *StaticAddressLoopInRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[73] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StaticAddressLoopInRequest.ProtoReflect.Descriptor instead. func (*StaticAddressLoopInRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{73} } func (x *StaticAddressLoopInRequest) GetOutpoints() []string { if x != nil { return x.Outpoints } return nil } func (x *StaticAddressLoopInRequest) GetMaxSwapFeeSatoshis() int64 { if x != nil { return x.MaxSwapFeeSatoshis } return 0 } func (x *StaticAddressLoopInRequest) GetLastHop() []byte { if x != nil { return x.LastHop } return nil } func (x *StaticAddressLoopInRequest) GetLabel() string { if x != nil { return x.Label } return "" } func (x *StaticAddressLoopInRequest) GetInitiator() string { if x != nil { return x.Initiator } return "" } func (x *StaticAddressLoopInRequest) GetRouteHints() []*swapserverrpc.RouteHint { if x != nil { return x.RouteHints } return nil } func (x *StaticAddressLoopInRequest) GetPrivate() bool { if x != nil { return x.Private } return false } func (x *StaticAddressLoopInRequest) GetPaymentTimeoutSeconds() uint32 { if x != nil { return x.PaymentTimeoutSeconds } return 0 } func (x *StaticAddressLoopInRequest) GetAmount() int64 { if x != nil { return x.Amount } return 0 } func (x *StaticAddressLoopInRequest) GetFast() bool { if x != nil { return x.Fast } return false } type StaticAddressLoopInResponse struct { state protoimpl.MessageState `protogen:"open.v1"` // The swap hash that identifies this swap. SwapHash []byte `protobuf:"bytes,1,opt,name=swap_hash,json=swapHash,proto3" json:"swap_hash,omitempty"` // The state the swap is in. State string `protobuf:"bytes,2,opt,name=state,proto3" json:"state,omitempty"` // The amount of the swap. Amount uint64 `protobuf:"varint,3,opt,name=amount,proto3" json:"amount,omitempty"` // The htlc cltv expiry height of the swap. HtlcCltv int32 `protobuf:"varint,4,opt,name=htlc_cltv,json=htlcCltv,proto3" json:"htlc_cltv,omitempty"` // The quoted swap fee in satoshis. QuotedSwapFeeSatoshis int64 `protobuf:"varint,5,opt,name=quoted_swap_fee_satoshis,json=quotedSwapFeeSatoshis,proto3" json:"quoted_swap_fee_satoshis,omitempty"` // The maximum total swap fee the client is willing to pay for the swap. MaxSwapFeeSatoshis int64 `protobuf:"varint,6,opt,name=max_swap_fee_satoshis,json=maxSwapFeeSatoshis,proto3" json:"max_swap_fee_satoshis,omitempty"` // The block height at which the swap was initiated. InitiationHeight uint32 `protobuf:"varint,7,opt,name=initiation_height,json=initiationHeight,proto3" json:"initiation_height,omitempty"` // The static address protocol version. ProtocolVersion string `protobuf:"bytes,8,opt,name=protocol_version,json=protocolVersion,proto3" json:"protocol_version,omitempty"` // An optional label for this swap. Label string `protobuf:"bytes,9,opt,name=label,proto3" json:"label,omitempty"` // An optional identification string that will be appended to the user agent // string sent to the server to give information about the usage of loop. This // initiator part is meant for user interfaces to add their name to give the // full picture of the binary used (loopd, LiT) and the method used for // triggering the swap (loop CLI, autolooper, LiT UI, other 3rd party UI). Initiator string `protobuf:"bytes,10,opt,name=initiator,proto3" json:"initiator,omitempty"` // The swap payment timeout allows the user to specify an upper limit for the // amount of time the server is allowed to take to fulfill the off-chain swap // payment. If the timeout is reached the swap will be aborted on the server // side and the client can retry the swap with different parameters. PaymentTimeoutSeconds uint32 `protobuf:"varint,11,opt,name=payment_timeout_seconds,json=paymentTimeoutSeconds,proto3" json:"payment_timeout_seconds,omitempty"` // The deposits that are used for this swap. UsedDeposits []*Deposit `protobuf:"bytes,12,rep,name=used_deposits,json=usedDeposits,proto3" json:"used_deposits,omitempty"` // The amount that is being swapped (may be less than total deposit value if // change is returned). SwapAmount uint64 `protobuf:"varint,13,opt,name=swap_amount,json=swapAmount,proto3" json:"swap_amount,omitempty"` // The change amount that will be returned to the static address. Change int64 `protobuf:"varint,14,opt,name=change,proto3" json:"change,omitempty"` // If set, indicates that the server was requested to use fast publication // behavior. Fast bool `protobuf:"varint,15,opt,name=fast,proto3" json:"fast,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *StaticAddressLoopInResponse) Reset() { *x = StaticAddressLoopInResponse{} mi := &file_client_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *StaticAddressLoopInResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*StaticAddressLoopInResponse) ProtoMessage() {} func (x *StaticAddressLoopInResponse) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[74] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use StaticAddressLoopInResponse.ProtoReflect.Descriptor instead. func (*StaticAddressLoopInResponse) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{74} } func (x *StaticAddressLoopInResponse) GetSwapHash() []byte { if x != nil { return x.SwapHash } return nil } func (x *StaticAddressLoopInResponse) GetState() string { if x != nil { return x.State } return "" } func (x *StaticAddressLoopInResponse) GetAmount() uint64 { if x != nil { return x.Amount } return 0 } func (x *StaticAddressLoopInResponse) GetHtlcCltv() int32 { if x != nil { return x.HtlcCltv } return 0 } func (x *StaticAddressLoopInResponse) GetQuotedSwapFeeSatoshis() int64 { if x != nil { return x.QuotedSwapFeeSatoshis } return 0 } func (x *StaticAddressLoopInResponse) GetMaxSwapFeeSatoshis() int64 { if x != nil { return x.MaxSwapFeeSatoshis } return 0 } func (x *StaticAddressLoopInResponse) GetInitiationHeight() uint32 { if x != nil { return x.InitiationHeight } return 0 } func (x *StaticAddressLoopInResponse) GetProtocolVersion() string { if x != nil { return x.ProtocolVersion } return "" } func (x *StaticAddressLoopInResponse) GetLabel() string { if x != nil { return x.Label } return "" } func (x *StaticAddressLoopInResponse) GetInitiator() string { if x != nil { return x.Initiator } return "" } func (x *StaticAddressLoopInResponse) GetPaymentTimeoutSeconds() uint32 { if x != nil { return x.PaymentTimeoutSeconds } return 0 } func (x *StaticAddressLoopInResponse) GetUsedDeposits() []*Deposit { if x != nil { return x.UsedDeposits } return nil } func (x *StaticAddressLoopInResponse) GetSwapAmount() uint64 { if x != nil { return x.SwapAmount } return 0 } func (x *StaticAddressLoopInResponse) GetChange() int64 { if x != nil { return x.Change } return 0 } func (x *StaticAddressLoopInResponse) GetFast() bool { if x != nil { return x.Fast } return false } type AssetLoopOutRequest struct { state protoimpl.MessageState `protogen:"open.v1"` // The asset id to use to pay for the swap invoice. If set an // asset client is needed to set to be able to pay the invoice. AssetId []byte `protobuf:"bytes,1,opt,name=asset_id,json=assetId,proto3" json:"asset_id,omitempty"` // The node identity public key of the peer to ask for a quote for sending out // the assets and converting them to satoshis. This must be specified if // an asset id is set. AssetEdgeNode []byte `protobuf:"bytes,2,opt,name=asset_edge_node,json=assetEdgeNode,proto3" json:"asset_edge_node,omitempty"` // An optional maximum multiplier for the rfq rate. If not set, the default // will be 1.1. This means if we request a loop out quote for 1 BTC, the off // chain cost will be at most 1.1 BTC. MaxLimitMultiplier float64 `protobuf:"fixed64,3,opt,name=max_limit_multiplier,json=maxLimitMultiplier,proto3" json:"max_limit_multiplier,omitempty"` // An optional expiry unix timestamp for when the rfq quote should expire. Expiry int64 `protobuf:"varint,4,opt,name=expiry,proto3" json:"expiry,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AssetLoopOutRequest) Reset() { *x = AssetLoopOutRequest{} mi := &file_client_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AssetLoopOutRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*AssetLoopOutRequest) ProtoMessage() {} func (x *AssetLoopOutRequest) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[75] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AssetLoopOutRequest.ProtoReflect.Descriptor instead. func (*AssetLoopOutRequest) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{75} } func (x *AssetLoopOutRequest) GetAssetId() []byte { if x != nil { return x.AssetId } return nil } func (x *AssetLoopOutRequest) GetAssetEdgeNode() []byte { if x != nil { return x.AssetEdgeNode } return nil } func (x *AssetLoopOutRequest) GetMaxLimitMultiplier() float64 { if x != nil { return x.MaxLimitMultiplier } return 0 } func (x *AssetLoopOutRequest) GetExpiry() int64 { if x != nil { return x.Expiry } return 0 } type AssetRfqInfo struct { state protoimpl.MessageState `protogen:"open.v1"` // The Prepay RFQ ID to use to pay for the prepay invoice. PrepayRfqId []byte `protobuf:"bytes,1,opt,name=prepay_rfq_id,json=prepayRfqId,proto3" json:"prepay_rfq_id,omitempty"` // The maximum asset amt we'll pay for the prepay payment. This includes the // max limit multiplier that was set in the request. MaxPrepayAssetAmt uint64 `protobuf:"varint,2,opt,name=max_prepay_asset_amt,json=maxPrepayAssetAmt,proto3" json:"max_prepay_asset_amt,omitempty"` // The asset to BTC conversion rate for the prepay invoice. PrepayAssetRate *FixedPoint `protobuf:"bytes,6,opt,name=prepay_asset_rate,json=prepayAssetRate,proto3" json:"prepay_asset_rate,omitempty"` // The Swap RFQ ID to use to pay for the swap invoice. SwapRfqId []byte `protobuf:"bytes,3,opt,name=swap_rfq_id,json=swapRfqId,proto3" json:"swap_rfq_id,omitempty"` // The maximum asset amt we'll pay for the swap payment. This includes the // max limit multiplier that was set in the request. MaxSwapAssetAmt uint64 `protobuf:"varint,4,opt,name=max_swap_asset_amt,json=maxSwapAssetAmt,proto3" json:"max_swap_asset_amt,omitempty"` // The asset to BTC conversion rate for the swap invoice. SwapAssetRate *FixedPoint `protobuf:"bytes,7,opt,name=swap_asset_rate,json=swapAssetRate,proto3" json:"swap_asset_rate,omitempty"` // The name of the asset to swap. AssetName string `protobuf:"bytes,5,opt,name=asset_name,json=assetName,proto3" json:"asset_name,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AssetRfqInfo) Reset() { *x = AssetRfqInfo{} mi := &file_client_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AssetRfqInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*AssetRfqInfo) ProtoMessage() {} func (x *AssetRfqInfo) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[76] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AssetRfqInfo.ProtoReflect.Descriptor instead. func (*AssetRfqInfo) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{76} } func (x *AssetRfqInfo) GetPrepayRfqId() []byte { if x != nil { return x.PrepayRfqId } return nil } func (x *AssetRfqInfo) GetMaxPrepayAssetAmt() uint64 { if x != nil { return x.MaxPrepayAssetAmt } return 0 } func (x *AssetRfqInfo) GetPrepayAssetRate() *FixedPoint { if x != nil { return x.PrepayAssetRate } return nil } func (x *AssetRfqInfo) GetSwapRfqId() []byte { if x != nil { return x.SwapRfqId } return nil } func (x *AssetRfqInfo) GetMaxSwapAssetAmt() uint64 { if x != nil { return x.MaxSwapAssetAmt } return 0 } func (x *AssetRfqInfo) GetSwapAssetRate() *FixedPoint { if x != nil { return x.SwapAssetRate } return nil } func (x *AssetRfqInfo) GetAssetName() string { if x != nil { return x.AssetName } return "" } // FixedPoint is a scaled integer representation of a fractional number. // // This type consists of two integer fields: a coefficient and a scale. // Using this format enables precise and consistent representation of fractional // numbers while avoiding floating-point data types, which are prone to // precision errors. // // The relationship between the fractional representation and its fixed-point // representation is expressed as: // ``` // V = F_c / (10^F_s) // ``` // where: // // * `V` is the fractional value. // // - `F_c` is the coefficient component of the fixed-point representation. It is // the scaled-up fractional value represented as an integer. // // - `F_s` is the scale component. It is an integer specifying how // many decimal places `F_c` should be divided by to obtain the fractional // representation. type FixedPoint struct { state protoimpl.MessageState `protogen:"open.v1"` // The coefficient is the fractional value scaled-up as an integer. This // integer is represented as a string as it may be too large to fit in a // uint64. Coefficient string `protobuf:"bytes,1,opt,name=coefficient,proto3" json:"coefficient,omitempty"` // The scale is the component that determines how many decimal places // the coefficient should be divided by to obtain the fractional value. Scale uint32 `protobuf:"varint,2,opt,name=scale,proto3" json:"scale,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *FixedPoint) Reset() { *x = FixedPoint{} mi := &file_client_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *FixedPoint) String() string { return protoimpl.X.MessageStringOf(x) } func (*FixedPoint) ProtoMessage() {} func (x *FixedPoint) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[77] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use FixedPoint.ProtoReflect.Descriptor instead. func (*FixedPoint) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{77} } func (x *FixedPoint) GetCoefficient() string { if x != nil { return x.Coefficient } return "" } func (x *FixedPoint) GetScale() uint32 { if x != nil { return x.Scale } return 0 } type AssetLoopOutInfo struct { state protoimpl.MessageState `protogen:"open.v1"` // The asset id that was used to pay for the swap invoice. AssetId string `protobuf:"bytes,1,opt,name=asset_id,json=assetId,proto3" json:"asset_id,omitempty"` // The human readable name of the asset. AssetName string `protobuf:"bytes,2,opt,name=asset_name,json=assetName,proto3" json:"asset_name,omitempty"` // The total asset offchain cost of the swap. AssetCostOffchain uint64 `protobuf:"varint,3,opt,name=asset_cost_offchain,json=assetCostOffchain,proto3" json:"asset_cost_offchain,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *AssetLoopOutInfo) Reset() { *x = AssetLoopOutInfo{} mi := &file_client_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *AssetLoopOutInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*AssetLoopOutInfo) ProtoMessage() {} func (x *AssetLoopOutInfo) ProtoReflect() protoreflect.Message { mi := &file_client_proto_msgTypes[78] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use AssetLoopOutInfo.ProtoReflect.Descriptor instead. func (*AssetLoopOutInfo) Descriptor() ([]byte, []int) { return file_client_proto_rawDescGZIP(), []int{78} } func (x *AssetLoopOutInfo) GetAssetId() string { if x != nil { return x.AssetId } return "" } func (x *AssetLoopOutInfo) GetAssetName() string { if x != nil { return x.AssetName } return "" } func (x *AssetLoopOutInfo) GetAssetCostOffchain() uint64 { if x != nil { return x.AssetCostOffchain } return 0 } var File_client_proto protoreflect.FileDescriptor const file_client_proto_rawDesc = "" + "\n" + "\fclient.proto\x12\alooprpc\x1a\x1aswapserverrpc/common.proto\x1a\x15lnrpc/lightning.proto\"g\n" + "\x18StaticOpenChannelRequest\x12K\n" + "\x14open_channel_request\x18\x01 \x01(\v2\x19.lnrpc.OpenChannelRequestR\x12openChannelRequest\"O\n" + "\x19StaticOpenChannelResponse\x122\n" + "\x15channel_open_outpoint\x18\x01 \x01(\tR\x13channelOpenOutpoint\"\x13\n" + "\x11StopDaemonRequest\"\x14\n" + "\x12StopDaemonResponse\"\xff\x06\n" + "\x0eLoopOutRequest\x12\x10\n" + "\x03amt\x18\x01 \x01(\x03R\x03amt\x12\x12\n" + "\x04dest\x18\x02 \x01(\tR\x04dest\x12/\n" + "\x14max_swap_routing_fee\x18\x03 \x01(\x03R\x11maxSwapRoutingFee\x123\n" + "\x16max_prepay_routing_fee\x18\x04 \x01(\x03R\x13maxPrepayRoutingFee\x12 \n" + "\fmax_swap_fee\x18\x05 \x01(\x03R\n" + "maxSwapFee\x12$\n" + "\x0emax_prepay_amt\x18\x06 \x01(\x03R\fmaxPrepayAmt\x12\"\n" + "\rmax_miner_fee\x18\a \x01(\x03R\vmaxMinerFee\x12,\n" + "\x10loop_out_channel\x18\b \x01(\x04B\x02\x18\x01R\x0eloopOutChannel\x12*\n" + "\x11outgoing_chan_set\x18\v \x03(\x04R\x0foutgoingChanSet\x12*\n" + "\x11sweep_conf_target\x18\t \x01(\x05R\x0fsweepConfTarget\x12-\n" + "\x12htlc_confirmations\x18\r \x01(\x05R\x11htlcConfirmations\x12:\n" + "\x19swap_publication_deadline\x18\n" + " \x01(\x04R\x17swapPublicationDeadline\x12\x14\n" + "\x05label\x18\f \x01(\tR\x05label\x12\x1c\n" + "\tinitiator\x18\x0e \x01(\tR\tinitiator\x12\x18\n" + "\aaccount\x18\x0f \x01(\tR\aaccount\x12@\n" + "\x11account_addr_type\x18\x10 \x01(\x0e2\x14.looprpc.AddressTypeR\x0faccountAddrType\x12(\n" + "\x10is_external_addr\x18\x11 \x01(\bR\x0eisExternalAddr\x12'\n" + "\x0freservation_ids\x18\x12 \x03(\fR\x0ereservationIds\x12'\n" + "\x0fpayment_timeout\x18\x13 \x01(\rR\x0epaymentTimeout\x12;\n" + "\n" + "asset_info\x18\x14 \x01(\v2\x1c.looprpc.AssetLoopOutRequestR\tassetInfo\x12;\n" + "\x0easset_rfq_info\x18\x15 \x01(\v2\x15.looprpc.AssetRfqInfoR\fassetRfqInfo\"\xd4\x02\n" + "\rLoopInRequest\x12\x10\n" + "\x03amt\x18\x01 \x01(\x03R\x03amt\x12 \n" + "\fmax_swap_fee\x18\x02 \x01(\x03R\n" + "maxSwapFee\x12\"\n" + "\rmax_miner_fee\x18\x03 \x01(\x03R\vmaxMinerFee\x12\x19\n" + "\blast_hop\x18\x04 \x01(\fR\alastHop\x12#\n" + "\rexternal_htlc\x18\x05 \x01(\bR\fexternalHtlc\x12(\n" + "\x10htlc_conf_target\x18\x06 \x01(\x05R\x0ehtlcConfTarget\x12\x14\n" + "\x05label\x18\a \x01(\tR\x05label\x12\x1c\n" + "\tinitiator\x18\b \x01(\tR\tinitiator\x123\n" + "\vroute_hints\x18\t \x03(\v2\x12.looprpc.RouteHintR\n" + "routeHints\x12\x18\n" + "\aprivate\x18\n" + " \x01(\bR\aprivate\"\xeb\x01\n" + "\fSwapResponse\x12\x12\n" + "\x02id\x18\x01 \x01(\tB\x02\x18\x01R\x02id\x12\x19\n" + "\bid_bytes\x18\x03 \x01(\fR\aidBytes\x12%\n" + "\fhtlc_address\x18\x02 \x01(\tB\x02\x18\x01R\vhtlcAddress\x12,\n" + "\x12htlc_address_p2wsh\x18\x05 \x01(\tR\x10htlcAddressP2wsh\x12*\n" + "\x11htlc_address_p2tr\x18\a \x01(\tR\x0fhtlcAddressP2tr\x12%\n" + "\x0eserver_message\x18\x06 \x01(\tR\rserverMessageJ\x04\b\x04\x10\x05\"\x10\n" + "\x0eMonitorRequest\"\xb1\x05\n" + "\n" + "SwapStatus\x12\x10\n" + "\x03amt\x18\x01 \x01(\x03R\x03amt\x12\x12\n" + "\x02id\x18\x02 \x01(\tB\x02\x18\x01R\x02id\x12\x19\n" + "\bid_bytes\x18\v \x01(\fR\aidBytes\x12%\n" + "\x04type\x18\x03 \x01(\x0e2\x11.looprpc.SwapTypeR\x04type\x12(\n" + "\x05state\x18\x04 \x01(\x0e2\x12.looprpc.SwapStateR\x05state\x12=\n" + "\x0efailure_reason\x18\x0e \x01(\x0e2\x16.looprpc.FailureReasonR\rfailureReason\x12'\n" + "\x0finitiation_time\x18\x05 \x01(\x03R\x0einitiationTime\x12(\n" + "\x10last_update_time\x18\x06 \x01(\x03R\x0elastUpdateTime\x12%\n" + "\fhtlc_address\x18\a \x01(\tB\x02\x18\x01R\vhtlcAddress\x12,\n" + "\x12htlc_address_p2wsh\x18\f \x01(\tR\x10htlcAddressP2wsh\x12*\n" + "\x11htlc_address_p2tr\x18\x12 \x01(\tR\x0fhtlcAddressP2tr\x12\x1f\n" + "\vcost_server\x18\b \x01(\x03R\n" + "costServer\x12!\n" + "\fcost_onchain\x18\t \x01(\x03R\vcostOnchain\x12#\n" + "\rcost_offchain\x18\n" + " \x01(\x03R\fcostOffchain\x12\x19\n" + "\blast_hop\x18\x10 \x01(\fR\alastHop\x12*\n" + "\x11outgoing_chan_set\x18\x11 \x03(\x04R\x0foutgoingChanSet\x12\x14\n" + "\x05label\x18\x0f \x01(\tR\x05label\x128\n" + "\n" + "asset_info\x18\x13 \x01(\v2\x19.looprpc.AssetLoopOutInfoR\tassetInfo\"s\n" + "\x10ListSwapsRequest\x12B\n" + "\x10list_swap_filter\x18\x01 \x01(\v2\x18.looprpc.ListSwapsFilterR\x0elistSwapFilter\x12\x1b\n" + "\tmax_swaps\x18\x02 \x01(\x04R\bmaxSwaps\"\xf1\x02\n" + "\x0fListSwapsFilter\x12D\n" + "\tswap_type\x18\x01 \x01(\x0e2'.looprpc.ListSwapsFilter.SwapTypeFilterR\bswapType\x12!\n" + "\fpending_only\x18\x02 \x01(\bR\vpendingOnly\x12*\n" + "\x11outgoing_chan_set\x18\x03 \x03(\x04R\x0foutgoingChanSet\x12\x14\n" + "\x05label\x18\x04 \x01(\tR\x05label\x12'\n" + "\x10loop_in_last_hop\x18\x05 \x01(\fR\rloopInLastHop\x12&\n" + "\x0fasset_swap_only\x18\x06 \x01(\bR\rassetSwapOnly\x12,\n" + "\x12start_timestamp_ns\x18\a \x01(\x03R\x10startTimestampNs\"4\n" + "\x0eSwapTypeFilter\x12\a\n" + "\x03ANY\x10\x00\x12\f\n" + "\bLOOP_OUT\x10\x01\x12\v\n" + "\aLOOP_IN\x10\x02\"f\n" + "\x11ListSwapsResponse\x12)\n" + "\x05swaps\x18\x01 \x03(\v2\x13.looprpc.SwapStatusR\x05swaps\x12&\n" + "\x0fnext_start_time\x18\x02 \x01(\x03R\rnextStartTime\"\xce\x01\n" + "\x10SweepHtlcRequest\x12!\n" + "\fdest_address\x18\x01 \x01(\tR\vdestAddress\x12\"\n" + "\rsat_per_vbyte\x18\x02 \x01(\rR\vsatPerVbyte\x12\x1a\n" + "\boutpoint\x18\x03 \x01(\tR\boutpoint\x12\x1a\n" + "\bpreimage\x18\x04 \x01(\fR\bpreimage\x12\x18\n" + "\apublish\x18\x05 \x01(\bR\apublish\x12!\n" + "\fhtlc_address\x18\x06 \x01(\tR\vhtlcAddress\"\x86\x02\n" + "\x11SweepHtlcResponse\x12\x19\n" + "\bsweep_tx\x18\x01 \x01(\fR\asweepTx\x12\x19\n" + "\bfee_sats\x18\x02 \x01(\x04R\afeeSats\x12C\n" + "\rnot_requested\x18\x03 \x01(\v2\x1c.looprpc.PublishNotRequestedH\x00R\fnotRequested\x129\n" + "\tpublished\x18\x04 \x01(\v2\x19.looprpc.PublishSucceededH\x00R\tpublished\x120\n" + "\x06failed\x18\x05 \x01(\v2\x16.looprpc.PublishFailedH\x00R\x06failedB\t\n" + "\apublish\"\x15\n" + "\x13PublishNotRequested\"\x12\n" + "\x10PublishSucceeded\"%\n" + "\rPublishFailed\x12\x14\n" + "\x05error\x18\x01 \x01(\tR\x05error\"!\n" + "\x0fSwapInfoRequest\x12\x0e\n" + "\x02id\x18\x01 \x01(\fR\x02id\"\x0e\n" + "\fTermsRequest\"\x7f\n" + "\x0fInTermsResponse\x12&\n" + "\x0fmin_swap_amount\x18\x05 \x01(\x03R\rminSwapAmount\x12&\n" + "\x0fmax_swap_amount\x18\x06 \x01(\x03R\rmaxSwapAmountJ\x04\b\x01\x10\x02J\x04\b\x02\x10\x03J\x04\b\x03\x10\x04J\x04\b\x04\x10\x05J\x04\b\a\x10\b\"\xcc\x01\n" + "\x10OutTermsResponse\x12&\n" + "\x0fmin_swap_amount\x18\x05 \x01(\x03R\rminSwapAmount\x12&\n" + "\x0fmax_swap_amount\x18\x06 \x01(\x03R\rmaxSwapAmount\x12$\n" + "\x0emin_cltv_delta\x18\b \x01(\x05R\fminCltvDelta\x12$\n" + "\x0emax_cltv_delta\x18\t \x01(\x05R\fmaxCltvDeltaJ\x04\b\x01\x10\x02J\x04\b\x02\x10\x03J\x04\b\x03\x10\x04J\x04\b\x04\x10\x05J\x04\b\a\x10\b\"\xd8\x03\n" + "\fQuoteRequest\x12\x10\n" + "\x03amt\x18\x01 \x01(\x03R\x03amt\x12\x1f\n" + "\vconf_target\x18\x02 \x01(\x05R\n" + "confTarget\x12#\n" + "\rexternal_htlc\x18\x03 \x01(\bR\fexternalHtlc\x12:\n" + "\x19swap_publication_deadline\x18\x04 \x01(\x04R\x17swapPublicationDeadline\x12'\n" + "\x10loop_in_last_hop\x18\x05 \x01(\fR\rloopInLastHop\x12A\n" + "\x13loop_in_route_hints\x18\x06 \x03(\v2\x12.looprpc.RouteHintR\x10loopInRouteHints\x12\x18\n" + "\aprivate\x18\a \x01(\bR\aprivate\x12+\n" + "\x11deposit_outpoints\x18\b \x03(\tR\x10depositOutpoints\x12;\n" + "\n" + "asset_info\x18\t \x01(\v2\x1c.looprpc.AssetLoopOutRequestR\tassetInfo\x120\n" + "\x14auto_select_deposits\x18\n" + " \x01(\bR\x12autoSelectDeposits\x12\x12\n" + "\x04fast\x18\v \x01(\bR\x04fast\"\xcf\x01\n" + "\x0fInQuoteResponse\x12 \n" + "\fswap_fee_sat\x18\x01 \x01(\x03R\n" + "swapFeeSat\x12/\n" + "\x14htlc_publish_fee_sat\x18\x03 \x01(\x03R\x11htlcPublishFeeSat\x12\x1d\n" + "\n" + "cltv_delta\x18\x05 \x01(\x05R\tcltvDelta\x12\x1f\n" + "\vconf_target\x18\x06 \x01(\x05R\n" + "confTarget\x12\x1d\n" + "\n" + "quoted_amt\x18\a \x01(\x03R\tquotedAmtJ\x04\b\x02\x10\x03J\x04\b\x04\x10\x05\"\xb0\x02\n" + "\x10OutQuoteResponse\x12 \n" + "\fswap_fee_sat\x18\x01 \x01(\x03R\n" + "swapFeeSat\x12$\n" + "\x0eprepay_amt_sat\x18\x02 \x01(\x03R\fprepayAmtSat\x12+\n" + "\x12htlc_sweep_fee_sat\x18\x03 \x01(\x03R\x0fhtlcSweepFeeSat\x12*\n" + "\x11swap_payment_dest\x18\x04 \x01(\fR\x0fswapPaymentDest\x12\x1d\n" + "\n" + "cltv_delta\x18\x05 \x01(\x05R\tcltvDelta\x12\x1f\n" + "\vconf_target\x18\x06 \x01(\x05R\n" + "confTarget\x12;\n" + "\x0easset_rfq_info\x18\a \x01(\v2\x15.looprpc.AssetRfqInfoR\fassetRfqInfo\"p\n" + "\fProbeRequest\x12\x10\n" + "\x03amt\x18\x01 \x01(\x03R\x03amt\x12\x19\n" + "\blast_hop\x18\x02 \x01(\fR\alastHop\x123\n" + "\vroute_hints\x18\x03 \x03(\v2\x12.looprpc.RouteHintR\n" + "routeHints\"\x0f\n" + "\rProbeResponse\"\x0f\n" + "\rTokensRequest\"<\n" + "\x0eTokensResponse\x12*\n" + "\x06tokens\x18\x01 \x03(\v2\x12.looprpc.L402TokenR\x06tokens\"\x17\n" + "\x15FetchL402TokenRequest\"\x18\n" + "\x16FetchL402TokenResponse\"\xcb\x02\n" + "\tL402Token\x12#\n" + "\rbase_macaroon\x18\x01 \x01(\fR\fbaseMacaroon\x12!\n" + "\fpayment_hash\x18\x02 \x01(\fR\vpaymentHash\x12)\n" + "\x10payment_preimage\x18\x03 \x01(\fR\x0fpaymentPreimage\x12(\n" + "\x10amount_paid_msat\x18\x04 \x01(\x03R\x0eamountPaidMsat\x121\n" + "\x15routing_fee_paid_msat\x18\x05 \x01(\x03R\x12routingFeePaidMsat\x12!\n" + "\ftime_created\x18\x06 \x01(\x03R\vtimeCreated\x12\x18\n" + "\aexpired\x18\a \x01(\bR\aexpired\x12!\n" + "\fstorage_name\x18\b \x01(\tR\vstorageName\x12\x0e\n" + "\x02id\x18\t \x01(\tR\x02id\"\xc8\x01\n" + "\tLoopStats\x12#\n" + "\rpending_count\x18\x01 \x01(\x04R\fpendingCount\x12#\n" + "\rsuccess_count\x18\x02 \x01(\x04R\fsuccessCount\x12\x1d\n" + "\n" + "fail_count\x18\x03 \x01(\x04R\tfailCount\x12&\n" + "\x0fsum_pending_amt\x18\x04 \x01(\x03R\rsumPendingAmt\x12*\n" + "\x11sum_succeeded_amt\x18\x05 \x01(\x03R\x0fsumSucceededAmt\"\x10\n" + "\x0eGetInfoRequest\"\xe1\x02\n" + "\x0fGetInfoResponse\x12\x18\n" + "\aversion\x18\x01 \x01(\tR\aversion\x12\x18\n" + "\anetwork\x18\x02 \x01(\tR\anetwork\x12\x1d\n" + "\n" + "rpc_listen\x18\x03 \x01(\tR\trpcListen\x12\x1f\n" + "\vrest_listen\x18\x04 \x01(\tR\n" + "restListen\x12#\n" + "\rmacaroon_path\x18\x05 \x01(\tR\fmacaroonPath\x12\"\n" + "\rtls_cert_path\x18\x06 \x01(\tR\vtlsCertPath\x128\n" + "\x0eloop_out_stats\x18\a \x01(\v2\x12.looprpc.LoopStatsR\floopOutStats\x126\n" + "\rloop_in_stats\x18\b \x01(\v2\x12.looprpc.LoopStatsR\vloopInStats\x12\x1f\n" + "\vcommit_hash\x18\t \x01(\tR\n" + "commitHash\"\x1b\n" + "\x19GetLiquidityParamsRequest\"\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\"\xc7\x02\n" + "\x17StaticAddressLoopInSwap\x12\x1b\n" + "\tswap_hash\x18\x01 \x01(\fR\bswapHash\x12+\n" + "\x11deposit_outpoints\x18\x02 \x03(\tR\x10depositOutpoints\x12;\n" + "\x05state\x18\x03 \x01(\x0e2%.looprpc.StaticAddressLoopInSwapStateR\x05state\x120\n" + "\x14swap_amount_satoshis\x18\x04 \x01(\x03R\x12swapAmountSatoshis\x12E\n" + "\x1fpayment_request_amount_satoshis\x18\x05 \x01(\x03R\x1cpaymentRequestAmountSatoshis\x12,\n" + "\bdeposits\x18\x06 \x03(\v2\x10.looprpc.DepositR\bdeposits\"\xef\x02\n" + "\x1aStaticAddressLoopInRequest\x12\x1c\n" + "\toutpoints\x18\x01 \x03(\tR\toutpoints\x121\n" + "\x15max_swap_fee_satoshis\x18\x02 \x01(\x03R\x12maxSwapFeeSatoshis\x12\x19\n" + "\blast_hop\x18\x03 \x01(\fR\alastHop\x12\x14\n" + "\x05label\x18\x04 \x01(\tR\x05label\x12\x1c\n" + "\tinitiator\x18\x05 \x01(\tR\tinitiator\x123\n" + "\vroute_hints\x18\x06 \x03(\v2\x12.looprpc.RouteHintR\n" + "routeHints\x12\x18\n" + "\aprivate\x18\a \x01(\bR\aprivate\x126\n" + "\x17payment_timeout_seconds\x18\b \x01(\rR\x15paymentTimeoutSeconds\x12\x16\n" + "\x06amount\x18\t \x01(\x03R\x06amount\x12\x12\n" + "\x04fast\x18\n" + " \x01(\bR\x04fast\"\xb9\x04\n" + "\x1bStaticAddressLoopInResponse\x12\x1b\n" + "\tswap_hash\x18\x01 \x01(\fR\bswapHash\x12\x14\n" + "\x05state\x18\x02 \x01(\tR\x05state\x12\x16\n" + "\x06amount\x18\x03 \x01(\x04R\x06amount\x12\x1b\n" + "\thtlc_cltv\x18\x04 \x01(\x05R\bhtlcCltv\x127\n" + "\x18quoted_swap_fee_satoshis\x18\x05 \x01(\x03R\x15quotedSwapFeeSatoshis\x121\n" + "\x15max_swap_fee_satoshis\x18\x06 \x01(\x03R\x12maxSwapFeeSatoshis\x12+\n" + "\x11initiation_height\x18\a \x01(\rR\x10initiationHeight\x12)\n" + "\x10protocol_version\x18\b \x01(\tR\x0fprotocolVersion\x12\x14\n" + "\x05label\x18\t \x01(\tR\x05label\x12\x1c\n" + "\tinitiator\x18\n" + " \x01(\tR\tinitiator\x126\n" + "\x17payment_timeout_seconds\x18\v \x01(\rR\x15paymentTimeoutSeconds\x125\n" + "\rused_deposits\x18\f \x03(\v2\x10.looprpc.DepositR\fusedDeposits\x12\x1f\n" + "\vswap_amount\x18\r \x01(\x04R\n" + "swapAmount\x12\x16\n" + "\x06change\x18\x0e \x01(\x03R\x06change\x12\x12\n" + "\x04fast\x18\x0f \x01(\bR\x04fast\"\xa2\x01\n" + "\x13AssetLoopOutRequest\x12\x19\n" + "\basset_id\x18\x01 \x01(\fR\aassetId\x12&\n" + "\x0fasset_edge_node\x18\x02 \x01(\fR\rassetEdgeNode\x120\n" + "\x14max_limit_multiplier\x18\x03 \x01(\x01R\x12maxLimitMultiplier\x12\x16\n" + "\x06expiry\x18\x04 \x01(\x03R\x06expiry\"\xcd\x02\n" + "\fAssetRfqInfo\x12\"\n" + "\rprepay_rfq_id\x18\x01 \x01(\fR\vprepayRfqId\x12/\n" + "\x14max_prepay_asset_amt\x18\x02 \x01(\x04R\x11maxPrepayAssetAmt\x12?\n" + "\x11prepay_asset_rate\x18\x06 \x01(\v2\x13.looprpc.FixedPointR\x0fprepayAssetRate\x12\x1e\n" + "\vswap_rfq_id\x18\x03 \x01(\fR\tswapRfqId\x12+\n" + "\x12max_swap_asset_amt\x18\x04 \x01(\x04R\x0fmaxSwapAssetAmt\x12;\n" + "\x0fswap_asset_rate\x18\a \x01(\v2\x13.looprpc.FixedPointR\rswapAssetRate\x12\x1d\n" + "\n" + "asset_name\x18\x05 \x01(\tR\tassetName\"D\n" + "\n" + "FixedPoint\x12 \n" + "\vcoefficient\x18\x01 \x01(\tR\vcoefficient\x12\x14\n" + "\x05scale\x18\x02 \x01(\rR\x05scale\"|\n" + "\x10AssetLoopOutInfo\x12\x19\n" + "\basset_id\x18\x01 \x01(\tR\aassetId\x12\x1d\n" + "\n" + "asset_name\x18\x02 \x01(\tR\tassetName\x12.\n" + "\x13asset_cost_offchain\x18\x03 \x01(\x04R\x11assetCostOffchain*;\n" + "\vAddressType\x12\x18\n" + "\x14ADDRESS_TYPE_UNKNOWN\x10\x00\x12\x12\n" + "\x0eTAPROOT_PUBKEY\x10\x01*%\n" + "\bSwapType\x12\f\n" + "\bLOOP_OUT\x10\x00\x12\v\n" + "\aLOOP_IN\x10\x01*s\n" + "\tSwapState\x12\r\n" + "\tINITIATED\x10\x00\x12\x15\n" + "\x11PREIMAGE_REVEALED\x10\x01\x12\x12\n" + "\x0eHTLC_PUBLISHED\x10\x02\x12\v\n" + "\aSUCCESS\x10\x03\x12\n" + "\n" + "\x06FAILED\x10\x04\x12\x13\n" + "\x0fINVOICE_SETTLED\x10\x05*\xeb\x02\n" + "\rFailureReason\x12\x17\n" + "\x13FAILURE_REASON_NONE\x10\x00\x12\x1b\n" + "\x17FAILURE_REASON_OFFCHAIN\x10\x01\x12\x1a\n" + "\x16FAILURE_REASON_TIMEOUT\x10\x02\x12 \n" + "\x1cFAILURE_REASON_SWEEP_TIMEOUT\x10\x03\x12%\n" + "!FAILURE_REASON_INSUFFICIENT_VALUE\x10\x04\x12\x1c\n" + "\x18FAILURE_REASON_TEMPORARY\x10\x05\x12#\n" + "\x1fFAILURE_REASON_INCORRECT_AMOUNT\x10\x06\x12\x1c\n" + "\x18FAILURE_REASON_ABANDONED\x10\a\x121\n" + "-FAILURE_REASON_INSUFFICIENT_CONFIRMED_BALANCE\x10\b\x12+\n" + "'FAILURE_REASON_INCORRECT_HTLC_AMT_SWEPT\x10\t*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" + "\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 3, // 7: looprpc.SwapStatus.failure_reason:type_name -> looprpc.FailureReason 88, // 8: looprpc.SwapStatus.asset_info:type_name -> looprpc.AssetLoopOutInfo 20, // 9: looprpc.ListSwapsRequest.list_swap_filter:type_name -> looprpc.ListSwapsFilter 9, // 10: looprpc.ListSwapsFilter.swap_type:type_name -> looprpc.ListSwapsFilter.SwapTypeFilter 18, // 11: looprpc.ListSwapsResponse.swaps:type_name -> looprpc.SwapStatus 24, // 12: looprpc.SweepHtlcResponse.not_requested:type_name -> looprpc.PublishNotRequested 25, // 13: looprpc.SweepHtlcResponse.published:type_name -> looprpc.PublishSucceeded 26, // 14: looprpc.SweepHtlcResponse.failed:type_name -> looprpc.PublishFailed 91, // 15: looprpc.QuoteRequest.loop_in_route_hints:type_name -> looprpc.RouteHint 85, // 16: looprpc.QuoteRequest.asset_info:type_name -> looprpc.AssetLoopOutRequest 86, // 17: looprpc.OutQuoteResponse.asset_rfq_info:type_name -> looprpc.AssetRfqInfo 91, // 18: looprpc.ProbeRequest.route_hints:type_name -> looprpc.RouteHint 40, // 19: looprpc.TokensResponse.tokens:type_name -> looprpc.L402Token 41, // 20: looprpc.GetInfoResponse.loop_out_stats:type_name -> looprpc.LoopStats 41, // 21: looprpc.GetInfoResponse.loop_in_stats:type_name -> looprpc.LoopStats 47, // 22: looprpc.LiquidityParameters.rules:type_name -> looprpc.LiquidityRule 0, // 23: looprpc.LiquidityParameters.account_addr_type:type_name -> looprpc.AddressType 89, // 24: looprpc.LiquidityParameters.easy_asset_params:type_name -> looprpc.LiquidityParameters.EasyAssetParamsEntry 4, // 25: looprpc.LiquidityParameters.loop_in_source:type_name -> looprpc.LoopInSource 1, // 26: looprpc.LiquidityRule.swap_type:type_name -> looprpc.SwapType 5, // 27: looprpc.LiquidityRule.type:type_name -> looprpc.LiquidityRuleType 45, // 28: looprpc.SetLiquidityParamsRequest.parameters:type_name -> looprpc.LiquidityParameters 6, // 29: looprpc.Disqualified.reason:type_name -> looprpc.AutoReason 14, // 30: looprpc.SuggestSwapsResponse.loop_out:type_name -> looprpc.LoopOutRequest 15, // 31: looprpc.SuggestSwapsResponse.loop_in:type_name -> looprpc.LoopInRequest 83, // 32: looprpc.SuggestSwapsResponse.static_loop_in:type_name -> looprpc.StaticAddressLoopInRequest 51, // 33: looprpc.SuggestSwapsResponse.disqualified:type_name -> looprpc.Disqualified 57, // 34: looprpc.ListReservationsResponse.reservations:type_name -> looprpc.ClientReservation 64, // 35: looprpc.ListInstantOutsResponse.swaps:type_name -> looprpc.InstantOut 69, // 36: looprpc.ListUnspentDepositsResponse.utxos:type_name -> looprpc.Utxo 92, // 37: looprpc.WithdrawDepositsRequest.outpoints:type_name -> lnrpc.OutPoint 7, // 38: looprpc.ListStaticAddressDepositsRequest.state_filter:type_name -> looprpc.DepositState 80, // 39: looprpc.ListStaticAddressDepositsResponse.filtered_deposits:type_name -> looprpc.Deposit 81, // 40: looprpc.ListStaticAddressWithdrawalResponse.withdrawals:type_name -> looprpc.StaticAddressWithdrawal 82, // 41: looprpc.ListStaticAddressSwapsResponse.swaps:type_name -> looprpc.StaticAddressLoopInSwap 7, // 42: looprpc.Deposit.state:type_name -> looprpc.DepositState 80, // 43: looprpc.StaticAddressWithdrawal.deposits:type_name -> looprpc.Deposit 8, // 44: looprpc.StaticAddressLoopInSwap.state:type_name -> looprpc.StaticAddressLoopInSwapState 80, // 45: looprpc.StaticAddressLoopInSwap.deposits:type_name -> looprpc.Deposit 91, // 46: looprpc.StaticAddressLoopInRequest.route_hints:type_name -> looprpc.RouteHint 80, // 47: looprpc.StaticAddressLoopInResponse.used_deposits:type_name -> looprpc.Deposit 87, // 48: looprpc.AssetRfqInfo.prepay_asset_rate:type_name -> looprpc.FixedPoint 87, // 49: looprpc.AssetRfqInfo.swap_asset_rate:type_name -> looprpc.FixedPoint 46, // 50: looprpc.LiquidityParameters.EasyAssetParamsEntry.value:type_name -> looprpc.EasyAssetAutoloopParams 14, // 51: looprpc.SwapClient.LoopOut:input_type -> looprpc.LoopOutRequest 15, // 52: looprpc.SwapClient.LoopIn:input_type -> looprpc.LoopInRequest 17, // 53: looprpc.SwapClient.Monitor:input_type -> looprpc.MonitorRequest 19, // 54: looprpc.SwapClient.ListSwaps:input_type -> looprpc.ListSwapsRequest 22, // 55: looprpc.SwapClient.SweepHtlc:input_type -> looprpc.SweepHtlcRequest 27, // 56: looprpc.SwapClient.SwapInfo:input_type -> looprpc.SwapInfoRequest 53, // 57: looprpc.SwapClient.AbandonSwap:input_type -> looprpc.AbandonSwapRequest 28, // 58: looprpc.SwapClient.LoopOutTerms:input_type -> looprpc.TermsRequest 31, // 59: looprpc.SwapClient.LoopOutQuote:input_type -> looprpc.QuoteRequest 28, // 60: looprpc.SwapClient.GetLoopInTerms:input_type -> looprpc.TermsRequest 31, // 61: looprpc.SwapClient.GetLoopInQuote:input_type -> looprpc.QuoteRequest 34, // 62: looprpc.SwapClient.Probe:input_type -> looprpc.ProbeRequest 36, // 63: looprpc.SwapClient.GetL402Tokens:input_type -> looprpc.TokensRequest 36, // 64: looprpc.SwapClient.GetLsatTokens:input_type -> looprpc.TokensRequest 38, // 65: looprpc.SwapClient.FetchL402Token:input_type -> looprpc.FetchL402TokenRequest 42, // 66: looprpc.SwapClient.GetInfo:input_type -> looprpc.GetInfoRequest 12, // 67: looprpc.SwapClient.StopDaemon:input_type -> looprpc.StopDaemonRequest 44, // 68: looprpc.SwapClient.GetLiquidityParams:input_type -> looprpc.GetLiquidityParamsRequest 48, // 69: looprpc.SwapClient.SetLiquidityParams:input_type -> looprpc.SetLiquidityParamsRequest 50, // 70: looprpc.SwapClient.SuggestSwaps:input_type -> looprpc.SuggestSwapsRequest 55, // 71: looprpc.SwapClient.ListReservations:input_type -> looprpc.ListReservationsRequest 58, // 72: looprpc.SwapClient.InstantOut:input_type -> looprpc.InstantOutRequest 60, // 73: looprpc.SwapClient.InstantOutQuote:input_type -> looprpc.InstantOutQuoteRequest 62, // 74: looprpc.SwapClient.ListInstantOuts:input_type -> looprpc.ListInstantOutsRequest 65, // 75: looprpc.SwapClient.NewStaticAddress:input_type -> looprpc.NewStaticAddressRequest 67, // 76: looprpc.SwapClient.ListUnspentDeposits:input_type -> looprpc.ListUnspentDepositsRequest 70, // 77: looprpc.SwapClient.WithdrawDeposits:input_type -> looprpc.WithdrawDepositsRequest 72, // 78: looprpc.SwapClient.ListStaticAddressDeposits:input_type -> looprpc.ListStaticAddressDepositsRequest 74, // 79: looprpc.SwapClient.ListStaticAddressWithdrawals:input_type -> looprpc.ListStaticAddressWithdrawalRequest 76, // 80: looprpc.SwapClient.ListStaticAddressSwaps:input_type -> looprpc.ListStaticAddressSwapsRequest 78, // 81: looprpc.SwapClient.GetStaticAddressSummary:input_type -> looprpc.StaticAddressSummaryRequest 83, // 82: looprpc.SwapClient.StaticAddressLoopIn:input_type -> looprpc.StaticAddressLoopInRequest 10, // 83: looprpc.SwapClient.StaticOpenChannel:input_type -> looprpc.StaticOpenChannelRequest 16, // 84: looprpc.SwapClient.LoopOut:output_type -> looprpc.SwapResponse 16, // 85: looprpc.SwapClient.LoopIn:output_type -> looprpc.SwapResponse 18, // 86: looprpc.SwapClient.Monitor:output_type -> looprpc.SwapStatus 21, // 87: looprpc.SwapClient.ListSwaps:output_type -> looprpc.ListSwapsResponse 23, // 88: looprpc.SwapClient.SweepHtlc:output_type -> looprpc.SweepHtlcResponse 18, // 89: looprpc.SwapClient.SwapInfo:output_type -> looprpc.SwapStatus 54, // 90: looprpc.SwapClient.AbandonSwap:output_type -> looprpc.AbandonSwapResponse 30, // 91: looprpc.SwapClient.LoopOutTerms:output_type -> looprpc.OutTermsResponse 33, // 92: looprpc.SwapClient.LoopOutQuote:output_type -> looprpc.OutQuoteResponse 29, // 93: looprpc.SwapClient.GetLoopInTerms:output_type -> looprpc.InTermsResponse 32, // 94: looprpc.SwapClient.GetLoopInQuote:output_type -> looprpc.InQuoteResponse 35, // 95: looprpc.SwapClient.Probe:output_type -> looprpc.ProbeResponse 37, // 96: looprpc.SwapClient.GetL402Tokens:output_type -> looprpc.TokensResponse 37, // 97: looprpc.SwapClient.GetLsatTokens:output_type -> looprpc.TokensResponse 39, // 98: looprpc.SwapClient.FetchL402Token:output_type -> looprpc.FetchL402TokenResponse 43, // 99: looprpc.SwapClient.GetInfo:output_type -> looprpc.GetInfoResponse 13, // 100: looprpc.SwapClient.StopDaemon:output_type -> looprpc.StopDaemonResponse 45, // 101: looprpc.SwapClient.GetLiquidityParams:output_type -> looprpc.LiquidityParameters 49, // 102: looprpc.SwapClient.SetLiquidityParams:output_type -> looprpc.SetLiquidityParamsResponse 52, // 103: looprpc.SwapClient.SuggestSwaps:output_type -> looprpc.SuggestSwapsResponse 56, // 104: looprpc.SwapClient.ListReservations:output_type -> looprpc.ListReservationsResponse 59, // 105: looprpc.SwapClient.InstantOut:output_type -> looprpc.InstantOutResponse 61, // 106: looprpc.SwapClient.InstantOutQuote:output_type -> looprpc.InstantOutQuoteResponse 63, // 107: looprpc.SwapClient.ListInstantOuts:output_type -> looprpc.ListInstantOutsResponse 66, // 108: looprpc.SwapClient.NewStaticAddress:output_type -> looprpc.NewStaticAddressResponse 68, // 109: looprpc.SwapClient.ListUnspentDeposits:output_type -> looprpc.ListUnspentDepositsResponse 71, // 110: looprpc.SwapClient.WithdrawDeposits:output_type -> looprpc.WithdrawDepositsResponse 73, // 111: looprpc.SwapClient.ListStaticAddressDeposits:output_type -> looprpc.ListStaticAddressDepositsResponse 75, // 112: looprpc.SwapClient.ListStaticAddressWithdrawals:output_type -> looprpc.ListStaticAddressWithdrawalResponse 77, // 113: looprpc.SwapClient.ListStaticAddressSwaps:output_type -> looprpc.ListStaticAddressSwapsResponse 79, // 114: looprpc.SwapClient.GetStaticAddressSummary:output_type -> looprpc.StaticAddressSummaryResponse 84, // 115: looprpc.SwapClient.StaticAddressLoopIn:output_type -> looprpc.StaticAddressLoopInResponse 11, // 116: looprpc.SwapClient.StaticOpenChannel:output_type -> looprpc.StaticOpenChannelResponse 84, // [84:117] is the sub-list for method output_type 51, // [51:84] is the sub-list for method input_type 51, // [51:51] is the sub-list for extension type_name 51, // [51:51] is the sub-list for extension extendee 0, // [0:51] is the sub-list for field type_name } func init() { file_client_proto_init() } func file_client_proto_init() { if File_client_proto != nil { return } file_client_proto_msgTypes[13].OneofWrappers = []any{ (*SweepHtlcResponse_NotRequested)(nil), (*SweepHtlcResponse_Published)(nil), (*SweepHtlcResponse_Failed)(nil), } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_client_proto_rawDesc), len(file_client_proto_rawDesc)), NumEnums: 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 }