diff --git a/app/appmessage/message.go b/app/appmessage/message.go
index bf8bd9e03..f3cd332d6 100644
--- a/app/appmessage/message.go
+++ b/app/appmessage/message.go
@@ -117,6 +117,8 @@ const (
CmdNotifyUTXOsChangedRequestMessage
CmdNotifyUTXOsChangedResponseMessage
CmdUTXOsChangedNotificationMessage
+ CmdStopNotifyingUTXOsChangedRequestMessage
+ CmdStopNotifyingUTXOsChangedResponseMessage
CmdGetUTXOsByAddressesRequestMessage
CmdGetUTXOsByAddressesResponseMessage
CmdGetVirtualSelectedParentBlueScoreRequestMessage
@@ -221,6 +223,8 @@ var RPCMessageCommandToString = map[MessageCommand]string{
CmdNotifyUTXOsChangedRequestMessage: "NotifyUTXOsChangedRequest",
CmdNotifyUTXOsChangedResponseMessage: "NotifyUTXOsChangedResponse",
CmdUTXOsChangedNotificationMessage: "UTXOsChangedNotification",
+ CmdStopNotifyingUTXOsChangedRequestMessage: "StopNotifyingUTXOsChangedRequest",
+ CmdStopNotifyingUTXOsChangedResponseMessage: "StopNotifyingUTXOsChangedResponse",
CmdGetUTXOsByAddressesRequestMessage: "GetUTXOsByAddressesRequest",
CmdGetUTXOsByAddressesResponseMessage: "GetUTXOsByAddressesResponse",
CmdGetVirtualSelectedParentBlueScoreRequestMessage: "GetVirtualSelectedParentBlueScoreRequest",
diff --git a/app/appmessage/rpc_stop_notifying_utxos_changed.go b/app/appmessage/rpc_stop_notifying_utxos_changed.go
new file mode 100644
index 000000000..16e0e34e8
--- /dev/null
+++ b/app/appmessage/rpc_stop_notifying_utxos_changed.go
@@ -0,0 +1,37 @@
+package appmessage
+
+// StopNotifyingUTXOsChangedRequestMessage is an appmessage corresponding to
+// its respective RPC message
+type StopNotifyingUTXOsChangedRequestMessage struct {
+ baseMessage
+ Addresses []string
+}
+
+// Command returns the protocol command string for the message
+func (msg *StopNotifyingUTXOsChangedRequestMessage) Command() MessageCommand {
+ return CmdStopNotifyingUTXOsChangedRequestMessage
+}
+
+// NewStopNotifyingUTXOsChangedRequestMessage returns a instance of the message
+func NewStopNotifyingUTXOsChangedRequestMessage(addresses []string) *StopNotifyingUTXOsChangedRequestMessage {
+ return &StopNotifyingUTXOsChangedRequestMessage{
+ Addresses: addresses,
+ }
+}
+
+// StopNotifyingUTXOsChangedResponseMessage is an appmessage corresponding to
+// its respective RPC message
+type StopNotifyingUTXOsChangedResponseMessage struct {
+ baseMessage
+ Error *RPCError
+}
+
+// Command returns the protocol command string for the message
+func (msg *StopNotifyingUTXOsChangedResponseMessage) Command() MessageCommand {
+ return CmdStopNotifyingUTXOsChangedResponseMessage
+}
+
+// NewStopNotifyingUTXOsChangedResponseMessage returns a instance of the message
+func NewStopNotifyingUTXOsChangedResponseMessage() *StopNotifyingUTXOsChangedResponseMessage {
+ return &StopNotifyingUTXOsChangedResponseMessage{}
+}
diff --git a/app/rpc/rpc.go b/app/rpc/rpc.go
index 57e6a4f0c..f9e25050e 100644
--- a/app/rpc/rpc.go
+++ b/app/rpc/rpc.go
@@ -35,6 +35,7 @@ var handlers = map[appmessage.MessageCommand]handler{
appmessage.CmdShutDownRequestMessage: rpchandlers.HandleShutDown,
appmessage.CmdGetHeadersRequestMessage: rpchandlers.HandleGetHeaders,
appmessage.CmdNotifyUTXOsChangedRequestMessage: rpchandlers.HandleNotifyUTXOsChanged,
+ appmessage.CmdStopNotifyingUTXOsChangedRequestMessage: rpchandlers.HandleStopNotifyingUTXOsChanged,
appmessage.CmdGetUTXOsByAddressesRequestMessage: rpchandlers.HandleGetUTXOsByAddresses,
appmessage.CmdGetVirtualSelectedParentBlueScoreRequestMessage: rpchandlers.HandleGetVirtualSelectedParentBlueScore,
appmessage.CmdNotifyVirtualSelectedParentBlueScoreChangedRequestMessage: rpchandlers.HandleNotifyVirtualSelectedParentBlueScoreChanged,
diff --git a/app/rpc/rpccontext/notificationmanager.go b/app/rpc/rpccontext/notificationmanager.go
index 119d31fef..c88189f4d 100644
--- a/app/rpc/rpccontext/notificationmanager.go
+++ b/app/rpc/rpccontext/notificationmanager.go
@@ -31,7 +31,7 @@ type NotificationListener struct {
propagateUTXOsChangedNotifications bool
propagateVirtualSelectedParentBlueScoreChangedNotifications bool
- propagateUTXOsChangedNotificationAddresses []*UTXOsChangedNotificationAddress
+ propagateUTXOsChangedNotificationAddresses map[utxoindex.ScriptPublicKeyString]*UTXOsChangedNotificationAddress
}
// NewNotificationManager creates a new NotificationManager
@@ -216,34 +216,70 @@ func (nl *NotificationListener) PropagateFinalityConflictResolvedNotifications()
}
// PropagateUTXOsChangedNotifications instructs the listener to send UTXOs changed notifications
-// to the remote listener
+// to the remote listener for the given addresses. Subsequent calls instruct the listener to
+// send UTXOs changed notifications for those addresses along with the old ones. Duplicate addresses
+// are ignored.
func (nl *NotificationListener) PropagateUTXOsChangedNotifications(addresses []*UTXOsChangedNotificationAddress) {
- nl.propagateUTXOsChangedNotifications = true
- nl.propagateUTXOsChangedNotificationAddresses = addresses
+ if !nl.propagateUTXOsChangedNotifications {
+ nl.propagateUTXOsChangedNotifications = true
+ nl.propagateUTXOsChangedNotificationAddresses =
+ make(map[utxoindex.ScriptPublicKeyString]*UTXOsChangedNotificationAddress, len(addresses))
+ }
+
+ for _, address := range addresses {
+ nl.propagateUTXOsChangedNotificationAddresses[address.ScriptPublicKeyString] = address
+ }
+}
+
+// StopPropagatingUTXOsChangedNotifications instructs the listener to stop sending UTXOs
+// changed notifications to the remote listener for the given addresses. Addresses for which
+// notifications are not currently sent are ignored.
+func (nl *NotificationListener) StopPropagatingUTXOsChangedNotifications(addresses []*UTXOsChangedNotificationAddress) {
+ if !nl.propagateUTXOsChangedNotifications {
+ return
+ }
+
+ for _, address := range addresses {
+ delete(nl.propagateUTXOsChangedNotificationAddresses, address.ScriptPublicKeyString)
+ }
}
func (nl *NotificationListener) convertUTXOChangesToUTXOsChangedNotification(
utxoChanges *utxoindex.UTXOChanges) *appmessage.UTXOsChangedNotificationMessage {
+ // As an optimization, we iterate over the smaller set (O(n)) among the two below
+ // and check existence over the larger set (O(1))
+ utxoChangesSize := len(utxoChanges.Added) + len(utxoChanges.Removed)
+ addressesSize := len(nl.propagateUTXOsChangedNotificationAddresses)
+
notification := &appmessage.UTXOsChangedNotificationMessage{}
- for _, listenerAddress := range nl.propagateUTXOsChangedNotificationAddresses {
- listenerScriptPublicKeyString := listenerAddress.ScriptPublicKeyString
- if addedPairs, ok := utxoChanges.Added[listenerScriptPublicKeyString]; ok {
- notification.Added = append(notification.Added,
- ConvertUTXOOutpointEntryPairsToUTXOsByAddressesEntries(listenerAddress.Address, addedPairs)...)
+ if utxoChangesSize < addressesSize {
+ for scriptPublicKeyString, addedPairs := range utxoChanges.Added {
+ if listenerAddress, ok := nl.propagateUTXOsChangedNotificationAddresses[scriptPublicKeyString]; ok {
+ utxosByAddressesEntries := ConvertUTXOOutpointEntryPairsToUTXOsByAddressesEntries(listenerAddress.Address, addedPairs)
+ notification.Added = append(notification.Added, utxosByAddressesEntries...)
+ }
}
- if removedOutpoints, ok := utxoChanges.Removed[listenerScriptPublicKeyString]; ok {
- for outpoint := range removedOutpoints {
- notification.Removed = append(notification.Removed, &appmessage.UTXOsByAddressesEntry{
- Address: listenerAddress.Address,
- Outpoint: &appmessage.RPCOutpoint{
- TransactionID: outpoint.TransactionID.String(),
- Index: outpoint.Index,
- },
- })
+ for scriptPublicKeyString, removedOutpoints := range utxoChanges.Removed {
+ if listenerAddress, ok := nl.propagateUTXOsChangedNotificationAddresses[scriptPublicKeyString]; ok {
+ utxosByAddressesEntries := convertUTXOOutpointsToUTXOsByAddressesEntries(listenerAddress.Address, removedOutpoints)
+ notification.Removed = append(notification.Removed, utxosByAddressesEntries...)
+ }
+ }
+ } else {
+ for _, listenerAddress := range nl.propagateUTXOsChangedNotificationAddresses {
+ listenerScriptPublicKeyString := listenerAddress.ScriptPublicKeyString
+ if addedPairs, ok := utxoChanges.Added[listenerScriptPublicKeyString]; ok {
+ utxosByAddressesEntries := ConvertUTXOOutpointEntryPairsToUTXOsByAddressesEntries(listenerAddress.Address, addedPairs)
+ notification.Added = append(notification.Added, utxosByAddressesEntries...)
+ }
+ if removedOutpoints, ok := utxoChanges.Removed[listenerScriptPublicKeyString]; ok {
+ utxosByAddressesEntries := convertUTXOOutpointsToUTXOsByAddressesEntries(listenerAddress.Address, removedOutpoints)
+ notification.Removed = append(notification.Removed, utxosByAddressesEntries...)
}
}
}
+
return notification
}
diff --git a/app/rpc/rpccontext/utxos_by_addresses.go b/app/rpc/rpccontext/utxos_by_addresses.go
index cea7db747..ff73d9862 100644
--- a/app/rpc/rpccontext/utxos_by_addresses.go
+++ b/app/rpc/rpccontext/utxos_by_addresses.go
@@ -2,6 +2,9 @@ package rpccontext
import (
"encoding/hex"
+ "github.com/kaspanet/kaspad/domain/consensus/utils/txscript"
+ "github.com/kaspanet/kaspad/util"
+ "github.com/pkg/errors"
"github.com/kaspanet/kaspad/app/appmessage"
"github.com/kaspanet/kaspad/domain/utxoindex"
@@ -28,3 +31,43 @@ func ConvertUTXOOutpointEntryPairsToUTXOsByAddressesEntries(address string, pair
}
return utxosByAddressesEntries
}
+
+// convertUTXOOutpointsToUTXOsByAddressesEntries converts
+// UTXOOutpoints to a slice of UTXOsByAddressesEntry
+func convertUTXOOutpointsToUTXOsByAddressesEntries(address string, outpoints utxoindex.UTXOOutpoints) []*appmessage.UTXOsByAddressesEntry {
+ utxosByAddressesEntries := make([]*appmessage.UTXOsByAddressesEntry, 0, len(outpoints))
+ for outpoint := range outpoints {
+ utxosByAddressesEntries = append(utxosByAddressesEntries, &appmessage.UTXOsByAddressesEntry{
+ Address: address,
+ Outpoint: &appmessage.RPCOutpoint{
+ TransactionID: outpoint.TransactionID.String(),
+ Index: outpoint.Index,
+ },
+ })
+ }
+ return utxosByAddressesEntries
+}
+
+// ConvertAddressStringsToUTXOsChangedNotificationAddresses converts address strings
+// to UTXOsChangedNotificationAddresses
+func (ctx *Context) ConvertAddressStringsToUTXOsChangedNotificationAddresses(
+ addressStrings []string) ([]*UTXOsChangedNotificationAddress, error) {
+
+ addresses := make([]*UTXOsChangedNotificationAddress, len(addressStrings))
+ for i, addressString := range addressStrings {
+ address, err := util.DecodeAddress(addressString, ctx.Config.ActiveNetParams.Prefix)
+ if err != nil {
+ return nil, errors.Errorf("Could not decode address '%s': %s", addressString, err)
+ }
+ scriptPublicKey, err := txscript.PayToAddrScript(address)
+ if err != nil {
+ return nil, errors.Errorf("Could not create a scriptPublicKey for address '%s': %s", addressString, err)
+ }
+ scriptPublicKeyString := utxoindex.ConvertScriptPublicKeyToString(scriptPublicKey)
+ addresses[i] = &UTXOsChangedNotificationAddress{
+ Address: addressString,
+ ScriptPublicKeyString: scriptPublicKeyString,
+ }
+ }
+ return addresses, nil
+}
diff --git a/app/rpc/rpchandlers/notify_utxos_changed.go b/app/rpc/rpchandlers/notify_utxos_changed.go
index e3acb31dd..41ffe0dd3 100644
--- a/app/rpc/rpchandlers/notify_utxos_changed.go
+++ b/app/rpc/rpchandlers/notify_utxos_changed.go
@@ -3,10 +3,7 @@ package rpchandlers
import (
"github.com/kaspanet/kaspad/app/appmessage"
"github.com/kaspanet/kaspad/app/rpc/rpccontext"
- "github.com/kaspanet/kaspad/domain/consensus/utils/txscript"
- "github.com/kaspanet/kaspad/domain/utxoindex"
"github.com/kaspanet/kaspad/infrastructure/network/netadapter/router"
- "github.com/kaspanet/kaspad/util"
)
// HandleNotifyUTXOsChanged handles the respectively named RPC command
@@ -18,26 +15,11 @@ func HandleNotifyUTXOsChanged(context *rpccontext.Context, router *router.Router
}
notifyUTXOsChangedRequest := request.(*appmessage.NotifyUTXOsChangedRequestMessage)
-
- addresses := make([]*rpccontext.UTXOsChangedNotificationAddress, len(notifyUTXOsChangedRequest.Addresses))
- for i, addressString := range notifyUTXOsChangedRequest.Addresses {
- address, err := util.DecodeAddress(addressString, context.Config.ActiveNetParams.Prefix)
- if err != nil {
- errorMessage := appmessage.NewNotifyUTXOsChangedResponseMessage()
- errorMessage.Error = appmessage.RPCErrorf("Could not decode address '%s': %s", addressString, err)
- return errorMessage, nil
- }
- scriptPublicKey, err := txscript.PayToAddrScript(address)
- if err != nil {
- errorMessage := appmessage.NewNotifyUTXOsChangedResponseMessage()
- errorMessage.Error = appmessage.RPCErrorf("Could not create a scriptPublicKey for address '%s': %s", addressString, err)
- return errorMessage, nil
- }
- scriptPublicKeyString := utxoindex.ConvertScriptPublicKeyToString(scriptPublicKey)
- addresses[i] = &rpccontext.UTXOsChangedNotificationAddress{
- Address: addressString,
- ScriptPublicKeyString: scriptPublicKeyString,
- }
+ addresses, err := context.ConvertAddressStringsToUTXOsChangedNotificationAddresses(notifyUTXOsChangedRequest.Addresses)
+ if err != nil {
+ errorMessage := appmessage.NewNotifyUTXOsChangedResponseMessage()
+ errorMessage.Error = appmessage.RPCErrorf("Parsing error: %s", err)
+ return errorMessage, nil
}
listener, err := context.NotificationManager.Listener(router)
diff --git a/app/rpc/rpchandlers/stop_notifying_utxos_changed.go b/app/rpc/rpchandlers/stop_notifying_utxos_changed.go
new file mode 100644
index 000000000..0da89a9bf
--- /dev/null
+++ b/app/rpc/rpchandlers/stop_notifying_utxos_changed.go
@@ -0,0 +1,33 @@
+package rpchandlers
+
+import (
+ "github.com/kaspanet/kaspad/app/appmessage"
+ "github.com/kaspanet/kaspad/app/rpc/rpccontext"
+ "github.com/kaspanet/kaspad/infrastructure/network/netadapter/router"
+)
+
+// HandleStopNotifyingUTXOsChanged handles the respectively named RPC command
+func HandleStopNotifyingUTXOsChanged(context *rpccontext.Context, router *router.Router, request appmessage.Message) (appmessage.Message, error) {
+ if !context.Config.UTXOIndex {
+ errorMessage := appmessage.NewStopNotifyingUTXOsChangedResponseMessage()
+ errorMessage.Error = appmessage.RPCErrorf("Method unavailable when kaspad is run without --utxoindex")
+ return errorMessage, nil
+ }
+
+ stopNotifyingUTXOsChangedRequest := request.(*appmessage.StopNotifyingUTXOsChangedRequestMessage)
+ addresses, err := context.ConvertAddressStringsToUTXOsChangedNotificationAddresses(stopNotifyingUTXOsChangedRequest.Addresses)
+ if err != nil {
+ errorMessage := appmessage.NewNotifyUTXOsChangedResponseMessage()
+ errorMessage.Error = appmessage.RPCErrorf("Parsing error: %s", err)
+ return errorMessage, nil
+ }
+
+ listener, err := context.NotificationManager.Listener(router)
+ if err != nil {
+ return nil, err
+ }
+ listener.StopPropagatingUTXOsChangedNotifications(addresses)
+
+ response := appmessage.NewStopNotifyingUTXOsChangedResponseMessage()
+ return response, nil
+}
diff --git a/infrastructure/network/netadapter/server/grpcserver/protowire/messages.pb.go b/infrastructure/network/netadapter/server/grpcserver/protowire/messages.pb.go
index 73f4851d5..351cb942b 100644
--- a/infrastructure/network/netadapter/server/grpcserver/protowire/messages.pb.go
+++ b/infrastructure/network/netadapter/server/grpcserver/protowire/messages.pb.go
@@ -127,6 +127,8 @@ type KaspadMessage struct {
// *KaspadMessage_UnbanResponse
// *KaspadMessage_GetInfoRequest
// *KaspadMessage_GetInfoResponse
+ // *KaspadMessage_StopNotifyingUtxosChangedRequest
+ // *KaspadMessage_StopNotifyingUtxosChangedResponse
Payload isKaspadMessage_Payload `protobuf_oneof:"payload"`
}
@@ -841,6 +843,20 @@ func (x *KaspadMessage) GetGetInfoResponse() *GetInfoResponseMessage {
return nil
}
+func (x *KaspadMessage) GetStopNotifyingUtxosChangedRequest() *StopNotifyingUtxosChangedRequestMessage {
+ if x, ok := x.GetPayload().(*KaspadMessage_StopNotifyingUtxosChangedRequest); ok {
+ return x.StopNotifyingUtxosChangedRequest
+ }
+ return nil
+}
+
+func (x *KaspadMessage) GetStopNotifyingUtxosChangedResponse() *StopNotifyingUtxosChangedResponseMessage {
+ if x, ok := x.GetPayload().(*KaspadMessage_StopNotifyingUtxosChangedResponse); ok {
+ return x.StopNotifyingUtxosChangedResponse
+ }
+ return nil
+}
+
type isKaspadMessage_Payload interface {
isKaspadMessage_Payload()
}
@@ -1229,6 +1245,14 @@ type KaspadMessage_GetInfoResponse struct {
GetInfoResponse *GetInfoResponseMessage `protobuf:"bytes,1064,opt,name=getInfoResponse,proto3,oneof"`
}
+type KaspadMessage_StopNotifyingUtxosChangedRequest struct {
+ StopNotifyingUtxosChangedRequest *StopNotifyingUtxosChangedRequestMessage `protobuf:"bytes,1065,opt,name=stopNotifyingUtxosChangedRequest,proto3,oneof"`
+}
+
+type KaspadMessage_StopNotifyingUtxosChangedResponse struct {
+ StopNotifyingUtxosChangedResponse *StopNotifyingUtxosChangedResponseMessage `protobuf:"bytes,1066,opt,name=stopNotifyingUtxosChangedResponse,proto3,oneof"`
+}
+
func (*KaspadMessage_Addresses) isKaspadMessage_Payload() {}
func (*KaspadMessage_Block) isKaspadMessage_Payload() {}
@@ -1421,13 +1445,17 @@ func (*KaspadMessage_GetInfoRequest) isKaspadMessage_Payload() {}
func (*KaspadMessage_GetInfoResponse) isKaspadMessage_Payload() {}
+func (*KaspadMessage_StopNotifyingUtxosChangedRequest) isKaspadMessage_Payload() {}
+
+func (*KaspadMessage_StopNotifyingUtxosChangedResponse) isKaspadMessage_Payload() {}
+
var File_messages_proto protoreflect.FileDescriptor
var file_messages_proto_rawDesc = []byte{
0x0a, 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x12, 0x09, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x1a, 0x09, 0x70, 0x32, 0x70,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x09, 0x72, 0x70, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x22, 0xe0, 0x4c, 0x0a, 0x0d, 0x4b, 0x61, 0x73, 0x70, 0x61, 0x64, 0x4d, 0x65, 0x73, 0x73,
+ 0x6f, 0x22, 0xeb, 0x4e, 0x0a, 0x0d, 0x4b, 0x61, 0x73, 0x70, 0x61, 0x64, 0x4d, 0x65, 0x73, 0x73,
0x61, 0x67, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69,
0x72, 0x65, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x4d, 0x65, 0x73, 0x73,
@@ -2040,21 +2068,38 @@ var file_messages_proto_rawDesc = []byte{
0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e,
0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d,
0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x67, 0x65, 0x74, 0x49, 0x6e, 0x66,
- 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79,
- 0x6c, 0x6f, 0x61, 0x64, 0x32, 0x50, 0x0a, 0x03, 0x50, 0x32, 0x50, 0x12, 0x49, 0x0a, 0x0d, 0x4d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x18, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4b, 0x61, 0x73, 0x70, 0x61, 0x64, 0x4d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69,
- 0x72, 0x65, 0x2e, 0x4b, 0x61, 0x73, 0x70, 0x61, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
- 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x32, 0x50, 0x0a, 0x03, 0x52, 0x50, 0x43, 0x12, 0x49, 0x0a,
- 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x18,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4b, 0x61, 0x73, 0x70, 0x61,
- 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4b, 0x61, 0x73, 0x70, 0x61, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61,
- 0x67, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0x26, 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68,
- 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6b, 0x61, 0x73, 0x70, 0x61, 0x6e, 0x65, 0x74, 0x2f,
- 0x6b, 0x61, 0x73, 0x70, 0x61, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65,
- 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x81, 0x01, 0x0a, 0x20, 0x73, 0x74,
+ 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x55, 0x74, 0x78, 0x6f, 0x73,
+ 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0xa9,
+ 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72,
+ 0x65, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x55,
+ 0x74, 0x78, 0x6f, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x20, 0x73, 0x74, 0x6f,
+ 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x43,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x84, 0x01,
+ 0x0a, 0x21, 0x73, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x55,
+ 0x74, 0x78, 0x6f, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x18, 0xaa, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x79, 0x69, 0x6e, 0x67, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48,
+ 0x00, 0x52, 0x21, 0x73, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67,
+ 0x55, 0x74, 0x78, 0x6f, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x32,
+ 0x50, 0x0a, 0x03, 0x50, 0x32, 0x50, 0x12, 0x49, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77,
+ 0x69, 0x72, 0x65, 0x2e, 0x4b, 0x61, 0x73, 0x70, 0x61, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
+ 0x65, 0x1a, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4b, 0x61,
+ 0x73, 0x70, 0x61, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30,
+ 0x01, 0x32, 0x50, 0x0a, 0x03, 0x52, 0x50, 0x43, 0x12, 0x49, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x4b, 0x61, 0x73, 0x70, 0x61, 0x64, 0x4d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x1a, 0x18, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e,
+ 0x4b, 0x61, 0x73, 0x70, 0x61, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x00, 0x28,
+ 0x01, 0x30, 0x01, 0x42, 0x26, 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
+ 0x6d, 0x2f, 0x6b, 0x61, 0x73, 0x70, 0x61, 0x6e, 0x65, 0x74, 0x2f, 0x6b, 0x61, 0x73, 0x70, 0x61,
+ 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x33,
}
var (
@@ -2167,113 +2212,117 @@ var file_messages_proto_goTypes = []interface{}{
(*UnbanResponseMessage)(nil), // 93: protowire.UnbanResponseMessage
(*GetInfoRequestMessage)(nil), // 94: protowire.GetInfoRequestMessage
(*GetInfoResponseMessage)(nil), // 95: protowire.GetInfoResponseMessage
+ (*StopNotifyingUtxosChangedRequestMessage)(nil), // 96: protowire.StopNotifyingUtxosChangedRequestMessage
+ (*StopNotifyingUtxosChangedResponseMessage)(nil), // 97: protowire.StopNotifyingUtxosChangedResponseMessage
}
var file_messages_proto_depIdxs = []int32{
- 1, // 0: protowire.KaspadMessage.addresses:type_name -> protowire.AddressesMessage
- 2, // 1: protowire.KaspadMessage.block:type_name -> protowire.BlockMessage
- 3, // 2: protowire.KaspadMessage.transaction:type_name -> protowire.TransactionMessage
- 4, // 3: protowire.KaspadMessage.requestBlockLocator:type_name -> protowire.RequestBlockLocatorMessage
- 5, // 4: protowire.KaspadMessage.blockLocator:type_name -> protowire.BlockLocatorMessage
- 6, // 5: protowire.KaspadMessage.requestAddresses:type_name -> protowire.RequestAddressesMessage
- 7, // 6: protowire.KaspadMessage.requestHeaders:type_name -> protowire.RequestHeadersMessage
- 8, // 7: protowire.KaspadMessage.requestNextHeaders:type_name -> protowire.RequestNextHeadersMessage
- 9, // 8: protowire.KaspadMessage.DoneHeaders:type_name -> protowire.DoneHeadersMessage
- 10, // 9: protowire.KaspadMessage.requestRelayBlocks:type_name -> protowire.RequestRelayBlocksMessage
- 11, // 10: protowire.KaspadMessage.requestTransactions:type_name -> protowire.RequestTransactionsMessage
- 2, // 11: protowire.KaspadMessage.ibdBlock:type_name -> protowire.BlockMessage
- 12, // 12: protowire.KaspadMessage.invRelayBlock:type_name -> protowire.InvRelayBlockMessage
- 13, // 13: protowire.KaspadMessage.invTransactions:type_name -> protowire.InvTransactionsMessage
- 14, // 14: protowire.KaspadMessage.ping:type_name -> protowire.PingMessage
- 15, // 15: protowire.KaspadMessage.pong:type_name -> protowire.PongMessage
- 16, // 16: protowire.KaspadMessage.verack:type_name -> protowire.VerackMessage
- 17, // 17: protowire.KaspadMessage.version:type_name -> protowire.VersionMessage
- 18, // 18: protowire.KaspadMessage.transactionNotFound:type_name -> protowire.TransactionNotFoundMessage
- 19, // 19: protowire.KaspadMessage.reject:type_name -> protowire.RejectMessage
- 20, // 20: protowire.KaspadMessage.requestPruningPointUTXOSetAndBlock:type_name -> protowire.RequestPruningPointUTXOSetAndBlockMessage
- 21, // 21: protowire.KaspadMessage.pruningPointUtxoSetChunk:type_name -> protowire.PruningPointUtxoSetChunkMessage
- 22, // 22: protowire.KaspadMessage.requestIBDBlocks:type_name -> protowire.RequestIBDBlocksMessage
- 23, // 23: protowire.KaspadMessage.unexpectedPruningPoint:type_name -> protowire.UnexpectedPruningPointMessage
- 24, // 24: protowire.KaspadMessage.requestPruningPointHash:type_name -> protowire.RequestPruningPointHashMessage
- 25, // 25: protowire.KaspadMessage.pruningPointHash:type_name -> protowire.PruningPointHashMessage
- 26, // 26: protowire.KaspadMessage.ibdBlockLocator:type_name -> protowire.IbdBlockLocatorMessage
- 27, // 27: protowire.KaspadMessage.ibdBlockLocatorHighestHash:type_name -> protowire.IbdBlockLocatorHighestHashMessage
- 28, // 28: protowire.KaspadMessage.blockHeaders:type_name -> protowire.BlockHeadersMessage
- 29, // 29: protowire.KaspadMessage.requestNextPruningPointUtxoSetChunk:type_name -> protowire.RequestNextPruningPointUtxoSetChunkMessage
- 30, // 30: protowire.KaspadMessage.donePruningPointUtxoSetChunks:type_name -> protowire.DonePruningPointUtxoSetChunksMessage
- 31, // 31: protowire.KaspadMessage.ibdBlockLocatorHighestHashNotFound:type_name -> protowire.IbdBlockLocatorHighestHashNotFoundMessage
- 32, // 32: protowire.KaspadMessage.getCurrentNetworkRequest:type_name -> protowire.GetCurrentNetworkRequestMessage
- 33, // 33: protowire.KaspadMessage.getCurrentNetworkResponse:type_name -> protowire.GetCurrentNetworkResponseMessage
- 34, // 34: protowire.KaspadMessage.submitBlockRequest:type_name -> protowire.SubmitBlockRequestMessage
- 35, // 35: protowire.KaspadMessage.submitBlockResponse:type_name -> protowire.SubmitBlockResponseMessage
- 36, // 36: protowire.KaspadMessage.getBlockTemplateRequest:type_name -> protowire.GetBlockTemplateRequestMessage
- 37, // 37: protowire.KaspadMessage.getBlockTemplateResponse:type_name -> protowire.GetBlockTemplateResponseMessage
- 38, // 38: protowire.KaspadMessage.notifyBlockAddedRequest:type_name -> protowire.NotifyBlockAddedRequestMessage
- 39, // 39: protowire.KaspadMessage.notifyBlockAddedResponse:type_name -> protowire.NotifyBlockAddedResponseMessage
- 40, // 40: protowire.KaspadMessage.blockAddedNotification:type_name -> protowire.BlockAddedNotificationMessage
- 41, // 41: protowire.KaspadMessage.getPeerAddressesRequest:type_name -> protowire.GetPeerAddressesRequestMessage
- 42, // 42: protowire.KaspadMessage.getPeerAddressesResponse:type_name -> protowire.GetPeerAddressesResponseMessage
- 43, // 43: protowire.KaspadMessage.getSelectedTipHashRequest:type_name -> protowire.GetSelectedTipHashRequestMessage
- 44, // 44: protowire.KaspadMessage.getSelectedTipHashResponse:type_name -> protowire.GetSelectedTipHashResponseMessage
- 45, // 45: protowire.KaspadMessage.getMempoolEntryRequest:type_name -> protowire.GetMempoolEntryRequestMessage
- 46, // 46: protowire.KaspadMessage.getMempoolEntryResponse:type_name -> protowire.GetMempoolEntryResponseMessage
- 47, // 47: protowire.KaspadMessage.getConnectedPeerInfoRequest:type_name -> protowire.GetConnectedPeerInfoRequestMessage
- 48, // 48: protowire.KaspadMessage.getConnectedPeerInfoResponse:type_name -> protowire.GetConnectedPeerInfoResponseMessage
- 49, // 49: protowire.KaspadMessage.addPeerRequest:type_name -> protowire.AddPeerRequestMessage
- 50, // 50: protowire.KaspadMessage.addPeerResponse:type_name -> protowire.AddPeerResponseMessage
- 51, // 51: protowire.KaspadMessage.submitTransactionRequest:type_name -> protowire.SubmitTransactionRequestMessage
- 52, // 52: protowire.KaspadMessage.submitTransactionResponse:type_name -> protowire.SubmitTransactionResponseMessage
- 53, // 53: protowire.KaspadMessage.notifyVirtualSelectedParentChainChangedRequest:type_name -> protowire.NotifyVirtualSelectedParentChainChangedRequestMessage
- 54, // 54: protowire.KaspadMessage.notifyVirtualSelectedParentChainChangedResponse:type_name -> protowire.NotifyVirtualSelectedParentChainChangedResponseMessage
- 55, // 55: protowire.KaspadMessage.virtualSelectedParentChainChangedNotification:type_name -> protowire.VirtualSelectedParentChainChangedNotificationMessage
- 56, // 56: protowire.KaspadMessage.getBlockRequest:type_name -> protowire.GetBlockRequestMessage
- 57, // 57: protowire.KaspadMessage.getBlockResponse:type_name -> protowire.GetBlockResponseMessage
- 58, // 58: protowire.KaspadMessage.getSubnetworkRequest:type_name -> protowire.GetSubnetworkRequestMessage
- 59, // 59: protowire.KaspadMessage.getSubnetworkResponse:type_name -> protowire.GetSubnetworkResponseMessage
- 60, // 60: protowire.KaspadMessage.getVirtualSelectedParentChainFromBlockRequest:type_name -> protowire.GetVirtualSelectedParentChainFromBlockRequestMessage
- 61, // 61: protowire.KaspadMessage.getVirtualSelectedParentChainFromBlockResponse:type_name -> protowire.GetVirtualSelectedParentChainFromBlockResponseMessage
- 62, // 62: protowire.KaspadMessage.getBlocksRequest:type_name -> protowire.GetBlocksRequestMessage
- 63, // 63: protowire.KaspadMessage.getBlocksResponse:type_name -> protowire.GetBlocksResponseMessage
- 64, // 64: protowire.KaspadMessage.getBlockCountRequest:type_name -> protowire.GetBlockCountRequestMessage
- 65, // 65: protowire.KaspadMessage.getBlockCountResponse:type_name -> protowire.GetBlockCountResponseMessage
- 66, // 66: protowire.KaspadMessage.getBlockDagInfoRequest:type_name -> protowire.GetBlockDagInfoRequestMessage
- 67, // 67: protowire.KaspadMessage.getBlockDagInfoResponse:type_name -> protowire.GetBlockDagInfoResponseMessage
- 68, // 68: protowire.KaspadMessage.resolveFinalityConflictRequest:type_name -> protowire.ResolveFinalityConflictRequestMessage
- 69, // 69: protowire.KaspadMessage.resolveFinalityConflictResponse:type_name -> protowire.ResolveFinalityConflictResponseMessage
- 70, // 70: protowire.KaspadMessage.notifyFinalityConflictsRequest:type_name -> protowire.NotifyFinalityConflictsRequestMessage
- 71, // 71: protowire.KaspadMessage.notifyFinalityConflictsResponse:type_name -> protowire.NotifyFinalityConflictsResponseMessage
- 72, // 72: protowire.KaspadMessage.finalityConflictNotification:type_name -> protowire.FinalityConflictNotificationMessage
- 73, // 73: protowire.KaspadMessage.finalityConflictResolvedNotification:type_name -> protowire.FinalityConflictResolvedNotificationMessage
- 74, // 74: protowire.KaspadMessage.getMempoolEntriesRequest:type_name -> protowire.GetMempoolEntriesRequestMessage
- 75, // 75: protowire.KaspadMessage.getMempoolEntriesResponse:type_name -> protowire.GetMempoolEntriesResponseMessage
- 76, // 76: protowire.KaspadMessage.shutDownRequest:type_name -> protowire.ShutDownRequestMessage
- 77, // 77: protowire.KaspadMessage.shutDownResponse:type_name -> protowire.ShutDownResponseMessage
- 78, // 78: protowire.KaspadMessage.getHeadersRequest:type_name -> protowire.GetHeadersRequestMessage
- 79, // 79: protowire.KaspadMessage.getHeadersResponse:type_name -> protowire.GetHeadersResponseMessage
- 80, // 80: protowire.KaspadMessage.notifyUtxosChangedRequest:type_name -> protowire.NotifyUtxosChangedRequestMessage
- 81, // 81: protowire.KaspadMessage.notifyUtxosChangedResponse:type_name -> protowire.NotifyUtxosChangedResponseMessage
- 82, // 82: protowire.KaspadMessage.utxosChangedNotification:type_name -> protowire.UtxosChangedNotificationMessage
- 83, // 83: protowire.KaspadMessage.getUtxosByAddressesRequest:type_name -> protowire.GetUtxosByAddressesRequestMessage
- 84, // 84: protowire.KaspadMessage.getUtxosByAddressesResponse:type_name -> protowire.GetUtxosByAddressesResponseMessage
- 85, // 85: protowire.KaspadMessage.getVirtualSelectedParentBlueScoreRequest:type_name -> protowire.GetVirtualSelectedParentBlueScoreRequestMessage
- 86, // 86: protowire.KaspadMessage.getVirtualSelectedParentBlueScoreResponse:type_name -> protowire.GetVirtualSelectedParentBlueScoreResponseMessage
- 87, // 87: protowire.KaspadMessage.notifyVirtualSelectedParentBlueScoreChangedRequest:type_name -> protowire.NotifyVirtualSelectedParentBlueScoreChangedRequestMessage
- 88, // 88: protowire.KaspadMessage.notifyVirtualSelectedParentBlueScoreChangedResponse:type_name -> protowire.NotifyVirtualSelectedParentBlueScoreChangedResponseMessage
- 89, // 89: protowire.KaspadMessage.virtualSelectedParentBlueScoreChangedNotification:type_name -> protowire.VirtualSelectedParentBlueScoreChangedNotificationMessage
- 90, // 90: protowire.KaspadMessage.banRequest:type_name -> protowire.BanRequestMessage
- 91, // 91: protowire.KaspadMessage.banResponse:type_name -> protowire.BanResponseMessage
- 92, // 92: protowire.KaspadMessage.unbanRequest:type_name -> protowire.UnbanRequestMessage
- 93, // 93: protowire.KaspadMessage.unbanResponse:type_name -> protowire.UnbanResponseMessage
- 94, // 94: protowire.KaspadMessage.getInfoRequest:type_name -> protowire.GetInfoRequestMessage
- 95, // 95: protowire.KaspadMessage.getInfoResponse:type_name -> protowire.GetInfoResponseMessage
- 0, // 96: protowire.P2P.MessageStream:input_type -> protowire.KaspadMessage
- 0, // 97: protowire.RPC.MessageStream:input_type -> protowire.KaspadMessage
- 0, // 98: protowire.P2P.MessageStream:output_type -> protowire.KaspadMessage
- 0, // 99: protowire.RPC.MessageStream:output_type -> protowire.KaspadMessage
- 98, // [98:100] is the sub-list for method output_type
- 96, // [96:98] is the sub-list for method input_type
- 96, // [96:96] is the sub-list for extension type_name
- 96, // [96:96] is the sub-list for extension extendee
- 0, // [0:96] is the sub-list for field type_name
+ 1, // 0: protowire.KaspadMessage.addresses:type_name -> protowire.AddressesMessage
+ 2, // 1: protowire.KaspadMessage.block:type_name -> protowire.BlockMessage
+ 3, // 2: protowire.KaspadMessage.transaction:type_name -> protowire.TransactionMessage
+ 4, // 3: protowire.KaspadMessage.requestBlockLocator:type_name -> protowire.RequestBlockLocatorMessage
+ 5, // 4: protowire.KaspadMessage.blockLocator:type_name -> protowire.BlockLocatorMessage
+ 6, // 5: protowire.KaspadMessage.requestAddresses:type_name -> protowire.RequestAddressesMessage
+ 7, // 6: protowire.KaspadMessage.requestHeaders:type_name -> protowire.RequestHeadersMessage
+ 8, // 7: protowire.KaspadMessage.requestNextHeaders:type_name -> protowire.RequestNextHeadersMessage
+ 9, // 8: protowire.KaspadMessage.DoneHeaders:type_name -> protowire.DoneHeadersMessage
+ 10, // 9: protowire.KaspadMessage.requestRelayBlocks:type_name -> protowire.RequestRelayBlocksMessage
+ 11, // 10: protowire.KaspadMessage.requestTransactions:type_name -> protowire.RequestTransactionsMessage
+ 2, // 11: protowire.KaspadMessage.ibdBlock:type_name -> protowire.BlockMessage
+ 12, // 12: protowire.KaspadMessage.invRelayBlock:type_name -> protowire.InvRelayBlockMessage
+ 13, // 13: protowire.KaspadMessage.invTransactions:type_name -> protowire.InvTransactionsMessage
+ 14, // 14: protowire.KaspadMessage.ping:type_name -> protowire.PingMessage
+ 15, // 15: protowire.KaspadMessage.pong:type_name -> protowire.PongMessage
+ 16, // 16: protowire.KaspadMessage.verack:type_name -> protowire.VerackMessage
+ 17, // 17: protowire.KaspadMessage.version:type_name -> protowire.VersionMessage
+ 18, // 18: protowire.KaspadMessage.transactionNotFound:type_name -> protowire.TransactionNotFoundMessage
+ 19, // 19: protowire.KaspadMessage.reject:type_name -> protowire.RejectMessage
+ 20, // 20: protowire.KaspadMessage.requestPruningPointUTXOSetAndBlock:type_name -> protowire.RequestPruningPointUTXOSetAndBlockMessage
+ 21, // 21: protowire.KaspadMessage.pruningPointUtxoSetChunk:type_name -> protowire.PruningPointUtxoSetChunkMessage
+ 22, // 22: protowire.KaspadMessage.requestIBDBlocks:type_name -> protowire.RequestIBDBlocksMessage
+ 23, // 23: protowire.KaspadMessage.unexpectedPruningPoint:type_name -> protowire.UnexpectedPruningPointMessage
+ 24, // 24: protowire.KaspadMessage.requestPruningPointHash:type_name -> protowire.RequestPruningPointHashMessage
+ 25, // 25: protowire.KaspadMessage.pruningPointHash:type_name -> protowire.PruningPointHashMessage
+ 26, // 26: protowire.KaspadMessage.ibdBlockLocator:type_name -> protowire.IbdBlockLocatorMessage
+ 27, // 27: protowire.KaspadMessage.ibdBlockLocatorHighestHash:type_name -> protowire.IbdBlockLocatorHighestHashMessage
+ 28, // 28: protowire.KaspadMessage.blockHeaders:type_name -> protowire.BlockHeadersMessage
+ 29, // 29: protowire.KaspadMessage.requestNextPruningPointUtxoSetChunk:type_name -> protowire.RequestNextPruningPointUtxoSetChunkMessage
+ 30, // 30: protowire.KaspadMessage.donePruningPointUtxoSetChunks:type_name -> protowire.DonePruningPointUtxoSetChunksMessage
+ 31, // 31: protowire.KaspadMessage.ibdBlockLocatorHighestHashNotFound:type_name -> protowire.IbdBlockLocatorHighestHashNotFoundMessage
+ 32, // 32: protowire.KaspadMessage.getCurrentNetworkRequest:type_name -> protowire.GetCurrentNetworkRequestMessage
+ 33, // 33: protowire.KaspadMessage.getCurrentNetworkResponse:type_name -> protowire.GetCurrentNetworkResponseMessage
+ 34, // 34: protowire.KaspadMessage.submitBlockRequest:type_name -> protowire.SubmitBlockRequestMessage
+ 35, // 35: protowire.KaspadMessage.submitBlockResponse:type_name -> protowire.SubmitBlockResponseMessage
+ 36, // 36: protowire.KaspadMessage.getBlockTemplateRequest:type_name -> protowire.GetBlockTemplateRequestMessage
+ 37, // 37: protowire.KaspadMessage.getBlockTemplateResponse:type_name -> protowire.GetBlockTemplateResponseMessage
+ 38, // 38: protowire.KaspadMessage.notifyBlockAddedRequest:type_name -> protowire.NotifyBlockAddedRequestMessage
+ 39, // 39: protowire.KaspadMessage.notifyBlockAddedResponse:type_name -> protowire.NotifyBlockAddedResponseMessage
+ 40, // 40: protowire.KaspadMessage.blockAddedNotification:type_name -> protowire.BlockAddedNotificationMessage
+ 41, // 41: protowire.KaspadMessage.getPeerAddressesRequest:type_name -> protowire.GetPeerAddressesRequestMessage
+ 42, // 42: protowire.KaspadMessage.getPeerAddressesResponse:type_name -> protowire.GetPeerAddressesResponseMessage
+ 43, // 43: protowire.KaspadMessage.getSelectedTipHashRequest:type_name -> protowire.GetSelectedTipHashRequestMessage
+ 44, // 44: protowire.KaspadMessage.getSelectedTipHashResponse:type_name -> protowire.GetSelectedTipHashResponseMessage
+ 45, // 45: protowire.KaspadMessage.getMempoolEntryRequest:type_name -> protowire.GetMempoolEntryRequestMessage
+ 46, // 46: protowire.KaspadMessage.getMempoolEntryResponse:type_name -> protowire.GetMempoolEntryResponseMessage
+ 47, // 47: protowire.KaspadMessage.getConnectedPeerInfoRequest:type_name -> protowire.GetConnectedPeerInfoRequestMessage
+ 48, // 48: protowire.KaspadMessage.getConnectedPeerInfoResponse:type_name -> protowire.GetConnectedPeerInfoResponseMessage
+ 49, // 49: protowire.KaspadMessage.addPeerRequest:type_name -> protowire.AddPeerRequestMessage
+ 50, // 50: protowire.KaspadMessage.addPeerResponse:type_name -> protowire.AddPeerResponseMessage
+ 51, // 51: protowire.KaspadMessage.submitTransactionRequest:type_name -> protowire.SubmitTransactionRequestMessage
+ 52, // 52: protowire.KaspadMessage.submitTransactionResponse:type_name -> protowire.SubmitTransactionResponseMessage
+ 53, // 53: protowire.KaspadMessage.notifyVirtualSelectedParentChainChangedRequest:type_name -> protowire.NotifyVirtualSelectedParentChainChangedRequestMessage
+ 54, // 54: protowire.KaspadMessage.notifyVirtualSelectedParentChainChangedResponse:type_name -> protowire.NotifyVirtualSelectedParentChainChangedResponseMessage
+ 55, // 55: protowire.KaspadMessage.virtualSelectedParentChainChangedNotification:type_name -> protowire.VirtualSelectedParentChainChangedNotificationMessage
+ 56, // 56: protowire.KaspadMessage.getBlockRequest:type_name -> protowire.GetBlockRequestMessage
+ 57, // 57: protowire.KaspadMessage.getBlockResponse:type_name -> protowire.GetBlockResponseMessage
+ 58, // 58: protowire.KaspadMessage.getSubnetworkRequest:type_name -> protowire.GetSubnetworkRequestMessage
+ 59, // 59: protowire.KaspadMessage.getSubnetworkResponse:type_name -> protowire.GetSubnetworkResponseMessage
+ 60, // 60: protowire.KaspadMessage.getVirtualSelectedParentChainFromBlockRequest:type_name -> protowire.GetVirtualSelectedParentChainFromBlockRequestMessage
+ 61, // 61: protowire.KaspadMessage.getVirtualSelectedParentChainFromBlockResponse:type_name -> protowire.GetVirtualSelectedParentChainFromBlockResponseMessage
+ 62, // 62: protowire.KaspadMessage.getBlocksRequest:type_name -> protowire.GetBlocksRequestMessage
+ 63, // 63: protowire.KaspadMessage.getBlocksResponse:type_name -> protowire.GetBlocksResponseMessage
+ 64, // 64: protowire.KaspadMessage.getBlockCountRequest:type_name -> protowire.GetBlockCountRequestMessage
+ 65, // 65: protowire.KaspadMessage.getBlockCountResponse:type_name -> protowire.GetBlockCountResponseMessage
+ 66, // 66: protowire.KaspadMessage.getBlockDagInfoRequest:type_name -> protowire.GetBlockDagInfoRequestMessage
+ 67, // 67: protowire.KaspadMessage.getBlockDagInfoResponse:type_name -> protowire.GetBlockDagInfoResponseMessage
+ 68, // 68: protowire.KaspadMessage.resolveFinalityConflictRequest:type_name -> protowire.ResolveFinalityConflictRequestMessage
+ 69, // 69: protowire.KaspadMessage.resolveFinalityConflictResponse:type_name -> protowire.ResolveFinalityConflictResponseMessage
+ 70, // 70: protowire.KaspadMessage.notifyFinalityConflictsRequest:type_name -> protowire.NotifyFinalityConflictsRequestMessage
+ 71, // 71: protowire.KaspadMessage.notifyFinalityConflictsResponse:type_name -> protowire.NotifyFinalityConflictsResponseMessage
+ 72, // 72: protowire.KaspadMessage.finalityConflictNotification:type_name -> protowire.FinalityConflictNotificationMessage
+ 73, // 73: protowire.KaspadMessage.finalityConflictResolvedNotification:type_name -> protowire.FinalityConflictResolvedNotificationMessage
+ 74, // 74: protowire.KaspadMessage.getMempoolEntriesRequest:type_name -> protowire.GetMempoolEntriesRequestMessage
+ 75, // 75: protowire.KaspadMessage.getMempoolEntriesResponse:type_name -> protowire.GetMempoolEntriesResponseMessage
+ 76, // 76: protowire.KaspadMessage.shutDownRequest:type_name -> protowire.ShutDownRequestMessage
+ 77, // 77: protowire.KaspadMessage.shutDownResponse:type_name -> protowire.ShutDownResponseMessage
+ 78, // 78: protowire.KaspadMessage.getHeadersRequest:type_name -> protowire.GetHeadersRequestMessage
+ 79, // 79: protowire.KaspadMessage.getHeadersResponse:type_name -> protowire.GetHeadersResponseMessage
+ 80, // 80: protowire.KaspadMessage.notifyUtxosChangedRequest:type_name -> protowire.NotifyUtxosChangedRequestMessage
+ 81, // 81: protowire.KaspadMessage.notifyUtxosChangedResponse:type_name -> protowire.NotifyUtxosChangedResponseMessage
+ 82, // 82: protowire.KaspadMessage.utxosChangedNotification:type_name -> protowire.UtxosChangedNotificationMessage
+ 83, // 83: protowire.KaspadMessage.getUtxosByAddressesRequest:type_name -> protowire.GetUtxosByAddressesRequestMessage
+ 84, // 84: protowire.KaspadMessage.getUtxosByAddressesResponse:type_name -> protowire.GetUtxosByAddressesResponseMessage
+ 85, // 85: protowire.KaspadMessage.getVirtualSelectedParentBlueScoreRequest:type_name -> protowire.GetVirtualSelectedParentBlueScoreRequestMessage
+ 86, // 86: protowire.KaspadMessage.getVirtualSelectedParentBlueScoreResponse:type_name -> protowire.GetVirtualSelectedParentBlueScoreResponseMessage
+ 87, // 87: protowire.KaspadMessage.notifyVirtualSelectedParentBlueScoreChangedRequest:type_name -> protowire.NotifyVirtualSelectedParentBlueScoreChangedRequestMessage
+ 88, // 88: protowire.KaspadMessage.notifyVirtualSelectedParentBlueScoreChangedResponse:type_name -> protowire.NotifyVirtualSelectedParentBlueScoreChangedResponseMessage
+ 89, // 89: protowire.KaspadMessage.virtualSelectedParentBlueScoreChangedNotification:type_name -> protowire.VirtualSelectedParentBlueScoreChangedNotificationMessage
+ 90, // 90: protowire.KaspadMessage.banRequest:type_name -> protowire.BanRequestMessage
+ 91, // 91: protowire.KaspadMessage.banResponse:type_name -> protowire.BanResponseMessage
+ 92, // 92: protowire.KaspadMessage.unbanRequest:type_name -> protowire.UnbanRequestMessage
+ 93, // 93: protowire.KaspadMessage.unbanResponse:type_name -> protowire.UnbanResponseMessage
+ 94, // 94: protowire.KaspadMessage.getInfoRequest:type_name -> protowire.GetInfoRequestMessage
+ 95, // 95: protowire.KaspadMessage.getInfoResponse:type_name -> protowire.GetInfoResponseMessage
+ 96, // 96: protowire.KaspadMessage.stopNotifyingUtxosChangedRequest:type_name -> protowire.StopNotifyingUtxosChangedRequestMessage
+ 97, // 97: protowire.KaspadMessage.stopNotifyingUtxosChangedResponse:type_name -> protowire.StopNotifyingUtxosChangedResponseMessage
+ 0, // 98: protowire.P2P.MessageStream:input_type -> protowire.KaspadMessage
+ 0, // 99: protowire.RPC.MessageStream:input_type -> protowire.KaspadMessage
+ 0, // 100: protowire.P2P.MessageStream:output_type -> protowire.KaspadMessage
+ 0, // 101: protowire.RPC.MessageStream:output_type -> protowire.KaspadMessage
+ 100, // [100:102] is the sub-list for method output_type
+ 98, // [98:100] is the sub-list for method input_type
+ 98, // [98:98] is the sub-list for extension type_name
+ 98, // [98:98] is the sub-list for extension extendee
+ 0, // [0:98] is the sub-list for field type_name
}
func init() { file_messages_proto_init() }
@@ -2394,6 +2443,8 @@ func file_messages_proto_init() {
(*KaspadMessage_UnbanResponse)(nil),
(*KaspadMessage_GetInfoRequest)(nil),
(*KaspadMessage_GetInfoResponse)(nil),
+ (*KaspadMessage_StopNotifyingUtxosChangedRequest)(nil),
+ (*KaspadMessage_StopNotifyingUtxosChangedResponse)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
diff --git a/infrastructure/network/netadapter/server/grpcserver/protowire/messages.proto b/infrastructure/network/netadapter/server/grpcserver/protowire/messages.proto
index af9b87550..9ebe9db6b 100644
--- a/infrastructure/network/netadapter/server/grpcserver/protowire/messages.proto
+++ b/infrastructure/network/netadapter/server/grpcserver/protowire/messages.proto
@@ -105,6 +105,8 @@ message KaspadMessage {
UnbanResponseMessage unbanResponse = 1062;
GetInfoRequestMessage getInfoRequest = 1063;
GetInfoResponseMessage getInfoResponse = 1064;
+ StopNotifyingUtxosChangedRequestMessage stopNotifyingUtxosChangedRequest = 1065;
+ StopNotifyingUtxosChangedResponseMessage stopNotifyingUtxosChangedResponse = 1066;
}
}
diff --git a/infrastructure/network/netadapter/server/grpcserver/protowire/rpc.md b/infrastructure/network/netadapter/server/grpcserver/protowire/rpc.md
index 0b99f9ba0..c729ca6e7 100644
--- a/infrastructure/network/netadapter/server/grpcserver/protowire/rpc.md
+++ b/infrastructure/network/netadapter/server/grpcserver/protowire/rpc.md
@@ -58,26 +58,28 @@
- [ResolveFinalityConflictResponseMessage](#protowire.ResolveFinalityConflictResponseMessage)
- [NotifyFinalityConflictsRequestMessage](#protowire.NotifyFinalityConflictsRequestMessage)
- [NotifyFinalityConflictsResponseMessage](#protowire.NotifyFinalityConflictsResponseMessage)
- - [FinalityConflictNotificationMessage](#protowire.FinalityConflictNotificationMessage)
- - [FinalityConflictResolvedNotificationMessage](#protowire.FinalityConflictResolvedNotificationMessage)
- - [ShutDownRequestMessage](#protowire.ShutDownRequestMessage)
- - [ShutDownResponseMessage](#protowire.ShutDownResponseMessage)
- - [GetHeadersRequestMessage](#protowire.GetHeadersRequestMessage)
- - [GetHeadersResponseMessage](#protowire.GetHeadersResponseMessage)
- - [NotifyUtxosChangedRequestMessage](#protowire.NotifyUtxosChangedRequestMessage)
- - [NotifyUtxosChangedResponseMessage](#protowire.NotifyUtxosChangedResponseMessage)
- - [UtxosChangedNotificationMessage](#protowire.UtxosChangedNotificationMessage)
- - [UtxosByAddressesEntry](#protowire.UtxosByAddressesEntry)
- - [RpcTransaction](#protowire.RpcTransaction)
- - [RpcTransactionInput](#protowire.RpcTransactionInput)
- - [RpcScriptPublicKey](#protowire.RpcScriptPublicKey)
- - [RpcTransactionOutput](#protowire.RpcTransactionOutput)
- - [RpcOutpoint](#protowire.RpcOutpoint)
- - [RpcUtxoEntry](#protowire.RpcUtxoEntry)
- - [GetUtxosByAddressesRequestMessage](#protowire.GetUtxosByAddressesRequestMessage)
- - [GetUtxosByAddressesResponseMessage](#protowire.GetUtxosByAddressesResponseMessage)
- - [GetVirtualSelectedParentBlueScoreRequestMessage](#protowire.GetVirtualSelectedParentBlueScoreRequestMessage)
- - [GetVirtualSelectedParentBlueScoreResponseMessage](#protowire.GetVirtualSelectedParentBlueScoreResponseMessage)
+ - [FinalityConflictNotificationMessage](#protowire.FinalityConflictNotificationMessage)
+ - [FinalityConflictResolvedNotificationMessage](#protowire.FinalityConflictResolvedNotificationMessage)
+ - [ShutDownRequestMessage](#protowire.ShutDownRequestMessage)
+ - [ShutDownResponseMessage](#protowire.ShutDownResponseMessage)
+ - [GetHeadersRequestMessage](#protowire.GetHeadersRequestMessage)
+ - [GetHeadersResponseMessage](#protowire.GetHeadersResponseMessage)
+ - [NotifyUtxosChangedRequestMessage](#protowire.NotifyUtxosChangedRequestMessage)
+ - [NotifyUtxosChangedResponseMessage](#protowire.NotifyUtxosChangedResponseMessage)
+ - [UtxosChangedNotificationMessage](#protowire.UtxosChangedNotificationMessage)
+ - [UtxosByAddressesEntry](#protowire.UtxosByAddressesEntry)
+ - [StopNotifyingUtxosChangedRequestMessage](#protowire.StopNotifyingUtxosChangedRequestMessage)
+ - [StopNotifyingUtxosChangedResponseMessage](#protowire.StopNotifyingUtxosChangedResponseMessage)
+ - [RpcTransaction](#protowire.RpcTransaction)
+ - [RpcTransactionInput](#protowire.RpcTransactionInput)
+ - [RpcScriptPublicKey](#protowire.RpcScriptPublicKey)
+ - [RpcTransactionOutput](#protowire.RpcTransactionOutput)
+ - [RpcOutpoint](#protowire.RpcOutpoint)
+ - [RpcUtxoEntry](#protowire.RpcUtxoEntry)
+ - [GetUtxosByAddressesRequestMessage](#protowire.GetUtxosByAddressesRequestMessage)
+ - [GetUtxosByAddressesResponseMessage](#protowire.GetUtxosByAddressesResponseMessage)
+ - [GetVirtualSelectedParentBlueScoreRequestMessage](#protowire.GetVirtualSelectedParentBlueScoreRequestMessage)
+ - [GetVirtualSelectedParentBlueScoreResponseMessage](#protowire.GetVirtualSelectedParentBlueScoreResponseMessage)
- [NotifyVirtualSelectedParentBlueScoreChangedRequestMessage](#protowire.NotifyVirtualSelectedParentBlueScoreChangedRequestMessage)
- [NotifyVirtualSelectedParentBlueScoreChangedResponseMessage](#protowire.NotifyVirtualSelectedParentBlueScoreChangedResponseMessage)
- [VirtualSelectedParentBlueScoreChangedNotificationMessage](#protowire.VirtualSelectedParentBlueScoreChangedNotificationMessage)
@@ -857,7 +859,6 @@ kaspad's current virtual.
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| blockHashes | [string](#string) | repeated | |
-| blockHexes | [string](#string) | repeated | |
| blockVerboseData | [BlockVerboseData](#protowire.BlockVerboseData) | repeated | |
| error | [RPCError](#protowire.RPCError) | | |
@@ -1128,25 +1129,39 @@ See: NotifyUtxosChangedRequestMessage
### UtxosByAddressesEntry
-
-
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| address | [string](#string) | | |
| outpoint | [RpcOutpoint](#protowire.RpcOutpoint) | | |
| utxoEntry | [RpcUtxoEntry](#protowire.RpcUtxoEntry) | | |
+
+### StopNotifyingUtxosChangedRequestMessage
+StopNotifyingUtxosChangedRequestMessage unregisters this connection for utxoChanged notifications for the given
+addresses.
+This call is only available when this kaspad was started with `--utxoindex`
+See: UtxosChangedNotificationMessage
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| addresses | [string](#string) | repeated | |
+
+
+
+### StopNotifyingUtxosChangedResponseMessage
+
+| Field | Type | Label | Description |
+| ----- | ---- | ----- | ----------- |
+| error | [RPCError](#protowire.RPCError) | | |
### RpcTransaction
-
-
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| version | [uint32](#uint32) | | |
diff --git a/infrastructure/network/netadapter/server/grpcserver/protowire/rpc.pb.go b/infrastructure/network/netadapter/server/grpcserver/protowire/rpc.pb.go
index a028b571a..e6c32338d 100644
--- a/infrastructure/network/netadapter/server/grpcserver/protowire/rpc.pb.go
+++ b/infrastructure/network/netadapter/server/grpcserver/protowire/rpc.pb.go
@@ -3773,6 +3773,106 @@ func (x *UtxosByAddressesEntry) GetUtxoEntry() *RpcUtxoEntry {
return nil
}
+// StopNotifyingUtxosChangedRequestMessage unregisters this connection for utxoChanged notifications
+// for the given addresses.
+//
+// This call is only available when this kaspad was started with `--utxoindex`
+//
+// See: UtxosChangedNotificationMessage
+type StopNotifyingUtxosChangedRequestMessage struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Addresses []string `protobuf:"bytes,1,rep,name=addresses,proto3" json:"addresses,omitempty"`
+}
+
+func (x *StopNotifyingUtxosChangedRequestMessage) Reset() {
+ *x = StopNotifyingUtxosChangedRequestMessage{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_rpc_proto_msgTypes[64]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StopNotifyingUtxosChangedRequestMessage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StopNotifyingUtxosChangedRequestMessage) ProtoMessage() {}
+
+func (x *StopNotifyingUtxosChangedRequestMessage) ProtoReflect() protoreflect.Message {
+ mi := &file_rpc_proto_msgTypes[64]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StopNotifyingUtxosChangedRequestMessage.ProtoReflect.Descriptor instead.
+func (*StopNotifyingUtxosChangedRequestMessage) Descriptor() ([]byte, []int) {
+ return file_rpc_proto_rawDescGZIP(), []int{64}
+}
+
+func (x *StopNotifyingUtxosChangedRequestMessage) GetAddresses() []string {
+ if x != nil {
+ return x.Addresses
+ }
+ return nil
+}
+
+type StopNotifyingUtxosChangedResponseMessage struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ Error *RPCError `protobuf:"bytes,1000,opt,name=error,proto3" json:"error,omitempty"`
+}
+
+func (x *StopNotifyingUtxosChangedResponseMessage) Reset() {
+ *x = StopNotifyingUtxosChangedResponseMessage{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_rpc_proto_msgTypes[65]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *StopNotifyingUtxosChangedResponseMessage) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*StopNotifyingUtxosChangedResponseMessage) ProtoMessage() {}
+
+func (x *StopNotifyingUtxosChangedResponseMessage) ProtoReflect() protoreflect.Message {
+ mi := &file_rpc_proto_msgTypes[65]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use StopNotifyingUtxosChangedResponseMessage.ProtoReflect.Descriptor instead.
+func (*StopNotifyingUtxosChangedResponseMessage) Descriptor() ([]byte, []int) {
+ return file_rpc_proto_rawDescGZIP(), []int{65}
+}
+
+func (x *StopNotifyingUtxosChangedResponseMessage) GetError() *RPCError {
+ if x != nil {
+ return x.Error
+ }
+ return nil
+}
+
type RpcTransaction struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
@@ -3791,7 +3891,7 @@ type RpcTransaction struct {
func (x *RpcTransaction) Reset() {
*x = RpcTransaction{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[64]
+ mi := &file_rpc_proto_msgTypes[66]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3804,7 +3904,7 @@ func (x *RpcTransaction) String() string {
func (*RpcTransaction) ProtoMessage() {}
func (x *RpcTransaction) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[64]
+ mi := &file_rpc_proto_msgTypes[66]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3817,7 +3917,7 @@ func (x *RpcTransaction) ProtoReflect() protoreflect.Message {
// Deprecated: Use RpcTransaction.ProtoReflect.Descriptor instead.
func (*RpcTransaction) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{64}
+ return file_rpc_proto_rawDescGZIP(), []int{66}
}
func (x *RpcTransaction) GetVersion() uint32 {
@@ -3889,7 +3989,7 @@ type RpcTransactionInput struct {
func (x *RpcTransactionInput) Reset() {
*x = RpcTransactionInput{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[65]
+ mi := &file_rpc_proto_msgTypes[67]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3902,7 +4002,7 @@ func (x *RpcTransactionInput) String() string {
func (*RpcTransactionInput) ProtoMessage() {}
func (x *RpcTransactionInput) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[65]
+ mi := &file_rpc_proto_msgTypes[67]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3915,7 +4015,7 @@ func (x *RpcTransactionInput) ProtoReflect() protoreflect.Message {
// Deprecated: Use RpcTransactionInput.ProtoReflect.Descriptor instead.
func (*RpcTransactionInput) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{65}
+ return file_rpc_proto_rawDescGZIP(), []int{67}
}
func (x *RpcTransactionInput) GetPreviousOutpoint() *RpcOutpoint {
@@ -3951,7 +4051,7 @@ type RpcScriptPublicKey struct {
func (x *RpcScriptPublicKey) Reset() {
*x = RpcScriptPublicKey{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[66]
+ mi := &file_rpc_proto_msgTypes[68]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -3964,7 +4064,7 @@ func (x *RpcScriptPublicKey) String() string {
func (*RpcScriptPublicKey) ProtoMessage() {}
func (x *RpcScriptPublicKey) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[66]
+ mi := &file_rpc_proto_msgTypes[68]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3977,7 +4077,7 @@ func (x *RpcScriptPublicKey) ProtoReflect() protoreflect.Message {
// Deprecated: Use RpcScriptPublicKey.ProtoReflect.Descriptor instead.
func (*RpcScriptPublicKey) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{66}
+ return file_rpc_proto_rawDescGZIP(), []int{68}
}
func (x *RpcScriptPublicKey) GetVersion() uint32 {
@@ -4006,7 +4106,7 @@ type RpcTransactionOutput struct {
func (x *RpcTransactionOutput) Reset() {
*x = RpcTransactionOutput{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[67]
+ mi := &file_rpc_proto_msgTypes[69]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4019,7 +4119,7 @@ func (x *RpcTransactionOutput) String() string {
func (*RpcTransactionOutput) ProtoMessage() {}
func (x *RpcTransactionOutput) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[67]
+ mi := &file_rpc_proto_msgTypes[69]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4032,7 +4132,7 @@ func (x *RpcTransactionOutput) ProtoReflect() protoreflect.Message {
// Deprecated: Use RpcTransactionOutput.ProtoReflect.Descriptor instead.
func (*RpcTransactionOutput) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{67}
+ return file_rpc_proto_rawDescGZIP(), []int{69}
}
func (x *RpcTransactionOutput) GetAmount() uint64 {
@@ -4061,7 +4161,7 @@ type RpcOutpoint struct {
func (x *RpcOutpoint) Reset() {
*x = RpcOutpoint{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[68]
+ mi := &file_rpc_proto_msgTypes[70]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4074,7 +4174,7 @@ func (x *RpcOutpoint) String() string {
func (*RpcOutpoint) ProtoMessage() {}
func (x *RpcOutpoint) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[68]
+ mi := &file_rpc_proto_msgTypes[70]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4087,7 +4187,7 @@ func (x *RpcOutpoint) ProtoReflect() protoreflect.Message {
// Deprecated: Use RpcOutpoint.ProtoReflect.Descriptor instead.
func (*RpcOutpoint) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{68}
+ return file_rpc_proto_rawDescGZIP(), []int{70}
}
func (x *RpcOutpoint) GetTransactionId() string {
@@ -4118,7 +4218,7 @@ type RpcUtxoEntry struct {
func (x *RpcUtxoEntry) Reset() {
*x = RpcUtxoEntry{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[69]
+ mi := &file_rpc_proto_msgTypes[71]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4131,7 +4231,7 @@ func (x *RpcUtxoEntry) String() string {
func (*RpcUtxoEntry) ProtoMessage() {}
func (x *RpcUtxoEntry) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[69]
+ mi := &file_rpc_proto_msgTypes[71]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4144,7 +4244,7 @@ func (x *RpcUtxoEntry) ProtoReflect() protoreflect.Message {
// Deprecated: Use RpcUtxoEntry.ProtoReflect.Descriptor instead.
func (*RpcUtxoEntry) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{69}
+ return file_rpc_proto_rawDescGZIP(), []int{71}
}
func (x *RpcUtxoEntry) GetAmount() uint64 {
@@ -4189,7 +4289,7 @@ type GetUtxosByAddressesRequestMessage struct {
func (x *GetUtxosByAddressesRequestMessage) Reset() {
*x = GetUtxosByAddressesRequestMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[70]
+ mi := &file_rpc_proto_msgTypes[72]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4202,7 +4302,7 @@ func (x *GetUtxosByAddressesRequestMessage) String() string {
func (*GetUtxosByAddressesRequestMessage) ProtoMessage() {}
func (x *GetUtxosByAddressesRequestMessage) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[70]
+ mi := &file_rpc_proto_msgTypes[72]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4215,7 +4315,7 @@ func (x *GetUtxosByAddressesRequestMessage) ProtoReflect() protoreflect.Message
// Deprecated: Use GetUtxosByAddressesRequestMessage.ProtoReflect.Descriptor instead.
func (*GetUtxosByAddressesRequestMessage) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{70}
+ return file_rpc_proto_rawDescGZIP(), []int{72}
}
func (x *GetUtxosByAddressesRequestMessage) GetAddresses() []string {
@@ -4237,7 +4337,7 @@ type GetUtxosByAddressesResponseMessage struct {
func (x *GetUtxosByAddressesResponseMessage) Reset() {
*x = GetUtxosByAddressesResponseMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[71]
+ mi := &file_rpc_proto_msgTypes[73]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4250,7 +4350,7 @@ func (x *GetUtxosByAddressesResponseMessage) String() string {
func (*GetUtxosByAddressesResponseMessage) ProtoMessage() {}
func (x *GetUtxosByAddressesResponseMessage) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[71]
+ mi := &file_rpc_proto_msgTypes[73]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4263,7 +4363,7 @@ func (x *GetUtxosByAddressesResponseMessage) ProtoReflect() protoreflect.Message
// Deprecated: Use GetUtxosByAddressesResponseMessage.ProtoReflect.Descriptor instead.
func (*GetUtxosByAddressesResponseMessage) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{71}
+ return file_rpc_proto_rawDescGZIP(), []int{73}
}
func (x *GetUtxosByAddressesResponseMessage) GetEntries() []*UtxosByAddressesEntry {
@@ -4291,7 +4391,7 @@ type GetVirtualSelectedParentBlueScoreRequestMessage struct {
func (x *GetVirtualSelectedParentBlueScoreRequestMessage) Reset() {
*x = GetVirtualSelectedParentBlueScoreRequestMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[72]
+ mi := &file_rpc_proto_msgTypes[74]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4304,7 +4404,7 @@ func (x *GetVirtualSelectedParentBlueScoreRequestMessage) String() string {
func (*GetVirtualSelectedParentBlueScoreRequestMessage) ProtoMessage() {}
func (x *GetVirtualSelectedParentBlueScoreRequestMessage) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[72]
+ mi := &file_rpc_proto_msgTypes[74]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4317,7 +4417,7 @@ func (x *GetVirtualSelectedParentBlueScoreRequestMessage) ProtoReflect() protore
// Deprecated: Use GetVirtualSelectedParentBlueScoreRequestMessage.ProtoReflect.Descriptor instead.
func (*GetVirtualSelectedParentBlueScoreRequestMessage) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{72}
+ return file_rpc_proto_rawDescGZIP(), []int{74}
}
type GetVirtualSelectedParentBlueScoreResponseMessage struct {
@@ -4332,7 +4432,7 @@ type GetVirtualSelectedParentBlueScoreResponseMessage struct {
func (x *GetVirtualSelectedParentBlueScoreResponseMessage) Reset() {
*x = GetVirtualSelectedParentBlueScoreResponseMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[73]
+ mi := &file_rpc_proto_msgTypes[75]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4345,7 +4445,7 @@ func (x *GetVirtualSelectedParentBlueScoreResponseMessage) String() string {
func (*GetVirtualSelectedParentBlueScoreResponseMessage) ProtoMessage() {}
func (x *GetVirtualSelectedParentBlueScoreResponseMessage) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[73]
+ mi := &file_rpc_proto_msgTypes[75]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4358,7 +4458,7 @@ func (x *GetVirtualSelectedParentBlueScoreResponseMessage) ProtoReflect() protor
// Deprecated: Use GetVirtualSelectedParentBlueScoreResponseMessage.ProtoReflect.Descriptor instead.
func (*GetVirtualSelectedParentBlueScoreResponseMessage) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{73}
+ return file_rpc_proto_rawDescGZIP(), []int{75}
}
func (x *GetVirtualSelectedParentBlueScoreResponseMessage) GetBlueScore() uint64 {
@@ -4388,7 +4488,7 @@ type NotifyVirtualSelectedParentBlueScoreChangedRequestMessage struct {
func (x *NotifyVirtualSelectedParentBlueScoreChangedRequestMessage) Reset() {
*x = NotifyVirtualSelectedParentBlueScoreChangedRequestMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[74]
+ mi := &file_rpc_proto_msgTypes[76]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4401,7 +4501,7 @@ func (x *NotifyVirtualSelectedParentBlueScoreChangedRequestMessage) String() str
func (*NotifyVirtualSelectedParentBlueScoreChangedRequestMessage) ProtoMessage() {}
func (x *NotifyVirtualSelectedParentBlueScoreChangedRequestMessage) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[74]
+ mi := &file_rpc_proto_msgTypes[76]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4414,7 +4514,7 @@ func (x *NotifyVirtualSelectedParentBlueScoreChangedRequestMessage) ProtoReflect
// Deprecated: Use NotifyVirtualSelectedParentBlueScoreChangedRequestMessage.ProtoReflect.Descriptor instead.
func (*NotifyVirtualSelectedParentBlueScoreChangedRequestMessage) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{74}
+ return file_rpc_proto_rawDescGZIP(), []int{76}
}
type NotifyVirtualSelectedParentBlueScoreChangedResponseMessage struct {
@@ -4428,7 +4528,7 @@ type NotifyVirtualSelectedParentBlueScoreChangedResponseMessage struct {
func (x *NotifyVirtualSelectedParentBlueScoreChangedResponseMessage) Reset() {
*x = NotifyVirtualSelectedParentBlueScoreChangedResponseMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[75]
+ mi := &file_rpc_proto_msgTypes[77]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4441,7 +4541,7 @@ func (x *NotifyVirtualSelectedParentBlueScoreChangedResponseMessage) String() st
func (*NotifyVirtualSelectedParentBlueScoreChangedResponseMessage) ProtoMessage() {}
func (x *NotifyVirtualSelectedParentBlueScoreChangedResponseMessage) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[75]
+ mi := &file_rpc_proto_msgTypes[77]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4454,7 +4554,7 @@ func (x *NotifyVirtualSelectedParentBlueScoreChangedResponseMessage) ProtoReflec
// Deprecated: Use NotifyVirtualSelectedParentBlueScoreChangedResponseMessage.ProtoReflect.Descriptor instead.
func (*NotifyVirtualSelectedParentBlueScoreChangedResponseMessage) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{75}
+ return file_rpc_proto_rawDescGZIP(), []int{77}
}
func (x *NotifyVirtualSelectedParentBlueScoreChangedResponseMessage) GetError() *RPCError {
@@ -4479,7 +4579,7 @@ type VirtualSelectedParentBlueScoreChangedNotificationMessage struct {
func (x *VirtualSelectedParentBlueScoreChangedNotificationMessage) Reset() {
*x = VirtualSelectedParentBlueScoreChangedNotificationMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[76]
+ mi := &file_rpc_proto_msgTypes[78]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4492,7 +4592,7 @@ func (x *VirtualSelectedParentBlueScoreChangedNotificationMessage) String() stri
func (*VirtualSelectedParentBlueScoreChangedNotificationMessage) ProtoMessage() {}
func (x *VirtualSelectedParentBlueScoreChangedNotificationMessage) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[76]
+ mi := &file_rpc_proto_msgTypes[78]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4505,7 +4605,7 @@ func (x *VirtualSelectedParentBlueScoreChangedNotificationMessage) ProtoReflect(
// Deprecated: Use VirtualSelectedParentBlueScoreChangedNotificationMessage.ProtoReflect.Descriptor instead.
func (*VirtualSelectedParentBlueScoreChangedNotificationMessage) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{76}
+ return file_rpc_proto_rawDescGZIP(), []int{78}
}
func (x *VirtualSelectedParentBlueScoreChangedNotificationMessage) GetVirtualSelectedParentBlueScore() uint64 {
@@ -4527,7 +4627,7 @@ type BanRequestMessage struct {
func (x *BanRequestMessage) Reset() {
*x = BanRequestMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[77]
+ mi := &file_rpc_proto_msgTypes[79]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4540,7 +4640,7 @@ func (x *BanRequestMessage) String() string {
func (*BanRequestMessage) ProtoMessage() {}
func (x *BanRequestMessage) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[77]
+ mi := &file_rpc_proto_msgTypes[79]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4553,7 +4653,7 @@ func (x *BanRequestMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use BanRequestMessage.ProtoReflect.Descriptor instead.
func (*BanRequestMessage) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{77}
+ return file_rpc_proto_rawDescGZIP(), []int{79}
}
func (x *BanRequestMessage) GetIp() string {
@@ -4574,7 +4674,7 @@ type BanResponseMessage struct {
func (x *BanResponseMessage) Reset() {
*x = BanResponseMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[78]
+ mi := &file_rpc_proto_msgTypes[80]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4587,7 +4687,7 @@ func (x *BanResponseMessage) String() string {
func (*BanResponseMessage) ProtoMessage() {}
func (x *BanResponseMessage) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[78]
+ mi := &file_rpc_proto_msgTypes[80]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4600,7 +4700,7 @@ func (x *BanResponseMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use BanResponseMessage.ProtoReflect.Descriptor instead.
func (*BanResponseMessage) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{78}
+ return file_rpc_proto_rawDescGZIP(), []int{80}
}
func (x *BanResponseMessage) GetError() *RPCError {
@@ -4622,7 +4722,7 @@ type UnbanRequestMessage struct {
func (x *UnbanRequestMessage) Reset() {
*x = UnbanRequestMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[79]
+ mi := &file_rpc_proto_msgTypes[81]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4635,7 +4735,7 @@ func (x *UnbanRequestMessage) String() string {
func (*UnbanRequestMessage) ProtoMessage() {}
func (x *UnbanRequestMessage) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[79]
+ mi := &file_rpc_proto_msgTypes[81]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4648,7 +4748,7 @@ func (x *UnbanRequestMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use UnbanRequestMessage.ProtoReflect.Descriptor instead.
func (*UnbanRequestMessage) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{79}
+ return file_rpc_proto_rawDescGZIP(), []int{81}
}
func (x *UnbanRequestMessage) GetIp() string {
@@ -4669,7 +4769,7 @@ type UnbanResponseMessage struct {
func (x *UnbanResponseMessage) Reset() {
*x = UnbanResponseMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[80]
+ mi := &file_rpc_proto_msgTypes[82]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4682,7 +4782,7 @@ func (x *UnbanResponseMessage) String() string {
func (*UnbanResponseMessage) ProtoMessage() {}
func (x *UnbanResponseMessage) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[80]
+ mi := &file_rpc_proto_msgTypes[82]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4695,7 +4795,7 @@ func (x *UnbanResponseMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use UnbanResponseMessage.ProtoReflect.Descriptor instead.
func (*UnbanResponseMessage) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{80}
+ return file_rpc_proto_rawDescGZIP(), []int{82}
}
func (x *UnbanResponseMessage) GetError() *RPCError {
@@ -4715,7 +4815,7 @@ type GetInfoRequestMessage struct {
func (x *GetInfoRequestMessage) Reset() {
*x = GetInfoRequestMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[81]
+ mi := &file_rpc_proto_msgTypes[83]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4728,7 +4828,7 @@ func (x *GetInfoRequestMessage) String() string {
func (*GetInfoRequestMessage) ProtoMessage() {}
func (x *GetInfoRequestMessage) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[81]
+ mi := &file_rpc_proto_msgTypes[83]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4741,7 +4841,7 @@ func (x *GetInfoRequestMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetInfoRequestMessage.ProtoReflect.Descriptor instead.
func (*GetInfoRequestMessage) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{81}
+ return file_rpc_proto_rawDescGZIP(), []int{83}
}
type GetInfoResponseMessage struct {
@@ -4756,7 +4856,7 @@ type GetInfoResponseMessage struct {
func (x *GetInfoResponseMessage) Reset() {
*x = GetInfoResponseMessage{}
if protoimpl.UnsafeEnabled {
- mi := &file_rpc_proto_msgTypes[82]
+ mi := &file_rpc_proto_msgTypes[84]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
@@ -4769,7 +4869,7 @@ func (x *GetInfoResponseMessage) String() string {
func (*GetInfoResponseMessage) ProtoMessage() {}
func (x *GetInfoResponseMessage) ProtoReflect() protoreflect.Message {
- mi := &file_rpc_proto_msgTypes[82]
+ mi := &file_rpc_proto_msgTypes[84]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -4782,7 +4882,7 @@ func (x *GetInfoResponseMessage) ProtoReflect() protoreflect.Message {
// Deprecated: Use GetInfoResponseMessage.ProtoReflect.Descriptor instead.
func (*GetInfoResponseMessage) Descriptor() ([]byte, []int) {
- return file_rpc_proto_rawDescGZIP(), []int{82}
+ return file_rpc_proto_rawDescGZIP(), []int{84}
}
func (x *GetInfoResponseMessage) GetP2PId() string {
@@ -5299,131 +5399,141 @@ var file_rpc_proto_rawDesc = []byte{
0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x70, 0x63, 0x55, 0x74, 0x78, 0x6f,
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x75, 0x74, 0x78, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79,
- 0x22, 0xab, 0x02, 0x0a, 0x0e, 0x52, 0x70, 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74,
- 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a,
- 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x70, 0x63, 0x54, 0x72, 0x61,
- 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x06, 0x69,
- 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73,
- 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69,
- 0x72, 0x65, 0x2e, 0x52, 0x70, 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
- 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x73,
- 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x04, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c,
- 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64,
- 0x12, 0x10, 0x0a, 0x03, 0x67, 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x67,
- 0x61, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x61, 0x73,
- 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
- 0x48, 0x61, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18,
- 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x9f,
- 0x01, 0x0a, 0x13, 0x52, 0x70, 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
- 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x42, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f,
- 0x75, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x70, 0x63,
- 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f,
- 0x75, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x69,
- 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x63,
- 0x72, 0x69, 0x70, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65,
- 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65,
- 0x22, 0x58, 0x0a, 0x12, 0x52, 0x70, 0x63, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62,
- 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63,
- 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x72, 0x69, 0x70,
- 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x77, 0x0a, 0x14, 0x52, 0x70,
- 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70,
- 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x04, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0f, 0x73, 0x63,
- 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e,
- 0x52, 0x70, 0x63, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b,
- 0x65, 0x79, 0x52, 0x0f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63,
- 0x4b, 0x65, 0x79, 0x22, 0x49, 0x0a, 0x0b, 0x52, 0x70, 0x63, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69,
- 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f,
- 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73,
- 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65,
- 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xb7,
- 0x01, 0x0a, 0x0c, 0x52, 0x70, 0x63, 0x55, 0x74, 0x78, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
- 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52,
- 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0f, 0x73, 0x63, 0x72, 0x69, 0x70,
- 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x70, 0x63,
- 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x52,
- 0x0f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79,
- 0x12, 0x26, 0x0a, 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f,
- 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x42,
- 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x43, 0x6f,
- 0x69, 0x6e, 0x62, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73,
- 0x43, 0x6f, 0x69, 0x6e, 0x62, 0x61, 0x73, 0x65, 0x22, 0x41, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x55,
- 0x74, 0x78, 0x6f, 0x73, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a,
- 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09,
- 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x22,
- 0x47, 0x65, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73,
- 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
- 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e,
+ 0x22, 0x47, 0x0a, 0x27, 0x53, 0x74, 0x6f, 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e,
+ 0x67, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x61,
+ 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09,
+ 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x56, 0x0a, 0x28, 0x53, 0x74, 0x6f,
+ 0x70, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x43,
+ 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65,
+ 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8,
+ 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72,
+ 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f,
+ 0x72, 0x22, 0xab, 0x02, 0x0a, 0x0e, 0x52, 0x70, 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36,
+ 0x0a, 0x06, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x70, 0x63, 0x54, 0x72,
+ 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x52, 0x06,
+ 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
+ 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77,
+ 0x69, 0x72, 0x65, 0x2e, 0x52, 0x70, 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x07, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74,
+ 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a,
+ 0x0c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x64, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49,
+ 0x64, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x61, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03,
+ 0x67, 0x61, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x48, 0x61,
+ 0x73, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61,
+ 0x64, 0x48, 0x61, 0x73, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64,
+ 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22,
+ 0x9f, 0x01, 0x0a, 0x13, 0x52, 0x70, 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x42, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x76, 0x69,
+ 0x6f, 0x75, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x70,
+ 0x63, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x10, 0x70, 0x72, 0x65, 0x76, 0x69,
+ 0x6f, 0x75, 0x73, 0x4f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x73,
+ 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53,
+ 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
+ 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63,
+ 0x65, 0x22, 0x58, 0x0a, 0x12, 0x52, 0x70, 0x63, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75,
+ 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69,
+ 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
+ 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69,
+ 0x63, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x73, 0x63, 0x72, 0x69,
+ 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x22, 0x77, 0x0a, 0x14, 0x52,
+ 0x70, 0x63, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74,
+ 0x70, 0x75, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x04, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0f, 0x73,
+ 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65,
+ 0x2e, 0x52, 0x70, 0x63, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63,
+ 0x4b, 0x65, 0x79, 0x52, 0x0f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69,
+ 0x63, 0x4b, 0x65, 0x79, 0x22, 0x49, 0x0a, 0x0b, 0x52, 0x70, 0x63, 0x4f, 0x75, 0x74, 0x70, 0x6f,
+ 0x69, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x72, 0x61, 0x6e,
+ 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6e, 0x64,
+ 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x22,
+ 0xb7, 0x01, 0x0a, 0x0c, 0x52, 0x70, 0x63, 0x55, 0x74, 0x78, 0x6f, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04,
+ 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x47, 0x0a, 0x0f, 0x73, 0x63, 0x72, 0x69,
+ 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x70,
+ 0x63, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65, 0x79,
+ 0x52, 0x0f, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x4b, 0x65,
+ 0x79, 0x12, 0x26, 0x0a, 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63,
+ 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x62, 0x6c, 0x6f, 0x63, 0x6b,
+ 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x43,
+ 0x6f, 0x69, 0x6e, 0x62, 0x61, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69,
+ 0x73, 0x43, 0x6f, 0x69, 0x6e, 0x62, 0x61, 0x73, 0x65, 0x22, 0x41, 0x0a, 0x21, 0x47, 0x65, 0x74,
0x55, 0x74, 0x78, 0x6f, 0x73, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73,
- 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2a,
- 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72,
- 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x31, 0x0a, 0x2f, 0x47, 0x65,
- 0x74, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64,
- 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x7c, 0x0a,
- 0x30, 0x47, 0x65, 0x74, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63,
- 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f,
- 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67,
- 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1c,
+ 0x0a, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
+ 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x22, 0x8c, 0x01, 0x0a,
+ 0x22, 0x47, 0x65, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65,
+ 0x73, 0x73, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01,
+ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65,
+ 0x2e, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x42, 0x79, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65,
+ 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12,
0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45,
- 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x3b, 0x0a, 0x39, 0x4e,
- 0x6f, 0x74, 0x69, 0x66, 0x79, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65,
- 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63,
- 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x68, 0x0a, 0x3a, 0x4e, 0x6f, 0x74, 0x69,
- 0x66, 0x79, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65,
+ 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x31, 0x0a, 0x2f, 0x47,
+ 0x65, 0x74, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65,
0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65,
- 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d,
- 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18,
- 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69,
- 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72,
- 0x6f, 0x72, 0x22, 0x82, 0x01, 0x0a, 0x38, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65,
- 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65,
- 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x74, 0x69,
- 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12,
- 0x46, 0x0a, 0x1e, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x7c,
+ 0x0a, 0x30, 0x47, 0x65, 0x74, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65,
+ 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63,
+ 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
+ 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x62, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65,
+ 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43,
+ 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x3b, 0x0a, 0x39,
+ 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c,
+ 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53,
+ 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x68, 0x0a, 0x3a, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x79, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72,
- 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1e, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c,
- 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c,
- 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x23, 0x0a, 0x11, 0x42, 0x61, 0x6e, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02,
- 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0x40, 0x0a, 0x12,
- 0x42, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61,
- 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52,
- 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x25,
- 0x0a, 0x13, 0x55, 0x6e, 0x62, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65,
- 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0x42, 0x0a, 0x14, 0x55, 0x6e, 0x62, 0x61, 0x6e, 0x52, 0x65,
- 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a,
- 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72,
- 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65, 0x74,
- 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61,
- 0x67, 0x65, 0x22, 0x5a, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73,
- 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05,
- 0x70, 0x32, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x32, 0x70,
- 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52,
- 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x26,
- 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6b, 0x61, 0x73,
- 0x70, 0x61, 0x6e, 0x65, 0x74, 0x2f, 0x6b, 0x61, 0x73, 0x70, 0x61, 0x64, 0x2f, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
+ 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77,
+ 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72,
+ 0x72, 0x6f, 0x72, 0x22, 0x82, 0x01, 0x0a, 0x38, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53,
+ 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75,
+ 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
+ 0x12, 0x46, 0x0a, 0x1e, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63,
+ 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42, 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f,
+ 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x1e, 0x76, 0x69, 0x72, 0x74, 0x75, 0x61,
+ 0x6c, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x42,
+ 0x6c, 0x75, 0x65, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x22, 0x23, 0x0a, 0x11, 0x42, 0x61, 0x6e, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a,
+ 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0x40, 0x0a,
+ 0x12, 0x42, 0x61, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e,
+ 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22,
+ 0x25, 0x0a, 0x13, 0x55, 0x6e, 0x62, 0x61, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d,
+ 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0x42, 0x0a, 0x14, 0x55, 0x6e, 0x62, 0x61, 0x6e, 0x52,
+ 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a,
+ 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e, 0x52, 0x50, 0x43, 0x45, 0x72,
+ 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x17, 0x0a, 0x15, 0x47, 0x65,
+ 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x22, 0x5a, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x14, 0x0a,
+ 0x05, 0x70, 0x32, 0x70, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x32,
+ 0x70, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0xe8, 0x07, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x2e,
+ 0x52, 0x50, 0x43, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42,
+ 0x26, 0x5a, 0x24, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6b, 0x61,
+ 0x73, 0x70, 0x61, 0x6e, 0x65, 0x74, 0x2f, 0x6b, 0x61, 0x73, 0x70, 0x61, 0x64, 0x2f, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x77, 0x69, 0x72, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -5439,7 +5549,7 @@ func file_rpc_proto_rawDescGZIP() []byte {
}
var file_rpc_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
-var file_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 83)
+var file_rpc_proto_msgTypes = make([]protoimpl.MessageInfo, 85)
var file_rpc_proto_goTypes = []interface{}{
(SubmitBlockResponseMessage_RejectReason)(0), // 0: protowire.SubmitBlockResponseMessage.RejectReason
(*RPCError)(nil), // 1: protowire.RPCError
@@ -5506,36 +5616,38 @@ var file_rpc_proto_goTypes = []interface{}{
(*NotifyUtxosChangedResponseMessage)(nil), // 62: protowire.NotifyUtxosChangedResponseMessage
(*UtxosChangedNotificationMessage)(nil), // 63: protowire.UtxosChangedNotificationMessage
(*UtxosByAddressesEntry)(nil), // 64: protowire.UtxosByAddressesEntry
- (*RpcTransaction)(nil), // 65: protowire.RpcTransaction
- (*RpcTransactionInput)(nil), // 66: protowire.RpcTransactionInput
- (*RpcScriptPublicKey)(nil), // 67: protowire.RpcScriptPublicKey
- (*RpcTransactionOutput)(nil), // 68: protowire.RpcTransactionOutput
- (*RpcOutpoint)(nil), // 69: protowire.RpcOutpoint
- (*RpcUtxoEntry)(nil), // 70: protowire.RpcUtxoEntry
- (*GetUtxosByAddressesRequestMessage)(nil), // 71: protowire.GetUtxosByAddressesRequestMessage
- (*GetUtxosByAddressesResponseMessage)(nil), // 72: protowire.GetUtxosByAddressesResponseMessage
- (*GetVirtualSelectedParentBlueScoreRequestMessage)(nil), // 73: protowire.GetVirtualSelectedParentBlueScoreRequestMessage
- (*GetVirtualSelectedParentBlueScoreResponseMessage)(nil), // 74: protowire.GetVirtualSelectedParentBlueScoreResponseMessage
- (*NotifyVirtualSelectedParentBlueScoreChangedRequestMessage)(nil), // 75: protowire.NotifyVirtualSelectedParentBlueScoreChangedRequestMessage
- (*NotifyVirtualSelectedParentBlueScoreChangedResponseMessage)(nil), // 76: protowire.NotifyVirtualSelectedParentBlueScoreChangedResponseMessage
- (*VirtualSelectedParentBlueScoreChangedNotificationMessage)(nil), // 77: protowire.VirtualSelectedParentBlueScoreChangedNotificationMessage
- (*BanRequestMessage)(nil), // 78: protowire.BanRequestMessage
- (*BanResponseMessage)(nil), // 79: protowire.BanResponseMessage
- (*UnbanRequestMessage)(nil), // 80: protowire.UnbanRequestMessage
- (*UnbanResponseMessage)(nil), // 81: protowire.UnbanResponseMessage
- (*GetInfoRequestMessage)(nil), // 82: protowire.GetInfoRequestMessage
- (*GetInfoResponseMessage)(nil), // 83: protowire.GetInfoResponseMessage
- (*BlockMessage)(nil), // 84: protowire.BlockMessage
+ (*StopNotifyingUtxosChangedRequestMessage)(nil), // 65: protowire.StopNotifyingUtxosChangedRequestMessage
+ (*StopNotifyingUtxosChangedResponseMessage)(nil), // 66: protowire.StopNotifyingUtxosChangedResponseMessage
+ (*RpcTransaction)(nil), // 67: protowire.RpcTransaction
+ (*RpcTransactionInput)(nil), // 68: protowire.RpcTransactionInput
+ (*RpcScriptPublicKey)(nil), // 69: protowire.RpcScriptPublicKey
+ (*RpcTransactionOutput)(nil), // 70: protowire.RpcTransactionOutput
+ (*RpcOutpoint)(nil), // 71: protowire.RpcOutpoint
+ (*RpcUtxoEntry)(nil), // 72: protowire.RpcUtxoEntry
+ (*GetUtxosByAddressesRequestMessage)(nil), // 73: protowire.GetUtxosByAddressesRequestMessage
+ (*GetUtxosByAddressesResponseMessage)(nil), // 74: protowire.GetUtxosByAddressesResponseMessage
+ (*GetVirtualSelectedParentBlueScoreRequestMessage)(nil), // 75: protowire.GetVirtualSelectedParentBlueScoreRequestMessage
+ (*GetVirtualSelectedParentBlueScoreResponseMessage)(nil), // 76: protowire.GetVirtualSelectedParentBlueScoreResponseMessage
+ (*NotifyVirtualSelectedParentBlueScoreChangedRequestMessage)(nil), // 77: protowire.NotifyVirtualSelectedParentBlueScoreChangedRequestMessage
+ (*NotifyVirtualSelectedParentBlueScoreChangedResponseMessage)(nil), // 78: protowire.NotifyVirtualSelectedParentBlueScoreChangedResponseMessage
+ (*VirtualSelectedParentBlueScoreChangedNotificationMessage)(nil), // 79: protowire.VirtualSelectedParentBlueScoreChangedNotificationMessage
+ (*BanRequestMessage)(nil), // 80: protowire.BanRequestMessage
+ (*BanResponseMessage)(nil), // 81: protowire.BanResponseMessage
+ (*UnbanRequestMessage)(nil), // 82: protowire.UnbanRequestMessage
+ (*UnbanResponseMessage)(nil), // 83: protowire.UnbanResponseMessage
+ (*GetInfoRequestMessage)(nil), // 84: protowire.GetInfoRequestMessage
+ (*GetInfoResponseMessage)(nil), // 85: protowire.GetInfoResponseMessage
+ (*BlockMessage)(nil), // 86: protowire.BlockMessage
}
var file_rpc_proto_depIdxs = []int32{
1, // 0: protowire.GetCurrentNetworkResponseMessage.error:type_name -> protowire.RPCError
- 84, // 1: protowire.SubmitBlockRequestMessage.block:type_name -> protowire.BlockMessage
+ 86, // 1: protowire.SubmitBlockRequestMessage.block:type_name -> protowire.BlockMessage
0, // 2: protowire.SubmitBlockResponseMessage.rejectReason:type_name -> protowire.SubmitBlockResponseMessage.RejectReason
1, // 3: protowire.SubmitBlockResponseMessage.error:type_name -> protowire.RPCError
- 84, // 4: protowire.GetBlockTemplateResponseMessage.blockMessage:type_name -> protowire.BlockMessage
+ 86, // 4: protowire.GetBlockTemplateResponseMessage.blockMessage:type_name -> protowire.BlockMessage
1, // 5: protowire.GetBlockTemplateResponseMessage.error:type_name -> protowire.RPCError
1, // 6: protowire.NotifyBlockAddedResponseMessage.error:type_name -> protowire.RPCError
- 84, // 7: protowire.BlockAddedNotificationMessage.block:type_name -> protowire.BlockMessage
+ 86, // 7: protowire.BlockAddedNotificationMessage.block:type_name -> protowire.BlockMessage
35, // 8: protowire.BlockAddedNotificationMessage.blockVerboseData:type_name -> protowire.BlockVerboseData
13, // 9: protowire.GetPeerAddressesResponseMessage.addresses:type_name -> protowire.GetPeerAddressesKnownAddressMessage
13, // 10: protowire.GetPeerAddressesResponseMessage.bannedAddresses:type_name -> protowire.GetPeerAddressesKnownAddressMessage
@@ -5549,7 +5661,7 @@ var file_rpc_proto_depIdxs = []int32{
23, // 18: protowire.GetConnectedPeerInfoResponseMessage.infos:type_name -> protowire.GetConnectedPeerInfoMessage
1, // 19: protowire.GetConnectedPeerInfoResponseMessage.error:type_name -> protowire.RPCError
1, // 20: protowire.AddPeerResponseMessage.error:type_name -> protowire.RPCError
- 65, // 21: protowire.SubmitTransactionRequestMessage.transaction:type_name -> protowire.RpcTransaction
+ 67, // 21: protowire.SubmitTransactionRequestMessage.transaction:type_name -> protowire.RpcTransaction
1, // 22: protowire.SubmitTransactionResponseMessage.error:type_name -> protowire.RPCError
1, // 23: protowire.NotifyVirtualSelectedParentChainChangedResponseMessage.error:type_name -> protowire.RPCError
31, // 24: protowire.VirtualSelectedParentChainChangedNotificationMessage.addedChainBlocks:type_name -> protowire.ChainBlock
@@ -5575,25 +5687,26 @@ var file_rpc_proto_depIdxs = []int32{
1, // 44: protowire.NotifyUtxosChangedResponseMessage.error:type_name -> protowire.RPCError
64, // 45: protowire.UtxosChangedNotificationMessage.added:type_name -> protowire.UtxosByAddressesEntry
64, // 46: protowire.UtxosChangedNotificationMessage.removed:type_name -> protowire.UtxosByAddressesEntry
- 69, // 47: protowire.UtxosByAddressesEntry.outpoint:type_name -> protowire.RpcOutpoint
- 70, // 48: protowire.UtxosByAddressesEntry.utxoEntry:type_name -> protowire.RpcUtxoEntry
- 66, // 49: protowire.RpcTransaction.inputs:type_name -> protowire.RpcTransactionInput
- 68, // 50: protowire.RpcTransaction.outputs:type_name -> protowire.RpcTransactionOutput
- 69, // 51: protowire.RpcTransactionInput.previousOutpoint:type_name -> protowire.RpcOutpoint
- 67, // 52: protowire.RpcTransactionOutput.scriptPublicKey:type_name -> protowire.RpcScriptPublicKey
- 67, // 53: protowire.RpcUtxoEntry.scriptPublicKey:type_name -> protowire.RpcScriptPublicKey
- 64, // 54: protowire.GetUtxosByAddressesResponseMessage.entries:type_name -> protowire.UtxosByAddressesEntry
- 1, // 55: protowire.GetUtxosByAddressesResponseMessage.error:type_name -> protowire.RPCError
- 1, // 56: protowire.GetVirtualSelectedParentBlueScoreResponseMessage.error:type_name -> protowire.RPCError
- 1, // 57: protowire.NotifyVirtualSelectedParentBlueScoreChangedResponseMessage.error:type_name -> protowire.RPCError
- 1, // 58: protowire.BanResponseMessage.error:type_name -> protowire.RPCError
- 1, // 59: protowire.UnbanResponseMessage.error:type_name -> protowire.RPCError
- 1, // 60: protowire.GetInfoResponseMessage.error:type_name -> protowire.RPCError
- 61, // [61:61] is the sub-list for method output_type
- 61, // [61:61] is the sub-list for method input_type
- 61, // [61:61] is the sub-list for extension type_name
- 61, // [61:61] is the sub-list for extension extendee
- 0, // [0:61] is the sub-list for field type_name
+ 71, // 47: protowire.UtxosByAddressesEntry.outpoint:type_name -> protowire.RpcOutpoint
+ 72, // 48: protowire.UtxosByAddressesEntry.utxoEntry:type_name -> protowire.RpcUtxoEntry
+ 1, // 49: protowire.StopNotifyingUtxosChangedResponseMessage.error:type_name -> protowire.RPCError
+ 68, // 50: protowire.RpcTransaction.inputs:type_name -> protowire.RpcTransactionInput
+ 70, // 51: protowire.RpcTransaction.outputs:type_name -> protowire.RpcTransactionOutput
+ 71, // 52: protowire.RpcTransactionInput.previousOutpoint:type_name -> protowire.RpcOutpoint
+ 69, // 53: protowire.RpcTransactionOutput.scriptPublicKey:type_name -> protowire.RpcScriptPublicKey
+ 69, // 54: protowire.RpcUtxoEntry.scriptPublicKey:type_name -> protowire.RpcScriptPublicKey
+ 64, // 55: protowire.GetUtxosByAddressesResponseMessage.entries:type_name -> protowire.UtxosByAddressesEntry
+ 1, // 56: protowire.GetUtxosByAddressesResponseMessage.error:type_name -> protowire.RPCError
+ 1, // 57: protowire.GetVirtualSelectedParentBlueScoreResponseMessage.error:type_name -> protowire.RPCError
+ 1, // 58: protowire.NotifyVirtualSelectedParentBlueScoreChangedResponseMessage.error:type_name -> protowire.RPCError
+ 1, // 59: protowire.BanResponseMessage.error:type_name -> protowire.RPCError
+ 1, // 60: protowire.UnbanResponseMessage.error:type_name -> protowire.RPCError
+ 1, // 61: protowire.GetInfoResponseMessage.error:type_name -> protowire.RPCError
+ 62, // [62:62] is the sub-list for method output_type
+ 62, // [62:62] is the sub-list for method input_type
+ 62, // [62:62] is the sub-list for extension type_name
+ 62, // [62:62] is the sub-list for extension extendee
+ 0, // [0:62] is the sub-list for field type_name
}
func init() { file_rpc_proto_init() }
@@ -6372,7 +6485,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RpcTransaction); i {
+ switch v := v.(*StopNotifyingUtxosChangedRequestMessage); i {
case 0:
return &v.state
case 1:
@@ -6384,7 +6497,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RpcTransactionInput); i {
+ switch v := v.(*StopNotifyingUtxosChangedResponseMessage); i {
case 0:
return &v.state
case 1:
@@ -6396,7 +6509,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RpcScriptPublicKey); i {
+ switch v := v.(*RpcTransaction); i {
case 0:
return &v.state
case 1:
@@ -6408,7 +6521,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RpcTransactionOutput); i {
+ switch v := v.(*RpcTransactionInput); i {
case 0:
return &v.state
case 1:
@@ -6420,7 +6533,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RpcOutpoint); i {
+ switch v := v.(*RpcScriptPublicKey); i {
case 0:
return &v.state
case 1:
@@ -6432,7 +6545,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*RpcUtxoEntry); i {
+ switch v := v.(*RpcTransactionOutput); i {
case 0:
return &v.state
case 1:
@@ -6444,7 +6557,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[70].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetUtxosByAddressesRequestMessage); i {
+ switch v := v.(*RpcOutpoint); i {
case 0:
return &v.state
case 1:
@@ -6456,7 +6569,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetUtxosByAddressesResponseMessage); i {
+ switch v := v.(*RpcUtxoEntry); i {
case 0:
return &v.state
case 1:
@@ -6468,7 +6581,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetVirtualSelectedParentBlueScoreRequestMessage); i {
+ switch v := v.(*GetUtxosByAddressesRequestMessage); i {
case 0:
return &v.state
case 1:
@@ -6480,7 +6593,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetVirtualSelectedParentBlueScoreResponseMessage); i {
+ switch v := v.(*GetUtxosByAddressesResponseMessage); i {
case 0:
return &v.state
case 1:
@@ -6492,7 +6605,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[74].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*NotifyVirtualSelectedParentBlueScoreChangedRequestMessage); i {
+ switch v := v.(*GetVirtualSelectedParentBlueScoreRequestMessage); i {
case 0:
return &v.state
case 1:
@@ -6504,7 +6617,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[75].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*NotifyVirtualSelectedParentBlueScoreChangedResponseMessage); i {
+ switch v := v.(*GetVirtualSelectedParentBlueScoreResponseMessage); i {
case 0:
return &v.state
case 1:
@@ -6516,7 +6629,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[76].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*VirtualSelectedParentBlueScoreChangedNotificationMessage); i {
+ switch v := v.(*NotifyVirtualSelectedParentBlueScoreChangedRequestMessage); i {
case 0:
return &v.state
case 1:
@@ -6528,7 +6641,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[77].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*BanRequestMessage); i {
+ switch v := v.(*NotifyVirtualSelectedParentBlueScoreChangedResponseMessage); i {
case 0:
return &v.state
case 1:
@@ -6540,7 +6653,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[78].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*BanResponseMessage); i {
+ switch v := v.(*VirtualSelectedParentBlueScoreChangedNotificationMessage); i {
case 0:
return &v.state
case 1:
@@ -6552,7 +6665,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[79].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UnbanRequestMessage); i {
+ switch v := v.(*BanRequestMessage); i {
case 0:
return &v.state
case 1:
@@ -6564,7 +6677,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[80].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*UnbanResponseMessage); i {
+ switch v := v.(*BanResponseMessage); i {
case 0:
return &v.state
case 1:
@@ -6576,7 +6689,7 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[81].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*GetInfoRequestMessage); i {
+ switch v := v.(*UnbanRequestMessage); i {
case 0:
return &v.state
case 1:
@@ -6588,6 +6701,30 @@ func file_rpc_proto_init() {
}
}
file_rpc_proto_msgTypes[82].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UnbanResponseMessage); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_rpc_proto_msgTypes[83].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetInfoRequestMessage); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_rpc_proto_msgTypes[84].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetInfoResponseMessage); i {
case 0:
return &v.state
@@ -6606,7 +6743,7 @@ func file_rpc_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_rpc_proto_rawDesc,
NumEnums: 1,
- NumMessages: 83,
+ NumMessages: 85,
NumExtensions: 0,
NumServices: 0,
},
diff --git a/infrastructure/network/netadapter/server/grpcserver/protowire/rpc.proto b/infrastructure/network/netadapter/server/grpcserver/protowire/rpc.proto
index 8e074ddeb..8ff4add42 100644
--- a/infrastructure/network/netadapter/server/grpcserver/protowire/rpc.proto
+++ b/infrastructure/network/netadapter/server/grpcserver/protowire/rpc.proto
@@ -450,6 +450,20 @@ message UtxosByAddressesEntry {
RpcUtxoEntry utxoEntry = 3;
}
+// StopNotifyingUtxosChangedRequestMessage unregisters this connection for utxoChanged notifications
+// for the given addresses.
+//
+// This call is only available when this kaspad was started with `--utxoindex`
+//
+// See: UtxosChangedNotificationMessage
+message StopNotifyingUtxosChangedRequestMessage {
+ repeated string addresses = 1;
+}
+
+message StopNotifyingUtxosChangedResponseMessage {
+ RPCError error = 1000;
+}
+
message RpcTransaction {
uint32 version = 1;
repeated RpcTransactionInput inputs = 2;
diff --git a/infrastructure/network/netadapter/server/grpcserver/protowire/rpc_stop_notifying_utxos_changed.go b/infrastructure/network/netadapter/server/grpcserver/protowire/rpc_stop_notifying_utxos_changed.go
new file mode 100644
index 000000000..9717e920d
--- /dev/null
+++ b/infrastructure/network/netadapter/server/grpcserver/protowire/rpc_stop_notifying_utxos_changed.go
@@ -0,0 +1,39 @@
+package protowire
+
+import (
+ "github.com/kaspanet/kaspad/app/appmessage"
+)
+
+func (x *KaspadMessage_StopNotifyingUtxosChangedRequest) toAppMessage() (appmessage.Message, error) {
+ return &appmessage.StopNotifyingUTXOsChangedRequestMessage{
+ Addresses: x.StopNotifyingUtxosChangedRequest.Addresses,
+ }, nil
+}
+
+func (x *KaspadMessage_StopNotifyingUtxosChangedRequest) fromAppMessage(message *appmessage.StopNotifyingUTXOsChangedRequestMessage) error {
+ x.StopNotifyingUtxosChangedRequest = &StopNotifyingUtxosChangedRequestMessage{
+ Addresses: message.Addresses,
+ }
+ return nil
+}
+
+func (x *KaspadMessage_StopNotifyingUtxosChangedResponse) toAppMessage() (appmessage.Message, error) {
+ var err *appmessage.RPCError
+ if x.StopNotifyingUtxosChangedResponse.Error != nil {
+ err = &appmessage.RPCError{Message: x.StopNotifyingUtxosChangedResponse.Error.Message}
+ }
+ return &appmessage.StopNotifyingUTXOsChangedResponseMessage{
+ Error: err,
+ }, nil
+}
+
+func (x *KaspadMessage_StopNotifyingUtxosChangedResponse) fromAppMessage(message *appmessage.StopNotifyingUTXOsChangedResponseMessage) error {
+ var err *RPCError
+ if message.Error != nil {
+ err = &RPCError{Message: message.Error.Message}
+ }
+ x.StopNotifyingUtxosChangedResponse = &StopNotifyingUtxosChangedResponseMessage{
+ Error: err,
+ }
+ return nil
+}
diff --git a/infrastructure/network/netadapter/server/grpcserver/protowire/wire.go b/infrastructure/network/netadapter/server/grpcserver/protowire/wire.go
index 89fad67ae..0bee7335e 100644
--- a/infrastructure/network/netadapter/server/grpcserver/protowire/wire.go
+++ b/infrastructure/network/netadapter/server/grpcserver/protowire/wire.go
@@ -643,6 +643,20 @@ func toRPCPayload(message appmessage.Message) (isKaspadMessage_Payload, error) {
return nil, err
}
return payload, nil
+ case *appmessage.StopNotifyingUTXOsChangedRequestMessage:
+ payload := new(KaspadMessage_StopNotifyingUtxosChangedRequest)
+ err := payload.fromAppMessage(message)
+ if err != nil {
+ return nil, err
+ }
+ return payload, nil
+ case *appmessage.StopNotifyingUTXOsChangedResponseMessage:
+ payload := new(KaspadMessage_StopNotifyingUtxosChangedResponse)
+ err := payload.fromAppMessage(message)
+ if err != nil {
+ return nil, err
+ }
+ return payload, nil
case *appmessage.GetUTXOsByAddressesRequestMessage:
payload := new(KaspadMessage_GetUtxosByAddressesRequest)
err := payload.fromAppMessage(message)