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

package peersrpc

import (
	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)
)

// UpdateAction is used to determine the kind of action we are referring to.
type UpdateAction int32

const (
	// ADD indicates this is an "insertion" kind of action.
	UpdateAction_ADD UpdateAction = 0
	// REMOVE indicates this is a "deletion" kind of action.
	UpdateAction_REMOVE UpdateAction = 1
)

// Enum value maps for UpdateAction.
var (
	UpdateAction_name = map[int32]string{
		0: "ADD",
		1: "REMOVE",
	}
	UpdateAction_value = map[string]int32{
		"ADD":    0,
		"REMOVE": 1,
	}
)

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

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

func (UpdateAction) Descriptor() protoreflect.EnumDescriptor {
	return file_peersrpc_peers_proto_enumTypes[0].Descriptor()
}

func (UpdateAction) Type() protoreflect.EnumType {
	return &file_peersrpc_peers_proto_enumTypes[0]
}

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

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

type FeatureSet int32

const (
	// SET_INIT identifies features that should be sent in an Init message to
	// a remote peer.
	FeatureSet_SET_INIT FeatureSet = 0
	// SET_LEGACY_GLOBAL identifies features that should be set in the legacy
	// GlobalFeatures field of an Init message, which maintains backwards
	// compatibility with nodes that haven't implemented flat features.
	FeatureSet_SET_LEGACY_GLOBAL FeatureSet = 1
	// SET_NODE_ANN identifies features that should be advertised on node
	// announcements.
	FeatureSet_SET_NODE_ANN FeatureSet = 2
	// SET_INVOICE identifies features that should be advertised on invoices
	// generated by the daemon.
	FeatureSet_SET_INVOICE FeatureSet = 3
	// SET_INVOICE_AMP identifies the features that should be advertised on
	// AMP invoices generated by the daemon.
	FeatureSet_SET_INVOICE_AMP FeatureSet = 4
)

// Enum value maps for FeatureSet.
var (
	FeatureSet_name = map[int32]string{
		0: "SET_INIT",
		1: "SET_LEGACY_GLOBAL",
		2: "SET_NODE_ANN",
		3: "SET_INVOICE",
		4: "SET_INVOICE_AMP",
	}
	FeatureSet_value = map[string]int32{
		"SET_INIT":          0,
		"SET_LEGACY_GLOBAL": 1,
		"SET_NODE_ANN":      2,
		"SET_INVOICE":       3,
		"SET_INVOICE_AMP":   4,
	}
)

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

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

func (FeatureSet) Descriptor() protoreflect.EnumDescriptor {
	return file_peersrpc_peers_proto_enumTypes[1].Descriptor()
}

func (FeatureSet) Type() protoreflect.EnumType {
	return &file_peersrpc_peers_proto_enumTypes[1]
}

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

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

type UpdateAddressAction struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Determines the kind of action.
	Action UpdateAction `protobuf:"varint,1,opt,name=action,proto3,enum=peersrpc.UpdateAction" json:"action,omitempty"`
	// The address used to apply the update action.
	Address       string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*UpdateAddressAction) ProtoMessage() {}

func (x *UpdateAddressAction) ProtoReflect() protoreflect.Message {
	mi := &file_peersrpc_peers_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 UpdateAddressAction.ProtoReflect.Descriptor instead.
func (*UpdateAddressAction) Descriptor() ([]byte, []int) {
	return file_peersrpc_peers_proto_rawDescGZIP(), []int{0}
}

func (x *UpdateAddressAction) GetAction() UpdateAction {
	if x != nil {
		return x.Action
	}
	return UpdateAction_ADD
}

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

type UpdateFeatureAction struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Determines the kind of action.
	Action UpdateAction `protobuf:"varint,1,opt,name=action,proto3,enum=peersrpc.UpdateAction" json:"action,omitempty"`
	// The feature bit used to apply the update action.
	FeatureBit    lnrpc.FeatureBit `protobuf:"varint,2,opt,name=feature_bit,json=featureBit,proto3,enum=lnrpc.FeatureBit" json:"feature_bit,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*UpdateFeatureAction) ProtoMessage() {}

func (x *UpdateFeatureAction) ProtoReflect() protoreflect.Message {
	mi := &file_peersrpc_peers_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 UpdateFeatureAction.ProtoReflect.Descriptor instead.
func (*UpdateFeatureAction) Descriptor() ([]byte, []int) {
	return file_peersrpc_peers_proto_rawDescGZIP(), []int{1}
}

func (x *UpdateFeatureAction) GetAction() UpdateAction {
	if x != nil {
		return x.Action
	}
	return UpdateAction_ADD
}

func (x *UpdateFeatureAction) GetFeatureBit() lnrpc.FeatureBit {
	if x != nil {
		return x.FeatureBit
	}
	return lnrpc.FeatureBit(0)
}

type NodeAnnouncementUpdateRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Set of changes for the features that the node supports.
	FeatureUpdates []*UpdateFeatureAction `protobuf:"bytes,1,rep,name=feature_updates,json=featureUpdates,proto3" json:"feature_updates,omitempty"`
	// Color is the node's color in hex code format.
	Color string `protobuf:"bytes,2,opt,name=color,proto3" json:"color,omitempty"`
	// Alias or nick name of the node.
	Alias string `protobuf:"bytes,3,opt,name=alias,proto3" json:"alias,omitempty"`
	// Set of changes for the node's known addresses.
	AddressUpdates []*UpdateAddressAction `protobuf:"bytes,4,rep,name=address_updates,json=addressUpdates,proto3" json:"address_updates,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*NodeAnnouncementUpdateRequest) ProtoMessage() {}

func (x *NodeAnnouncementUpdateRequest) ProtoReflect() protoreflect.Message {
	mi := &file_peersrpc_peers_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 NodeAnnouncementUpdateRequest.ProtoReflect.Descriptor instead.
func (*NodeAnnouncementUpdateRequest) Descriptor() ([]byte, []int) {
	return file_peersrpc_peers_proto_rawDescGZIP(), []int{2}
}

func (x *NodeAnnouncementUpdateRequest) GetFeatureUpdates() []*UpdateFeatureAction {
	if x != nil {
		return x.FeatureUpdates
	}
	return nil
}

func (x *NodeAnnouncementUpdateRequest) GetColor() string {
	if x != nil {
		return x.Color
	}
	return ""
}

func (x *NodeAnnouncementUpdateRequest) GetAlias() string {
	if x != nil {
		return x.Alias
	}
	return ""
}

func (x *NodeAnnouncementUpdateRequest) GetAddressUpdates() []*UpdateAddressAction {
	if x != nil {
		return x.AddressUpdates
	}
	return nil
}

type NodeAnnouncementUpdateResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Ops           []*lnrpc.Op            `protobuf:"bytes,1,rep,name=ops,proto3" json:"ops,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*NodeAnnouncementUpdateResponse) ProtoMessage() {}

func (x *NodeAnnouncementUpdateResponse) ProtoReflect() protoreflect.Message {
	mi := &file_peersrpc_peers_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 NodeAnnouncementUpdateResponse.ProtoReflect.Descriptor instead.
func (*NodeAnnouncementUpdateResponse) Descriptor() ([]byte, []int) {
	return file_peersrpc_peers_proto_rawDescGZIP(), []int{3}
}

func (x *NodeAnnouncementUpdateResponse) GetOps() []*lnrpc.Op {
	if x != nil {
		return x.Ops
	}
	return nil
}

var File_peersrpc_peers_proto protoreflect.FileDescriptor

const file_peersrpc_peers_proto_rawDesc = "" +
	"\n" +
	"\x14peersrpc/peers.proto\x12\bpeersrpc\x1a\x0flightning.proto\"_\n" +
	"\x13UpdateAddressAction\x12.\n" +
	"\x06action\x18\x01 \x01(\x0e2\x16.peersrpc.UpdateActionR\x06action\x12\x18\n" +
	"\aaddress\x18\x02 \x01(\tR\aaddress\"y\n" +
	"\x13UpdateFeatureAction\x12.\n" +
	"\x06action\x18\x01 \x01(\x0e2\x16.peersrpc.UpdateActionR\x06action\x122\n" +
	"\vfeature_bit\x18\x02 \x01(\x0e2\x11.lnrpc.FeatureBitR\n" +
	"featureBit\"\xdb\x01\n" +
	"\x1dNodeAnnouncementUpdateRequest\x12F\n" +
	"\x0ffeature_updates\x18\x01 \x03(\v2\x1d.peersrpc.UpdateFeatureActionR\x0efeatureUpdates\x12\x14\n" +
	"\x05color\x18\x02 \x01(\tR\x05color\x12\x14\n" +
	"\x05alias\x18\x03 \x01(\tR\x05alias\x12F\n" +
	"\x0faddress_updates\x18\x04 \x03(\v2\x1d.peersrpc.UpdateAddressActionR\x0eaddressUpdates\"=\n" +
	"\x1eNodeAnnouncementUpdateResponse\x12\x1b\n" +
	"\x03ops\x18\x01 \x03(\v2\t.lnrpc.OpR\x03ops*#\n" +
	"\fUpdateAction\x12\a\n" +
	"\x03ADD\x10\x00\x12\n" +
	"\n" +
	"\x06REMOVE\x10\x01*i\n" +
	"\n" +
	"FeatureSet\x12\f\n" +
	"\bSET_INIT\x10\x00\x12\x15\n" +
	"\x11SET_LEGACY_GLOBAL\x10\x01\x12\x10\n" +
	"\fSET_NODE_ANN\x10\x02\x12\x0f\n" +
	"\vSET_INVOICE\x10\x03\x12\x13\n" +
	"\x0fSET_INVOICE_AMP\x10\x042t\n" +
	"\x05Peers\x12k\n" +
	"\x16UpdateNodeAnnouncement\x12'.peersrpc.NodeAnnouncementUpdateRequest\x1a(.peersrpc.NodeAnnouncementUpdateResponseB0Z.github.com/lightningnetwork/lnd/lnrpc/peersrpcb\x06proto3"

var (
	file_peersrpc_peers_proto_rawDescOnce sync.Once
	file_peersrpc_peers_proto_rawDescData []byte
)

func file_peersrpc_peers_proto_rawDescGZIP() []byte {
	file_peersrpc_peers_proto_rawDescOnce.Do(func() {
		file_peersrpc_peers_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_peersrpc_peers_proto_rawDesc), len(file_peersrpc_peers_proto_rawDesc)))
	})
	return file_peersrpc_peers_proto_rawDescData
}

var file_peersrpc_peers_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_peersrpc_peers_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_peersrpc_peers_proto_goTypes = []any{
	(UpdateAction)(0),                      // 0: peersrpc.UpdateAction
	(FeatureSet)(0),                        // 1: peersrpc.FeatureSet
	(*UpdateAddressAction)(nil),            // 2: peersrpc.UpdateAddressAction
	(*UpdateFeatureAction)(nil),            // 3: peersrpc.UpdateFeatureAction
	(*NodeAnnouncementUpdateRequest)(nil),  // 4: peersrpc.NodeAnnouncementUpdateRequest
	(*NodeAnnouncementUpdateResponse)(nil), // 5: peersrpc.NodeAnnouncementUpdateResponse
	(lnrpc.FeatureBit)(0),                  // 6: lnrpc.FeatureBit
	(*lnrpc.Op)(nil),                       // 7: lnrpc.Op
}
var file_peersrpc_peers_proto_depIdxs = []int32{
	0, // 0: peersrpc.UpdateAddressAction.action:type_name -> peersrpc.UpdateAction
	0, // 1: peersrpc.UpdateFeatureAction.action:type_name -> peersrpc.UpdateAction
	6, // 2: peersrpc.UpdateFeatureAction.feature_bit:type_name -> lnrpc.FeatureBit
	3, // 3: peersrpc.NodeAnnouncementUpdateRequest.feature_updates:type_name -> peersrpc.UpdateFeatureAction
	2, // 4: peersrpc.NodeAnnouncementUpdateRequest.address_updates:type_name -> peersrpc.UpdateAddressAction
	7, // 5: peersrpc.NodeAnnouncementUpdateResponse.ops:type_name -> lnrpc.Op
	4, // 6: peersrpc.Peers.UpdateNodeAnnouncement:input_type -> peersrpc.NodeAnnouncementUpdateRequest
	5, // 7: peersrpc.Peers.UpdateNodeAnnouncement:output_type -> peersrpc.NodeAnnouncementUpdateResponse
	7, // [7:8] is the sub-list for method output_type
	6, // [6:7] is the sub-list for method input_type
	6, // [6:6] is the sub-list for extension type_name
	6, // [6:6] is the sub-list for extension extendee
	0, // [0:6] is the sub-list for field type_name
}

func init() { file_peersrpc_peers_proto_init() }
func file_peersrpc_peers_proto_init() {
	if File_peersrpc_peers_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_peersrpc_peers_proto_rawDesc), len(file_peersrpc_peers_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   4,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_peersrpc_peers_proto_goTypes,
		DependencyIndexes: file_peersrpc_peers_proto_depIdxs,
		EnumInfos:         file_peersrpc_peers_proto_enumTypes,
		MessageInfos:      file_peersrpc_peers_proto_msgTypes,
	}.Build()
	File_peersrpc_peers_proto = out.File
	file_peersrpc_peers_proto_goTypes = nil
	file_peersrpc_peers_proto_depIdxs = nil
}
