private/multinodepb: drpc operators controller added

Change-Id: Ie9bad9d5dba3e508d4cb8165aaca88d98ef1304d
This commit is contained in:
crawter 2021-06-01 10:29:46 +03:00 committed by Yehor Butko
parent 4c704ea9a4
commit 6d9b91d435
5 changed files with 306 additions and 138 deletions

View File

@ -689,6 +689,98 @@ func (m *TrustedSatellitesResponse_NodeURL) GetAddress() string {
return "" return ""
} }
type OperatorRequest struct {
Header *RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *OperatorRequest) Reset() { *m = OperatorRequest{} }
func (m *OperatorRequest) String() string { return proto.CompactTextString(m) }
func (*OperatorRequest) ProtoMessage() {}
func (*OperatorRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{13}
}
func (m *OperatorRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OperatorRequest.Unmarshal(m, b)
}
func (m *OperatorRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_OperatorRequest.Marshal(b, m, deterministic)
}
func (m *OperatorRequest) XXX_Merge(src proto.Message) {
xxx_messageInfo_OperatorRequest.Merge(m, src)
}
func (m *OperatorRequest) XXX_Size() int {
return xxx_messageInfo_OperatorRequest.Size(m)
}
func (m *OperatorRequest) XXX_DiscardUnknown() {
xxx_messageInfo_OperatorRequest.DiscardUnknown(m)
}
var xxx_messageInfo_OperatorRequest proto.InternalMessageInfo
func (m *OperatorRequest) GetHeader() *RequestHeader {
if m != nil {
return m.Header
}
return nil
}
type OperatorResponse struct {
Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"`
Wallet string `protobuf:"bytes,2,opt,name=wallet,proto3" json:"wallet,omitempty"`
WalletFeatures []string `protobuf:"bytes,3,rep,name=wallet_features,json=walletFeatures,proto3" json:"wallet_features,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *OperatorResponse) Reset() { *m = OperatorResponse{} }
func (m *OperatorResponse) String() string { return proto.CompactTextString(m) }
func (*OperatorResponse) ProtoMessage() {}
func (*OperatorResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{14}
}
func (m *OperatorResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_OperatorResponse.Unmarshal(m, b)
}
func (m *OperatorResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_OperatorResponse.Marshal(b, m, deterministic)
}
func (m *OperatorResponse) XXX_Merge(src proto.Message) {
xxx_messageInfo_OperatorResponse.Merge(m, src)
}
func (m *OperatorResponse) XXX_Size() int {
return xxx_messageInfo_OperatorResponse.Size(m)
}
func (m *OperatorResponse) XXX_DiscardUnknown() {
xxx_messageInfo_OperatorResponse.DiscardUnknown(m)
}
var xxx_messageInfo_OperatorResponse proto.InternalMessageInfo
func (m *OperatorResponse) GetEmail() string {
if m != nil {
return m.Email
}
return ""
}
func (m *OperatorResponse) GetWallet() string {
if m != nil {
return m.Wallet
}
return ""
}
func (m *OperatorResponse) GetWalletFeatures() []string {
if m != nil {
return m.WalletFeatures
}
return nil
}
type EstimatedPayoutSatelliteRequest struct { type EstimatedPayoutSatelliteRequest struct {
Header *RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` Header *RequestHeader `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
SatelliteId NodeID `protobuf:"bytes,2,opt,name=satellite_id,json=satelliteId,proto3,customtype=NodeID" json:"satellite_id"` SatelliteId NodeID `protobuf:"bytes,2,opt,name=satellite_id,json=satelliteId,proto3,customtype=NodeID" json:"satellite_id"`
@ -701,7 +793,7 @@ func (m *EstimatedPayoutSatelliteRequest) Reset() { *m = EstimatedPayout
func (m *EstimatedPayoutSatelliteRequest) String() string { return proto.CompactTextString(m) } func (m *EstimatedPayoutSatelliteRequest) String() string { return proto.CompactTextString(m) }
func (*EstimatedPayoutSatelliteRequest) ProtoMessage() {} func (*EstimatedPayoutSatelliteRequest) ProtoMessage() {}
func (*EstimatedPayoutSatelliteRequest) Descriptor() ([]byte, []int) { func (*EstimatedPayoutSatelliteRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{13} return fileDescriptor_9a45fd79b06f3a1b, []int{15}
} }
func (m *EstimatedPayoutSatelliteRequest) XXX_Unmarshal(b []byte) error { func (m *EstimatedPayoutSatelliteRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_EstimatedPayoutSatelliteRequest.Unmarshal(m, b) return xxx_messageInfo_EstimatedPayoutSatelliteRequest.Unmarshal(m, b)
@ -739,7 +831,7 @@ func (m *EstimatedPayoutSatelliteResponse) Reset() { *m = EstimatedPayou
func (m *EstimatedPayoutSatelliteResponse) String() string { return proto.CompactTextString(m) } func (m *EstimatedPayoutSatelliteResponse) String() string { return proto.CompactTextString(m) }
func (*EstimatedPayoutSatelliteResponse) ProtoMessage() {} func (*EstimatedPayoutSatelliteResponse) ProtoMessage() {}
func (*EstimatedPayoutSatelliteResponse) Descriptor() ([]byte, []int) { func (*EstimatedPayoutSatelliteResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{14} return fileDescriptor_9a45fd79b06f3a1b, []int{16}
} }
func (m *EstimatedPayoutSatelliteResponse) XXX_Unmarshal(b []byte) error { func (m *EstimatedPayoutSatelliteResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_EstimatedPayoutSatelliteResponse.Unmarshal(m, b) return xxx_messageInfo_EstimatedPayoutSatelliteResponse.Unmarshal(m, b)
@ -777,7 +869,7 @@ func (m *EstimatedPayoutRequest) Reset() { *m = EstimatedPayoutRequest{}
func (m *EstimatedPayoutRequest) String() string { return proto.CompactTextString(m) } func (m *EstimatedPayoutRequest) String() string { return proto.CompactTextString(m) }
func (*EstimatedPayoutRequest) ProtoMessage() {} func (*EstimatedPayoutRequest) ProtoMessage() {}
func (*EstimatedPayoutRequest) Descriptor() ([]byte, []int) { func (*EstimatedPayoutRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{15} return fileDescriptor_9a45fd79b06f3a1b, []int{17}
} }
func (m *EstimatedPayoutRequest) XXX_Unmarshal(b []byte) error { func (m *EstimatedPayoutRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_EstimatedPayoutRequest.Unmarshal(m, b) return xxx_messageInfo_EstimatedPayoutRequest.Unmarshal(m, b)
@ -815,7 +907,7 @@ func (m *EstimatedPayoutResponse) Reset() { *m = EstimatedPayoutResponse
func (m *EstimatedPayoutResponse) String() string { return proto.CompactTextString(m) } func (m *EstimatedPayoutResponse) String() string { return proto.CompactTextString(m) }
func (*EstimatedPayoutResponse) ProtoMessage() {} func (*EstimatedPayoutResponse) ProtoMessage() {}
func (*EstimatedPayoutResponse) Descriptor() ([]byte, []int) { func (*EstimatedPayoutResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{16} return fileDescriptor_9a45fd79b06f3a1b, []int{18}
} }
func (m *EstimatedPayoutResponse) XXX_Unmarshal(b []byte) error { func (m *EstimatedPayoutResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_EstimatedPayoutResponse.Unmarshal(m, b) return xxx_messageInfo_EstimatedPayoutResponse.Unmarshal(m, b)
@ -853,7 +945,7 @@ func (m *SummaryRequest) Reset() { *m = SummaryRequest{} }
func (m *SummaryRequest) String() string { return proto.CompactTextString(m) } func (m *SummaryRequest) String() string { return proto.CompactTextString(m) }
func (*SummaryRequest) ProtoMessage() {} func (*SummaryRequest) ProtoMessage() {}
func (*SummaryRequest) Descriptor() ([]byte, []int) { func (*SummaryRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{17} return fileDescriptor_9a45fd79b06f3a1b, []int{19}
} }
func (m *SummaryRequest) XXX_Unmarshal(b []byte) error { func (m *SummaryRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SummaryRequest.Unmarshal(m, b) return xxx_messageInfo_SummaryRequest.Unmarshal(m, b)
@ -891,7 +983,7 @@ func (m *SummaryResponse) Reset() { *m = SummaryResponse{} }
func (m *SummaryResponse) String() string { return proto.CompactTextString(m) } func (m *SummaryResponse) String() string { return proto.CompactTextString(m) }
func (*SummaryResponse) ProtoMessage() {} func (*SummaryResponse) ProtoMessage() {}
func (*SummaryResponse) Descriptor() ([]byte, []int) { func (*SummaryResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{18} return fileDescriptor_9a45fd79b06f3a1b, []int{20}
} }
func (m *SummaryResponse) XXX_Unmarshal(b []byte) error { func (m *SummaryResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SummaryResponse.Unmarshal(m, b) return xxx_messageInfo_SummaryResponse.Unmarshal(m, b)
@ -930,7 +1022,7 @@ func (m *SummaryPeriodRequest) Reset() { *m = SummaryPeriodRequest{} }
func (m *SummaryPeriodRequest) String() string { return proto.CompactTextString(m) } func (m *SummaryPeriodRequest) String() string { return proto.CompactTextString(m) }
func (*SummaryPeriodRequest) ProtoMessage() {} func (*SummaryPeriodRequest) ProtoMessage() {}
func (*SummaryPeriodRequest) Descriptor() ([]byte, []int) { func (*SummaryPeriodRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{19} return fileDescriptor_9a45fd79b06f3a1b, []int{21}
} }
func (m *SummaryPeriodRequest) XXX_Unmarshal(b []byte) error { func (m *SummaryPeriodRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SummaryPeriodRequest.Unmarshal(m, b) return xxx_messageInfo_SummaryPeriodRequest.Unmarshal(m, b)
@ -975,7 +1067,7 @@ func (m *SummaryPeriodResponse) Reset() { *m = SummaryPeriodResponse{} }
func (m *SummaryPeriodResponse) String() string { return proto.CompactTextString(m) } func (m *SummaryPeriodResponse) String() string { return proto.CompactTextString(m) }
func (*SummaryPeriodResponse) ProtoMessage() {} func (*SummaryPeriodResponse) ProtoMessage() {}
func (*SummaryPeriodResponse) Descriptor() ([]byte, []int) { func (*SummaryPeriodResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{20} return fileDescriptor_9a45fd79b06f3a1b, []int{22}
} }
func (m *SummaryPeriodResponse) XXX_Unmarshal(b []byte) error { func (m *SummaryPeriodResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SummaryPeriodResponse.Unmarshal(m, b) return xxx_messageInfo_SummaryPeriodResponse.Unmarshal(m, b)
@ -1014,7 +1106,7 @@ func (m *SummarySatelliteRequest) Reset() { *m = SummarySatelliteRequest
func (m *SummarySatelliteRequest) String() string { return proto.CompactTextString(m) } func (m *SummarySatelliteRequest) String() string { return proto.CompactTextString(m) }
func (*SummarySatelliteRequest) ProtoMessage() {} func (*SummarySatelliteRequest) ProtoMessage() {}
func (*SummarySatelliteRequest) Descriptor() ([]byte, []int) { func (*SummarySatelliteRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{21} return fileDescriptor_9a45fd79b06f3a1b, []int{23}
} }
func (m *SummarySatelliteRequest) XXX_Unmarshal(b []byte) error { func (m *SummarySatelliteRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SummarySatelliteRequest.Unmarshal(m, b) return xxx_messageInfo_SummarySatelliteRequest.Unmarshal(m, b)
@ -1052,7 +1144,7 @@ func (m *SummarySatelliteResponse) Reset() { *m = SummarySatelliteRespon
func (m *SummarySatelliteResponse) String() string { return proto.CompactTextString(m) } func (m *SummarySatelliteResponse) String() string { return proto.CompactTextString(m) }
func (*SummarySatelliteResponse) ProtoMessage() {} func (*SummarySatelliteResponse) ProtoMessage() {}
func (*SummarySatelliteResponse) Descriptor() ([]byte, []int) { func (*SummarySatelliteResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{22} return fileDescriptor_9a45fd79b06f3a1b, []int{24}
} }
func (m *SummarySatelliteResponse) XXX_Unmarshal(b []byte) error { func (m *SummarySatelliteResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SummarySatelliteResponse.Unmarshal(m, b) return xxx_messageInfo_SummarySatelliteResponse.Unmarshal(m, b)
@ -1092,7 +1184,7 @@ func (m *SummarySatellitePeriodRequest) Reset() { *m = SummarySatelliteP
func (m *SummarySatellitePeriodRequest) String() string { return proto.CompactTextString(m) } func (m *SummarySatellitePeriodRequest) String() string { return proto.CompactTextString(m) }
func (*SummarySatellitePeriodRequest) ProtoMessage() {} func (*SummarySatellitePeriodRequest) ProtoMessage() {}
func (*SummarySatellitePeriodRequest) Descriptor() ([]byte, []int) { func (*SummarySatellitePeriodRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{23} return fileDescriptor_9a45fd79b06f3a1b, []int{25}
} }
func (m *SummarySatellitePeriodRequest) XXX_Unmarshal(b []byte) error { func (m *SummarySatellitePeriodRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SummarySatellitePeriodRequest.Unmarshal(m, b) return xxx_messageInfo_SummarySatellitePeriodRequest.Unmarshal(m, b)
@ -1137,7 +1229,7 @@ func (m *SummarySatellitePeriodResponse) Reset() { *m = SummarySatellite
func (m *SummarySatellitePeriodResponse) String() string { return proto.CompactTextString(m) } func (m *SummarySatellitePeriodResponse) String() string { return proto.CompactTextString(m) }
func (*SummarySatellitePeriodResponse) ProtoMessage() {} func (*SummarySatellitePeriodResponse) ProtoMessage() {}
func (*SummarySatellitePeriodResponse) Descriptor() ([]byte, []int) { func (*SummarySatellitePeriodResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{24} return fileDescriptor_9a45fd79b06f3a1b, []int{26}
} }
func (m *SummarySatellitePeriodResponse) XXX_Unmarshal(b []byte) error { func (m *SummarySatellitePeriodResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_SummarySatellitePeriodResponse.Unmarshal(m, b) return xxx_messageInfo_SummarySatellitePeriodResponse.Unmarshal(m, b)
@ -1175,7 +1267,7 @@ func (m *EarnedRequest) Reset() { *m = EarnedRequest{} }
func (m *EarnedRequest) String() string { return proto.CompactTextString(m) } func (m *EarnedRequest) String() string { return proto.CompactTextString(m) }
func (*EarnedRequest) ProtoMessage() {} func (*EarnedRequest) ProtoMessage() {}
func (*EarnedRequest) Descriptor() ([]byte, []int) { func (*EarnedRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{25} return fileDescriptor_9a45fd79b06f3a1b, []int{27}
} }
func (m *EarnedRequest) XXX_Unmarshal(b []byte) error { func (m *EarnedRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_EarnedRequest.Unmarshal(m, b) return xxx_messageInfo_EarnedRequest.Unmarshal(m, b)
@ -1213,7 +1305,7 @@ func (m *EarnedResponse) Reset() { *m = EarnedResponse{} }
func (m *EarnedResponse) String() string { return proto.CompactTextString(m) } func (m *EarnedResponse) String() string { return proto.CompactTextString(m) }
func (*EarnedResponse) ProtoMessage() {} func (*EarnedResponse) ProtoMessage() {}
func (*EarnedResponse) Descriptor() ([]byte, []int) { func (*EarnedResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{26} return fileDescriptor_9a45fd79b06f3a1b, []int{28}
} }
func (m *EarnedResponse) XXX_Unmarshal(b []byte) error { func (m *EarnedResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_EarnedResponse.Unmarshal(m, b) return xxx_messageInfo_EarnedResponse.Unmarshal(m, b)
@ -1251,7 +1343,7 @@ func (m *EarnedSatelliteRequest) Reset() { *m = EarnedSatelliteRequest{}
func (m *EarnedSatelliteRequest) String() string { return proto.CompactTextString(m) } func (m *EarnedSatelliteRequest) String() string { return proto.CompactTextString(m) }
func (*EarnedSatelliteRequest) ProtoMessage() {} func (*EarnedSatelliteRequest) ProtoMessage() {}
func (*EarnedSatelliteRequest) Descriptor() ([]byte, []int) { func (*EarnedSatelliteRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{27} return fileDescriptor_9a45fd79b06f3a1b, []int{29}
} }
func (m *EarnedSatelliteRequest) XXX_Unmarshal(b []byte) error { func (m *EarnedSatelliteRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_EarnedSatelliteRequest.Unmarshal(m, b) return xxx_messageInfo_EarnedSatelliteRequest.Unmarshal(m, b)
@ -1289,7 +1381,7 @@ func (m *EarnedSatelliteResponse) Reset() { *m = EarnedSatelliteResponse
func (m *EarnedSatelliteResponse) String() string { return proto.CompactTextString(m) } func (m *EarnedSatelliteResponse) String() string { return proto.CompactTextString(m) }
func (*EarnedSatelliteResponse) ProtoMessage() {} func (*EarnedSatelliteResponse) ProtoMessage() {}
func (*EarnedSatelliteResponse) Descriptor() ([]byte, []int) { func (*EarnedSatelliteResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{28} return fileDescriptor_9a45fd79b06f3a1b, []int{30}
} }
func (m *EarnedSatelliteResponse) XXX_Unmarshal(b []byte) error { func (m *EarnedSatelliteResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_EarnedSatelliteResponse.Unmarshal(m, b) return xxx_messageInfo_EarnedSatelliteResponse.Unmarshal(m, b)
@ -1328,7 +1420,7 @@ func (m *EarnedSatellite) Reset() { *m = EarnedSatellite{} }
func (m *EarnedSatellite) String() string { return proto.CompactTextString(m) } func (m *EarnedSatellite) String() string { return proto.CompactTextString(m) }
func (*EarnedSatellite) ProtoMessage() {} func (*EarnedSatellite) ProtoMessage() {}
func (*EarnedSatellite) Descriptor() ([]byte, []int) { func (*EarnedSatellite) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{29} return fileDescriptor_9a45fd79b06f3a1b, []int{31}
} }
func (m *EarnedSatellite) XXX_Unmarshal(b []byte) error { func (m *EarnedSatellite) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_EarnedSatellite.Unmarshal(m, b) return xxx_messageInfo_EarnedSatellite.Unmarshal(m, b)
@ -1366,7 +1458,7 @@ func (m *UndistributedRequest) Reset() { *m = UndistributedRequest{} }
func (m *UndistributedRequest) String() string { return proto.CompactTextString(m) } func (m *UndistributedRequest) String() string { return proto.CompactTextString(m) }
func (*UndistributedRequest) ProtoMessage() {} func (*UndistributedRequest) ProtoMessage() {}
func (*UndistributedRequest) Descriptor() ([]byte, []int) { func (*UndistributedRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{30} return fileDescriptor_9a45fd79b06f3a1b, []int{32}
} }
func (m *UndistributedRequest) XXX_Unmarshal(b []byte) error { func (m *UndistributedRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UndistributedRequest.Unmarshal(m, b) return xxx_messageInfo_UndistributedRequest.Unmarshal(m, b)
@ -1404,7 +1496,7 @@ func (m *UndistributedResponse) Reset() { *m = UndistributedResponse{} }
func (m *UndistributedResponse) String() string { return proto.CompactTextString(m) } func (m *UndistributedResponse) String() string { return proto.CompactTextString(m) }
func (*UndistributedResponse) ProtoMessage() {} func (*UndistributedResponse) ProtoMessage() {}
func (*UndistributedResponse) Descriptor() ([]byte, []int) { func (*UndistributedResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{31} return fileDescriptor_9a45fd79b06f3a1b, []int{33}
} }
func (m *UndistributedResponse) XXX_Unmarshal(b []byte) error { func (m *UndistributedResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_UndistributedResponse.Unmarshal(m, b) return xxx_messageInfo_UndistributedResponse.Unmarshal(m, b)
@ -1443,7 +1535,7 @@ func (m *PaystubSatelliteRequest) Reset() { *m = PaystubSatelliteRequest
func (m *PaystubSatelliteRequest) String() string { return proto.CompactTextString(m) } func (m *PaystubSatelliteRequest) String() string { return proto.CompactTextString(m) }
func (*PaystubSatelliteRequest) ProtoMessage() {} func (*PaystubSatelliteRequest) ProtoMessage() {}
func (*PaystubSatelliteRequest) Descriptor() ([]byte, []int) { func (*PaystubSatelliteRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{32} return fileDescriptor_9a45fd79b06f3a1b, []int{34}
} }
func (m *PaystubSatelliteRequest) XXX_Unmarshal(b []byte) error { func (m *PaystubSatelliteRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PaystubSatelliteRequest.Unmarshal(m, b) return xxx_messageInfo_PaystubSatelliteRequest.Unmarshal(m, b)
@ -1481,7 +1573,7 @@ func (m *PaystubSatelliteResponse) Reset() { *m = PaystubSatelliteRespon
func (m *PaystubSatelliteResponse) String() string { return proto.CompactTextString(m) } func (m *PaystubSatelliteResponse) String() string { return proto.CompactTextString(m) }
func (*PaystubSatelliteResponse) ProtoMessage() {} func (*PaystubSatelliteResponse) ProtoMessage() {}
func (*PaystubSatelliteResponse) Descriptor() ([]byte, []int) { func (*PaystubSatelliteResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{33} return fileDescriptor_9a45fd79b06f3a1b, []int{35}
} }
func (m *PaystubSatelliteResponse) XXX_Unmarshal(b []byte) error { func (m *PaystubSatelliteResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PaystubSatelliteResponse.Unmarshal(m, b) return xxx_messageInfo_PaystubSatelliteResponse.Unmarshal(m, b)
@ -1519,7 +1611,7 @@ func (m *PaystubRequest) Reset() { *m = PaystubRequest{} }
func (m *PaystubRequest) String() string { return proto.CompactTextString(m) } func (m *PaystubRequest) String() string { return proto.CompactTextString(m) }
func (*PaystubRequest) ProtoMessage() {} func (*PaystubRequest) ProtoMessage() {}
func (*PaystubRequest) Descriptor() ([]byte, []int) { func (*PaystubRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{34} return fileDescriptor_9a45fd79b06f3a1b, []int{36}
} }
func (m *PaystubRequest) XXX_Unmarshal(b []byte) error { func (m *PaystubRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PaystubRequest.Unmarshal(m, b) return xxx_messageInfo_PaystubRequest.Unmarshal(m, b)
@ -1557,7 +1649,7 @@ func (m *PaystubResponse) Reset() { *m = PaystubResponse{} }
func (m *PaystubResponse) String() string { return proto.CompactTextString(m) } func (m *PaystubResponse) String() string { return proto.CompactTextString(m) }
func (*PaystubResponse) ProtoMessage() {} func (*PaystubResponse) ProtoMessage() {}
func (*PaystubResponse) Descriptor() ([]byte, []int) { func (*PaystubResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{35} return fileDescriptor_9a45fd79b06f3a1b, []int{37}
} }
func (m *PaystubResponse) XXX_Unmarshal(b []byte) error { func (m *PaystubResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PaystubResponse.Unmarshal(m, b) return xxx_messageInfo_PaystubResponse.Unmarshal(m, b)
@ -1596,7 +1688,7 @@ func (m *PaystubPeriodRequest) Reset() { *m = PaystubPeriodRequest{} }
func (m *PaystubPeriodRequest) String() string { return proto.CompactTextString(m) } func (m *PaystubPeriodRequest) String() string { return proto.CompactTextString(m) }
func (*PaystubPeriodRequest) ProtoMessage() {} func (*PaystubPeriodRequest) ProtoMessage() {}
func (*PaystubPeriodRequest) Descriptor() ([]byte, []int) { func (*PaystubPeriodRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{36} return fileDescriptor_9a45fd79b06f3a1b, []int{38}
} }
func (m *PaystubPeriodRequest) XXX_Unmarshal(b []byte) error { func (m *PaystubPeriodRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PaystubPeriodRequest.Unmarshal(m, b) return xxx_messageInfo_PaystubPeriodRequest.Unmarshal(m, b)
@ -1641,7 +1733,7 @@ func (m *PaystubPeriodResponse) Reset() { *m = PaystubPeriodResponse{} }
func (m *PaystubPeriodResponse) String() string { return proto.CompactTextString(m) } func (m *PaystubPeriodResponse) String() string { return proto.CompactTextString(m) }
func (*PaystubPeriodResponse) ProtoMessage() {} func (*PaystubPeriodResponse) ProtoMessage() {}
func (*PaystubPeriodResponse) Descriptor() ([]byte, []int) { func (*PaystubPeriodResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{37} return fileDescriptor_9a45fd79b06f3a1b, []int{39}
} }
func (m *PaystubPeriodResponse) XXX_Unmarshal(b []byte) error { func (m *PaystubPeriodResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PaystubPeriodResponse.Unmarshal(m, b) return xxx_messageInfo_PaystubPeriodResponse.Unmarshal(m, b)
@ -1681,7 +1773,7 @@ func (m *PaystubSatellitePeriodRequest) Reset() { *m = PaystubSatelliteP
func (m *PaystubSatellitePeriodRequest) String() string { return proto.CompactTextString(m) } func (m *PaystubSatellitePeriodRequest) String() string { return proto.CompactTextString(m) }
func (*PaystubSatellitePeriodRequest) ProtoMessage() {} func (*PaystubSatellitePeriodRequest) ProtoMessage() {}
func (*PaystubSatellitePeriodRequest) Descriptor() ([]byte, []int) { func (*PaystubSatellitePeriodRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{38} return fileDescriptor_9a45fd79b06f3a1b, []int{40}
} }
func (m *PaystubSatellitePeriodRequest) XXX_Unmarshal(b []byte) error { func (m *PaystubSatellitePeriodRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PaystubSatellitePeriodRequest.Unmarshal(m, b) return xxx_messageInfo_PaystubSatellitePeriodRequest.Unmarshal(m, b)
@ -1726,7 +1818,7 @@ func (m *PaystubSatellitePeriodResponse) Reset() { *m = PaystubSatellite
func (m *PaystubSatellitePeriodResponse) String() string { return proto.CompactTextString(m) } func (m *PaystubSatellitePeriodResponse) String() string { return proto.CompactTextString(m) }
func (*PaystubSatellitePeriodResponse) ProtoMessage() {} func (*PaystubSatellitePeriodResponse) ProtoMessage() {}
func (*PaystubSatellitePeriodResponse) Descriptor() ([]byte, []int) { func (*PaystubSatellitePeriodResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{39} return fileDescriptor_9a45fd79b06f3a1b, []int{41}
} }
func (m *PaystubSatellitePeriodResponse) XXX_Unmarshal(b []byte) error { func (m *PaystubSatellitePeriodResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PaystubSatellitePeriodResponse.Unmarshal(m, b) return xxx_messageInfo_PaystubSatellitePeriodResponse.Unmarshal(m, b)
@ -1765,7 +1857,7 @@ func (m *PayoutInfo) Reset() { *m = PayoutInfo{} }
func (m *PayoutInfo) String() string { return proto.CompactTextString(m) } func (m *PayoutInfo) String() string { return proto.CompactTextString(m) }
func (*PayoutInfo) ProtoMessage() {} func (*PayoutInfo) ProtoMessage() {}
func (*PayoutInfo) Descriptor() ([]byte, []int) { func (*PayoutInfo) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{40} return fileDescriptor_9a45fd79b06f3a1b, []int{42}
} }
func (m *PayoutInfo) XXX_Unmarshal(b []byte) error { func (m *PayoutInfo) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_PayoutInfo.Unmarshal(m, b) return xxx_messageInfo_PayoutInfo.Unmarshal(m, b)
@ -1820,7 +1912,7 @@ func (m *Paystub) Reset() { *m = Paystub{} }
func (m *Paystub) String() string { return proto.CompactTextString(m) } func (m *Paystub) String() string { return proto.CompactTextString(m) }
func (*Paystub) ProtoMessage() {} func (*Paystub) ProtoMessage() {}
func (*Paystub) Descriptor() ([]byte, []int) { func (*Paystub) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{41} return fileDescriptor_9a45fd79b06f3a1b, []int{43}
} }
func (m *Paystub) XXX_Unmarshal(b []byte) error { func (m *Paystub) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_Paystub.Unmarshal(m, b) return xxx_messageInfo_Paystub.Unmarshal(m, b)
@ -1928,7 +2020,7 @@ func (m *HeldAmountHistoryRequest) Reset() { *m = HeldAmountHistoryReque
func (m *HeldAmountHistoryRequest) String() string { return proto.CompactTextString(m) } func (m *HeldAmountHistoryRequest) String() string { return proto.CompactTextString(m) }
func (*HeldAmountHistoryRequest) ProtoMessage() {} func (*HeldAmountHistoryRequest) ProtoMessage() {}
func (*HeldAmountHistoryRequest) Descriptor() ([]byte, []int) { func (*HeldAmountHistoryRequest) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{42} return fileDescriptor_9a45fd79b06f3a1b, []int{44}
} }
func (m *HeldAmountHistoryRequest) XXX_Unmarshal(b []byte) error { func (m *HeldAmountHistoryRequest) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_HeldAmountHistoryRequest.Unmarshal(m, b) return xxx_messageInfo_HeldAmountHistoryRequest.Unmarshal(m, b)
@ -1966,7 +2058,7 @@ func (m *HeldAmountHistoryResponse) Reset() { *m = HeldAmountHistoryResp
func (m *HeldAmountHistoryResponse) String() string { return proto.CompactTextString(m) } func (m *HeldAmountHistoryResponse) String() string { return proto.CompactTextString(m) }
func (*HeldAmountHistoryResponse) ProtoMessage() {} func (*HeldAmountHistoryResponse) ProtoMessage() {}
func (*HeldAmountHistoryResponse) Descriptor() ([]byte, []int) { func (*HeldAmountHistoryResponse) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{43} return fileDescriptor_9a45fd79b06f3a1b, []int{45}
} }
func (m *HeldAmountHistoryResponse) XXX_Unmarshal(b []byte) error { func (m *HeldAmountHistoryResponse) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_HeldAmountHistoryResponse.Unmarshal(m, b) return xxx_messageInfo_HeldAmountHistoryResponse.Unmarshal(m, b)
@ -2005,7 +2097,7 @@ func (m *HeldAmountHistoryResponse_HeldAmount) Reset() { *m = HeldAmount
func (m *HeldAmountHistoryResponse_HeldAmount) String() string { return proto.CompactTextString(m) } func (m *HeldAmountHistoryResponse_HeldAmount) String() string { return proto.CompactTextString(m) }
func (*HeldAmountHistoryResponse_HeldAmount) ProtoMessage() {} func (*HeldAmountHistoryResponse_HeldAmount) ProtoMessage() {}
func (*HeldAmountHistoryResponse_HeldAmount) Descriptor() ([]byte, []int) { func (*HeldAmountHistoryResponse_HeldAmount) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{43, 0} return fileDescriptor_9a45fd79b06f3a1b, []int{45, 0}
} }
func (m *HeldAmountHistoryResponse_HeldAmount) XXX_Unmarshal(b []byte) error { func (m *HeldAmountHistoryResponse_HeldAmount) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_HeldAmountHistoryResponse_HeldAmount.Unmarshal(m, b) return xxx_messageInfo_HeldAmountHistoryResponse_HeldAmount.Unmarshal(m, b)
@ -2055,7 +2147,7 @@ func (m *HeldAmountHistoryResponse_HeldAmountHistory) String() string {
} }
func (*HeldAmountHistoryResponse_HeldAmountHistory) ProtoMessage() {} func (*HeldAmountHistoryResponse_HeldAmountHistory) ProtoMessage() {}
func (*HeldAmountHistoryResponse_HeldAmountHistory) Descriptor() ([]byte, []int) { func (*HeldAmountHistoryResponse_HeldAmountHistory) Descriptor() ([]byte, []int) {
return fileDescriptor_9a45fd79b06f3a1b, []int{43, 1} return fileDescriptor_9a45fd79b06f3a1b, []int{45, 1}
} }
func (m *HeldAmountHistoryResponse_HeldAmountHistory) XXX_Unmarshal(b []byte) error { func (m *HeldAmountHistoryResponse_HeldAmountHistory) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_HeldAmountHistoryResponse_HeldAmountHistory.Unmarshal(m, b) return xxx_messageInfo_HeldAmountHistoryResponse_HeldAmountHistory.Unmarshal(m, b)
@ -2099,6 +2191,8 @@ func init() {
proto.RegisterType((*TrustedSatellitesRequest)(nil), "multinode.TrustedSatellitesRequest") proto.RegisterType((*TrustedSatellitesRequest)(nil), "multinode.TrustedSatellitesRequest")
proto.RegisterType((*TrustedSatellitesResponse)(nil), "multinode.TrustedSatellitesResponse") proto.RegisterType((*TrustedSatellitesResponse)(nil), "multinode.TrustedSatellitesResponse")
proto.RegisterType((*TrustedSatellitesResponse_NodeURL)(nil), "multinode.TrustedSatellitesResponse.NodeURL") proto.RegisterType((*TrustedSatellitesResponse_NodeURL)(nil), "multinode.TrustedSatellitesResponse.NodeURL")
proto.RegisterType((*OperatorRequest)(nil), "multinode.OperatorRequest")
proto.RegisterType((*OperatorResponse)(nil), "multinode.OperatorResponse")
proto.RegisterType((*EstimatedPayoutSatelliteRequest)(nil), "multinode.EstimatedPayoutSatelliteRequest") proto.RegisterType((*EstimatedPayoutSatelliteRequest)(nil), "multinode.EstimatedPayoutSatelliteRequest")
proto.RegisterType((*EstimatedPayoutSatelliteResponse)(nil), "multinode.EstimatedPayoutSatelliteResponse") proto.RegisterType((*EstimatedPayoutSatelliteResponse)(nil), "multinode.EstimatedPayoutSatelliteResponse")
proto.RegisterType((*EstimatedPayoutRequest)(nil), "multinode.EstimatedPayoutRequest") proto.RegisterType((*EstimatedPayoutRequest)(nil), "multinode.EstimatedPayoutRequest")
@ -2137,106 +2231,111 @@ func init() {
func init() { proto.RegisterFile("multinode.proto", fileDescriptor_9a45fd79b06f3a1b) } func init() { proto.RegisterFile("multinode.proto", fileDescriptor_9a45fd79b06f3a1b) }
var fileDescriptor_9a45fd79b06f3a1b = []byte{ var fileDescriptor_9a45fd79b06f3a1b = []byte{
// 1608 bytes of a gzipped FileDescriptorProto // 1683 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xcd, 0x6f, 0xdb, 0xc6, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x58, 0xcf, 0x73, 0xd3, 0xc6,
0x12, 0x7f, 0xf4, 0x87, 0x64, 0x8d, 0x64, 0xcb, 0xde, 0xe7, 0x0f, 0x9a, 0xf1, 0xd7, 0xa3, 0x8d, 0x17, 0xff, 0x3a, 0x4e, 0xec, 0xf8, 0xd9, 0xb1, 0x9d, 0xfd, 0xe6, 0x87, 0x22, 0xf2, 0xab, 0x4a,
0xc4, 0x79, 0x49, 0xe4, 0xf7, 0x9c, 0x22, 0x40, 0x81, 0x14, 0x8d, 0xdd, 0x38, 0xb1, 0x5b, 0x37, 0x06, 0x42, 0x01, 0xa7, 0x0d, 0x1d, 0x66, 0x3a, 0x43, 0xa7, 0x24, 0x10, 0x48, 0xda, 0x14, 0x82,
0x71, 0xe8, 0xa4, 0x08, 0x12, 0x20, 0xca, 0xda, 0x5c, 0xcb, 0x6c, 0x24, 0x92, 0xe5, 0x2e, 0xdd, 0x02, 0x1d, 0x06, 0x66, 0x30, 0x9b, 0x68, 0xe3, 0xa8, 0xc8, 0x92, 0x2a, 0xad, 0x42, 0x73, 0xe1,
0xfa, 0x92, 0x63, 0xcf, 0x3d, 0x17, 0xfd, 0x5f, 0x8a, 0x5e, 0x8a, 0xfc, 0x0d, 0x3d, 0xa4, 0xe7, 0xc8, 0xb9, 0xe7, 0x4e, 0xff, 0x97, 0xde, 0x3a, 0xfc, 0x0d, 0x3d, 0xd0, 0x73, 0x8f, 0x3d, 0xf5,
0x1e, 0x7b, 0xea, 0xb5, 0xd8, 0x0f, 0x52, 0x24, 0x45, 0x29, 0x89, 0x84, 0x36, 0xbd, 0x71, 0x67, 0xda, 0xd9, 0x1f, 0x92, 0x25, 0x59, 0x36, 0x60, 0x4f, 0x4b, 0x6f, 0xda, 0xf7, 0x3e, 0xfb, 0x79,
0x7e, 0xfb, 0x9b, 0xd9, 0xd9, 0xd9, 0xe1, 0xec, 0x42, 0xb5, 0x15, 0x36, 0x99, 0xe3, 0x7a, 0x36, 0x6f, 0xdf, 0xbe, 0x5d, 0xbd, 0x7d, 0x50, 0x6b, 0x07, 0x16, 0x35, 0x6d, 0xc7, 0x20, 0x0d, 0xd7,
0xa9, 0xf9, 0x81, 0xc7, 0x3c, 0x54, 0x8a, 0x05, 0x06, 0x34, 0xbc, 0x86, 0x27, 0xc5, 0xc6, 0x72, 0x73, 0xa8, 0x83, 0x4a, 0x91, 0x40, 0x85, 0x96, 0xd3, 0x72, 0x84, 0x58, 0x5d, 0x6a, 0x39, 0x4e,
0xc3, 0xf3, 0x1a, 0x4d, 0xb2, 0x21, 0x46, 0x47, 0xe1, 0xc9, 0x06, 0x73, 0x5a, 0x84, 0x32, 0xdc, 0xcb, 0x22, 0xeb, 0x7c, 0x74, 0x18, 0x1c, 0xaf, 0x53, 0xb3, 0x4d, 0x7c, 0x8a, 0xdb, 0xae, 0x00,
0xf2, 0x25, 0xc0, 0x5c, 0x87, 0x71, 0x8b, 0x7c, 0x15, 0x12, 0xca, 0x76, 0x09, 0xb6, 0x49, 0x80, 0x68, 0x6b, 0x30, 0xa1, 0x93, 0xef, 0x03, 0xe2, 0xd3, 0x1d, 0x82, 0x0d, 0xe2, 0xa1, 0x59, 0x28,
0xe6, 0xa0, 0x88, 0x7d, 0xa7, 0xfe, 0x82, 0x9c, 0xeb, 0xda, 0x8a, 0xb6, 0x5e, 0xb1, 0x0a, 0xd8, 0x62, 0xd7, 0x6c, 0x3e, 0x27, 0x67, 0x4a, 0x6e, 0x39, 0xb7, 0x56, 0xd1, 0x0b, 0xd8, 0x35, 0xbf,
0x77, 0x3e, 0x23, 0xe7, 0xe6, 0x6d, 0x98, 0xbc, 0xed, 0xd0, 0x17, 0x87, 0x3e, 0x3e, 0x26, 0x6a, 0x26, 0x67, 0xda, 0x2d, 0xa8, 0xdf, 0x32, 0xfd, 0xe7, 0x07, 0x2e, 0x3e, 0x22, 0x72, 0x0a, 0xfa,
0x0a, 0xfa, 0x1f, 0x14, 0x4e, 0xc5, 0x34, 0x81, 0x2d, 0x6f, 0xea, 0xb5, 0xb6, 0x5f, 0x29, 0x5a, 0x04, 0x0a, 0x27, 0x7c, 0x1a, 0xc7, 0x96, 0x37, 0x94, 0x46, 0xc7, 0xaf, 0x04, 0xad, 0x2e, 0x71,
0x4b, 0xe1, 0xcc, 0x1f, 0x35, 0x98, 0x4a, 0xd0, 0x50, 0xdf, 0x73, 0x29, 0x41, 0x0b, 0x50, 0xc2, 0xda, 0x2f, 0x39, 0x98, 0x8c, 0xd1, 0xf8, 0xae, 0x63, 0xfb, 0x04, 0xcd, 0x43, 0x09, 0x5b, 0x96,
0xcd, 0xa6, 0x77, 0x8c, 0x19, 0xb1, 0x05, 0xd5, 0xb0, 0xd5, 0x16, 0xa0, 0x65, 0x28, 0x87, 0x94, 0x73, 0x84, 0x29, 0x31, 0x38, 0x55, 0x5e, 0xef, 0x08, 0xd0, 0x12, 0x94, 0x03, 0x9f, 0x18, 0x4d,
0xd8, 0x75, 0xdf, 0x21, 0xc7, 0x84, 0xea, 0x43, 0x42, 0x0f, 0x5c, 0x74, 0x20, 0x24, 0x68, 0x11, 0xd7, 0x24, 0x47, 0xc4, 0x57, 0x46, 0xb8, 0x1e, 0x98, 0x68, 0x9f, 0x4b, 0xd0, 0x02, 0xf0, 0x51,
0xc4, 0xa8, 0xce, 0x02, 0x4c, 0x4f, 0xf5, 0x61, 0x39, 0x9f, 0x4b, 0x1e, 0x72, 0x01, 0x42, 0x30, 0x93, 0x7a, 0xd8, 0x3f, 0x51, 0xf2, 0x62, 0x3e, 0x93, 0x3c, 0x60, 0x02, 0x84, 0x60, 0xf4, 0xd8,
0x72, 0x12, 0x10, 0xa2, 0x8f, 0x08, 0x85, 0xf8, 0x16, 0x16, 0xcf, 0xb0, 0xd3, 0xc4, 0x47, 0x4d, 0x23, 0x44, 0x19, 0xe5, 0x0a, 0xfe, 0xcd, 0x2d, 0x9e, 0x62, 0xd3, 0xc2, 0x87, 0x16, 0x51, 0xc6,
0xa2, 0x8f, 0x2a, 0x8b, 0x91, 0x00, 0x19, 0x30, 0xe6, 0x9d, 0x91, 0x80, 0x53, 0xe8, 0x05, 0xa1, 0xa4, 0xc5, 0x50, 0x80, 0x54, 0x18, 0x77, 0x4e, 0x89, 0xc7, 0x28, 0x94, 0x02, 0x57, 0x46, 0x63,
0x8c, 0xc7, 0xe6, 0x01, 0x2c, 0x6c, 0x63, 0xd7, 0xfe, 0xda, 0xb1, 0xd9, 0xe9, 0xe7, 0x9e, 0xcb, 0x6d, 0x1f, 0xe6, 0xb7, 0xb0, 0x6d, 0xbc, 0x30, 0x0d, 0x7a, 0xf2, 0x8d, 0x63, 0xd3, 0x93, 0x83,
0x4e, 0x0f, 0xc3, 0x56, 0x0b, 0x07, 0xe7, 0xfd, 0xc7, 0xe4, 0x3a, 0x2c, 0x76, 0x61, 0x54, 0xe1, 0xa0, 0xdd, 0xc6, 0xde, 0xd9, 0xe0, 0x31, 0xb9, 0x0a, 0x0b, 0x3d, 0x18, 0x65, 0x78, 0x10, 0x8c,
0x41, 0x30, 0x22, 0x5c, 0x91, 0x91, 0x11, 0xdf, 0xe6, 0x36, 0x4c, 0x7c, 0x41, 0x02, 0xea, 0x78, 0x72, 0x57, 0x44, 0x64, 0xf8, 0xb7, 0xb6, 0x05, 0xd5, 0x6f, 0x89, 0xe7, 0x9b, 0x8e, 0x3d, 0xb8,
0x6e, 0xff, 0x86, 0xaf, 0x40, 0x35, 0xe6, 0x50, 0xa6, 0x74, 0x28, 0x9e, 0x49, 0x91, 0x60, 0x29, 0xe1, 0x4b, 0x50, 0x8b, 0x38, 0xa4, 0x29, 0x05, 0x8a, 0xa7, 0x42, 0xc4, 0x59, 0x4a, 0x7a, 0x38,
0x59, 0xd1, 0xd0, 0xbc, 0x03, 0x68, 0x1f, 0x53, 0xf6, 0x89, 0xe7, 0x32, 0x7c, 0xcc, 0xfa, 0x37, 0xd4, 0x6e, 0x03, 0xda, 0xc3, 0x3e, 0xbd, 0xe9, 0xd8, 0x14, 0x1f, 0xd1, 0xc1, 0x8d, 0x3e, 0x85,
0xfa, 0x0c, 0xfe, 0x9d, 0xe2, 0x51, 0x86, 0xef, 0x42, 0xa5, 0x89, 0x29, 0xab, 0x1f, 0x4b, 0xb9, 0xff, 0x27, 0x78, 0xa4, 0xe1, 0x3b, 0x50, 0xb1, 0xb0, 0x4f, 0x9b, 0x47, 0x42, 0x2e, 0xe9, 0xd4,
0xa2, 0x33, 0x6a, 0x32, 0x81, 0x6b, 0x51, 0x02, 0xd7, 0x1e, 0x46, 0x09, 0xbc, 0x3d, 0xf6, 0xea, 0x86, 0x48, 0xe0, 0x46, 0x98, 0xc0, 0x8d, 0x07, 0x61, 0x02, 0x6f, 0x8d, 0xbf, 0x7e, 0xb3, 0xf4,
0xf5, 0xf2, 0xbf, 0xbe, 0xfb, 0x75, 0x59, 0xb3, 0xca, 0xcd, 0x36, 0xa1, 0xf9, 0x0d, 0x4c, 0x59, 0xbf, 0x1f, 0x7f, 0x5f, 0xca, 0xe9, 0x65, 0xab, 0x43, 0xa8, 0xfd, 0x00, 0x93, 0x3a, 0x71, 0x03,
0xc4, 0x0f, 0x19, 0x66, 0x83, 0xc4, 0x06, 0xfd, 0x1f, 0x2a, 0x14, 0x33, 0xd2, 0x6c, 0x3a, 0x8c, 0x8a, 0xe9, 0x30, 0xb1, 0x41, 0x9f, 0x42, 0xc5, 0xc7, 0x94, 0x58, 0x96, 0x49, 0x49, 0xd3, 0x34,
0xd4, 0x1d, 0x5b, 0x64, 0x5d, 0x65, 0x7b, 0x82, 0xdb, 0xfc, 0xe5, 0xf5, 0x72, 0xe1, 0x9e, 0x67, 0x78, 0xd6, 0x55, 0xb6, 0xaa, 0xcc, 0xe6, 0x6f, 0x6f, 0x96, 0x0a, 0x77, 0x1d, 0x83, 0xec, 0xde,
0x93, 0xbd, 0xdb, 0x56, 0x39, 0xc6, 0xec, 0xd9, 0xe6, 0x1f, 0x1a, 0xa0, 0xa4, 0x69, 0xb5, 0xb2, 0xd2, 0xcb, 0x11, 0x66, 0xd7, 0xd0, 0xfe, 0xca, 0x01, 0x8a, 0x9b, 0x96, 0x2b, 0xbb, 0x0e, 0x05,
0x9b, 0x50, 0xf0, 0xdc, 0xa6, 0xe3, 0x12, 0x65, 0x7b, 0x2d, 0x65, 0x3b, 0x0b, 0xaf, 0xdd, 0x17, 0xc7, 0xb6, 0x4c, 0x9b, 0x48, 0xdb, 0xab, 0x09, 0xdb, 0x69, 0x78, 0xe3, 0x1e, 0xc7, 0xea, 0x72,
0x58, 0x4b, 0xcd, 0x41, 0x1f, 0xc2, 0x28, 0x0e, 0x6d, 0x87, 0x09, 0x07, 0xca, 0x9b, 0xab, 0xbd, 0x0e, 0xfa, 0x1c, 0xc6, 0x70, 0x60, 0x98, 0x94, 0x3b, 0x50, 0xde, 0x58, 0xe9, 0x3f, 0x79, 0x93,
0x27, 0x6f, 0x71, 0xa8, 0x25, 0x67, 0x18, 0x4b, 0x50, 0x90, 0x64, 0x68, 0x1a, 0x46, 0xe9, 0xb1, 0x41, 0x75, 0x31, 0x43, 0x5d, 0x84, 0x82, 0x20, 0x43, 0x53, 0x30, 0xe6, 0x1f, 0x39, 0x9e, 0xf0,
0x17, 0x48, 0x0f, 0x34, 0x4b, 0x0e, 0x8c, 0x5d, 0x18, 0x15, 0xf8, 0x7c, 0x35, 0xba, 0x0c, 0x93, 0x20, 0xa7, 0x8b, 0x81, 0xba, 0x03, 0x63, 0x1c, 0x9f, 0xad, 0x46, 0x17, 0xa1, 0xee, 0x07, 0xbe,
0x34, 0xa4, 0x3e, 0x71, 0xf9, 0xf6, 0xd7, 0x25, 0x60, 0x48, 0x00, 0xaa, 0x6d, 0xf9, 0x21, 0x17, 0x4b, 0x6c, 0xb6, 0xfd, 0x4d, 0x01, 0x18, 0xe1, 0x80, 0x5a, 0x47, 0x7e, 0xc0, 0xc4, 0xda, 0x1e,
0x9b, 0xfb, 0xa0, 0x3f, 0x0c, 0x42, 0xca, 0x88, 0x7d, 0x18, 0xc5, 0x83, 0xf6, 0x9f, 0x21, 0x3f, 0x28, 0x0f, 0xbc, 0xc0, 0xa7, 0xc4, 0x38, 0x08, 0xe3, 0xe1, 0x0f, 0x9e, 0x21, 0xbf, 0xe6, 0x60,
0x6b, 0x30, 0x9f, 0x43, 0xa7, 0xc2, 0xf9, 0x14, 0x10, 0x93, 0xca, 0x7a, 0x1c, 0x7c, 0xaa, 0x6b, 0x2e, 0x83, 0x4e, 0x86, 0xf3, 0x09, 0x20, 0x2a, 0x94, 0xcd, 0x28, 0xf8, 0xbe, 0x92, 0x5b, 0xce,
0x2b, 0xc3, 0xeb, 0xe5, 0xcd, 0xab, 0x09, 0xee, 0xae, 0x0c, 0x35, 0xbe, 0x77, 0x8f, 0xac, 0x7d, 0xaf, 0x95, 0x37, 0x2e, 0xc7, 0xb8, 0x7b, 0x32, 0x34, 0xd8, 0xde, 0x3d, 0xd4, 0xf7, 0xf4, 0x49,
0x6b, 0x8a, 0x65, 0x21, 0xc6, 0x3e, 0x14, 0x95, 0x16, 0x5d, 0x82, 0x22, 0xe7, 0xe1, 0x7b, 0xaf, 0x9a, 0x86, 0xa8, 0x7b, 0x50, 0x94, 0x5a, 0x74, 0x01, 0x8a, 0x8c, 0x87, 0xed, 0x7d, 0x2e, 0x73,
0xe5, 0xee, 0x7d, 0x81, 0xab, 0xf7, 0x6c, 0x7e, 0x64, 0xb0, 0x6d, 0x07, 0x84, 0xca, 0xd2, 0x54, 0xef, 0x0b, 0x4c, 0xbd, 0x6b, 0xb0, 0x23, 0x83, 0x0d, 0xc3, 0x23, 0xbe, 0xb8, 0x9a, 0x4a, 0x7a,
0xb2, 0xa2, 0xa1, 0xf9, 0xad, 0x06, 0xcb, 0x3b, 0x94, 0x39, 0x2d, 0x5e, 0xc6, 0x0e, 0xf0, 0xb9, 0x38, 0xd4, 0x6e, 0x42, 0xed, 0x9e, 0x4b, 0x3c, 0x4c, 0x1d, 0x6f, 0xf0, 0x68, 0x98, 0x50, 0xef,
0x17, 0xb2, 0xd8, 0xd6, 0xdf, 0x9a, 0x99, 0x0f, 0x60, 0xa5, 0xbb, 0x1f, 0x2a, 0xae, 0xd7, 0x00, 0x90, 0xc8, 0x18, 0x4c, 0xc1, 0x18, 0x69, 0x63, 0xd3, 0x92, 0x67, 0x54, 0x0c, 0xd0, 0x0c, 0x14,
0x91, 0x08, 0x53, 0x27, 0x38, 0x70, 0x1d, 0xb7, 0x41, 0x55, 0xc9, 0x99, 0x8a, 0x35, 0x3b, 0x4a, 0x5e, 0x60, 0xcb, 0x22, 0x54, 0xfa, 0x21, 0x47, 0xe8, 0x02, 0xd4, 0xc4, 0x57, 0xf3, 0x98, 0x60,
0x61, 0x7e, 0x0a, 0xb3, 0x19, 0xca, 0xfe, 0x37, 0x7c, 0x17, 0xe6, 0x3a, 0xb8, 0xfa, 0xf3, 0x6a, 0x1a, 0x78, 0xc4, 0x57, 0xf2, 0xcb, 0xf9, 0xb5, 0x92, 0x5e, 0x15, 0xe2, 0xdb, 0x52, 0xaa, 0xbd,
0x1b, 0x26, 0x06, 0x2e, 0xc7, 0x7b, 0x50, 0xcd, 0x16, 0xe0, 0x1b, 0x50, 0xf6, 0x85, 0x5f, 0x75, 0xca, 0xc1, 0xd2, 0xb6, 0x4f, 0xcd, 0x36, 0xbb, 0x76, 0xf7, 0xf1, 0x99, 0x13, 0xd0, 0x28, 0x36,
0xc7, 0x3d, 0xf1, 0x14, 0xd3, 0x4c, 0x82, 0x49, 0x7a, 0xbd, 0xe7, 0x9e, 0x78, 0x16, 0xf8, 0xf1, 0xff, 0xea, 0x49, 0xba, 0x0f, 0xcb, 0xbd, 0xfd, 0x90, 0x31, 0xb8, 0x02, 0x88, 0x84, 0x98, 0x26,
0xb7, 0xf9, 0x1c, 0xa6, 0x15, 0xd5, 0x01, 0x09, 0x1c, 0xcf, 0xee, 0x7f, 0xd3, 0x67, 0xa1, 0xe0, 0xc1, 0x9e, 0x6d, 0xda, 0x2d, 0x5f, 0x5e, 0x91, 0x93, 0x91, 0x66, 0x5b, 0x2a, 0xb4, 0xaf, 0x60,
0x0b, 0x0a, 0x95, 0x63, 0x6a, 0x64, 0xde, 0x87, 0x99, 0x8c, 0x85, 0x01, 0x5d, 0x7e, 0x09, 0x73, 0x26, 0x45, 0x39, 0xf8, 0x96, 0xec, 0xc0, 0x6c, 0x17, 0xd7, 0x60, 0x5e, 0x6d, 0x41, 0x75, 0xe8,
0x8a, 0xf0, 0xfd, 0xa4, 0xaa, 0x05, 0x7a, 0xa7, 0xfd, 0x01, 0xd7, 0xf4, 0x83, 0x06, 0x8b, 0x59, 0xdf, 0xc7, 0x2e, 0xd4, 0xd2, 0x3f, 0x8c, 0x6b, 0x50, 0x76, 0xb9, 0x5f, 0x4d, 0xd3, 0x3e, 0x76,
0xd2, 0x41, 0x37, 0xe4, 0xdd, 0x97, 0x96, 0xd8, 0xc3, 0xe1, 0xd4, 0x1e, 0x3e, 0x86, 0xa5, 0x6e, 0x24, 0xd3, 0x74, 0x8c, 0x49, 0x78, 0xbd, 0x6b, 0x1f, 0x3b, 0x3a, 0xb8, 0xd1, 0xb7, 0xf6, 0x0c,
0xde, 0x0d, 0xb8, 0xf0, 0x2d, 0x18, 0xe7, 0x47, 0x83, 0xf4, 0xbf, 0x4e, 0xf3, 0x22, 0x4c, 0x44, 0xa6, 0x24, 0xd5, 0x3e, 0xf1, 0x4c, 0xc7, 0x18, 0x7c, 0xd3, 0x67, 0xa0, 0xe0, 0x72, 0x8a, 0x30,
0x14, 0xca, 0x99, 0x69, 0x18, 0x65, 0x1e, 0xc3, 0x4d, 0x75, 0x0a, 0xe5, 0x40, 0xd4, 0x03, 0x81, 0x17, 0xc5, 0x48, 0xbb, 0x07, 0xd3, 0x29, 0x0b, 0x43, 0xba, 0xfc, 0x12, 0x66, 0x25, 0xe1, 0x87,
0x1b, 0x3c, 0x6d, 0xcc, 0xe7, 0x30, 0xd7, 0xc1, 0xa5, 0x8c, 0xef, 0xc0, 0x24, 0x11, 0xaa, 0x76, 0x49, 0x55, 0x1d, 0x94, 0x6e, 0xfb, 0x43, 0xae, 0xe9, 0xe7, 0x1c, 0x2c, 0xa4, 0x49, 0x87, 0xdd,
0xf1, 0x57, 0xb5, 0xdf, 0x48, 0xd0, 0x66, 0x67, 0x57, 0x49, 0x5a, 0x60, 0x3e, 0x81, 0x6a, 0x06, 0x90, 0xf7, 0x5f, 0x5a, 0x6c, 0x0f, 0xf3, 0x89, 0x3d, 0x7c, 0x04, 0x8b, 0xbd, 0xbc, 0x1b, 0x72,
0x93, 0xbf, 0xac, 0x7e, 0x32, 0x78, 0x17, 0xa6, 0x1f, 0xb9, 0xb6, 0x43, 0x59, 0xe0, 0x1c, 0x85, 0xe1, 0x9b, 0x30, 0xc1, 0x8e, 0x06, 0x19, 0x7c, 0x9d, 0xda, 0x79, 0xa8, 0x86, 0x14, 0x9d, 0xcb,
0x6c, 0x90, 0xd8, 0x5f, 0x83, 0x99, 0x0c, 0x53, 0xcf, 0x2d, 0x78, 0x09, 0x73, 0x07, 0xf8, 0x9c, 0x92, 0x3a, 0x14, 0x5b, 0xf2, 0x14, 0x8a, 0x01, 0xbf, 0x0f, 0x38, 0x6e, 0xf8, 0xb4, 0xd1, 0x9e,
0xb2, 0xf0, 0xe8, 0xfd, 0x1c, 0xdd, 0x5d, 0xd0, 0x3b, 0xed, 0x2b, 0x8f, 0xaf, 0x42, 0xd1, 0x97, 0xc1, 0x6c, 0x17, 0x97, 0x34, 0xbe, 0x0d, 0x75, 0xc2, 0x55, 0x9d, 0x9f, 0x95, 0xfc, 0x57, 0xa9,
0x3a, 0xe5, 0x01, 0x4a, 0x67, 0x2f, 0xd7, 0x58, 0x11, 0x84, 0x97, 0xf1, 0x48, 0xd6, 0x77, 0xf0, 0x31, 0xda, 0xf4, 0xec, 0x1a, 0x49, 0x0a, 0xb4, 0xc7, 0x50, 0x4b, 0x61, 0xb2, 0x97, 0x35, 0x48,
0x3e, 0x86, 0x6a, 0xcc, 0xd1, 0x97, 0x13, 0xcf, 0x61, 0x5a, 0xc9, 0xfe, 0xaa, 0xe2, 0xbd, 0x03, 0x06, 0xef, 0xc0, 0xd4, 0x43, 0xdb, 0x30, 0x7d, 0xea, 0x99, 0x87, 0x01, 0x1d, 0x26, 0xf6, 0x57,
0x33, 0x19, 0x0b, 0x7d, 0x39, 0xca, 0xcb, 0x5b, 0x36, 0xf0, 0xff, 0xa0, 0xf2, 0x76, 0x0f, 0x96, 0x60, 0x3a, 0xc5, 0xd4, 0x77, 0x0b, 0x5e, 0xc2, 0xec, 0x3e, 0x3e, 0xf3, 0x69, 0x70, 0xf8, 0x61,
0xba, 0x79, 0xd7, 0xd7, 0x72, 0x3f, 0x00, 0x68, 0x97, 0x3b, 0x7e, 0x37, 0x3a, 0x25, 0xcd, 0xf8, 0x8e, 0xee, 0x0e, 0x28, 0xdd, 0xf6, 0xa5, 0xc7, 0x97, 0xa1, 0xe8, 0x0a, 0x9d, 0xf4, 0x00, 0x25,
0x6e, 0xc4, 0xbf, 0xb9, 0xcc, 0xc7, 0xca, 0xe9, 0x61, 0x4b, 0x7c, 0x9b, 0xbf, 0x0f, 0x41, 0x51, 0xb3, 0x97, 0x69, 0xf4, 0x10, 0xc2, 0xae, 0xf1, 0x50, 0x36, 0x70, 0xf0, 0xbe, 0x84, 0x5a, 0xc4,
0x51, 0x21, 0x13, 0xc6, 0x43, 0x8a, 0x1b, 0xa4, 0x8e, 0x59, 0x3d, 0x20, 0x94, 0x89, 0x0b, 0xa0, 0x31, 0x90, 0x13, 0xcf, 0x60, 0x4a, 0xca, 0xfe, 0xa9, 0xcb, 0x7b, 0x1b, 0xa6, 0x53, 0x16, 0x06,
0x66, 0x95, 0x85, 0x70, 0x8b, 0x37, 0x1f, 0x0c, 0x5d, 0x80, 0x92, 0xc4, 0x34, 0x08, 0x8b, 0xee, 0x72, 0x94, 0x5d, 0x6f, 0xe9, 0xc0, 0xff, 0x87, 0xae, 0xb7, 0xbb, 0xb0, 0xd8, 0xcb, 0xbb, 0x81,
0x80, 0x42, 0x70, 0x97, 0x30, 0xb4, 0x0e, 0x93, 0xb1, 0xb2, 0x1e, 0x10, 0x1f, 0x3b, 0x81, 0x3e, 0x96, 0xfb, 0x19, 0x40, 0xe7, 0xba, 0x63, 0x6f, 0xb9, 0x13, 0x62, 0x45, 0x6f, 0x39, 0xf6, 0xcd,
0x26, 0x30, 0x13, 0x11, 0xc6, 0x12, 0x52, 0x74, 0x11, 0xaa, 0x6d, 0xa4, 0x6c, 0xe4, 0x41, 0x00, 0x64, 0x2e, 0x96, 0x4e, 0xe7, 0x75, 0xfe, 0xad, 0xfd, 0x39, 0x02, 0x45, 0x49, 0x85, 0x34, 0x98,
0xc7, 0x23, 0xa0, 0x6c, 0xc1, 0x57, 0xa0, 0x72, 0xec, 0xb5, 0xfc, 0xd8, 0xa3, 0xb2, 0xbc, 0xe4, 0x08, 0x7c, 0xdc, 0x22, 0x4d, 0x4c, 0x9b, 0x1e, 0xf1, 0x29, 0x7f, 0xb0, 0xe6, 0xf4, 0x32, 0x17,
0x72, 0x99, 0x72, 0x68, 0x1e, 0xc6, 0x04, 0x82, 0xfb, 0x53, 0x11, 0xda, 0x22, 0x1f, 0x73, 0x77, 0x6e, 0xb2, 0xe2, 0x83, 0xa2, 0x73, 0x50, 0x12, 0x98, 0x16, 0xa1, 0xe1, 0x9b, 0x95, 0x0b, 0xee,
0x2e, 0x42, 0x35, 0x52, 0x45, 0xde, 0x4c, 0x48, 0x23, 0x0a, 0xa1, 0x9c, 0x59, 0x83, 0x89, 0x18, 0x10, 0x8a, 0xd6, 0xa0, 0x1e, 0x29, 0x9b, 0x1e, 0x71, 0xb1, 0xe9, 0x29, 0xe3, 0x1c, 0x53, 0x0d,
0x27, 0x7d, 0x99, 0x14, 0xb0, 0x8a, 0x82, 0x49, 0x57, 0xa2, 0x88, 0xa2, 0x9c, 0x88, 0xce, 0xb4, 0x31, 0x3a, 0x97, 0xa2, 0xf3, 0x50, 0xeb, 0x20, 0xc5, 0xc3, 0x03, 0x38, 0x70, 0x22, 0x04, 0x8a,
0x23, 0x8a, 0x56, 0xa0, 0x9c, 0xa8, 0x4d, 0xfa, 0xac, 0x50, 0x25, 0x45, 0xfc, 0x5a, 0xb0, 0x4b, 0x27, 0xc3, 0x32, 0x54, 0x8e, 0x9c, 0xb6, 0x1b, 0x79, 0x54, 0x16, 0x8f, 0x72, 0x26, 0x93, 0x0e,
0x9a, 0xf6, 0x56, 0xcb, 0x0b, 0x5d, 0xb6, 0xeb, 0x50, 0xe6, 0x0d, 0xd2, 0x97, 0xbd, 0x1a, 0x82, 0xcd, 0xc1, 0x38, 0x47, 0x30, 0x7f, 0x2a, 0x5c, 0x5b, 0x64, 0x63, 0xe6, 0xce, 0x79, 0xa8, 0x85,
0xf9, 0x1c, 0x3a, 0x95, 0x43, 0x07, 0x50, 0x3c, 0x95, 0x22, 0xf5, 0x3f, 0xb8, 0x91, 0x20, 0xec, 0xaa, 0xd0, 0x9b, 0xaa, 0x30, 0x22, 0x11, 0xd2, 0x99, 0x55, 0xa8, 0x46, 0x38, 0xe1, 0x4b, 0x9d,
0x3a, 0x2d, 0x47, 0x13, 0xd1, 0x18, 0x37, 0x01, 0xda, 0xda, 0x44, 0x76, 0x6b, 0xc9, 0xec, 0xe6, 0xc3, 0x2a, 0x12, 0x26, 0x5c, 0x09, 0x23, 0x8a, 0x32, 0x22, 0x3a, 0xdd, 0x89, 0x28, 0x5a, 0x86,
0x72, 0x2c, 0x10, 0x2a, 0xdb, 0xd4, 0xc8, 0xf8, 0x5e, 0x83, 0xa9, 0x0e, 0xf2, 0x8e, 0x63, 0xa5, 0x72, 0xec, 0x6e, 0x52, 0x66, 0xb8, 0x2a, 0x2e, 0x62, 0xcf, 0x98, 0x1d, 0x62, 0x19, 0x9b, 0x6d,
0xbd, 0xf9, 0x58, 0x59, 0x50, 0xe1, 0x5b, 0x50, 0x97, 0xbc, 0xfc, 0x8e, 0xc1, 0x57, 0xb7, 0xf1, 0x27, 0xb0, 0xe9, 0x8e, 0xe9, 0x53, 0x67, 0x98, 0xba, 0xec, 0xf5, 0x08, 0xcc, 0x65, 0xd0, 0xc9,
0x8e, 0xab, 0xb3, 0xca, 0xa7, 0xf1, 0x37, 0xdd, 0x7c, 0x00, 0xc5, 0x43, 0xe6, 0x05, 0xb8, 0x41, 0x1c, 0xda, 0x87, 0xe2, 0x89, 0x10, 0xc9, 0xff, 0xc1, 0xb5, 0x18, 0x61, 0xcf, 0x69, 0x19, 0x9a,
0xd0, 0x1d, 0x28, 0xc5, 0xef, 0x31, 0xe8, 0x42, 0x82, 0x35, 0xfb, 0xd8, 0x63, 0x2c, 0xe4, 0x2b, 0x90, 0x46, 0xbd, 0x0e, 0xd0, 0xd1, 0xc6, 0xb2, 0x3b, 0x17, 0xcf, 0x6e, 0x26, 0xc7, 0x1c, 0x21,
0xa5, 0xa9, 0x4d, 0x17, 0x4a, 0xf1, 0x23, 0x06, 0xc2, 0x50, 0x49, 0x3e, 0x64, 0xa0, 0x4b, 0x89, 0xb3, 0x4d, 0x8e, 0xd4, 0x9f, 0x72, 0x30, 0xd9, 0x45, 0xde, 0x75, 0xac, 0x72, 0x6f, 0x3f, 0x56,
0xa9, 0xbd, 0x1e, 0x4f, 0x8c, 0xf5, 0x37, 0x03, 0x95, 0xbd, 0x9f, 0x86, 0x60, 0x84, 0x87, 0x0b, 0x3a, 0x54, 0xd8, 0x16, 0x34, 0x05, 0x2f, 0x7b, 0x13, 0xb1, 0xd5, 0xad, 0xbf, 0xe7, 0xea, 0xf4,
0xdd, 0x82, 0xa2, 0x7a, 0xc4, 0x40, 0xf3, 0x89, 0xd9, 0xe9, 0xc7, 0x11, 0xc3, 0xc8, 0x53, 0xa9, 0xf2, 0x49, 0xf4, 0xed, 0x6f, 0xdc, 0x87, 0xe2, 0x01, 0x75, 0x3c, 0xdc, 0x22, 0xe8, 0x36, 0x94,
0xd4, 0xd9, 0x87, 0x72, 0xe2, 0x45, 0x02, 0x2d, 0x26, 0xa0, 0x9d, 0x2f, 0x1e, 0xc6, 0x52, 0x37, 0xa2, 0xfe, 0x11, 0x3a, 0x17, 0x63, 0x4d, 0x37, 0xa7, 0xd4, 0xf9, 0x6c, 0xa5, 0x30, 0xb5, 0x61,
0xb5, 0x62, 0xdb, 0x03, 0x68, 0x5f, 0xcc, 0xd1, 0x42, 0x97, 0xfb, 0xba, 0xe4, 0x5a, 0xec, 0x79, 0x43, 0x29, 0x6a, 0xba, 0x20, 0x0c, 0x95, 0x78, 0xe3, 0x05, 0x5d, 0x88, 0x4d, 0xed, 0xd7, 0xec,
0x9b, 0x47, 0xcf, 0x60, 0xaa, 0xe3, 0x16, 0x8b, 0x56, 0x7b, 0xdf, 0x71, 0x25, 0xf1, 0xda, 0xdb, 0x51, 0xd7, 0xde, 0x0e, 0x94, 0xf6, 0x5e, 0xe5, 0x61, 0x94, 0x85, 0x0b, 0xdd, 0x80, 0xa2, 0x6c,
0x5c, 0x84, 0x37, 0x7f, 0x2b, 0x89, 0x9a, 0xe8, 0x85, 0x8c, 0xf2, 0x30, 0x46, 0xbb, 0x95, 0x0c, 0xba, 0xa0, 0xb9, 0xd8, 0xec, 0x64, 0x33, 0x47, 0x55, 0xb3, 0x54, 0x32, 0x75, 0xf6, 0xa0, 0x1c,
0x63, 0x66, 0x7f, 0x8c, 0x3c, 0x95, 0xf2, 0xd6, 0x82, 0xf1, 0xd4, 0x55, 0x04, 0x2d, 0x77, 0x82, 0xeb, 0xa0, 0xa0, 0x85, 0x18, 0xb4, 0xbb, 0x43, 0xa3, 0x2e, 0xf6, 0x52, 0x4b, 0xb6, 0x5d, 0x80,
0x53, 0xbf, 0x25, 0x63, 0xa5, 0x3b, 0x20, 0xbe, 0xec, 0x4f, 0x66, 0x5b, 0x63, 0x64, 0x76, 0xce, 0x4e, 0x23, 0x01, 0xcd, 0xf7, 0xe8, 0x2f, 0x08, 0xae, 0x85, 0xbe, 0xdd, 0x07, 0xf4, 0x14, 0x26,
0xca, 0xf6, 0x3b, 0xc6, 0x6a, 0x4f, 0x8c, 0x22, 0x6f, 0xc1, 0x6c, 0x7e, 0xdf, 0x8d, 0xd6, 0x7b, 0xbb, 0x5e, 0xdd, 0x68, 0xa5, 0xff, 0x9b, 0x5c, 0x10, 0xaf, 0xbe, 0xcb, 0xc3, 0x1d, 0xdd, 0x84,
0x4c, 0x4f, 0x2f, 0xe1, 0xf2, 0x5b, 0x20, 0x95, 0xb9, 0x8f, 0xa0, 0x20, 0x7b, 0x4e, 0xa4, 0x77, 0xf1, 0xf0, 0x29, 0x8c, 0xe2, 0x01, 0x4a, 0x3d, 0xb2, 0xd5, 0x73, 0x99, 0x3a, 0xb9, 0x11, 0x7f,
0xb4, 0xaa, 0x11, 0xdd, 0x7c, 0x8e, 0x46, 0x4d, 0x7f, 0xdc, 0xd9, 0xb2, 0xfe, 0xa7, 0x47, 0xcb, 0x94, 0xf8, 0xc5, 0xea, 0x04, 0xd4, 0x67, 0x7b, 0x11, 0x6e, 0x79, 0x7c, 0x2f, 0x52, 0x9b, 0xac,
0xab, 0x08, 0xcd, 0x5e, 0x10, 0xc5, 0x4c, 0x41, 0xef, 0xf6, 0x3a, 0x80, 0xfe, 0x9b, 0x9c, 0xdf, 0x66, 0xa9, 0xa4, 0x4b, 0x3a, 0x4c, 0x24, 0xde, 0x33, 0x68, 0xa9, 0x1b, 0x9c, 0xf8, 0xb7, 0xa9,
0xfb, 0x29, 0xc3, 0xb8, 0xf2, 0x56, 0xd8, 0xc4, 0x72, 0xd2, 0x98, 0xf4, 0x72, 0x72, 0xdf, 0x16, 0xcb, 0xbd, 0x01, 0x51, 0x87, 0xa3, 0x9e, 0xae, 0xaf, 0x91, 0xd6, 0x3d, 0x2b, 0x5d, 0x34, 0xa9,
0xd2, 0xcb, 0xe9, 0xf2, 0x64, 0x60, 0xc1, 0x78, 0xaa, 0x6b, 0x4e, 0xe5, 0x61, 0x5e, 0x67, 0x9e, 0x2b, 0x7d, 0x31, 0x92, 0xbc, 0x0d, 0x33, 0xd9, 0xc5, 0x3b, 0x5a, 0xeb, 0x33, 0x3d, 0xb9, 0x84,
0xca, 0xc3, 0xfc, 0x86, 0xfb, 0x29, 0x4c, 0x66, 0x7b, 0x98, 0x54, 0x1e, 0x76, 0xe9, 0xbb, 0x53, 0x8b, 0xef, 0x80, 0x94, 0xe6, 0xbe, 0x80, 0x82, 0x28, 0x5c, 0x91, 0xd2, 0x55, 0xef, 0x86, 0x74,
0x79, 0xd8, 0xb5, 0x37, 0xbe, 0xd5, 0xee, 0x4c, 0xe6, 0x73, 0x1a, 0x9f, 0x9c, 0xa3, 0x97, 0x6d, 0x73, 0x19, 0x1a, 0x39, 0xfd, 0x51, 0x77, 0xdd, 0xfb, 0x51, 0x9f, 0xba, 0x59, 0x12, 0x6a, 0xfd,
0x6c, 0x2d, 0x18, 0x4f, 0x35, 0x92, 0xa9, 0x25, 0xe7, 0x35, 0xb1, 0xa9, 0x25, 0xe7, 0xf7, 0xa0, 0x20, 0x92, 0xd9, 0x07, 0xa5, 0x57, 0x8b, 0x01, 0x7d, 0x1c, 0x9f, 0xdf, 0xbf, 0x1f, 0xa2, 0x5e,
0x2d, 0x98, 0xcd, 0x6f, 0xdb, 0x52, 0xa7, 0xa3, 0x67, 0xdf, 0x99, 0x3a, 0x1d, 0x6f, 0xe8, 0x01, 0x7a, 0x27, 0x6c, 0x6c, 0x39, 0x49, 0x4c, 0x72, 0x39, 0x99, 0x0d, 0x8a, 0xe4, 0x72, 0x7a, 0xf4,
0x9f, 0xe5, 0xfd, 0x2e, 0x57, 0x7b, 0xff, 0xe5, 0x3a, 0x6b, 0x5d, 0xd7, 0x5f, 0xe1, 0xf6, 0xda, 0x1d, 0x74, 0x98, 0x48, 0x94, 0xde, 0x89, 0x3c, 0xcc, 0x2a, 0xef, 0x13, 0x79, 0x98, 0x5d, 0xb5,
0x13, 0x93, 0x0b, 0xbe, 0xac, 0x39, 0xde, 0x86, 0xf8, 0xd8, 0xf0, 0x03, 0xe7, 0x0c, 0x33, 0xb2, 0x3f, 0x81, 0x7a, 0xba, 0x10, 0x4a, 0xe4, 0x61, 0x8f, 0xe2, 0x3d, 0x91, 0x87, 0x3d, 0x0b, 0xec,
0x11, 0xcf, 0xf6, 0x8f, 0x8e, 0x0a, 0xe2, 0x9d, 0xf9, 0xfa, 0x9f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x1b, 0x9d, 0xf2, 0x66, 0x2e, 0xa3, 0x7a, 0xca, 0x38, 0x7a, 0xe9, 0xea, 0x58, 0x87, 0x89, 0x44,
0x83, 0x12, 0xc9, 0x30, 0x60, 0x19, 0x00, 0x00, 0x35, 0x9a, 0x58, 0x72, 0x56, 0x25, 0x9c, 0x58, 0x72, 0x76, 0x21, 0xdb, 0x86, 0x99, 0xec, 0xda,
0x2f, 0x71, 0x3a, 0xfa, 0x16, 0xaf, 0x89, 0xd3, 0xf1, 0x96, 0x42, 0xf2, 0x69, 0xd6, 0x3f, 0x77,
0xa5, 0xff, 0xaf, 0xb2, 0xfb, 0xc2, 0xec, 0xf9, 0x3f, 0xdd, 0x5a, 0x7d, 0xac, 0x31, 0xc1, 0x77,
0x0d, 0xd3, 0x59, 0xe7, 0x1f, 0xeb, 0xae, 0x67, 0x9e, 0x62, 0x4a, 0xd6, 0xa3, 0xd9, 0xee, 0xe1,
0x61, 0x81, 0x37, 0xd7, 0xaf, 0xfe, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xc9, 0xb9, 0xc8, 0x97, 0x55,
0x1a, 0x00, 0x00,
} }

View File

@ -47,6 +47,7 @@ service Node {
rpc LastContact(LastContactRequest) returns (LastContactResponse); rpc LastContact(LastContactRequest) returns (LastContactResponse);
rpc Reputation(ReputationRequest) returns (ReputationResponse); rpc Reputation(ReputationRequest) returns (ReputationResponse);
rpc TrustedSatellites(TrustedSatellitesRequest) returns (TrustedSatellitesResponse); rpc TrustedSatellites(TrustedSatellitesRequest) returns (TrustedSatellitesResponse);
rpc Operator(OperatorRequest) returns (OperatorResponse);
} }
message VersionRequest { message VersionRequest {
@ -96,6 +97,15 @@ message TrustedSatellitesResponse {
repeated NodeURL trusted_satellites = 1; repeated NodeURL trusted_satellites = 1;
} }
message OperatorRequest {
RequestHeader header = 1;
}
message OperatorResponse {
string email = 1;
string wallet = 2;
repeated string wallet_features = 3;
}
service Payouts { service Payouts {
rpc Summary(SummaryRequest) returns (SummaryResponse); rpc Summary(SummaryRequest) returns (SummaryResponse);
rpc SummaryPeriod(SummaryPeriodRequest) returns (SummaryPeriodResponse); rpc SummaryPeriod(SummaryPeriodRequest) returns (SummaryPeriodResponse);

View File

@ -1,5 +1,5 @@
// Code generated by protoc-gen-go-drpc. DO NOT EDIT. // Code generated by protoc-gen-go-drpc. DO NOT EDIT.
// protoc-gen-go-drpc version: v0.0.20 // protoc-gen-go-drpc version: v0.0.22
// source: multinode.proto // source: multinode.proto
package multinodepb package multinodepb
@ -196,6 +196,7 @@ type DRPCNodeClient interface {
LastContact(ctx context.Context, in *LastContactRequest) (*LastContactResponse, error) LastContact(ctx context.Context, in *LastContactRequest) (*LastContactResponse, error)
Reputation(ctx context.Context, in *ReputationRequest) (*ReputationResponse, error) Reputation(ctx context.Context, in *ReputationRequest) (*ReputationResponse, error)
TrustedSatellites(ctx context.Context, in *TrustedSatellitesRequest) (*TrustedSatellitesResponse, error) TrustedSatellites(ctx context.Context, in *TrustedSatellitesRequest) (*TrustedSatellitesResponse, error)
Operator(ctx context.Context, in *OperatorRequest) (*OperatorResponse, error)
} }
type drpcNodeClient struct { type drpcNodeClient struct {
@ -244,11 +245,21 @@ func (c *drpcNodeClient) TrustedSatellites(ctx context.Context, in *TrustedSatel
return out, nil return out, nil
} }
func (c *drpcNodeClient) Operator(ctx context.Context, in *OperatorRequest) (*OperatorResponse, error) {
out := new(OperatorResponse)
err := c.cc.Invoke(ctx, "/multinode.Node/Operator", drpcEncoding_File_multinode_proto{}, in, out)
if err != nil {
return nil, err
}
return out, nil
}
type DRPCNodeServer interface { type DRPCNodeServer interface {
Version(context.Context, *VersionRequest) (*VersionResponse, error) Version(context.Context, *VersionRequest) (*VersionResponse, error)
LastContact(context.Context, *LastContactRequest) (*LastContactResponse, error) LastContact(context.Context, *LastContactRequest) (*LastContactResponse, error)
Reputation(context.Context, *ReputationRequest) (*ReputationResponse, error) Reputation(context.Context, *ReputationRequest) (*ReputationResponse, error)
TrustedSatellites(context.Context, *TrustedSatellitesRequest) (*TrustedSatellitesResponse, error) TrustedSatellites(context.Context, *TrustedSatellitesRequest) (*TrustedSatellitesResponse, error)
Operator(context.Context, *OperatorRequest) (*OperatorResponse, error)
} }
type DRPCNodeUnimplementedServer struct{} type DRPCNodeUnimplementedServer struct{}
@ -269,9 +280,13 @@ func (s *DRPCNodeUnimplementedServer) TrustedSatellites(context.Context, *Truste
return nil, drpcerr.WithCode(errors.New("Unimplemented"), 12) return nil, drpcerr.WithCode(errors.New("Unimplemented"), 12)
} }
func (s *DRPCNodeUnimplementedServer) Operator(context.Context, *OperatorRequest) (*OperatorResponse, error) {
return nil, drpcerr.WithCode(errors.New("Unimplemented"), 12)
}
type DRPCNodeDescription struct{} type DRPCNodeDescription struct{}
func (DRPCNodeDescription) NumMethods() int { return 4 } func (DRPCNodeDescription) NumMethods() int { return 5 }
func (DRPCNodeDescription) Method(n int) (string, drpc.Encoding, drpc.Receiver, interface{}, bool) { func (DRPCNodeDescription) Method(n int) (string, drpc.Encoding, drpc.Receiver, interface{}, bool) {
switch n { switch n {
@ -311,6 +326,15 @@ func (DRPCNodeDescription) Method(n int) (string, drpc.Encoding, drpc.Receiver,
in1.(*TrustedSatellitesRequest), in1.(*TrustedSatellitesRequest),
) )
}, DRPCNodeServer.TrustedSatellites, true }, DRPCNodeServer.TrustedSatellites, true
case 4:
return "/multinode.Node/Operator", drpcEncoding_File_multinode_proto{},
func(srv interface{}, ctx context.Context, in1, in2 interface{}) (drpc.Message, error) {
return srv.(DRPCNodeServer).
Operator(
ctx,
in1.(*OperatorRequest),
)
}, DRPCNodeServer.Operator, true
default: default:
return "", nil, nil, nil, false return "", nil, nil, nil, false
} }
@ -384,6 +408,22 @@ func (x *drpcNode_TrustedSatellitesStream) SendAndClose(m *TrustedSatellitesResp
return x.CloseSend() return x.CloseSend()
} }
type DRPCNode_OperatorStream interface {
drpc.Stream
SendAndClose(*OperatorResponse) error
}
type drpcNode_OperatorStream struct {
drpc.Stream
}
func (x *drpcNode_OperatorStream) SendAndClose(m *OperatorResponse) error {
if err := x.MsgSend(m, drpcEncoding_File_multinode_proto{}); err != nil {
return err
}
return x.CloseSend()
}
type DRPCPayoutsClient interface { type DRPCPayoutsClient interface {
DRPCConn() drpc.Conn DRPCConn() drpc.Conn

View File

@ -13,10 +13,12 @@ import (
"storj.io/storj/private/multinodepb" "storj.io/storj/private/multinodepb"
"storj.io/storj/storagenode/apikeys" "storj.io/storj/storagenode/apikeys"
"storj.io/storj/storagenode/contact" "storj.io/storj/storagenode/contact"
"storj.io/storj/storagenode/operator"
"storj.io/storj/storagenode/reputation" "storj.io/storj/storagenode/reputation"
"storj.io/storj/storagenode/trust" "storj.io/storj/storagenode/trust"
) )
// ensures that NodeEndpoint implements multinodepb.DRPCNodeServer.
var _ multinodepb.DRPCNodeServer = (*NodeEndpoint)(nil) var _ multinodepb.DRPCNodeServer = (*NodeEndpoint)(nil)
// NodeEndpoint implements multinode node endpoint. // NodeEndpoint implements multinode node endpoint.
@ -25,6 +27,8 @@ var _ multinodepb.DRPCNodeServer = (*NodeEndpoint)(nil)
type NodeEndpoint struct { type NodeEndpoint struct {
multinodepb.DRPCNodeUnimplementedServer multinodepb.DRPCNodeUnimplementedServer
config operator.Config
log *zap.Logger log *zap.Logger
apiKeys *apikeys.Service apiKeys *apikeys.Service
version version.Info version version.Info
@ -34,9 +38,10 @@ type NodeEndpoint struct {
} }
// NewNodeEndpoint creates new multinode node endpoint. // NewNodeEndpoint creates new multinode node endpoint.
func NewNodeEndpoint(log *zap.Logger, apiKeys *apikeys.Service, version version.Info, contact *contact.PingStats, reputation reputation.DB, trust *trust.Pool) *NodeEndpoint { func NewNodeEndpoint(log *zap.Logger, config operator.Config, apiKeys *apikeys.Service, version version.Info, contact *contact.PingStats, reputation reputation.DB, trust *trust.Pool) *NodeEndpoint {
return &NodeEndpoint{ return &NodeEndpoint{
log: log, log: log,
config: config,
apiKeys: apiKeys, apiKeys: apiKeys,
version: version, version: version,
contact: contact, contact: contact,
@ -120,3 +125,16 @@ func (node *NodeEndpoint) TrustedSatellites(ctx context.Context, req *multinodep
return response, nil return response, nil
} }
// Operator returns operators data.
func (node *NodeEndpoint) Operator(ctx context.Context, req *multinodepb.OperatorRequest) (_ *multinodepb.OperatorResponse, err error) {
defer mon.Task()(&ctx)(&err)
if err = authenticate(ctx, node.apiKeys, req.GetHeader()); err != nil {
return nil, rpcstatus.Wrap(rpcstatus.Unauthenticated, err)
}
return &multinodepb.OperatorResponse{
Email: node.config.Email,
Wallet: node.config.Wallet,
WalletFeatures: node.config.WalletFeatures,
}, nil
}

View File

@ -797,6 +797,7 @@ func New(log *zap.Logger, full *identity.FullIdentity, db DB, revocationDB exten
peer.Multinode.Node = multinode.NewNodeEndpoint( peer.Multinode.Node = multinode.NewNodeEndpoint(
peer.Log.Named("multinode:node-endpoint"), peer.Log.Named("multinode:node-endpoint"),
config.Operator,
apiKeys, apiKeys,
peer.Version.Service.Info, peer.Version.Service.Info,
peer.Contact.PingStats, peer.Contact.PingStats,